@font-face{font-family:DM;src:url('../assets/fonts/dm-sans-v17-latin-regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:DM;src:url('../assets/fonts/dm-sans-v17-latin-500.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:DM;src:url('../assets/fonts/dm-sans-v17-latin-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Playfair;src:url('../assets/fonts/playfair-display-v40-latin-600italic.woff2') format('woff2');font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:Mono;src:url('../assets/fonts/jbmono-400.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--cream:#f2eee1;--dim:#bfcbd0;--cyan:#afffea;--dark:#10252c;--line:#d7f5ed40;--pad:clamp(20px,3.8vw,72px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#89aeb5}body{font:400 14px/1.6 DM,Arial,sans-serif;color:var(--cream);-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}h1,h2,p{margin:0}button,a{touch-action:manipulation}[hidden]{display:none!important}#world{display:block;position:fixed;inset:0;width:100%;height:100%;touch-action:none}.screen-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,#0a1e26b8 0%,#0a1e2618 43%,#0a1e2600 68%),linear-gradient(0deg,#10252c99 0%,transparent 18%,transparent 85%,#10252c33 100%);transition:opacity 1s}.top-bar{position:fixed;left:var(--pad);right:var(--pad);top:27px;display:flex;align-items:center;justify-content:space-between;z-index:5;gap:20px}.identity{display:flex;gap:12px;align-items:center;font-weight:500;font-size:13px;line-height:1.18;letter-spacing:-.02em}.identity-mark{display:grid;place-items:center;width:32px}.identity-mark svg{width:32px;height:32px;stroke:var(--cream);stroke-width:1.4;fill:none}.place-name{position:absolute;left:50%;transform:translateX(-50%);font:10px/1.6 Mono,monospace;letter-spacing:.26em;text-align:center;white-space:nowrap}.place-sub{display:block;font:11px DM,sans-serif;letter-spacing:.025em;margin-top:5px;color:var(--dim)}.status-light{display:inline-block;width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 12px #7cffcb;vertical-align:middle;margin-right:8px}.top-actions{display:flex;align-items:center;gap:22px}.top-actions button{display:flex;gap:10px;align-items:center;min-height:44px;font:10px Mono,monospace}.top-actions svg{width:18px;height:18px;fill:none;stroke:var(--cream);stroke-width:1.2}.top-actions #info-toggle{border:1px solid var(--line);border-radius:50%;width:32px;min-height:32px;justify-content:center;font:15px DM,sans-serif}.scene-label{position:fixed;right:var(--pad);top:132px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;pointer-events:none;font:8px Mono,monospace;letter-spacing:.12em;color:#f4f5e9cf}.scene-label span:last-child{font-size:7px;opacity:.7}.intro{position:fixed;left:var(--pad);top:26%;width:440px;pointer-events:auto;transition:opacity .4s,transform .7s}.eyebrow{font:9px/1.7 Mono,monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan)}.intro .eyebrow{display:flex;align-items:center;gap:9px}.intro .eyebrow>span{width:18px;height:1px;background:var(--cyan)}.intro h1{font-size:clamp(65px,6.4vw,110px);font-weight:400;letter-spacing:-.064em;line-height:.98;margin-top:25px;text-shadow:0 3px 30px #06182218}.intro h1 em{font:600 italic 1.04em/.98 Playfair,Georgia,serif;letter-spacing:-.065em}.intro-copy{font-size:15px;line-height:1.7;color:#e3e7e3d9;margin-top:25px}.enter-button{margin-top:34px;padding:13px 15px 13px 20px;border:1px solid #eef7e389;min-height:51px;display:flex;align-items:center;justify-content:space-between;gap:57px;font-size:13px;background:#d5f8eb08;backdrop-filter:blur(8px);transition:background .25s,gap .3s}.enter-button span{font-size:23px;line-height:1}.enter-button:hover{background:var(--cream);color:var(--dark);gap:65px}.intro-hint{display:block;margin-top:15px;font:8px Mono,monospace;color:#d7e4e3a3}.bottom-bar{position:fixed;bottom:25px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:flex-end;z-index:5;gap:16px;pointer-events:none}.bottom-bar>div{pointer-events:auto}.edition{display:flex;flex-direction:column;gap:7px}.edition span{font:7px Mono,monospace;letter-spacing:.16em;color:var(--dim)}.edition strong{font:500 15px DM,sans-serif;letter-spacing:.15em}.view-controls{display:flex;align-items:center;gap:2px;background:#142b32a6;backdrop-filter:blur(14px);padding:4px;border:1px solid #e4faee24}.view-controls button{padding:8px 12px;min-height:36px;font:9px DM,sans-serif;color:#d3dedc;white-space:nowrap}.view-controls button.active{background:#e4faee20;color:var(--cream)}.view-controls button:hover{background:#e4faee15}.view-controls button[aria-pressed="true"]{color:var(--cyan)}.control-divider{height:16px;width:1px;background:var(--line);margin:0 4px}.view-controls #motion-toggle{display:flex;gap:7px;align-items:center}.coordinates{font:7px/1.9 Mono,monospace;letter-spacing:.09em;text-align:right;color:#e0e7dfb8;display:flex;flex-direction:column}.coordinates i{display:inline-block;background:var(--cyan);width:4px;height:4px;margin-left:9px;border-radius:50%}.workbench{position:fixed;left:var(--pad);top:22%;width:290px}.workbench-heading h2{font:400 37px/1.08 DM,sans-serif;letter-spacing:-.05em;margin-top:14px}.workbench-heading h2 em{font:600 italic 1.06em Playfair,Georgia,serif}.workbench-heading p{font-size:11px;color:var(--dim);margin-top:13px}.instruments{margin-top:30px;display:flex;flex-direction:column}.instrument{padding:16px 10px 17px 0;display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);text-align:left;width:100%;transition:background .2s,padding .2s}.instrument-num{font:8px Mono,monospace;opacity:.7}.instrument strong{font:500 13px DM,sans-serif;display:block}.instrument small{font:9px DM,sans-serif;display:block;color:var(--dim);margin-top:4px}.instrument-arrow{margin-left:auto;font-size:17px;opacity:.5}.instrument.active{color:var(--cyan)}.instrument.active .instrument-arrow{opacity:1;transform:rotate(45deg)}.instrument:hover{padding-left:9px;background:#c7ffed10}.focus-card{position:fixed;right:var(--pad);bottom:112px;width:300px;border:1px solid #bbeded55;background:#102f3cc9;backdrop-filter:blur(18px);padding:20px;box-shadow:0 12px 40px #071b2720;z-index:3}.focus-top{display:flex;align-items:center;font:7px Mono,monospace;letter-spacing:.08em;color:var(--cyan)}.focus-top .status-light{flex-shrink:0}.focus-index{margin-left:auto;font-size:9px;opacity:.6}.focus-card h2{font:400 25px/1.15 DM,sans-serif;letter-spacing:-.035em;margin-top:18px}.focus-card>p{font-size:11px;line-height:1.65;color:#ccdadb;margin-top:11px}.focus-card label{display:flex;justify-content:space-between;font:8px Mono,monospace;color:var(--dim);margin-top:23px}#coherence{display:block;width:100%;margin:12px 0;height:16px;accent-color:var(--cyan);cursor:ew-resize}.field-readout{font:6px Mono,monospace;letter-spacing:.02em;display:flex;justify-content:space-between;color:var(--dim)}.field-readout span:first-child{color:var(--cyan)}.project-button{background:var(--cyan);color:#133335;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:45px;padding:10px 12px;font-size:11px;margin-top:21px}.project-button:hover{background:#fff}.project-button span{font-size:21px}.project-button:disabled{cursor:wait;opacity:.65}.quiet-link{font-size:10px;border-bottom:1px solid var(--line);padding:10px 0 4px;display:inline-block;margin-top:7px}.scene-hotspot{position:fixed;pointer-events:none;opacity:0;transition:opacity 1s;font:7px Mono,monospace;color:var(--cream);letter-spacing:.08em}.scene-hotspot i{display:block;border-left:1px solid #ffffff55;border-bottom:1px solid #ffffff55;width:32px;height:22px;margin:6px 0 0 12px}.entered .scene-hotspot{opacity:.65}.entered .screen-shade{background:linear-gradient(90deg,#0a1e269e,transparent 38%),linear-gradient(0deg,#10252c80,transparent 18%,transparent 85%,#10252c30)}.load-screen{position:fixed;inset:0;background:#0e282f;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .6s,visibility .6s}.load-screen.done{opacity:0;visibility:hidden;pointer-events:none}.load-mark{font-size:49px;line-height:1;color:var(--cyan);font-family:Georgia,serif}.load-screen p{font:11px Mono,monospace;letter-spacing:.035em;margin-top:25px}.load-line{display:block;width:90px;height:1px;background:#9af4df55;margin-top:22px;position:relative;overflow:hidden}.load-line:after{content:'';position:absolute;left:0;top:0;height:1px;width:30px;background:var(--cyan);animation:load 1.5s infinite}@keyframes load{to{transform:translateX(90px)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.experience-dialog{position:fixed;inset:0;width:94vw;max-width:1500px;height:90vh;max-height:100%;padding:0;border:1px solid #b8e5e052;background:#10282f;color:var(--cream);box-shadow:0 25px 100px #00172166}.experience-dialog::backdrop,.about-dialog::backdrop{background:#03171fbd;backdrop-filter:blur(12px)}.experience-dialog>header{height:85px;display:flex;justify-content:space-between;align-items:center;padding:16px 25px;gap:20px}.experience-dialog .eyebrow{font-size:7px}.experience-dialog h2{font:400 24px DM,sans-serif;letter-spacing:-.03em;margin-top:3px}.experience-actions{display:flex;align-items:center;gap:24px;font-size:11px}.experience-actions a{color:var(--dim)}.experience-actions button{border:1px solid var(--line);padding:10px 12px;font-size:11px;min-height:44px}.experience-actions button span{font-size:18px;margin-left:17px}#experience-content{width:100%;height:calc(100% - 116px);background:#080c13}#experience-content iframe{border:0;width:100%;height:100%;display:block}#experience-content img{display:block;width:100%;height:100%;object-fit:contain}.experience-help{font:8px Mono,monospace;padding:9px 25px;color:var(--dim)}.about-dialog{padding:44px;max-width:540px;width:90vw;max-height:90vh;border:1px solid var(--line);background:#142f38;color:var(--cream)}.about-dialog h2{font:400 43px/1.08 DM,sans-serif;letter-spacing:-.05em;margin:20px 0}.about-dialog h2 em{font:600 italic 1.03em Playfair,Georgia,serif}.about-dialog p{font-size:13px;line-height:1.7;color:var(--dim);margin:17px 0}.about-close{position:absolute;top:9px;right:12px;min-width:44px;min-height:44px;font-size:25px}.about-links{display:flex;gap:22px;font-size:11px;flex-wrap:wrap;margin-top:28px;color:var(--cyan)}.about-dialog .about-credit{font:8px/1.7 Mono,monospace;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}#fallback,.noscript{position:fixed;z-index:120;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#102d35;text-align:center;padding:35px}#fallback h1{font-weight:400;font-size:35px}#fallback p{margin:20px 0;color:var(--dim)}#fallback a,.noscript a{color:var(--cyan);padding:12px 0;border-bottom:1px solid var(--cyan)}
@media(min-width:1700px){.intro{top:28%}.workbench{top:25%}.focus-card{bottom:16%;width:330px}}
@media(max-width:1100px){.intro{width:370px}.intro h1{font-size:73px}.workbench{width:240px}.focus-card{width:270px;right:25px;bottom:105px}.coordinates{display:none}.bottom-bar{gap:20px}.workbench-heading h2{font-size:33px}.scene-label{top:116px}.instrument{gap:10px}.instrument strong{font-size:12px}}
@media(max-width:760px){.top-bar{top:19px}.identity{font-size:11px;gap:8px}.identity-mark,.identity-mark svg{width:26px}.place-name{font-size:8px;letter-spacing:.18em;left:53%}.place-sub{font-size:9px}.top-actions{gap:12px}.top-actions button{font-size:8px;gap:6px}.top-actions #info-toggle{width:29px;min-height:29px}.top-actions svg{width:15px}.scene-label{top:96px;font-size:6px}.scene-label span:last-child{font-size:5px}.intro{top:25%;width:280px}.intro h1{font-size:67px}.intro .eyebrow{font-size:7px;letter-spacing:.11em}.intro-copy{font-size:13px}.enter-button{margin-top:25px}.intro-hint{font-size:7px}.edition strong{font-size:12px}.edition span{font-size:6px}.bottom-bar{bottom:18px}.view-controls button{padding:8px 9px;font-size:8px;min-height:34px}.view-controls .motion-label{display:none}.workbench{top:130px;width:210px}.workbench-heading h2{font-size:30px}.workbench-heading p{font-size:10px;max-width:180px}.instruments{margin-top:23px}.instrument{padding:13px 5px 14px 0}.instrument strong{font-size:11px}.instrument small{font-size:8px;max-width:140px}.focus-card{width:230px;padding:16px;bottom:95px;right:var(--pad)}.focus-card h2{font-size:21px}.focus-card>p{font-size:10px}.field-readout{font-size:5px}.focus-card label{font-size:7px}.experience-dialog{width:96vw;height:94vh}.experience-dialog>header{padding:12px 16px;height:100px;gap:10px}.experience-dialog h2{font-size:21px}.experience-actions{flex-direction:column;gap:6px;align-items:flex-end;font-size:9px}.experience-actions button{font-size:9px;padding:7px 10px;min-height:38px}.experience-actions button span{margin-left:10px}.experience-help{font-size:6px;padding:9px 12px}#experience-content{height:calc(100% - 133px)}}
@media(max-width:520px){:root{--pad:20px}.top-bar{top:18px}.place-name{display:none}.scene-label{right:20px;top:90px}.intro{top:auto;bottom:145px;width:85%}.intro h1{font-size:66px;margin-top:18px}.intro-copy{margin-top:17px;font-size:13px}.intro-copy br{display:none}.enter-button{min-height:47px;padding:11px 15px;gap:70px;margin-top:23px}.intro-hint{margin-top:12px}.intro .eyebrow{font-size:7px}.screen-shade{background:linear-gradient(0deg,#0a2432dd 0%,#0a2432a8 35%,#0a243200 73%),linear-gradient(180deg,#0a243255,transparent 20%)}.bottom-bar{align-items:flex-end;bottom:14px;left:15px;right:15px;gap:10px}.edition{gap:4px}.edition span{font-size:5px;letter-spacing:.03em}.edition strong{font-size:9px;letter-spacing:.09em}.view-controls{padding:2px;gap:0}.view-controls button{font-size:7px;padding:7px;min-height:32px}.control-divider{margin:0 2px}.workbench{top:96px;left:20px;width:calc(100% - 40px)}.workbench-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.workbench-heading>.eyebrow{font-size:7px;max-width:85px}.workbench-heading h2{font-size:23px;text-align:right;margin:0}.workbench-heading h2 br{display:none}.workbench-heading p{display:none}.instruments{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:16px}.instrument{display:block;background:#092c399c;backdrop-filter:blur(8px);border:1px solid #d7f5ed36;padding:8px 9px!important;min-height:64px}.instrument.active{border-color:#a7ffe996;background:#0b3541b0}.instrument-num{display:block;font-size:6px;margin-bottom:5px}.instrument strong{font-size:10px;line-height:1.25;font-weight:400}.instrument small,.instrument-arrow{display:none}.focus-card{left:20px;right:20px;bottom:77px;width:auto;padding:15px 17px;max-height:42vh;overflow-y:auto}.focus-card h2{font-size:22px;margin-top:10px}.focus-card>p{font-size:10px;margin-top:7px;max-width:300px}.focus-top{font-size:6px}.focus-card label{margin-top:12px}.project-button{min-height:40px;margin-top:14px;font-size:10px;padding:8px 12px}#coherence{margin:8px 0}.field-readout{font-size:6px}.scene-hotspot{display:none}.entered .scene-label{display:none}.entered .screen-shade{background:linear-gradient(0deg,#0a2432b0,transparent 45%),linear-gradient(180deg,#0a243299,transparent 32%)}.about-dialog{padding:32px 25px}.about-dialog h2{font-size:37px}.experience-dialog>header{padding:10px 12px}.experience-dialog h2{font-size:19px}.experience-dialog .eyebrow{font-size:5px;max-width:120px}.experience-actions{font-size:8px}.experience-actions button{font-size:8px}.experience-help{font-size:6px;line-height:1.4}#experience-content{height:calc(100% - 141px)}}
@media(max-height:600px) and (min-width:521px){.intro{top:21%}.intro h1{font-size:52px;margin-top:15px}.intro-copy{font-size:12px;margin-top:14px}.enter-button{margin-top:18px;min-height:43px}.intro-hint{display:none}.workbench{top:115px}.workbench-heading h2{font-size:27px}.instruments{margin-top:16px}.instrument{padding:10px 0}.focus-card{bottom:78px}.focus-card label{margin-top:12px}.scene-label{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.experience-poster{width:100%;height:100%;position:relative}.experience-poster>img{width:100%;height:100%;object-fit:contain}.launch-experience{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;align-items:center;min-height:48px;padding:13px 25px;background:var(--cyan);color:#123238;box-shadow:0 5px 35px #001a2877;font:12px DM,sans-serif}.launch-experience:hover{background:white}.capture-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:11px 0 0;margin-top:3px;font:9px DM,sans-serif;color:var(--dim);min-height:34px}.capture-button:hover{color:var(--cyan)}
@media(max-width:520px){.capture-button{padding-top:6px;min-height:29px;font-size:8px}.launch-experience{bottom:22px;font-size:10px;padding:12px 15px}.focus-card{max-height:43vh}}
/* The instruments are light and reactive surfaces; semantic controls stay native underneath. */
.enter-button{border:0;background:transparent;backdrop-filter:none;padding:0;gap:19px;position:relative;min-height:70px}.enter-button:hover{background:transparent;color:var(--cream);gap:23px}.enter-button .enter-orb{width:64px;height:64px;position:relative;display:grid;place-items:center;flex-shrink:0;border:1px solid #baffed70;border-radius:50%;box-shadow:0 0 18px #8affcf22,inset 0 0 20px #9affa92a;background:radial-gradient(circle at 33% 30%,#ffffffb0 0%,#96f7e759 13%,#8cf9df0a 47%,#92ffe846 75%,transparent 80%);transition:transform .5s,box-shadow .5s}.enter-orb:before,.enter-orb:after{content:'';position:absolute;inset:7px;border-radius:50%;border:1px solid #cefff764;transform:rotateX(52deg) rotateZ(-35deg)}.enter-orb:after{transform:rotateY(56deg) rotateZ(25deg);inset:-7px;border-color:#cefff732}.enter-orb i{width:14px;height:14px;border:1px solid var(--cyan);transform:rotate(45deg);box-shadow:0 0 15px #b5ffe4}.enter-button:hover .enter-orb{transform:scale(1.1);box-shadow:0 0 35px #8affcf45,inset 0 0 20px #9affa946}.enter-button .enter-copy{font:400 13px DM,sans-serif;line-height:1.3}.enter-copy small{display:block;font:6px Mono,monospace;letter-spacing:.13em;color:var(--cyan);margin-top:9px}.enter-button .enter-chevron{font-size:20px;margin-left:8px;color:var(--cyan)}
.instruments{gap:8px}.instrument{border-top:0;position:relative;border-radius:0 25px 25px 0;padding:16px 18px 17px 6px;background:linear-gradient(90deg,transparent,#adffed09 40%,#adffed0b);border-bottom:1px solid #aaf6e124}.instrument:before{content:'';width:29px;height:29px;border:1px solid #b8ffee38;border-radius:50%;position:absolute;left:-2px;top:17px;transform:rotate(-30deg) scaleX(.86);box-shadow:inset 0 0 9px #acffe617}.instrument-num{min-width:24px;text-align:center;color:var(--cyan);font-size:7px}.instrument.active{background:linear-gradient(90deg,#aaffed0a,#aaffed14 50%,transparent);border-color:#aaffed62}.instrument.active:before{border-color:#aaffed9c;box-shadow:0 0 13px #abffec2e,inset 0 0 9px #acffe64a}.instrument:hover{background:linear-gradient(90deg,#aaffed12,#aaffed20 50%,transparent)}
.focus-card{background:linear-gradient(120deg,#133e4be0,#123944c4 65%,#123b45b0);border:0;border-radius:35px 3px 30px 3px;box-shadow:inset 1px 1px 0 #bdffed65,inset -1px -1px 0 #b5ffe626,0 15px 50px #0723332b;padding:23px;backdrop-filter:blur(14px)}.focus-card:before{content:'';position:absolute;left:14px;right:14px;top:8px;bottom:8px;border:1px solid #b5ffe51d;border-radius:24px 1px 22px 1px;pointer-events:none}.focus-top{position:relative}.focus-card h2{font-size:23px}.focus-card>p{font-size:11px}.orb-control{height:122px;width:180px;position:relative;margin:14px auto 9px;display:grid;place-items:center;perspective:400px}.orb-control #coherence{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:3;cursor:ew-resize;touch-action:none;margin:0}.orb-control:focus-within{outline:1px solid var(--cyan);outline-offset:8px;border-radius:50%}.liquid-orb{width:106px;height:106px;border-radius:49% 51% 45% 55%/56% 44% 56% 44%;position:relative;border:1px solid #b4ffe698;background:radial-gradient(ellipse at 34% 22%,#e8fffbf0 0%,#b5fbea72 6%,#8bf8da25 22%,#71dcdb12 42%,#54d0cb6b 70%,#bcffe0a6 94%);box-shadow:0 0 24px #4affe026,inset 0 0 20px #9affdf4d;transition:transform .2s}.liquid-orb:after{content:'';position:absolute;inset:8px;border-radius:50%;border-bottom:1px solid #d4fffdbb;transform:rotate(-30deg)}.liquid-orb svg{width:100%;height:100%;fill:none;stroke:#c1fff58c;stroke-width:.7}.liquid-orb svg circle{stroke-dasharray:1 5;opacity:.6}.orb-specular{position:absolute;top:12px;left:20px;width:31px;height:10px;border-radius:50%;background:#e8fffacc;filter:blur(4px);transform:rotate(-28deg)}.orb-orbit{position:absolute;inset:10px 13px;border:1px solid #a7fff54d;border-radius:50%;transform:rotate(-26deg);box-shadow:0 0 8px #7affc911}.orb-orbit:after{content:'';width:4px;height:4px;border-radius:50%;background:var(--cyan);position:absolute;left:19px;top:8px;box-shadow:0 0 10px var(--cyan)}.orbit-b{inset:20px 0;transform:rotate(27deg);border-style:dotted}.orb-axis{position:absolute;top:55px;font:11px Mono,monospace;color:var(--cyan);opacity:.65}.axis-left{left:-11px}.axis-right{right:-11px}.gesture-hint{font:7px/1.5 Mono,monospace;color:#c1dfdcae;text-align:center;margin-top:8px}.field-readout{font-size:6px}.project-button{background:transparent;border-top:1px solid #aeffe146;border-bottom:1px solid #aeffe124;color:var(--cyan);gap:10px;padding:10px 0;justify-content:flex-start;min-height:57px;margin-top:18px}.project-button:hover{background:linear-gradient(90deg,transparent,#aeffe117,transparent)}.project-button .action-seal{border:1px solid #c4ffeb75;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;font-size:20px;flex-shrink:0;box-shadow:inset 0 0 12px #b7ffdf1c}.project-button>span:nth-child(2){font:400 11px/1.4 DM,sans-serif}.project-button small{display:block;font:5px/1.5 Mono,monospace;letter-spacing:.15em;margin-top:3px;color:#b5e9dc80}.project-button>span:last-child{margin-left:auto;font-size:22px}.capture-button{padding-top:8px;min-height:33px}.view-controls{background:transparent;backdrop-filter:none;border:0;gap:12px;padding:0}.view-controls button{border-radius:50%;width:43px;height:43px;min-height:43px;border:1px solid #c5ffe84a;background:#143a416b;backdrop-filter:blur(12px);padding:4px;font:7px Mono,monospace;box-shadow:inset 0 0 10px #aaffea18}.view-controls button.active{background:radial-gradient(circle,#a8ffe72e,#a8ffe70c);border-color:#c5ffe8b3;color:var(--cyan);box-shadow:0 0 14px #7effd821,inset 0 0 12px #aaffea25}.view-controls button:hover{background:#a8ffe733}.view-controls #light-toggle{width:56px;border-radius:50%;font-size:6px}.view-controls #motion-toggle{justify-content:center}.view-controls .motion-label{display:none}.control-divider{height:20px;background:#c5ffe82b}.top-actions button{border-radius:25px;min-height:40px;padding:5px 8px;background:#12333a17}.top-actions #info-toggle{background:transparent;border-color:#d1ffeb73}.top-actions button:hover{box-shadow:inset 0 0 18px #bbffe825}.quiet-link{font-size:9px}
@media(max-width:760px){.focus-card{padding:19px}.orb-control{height:107px;margin:9px auto 7px;width:160px}.liquid-orb{width:90px;height:90px}.orb-axis{top:48px}.project-button{margin-top:13px;min-height:51px}.focus-card h2{font-size:21px}.instrument{padding:14px 11px 15px 5px}.instrument:before{top:14px}.view-controls{gap:8px}.view-controls button{width:38px;height:38px;min-height:38px}.view-controls #light-toggle{width:47px}.enter-button .enter-orb{width:58px;height:58px}.enter-button .enter-copy{font-size:12px}}
@media(max-width:520px){.workbench-heading{align-items:center}.workbench-heading>.eyebrow{font-size:6px}.instruments{gap:7px}.instrument{border-radius:19px 3px 18px 3px;min-height:66px;padding:9px 11px!important;border:1px solid #b8ffe64d;background:#143b49aa}.instrument:before{display:none}.instrument-num{text-align:left;font-size:6px;margin-bottom:6px}.instrument.active{background:#195257cc;border-color:#b8ffe68f}.focus-card{max-height:43vh;padding:15px 19px;overflow-y:auto;border-radius:28px 2px 27px 2px}.focus-card h2{font-size:21px;margin-top:9px}.focus-card>p{font-size:9px;line-height:1.5;margin-top:6px}.orb-control{height:76px;width:147px;margin:5px auto 3px}.liquid-orb{width:70px;height:70px}.orb-axis{top:31px}.orb-orbit{inset:4px 20px}.orbit-b{inset:10px 9px}.orb-specular{top:10px;left:14px;width:20px;height:6px}.field-readout{font-size:5px}.gesture-hint{font-size:6px;margin-top:6px}.project-button{min-height:42px;margin-top:10px;padding:6px 0}.project-button .action-seal{width:29px;height:29px;font-size:18px}.project-button>span:nth-child(2){font-size:10px}.project-button small{font-size:4px}.capture-button{min-height:25px;font-size:7px;padding-top:5px}.view-controls{gap:6px}.view-controls button{width:34px;height:34px;min-height:34px;font-size:6px}.view-controls #light-toggle{width:40px;font-size:5px}.view-controls #motion-toggle span{font-size:10px}.control-divider{margin:0;height:14px}.edition span{font-size:4px}.intro{bottom:128px}.enter-button{gap:18px;margin-top:22px}.enter-button .enter-orb{width:58px;height:58px}.enter-button .enter-copy{font-size:12px}.intro-hint{margin-top:13px}.intro h1{font-size:62px}}
@media(max-height:600px) and (min-width:521px){.top-bar{top:16px}.workbench{top:100px}.workbench-heading>.eyebrow{font-size:6px}.workbench-heading h2{font-size:23px;margin-top:10px}.workbench-heading p{display:none}.instruments{margin-top:14px;gap:4px}.instrument{padding-top:10px;padding-bottom:10px;min-height:43px}.instrument:before{top:9px;width:25px;height:25px}.instrument small{font-size:7px;margin-top:3px}.instrument strong{font-size:10px}.focus-card{bottom:74px;max-height:calc(100svh - 162px);overflow-y:auto;padding:16px 20px}.focus-card h2{font-size:20px;margin-top:10px}.focus-card>p{font-size:9px;line-height:1.5}.orb-control{height:82px;width:145px;margin:7px auto}.liquid-orb{width:73px;height:73px}.orb-axis{top:35px}.gesture-hint{font-size:6px}.project-button{min-height:45px;margin-top:12px}.bottom-bar{bottom:15px}.scene-hotspot{display:none}.intro{top:22%}.intro h1{font-size:48px}.intro-copy{font-size:11px}.enter-button{min-height:53px;margin-top:16px}.enter-button .enter-orb{width:48px;height:48px}.enter-button .enter-copy{font-size:11px}.intro-hint{display:none}}
/* Keep the wordmark legible against changing sky and illuminated architecture. */
.top-bar{text-shadow:0 1px 10px #092d36aa}.top-bar:before{content:'';position:absolute;z-index:-1;left:calc(-1 * var(--pad));right:calc(-1 * var(--pad));top:-30px;height:125px;background:linear-gradient(#06212d44,transparent);pointer-events:none}
/* Spatial interface: project labels are attached to 3D instruments; films unfold from the core. */
body:not(.text-controls) .accessibility-controls{display:none!important}.text-controls .accessibility-controls[hidden]{display:none!important}#world-controls{position:fixed;inset:0;z-index:7;pointer-events:none}.world-label{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:11px;pointer-events:auto;padding:10px;min-width:70px;min-height:55px;text-shadow:0 1px 8px #06343c,0 0 15px #072633;background:none}.world-node{width:15px;height:15px;border:1px solid #d3ffef;border-radius:50%;box-shadow:0 0 14px #80ffe293;position:relative;transition:transform .25s}.world-node:after{content:'';position:absolute;width:5px;height:5px;left:4px;top:4px;background:#d3ffef;border-radius:50%}.world-caption{font:7px/1.5 Mono,monospace;letter-spacing:.11em;color:#effff6;white-space:nowrap;transition:letter-spacing .25s}.world-label:hover .world-node{transform:scale(1.4);box-shadow:0 0 25px #8affdd}.world-label:hover .world-caption{letter-spacing:.15em}.world-label:focus-visible{outline:1px solid #d3ffef;outline-offset:0;border-radius:50%}.world-gesture-hint{position:absolute;left:50%;bottom:98px;transform:translateX(-50%);font:7px/1.6 Mono,monospace;letter-spacing:.15em;white-space:nowrap;text-shadow:0 1px 8px #06262e;color:#e6fff1b5}.world-return{position:absolute;bottom:105px;left:50%;transform:translateX(-50%);pointer-events:auto;display:flex;align-items:center;gap:18px;font:10px DM,sans-serif;text-shadow:0 1px 8px #06262e;color:var(--cyan);min-height:48px;background:radial-gradient(ellipse,#082d35c7,transparent 75%);padding:8px 30px}.world-return>span{font-size:29px}.world-return:hover{color:white}.entered .screen-shade{background:linear-gradient(0deg,#07273470,transparent 22%,transparent 87%,#082a3455)}.inworld-projection{width:1080px;height:754px;pointer-events:auto;color:#d8fff1;position:relative;backface-visibility:hidden;box-shadow:0 0 0 1px #b5ffed22,0 0 34px #96ffe026;background:transparent;font-family:DM,Arial,sans-serif}.inworld-projection:before,.inworld-projection:after{content:'';position:absolute;pointer-events:none;inset:-15px;border-top:2px solid #c1ffe9a8;border-bottom:2px solid #c1ffe958;clip-path:polygon(0 0,12% 0,12% 4%,88% 4%,88% 0,100% 0,100% 100%,88% 100%,88% 96%,12% 96%,12% 100%,0 100%)}.inworld-projection:after{inset:-22px 0;border-left:2px solid #c1ffe978;border-right:2px solid #c1ffe978;clip-path:polygon(0 0,100% 0,100% 14%,98% 14%,98% 86%,100% 86%,100% 100%,0 100%,0 86%,2% 86%,2% 14%,0 14%)}.inworld-projection>header{display:flex;align-items:center;gap:18px;height:49px;padding:0 20px;font:12px Mono,monospace;letter-spacing:.08em;background:linear-gradient(90deg,#103844f2,#103844bf);border-bottom:1px solid #bcffe93d}.projection-glyph{font-size:24px}.projection-live{margin-left:auto;font-size:9px;letter-spacing:.12em;color:#b9ddda}.projection-body{height:656px;background:#10212b;position:relative}.projection-body iframe{width:100%;height:100%;display:block;border:0}.projection-body img{width:100%;height:100%;object-fit:contain}.inworld-projection>footer{height:49px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:linear-gradient(90deg,#103844e8,#1038449c);font:10px Mono,monospace;letter-spacing:.015em}.inworld-projection>footer a{font:13px DM,sans-serif;color:#cbffee;padding:10px 0}.inworld-projection>footer a:hover{color:white}.projection-open .scene-label,.projection-open .scene-hotspot{display:none}.projection-open .screen-shade{background:linear-gradient(0deg,#10252c80,transparent 20%,transparent 80%,#10252c30)}.text-controls-toggle{padding:12px 0;margin:5px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--cyan)}
@media(max-width:520px){.world-caption{font-size:6px;letter-spacing:.025em}.world-label{gap:8px;padding:8px;min-height:48px}.world-node{width:12px;height:12px}.world-node:after{width:4px;height:4px;left:3px;top:3px}.world-gesture-hint{bottom:87px;font-size:5px;letter-spacing:.06em}.world-return{bottom:89px;gap:10px;font-size:9px;white-space:nowrap;padding:6px 10px}.world-return>span{font-size:23px}.entered .screen-shade{background:linear-gradient(0deg,#102d3480,transparent 26%,transparent 90%,#102d3455)}}
.inworld-projection .projection-fold{width:35px;height:35px;border:1px solid #c1ffe980;border-radius:50%;margin-left:15px;font:24px DM,sans-serif;line-height:1;display:grid;place-items:center;color:#d5fff2;box-shadow:inset 0 0 12px #aaffde27}.inworld-projection .projection-fold:hover{background:#b5ffe524}.world-caption{font-size:9px}.world-gesture-hint{font-size:8px}
@media(max-width:520px){.world-caption{font-size:7px}.world-gesture-hint{font-size:5px}}
/* The film is a material in the room, not a framed web viewport. */
.inworld-projection.dissolved-projection{background:none;box-shadow:none;width:1080px;height:754px}.inworld-projection.dissolved-projection:before,.inworld-projection.dissolved-projection:after{display:none}.dissolved-projection>header{position:absolute;top:8px;right:35px;padding:0;height:50px;background:none!important;border:0;z-index:3}.dissolved-projection>header>span{display:none}.dissolved-projection>footer{display:none}.dissolved-projection .projection-body{height:100%;background:transparent}.dissolved-projection .projection-body iframe{background:transparent}.dissolved-projection .projection-fold{width:43px;height:43px;background:radial-gradient(circle,#3b85847a,#163e4729);box-shadow:0 0 20px #a2ffdf33,inset 0 0 14px #a7ffdf24}
.film-engine{position:fixed;left:-12000px;top:0;width:1080px;height:675px;border:0;pointer-events:none;opacity:0}.world-source-link{position:absolute;right:var(--pad);bottom:107px;pointer-events:auto;font:7px Mono,monospace;letter-spacing:.1em;color:#d9fff1a8;padding:12px 0;text-shadow:0 1px 8px #073239}.world-source-link:hover{color:white}.projection-open .world-gesture-hint{font-size:8px;letter-spacing:.10em;background:radial-gradient(ellipse,#0b303dbd,transparent 76%);padding:12px 25px;bottom:104px}.world-return,.inworld-projection,#projected-world{display:none!important}
@media(max-width:520px){.world-source-link{right:20px;bottom:113px;font-size:5px}.projection-open .world-gesture-hint{font-size:5px;bottom:81px;padding:12px 3px;letter-spacing:.03em}}
/* A shared finish for the pavilion's projected captions and small instruments. */
:root {
  --instrument-ivory: #f5f1e5;
  --instrument-teal: #c6f2df;
  --instrument-bronze: #dfc69a;
  --instrument-ink: #092f36;
  --instrument-haze: radial-gradient(ellipse, #092f36e0 0%, #092f36b3 44%, #092f3600 76%);
  --instrument-shadow: 0 1px 2px #092f36, 0 0 5px #092f36;
}
.identity { min-height: 44px; font-size: 15px; }
.place-name { font-size: 11px; letter-spacing: .2em; }
.place-sub { font-size: 12px; color: var(--instrument-ivory); }
.status-light { background: var(--instrument-teal); box-shadow: 0 0 7px #c6f2df66; }
.top-actions { gap: 12px; }
.top-actions button {
  min-height: 44px;
  padding: 8px 12px;
  font: 12px/1.3 DM, sans-serif;
  color: var(--instrument-ivory);
  background: var(--instrument-haze);
}
.top-actions #info-toggle {
  width: 44px;
  min-height: 44px;
  padding: 0;
  border-color: #dfc69a8c;
  background: #092f36c2;
  font: 18px/1 DM, sans-serif;
}
.top-actions button:hover { box-shadow: none; color: #fff; }
.top-actions button[aria-pressed="true"] { color: var(--instrument-teal); }
.top-actions button[aria-pressed="true"] svg { stroke: var(--instrument-teal); }
.intro .eyebrow { font-size: 10px; letter-spacing: .13em; }
.intro-hint { font: 11px/1.5 DM, sans-serif; color: var(--instrument-ivory); }
.enter-copy small { font-size: 9px; letter-spacing: .1em; color: var(--instrument-teal); }
.enter-button .enter-orb { box-shadow: inset 0 0 18px #c6f2df26, 0 0 14px #c6f2df1a; }
.enter-button:hover .enter-orb { transform: scale(1.06); box-shadow: inset 0 0 18px #c6f2df40, 0 0 20px #c6f2df29; }
.enter-orb i { box-shadow: 0 0 8px #c6f2df66; }
.world-label {
  min-width: 80px;
  min-height: 64px;
  max-width: min(220px, calc(100vw - 24px));
  padding: 8px;
  gap: 2px;
  border-radius: 0;
  color: var(--instrument-ivory);
  text-shadow: none;
  touch-action: none;
}
.world-caption {
  padding: 7px 14px;
  font: 500 12px/1.45 DM, sans-serif;
  letter-spacing: .055em;
  white-space: normal;
  text-wrap: balance;
  text-align: center;
  color: var(--instrument-ivory);
  background: var(--instrument-haze);
  text-shadow: var(--instrument-shadow);
  transition: color .2s ease;
}
.world-node {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  border-color: var(--instrument-teal);
  background: #092f363d;
  box-shadow: 0 0 8px #c6f2df40;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.world-node::after {
  width: 4px;
  height: 4px;
  left: 5px;
  top: 5px;
  background: var(--instrument-teal);
}
.world-node::before {
  content: '';
  position: absolute;
  inset: -5px;
  border: 1px solid transparent;
  border-bottom-color: #dfc69a99;
  border-radius: 50%;
}
.world-label:hover .world-node,
.world-label[aria-pressed="true"] .world-node {
  transform: scale(1.2);
  border-color: var(--instrument-bronze);
  box-shadow: 0 0 10px #c6f2df66;
}
.world-label:hover .world-caption { letter-spacing: .055em; color: #fff; }
.world-label:active .world-node { transform: scale(.9); }
.world-label:focus-visible {
  outline: 2px solid var(--instrument-ivory);
  outline-offset: 2px;
  border-radius: 8px;
  box-shadow: 0 0 0 5px var(--instrument-ink);
}
.world-gesture-hint,
.projection-open .world-gesture-hint {
  width: max-content;
  max-width: min(660px, calc(100vw - 40px));
  padding: 12px 24px;
  bottom: 92px;
  font: 400 11px/1.5 DM, sans-serif;
  letter-spacing: .025em;
  white-space: normal;
  text-wrap: balance;
  text-align: center;
  color: var(--instrument-ivory);
  background: var(--instrument-haze);
  text-shadow: var(--instrument-shadow);
}
.world-source-link {
  bottom: 100px;
  max-width: min(300px, calc(100vw - 40px));
  min-height: 44px;
  padding: 12px 16px;
  font: 500 11px/1.5 DM, sans-serif;
  letter-spacing: .035em;
  text-align: center;
  color: var(--instrument-teal);
  background: var(--instrument-haze);
  text-shadow: var(--instrument-shadow);
}
.world-source-link:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.view-controls { gap: 10px; }
.view-controls button {
  width: 48px;
  height: 48px;
  min-height: 48px;
  flex: 0 0 auto;
  padding: 4px;
  border: 1px solid #dfc69a7a;
  border-radius: 50%;
  font: 500 10px/1.25 DM, sans-serif;
  color: var(--instrument-ivory);
  background: #092f36c2;
  backdrop-filter: blur(6px);
  text-shadow: 0 1px 2px #092f36;
  box-shadow: inset 0 1px 0 #f5f1e51a;
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
}
.view-controls #light-toggle { width: 60px; height: 60px; font-size: 10px; }
.view-controls #light-toggle > span { display: block; margin-bottom: 2px; font-size: 15px; }
.view-controls #motion-toggle > span { font-size: 17px; }
.view-controls button.active,
.view-controls button[aria-pressed="true"] {
  color: var(--instrument-teal);
  border-color: var(--instrument-teal);
  background: #123d43d9;
  box-shadow: inset 0 -3px 0 #c6f2df80;
}
.view-controls button:hover { color: #fff; border-color: var(--instrument-ivory); background: #123d43d9; }
.view-controls button:active { transform: scale(.94); }
.top-actions button:focus-visible,
.view-controls button:focus-visible,
.identity:focus-visible,
.world-source-link:focus-visible,
.enter-button:focus-visible {
  outline: 2px solid var(--instrument-ivory);
  outline-offset: 4px;
  box-shadow: 0 0 0 6px var(--instrument-ink);
}
.control-divider { height: 20px; margin: 0 2px; background: #dfc69a59; }
.edition span { font-size: 9px; letter-spacing: .1em; }
.coordinates { font-size: 9px; }
.scene-label { font-size: 10px; color: var(--instrument-ivory); text-shadow: var(--instrument-shadow); }
.scene-label span:last-child { font-size: 9px; opacity: 1; }
.bottom-bar { bottom: max(24px, env(safe-area-inset-bottom)); }

@media (max-width: 760px) {
  .place-name { font-size: 10px; letter-spacing: .12em; }
  .place-sub { font-size: 10px; }
  .identity { font-size: 12px; }
  .top-actions { gap: 8px; }
  .top-actions button { font-size: 11px; padding: 8px; }
  .world-source-link { bottom: 144px; }
  .world-gesture-hint,
  .projection-open .world-gesture-hint { bottom: 92px; font-size: 11px; }
  .view-controls { gap: 8px; }
  .view-controls button { width: 44px; height: 44px; min-height: 44px; }
  .view-controls #light-toggle { width: 56px; height: 56px; }
}
@media (max-width: 520px) {
  .top-bar { top: max(14px, env(safe-area-inset-top)); gap: 8px; }
  .top-actions { gap: 4px; }
  .top-actions button { max-width: 130px; }
  .intro .eyebrow { font-size: 9px; }
  .intro-hint { font-size: 10px; }
  .world-label { min-height: 64px; max-width: 152px; gap: 2px; padding: 6px; }
  .world-caption { padding: 7px 10px; font-size: 11px; letter-spacing: .025em; }
  .world-label:hover .world-caption { letter-spacing: .025em; }
  .world-gesture-hint,
  .projection-open .world-gesture-hint {
    bottom: max(86px, calc(env(safe-area-inset-bottom) + 66px));
    max-width: calc(100vw - 24px);
    padding: 10px 16px;
    font-size: 10px;
    letter-spacing: 0;
  }
  .world-source-link {
    left: 50%;
    right: auto;
    bottom: max(136px, calc(env(safe-area-inset-bottom) + 116px));
    transform: translateX(-50%);
    width: max-content;
    font-size: 10px;
    letter-spacing: .015em;
  }
  .bottom-bar { justify-content: center; bottom: max(16px, env(safe-area-inset-bottom)); }
  .edition, .coordinates { display: none; }
  .view-controls { gap: 12px; }
  .view-controls button { font-size: 10px; }
  .scene-label { top: 88px; font-size: 9px; }
  .scene-label span:last-child { font-size: 8px; }
}

/* The film owns the whole view, including keyboard and pointer focus. */
.top-bar, .bottom-bar, .world-source-link, .world-gesture-hint, .screen-shade {
  transition: opacity .6s ease, visibility .6s ease;
}
.sky-active :is(.top-bar, .bottom-bar, .scene-label, .scene-hotspot, .world-source-link, .screen-shade, .intro, .accessibility-controls) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sky-active .world-gesture-hint {
  bottom: max(16px, env(safe-area-inset-bottom));
  background: none;
  font-size: 10px;
  opacity: 0;
  pointer-events: none;
  animation: sky-hint-recede 4s ease both;
}
.sky-active[data-projection="paused"] .world-gesture-hint,
.sky-active[data-dock-ready="true"] .world-gesture-hint {
  opacity: .9;
  animation: none;
}
@keyframes sky-hint-recede {
  0%, 65% { opacity: .9; }
  100% { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .sky-active .world-gesture-hint { opacity: .75; }
}

#world:focus{outline:none}
.room-navigated:not(.projection-open) .world-gesture-hint{opacity:0;visibility:hidden;pointer-events:none}
.bottom-bar{justify-content:center}
.world-caption{background:transparent;border-bottom:1px solid #164d55a8;color:#0a333b;text-shadow:none;filter:none;font-weight:600}
.world-gesture-hint,.projection-open .world-gesture-hint{background:transparent;border:0;border-top:1px solid #17495066;border-bottom:1px solid #17495066;color:#092f36;text-shadow:none;box-shadow:none;backdrop-filter:none}
.world-source-link{background:transparent;border:0;border-bottom:1px solid currentColor;color:var(--instrument-ivory);text-shadow:none;box-shadow:none;backdrop-filter:none}
.blue-hour .world-caption{border-bottom-color:#c6f2df99;color:var(--instrument-ivory)}
.blue-hour .world-gesture-hint,.blue-hour.projection-open .world-gesture-hint{background:transparent;border-color:#c6f2df66;color:var(--instrument-ivory)}
.blue-hour .world-source-link{background:transparent;border-color:#c6f2df66;color:var(--instrument-ivory)}
@media(max-width:520px){.world-caption{padding:5px 8px;background:#f5f1e5d9;border:1px solid #17495066;color:#092f36}.blue-hour .world-caption{background:#092f36df;border-color:#c6f2df66;color:var(--instrument-ivory)}}
.world-label[data-world-control="return-workshop"]{min-width:190px;gap:5px}
.world-label[data-world-control="return-workshop"] .world-node{width:22px;height:22px;flex-basis:22px;border-width:2px;box-shadow:0 0 0 5px #c6f2df20,0 0 18px #7effd850}
.world-label[data-world-control="return-workshop"] .world-node:after{left:7px;top:7px;width:6px;height:6px}
.world-label[data-world-control="return-workshop"] .world-caption{font-weight:700;letter-spacing:.09em}

/* A single threshold: the room is the hero, the reactor grants entry. */
body:not(.entered) :is(.place-name,.top-actions,.bottom-bar,.scene-hotspot){visibility:hidden;pointer-events:none}
body:not(.entered) .top-bar:before{display:none}
body:not(.entered) .screen-shade{background:linear-gradient(180deg,#062832eb 0%,#062832c7 23%,#06283205 42%,transparent 65%,#062832ba 84%,#062832ed 100%)}
.reactor-intro{position:fixed;inset:0;width:100%;max-width:none;pointer-events:none;transform:none}
.welcome-copy{position:absolute;top:clamp(78px,13vh,150px);left:24px;right:24px;text-align:center;color:#f5f1e5;transition:opacity .45s ease,transform .65s ease}
.reactor-intro h1{margin:0;font:500 clamp(32px,4.4vw,64px)/1.08 DM,Arial,sans-serif;letter-spacing:-.045em;text-shadow:none}
.reactor-intro h1 em{font:600 italic 1.04em/1.08 Playfair,Georgia,serif;letter-spacing:-.045em}
.welcome-subtitle{margin:16px auto 0;font:400 clamp(13px,1.2vw,17px)/1.55 DM,Arial,sans-serif;color:#edf5ed;max-width:520px}
.shipping-punch{color:#c2ffe9;white-space:nowrap;font-weight:700}
.reactor-entry{position:absolute;left:50%;bottom:max(20px,5svh,env(safe-area-inset-bottom));transform:translateX(-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;padding:4px 24px 10px;min-width:232px;background:none;border:0;color:#edfff7;isolation:isolate;touch-action:manipulation}
.entry-reactor{width:clamp(86px,14svh,122px);height:clamp(86px,14svh,122px);overflow:visible;transition:transform .35s ease}
.reactor-entry-label{font:500 14px/1.5 DM,Arial,sans-serif;letter-spacing:.06em;margin-top:5px}
.reactor-entry-status{font:400 9px/1.6 Mono,monospace;letter-spacing:.15em;margin-top:5px;color:#c2ffe9}
.reactor-aura{opacity:.20;transform-origin:90px 90px;animation:reactor-breathe 3.4s ease-in-out infinite}
.reactor-outer{fill:none;stroke:#b3efdc;stroke-width:.75;opacity:.76;transform-origin:90px 90px;animation:reactor-turn 24s linear infinite}
.reactor-trace{stroke-width:2;stroke-dasharray:32 10 1 9}
.reactor-coils{fill:#093f48bb;stroke:#c2ffe9;stroke-width:.8;transform-origin:90px 90px;animation:reactor-turn 36s linear infinite reverse}
.coil-filament{fill:none;stroke:#9bfce0;stroke-width:1.2}
.reactor-iris{fill:#092d3677;stroke:#b9ffe8;stroke-width:1;transform-origin:90px 90px}
.reactor-heart{fill:#d4fff1;stroke:#eafff7;opacity:.85}
.reactor-release{fill:none;stroke:#b9ffe8;stroke-width:.8;opacity:0;transform-origin:90px 90px}
.reactor-entry:hover .entry-reactor{transform:scale(1.075)}
.reactor-entry:hover .reactor-aura{opacity:.45}
.reactor-entry:focus-visible{outline:2px solid #c2ffe9;outline-offset:6px;border-radius:8px}
.reactor-entry:active .entry-reactor{transform:scale(.96)}
.reactor-entry:disabled{cursor:progress;opacity:1}
.entry-unlocking .welcome-copy{opacity:0;transform:translateY(-12px)}
.entry-unlocking .reactor-outer{animation:reactor-unlock .85s cubic-bezier(.2,.7,.2,1) both}
.entry-unlocking .reactor-coils{animation:reactor-unlock .85s cubic-bezier(.2,.7,.2,1) reverse both}
.entry-unlocking .reactor-iris{animation:reactor-ignite .85s ease-in both}
.entry-unlocking .reactor-release{animation:reactor-release .85s ease-out both}
@keyframes reactor-turn{to{transform:rotate(360deg)}}
@keyframes reactor-breathe{50%{opacity:.4;transform:scale(1.07)}}
@keyframes reactor-unlock{to{transform:rotate(120deg) scale(.78);opacity:0}}
@keyframes reactor-ignite{40%{transform:scale(.85);fill:#e5fff1}100%{transform:scale(1.25);opacity:0}}
@keyframes reactor-release{20%{opacity:.8}100%{transform:scale(2.4);opacity:0}}
@media(max-width:600px){.welcome-copy{top:max(92px,12svh);left:18px;right:18px}.reactor-intro h1{max-width:350px;margin:auto;font-size:38px;line-height:1.06}.reactor-intro h1 em{display:block}.welcome-subtitle{font-size:13px;margin-top:14px;max-width:340px}.reactor-entry{bottom:max(22px,4svh,env(safe-area-inset-bottom))}.entry-reactor{width:100px;height:100px}.reactor-entry-label{font-size:13px}}
@media(max-height:520px) and (min-width:601px){.welcome-copy{top:62px}.reactor-intro h1{font-size:30px}.welcome-subtitle{font-size:12px;margin-top:8px}.welcome-subtitle br{display:none}.reactor-entry{bottom:8px;padding-bottom:4px}.entry-reactor{width:62px;height:62px}.reactor-entry-label{font-size:12px;margin-top:0}.reactor-entry-status{font-size:8px;margin-top:1px}}
@media(prefers-reduced-motion:reduce){.entry-reactor,.welcome-copy{transition:none}.reactor-entry svg *{animation:none!important}.entry-unlocking .welcome-copy{transform:none}}

/* Crisp instrument labels and flat audio control: no fuzzy text backplates. */
.world-caption{padding:5px 9px;background:#f5f1e5eF;border:1px solid #17495080;color:#092f36;text-shadow:none;box-shadow:none;backdrop-filter:none}
.blue-hour .world-caption{background:#092f36ed;border-color:#c6f2df80;color:#f5f1e5}
.top-bar,.top-actions button,.top-actions button:hover{ text-shadow:none;box-shadow:none }
.top-actions #sound-toggle{background:#092f36cc;border:1px solid #c6f2df40;backdrop-filter:none;box-shadow:none;text-shadow:none}
.top-actions #sound-toggle:hover{background:#123d43;box-shadow:none}
.top-actions #sound-toggle:focus-visible{outline:2px solid #c6f2df;outline-offset:4px;box-shadow:none}
