:root{--cy:#35e0ff;--cy2:#7ff0ff;--red:#ff4a3a;--bg:#020b10;--amber:#ffb040}*{box-sizing:border-box}html,body{color:#cfeff7;background:#010608;height:100%;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}canvas{outline:none;display:block}#app{position:fixed;inset:0}.hidden{display:none!important}#loading{z-index:50;background:radial-gradient(at 50% 40%,#07303f 0%,#020b10 70%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#loading h1{letter-spacing:.5em;color:var(--cy2);text-shadow:0 0 24px #35e0ff80;margin:0 0 6px .5em;font-size:clamp(22px,4vw,44px);font-weight:200}#loading p{letter-spacing:.3em;color:#6fa3b2;margin:6px 0 22px;font-size:12px}#loadbar{background:#35e0ff26;border-radius:2px;width:min(420px,70vw);height:4px;overflow:hidden}#loadfill{background:linear-gradient(90deg, #1a8aa8, var(--cy2));width:0;height:100%;box-shadow:0 0 12px var(--cy);transition:width .15s}#loadtxt{letter-spacing:.2em;color:#4d8696;min-height:1.2em;margin-top:14px;font-size:12px}#menu{z-index:20;background:linear-gradient(90deg,#01080ce0 0%,#01080c8c 45%,#01080c00 75%);justify-content:flex-start;align-items:center;padding:0 8vw;display:flex;position:absolute;inset:0}.card{scrollbar-width:thin;scrollbar-color:#1b6b82 transparent;width:min(560px,90vw);max-height:92vh;padding:8px 6px 8px 0;overflow-y:auto}.logo{letter-spacing:.22em;color:#e6fbff;text-shadow:0 0 30px #35e0ff8c,0 0 2px #fff;margin:0 0 6px;font-size:clamp(30px,5.2vw,66px);font-weight:200;line-height:1.04}.logo b{color:var(--cy2);letter-spacing:.18em;font-weight:700;display:block}.tag{letter-spacing:.38em;color:#5aa3b8;text-transform:uppercase;margin:0 0 38px;font-size:12px}.btn{text-align:left;letter-spacing:.28em;color:#d8f6ff;border:1px solid #35e0ff59;border-left:4px solid var(--cy);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#082a388c;width:100%;margin:0 0 12px;padding:15px 22px;font:600 15px/1 inherit;transition:all .15s;display:block}.btn:hover,.btn:focus{background:#1e82a08c;outline:none;transform:translate(8px);box-shadow:0 0 22px #35e0ff59}.btn.accent{border-left-color:var(--amber);color:#ffe7b8}.row{letter-spacing:.06em;background:#08222e8c;border:1px solid #35e0ff2e;justify-content:space-between;align-items:center;gap:18px;margin:0 0 12px;padding:10px 14px;font-size:14px;display:flex}.row label{color:#b8e6f2;flex:1}.row input[type=range]{width:46%;accent-color:var(--cy)}.row select{color:#d8f6ff;background:#08303d;border:1px solid #1a8aa8;padding:6px 8px;font-size:14px}.row .val{text-align:right;min-width:62px;color:var(--cy2);font-variant-numeric:tabular-nums}.grp{letter-spacing:.4em;color:var(--amber);margin:22px 0 10px;font-size:12px}.credit{border-bottom:1px solid #35e0ff1f;justify-content:space-between;gap:20px;padding:9px 0;font-size:14px;display:flex}.credit span:first-child{color:#7fb8c8}.hint{letter-spacing:.1em;color:#5a8c9c;margin-top:26px;font-size:12px;line-height:1.7}.hint kbd{color:#9fe8f8;border:1px solid #2a6a7c;border-radius:3px;padding:1px 6px;font-size:11px}#hud{z-index:10;pointer-events:none;position:absolute;inset:0}#cross{background:#a0f0ffb3;border-radius:50%;width:6px;height:6px;margin:-3px;transition:all .12s;position:absolute;top:50%;left:50%;box-shadow:0 0 6px #35e0ffcc}#cross.on{border:2px solid var(--cy2);background:0 0;width:18px;height:18px;margin:-9px}#prompt{letter-spacing:.05em;white-space:nowrap;background:#020e14c7;border:1px solid #35e0ff80;padding:6px 14px;font-size:15px;position:absolute;top:calc(50% + 26px);left:50%;transform:translate(-50%)}#objective{border-left:3px solid var(--cy);background:#020e149e;max-width:min(520px,60vw);padding:10px 16px;font-size:14px;line-height:1.45;position:absolute;top:20px;left:22px}#objective small{letter-spacing:.35em;color:var(--cy);margin-bottom:3px;font-size:10px;display:block}#bars{gap:14px;display:flex;position:absolute;bottom:22px;left:22px}.bar{letter-spacing:.25em;color:#7fb8c8;background:#020e149e;border:1px solid #35e0ff4d;width:160px;height:34px;padding:5px 8px;font-size:10px}.bar i{background:var(--cy);height:6px;box-shadow:0 0 8px var(--cy);margin-top:6px;transition:width .2s;display:block}#timer{color:var(--red);text-shadow:0 0 18px #ff3c28b3;letter-spacing:.08em;font:700 40px/1 Consolas,monospace;position:absolute;top:18px;right:24px}#timer.low{animation:.5s infinite blink}@keyframes blink{50%{opacity:.35}}#subtitle{text-align:center;text-shadow:0 2px 6px #000;width:min(820px,90vw);font-size:19px;line-height:1.5;position:absolute;bottom:11%;left:50%;transform:translate(-50%)}#subtitle b{color:var(--amber);letter-spacing:.12em;margin-bottom:2px;font-size:13px;display:block}#subtitle span{-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#0000008c;padding:2px 10px}#toast{text-align:center;border:1px solid var(--cy);letter-spacing:.04em;opacity:0;background:#02161ed9;max-width:min(680px,90vw);padding:12px 22px;font-size:16px;transition:opacity .3s;position:absolute;top:16%;left:50%;transform:translate(-50%);box-shadow:0 0 24px #35e0ff4d}#toast.on{opacity:1}#journal{z-index:30;background:#01080cd1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#journal .card{border:1px solid var(--cy);background:#041a24f2;max-width:760px;padding:28px 34px}#journal h2{letter-spacing:.35em;color:var(--cy2);margin:0 0 16px;font-weight:300}#journal h3{letter-spacing:.35em;color:var(--amber);margin:18px 0 8px;font-size:12px}#journal .code{letter-spacing:.4em;color:#e6fbff;font:700 34px Consolas,monospace}#journal .logbtn{text-align:left;color:#cfeff7;cursor:pointer;letter-spacing:.08em;background:#082a3899;border:1px solid #35e0ff4d;width:100%;margin:5px 0;padding:8px 12px;font-size:13px;display:block}#journal .logbtn:hover{background:#1e82a08c}#ending{z-index:40;text-align:center;background:#010608;justify-content:center;align-items:center;padding:6vw;display:flex;position:absolute;inset:0}#ending .inner{max-width:760px}#ending h1{letter-spacing:.5em;color:var(--cy2);margin:0 0 30px .5em;font-size:clamp(28px,5vw,56px);font-weight:200}#ending p{color:#b8dde8;opacity:0;margin:0 0 18px;font-size:18px;line-height:1.75;animation:1.6s forwards fadein}@keyframes fadein{to{opacity:1}}#vrbadge{z-index:12;letter-spacing:.25em;color:#7fb8c8;pointer-events:none;background:#020e1499;border:1px solid #35e0ff4d;padding:8px 14px;font-size:11px;position:absolute;bottom:18px;right:18px}#pausehint{letter-spacing:.2em;color:#6aa0b0;pointer-events:none;font-size:12px;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}
