/* Each effect yields immediately to the motion preference. */
.figure .interactive-aura,.figure.fx-ready .interactive-aura{z-index:3;pointer-events:none;opacity:0;transition:opacity .55s}
.figure .interactive-aura.is-awake{opacity:.85}
.figure.assembling .interactive-aura{opacity:0;transition:none}
.particle-replay{position:absolute;z-index:6;left:50%;bottom:-42px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:90px;padding:0 10px;background:transparent;border:0;color:#aaa;pointer-events:auto;font-size:8px;letter-spacing:.1em;cursor:pointer;transition:color .2s,opacity .2s}
.particle-replay svg{width:13px;height:13px;flex:none}
.particle-replay:hover,.particle-replay:focus-visible{color:#fff}
.particle-replay:focus-visible{outline:1px dashed #aaa;outline-offset:2px}
.particle-replay[aria-disabled=true]{opacity:.35;cursor:default}
.particle-replay[hidden]{display:none}
.viewer.focused-scene::backdrop{background:#080808b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:gallery-focus-in .36s ease-out both}
.viewer.focus-return::backdrop{animation:gallery-focus-out .26s ease-in both}
@keyframes gallery-focus-in{from{background:#08080800;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{background:#080808b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}}
@keyframes gallery-focus-out{from{background:#080808b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}to{background:#08080800;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}
.product-sheen{position:absolute;display:block;pointer-events:none;overflow:hidden;z-index:1;-webkit-mask-image:var(--product-mask);mask-image:var(--product-mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;transition:transform .18s ease-out}
.product-sheen[hidden]{display:none}
.product-sheen>span{display:block;width:100%;height:100%;opacity:0;background:linear-gradient(108deg,transparent 27%,#edf3ff08 38%,#edf3ff50 49%,#edf3ff10 58%,transparent 70%);transform:translateX(-120%)}
.no-motion .interactive-aura,.no-motion .product-sheen{display:none}
.no-motion .particle-replay{transition:none}
.no-motion .viewer.focused-scene::backdrop{animation:none}
.figure .particle-entrance{opacity:1;z-index:3;pointer-events:none}.figure.assembling #figure-image{opacity:var(--entrance-reveal,0)!important}.figure.assembling #figure-fx{opacity:0!important}.figure.assembling.fx-ready #figure-image{opacity:0!important}.figure.assembling.fx-ready #figure-fx{opacity:var(--entrance-reveal,0)!important}.viewer.image-flight{background:transparent}.viewer.image-flight:before,.viewer.image-flight .image-mesh{visibility:hidden}.viewer.image-flight .viewer-meta,.viewer.image-flight .zoom-controls,.viewer.image-flight>.sound-control{opacity:0}.photo-stage{will-change:auto}.viewer.image-flight .photo-stage{will-change:transform;z-index:5}.gallery-spotlight{position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;background:radial-gradient(260px circle at var(--light-x,50%) var(--light-y,50%),#e1efff20,transparent 85%);mix-blend-mode:screen;transition:opacity .25s}.lights-out.spotlight-active .gallery-spotlight{opacity:1}.sound-control{display:flex;justify-content:center;gap:9px;width:86px}.sound-wave{width:34px;height:14px;display:block;pointer-events:none}.sound-icon{display:block;width:18px;height:18px}.garment-stage{width:100%;height:min(58svh,620px);display:flex;justify-content:center;background:#191919}.garment-canvas{position:relative;aspect-ratio:1;height:100%;max-width:100%;align-self:center}.garment-canvas .project-image{width:100%;height:100%;object-fit:contain}.detail-hint{color:#aaa;font-size:9px;letter-spacing:.06em;margin:4px 0 12px;line-height:1.5}.garment-hotspot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;display:grid;place-items:center;background:transparent;z-index:2;color:#c9e1ff}.garment-hotspot>span{display:grid;place-items:center;width:23px;height:23px;border:1px solid #b8d6faaa;border-radius:50%;background:#111d;font-size:18px;line-height:1;transition:transform .2s,background .2s}.garment-hotspot:hover>span,.garment-hotspot[aria-expanded=true]>span{transform:scale(1.14);background:#304255}.garment-detail{display:grid;grid-template-columns:minmax(120px,220px) 1fr;gap:28px;align-items:center;background:#141414;padding:24px;margin-top:18px}.garment-detail-image{height:190px;background:#191919}.garment-detail-image svg{display:block;width:100%;height:100%;object-fit:contain}.garment-detail h3{font-size:28px;font-weight:400;line-height:1.1;letter-spacing:-.04em;margin:0 0 12px}.garment-detail p{font-size:13px;line-height:1.6;color:#bbb;margin:0;max-width:410px}.detail-close{min-height:44px;margin-top:12px;font-size:10px}.design-symbols{margin:45px 0 65px}.symbol-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.symbol-heading h3{font-size:32px;font-weight:400;letter-spacing:-1px;margin:0}.symbol-heading button{min-height:44px;font-size:9px;flex-shrink:0;color:#aaa}.design-symbols>p{font-size:12px;color:#aaa;line-height:1.5;margin-bottom:30px}.symbol-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px}.symbol-cell{margin:0;min-width:0}.symbol-cell svg{display:block;width:100%;height:105px;mix-blend-mode:lighten}.symbol-cell figcaption{font-size:9px;color:#aaa;margin-top:18px;letter-spacing:.07em;text-align:center}.no-motion .gallery-spotlight{display:none}.no-motion .garment-hotspot>span{transition:none}.no-motion .symbol-cell{filter:none!important;transform:none!important;opacity:1!important}
@media(max-width:600px){.garment-stage{height:min(48svh,calc(94vw - 36px))}.detail-hint{font-size:8px}.garment-detail{grid-template-columns:1fr;gap:16px;padding:18px}.garment-detail-image{height:165px}.garment-detail h3{font-size:25px}.symbol-heading{align-items:flex-start;gap:12px}.symbol-heading h3{font-size:27px;max-width:200px}.symbol-heading button{font-size:8px}.symbol-row{gap:10px}.symbol-cell svg{height:56px}.symbol-cell figcaption{font-size:7px;letter-spacing:0}.design-symbols{margin:35px 0 45px}.gallery-spotlight{background:radial-gradient(160px circle at var(--light-x,50%) var(--light-y,50%),#e1efff20,transparent 85%)}.sound-control{width:78px;gap:6px}.sound-wave{width:30px}}

/* Keep the active ASCII word distinct from the reflective city. */
.figure[data-morph="playing"]{mix-blend-mode:normal}
.figure[data-morph="playing"] .particle-entrance{opacity:1;filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 2px #000)}
