/* Reading and making: quiet editorial layers around the source motion. */
.world-camera{position:absolute;inset:0;transform-origin:65% 52%;will-change:transform}
.scene-label{top:14%;width:300px;max-width:29vw}.scene-label h2{font-size:clamp(27px,2.7vw,41px);margin:13px 0}.scene-label #scene-subtitle{font-size:11px;line-height:1.9;color:#ddd8c9;letter-spacing:.04em}.scene-label #scene-intro{font-size:12px;line-height:2;letter-spacing:.03em;color:#a9ae9c;margin-top:20px;max-width:300px}
.world-stage{left:62%;width:88vw;height:49.5vw}.world-floor{left:30%}#scene-shade{background:linear-gradient(90deg,#090c08d9,transparent 40%),linear-gradient(#0002,transparent 35%,transparent 72%,#0007)}
.scene-story{position:absolute;left:5.5%;bottom:14.8%;width:320px;max-width:29vw;pointer-events:auto}.story-topline{display:flex;justify-content:space-between;gap:10px;align-items:center}.story-count{font-size:8px;letter-spacing:.1em;color:#bba77b}.story-tabs{display:flex;gap:17px}.story-tabs button{font:11px var(--serif);padding:9px 0;color:#868e7c;border-bottom:1px solid transparent;transition:color .25s,border-color .25s;white-space:nowrap}.story-tabs button[aria-pressed="true"]{color:#e5d6b4;border-color:#c5b17c}.scene-story h3{font:23px/1.5 var(--serif);font-weight:400;letter-spacing:.05em;margin:18px 0 12px}.story-body{font:12px/2.1 var(--sans);color:#bdc2b0;letter-spacing:.025em;margin:0}.story-caption{font:9px/1.8 var(--sans);letter-spacing:.03em;color:#7f8c76;margin:8px 0 0}.story-detail{font:10px var(--serif);color:#cabc99;border-bottom:1px solid #cabc9945;padding:7px 0;margin-top:10px}.story-study{height:70px;margin-top:13px;display:flex;align-items:center}.story-study span{font:8px var(--sans);color:#88977c;white-space:nowrap}.story-study i{display:block}.study-traces{display:flex;gap:13px;align-items:center}.study-traces i{font-style:normal;text-align:center}.study-traces b{display:block;width:58px;height:27px;margin-bottom:6px;background:repeating-linear-gradient(174deg,#745432 0 1px,#846341 2px 4px,#735537 5px 6px);box-shadow:inset 0 0 20px #0002}.study-traces i:nth-child(2) b{filter:saturate(.55);background:linear-gradient(160deg,transparent 45%,#ddd7ba65 46% 48%,transparent 49%),repeating-linear-gradient(174deg,#665337 0 1px,#867553 2px 4px,#6b573a 5px 6px)}.study-traces i:nth-child(3) b{background:linear-gradient(90deg,transparent 45%,#b9b699 46% 67%,#c6aa64 68% 84%,transparent 85%),repeating-linear-gradient(174deg,#67502f 0 1px,#866643 2px 4px)}.study-traces[data-step="0"] i:first-child,.study-traces[data-step="1"] i:nth-child(2),.study-traces[data-step="2"] i:nth-child(3){animation:study-emphasis 1.2s ease-out both}
.study-module{display:flex;gap:21px;align-items:center;perspective:300px}.study-module>div{display:grid;grid-template-columns:repeat(3,16px);gap:3px;transform:rotateX(28deg) rotateZ(-12deg);padding:5px;border:1px solid #b7a46d55;background:#634c3022}.study-module i{height:16px;background:#a58b57;box-shadow:2px 3px #4c3829}.study-module i:nth-child(3n){background:#a4aa8c}.study-module[data-step="1"] i{animation:study-hover 1.5s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-120ms)}.study-module[data-step="2"] i{animation:study-place .85s cubic-bezier(.22,1,.3,1) both;animation-delay:calc(var(--i)*80ms)}
.study-material{display:flex;gap:10px;align-items:center}.study-material i{height:30px;width:25px;transform:skewY(-12deg);box-shadow:3px 4px #342b1b;background:repeating-linear-gradient(170deg,#98784d 0 2px,#80603f 2px 4px)}.study-material i:nth-child(2){background:#a3ab99}.study-material i:nth-child(3){background:linear-gradient(125deg,#796331,#d7c88a,#998142);background-size:220%;animation:study-shine 5s ease-in-out infinite}.study-material i:nth-child(4){background:linear-gradient(125deg,#c89b53aa,#6d432b88);border:1px solid #b59f6266}.study-material span{margin-left:4px}
.study-zones{position:relative;width:185px;height:60px;border:1px solid #907a4e77;background:repeating-linear-gradient(170deg,#362b19 0 1px,#3c321f 1px 3px);display:grid;grid-template-columns:1fr 3fr 1fr;padding:5px;gap:5px;transform:skewY(-3deg)}.study-zones i{border:1px solid #ad9a6633}.study-zones i:nth-child(2){margin-bottom:8px}.study-zones span{position:absolute;bottom:-17px;left:0}.study-zones[data-step="0"] i:nth-child(2),.study-zones[data-step="1"] i:first-child,.study-zones[data-step="2"] i:last-child{background:#bbb78544;border-color:#d6c694;animation:study-emphasis 1.5s ease-out both}
.hotspot.is-focused{border-color:#e2ce96;background:#b29b5944;box-shadow:0 0 0 9px #c9b88716}.hotspot.is-focused:after{animation:hotspot-ring 3s ease-out infinite}.world-object[data-object^="lamp-"] img,.world-object[data-object^="bubble-"] img{animation:material-drift 10s ease-in-out infinite alternate}.world-object[data-object="lamp-1"] img,.world-object[data-object="bubble-2"] img{animation-delay:-5s;animation-direction:alternate-reverse}
#worlds{transform-origin:63% 50%;will-change:transform,filter}dialog::backdrop{background:#03080585;backdrop-filter:blur(4px)}dialog[data-modal-phase="opening"]::backdrop{animation:backdrop-enter .8s both}dialog[data-modal-phase="closing"]::backdrop{animation:backdrop-exit .36s both}.detail-notes{display:grid;gap:17px;border-top:1px solid #cabc992a;margin-top:26px;padding-top:21px}.detail-notes h3{font:12px var(--serif);color:#cbbb93;margin:0 0 7px}.detail-notes p{font:12px/2 var(--sans);color:#959f8a;margin:0}
#composer-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;border:0;background:radial-gradient(ellipse at 30% 40%,#293022e8,#0d130feF 68%);overflow:auto;box-shadow:none}#composer-dialog::backdrop{background:#07100885;backdrop-filter:none}.workbench-shell{width:min(1280px,100%);min-height:100%;padding:70px 5.5vw 45px;margin:auto}.composer-intro{text-align:left;display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px 35px;margin:0 0 32px;padding:0 0 26px;border-bottom:1px solid #cec09a22}.composer-intro .eyebrow{grid-column:1/-1}.composer-intro h2{font-size:clamp(25px,3vw,42px);margin:0}.composer-intro>p:last-child{max-width:255px;line-height:2;margin:0}#composer-root{max-width:none}#composer-dialog>.close-dialog{position:fixed;top:25px;right:30px;z-index:12;width:auto;padding:0 8px;display:flex;gap:12px;align-items:center}#composer-dialog>.close-dialog span{font:10px var(--sans);color:#afbaa3;letter-spacing:.1em}.composer-bridge{position:fixed;pointer-events:none;object-fit:contain;z-index:8;transform-origin:center}.workbench-note{font:10px/2 var(--sans);color:#84947c;margin-top:22px;text-align:center}
@keyframes backdrop-enter{from{background-color:transparent;backdrop-filter:blur(0)}to{background-color:#03080585;backdrop-filter:blur(4px)}}@keyframes backdrop-exit{to{background-color:transparent;backdrop-filter:blur(0)}}@keyframes material-drift{from{transform:translateY(-4px) rotate(-1deg)}to{transform:translateY(5px) rotate(1deg)}}@keyframes hotspot-ring{0%{box-shadow:0 0 0 0 #dac18435}75%,100%{box-shadow:0 0 0 19px #dac18400}}@keyframes study-emphasis{from{opacity:.35;filter:brightness(.6)}to{opacity:1;filter:brightness(1.15)}}@keyframes study-hover{to{transform:translateY(-6px)}}@keyframes study-place{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes study-shine{50%{background-position:100%}}
@media(min-width:1101px) and (max-height:790px){.scene-label{top:14%}.scene-label #scene-intro{margin-top:10px;font-size:11px;line-height:1.85}.scene-story{bottom:16%;width:320px}.scene-story h3{font-size:20px;margin:12px 0 8px}.story-body{font-size:11px;line-height:1.85}.story-study{height:46px;margin-top:9px}.story-caption{display:none}.scene-label #scene-subtitle{display:none}}
@media(max-width:1100px){.scene-label{left:6%;top:13%;width:75%;max-width:600px}.scene-label h2{font-size:30px}.scene-label #scene-intro{max-width:520px;font-size:11px;line-height:1.85;margin-top:12px}.scene-label #scene-subtitle{display:none}.world-stage{top:43%;left:50%;width:100vw;height:56.25vw}.scene-story{left:6%;bottom:13%;width:88%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) 185px;gap:0 32px}.story-topline{grid-column:1/-1;max-width:500px}.scene-story h3{grid-column:1;font-size:23px;margin:15px 0 8px}.story-body{grid-column:1;font-size:12px;line-height:1.9}.story-study{grid-column:2;grid-row:2/5;height:100%;justify-content:center}.study-material{flex-wrap:wrap;justify-content:center}.study-material span{width:100%;text-align:center}.story-caption{grid-column:1}.story-detail{grid-column:1;justify-self:start;margin-top:7px}.world-floor{left:10%}#scene-shade{background:linear-gradient(#060b04b0,transparent 30%,transparent 49%,#080d06e0 78%,#080d06)}.workbench-shell{padding:70px 5% 35px}.composer-intro>p:last-child{font-size:10px}.composer-intro{gap:15px}}
@media(max-width:700px){.scene-label{top:95px;left:7%;right:7%;width:auto}.scene-label h2{font-size:27px;margin:10px 0}.scene-label #scene-intro{display:none}.scene-label #scene-subtitle{display:block;font-size:10px;max-width:90%}.world-stage{top:40%;width:145vw;height:81.56vw}.scene-story{left:7%;width:86%;bottom:110px;display:block}.story-tabs{gap:20px}.story-tabs button{font-size:11px;padding:8px 0}.scene-story h3{font-size:22px;margin:14px 0 9px}.story-body{font-size:12px;line-height:1.95;letter-spacing:0}.story-study,.story-caption{display:none}.story-detail{font-size:10px;margin-top:8px}.scene-controls{bottom:55px}.interaction-hint{display:none}.scene-controls .text-action{margin-left:auto}.scene-controls #next{left:0;transform:none;align-items:start;min-width:160px;gap:8px;font-size:12px}.scene-controls #next i{font-size:17px}.scene-progress{top:23%}.world-camera{transform-origin:50% 40%}#scene-shade{background:linear-gradient(transparent 40%,#080d0600 46%,#080d06eF 66%,#080d06)}.workbench-shell{padding:77px 22px 35px}.composer-intro{display:block;margin-bottom:25px}.composer-intro .eyebrow{margin-bottom:12px}.composer-intro h2{font-size:28px}.composer-intro>p:last-child{margin-top:14px;max-width:300px;font-size:11px}.workbench-note{text-align:left}#composer-dialog>.close-dialog{right:17px;top:20px}#composer-dialog>.close-dialog span{font-size:9px}.world-object[data-object^="lamp-"],.world-object[data-object^="chair-"],.world-object[data-object="basketball-0"],.world-object[data-object="table-0"]{display:none}}
@media(max-width:700px) and (max-height:730px){.scene-label{top:78px}.scene-label h2{font-size:23px}.scene-label #scene-subtitle{display:none}.world-stage{top:37%;width:125vw;height:70.3vw}.scene-story{bottom:98px}.scene-story h3{font-size:19px;margin:8px 0}.story-body{font-size:11px;line-height:1.8}.scene-controls{bottom:48px}}
@media(prefers-reduced-motion:reduce){.story-study *,.world-object img,.hotspot:after,dialog::backdrop{animation:none!important;transition:none!important}}
.study-traces .charred b{background:radial-gradient(ellipse at 50% 50%,#11110a 0 25%,#4a3924 50%,#735a38 80%)}.study-local{width:190px;height:52px;background:repeating-linear-gradient(172deg,#4c3925 0 2px,#5b442b 3px 5px);position:relative;border:1px solid #7d674744;transform:skewY(-4deg)}.study-local i{position:absolute;right:23px;top:10px;width:30px;height:29px;background:conic-gradient(#adae93 0 25%,#957943 0 50%,#bdbca0 0 75%,#756142 0);box-shadow:0 0 0 2px #211c1255;animation:study-place .9s both}.study-local span{position:absolute;top:60px;left:0}.study-interface{display:flex;align-items:center;gap:18px}.study-interface>div{width:90px;height:40px;border:1px solid #856c4555;background:#61452b;position:relative;transform:skewY(-5deg)}.study-interface i{width:31px;height:10px;border:1px solid #bcb994;background:#a6ac91;position:absolute;top:-5px;left:30px;animation:study-hover 1.6s ease-in-out infinite alternate}.study-interface b{position:absolute;left:42px;top:12px;color:#d9c697;font-weight:400}.study-material[data-step="0"] i:nth-child(n+3){opacity:.35}.study-material[data-step="1"] i:not(:nth-child(3)){opacity:.55}
/* Keep a clear reading area; distant ornament must not compete with text. */
.world-object[data-object="chair-0"],.world-object[data-object="flowers-0"],.world-object[data-object="bubble-0"],.world-object[data-object="bubble-1"],.world-object[data-object="bubble-4"]{display:none}.world-object[data-object="wall-covering-0"] img{opacity:.18}.scene-label,.scene-story{text-shadow:0 1px 7px #060904}.study-traces i.charred b{background:radial-gradient(ellipse at 50% 50%,#11110a 0 25%,#4a3924 50%,#735a38 80%)}
@media(min-width:1101px) and (max-height:790px){.story-body{font-size:12px;line-height:1.95}.scene-label #scene-intro{font-size:12px;line-height:1.85}}
#composer-dialog .fxw-header{display:none}#composer-dialog .fxw-layout{padding-top:0}
body:has(dialog[open]) .world-ui,body:has(dialog[open]) .exhibition-header,body:has(dialog[open])>.about-trigger,body:has(dialog[open])>.visual-note{opacity:0}.world-ui,.exhibition-header,.about-trigger,.visual-note{transition:opacity .35s ease}
@media(min-width:701px) and (max-width:1100px){.world-stage{left:55%;top:48%;width:78vw;height:43.875vw}.scene-label #scene-intro{max-width:520px}.scene-label{max-width:75%}}
.world[data-scene="material"] .world-object[data-object="lamp-0"]{display:none}
body:has(#composer-dialog[open]) #intro{visibility:hidden}

/* Quiet feedback: routine announcements remain available to assistive technology. */
.fxw-status:not(.is-error){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
