:root{color-scheme:dark;--bg:#080b11;--ink:#eeeae2;--muted:#b7b5b4;--brass:#d8b780;--glass:#0b101bdd;--serif:Georgia,'Iowan Old Style',serif;--sans:system-ui,-apple-system,sans-serif;font:16px/1.6 var(--sans);color:var(--ink);background:var(--bg)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;height:100dvh;overflow:hidden}button,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a{color:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--brass);outline-offset:5px}button.primary,.cta,.secondary{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 20px;border:1px solid var(--brass);border-radius:4px;font-size:14px;line-height:1.5;text-decoration:none}.primary,.cta{background:var(--brass);color:#0b0d12;font-weight:600}.secondary{background:#ffffff09;border-color:#ffffff40}.primary:hover,.cta:hover{background:#ead0a6}.secondary:hover{background:#ffffff17;border-color:#ffffff77}.link{border:0;background:none;padding:8px 0;color:var(--muted);text-decoration:underline;text-underline-offset:5px;font-size:14px}.link:hover{color:white}.brand{font:500 12px/1.3 var(--sans);letter-spacing:2px;text-decoration:none;white-space:nowrap}.eyebrow,.kicker{font:500 12px/1.5 var(--sans);letter-spacing:2px;text-transform:uppercase;color:var(--brass);margin:0 0 18px}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.controls-hint{font-size:14px;color:var(--muted);max-width:420px;line-height:1.8;margin:20px 0 12px}.loading-status{font-size:14px;color:var(--brass);min-height:22px;margin:8px 0 0}.overlay{position:fixed;inset:0;z-index:30;overflow-y:auto;display:grid;place-items:center;padding:32px 24px;background:#080b11ec;backdrop-filter:blur(14px)}.card{width:min(100%,460px);padding:18px 0}.card h2,.collection-heading h2{font:400 clamp(28px,3.4vw,40px)/1.2 var(--serif);margin:0 0 20px;letter-spacing:-.5px}.card>.primary{width:100%;margin:18px 0 4px}.card>.secondary{width:100%;margin-top:18px}.card-links{display:flex;justify-content:space-between;gap:24px;margin:16px 0 0}.key-guide{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:22px 0 30px;font-size:14px}.key-guide p{margin:0}kbd{display:inline-block;min-width:30px;font:12px monospace;padding:3px 5px;border:1px solid #ffffff44;border-radius:3px;margin-right:8px;color:var(--brass);text-align:center}.quality-label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;font-size:14px}select{background:#162133;border:1px solid #ffffff33;padding:9px 12px;border-radius:4px;max-width:180px}
#hud{position:fixed;inset:0;z-index:10;pointer-events:none}#hud>*{pointer-events:auto}#topbar{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));background:linear-gradient(#080b11b0,transparent);pointer-events:none}#topbar>*{pointer-events:auto}.hud-actions{display:flex;gap:6px}.hud-actions button{border:1px solid #ffffff3b;background:var(--glass);font-size:13px;padding:8px 12px;border-radius:4px;min-height:40px}.hud-actions button:hover{border-color:var(--brass)}#reticle{position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:white;box-shadow:0 0 0 2px #0005;pointer-events:none}#reticle.on{width:12px;height:12px;margin:-6px;background:var(--brass)}#prompt{position:absolute;left:50%;bottom:max(56px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:10px;align-items:center;padding:10px 16px;background:var(--glass);border:1px solid #ffffff33;border-radius:4px;font:16px var(--serif);max-width:90vw;pointer-events:none}.key{font:12px var(--sans);border:1px solid var(--brass);padding:2px 6px;color:var(--brass)}#inspect-btn{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(32px,env(safe-area-inset-bottom));width:76px;height:76px;border-radius:50%;border:1px solid var(--brass);background:var(--glass);font-size:14px}.walk-hint{position:absolute;left:20px;bottom:max(16px,env(safe-area-inset-bottom));color:#ffffffa8;font-size:12px;pointer-events:none!important}#minimap{position:absolute;right:20px;top:76px;opacity:.8;background:#080b11aa;border:1px solid #ffffff24;border-radius:4px;pointer-events:none}#stick{position:fixed;width:112px;height:112px;margin:-56px 0 0 -56px;border-radius:50%;border:1px solid #ffffff66;background:#ffffff0a;pointer-events:none}#stick i{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#ffffff55}
.collection-overlay{place-items:start center}.collection-wrap{width:min(1100px,100%);padding:24px 0}.collection-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:24px}.collection-heading .eyebrow{margin-bottom:12px}#collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.work-card{display:flex;flex-direction:column;text-align:left;border:1px solid #ffffff26;border-radius:6px;background:#131b29;overflow:hidden;padding:0;min-height:160px;transition:background .2s,border-color .2s}.work-card:hover{background:#1b283b;border-color:var(--brass)}.work-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid #ffffff1c;color:var(--brass);font-size:12px;letter-spacing:1.5px}.work-dot{width:20px;height:20px;border-radius:50%;background:var(--work-color);box-shadow:0 0 25px var(--work-color)}.work-card strong{font:400 24px/1.2 var(--serif);padding:20px 18px 12px}.work-card .description{font-size:14px;line-height:1.6;color:#b7c0d1;padding:0 18px 20px}.collection-note{font-size:14px;color:var(--muted);margin-top:24px}
#panel{position:fixed;z-index:20;right:0;inset-block:0;width:min(400px,42vw);padding:24px 28px 32px;overflow-y:auto;background:linear-gradient(90deg,#090e16e8,#090e16fc);border-left:1px solid #ffffff20;backdrop-filter:blur(12px)}.panel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);border-bottom:1px solid #ffffff26;padding-bottom:20px;margin-bottom:36px}#panel h2{font:400 38px/1.08 var(--serif);letter-spacing:-.5px;margin:0 0 14px}#panel .meta{font-size:13px;color:var(--muted);margin:0 0 24px}#panel-body p{font:17px/1.8 var(--serif);color:#d9dce1;margin:0 0 18px}#panel-facts{display:grid;grid-template-columns:1fr;gap:6px;font-size:14px;margin:20px 0}#panel-facts dt{color:var(--brass);margin-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:1px}#panel-facts dd{margin:0}.exhibit-nav{display:flex;gap:10px;border-top:1px solid #ffffff26;padding-top:24px;margin-top:30px}.exhibit-nav button{flex:1;padding:10px 8px;font-size:13px}#panel-motion{margin-top:16px}.cta{font-size:13px;width:100%}
#text-view{position:fixed;inset:0;z-index:40;overflow-y:auto;background:var(--bg);padding:28px 24px 72px}.text-wrap{max-width:740px;margin:auto}.text-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:64px}.text-wrap h1{font:400 clamp(40px,6vw,68px)/1.1 var(--serif);letter-spacing:-1px;margin:16px 0 24px}.text-wrap .sub{color:var(--brass);font-size:16px}.text-wrap h2{font:400 32px var(--serif);margin:48px 0 24px}.text-wrap h3{font:400 27px var(--serif);margin:0 0 12px}.text-wrap p{font-size:17px;line-height:1.8;color:#c4c9d2}.text-wrap dl{display:grid;grid-template-columns:130px 1fr;gap:12px 28px;font-size:15px}.text-wrap dt{color:var(--brass)}.text-wrap dd{margin:0}.text-work{padding:28px 0;border-top:1px solid #ffffff26}.text-work p{margin:12px 0}.text-wrap .m{font-size:13px;color:var(--muted)}.text-wrap a{color:var(--brass)}.text-wrap .view-work{display:block;margin-top:18px}.warn{padding:16px;border:1px solid var(--brass);border-radius:4px}.no-script{padding:32px;max-width:700px;margin:auto}
@media(max-width:850px){#collection-grid{grid-template-columns:1fr 1fr}#panel{width:42vw;padding:20px}.hud-actions button{padding:8px 10px}.brand{letter-spacing:1px}}@media(max-width:640px){.controls-hint{font-size:13px}.overlay{padding:24px 20px}.key-guide{grid-template-columns:1fr}.collection-heading{align-items:flex-start;gap:18px}.collection-heading h2{font-size:28px}#collection-grid{gap:10px}.work-card{min-height:150px}.work-card-top{padding:14px;font-size:11px}.work-card strong{font-size:21px;padding:18px 14px 10px}.work-card .description{font-size:13px;padding:0 14px 18px}.collection-note{font-size:13px}#topbar{padding:12px 16px;gap:10px}.brand span{display:none}.hud-actions button{font-size:12px;padding:7px 9px;min-height:40px}#minimap{right:16px;top:66px;transform:scale(.85);transform-origin:top right}.walk-hint{font-size:11px;left:16px;max-width:210px;line-height:1.5}#panel{inset: auto 0 0;width:100%;max-height:56dvh;border-left:0;border-top:1px solid #ffffff26;padding:20px 24px calc(24px + env(safe-area-inset-bottom))}.panel-top{padding-bottom:12px;margin-bottom:18px}#panel h2{font-size:30px}#panel .meta{margin-bottom:16px}#panel-body p{font-size:16px}#panel .kicker{margin-bottom:10px}.exhibit-nav{margin-top:22px;padding-top:20px}.text-top{margin-bottom:44px;gap:16px}.text-top .brand{font-size:11px}.text-top button{font-size:13px;padding:10px 12px}.text-wrap dl{grid-template-columns:1fr;gap:6px}.text-wrap dt{margin-top:14px}.text-wrap p{font-size:16px}.text-wrap h2{font-size:28px}.collection-wrap{padding:8px 0}}@media(max-width:360px){#collection-grid{grid-template-columns:1fr}.hud-actions{gap:4px}.hud-actions button{font-size:11px;padding:7px}.quality-label{flex-direction:column;align-items:flex-start}select{width:100%;max-width:none}}@media(max-height:500px) and (orientation:landscape){#panel{width:40%;max-height:100dvh;inset:0 0 0 auto}#minimap{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(prefers-reduced-transparency:reduce){.overlay,#panel{background:#080b11;backdrop-filter:none}}

#panel-body .art-interaction{font:13px/1.7 var(--sans);color:var(--brass);border-left:2px solid #d8b78088;padding-left:12px;margin-top:20px}

/* ---------- desktop controls ---------- */
.modal-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px}
.modal-bar h2{margin:0 auto 0 0;font:300 1.35rem var(--serif);letter-spacing:.12em;text-transform:uppercase}
#panel-play{margin:6px 0 4px;display:block}
@media(max-width:640px){.modal-bar{padding:10px 12px;gap:8px}.modal-bar h2{font-size:1.05rem;width:100%}}

