:root{color-scheme:dark;font:16px/1.5 system-ui,sans-serif;color:#dcecef;background:#03090d}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{min-width:48px;min-height:48px;padding:10px;border:1px solid #496773;background:#081820;color:#d7f4fa;border-radius:3px;cursor:pointer}button:hover{background:#15343e;border-color:#a6edf2}button:focus-visible,input:focus-visible{outline:3px solid #ffd998;outline-offset:3px}button:disabled{opacity:.4;cursor:default}button.primary{background:#b5e9ec;color:#07171b;padding:13px 25px}.brand{letter-spacing:.3em;font-size:18px;font-weight:500}#game{height:100svh;min-height:500px;display:flex;flex-direction:column}header{min-height:66px;display:flex;align-items:center;gap:24px;padding:8px 24px;background:#071117;border-bottom:1px solid #2b404a}.subtitle{font:12px ui-monospace,monospace;letter-spacing:.2em;color:#9bafb8}.utilities{margin-left:auto;display:flex;gap:8px}.utilities button{font-size:22px;background:transparent;border-color:transparent}.room{position:relative;flex:1;min-height:0}.pano-host{position:absolute;inset:0;overflow:hidden}.panorama-canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none;cursor:grab}.panorama-canvas:active{cursor:grabbing}.hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;padding:0;pointer-events:auto;background:transparent;border-color:transparent}.hotspot[hidden]{display:none}.target{display:grid;place-items:center;width:30px;height:30px;margin:auto;border:1px solid #b1e7e9;border-radius:50%;background:#061c2399;font-size:22px;opacity:0}.hot-label{position:absolute;left:50%;top:100%;transform:translateX(-50%);background:#051820e8;min-width:120px;padding:6px;font-size:14px;opacity:0;pointer-events:none}.markers .target,.hotspot:hover .target,.hotspot:focus-visible .target,.hotspot:hover .hot-label,.hotspot:focus-visible .hot-label{opacity:1}.turns{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.turns button{background:#04121bc9;font-size:22px}.start{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:7vw}.start h1{font:clamp(32px,5vw,64px)/1.05 Georgia,serif;font-weight:400;margin:10px 0 30px}.eyebrow{font:12px ui-monospace,monospace;letter-spacing:.18em;color:#abd0da}.intro{color:#b5c3cb;font-size:14px}.start button{min-width:180px}footer{display:flex;align-items:center;gap:16px;padding:10px 22px 4px;background:#071117}.footer-tools,.inventory{display:flex;gap:6px}.inventory button{font-size:23px}.progress{color:#9fd5d8;font-size:11px;letter-spacing:4px;margin-left:auto}.save{color:#9ab0b9;font-size:12px}.status{margin:0;padding:6px 24px 10px;font-size:14px;color:#c0ced5;background:#071117;min-height:36px}.inspection{width:min(1200px,96vw);max-height:94svh;padding:0;background:#071219;border:1px solid #526d7a;color:#dcecef;overflow:auto}.inspection::backdrop{background:#000b;backdrop-filter:blur(4px)}.object-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;position:sticky;top:0;z-index:8;background:#071219}.object-bar h2{font-size:16px;font-weight:400;letter-spacing:.08em;margin:0}.object-bar button{font-size:22px}.object-stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden}.object-image{display:block;width:100%;height:100%;object-fit:contain}.mechanism{position:absolute;left:30%;top:30%;width:40%;padding:18px;background:#06151aeb;border:1px solid #57727a;box-shadow:0 4px 30px #000a;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}.mechanism button{font-size:26px}.diagram,.target-pattern,.pins,.relay-switches,.symbol-keys,.parts,.sockets{display:flex;align-items:center;justify-content:center;gap:12px}.glyph{font-size:30px;min-width:42px;text-align:center}.target-pattern{opacity:.75;color:#f4d7a9;font-size:30px}.pins button{width:60px;height:70px}.activate{width:85px}.uv-tag{display:flex;align-items:center;gap:15px;min-height:112px;justify-content:center;width:100%;background:#0c1919;border:1px solid #354b48}.uv-tag.lit{box-shadow:inset 0 0 35px #b4fff533;color:#d4fff2}.dot-column{display:flex;align-items:center;flex-direction:column}.dots{display:grid;grid-template-columns:repeat(3,7px);gap:4px;min-height:35px}.dots i{width:7px;height:7px;background:#d7fff0;border-radius:50%}.tag-silhouette{font-size:70px;opacity:.25}.mechanism input[type=range]{width:90%;accent-color:#afe9dd;min-height:36px}.terminal{left:32%;top:18%;width:36%;gap:8px}.terminal-screen{width:100%;min-height:94px;border:1px solid #35615d;background:#001411;box-shadow:inset 0 0 22px #42797140;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:6px;color:#b9ffe9}.digits{font:32px ui-monospace,monospace;letter-spacing:.3em}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:78%}.keypad button{font-size:20px;padding:4px;min-height:42px}.circuit-arrow{font-size:32px}.relay{top:36%}.relay-switches button{width:72px;height:90px;font-size:40px}.relay-switches button[aria-pressed=true]{background:#305a51}.drawer{top:31%;width:48%;left:26%}.parts .part{width:72px;height:72px;font-size:36px}.ready-mark{color:#b7ecd3;font-size:24px}.socket{width:75px;height:75px;border-radius:50%;position:relative}.socket:after,.rotate-part:after{content:'';position:absolute;left:calc(50% - 3px);top:0;width:6px;height:14px;background:#f9d391;transform-origin:3px 37px;transform:rotate(var(--angle))}.socket.filled{border-color:#bef9d6;background:#154238}.parts .selected{outline:3px solid #f6d295}.rotate-part{position:relative;width:75px;height:75px}.optics{top:24%;height:62%;width:40%;left:30%;background:#06141ba6}.rings{position:relative;width:240px;height:240px}.ring{position:absolute;border:2px solid #c8d5d7;border-radius:50%;background:transparent!important;padding:0;min-width:0;min-height:0}.ring-0{width:240px;height:240px;inset:0}.ring-1{width:160px;height:160px;left:40px;top:40px}.ring-2{width:80px;height:80px;left:80px;top:80px}.ring-mark{position:absolute;left:calc(50% - 10px);top:0;width:20px;height:100%;transform:rotate(var(--angle));transform-origin:50% 50%;font-size:16px}.ring-target{font-size:23px;color:#ffe5a3}.beam{position:absolute;left:48%;top:50%;color:#bcffff;font-size:30px}.gauge{position:relative;width:140px;height:92px;border:2px solid #c8d7d8;border-radius:80px 80px 0 0;background:#142329;display:flex;justify-content:center;overflow:hidden}.gauge-target{position:absolute;top:-4px;color:#c5facd;font-size:35px}.needle{font-size:70px;line-height:1.3;transform-origin:50% 88%;color:#e1faff}.lever-handle{font-size:45px!important;width:100px;height:80px}.door{top:38%;width:32%;left:34%;background:#07141cc9}.door-wheel{border-radius:50%;width:100px;height:100px;font-size:65px!important}.walk-through{font-size:54px!important;width:140px;height:90px}.door-open .object-image{filter:brightness(1.35)}.solved-indicator{position:absolute;left:25px;top:18px;color:#b6f3c8;font-size:12px}.interlock{display:flex;gap:12px;align-items:center}.lock-symbol{font-size:50px;color:#eac697}.interlock img{width:100%;max-width:150px;display:block}.interlock button{padding:0}.object-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.object-list button{padding:0;overflow:hidden}.object-list img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.object-list span{display:block;padding:8px;font-size:14px}.map-scroll{overflow:auto;max-height:72svh}.facility-map{display:block;width:100%}.facility-map.enlarged{width:1800px;max-width:none}.threshold{width:100%;display:block}.next-note,.setting,.inspection>p{padding:12px 20px}.setting{display:flex;justify-content:space-between;gap:20px}.setting input{width:24px;height:24px}.inspection>button{margin:12px}.pano-loading,.pano-error,.image-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#04121ddd;z-index:3}.image-error{z-index:7}.object-stage{animation:approach .25s ease-out}@keyframes approach{from{opacity:.5;transform:scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:760px){header{padding:7px 12px;gap:8px;min-height:56px}.brand{font-size:15px;letter-spacing:.16em}.subtitle{display:none}.utilities{gap:0}.utilities button{padding:4px}footer{padding:7px 10px;gap:6px;flex-wrap:wrap}.save{margin-left:auto;font-size:11px}.progress{display:none}.status{padding:5px 12px;font-size:12px}.inspection{width:98vw}.object-stage{aspect-ratio:auto;overflow:visible}.object-image{height:auto;aspect-ratio:16/9}.mechanism{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;padding:16px;min-height:170px;border-left:0;border-right:0;box-shadow:none}.terminal{padding:12px 18%}.keypad button{min-height:48px}.object-list{grid-template-columns:repeat(2,1fr);padding:10px;gap:8px}.solved-indicator{display:none}.start{padding:26px}.start h1{font-size:36px}.turns{bottom:8px}.turns button{min-height:44px;min-width:44px}.uv-tag{max-width:320px}}
:root{--cyan-glow:#b2f7ef}
.hotspot .target{transition:opacity .18s,box-shadow .18s,transform .18s}
.hotspot:hover .target,.hotspot:focus-visible .target{box-shadow:0 0 15px 5px #7de3d866;background:#133c43;transform:scale(1.15)}
.hotspot.go .target{opacity:1;border-radius:6px;border-color:#eacda0;color:#ffe5b1;background:#251f1599}
.travel{position:absolute;left:14px;top:12px;display:flex;gap:6px;z-index:2}
.travel button{background:#061820c9;font-size:13px;padding:8px 12px}
.travel button[aria-current=location]{border-color:#b2f7ef;color:#b2f7ef;box-shadow:inset 0 -2px #b2f7ef}
.panorama-canvas.arrived{animation:room-arrival .45s ease-out}
@keyframes room-arrival{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.inspection[open]{animation:inspection-arrival .18s ease-out}
@keyframes inspection-arrival{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){.travel{left:8px;right:8px;top:8px;justify-content:center}.travel button{font-size:12px;padding:6px 8px}.turns{gap:3px}.turns button{min-width:39px;padding:5px;font-size:20px}}

/* Controls line up with the photographed object; mobile docks them below the plate. */
@media(min-width:761px){
.latch{left:41%;top:28%;width:26%;padding:10px;background:#08141dcc}
.lamp{left:25%;top:39%;width:50%;padding:10px;background:#08171e55;border:0;box-shadow:none}
.lamp .uv-tag{background:#08171e88;height:115px}
.terminal{inset:0;width:100%;height:100%;display:block;background:none;border:0;box-shadow:none;padding:0;pointer-events:none}
.terminal .terminal-screen{position:absolute;left:31%;top:13%;width:37%;height:43%;border:0;background:#001b1280;font-size:30px;pointer-events:auto}
.terminal .terminal-screen .glyph{font-size:42px}.terminal .digits{font-size:46px}
.terminal .keypad{position:absolute;left:39%;top:65%;width:21.5%;height:23%;grid-template-columns:repeat(4,1fr);pointer-events:auto;gap:5px}
.terminal .keypad button{font-size:22px;padding:2px;min-width:0;min-height:0;background:#18232870;border-color:#84918880}
.terminal .interlock{pointer-events:auto;position:absolute;left:36%;top:30%;background:#07161fd9;padding:20px}
.relay{left:24%;top:52%;width:51%;height:39%;display:block;background:none;border:0;box-shadow:none;padding:0}
.relay-switches{justify-content:space-between;height:70%;gap:0}.relay-switches button{width:21%;height:100%;background:#07151a70;font-size:45px;border-color:#75999666}
.relay>.activate{position:absolute;left:calc(50% - 35px);bottom:-6%;height:48px;min-height:48px;width:70px}
.drawer{left:24%;top:39%;width:54%;background:#06141bb3}.drawer.solved{background:none;border:0;box-shadow:none;padding:0;height:27%}
.drawer.solved .ready-mark{display:none}.drawer.solved .parts{justify-content:space-between;align-items:center;width:100%;height:100%}
.drawer.solved .parts .part{width:26%;height:100%;background:#04151b33;border-color:#b8dad955}.drawer.solved .parts .part:disabled{background:#041019e8;opacity:.85}
.assembly{left:32%;top:23%;width:37%;height:61%;background:#07151aa8;padding:12px}
.assembly .sockets{width:100%;height:56%;position:relative;display:block}.assembly .socket{position:absolute;width:75px;height:75px}.assembly .socket:nth-child(1){left:8%;top:0}.assembly .socket:nth-child(2){right:8%;top:0}.assembly .socket:nth-child(3){left:calc(50% - 37px);bottom:0}
.assembly.solved{background:transparent;border:0;box-shadow:none}.assembly.solved .parts{display:none}
.optics{left:35%;top:19%;width:30%;height:61%;background:#06141bcc}
.lever{left:56%;top:24%;width:22%;height:52%;background:#06141bbb}.lever-handle{width:70px;height:70px;font-size:40px!important}
.door{left:42%;top:35%;width:17%;background:#07141caa;border-radius:50%;padding:10px}.door-open .door{background:#05151b77;border:0;border-radius:0}.door-open .object-image{filter:none}
}
@media(max-width:760px){.terminal .keypad{grid-template-columns:repeat(4,1fr);width:100%;max-width:360px}.terminal .keypad button{min-width:48px;min-height:48px}.terminal .terminal-screen{max-width:360px}.terminal{padding:14px!important}}

/* Variation 3 — Hard-Light Containment */
:root{--ice:#65e7ff;--violet:#c1b6ff;--warm:#f4a09a;--line:rgba(232,240,242,.28);--scrim:.24}
#game{position:relative;display:block;isolation:isolate;height:100svh;min-height:0;overflow:hidden;background:#02070b}.room{position:absolute;inset:0;min-height:0}.hard-frame{border:1px solid var(--line);background:linear-gradient(135deg,rgba(25,96,116,.11),rgba(3,13,24,var(--scrim)));box-shadow:inset 0 0 24px #43bde40c,0 0 14px #65e7ff12;position:relative;border-radius:2px 16px 2px 16px;text-shadow:0 1px 3px #000,0 -1px 2px #000}.hard-frame:before{content:'';position:absolute;inset:5px;border:1px solid var(--line);border-radius:1px 12px 1px 12px;pointer-events:none;opacity:.45}.ribbon{position:absolute;left:18px;right:18px;top:16px;z-index:5;display:grid;grid-template-columns:220px minmax(0,1fr) 210px;gap:10px 24px;pointer-events:none}.ribbon button{pointer-events:auto}.identity,.telemetry{padding:16px;display:flex;flex-direction:column;align-self:start;gap:3px}.identity small,.telemetry small,.context-panel small{font:12px ui-monospace,monospace;letter-spacing:.13em;color:#c4dde2}.identity strong{font:17px ui-monospace,monospace;letter-spacing:.04em;color:#e8f0f2}.identity>span{font:12px ui-monospace,monospace;letter-spacing:.08em}.operational{font:12px ui-monospace,monospace;letter-spacing:.1em;color:var(--ice);padding-top:12px}.telemetry strong{font:30px ui-monospace,monospace;color:#e8f0f2}.telemetry span{font:12px ui-monospace,monospace}.integrity-line{height:5px;border:1px solid var(--line);margin:6px 0 8px;background:linear-gradient(90deg,var(--ice) 97.6%,transparent 97.6%);box-shadow:0 0 10px #65e7ff55}.memory-chain{align-self:start;display:flex;justify-content:center;gap:5px;position:relative;padding:14px 2px;overflow-x:auto;pointer-events:auto}.memory-chain:before{content:'';position:absolute;left:12px;right:12px;top:46px;height:1px;background:var(--ice);opacity:.55;z-index:-1}.memory-chain button{flex:0 0 48px;min-width:44px;min-height:64px;padding:6px 3px;background:rgba(3,13,24,.55);border:1px solid var(--line);border-radius:13px 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;box-shadow:0 0 7px #65e7ff22;color:#b9d5dc}.node-number{font:18px ui-monospace,monospace}.node-state{font-size:15px}.memory-chain .active-node{border:2px solid var(--ice);color:#e8f0f2;box-shadow:0 0 18px #65e7ff55;transform:translateY(-4px);animation:node-breathe 5s ease-in-out infinite}.memory-chain .complete{border-color:var(--ice);color:var(--ice);background:#297f9422}.memory-chain .refusing{color:#cdaaa8;border-style:dashed}.ribbon-controls{grid-column:1 / -1;display:flex;align-items:center;gap:8px}.utilities{margin-left:auto;display:flex;gap:5px}.ribbon-controls button{background:rgba(3,13,24,var(--scrim));border:1px solid var(--line);min-height:44px;min-width:44px;font-size:14px;padding:5px 10px;border-radius:8px 0}.utilities button{font-size:20px;position:relative}.notebook-count{font-size:11px;position:absolute;right:3px;top:1px;color:var(--ice)}
button:focus,canvas:focus{outline:3px solid #e8f0f2!important;outline-offset:4px!important;box-shadow:0 0 0 7px #00121a!important}button:hover{border-color:var(--ice);background:#26768b33}button[aria-pressed=true]{border:2px solid var(--ice);text-decoration:underline}button:disabled{cursor:default}.hardlight-dock{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 36px));z-index:5;display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:12px 18px;border-top:2px solid #65e7ff88;border-radius:24px 3px 24px 3px;pointer-events:none}.hardlight-dock button{pointer-events:auto;background:rgba(3,13,24,var(--scrim));border-color:var(--line);border-radius:8px 0;min-width:44px;min-height:44px;padding:5px 8px}.hardlight-dock .travel,.hardlight-dock .turns,.hardlight-dock .walk-dock,.hardlight-dock .hud-readout,.hardlight-dock footer{position:static;inset:auto;transform:none;background:transparent;border:0;padding:0;margin:0;display:flex;gap:6px;min-height:0;align-items:center}.hardlight-dock .hud-readout{font:12px ui-monospace,monospace;grid-column:1;letter-spacing:.08em;color:#d1e7eb}.bearing-label,.zoom-label{color:#89b4c0}.hardlight-dock .travel{grid-column:2;justify-content:flex-end}.travel button{font-size:14px}.travel button[aria-current=location]{color:var(--ice);border-bottom:3px solid var(--ice)}.hardlight-dock .turns{grid-column:1}.turns button{font-size:22px}.hardlight-dock .walk-dock{grid-column:2;justify-content:flex-end}.walk-forward{font-size:14px;min-width:150px!important}.walk-back{font-size:22px}.hardlight-dock footer{grid-column:1 / -1;flex-wrap:wrap;gap:8px}.footer-tools{display:flex;gap:5px}.footer-tools button{font-size:20px}.progress{display:none}.save{margin-left:auto;font-size:12px}.shard-toggle{font-size:14px}.inventory{position:absolute;bottom:calc(100% + 14px);left:20%;right:20%;justify-content:center;display:flex;flex-wrap:wrap;gap:16px;padding:16px;border:1px solid var(--line);background:rgba(3,13,24,.6);pointer-events:auto}.inventory button{min-width:54px;min-height:54px;transform:translateY(-4px);border-radius:16px 0;color:var(--ice)}.inventory button:nth-child(even){transform:translateY(4px)}[hidden]{display:none!important}.status{position:absolute;bottom:190px;left:25%;right:25%;z-index:4;font-size:14px;text-align:center;background:rgba(3,13,24,var(--scrim));padding:8px 14px;min-height:0;color:#d2eef2;pointer-events:none;text-shadow:0 1px 2px #000}.context-panel{position:absolute;top:245px;width:240px;padding:20px;z-index:6;animation:materialize .24s ease-out;max-height:calc(100svh - 440px);overflow:auto;pointer-events:auto}.context-panel:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 6px,#a1eaff06 7px 8px);animation:scan-drift 16s linear infinite}.seals-panel{left:18px}.engram-panel{right:18px}.context-panel h2{font:20px ui-monospace,monospace;line-height:1.3;margin:12px 0;color:#e8f0f2}.context-panel p{font-size:14px;line-height:1.55}.context-panel button{font-size:14px;background:#08223155;border-color:var(--line);position:relative;z-index:1}.seal-row{border-top:1px solid var(--line);padding:10px 0}.readout-state{font:14px ui-monospace,monospace;color:var(--ice)}.signal-wave{font:30px ui-monospace,monospace;letter-spacing:5px;color:var(--ice);overflow:hidden}.hotspot .target{background:rgba(3,13,24,.22);border-color:var(--ice);color:var(--ice);border-radius:50%;box-shadow:0 0 8px #65e7ff33}.hotspot.refusing .target{border-radius:5px;border:2px solid var(--warm);color:var(--warm)}.hotspot.acquired .target,.hotspot:focus .target{opacity:1;box-shadow:0 0 20px 5px #65e7ff66;transform:scale(1.2)}.hotspot.acquired .hot-label,.hotspot:focus .hot-label{opacity:1}.hotspot.acquired:before{content:'';position:absolute;inset:-10px;border:1px dashed var(--ice);border-radius:50%;pointer-events:none}.chair-orbit.acquired:after{content:'';position:absolute;left:-36px;right:-36px;top:4px;height:40px;border:2px solid #65e7ff88;border-left-color:transparent;border-right-color:transparent;border-radius:50%;box-shadow:0 0 15px #65e7ff44;pointer-events:none}.hot-label{background:rgba(3,13,24,.7);border:1px solid var(--line);font-size:14px}.hotspot.go .target{background:#091b2d66;border-color:var(--ice);color:var(--ice);border-radius:3px}.success-beam{position:absolute;left:50%;top:100px;bottom:35%;width:2px;background:linear-gradient(0deg,transparent,var(--ice),#e8f0f2);box-shadow:0 0 15px 5px #65e7ff55;pointer-events:none;z-index:10;opacity:0}.milestone .success-beam{animation:seal-beam .65s ease-out}.milestone .memory-chain{filter:drop-shadow(0 0 12px var(--ice))}.reprojecting .ribbon,.reprojecting .hardlight-dock{filter:brightness(1.5);opacity:.55}.inspection{background:rgba(3,13,24,.87);border:1px solid var(--ice);border-radius:16px 0;box-shadow:0 0 25px #65e7ff25}.inspection::backdrop{background:rgba(0,8,14,.35);backdrop-filter:blur(2px)}.object-bar{background:rgba(3,13,24,.85);border-bottom:1px solid var(--line)}.object-bar h2{flex:1}.object-bar button{background:transparent;border-color:var(--line);margin-left:6px}.panel-open .ribbon,.panel-open .hardlight-dock{opacity:.25}.mechanism{border-color:var(--line);background:rgba(3,13,24,.55)}.range-buttons{display:flex;gap:5px;flex-wrap:wrap}.range-buttons button{min-width:44px;min-height:44px}.hint-panel{padding:24px;max-width:720px;margin:auto}.hint-panel h3{font-size:24px}.hint-panel small{display:block;margin-top:20px;color:var(--ice)}.whisper{font:21px/1.7 Georgia,serif;border-left:2px solid var(--ice);padding-left:16px}.hint-panel button{margin:6px}.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px}.memory-card{border:1px solid var(--line);padding:18px;background:#0b233055}.memory-card h3{font-size:20px}.memory-card p{font-size:14px}.notebook-dots{display:flex;justify-content:space-around;padding:20px 0}.start{z-index:8;padding:8vw;overflow:auto}.start h1{max-width:650px;font-size:clamp(38px,6vw,76px)}.intro{font:20px/1.7 Georgia,serif;max-width:560px}.intro-controls{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;color:#b4d9df}.first-whisper{font:16px Georgia,serif;color:#bdc7fa}.eyebrow{color:var(--ice)}
.hardlight-dock,.utilities,.status,.hotspots{transition:opacity 160ms ease,filter 160ms ease}.hud-idle .hardlight-dock,.hud-idle .utilities,.hud-idle .status,.hud-idle .hotspots{opacity:0;visibility:hidden;transition:opacity 420ms ease,visibility 0s 420ms}.hud-idle .identity,.hud-idle .telemetry{opacity:.55}.hud-idle .memory-chain{opacity:.4}.hud-idle .wake-control{border-color:var(--ice)}.ribbon:focus-within{opacity:1}.reduce-effects *,.reduce-effects *:before,.reduce-effects *:after{animation:none!important;transition:none!important}.high-contrast{--line:rgba(232,240,242,.55);--scrim:.55}.high-contrast :is(button,.target,.hard-frame,.mechanism){border-color:var(--line)}.high-contrast :is(.hard-frame,.status,.hot-label){text-shadow:2px 0 2px #000,-2px 0 2px #000,0 2px 2px #000,0 -2px 2px #000}.high-contrast .refusing{box-shadow:0 0 0 2px var(--warm)}
@keyframes node-breathe{50%{box-shadow:0 0 22px #65e7ff88}}@keyframes materialize{from{clip-path:inset(0 0 100% 0);filter:brightness(2)}to{clip-path:inset(0);filter:brightness(1)}}@keyframes scan-drift{to{background-position:0 64px}}@keyframes seal-beam{0%{opacity:0;transform:scaleY(.1);transform-origin:bottom}35%{opacity:1}100%{opacity:0;transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){*,:before,:after{animation:none!important;transition:none!important}}@media(prefers-contrast:more){#game{--line:rgba(232,240,242,.55);--scrim:.55}}@media(forced-colors:active){button,.hard-frame,.target,.context-panel{border:2px solid ButtonText!important}.active-node{outline:3px solid Highlight}.refusing{border-style:dashed!important}.integrity-line{border:3px solid CanvasText}}
@media(max-width:1199px){.ribbon{grid-template-columns:200px 1fr 190px;gap:8px}.memory-chain{grid-column:1 / -1;grid-row:2;padding:4px}.identity{grid-column:1 / 3;padding:10px}.telemetry{grid-column:3;padding:10px}.ribbon-controls{grid-row:3}.memory-chain:before{top:35px}.memory-chain button{min-height:52px;flex-basis:52px}.context-panel{top:275px}.identity strong{font-size:16px}.operational{padding-top:4px}.telemetry strong{font-size:22px}.telemetry span,.integrity-line{display:none}.hardlight-dock{padding:10px}.status{bottom:180px}}
@media(max-width:767px){.ribbon{top:8px;left:8px;right:8px;grid-template-columns:1fr auto;gap:5px}.identity{grid-column:1;padding:8px}.identity small,.identity>span,.telemetry small{display:none}.identity strong{font-size:14px}.operational{font-size:12px}.telemetry{grid-column:2;padding:8px;align-self:stretch;justify-content:center}.telemetry strong{font-size:20px}.memory-chain{justify-content:flex-start;gap:5px;scroll-padding:8px}.memory-chain button{flex-basis:44px;min-height:46px}.node-number{font-size:15px}.memory-chain:before{top:27px}.ribbon-controls{gap:4px}.ribbon-controls button{font-size:12px;padding:4px 6px}.utilities{gap:3px}.utilities button{font-size:19px;min-width:38px}.hardlight-dock{width:calc(100% - 16px);bottom:8px;grid-template-columns:1fr;gap:5px;padding:10px}.hardlight-dock .hud-readout{grid-column:1;font-size:12px;justify-content:center}.hardlight-dock .travel{grid-column:1;justify-content:center}.travel button{flex:1;font-size:14px}.hardlight-dock .turns{grid-column:1;justify-content:center;gap:3px}.turns button{flex:1;min-width:38px}.hardlight-dock .walk-dock{grid-column:1;justify-content:center}.hardlight-dock footer{grid-column:1;justify-content:center}.save{display:none}.inventory{left:0;right:0;gap:10px;max-height:35svh;overflow:auto}.status{bottom:260px;left:10px;right:10px;font-size:13px}.context-panel{top:auto;bottom:265px;left:8px;right:8px;width:auto;max-height:32svh;padding:14px}.context-panel h2{font-size:18px;margin:6px 0}.context-panel p{margin:8px 0}.signal-wave{display:none}.memory-grid{grid-template-columns:1fr;padding:12px}.start{padding:24px}.start h1{font-size:42px;margin:14px 0}.intro{font-size:18px}.intro-controls{font-size:14px;gap:8px}.first-whisper{font-size:14px}.hot-label{min-width:95px;font-size:12px}.hint-panel{padding:18px}}
@media(max-height:550px){.ribbon{grid-template-columns:170px 1fr;gap:4px}.identity{grid-column:1;grid-row:1;padding:8px}.identity small,.identity>span,.telemetry{display:none}.identity strong{font-size:13px}.memory-chain{grid-column:2;grid-row:1;padding:0;justify-content:flex-start}.memory-chain button{min-height:44px;flex-basis:44px}.ribbon-controls{grid-row:2}.hardlight-dock{max-height:36svh;overflow-y:auto;pointer-events:auto}.context-panel{top:112px;bottom:auto;max-height:44svh;width:260px;left:auto;right:10px}.status{display:none}.seals-panel{left:10px;right:auto}.start{padding:24px}.start h1{font-size:32px;margin:5px 0}.intro{font-size:15px;margin:8px 0}.intro-controls{font-size:13px}.first-whisper{margin:8px 0}.start button{min-height:44px}}

.hard-frame:before{transform:translateX(var(--projection-x,0px));transition:transform 200ms ease}.inventory .shard-label{display:block;font-size:12px;max-width:95px;line-height:1.3}.inventory button{font-size:24px}.success-beam{left:var(--beam-x,50%)}.story-disturbance .hard-frame{border-color:var(--violet);filter:drop-shadow(2px 0 2px #c1b6ff77)}.page-hidden *{animation-play-state:paused!important}.reduce-effects .success-beam{display:none}.reduce-effects .story-disturbance .hard-frame{filter:none}.hardlight-dock button:hover{border-color:var(--ice);box-shadow:0 0 12px #65e7ff44}

.sound-settings{padding:16px 20px;border-bottom:1px solid var(--line)}.sound-settings output{display:inline-block;margin:0 14px}
