:root{color-scheme:dark;--ink:#e8ede9;--mute:#9eafb7;--gold:#e1c08c;--line:#ffffff21}*{box-sizing:border-box}body{margin:0;background:#060c15;color:var(--ink);font:14px Arial,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}#world{position:fixed;width:100%;height:100%;inset:0;touch-action:none;display:block}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse,transparent 40%,#02070c66);box-shadow:inset 0 0 120px #0005}header{position:fixed;top:0;left:0;right:0;padding:26px 36px;display:flex;align-items:center;justify-content:space-between;z-index:3;background:linear-gradient(#050c19bb,transparent);pointer-events:none}header>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:15px;letter-spacing:2px;font-size:10px;line-height:1.7}.brand b{font-size:29px;letter-spacing:-3px;border-right:1px solid var(--line);padding-right:18px;font-weight:500}.brand small{font-size:8px;color:var(--mute);letter-spacing:1.5px}.ship-mark{font-size:10px;letter-spacing:2px;color:#e5d7bb}.ship-mark span{color:var(--mute);font-size:8px}.ship-mark i{display:inline-block;width:5px;height:5px;background:#8be9c1;border-radius:50%;margin-right:10px;box-shadow:0 0 12px #8be9c1}#help{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#07101988}.glass{position:fixed;top:50%;left:6vw;transform:translateY(-44%);width:390px;max-width:88vw;padding:34px;background:linear-gradient(110deg,#07121aeb,#0c1a20bf);border:1px solid #b8cdd22a;backdrop-filter:blur(15px);box-shadow:0 22px 90px #0006}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:2.2px;line-height:1.7;margin:0 0 18px}h1{font-weight:400;font-size:66px;line-height:1.02;letter-spacing:-3px;margin:23px 0}h1 em{font-family:Georgia,serif;color:#e3c59a;font-weight:400}.intro{line-height:1.8;color:#b9c9cb;font-size:14px}.specs{display:flex;gap:30px;margin:26px 0;color:var(--mute);font-size:10px}.specs b{display:block;color:var(--ink);font-size:23px;font-weight:400;margin-bottom:7px}.primary{display:block;width:100%;padding:17px 20px;background:var(--gold);color:#17212a;border:0;text-align:center;font-size:10px;font-weight:700;letter-spacing:1.7px}.fine{font-size:10px;line-height:1.6;color:var(--mute);margin-bottom:0}.location{position:fixed;top:120px;left:36px;pointer-events:none;max-width:270px}.location h2{font-family:Georgia,serif;font-size:33px;font-weight:400;margin:0 0 12px}.location p:last-child{font-size:11px;color:#b1c6c9;line-height:1.6}.location .eyebrow{margin-bottom:10px}#reticle{position:fixed;left:50%;top:50%;width:5px;height:5px;transform:translate(-50%,-50%);background:#fff9;border-radius:50%;box-shadow:0 0 0 5px #ffffff0b;pointer-events:none}#interact{position:fixed;left:50%;top:57%;transform:translateX(-50%);border:1px solid #e1c08c88;background:#07131ee8;padding:12px 20px;font-size:10px;letter-spacing:1px}#map{position:fixed;right:34px;top:120px;width:160px;padding:15px;background:#06121cb5;border:1px solid var(--line);backdrop-filter:blur(8px)}#map p{font-size:8px;letter-spacing:1px;margin-top:0}#map p span{float:right;color:var(--gold);font-size:7px}#map svg{display:block;width:100%;height:145px}#map rect{fill:#23404c;stroke:#64929b;stroke-width:.5}#map rect.visited{fill:#355c59}#map rect.active{fill:#907754}#map small{font-size:7px;color:var(--mute);letter-spacing:2px}.bottom{position:fixed;bottom:35px;left:50%;transform:translateX(-50%);text-align:center;width:max-content;max-width:90vw}.room-nav{display:flex;padding:5px;background:#06131bda;border:1px solid var(--line);backdrop-filter:blur(15px);gap:3px}.room-nav button{padding:14px 21px;border:0;border-right:1px solid var(--line);background:transparent;font-size:8px;color:var(--mute)}.room-nav span{display:block;font-size:11px;margin-top:6px;color:var(--ink)}.room-nav button.active{background:#e1c08c1a;color:var(--gold);box-shadow:inset 0 -1px var(--gold)}.tools{display:flex;justify-content:center;gap:22px;margin-top:15px}.tools button{background:none;border:0;padding:5px;font-size:8px;color:#acbec5;letter-spacing:1px}#touch-controls{display:none}.desktop-hint{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);font-size:7px;color:#a4b5bf;letter-spacing:1.5px;width:max-content;pointer-events:none}#notice{position:fixed;top:95px;left:50%;transform:translateX(-50%);max-width:90vw;font-size:10px;background:#091b28db;padding:10px 18px;opacity:0;transition:opacity .2s;pointer-events:none}#notice.show{opacity:1}dialog{background:#0b1823;color:var(--ink);border:1px solid #dcc59b55;padding:36px;width:480px;max-width:90vw;max-height:85vh;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(7px)}dialog h2{font:36px Georgia,serif;margin:12px 0 22px}dialog p,dialog li{color:#b9c8cc;line-height:1.8;font-size:13px}dialog .primary{margin-top:25px}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:27px;color:var(--mute)}#fallback h2{font:32px Georgia,serif}#fallback p{line-height:1.7}#fallback a:last-child{display:block;margin-top:20px;color:var(--gold)}
@media(max-width:700px){header{padding:18px}.brand{gap:9px}.brand b{font-size:24px;padding-right:12px}.brand span{font-size:8px}.brand small{font-size:6px}.ship-mark{font-size:8px}.ship-mark span{display:none}.glass{padding:25px;left:6vw;top:47%;width:355px}h1{font-size:57px}.location{top:91px;left:20px;max-width:215px}.location h2{font-size:27px}.location p:last-child{font-size:10px}.location .eyebrow{font-size:7px}#map{right:16px;top:92px;width:100px;padding:9px}#map svg{height:86px}#map p{font-size:6px}#map p span{display:block;float:none;font-size:6px;margin-top:4px}#map small{font-size:5px}.bottom{bottom:max(23px,env(safe-area-inset-bottom));width:94vw;max-width:94vw}.room-nav button{flex:1;padding:10px 7px}.room-nav span{font-size:9px}.tools{gap:7px;margin-top:8px}.tools button{font-size:7px;letter-spacing:0}#touch-controls{display:flex;position:fixed;bottom:153px;left:24px;align-items:end;gap:24px;pointer-events:none}#touch-controls span{font-size:7px;letter-spacing:1px;opacity:.7;margin-bottom:6px}#stick{width:94px;height:94px;border-radius:50%;border:1px solid #bedfe13d;background:#17323a33;position:relative;touch-action:none;pointer-events:auto;backdrop-filter:blur(4px)}#knob{position:absolute;left:28px;top:28px;width:36px;height:36px;border:1px solid #e1c08c88;border-radius:50%;background:#e1c08c30;pointer-events:none}.desktop-hint{display:none}#interact{top:58%;font-size:8px}#notice{top:72px;font-size:9px}.specs{margin:20px 0}.intro{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(max-height:560px){.glass{top:53%;padding:20px}h1{font-size:38px;margin:12px 0}.specs{margin:12px 0}.location{top:80px}.bottom{bottom:12px}#map{top:80px}.desktop-hint{display:none}#touch-controls{bottom:110px}}

/* Keep the world visible around a compact, instrument-like interface. */
.glass{border-radius:4px;border-top-color:#9dcbd65c;background:linear-gradient(120deg,#07121aef,#0c1a20ba)}
.tools{gap:12px}.tools button:hover{color:#e9d5af}.room-nav{border-radius:4px}.location{text-shadow:0 2px 18px #000}
@media(max-width:700px){.tools{flex-wrap:wrap;gap:3px 9px;max-width:94vw}.tools button{padding:5px 3px}.bottom{bottom:max(16px,env(safe-area-inset-bottom))}#touch-controls{bottom:168px}.location{max-width:210px}.location p:last-child{max-width:185px}.vignette{box-shadow:inset 0 0 70px #0004}}
/* Detailed, image-based deck exploration runs independently of WebGL. */
#cinematic{position:fixed;inset:0;overflow:hidden;background:#06101b}.room-visual{position:absolute;inset:-6%;transform:translate(var(--pan-x,0px),var(--pan-y,0px));touch-action:none;cursor:grab}.room-visual:active{cursor:grabbing}#room-art{width:100%;height:100%;display:block;object-fit:cover;user-select:none;-webkit-user-drag:none;filter:brightness(.83) saturate(.9)}#room-effects{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#hotspots{position:absolute;inset:0;pointer-events:none}.deck-hotspot{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;padding:12px 17px;border:1px solid #d3e8e677;color:#f1f4ed;background:#071724bd;box-shadow:0 5px 25px #0005;backdrop-filter:blur(12px);font-size:10px;letter-spacing:.7px;pointer-events:auto;min-height:44px;border-radius:2px}.deck-hotspot:before{content:'';width:6px;height:6px;border-radius:50%;display:inline-block;background:#b4f6e3;margin-right:9px;box-shadow:0 0 12px #7de6df}.deck-hotspot.inspect{border-color:#d9b37c77;background:#1e1b12bf}.deck-hotspot.inspect:before{background:#edca89}.deck-hotspot:hover,.deck-hotspot:focus-visible{background:#143e4cf0;border-color:#b7f5ee}.arriving .deck-hotspot{animation:deck-arrive .7s both}@keyframes deck-arrive{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}#scene-loading{position:fixed;top:90px;left:50%;transform:translateX(-50%);padding:10px 20px;color:#d7e9e8;font-size:10px;background:#071724bb;z-index:4}.mode-switch{position:fixed;right:34px;bottom:36px;display:flex;flex-direction:column;align-items:end;gap:9px;z-index:4}.mode-switch a{color:#d5dfdd;background:#07131bd9;border:1px solid #c9e1e12c;font-size:8px;letter-spacing:1px;padding:10px 12px;min-height:34px}.mode-switch a.active{color:#f0cd93;border-color:#e1c08c66}.mode-switch small{font-size:7px;color:#aebfc4;max-width:160px;text-align:right;line-height:1.5}body[data-mode=cinematic] .location{padding:15px 18px;background:linear-gradient(110deg,#04111bdf,#04111b55);border-left:1px solid #d3bd9855;backdrop-filter:blur(7px)}body[data-mode=cinematic] .location h2{font-size:29px}body[data-mode=cinematic] .vignette{background:linear-gradient(#02071166,transparent 28%,transparent 68%,#02071177)}body[data-atmosphere="1"] #room-art{filter:brightness(.63) saturate(.8) hue-rotate(9deg)}body[data-atmosphere="2"] #room-art{filter:brightness(.9) saturate(1.06) sepia(.13)}body.deck-still .deck-hotspot{animation:none}body:not([data-mode=cinematic]) #cinematic{display:none}
@media(max-width:1050px){.mode-switch{right:18px;bottom:156px}.mode-switch small{display:none}}@media(max-width:700px){#room-art{object-position:50% 50%}.room-visual{inset:-6%;width:160%;left:-30%}.deck-hotspot{padding:10px 12px;font-size:9px;max-width:160px;white-space:normal;line-height:1.5;text-align:left}.deck-hotspot:before{margin-right:5px}.mode-switch{right:14px;bottom:145px;gap:6px}.mode-switch a{font-size:7px;padding:9px;min-height:32px}body[data-mode=cinematic] .location{left:15px;padding:12px;max-width:205px}body[data-mode=cinematic] .location h2{font-size:25px}body[data-mode=cinematic] .bottom{bottom:max(18px,env(safe-area-inset-bottom))}body[data-mode=cinematic] .tools{flex-wrap:wrap;gap:3px 9px;background:#06131ba6;margin-top:7px;padding:5px}body[data-mode=cinematic] #map{width:87px}body[data-mode=cinematic] #map svg{height:70px}#scene-loading{top:77px;font-size:8px}.glass .fine{font-size:9px}}

@media(max-width:700px){body[data-mode=cinematic] .deck-hotspot{left:clamp(29%,var(--spot-x),71%)!important;max-width:130px}body[data-mode=cinematic] .room-visual{width:160%;left:-30%;right:auto}}
/* Window action stays attached to the same image crop when visitors pan. */
#room-effects{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#outside-status{position:fixed;right:220px;top:113px;padding:10px 13px;background:#06131bd9;border:1px solid #c9e1e12c;display:flex;gap:11px;align-items:center;font-size:9px;color:#c2d5d9;max-width:330px}#outside-status i{width:5px;height:5px;border-radius:50%;background:#9ae3d6}#sensor-scan{background:transparent;color:#edca96;border:0;border-left:1px solid #adc4ca44;padding:5px 0 5px 10px;font-size:7px;letter-spacing:.6px;min-height:28px}#outside-label{display:flex;align-items:center;gap:7px;font-size:7px;letter-spacing:.7px;color:#aebfc4}#outside-scenario{font:9px Arial,sans-serif;background:#0b1b26;color:#ddeae6;border:1px solid #a8c8ce44;padding:6px;max-width:125px}.tools{gap:12px;align-items:center;flex-wrap:wrap}.log-room{display:block;width:100%;padding:15px 12px;text-align:left;background:#102731;border:1px solid #aacfd02b;margin-top:8px;font-size:12px;color:#d8e9e5}.log-room:hover{border-color:#e1c08c}.log-story{display:block;margin-top:22px;color:#e6c289;font-size:12px;line-height:1.7}.log-room:focus-visible,.log-story:focus-visible{outline:2px solid #e1c08c;outline-offset:3px}
@media(max-width:1100px){#outside-status{right:20px;top:auto;bottom:230px;max-width:250px}.tools{max-width:600px}.mode-switch{bottom:160px}}
@media(max-width:700px){#outside-status{right:14px;top:auto;bottom:205px;padding:7px 10px;font-size:8px;max-width:240px}#sensor-scan{min-height:30px}.tools{gap:3px 9px!important}#outside-label{font-size:6px}#outside-scenario{font-size:9px;padding:7px;max-width:130px;min-height:30px}body[data-mode=cinematic] .mode-switch{bottom:260px}body[data-mode=cinematic] .bottom{width:95vw;max-width:95vw}body[data-mode=cinematic] .room-visual{height:112%;top:-6%}}
.room-nav button{flex:1}
/* Primary actions remain visible; secondary controls live in a compact panel. */
.tools{position:relative;gap:9px!important}.tools>button,.deck-settings>summary{min-height:38px;padding:10px 14px!important;border:1px solid #c5e3df22!important;background:#071722d9!important;font-size:8px;letter-spacing:.8px;color:#cbdbdc}.deck-settings{position:relative;text-align:left}.deck-settings>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px}.deck-settings>summary:after{content:'+';color:#edc78e;font-size:15px}.deck-settings[open]>summary:after{content:'−'}.deck-settings>summary::-webkit-details-marker{display:none}.settings-grid{position:absolute;bottom:calc(100% + 12px);right:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;width:300px;max-width:87vw;padding:16px;background:#081a26f5;border:1px solid #bad8d34a;backdrop-filter:blur(16px);box-shadow:0 12px 35px #0008}.settings-grid button{min-height:42px!important;border:1px solid #adc5c735!important;white-space:normal}.settings-grid #outside-label{grid-column:1/-1;display:flex;justify-content:space-between;font-size:9px;gap:10px}.settings-grid #outside-scenario{min-height:42px;font-size:11px;max-width:none;flex:1}#mission-hud{position:fixed;top:270px;left:36px;width:240px;padding:15px;background:#071722dd;border:1px solid #c8b18a55;backdrop-filter:blur(10px)}#mission-hud>div{display:flex;gap:10px;justify-content:space-between;color:#e4c59b;font-size:11px}#mission-hud #mission-progress{white-space:nowrap;font:9px monospace}#mission-objective{font-size:11px;line-height:1.6;color:#c9d9db;margin:11px 0}#mission-go{background:none;border:0;border-top:1px solid #b6cece25;padding:10px 0 0;text-align:left;color:#b4e9e2;font-size:8px;letter-spacing:.7px;min-height:30px}.mission-card{border:1px solid #a9cbcb33;padding:18px;margin:15px 0;background:#10263277}.mission-card .eyebrow{font-size:8px;margin:0}.mission-card h3{font:24px Georgia,serif;margin:12px 0}.mission-card p:not(.eyebrow){font-size:12px;line-height:1.7;margin:12px 0}.mission-start{width:100%;min-height:42px;background:#ddbe8e;color:#101d27;border:0;font-size:10px;letter-spacing:1px}.mission-card small{display:block;margin-top:10px;color:#9cdec6;font-size:9px}.deck-settings summary:focus-visible{outline:2px solid #e1c08c;outline-offset:3px}
@media(max-width:700px){.tools{flex-wrap:nowrap!important;gap:5px!important;justify-content:space-between}.tools>button,.deck-settings>summary{font-size:7px!important;letter-spacing:.3px;min-height:44px;padding:8px!important}.tools>button{flex:1}.settings-grid{bottom:calc(100% + 10px);right:0;width:290px}#mission-hud{top:220px;left:15px;width:205px;padding:12px}#mission-hud>div{font-size:10px}#mission-objective{font-size:10px;line-height:1.5;margin:8px 0}body[data-mode=cinematic] #outside-status{bottom:180px}body[data-mode=cinematic] .mode-switch{bottom:230px}.desktop-hint{display:none}}
@media(max-height:600px){#mission-hud{top:90px;left:270px;max-width:220px}#outside-status{top:auto;bottom:140px}}
