:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fbff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#050607;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}#app{isolation:isolate;background:#050607;position:relative}#scene{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scene:active{cursor:grabbing}.alarm-wash,.damage-glow,.smoke,.pressure-lines,.noise{pointer-events:none;position:fixed;inset:0}.alarm-wash{z-index:2;mix-blend-mode:screen;opacity:.7;background:radial-gradient(circle at 12% 38%,#ff201847,#0000 22%),radial-gradient(circle at 86% 32%,#ff362042,#0000 25%),linear-gradient(90deg,#ff000026,#0000 36% 66%,#ff00002b);animation:1.1s infinite alarmPulse}.damage-glow{z-index:6;opacity:.86;mix-blend-mode:screen;background:radial-gradient(at top,#ff201461,#0000 36%),radial-gradient(at bottom,#ff00006b,#0000 38%),radial-gradient(at 0,#ff00006b,#0000 34%),radial-gradient(at 100%,#ff00006b,#0000 34%);animation:1.45s infinite edgePulse;box-shadow:inset 0 0 70px #ff00008f,inset 0 0 150px #91000085}.theme-lab .alarm-wash{background:radial-gradient(circle at 52% 18%,#ff342647,#0000 22%),radial-gradient(circle at 78% 46%,#23a6ff38,#0000 27%),linear-gradient(90deg,#ff3a1c1f,#0000 50%,#35a8ff26)}.theme-greenhouse .alarm-wash{background:radial-gradient(circle at 18% 35%,#ff282052,#0000 23%),radial-gradient(circle at 74% 28%,#56abff2e,#0000 30%)}.theme-elevator .alarm-wash{background:radial-gradient(circle at 18% 45%,#ff6c1847,#0000 24%),radial-gradient(circle at 88% 45%,#ff181052,#0000 28%)}.theme-submarine .alarm-wash{background:radial-gradient(circle at 28% 26%,#ff141457,#0000 23%),radial-gradient(circle at 88% 48%,#ff181047,#0000 24%)}.theme-medbay .alarm-wash{background:radial-gradient(circle at 18% 34%,#ff1c1c47,#0000 24%),radial-gradient(circle at 58% 42%,#41ff9e33,#0000 28%),linear-gradient(90deg,#23b4ff1f,#0000 58%,#ff1c1c24)}.theme-server .alarm-wash{background:radial-gradient(circle at 28% 42%,#ff6e1c57,#0000 26%),radial-gradient(circle at 62% 34%,#2aa0ff2e,#0000 26%),linear-gradient(90deg,#0000,#ff761e29,#0000)}.theme-asteroid .alarm-wash{background:radial-gradient(circle at 22% 44%,#ff642657,#0000 26%),radial-gradient(circle at 78% 52%,#ff9c3c2e,#0000 28%)}.theme-observatory .alarm-wash{background:radial-gradient(circle at 16% 42%,#ff66146b,#0000 28%),radial-gradient(circle at 82% 40%,#3a9aff2e,#0000 24%),linear-gradient(90deg,#ff80141f,#0000 48%,#39a0ff21)}.theme-kitchen .alarm-wash{background:radial-gradient(circle at 72% 46%,#ff5e1c57,#0000 26%),radial-gradient(circle at 46% 42%,#ff2d232e,#0000 20%),linear-gradient(90deg,#0000 40%,#ff702329,#0000)}.theme-subway .alarm-wash{background:radial-gradient(circle at 20% 42%,#ff201c3d,#0000 24%),radial-gradient(circle at 76% 38%,#ffffff1f,#0000 28%),linear-gradient(90deg,#ff14141f,#0000 50%,#ffffff14)}.theme-hospital .alarm-wash{background:radial-gradient(circle at 10% 52%,#ff1e1e33,#0000 24%),radial-gradient(circle at 56% 48%,#41ff8229,#0000 22%),linear-gradient(90deg,#0000,#ff241c1a,#0000)}.theme-basement .alarm-wash{background:radial-gradient(circle at 16% 45%,#ff302438,#0000 25%),radial-gradient(circle at 50% 70%,#3782ff24,#0000 34%),linear-gradient(90deg,#ff341c1a,#0000 56%,#3782ff1f)}.smoke{z-index:3;filter:blur(24px);mix-blend-mode:screen;background:radial-gradient(at 18% 20%,#cfdcdc29,#0000 28%),radial-gradient(at 62% 18%,#ffffff1a,#0000 30%),radial-gradient(at 82% 62%,#97b8be1a,#0000 30%)}.smoke-a{opacity:.58;animation:18s linear infinite driftA}.smoke-b{opacity:.34;animation:23s linear infinite driftB;transform:scaleX(-1)}.pressure-lines{z-index:4;opacity:.13;mix-blend-mode:overlay;background:linear-gradient(90deg,#0000,#ffffff1f,#0000),repeating-linear-gradient(0deg,#0000 0 12px,#ffffff1a 13px 14px);animation:4.5s linear infinite pressureSweep}.noise{z-index:5;opacity:.1;mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,#ffffff21 0 1px,#0000 1px 4px),radial-gradient(circle at 50% 100%,#0010187a,#0000 42%)}.start-panel,.system,.timer-cluster,.briefing-card,.icon-button,.attempt-card,.result-panel{-webkit-backdrop-filter:blur(14px)saturate(135%);backdrop-filter:blur(14px)saturate(135%);background:#05080ab8;border:1px solid #fff3;box-shadow:0 18px 50px #00000057}.start-panel{z-index:30;border-radius:8px;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);gap:18px;width:min(720px,100vw - 30px);padding:24px;display:grid;position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.playing .start-panel{display:none}.panel-kicker,.timer-label,.attempt-room,.result-kicker,.board-title{color:#ffe38a;text-transform:uppercase;letter-spacing:0;font-size:.74rem;font-weight:840}.start-panel h1{letter-spacing:0;margin:6px 0 20px;font-size:clamp(2rem,7vw,3.55rem);line-height:.95}.start-panel label:not(.sound-toggle){color:#cfe0e7;margin-bottom:8px;font-size:.86rem;font-weight:740;display:block}.name-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.name-row input{color:#fff;background:#0000005c;border:1px solid #ffffff38;border-radius:8px;outline:none;min-width:0;min-height:46px;padding:0 13px}.name-row input:focus{border-color:#ffe069d6}.name-row button,.result-panel button{color:#17130a;cursor:pointer;background:#f6d55a;border:1px solid #ffffff3d;border-radius:8px;min-height:46px;font-weight:840}.name-row button{padding:0 18px}.sound-toggle{color:#d8e5e9;align-items:center;gap:8px;margin-top:14px;font-size:.86rem;font-weight:700;display:inline-flex}.sound-toggle input{accent-color:#f6d55a;width:18px;height:18px}.start-board{background:#ffffff12;border-radius:8px;min-width:0;padding:14px}.start-board ol{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.start-board li{background:#00000038;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:9px 10px;display:grid}.start-board span{color:#f3f8fb;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.start-board b{color:#ffe38a;font-variant-numeric:tabular-nums}.start-board em{color:#aebec7;grid-column:1/-1;font-size:.76rem;font-style:normal}.hud{z-index:12;top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));right:max(12px, env(safe-area-inset-right));grid-template-columns:minmax(96px,1fr) auto minmax(44px,1fr);align-items:start;gap:10px;min-height:68px;transition:opacity .18s;display:grid;position:fixed}.hud .system{grid-area:1/1}.hud .timer-cluster{grid-area:1/2}.hud .icon-button{grid-area:1/3}.intro .hud,.intro .attempt-card{opacity:0;pointer-events:none}.system{color:#f3f8fb;text-transform:uppercase;letter-spacing:0;border-radius:8px;align-items:center;gap:9px;width:fit-content;min-width:0;max-width:100%;padding:10px 12px;font-size:.76rem;font-weight:780;display:inline-flex}.beacon{background:#ff372a;border-radius:999px;flex:none;width:11px;height:11px;animation:.68s infinite beacon;box-shadow:0 0 18px #ff372a}.timer-cluster{text-align:center;border-radius:8px;justify-self:center;width:min(245px,50vw);padding:8px 12px 10px}.briefing-card{text-align:center;border-radius:8px;grid-area:2/1/auto/-1;justify-self:center;width:min(620px,100vw - 28px);margin-top:2px;padding:11px 14px 12px}.briefing-room{color:#ffe38a;letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:840}.briefing-card p{color:#e5f0f2;max-width:66ch;margin:4px auto 0;font-size:.92rem;line-height:1.35}.timer{font-variant-numeric:tabular-nums;color:#fff2dc;text-shadow:0 0 18px #ff4c266b,0 0 42px #ff00003d;font-size:clamp(2.35rem,7vw,4.2rem);font-weight:880;line-height:.92}.timer.critical{color:#ffddd6;animation:.36s infinite critical}.pressure-meter{background:#ffffff29;border-radius:999px;height:5px;margin-top:9px;overflow:hidden}.pressure-meter span{transform-origin:0;background:linear-gradient(90deg,#f6d55a,#ff653d,#ff2a22);width:100%;height:100%;transition:transform .24s;display:block}.icon-button{color:#f8fbff;cursor:pointer;border-radius:8px;justify-self:end;place-items:center;width:44px;height:44px;padding:0;display:grid}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.attempt-card{z-index:14;left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;width:min(410px,100vw - 28px);padding:14px;animation:.18s ease-out attemptIn;display:grid;position:fixed}.attempt-card[hidden]{display:none}.attempt-mark{color:#fff;background:#ff3e32;border-radius:999px;place-items:center;width:34px;height:34px;font-size:1.6rem;font-weight:900;line-height:1;display:grid;box-shadow:0 0 22px #ff3e3294}.attempt-card.correct .attempt-mark{color:#17130a;background:#f6d55a;box-shadow:0 0 26px #f6d55ab8}.attempt-title{color:#fff;margin:4px 0 5px;font-size:1.05rem;font-weight:840}.attempt-message{color:#d8e5e9;font-size:.94rem;line-height:1.35}.result-panel{z-index:22;text-align:center;border-radius:8px;width:min(470px,100vw - 32px);padding:30px 26px 26px;position:fixed;inset:50% auto auto 50%;overflow:hidden;transform:translate(-50%,-50%)}.result-panel[hidden]{display:none}.success-ring{pointer-events:none;background:conic-gradient(#0000,#f6d55a73,#0000,#62ff9d47,#0000),radial-gradient(circle,#f6d55a2e,#0000 55%);animation:1.65s linear infinite rewardSpin;position:absolute;inset:-45%}.result-panel>:not(.success-ring){position:relative}.result-kicker{margin-bottom:8px}.result-panel h1{letter-spacing:0;margin:0 0 10px;font-size:clamp(2.3rem,7vw,4rem);line-height:.9}.result-panel p{color:#e8f4f6;max-width:34ch;margin:0 auto 18px;line-height:1.45}.reward-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.reward-row span{color:#ffe38a;background:#ffffff1a;border-radius:8px;place-items:center;min-height:42px;font-weight:860;display:grid}.reward-row span+span{color:#d8e5e9;font-size:.86rem}.result-panel button{min-width:132px;padding:0 18px}.result-panel button+button{color:#f8fbff;background:#ffffff1a;margin-left:8px}.wrong-flash .damage-glow{animation:.18s 5 wrongEdge}.won .damage-glow{background:radial-gradient(at top,#f6d55a61,#0000 38%),radial-gradient(at bottom,#62ff9d47,#0000 40%),radial-gradient(at 0,#f6d55a47,#0000 34%),radial-gradient(at 100%,#f6d55a47,#0000 34%);animation:.86s infinite winEdge;box-shadow:inset 0 0 80px #f6d55a6b,inset 0 0 180px #62ff9d33}.lost .damage-glow{opacity:1;animation:.28s infinite wrongEdge}@keyframes alarmPulse{0%,to{opacity:.42}48%{opacity:.96}}@keyframes edgePulse{0%,to{opacity:.42;transform:scale(1)}50%{opacity:.9;transform:scale(1.015)}}@keyframes wrongEdge{0%,to{opacity:.55}50%{opacity:1}}@keyframes winEdge{0%,to{opacity:.45}50%{opacity:.85}}@keyframes beacon{0%,to{opacity:.62;transform:scale(.78)}50%{opacity:1;transform:scale(1.1)}}@keyframes driftA{0%{transform:translate(-4%)scale(1.08)}to{transform:translate(5%,-2%)scale(1.14)}}@keyframes driftB{0%{transform:translate(5%,1%)scaleX(-1)scale(1.1)}to{transform:translate(-4%,-2%)scaleX(-1)scale(1.18)}}@keyframes pressureSweep{0%{transform:translateY(-18px)}to{transform:translateY(18px)}}@keyframes critical{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.045)}}@keyframes attemptIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes rewardSpin{to{transform:rotate(1turn)}}@media (width<=760px){.start-panel{grid-template-columns:1fr;gap:14px;width:min(430px,100vw - 24px);padding:20px}.hud{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));grid-template-columns:92px auto 44px;gap:6px}.briefing-card{width:min(360px,100vw - 16px);margin-top:0;padding:9px 11px 10px}.briefing-room{font-size:.62rem}.briefing-card p{max-width:38ch;font-size:.76rem;line-height:1.28}.system{max-width:92px;padding:8px 9px;font-size:.64rem}.timer-cluster{width:min(168px,46vw);padding:7px 9px 9px}.timer{font-size:clamp(2.15rem,12vw,3.4rem)}.timer-label{font-size:.62rem}.icon-button{width:40px;height:40px}.attempt-card{left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));grid-template-columns:38px minmax(0,1fr);width:auto;padding:12px}.attempt-mark{width:32px;height:32px}.result-panel{padding:24px 20px 20px}.result-panel button{width:100%}.result-panel button+button{margin:8px 0 0}.reward-row{grid-template-columns:1fr}}
