@charset "UTF-8";
/* 同一套節奏：重物先起步，光比物件慢半拍。 */
:root{--motion-ease:cubic-bezier(.16,1,.3,1);--motion-spring:cubic-bezier(.2,1.08,.32,1)}
.motion-ready .section-heading{position:relative;border-top-color:transparent}
.motion-ready .section-heading:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#c9a77370,#b7965e25);transform-origin:left;transform:scaleX(0);transition:transform 1.3s var(--motion-ease)}
.motion-reveal{opacity:0;transform:perspective(1000px) translate3d(0,42px,0) rotateX(1.5deg);transition:opacity .9s var(--motion-ease) var(--reveal-delay,0ms),transform 1.1s var(--motion-ease) var(--reveal-delay,0ms)}
.motion-reveal.motion-visible,.motion-reveal:focus-within{opacity:1;transform:none}
.section-heading.motion-visible:before{transform:scaleX(1)}
.motion-ready .artwork.motion-reveal,.motion-ready .collab-card.motion-reveal{transform:translate3d(0,35px,0) scale(.975);transition-duration:.75s,.95s}
.motion-ready .artwork.motion-visible,.motion-ready .collab-card.motion-visible{transform:none}
.center-heading.motion-visible .ornament{animation:ornament-arrive 1.2s var(--motion-ease) both}
@keyframes ornament-arrive{from{opacity:0;transform:rotate(-70deg) scale(.4)}to{opacity:1;transform:rotate(0) scale(1)}}
.motion-ready .member-ambient{display:none}
.member-light-field{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.member-light-layer{position:absolute;inset:8% -12% -12%;opacity:0;transform:scale(.88) translate3d(0,28px,0);transition:opacity 1.3s ease,transform 2.2s var(--motion-ease);background:radial-gradient(ellipse at 29% 62%,var(--light-a),transparent 43%),radial-gradient(ellipse at 50% 64%,var(--light-b),transparent 47%),radial-gradient(ellipse at 72% 62%,var(--light-c),transparent 43%);filter:blur(65px)}
.member-light-layer.is-current{opacity:.18;transform:scale(1) translate3d(0,0,0)}
.carousel-stage{perspective:1700px;isolation:isolate}
.motion-ready .member-card{transition:transform .92s var(--motion-spring),opacity .65s ease,filter .8s ease;will-change:auto;--flip-angle:0deg}
.motion-ready .member-card[data-position="0"]{transform:translateX(-50%) translateZ(18px);opacity:1;z-index:4;filter:none}
.motion-ready .member-card[data-position="-1"]{transform:translateX(calc(-50% - 300px)) translateZ(-90px) scale(.88) rotateY(16deg);opacity:.55;z-index:2;filter:brightness(.65)}
.motion-ready .member-card[data-position="1"]{transform:translateX(calc(-50% + 300px)) translateZ(-90px) scale(.88) rotateY(-16deg);opacity:.55;z-index:2;filter:brightness(.65)}
.motion-ready .member-card[data-position="-2"]{transform:translateX(calc(-50% - 540px)) translateZ(-240px) scale(.7) rotateY(28deg);opacity:0;z-index:0;pointer-events:none;filter:brightness(.4)}
.motion-ready .member-card[data-position="2"]{transform:translateX(calc(-50% + 540px)) translateZ(-240px) scale(.7) rotateY(-28deg);opacity:0;z-index:0;pointer-events:none;filter:brightness(.4)}
.motion-ready .member-card:before,.motion-ready .member-card[data-position="0"]:before{content:none;display:none}
/* 背光獨立於3D卡片；旋轉期間隱藏，翻妥後才柔和恢復。 */
.member-backlight{position:absolute;left:50%;top:10px;width:350px;height:540px;background:transparent;box-shadow:-10px 0 28px color-mix(in srgb,var(--member-color) 80%,transparent),10px 0 28px color-mix(in srgb,var(--member-color-2) 80%,transparent),0 9px 34px color-mix(in srgb,var(--member-color-mid) 65%,transparent);filter:blur(10px);border-radius:12px;opacity:.28;z-index:0;pointer-events:none;transform:translateX(-50%);transition:opacity .28s ease}
.card-turning .member-backlight{opacity:0;transition:none}
.motion-ready .card-inner{transform:rotateY(var(--flip-angle));transition:transform .72s cubic-bezier(.22,.8,.2,1);transform-style:preserve-3d}
.card-front{cursor:pointer}
.card-flip-target{height:100%;padding:0;display:block;cursor:pointer}
.motion-ready .member-card.is-flipped{--flip-angle:180deg}
.motion-ready .member-card.is-flipped .card-inner{transform:rotateY(180deg)}
.card-front,.card-back{background:#141216;border-color:#766750}
.card-front{box-shadow:inset 0 0 0 4px #080608,inset 0 0 0 5px #9b89664a,inset 0 0 0 7px #0d0a0c,0 25px 50px #0008}
.card-front:after,.card-back:after,.card-window-shine{display:none;pointer-events:none}
.card-back{pointer-events:none}
.member-card.is-flipped .card-front{pointer-events:none}
.member-card.is-flipped .card-back{pointer-events:auto}
.card-back{display:flex;flex-direction:column;overflow:hidden;gap:10px}
.card-back-summary{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding-right:4px}
.card-back-footer{flex:none;border-top:1px solid #c9a77335;padding-top:5px}
.card-back-summary>small{font-family:Georgia,serif;font-size:10px;letter-spacing:3px;color:var(--gold)}
.card-back-summary h3{font-size:32px;margin-top:10px;letter-spacing:4px}
.card-back-summary h3 small{font-size:16px;color:var(--card-color);font-family:Georgia,serif;letter-spacing:1px;display:block}
.card-back-footer .social-links{margin:5px 0 8px}
.card-back-footer .card-actions{margin-top:0}
.card-back-footer .flip-back{min-height:36px;width:100%;padding:6px 0 0;text-align:left;color:var(--gold-light)}
.social-links a{display:grid;place-items:center;line-height:1;padding:0;flex-shrink:0}
.social-links svg{display:block;width:18px;height:18px;flex:none;transform:none}
.social-links svg.social-icon-threads{fill:currentColor;stroke:none}
.circle-button{transition:transform .35s var(--motion-ease),border-color .35s,background .35s,box-shadow .35s}
.circle-button:hover{transform:scale(1.08);box-shadow:0 0 22px #c9a77315}
.circle-button:active{transform:scale(.94)}
.member-dots button{transition:transform .6s var(--motion-spring),box-shadow .5s,background .5s}
.member-dots button[aria-pressed="true"]{transform:scale(1.16)}
.button{position:relative;overflow:hidden;isolation:isolate}
.button:after{content:"";position:absolute;inset:-80% -30%;background:linear-gradient(110deg,transparent 35%,#fff5 49%,transparent 60%);transform:translateX(-110%);pointer-events:none;transition:transform .85s var(--motion-ease);z-index:-1}
.button:hover:after,.button:focus-visible:after{transform:translateX(110%)}
.button span{transition:transform .45s var(--motion-ease)}
.button:hover span{transform:translate(3px,-3px)}
.artwork>button,.collab-card{transition:border-color .5s,box-shadow .5s}
.artwork>button:hover,.collab-card:hover{border-color:#d4b77e99;box-shadow:0 12px 30px #0005}
.artwork img{transition:transform 1.15s var(--motion-ease),filter .8s}
.artwork button:hover img{transform:scale(1.035)}
.art-zoom{transition:background .4s,transform .6s var(--motion-ease)}
.artwork button:hover .art-zoom{transform:rotate(-45deg);background:#b2956177}
.artwork-traveler{position:fixed!important;object-fit:contain;transform-origin:0 0;z-index:12;max-width:none;max-height:none;pointer-events:none;box-shadow:0 25px 100px #0007}
.lightbox-image-traveling{opacity:0}
.lightbox-load-status{position:absolute;left:50%;bottom:50px;transform:translateX(-50%);font-size:10px;letter-spacing:1px;white-space:nowrap;background:#100d0ee8;color:var(--gold-light);padding:6px 13px;border:1px solid var(--line);z-index:14}
.lightbox-load-status:empty{display:none}
.lightbox::backdrop{animation:dialog-dimmer-in .55s ease both}
.profile-dialog::backdrop,.exhibition-dialog::backdrop{animation:dialog-dimmer-in .45s ease both}
@keyframes dialog-dimmer-in{from{opacity:0}to{opacity:1}}
.profile-details,.exhibition-intro{background-size:130% 130%}
.access-card{transition:transform .8s var(--motion-ease),border-color .6s,box-shadow .6s}
.access-card:hover{transform:translateY(-7px);border-color:#d4b77e88;box-shadow:0 22px 42px #0006}
.music-player{transition:border-color .5s,box-shadow .5s}
.site-header,.music-player{backdrop-filter:none}
.music-player:has(.is-playing){border-color:#d1ad6fa8;box-shadow:0 8px 30px #0009,0 0 25px #c29a4c15}
@media(max-width:800px){
 .member-backlight{width:310px;height:510px}
 .music-player:not(:has(#music-expand[aria-expanded="true"])){width:98px;padding:9px}
 .music-player:not(:has(#music-expand[aria-expanded="true"])) .track-info{display:none}
 .music-player:not(:has(#music-expand[aria-expanded="true"])) .music-main{gap:6px}
 .motion-ready .member-card[data-position="-1"]{transform:translateX(calc(-50% - 250px)) translateZ(-70px) scale(.86) rotateY(13deg)}
 .motion-ready .member-card[data-position="1"]{transform:translateX(calc(-50% + 250px)) translateZ(-70px) scale(.86) rotateY(-13deg)}
 .motion-ready .member-card[data-position="-2"]{transform:translateX(calc(-50% - 410px)) translateZ(-180px) scale(.72) rotateY(20deg)}
 .motion-ready .member-card[data-position="2"]{transform:translateX(calc(-50% + 410px)) translateZ(-180px) scale(.72) rotateY(-20deg)}
 .motion-ready .member-card{transition-duration:.72s,.5s,.65s}
 .member-light-layer{filter:blur(40px);transition-duration:1s,1.3s}
 .motion-reveal{transform:translate3d(0,26px,0);transition-duration:.65s,.8s}
 .artwork-traveler{box-shadow:0 10px 50px #0008}
}
@media(max-width:380px){.member-backlight{width:280px;height:485px}}
@media(prefers-reduced-motion:reduce){
 .motion-reveal,.motion-ready .artwork.motion-reveal,.motion-ready .collab-card.motion-reveal{opacity:1;transform:none;transition:none}
 .motion-ready .section-heading:before{transform:scaleX(1);transition:none}
 .motion-ready .card-inner,.motion-ready .member-card.is-flipped .card-inner{transition:none;transform:rotateY(var(--flip-angle))}
 .motion-ready .member-card,.member-light-layer,.member-backlight{transition:none}
 .card-window-shine,.center-heading.motion-visible .ornament{animation:none}
 .button:after{display:none}
 .access-card:hover{transform:none}
}