/* Fullscreen content has its own layout; the live PC surface remains persistent. */
.desktop-modal,.film-modal{position:fixed;inset:0;z-index:36;background:#05060a}
.desktop-modal{display:block}
.film-modal{display:flex;flex-direction:column}
.modal-bar{flex-shrink:0;min-height:70px;padding-bottom:10px}
.film-frame{display:block;flex:1;min-height:0;width:100%;border:0;border-top:1px solid #ffffff22;background:#0c111b}

.piano-toggle{white-space:nowrap}.panel-top .piano-toggle{padding:8px 10px;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.collection-heading{flex-wrap:wrap}.hud-actions{flex-wrap:wrap}@media(max-width:640px){#topbar{flex-wrap:wrap}.piano-toggle{padding:8px 12px}}

.boot-status{position:fixed;inset:0;display:grid;place-items:center;background:#080b11;color:var(--brass)}.desktop-surface{position:fixed;left:0;top:0;width:960px;height:600px;transform-origin:0 0;z-index:10;pointer-events:none;visibility:hidden;overflow:hidden;background:#071b22;backface-visibility:hidden}.desktop-surface iframe{display:block;width:100%;height:100%;border:0}.desktop-surface:not(.active)::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0002 3px 4px)}.desktop-surface.active{z-index:37;pointer-events:auto}


.work-preview{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;background:#080b11;border-bottom:1px solid #ffffff20}#panel-share{display:block;margin:16px 0;font-size:13px}
