:root{color:#e0f2fe;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--panel:#03121ceb;--border:#7dd3fc33;--border-strong:#7dd3fc73;--muted:#7f9fb5;--cyan:#67e8f9;--amber:#fde047;--rose:#fb7185;--green:#4ade80;background:#03131f;font-family:Microsoft YaHei,Noto Sans SC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;height:100%;margin:0}body{background:radial-gradient(circle at 20% 10%,#22d3ee1f,#0000 30%),radial-gradient(circle at 80% 80%,#0e749029,#0000 34%),#03131f;overflow:hidden}button{font:inherit}button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.game-app{grid-template-rows:auto minmax(0,1fr) auto;width:100%;min-width:0;max-width:100vw;height:100%;display:grid;position:relative;overflow:hidden}.topbar,.bottombar{z-index:5;border-color:var(--border);background:#020d16f2;align-items:center;gap:14px;min-width:0;max-width:100vw;padding:10px 14px;display:flex;position:relative}.topbar{border-bottom:1px solid var(--border)}.bottombar{border-top:1px solid var(--border);justify-content:space-between;align-items:stretch}.brand{align-items:center;gap:10px;min-width:200px;display:flex}.brand-mark{color:#cffafe;background:linear-gradient(145deg,#22d3ee38,#082f4924);border:1px solid #7dd3fc8c;border-radius:8px;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid}.brand>div{gap:2px;display:grid}.brand strong{color:#f8fafc;font-size:15px}.brand small{color:var(--muted);font-size:10px}.hud{flex-wrap:wrap;flex:1;align-items:center;gap:7px;min-width:0;display:flex}.hud-objective{flex:none;align-items:center;gap:7px;display:flex}.gear-rack{border:1px solid var(--border);background:#081e2cb3;border-radius:7px;flex:none;align-items:center;gap:4px;padding:4px 6px;display:flex}.gear-slot{color:#94a3b899;border:1px dashed #94a3b873;border-radius:6px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:500;transition:border-color .3s,color .3s,background .3s;display:grid}.gear-slot svg{width:15px;height:15px}.gear-slot.owned{border:1px solid var(--gear-color,#e0f2fe);color:var(--gear-color,#e0f2fe);text-shadow:0 0 6px var(--gear-color,#e0f2fe);background:#081e2c66}.hud-chip{border:1px solid var(--border);background:#081e2cb3;border-radius:7px;gap:2px;min-width:76px;padding:6px 9px;display:grid}.hud-chip span{color:var(--muted);font-size:10px}.hud-chip strong{color:#e0f2fe;font-variant-numeric:tabular-nums;font-size:13px}.oxygen-chip{min-width:132px}.hud-chip.full{border-color:#fb71859e}#hud-cargo.full{color:#fb7185}.hud-chip.refused{animation:.2s ease-in-out 4 cargo-refuse}@keyframes cargo-refuse{0%,to{background:#081e2cb3;border-color:#fb71859e}50%{background:#78142dd1;border-color:#fb7185}}.oxygen-track{background:#7dd3fc24;border-radius:999px;height:4px;overflow:hidden}.oxygen-track i{border-radius:inherit;background:linear-gradient(90deg,#22d3ee,#67e8f9);width:100%;height:100%;transition:width .1s linear,background .14s;display:block}.oxygen-track i.danger{background:linear-gradient(90deg,#fb7185,#f97316)}.oxygen-chip.warn{border-color:#fde0479e}.oxygen-chip.warn strong{color:#fde047}.oxygen-chip.critical{background:#4c05199e;border-color:#fb7185c7;animation:1.1s ease-in-out infinite oxygen-pulse}.oxygen-chip.critical strong{color:#fda4af}.oxygen-chip.panic{background:#60071ebd;border-color:#f43f5ef2;animation:.5s ease-in-out infinite oxygen-pulse}.oxygen-chip.panic strong{color:#fecdd3}@keyframes oxygen-pulse{0%,to{box-shadow:0 0 #f43f5e00}50%{box-shadow:0 0 0 3px #f43f5e66}}.oxygen-alert{color:#fee2e2;letter-spacing:3px;opacity:0;pointer-events:none;background:#4c0519cc;border:1px solid #f43f5ed9;border-radius:8px;padding:10px 22px;font-size:18px;font-weight:800;transition:opacity .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,96px)}.oxygen-alert.visible{opacity:1;animation:.9s ease-in-out infinite alert-blink}.cargo-alert{color:#ffedd5;letter-spacing:3px;opacity:0;pointer-events:none;background:#431407db;border:1px solid #fb923ceb;border-radius:8px;padding:10px 22px;font-size:18px;font-weight:800;transition:opacity .16s;position:absolute;top:50%;left:50%;transform:translate(-50%,150px)}.cargo-alert.visible{opacity:1;animation:.9s ease-in-out infinite alert-blink}@keyframes alert-blink{0%,to{opacity:1}50%{opacity:.32}}.jelly-hint{color:#cffafe;border-color:#67e8f98c;top:52px}.sonar-chip{border-color:#67e8f957;min-width:118px}.sonar-track{background:#7dd3fc24;border-radius:999px;height:4px;overflow:hidden}.sonar-track i{border-radius:inherit;background:linear-gradient(90deg,#a5f3fc,#22d3ee);width:100%;height:100%;transition:width 90ms linear;display:block}.sonar-track i.cooling{background:linear-gradient(90deg,#475569,#94a3b8)}#alert-chip.danger{background:#4c0519b8;border-color:#fb7185b3}#alert-chip.danger strong{color:#fda4af}#alert-chip.hunted{background:#6f0822d9;border-color:#fb7185f2;animation:.75s ease-in-out infinite alert-blink}.tool-button.sonar{color:#cffafe;background:#0c2c3cdb;border-color:#67e8f99e;min-width:118px;font-weight:700}.tool-button.sonar:not(:disabled):hover{border-color:var(--cyan);background:#154a60f2}.tool-button.sonar.cooling{color:#93b4c6;font-weight:600}.top-actions,.actions{flex-shrink:0;gap:7px;display:flex}.ghost-button,.tool-button,.primary-button,.upgrade-card{border:1px solid var(--border-strong);color:#e0f2fe;cursor:pointer;background:#081e2cbd;border-radius:7px;transition:border-color .14s,background .14s,transform .14s}.ghost-button{min-width:58px;padding:8px 10px;font-size:12px}.ghost-button:hover,.tool-button:hover,.upgrade-card:hover{background:#0e3448eb;border-color:#67e8f9d1}.ghost-button:disabled,.tool-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.4}.game-shell{min-height:0;position:relative;overflow:hidden}#game-canvas{width:100%;height:100%;display:block}.toast-layer{pointer-events:none;justify-items:end;gap:6px;display:grid;position:absolute;bottom:14px;right:14px}.toast-item{border:1px solid var(--border);background:#020f17d6;border-radius:7px;padding:7px 11px;font-size:12px}.rescue-hint{color:#bbf7d0;opacity:0;pointer-events:none;background:#03141cd6;border:1px solid #4ade8085;border-radius:999px;padding:7px 12px;font-size:12px;transition:opacity .14s,transform .14s;position:absolute;top:14px;left:50%;transform:translate(-50%,-10px)}.rescue-hint.visible{opacity:1;transform:translate(-50%)}.controls{min-width:0;color:var(--muted);scrollbar-width:none;flex:1;align-items:center;gap:12px;font-size:11px;display:flex;overflow-x:auto}.controls::-webkit-scrollbar{display:none}.controls span{white-space:nowrap}.actions{border-left:1px solid var(--border);align-items:center;padding-left:10px}.tool-button{min-width:92px;padding:9px 11px;font-size:12px}.tool-button.danger:hover{border-color:#fb7185d1}.tool-button.danger.armed{color:#fecaca;background:#60161ef2;border-color:#f87171f2;font-weight:700;animation:.85s ease-in-out infinite restart-armed}@keyframes restart-armed{0%,to{opacity:1}50%{opacity:.62}}.tool-button.active{color:#fde68a;border-color:#facc15e6;animation:.9s ease-in-out infinite collect-pulse}@keyframes collect-pulse{0%,to{box-shadow:0 0 #facc156b}50%{box-shadow:0 0 0 5px #facc1500}}.primary-button{color:#041a22;background:linear-gradient(#a5f3fc,#67e8f9);border-color:#67e8f9d1;padding:10px 16px;font-weight:800}.primary-button.large{min-width:190px;padding:12px 20px;font-size:15px}.modal-root{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#01080ea3;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-root:empty{display:none}.modal-panel{border:1px solid var(--border-strong);pointer-events:auto;background:linear-gradient(#051825fa,#030e17fa);border-radius:10px;width:min(760px,100%);max-height:92vh;padding:28px;overflow-y:auto;box-shadow:0 24px 80px #0000008a}.modal-panel h1,.modal-panel h2{color:#f8fafc;margin:8px 0 10px;line-height:1.15}.modal-panel h1{font-size:44px}.modal-panel h2{font-size:28px}.modal-panel p{color:#a9c3d4;margin:0 0 18px;font-size:14px;line-height:1.7}.eyebrow{color:var(--cyan);font-size:11px;font-weight:800}.intro-panel,.result-panel{text-align:center}.intro-grid,.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 22px;display:grid}.result-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.intro-grid div,.result-grid div{border:1px solid var(--border);background:#081e2c8a;border-radius:8px;gap:6px;padding:12px;display:grid}.intro-grid strong{color:var(--cyan);font-size:22px}.intro-grid span,.result-grid span{color:var(--muted);font-size:11px}.result-grid strong{color:#f8fafc;font-size:21px}.death-loss{background:#500a1852;border:1px solid #fb718559;border-radius:8px;gap:6px;margin:14px 0 4px;padding:10px 12px;display:grid}.loss-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.loss-row span{color:var(--muted);font-size:12px}.loss-row strong{color:#fda4af;font-size:15px}.death-advice{border-left:2px solid var(--cyan);color:#a5f3fc;background:#081e2c8a;margin:10px 0 0;padding:9px 12px;font-size:12.5px;line-height:1.6}.upgrade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.upgrade-card{text-align:left;align-content:start;gap:8px;min-height:170px;padding:14px;display:grid}.upgrade-card strong{color:#f8fafc;font-size:16px}.upgrade-card>span:not(.upgrade-level):not(.upgrade-price){color:var(--muted);font-size:12px;line-height:1.55}.upgrade-level{width:fit-content;color:var(--upgrade-color);background:#ffffff0f;border-radius:4px;padding:3px 7px;font-size:10px;font-weight:800}.upgrade-card:hover{border-color:var(--upgrade-color);transform:translateY(-2px)}.balance-row{background:linear-gradient(90deg,#22d3ee29,#081e2c66);border:1px solid #67e8f957;border-radius:8px;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 4px;padding:12px 16px;display:flex}.balance-row span{color:var(--muted);letter-spacing:.08em;font-size:12px}.balance-row strong{color:#a5f3fc;font-variant-numeric:tabular-nums;font-size:28px}.upgrade-error{color:#fecaca;background:#7f1d1d47;border:1px solid #fca5a580;border-radius:8px;margin:10px 0 0;padding:10px 14px;font-size:13px}.upgrade-card:disabled{cursor:not-allowed;opacity:.52}.upgrade-card:disabled:hover{border-color:var(--border);transform:none}.upgrade-price{color:#cffafe;font-variant-numeric:tabular-nums;background:#22d3ee29;border-radius:6px;width:fit-content;margin-top:auto;padding:4px 10px;font-size:13px;font-weight:800}.upgrade-price:before{content:"◈ ";opacity:.7}.upgrade-price.short{color:#fecaca;background:#fb718524}.upgrade-price.maxed{color:var(--muted);background:#94a3b824}.upgrade-price.maxed:before{content:""}.cleared-panel{text-align:center;border-color:#22d3ee80;box-shadow:0 0 46px -12px #22d3ee8c}.cleared-panel h2{color:#cffafe}.chapter-note{max-width:46ch;margin:0 auto;font-style:italic;color:#bae6fd!important;font-size:14px!important}.finished-panel{text-align:center;border-color:#a3e63573;max-width:560px;animation:1.6s both finished-fade;box-shadow:0 0 60px -14px #a3e63566}@keyframes finished-fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.finished-panel h2{color:#d9f99d}.ending-subtitle{font-style:italic;color:#bae6fd!important;font-size:14px!important}.ending-text{border:1px solid var(--border);text-align:left;background:#081e2c8a;border-left:2px solid #a3e63580;border-radius:8px;gap:10px;margin:18px 0 4px;padding:16px 18px;display:grid}.ending-text p{color:#e2e8f0;margin:0;font-size:13px;line-height:1.8}.ending-text p:last-child{color:#a5f3fc}.finished-panel .result-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 14px}.ending-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.next-hint{margin-bottom:20px;color:var(--muted)!important;font-size:12px!important}.radio-line{text-align:left;background:#22d3ee12;border-left:2px solid #22d3ee8c;margin:0 0 18px;padding:10px 14px;font-style:italic;color:#bae6fd!important;font-size:13px!important}.intro-goal{text-align:left;background:#22d3ee12;border-left:2px solid #22d3ee8c;padding:12px 16px}.intro-goal b{color:#a5f3fc}.resume-note{text-align:left;background:#22d3ee14;border:1px solid #67e8f959;border-radius:6px;padding:10px 14px;color:#bae6fd!important;font-size:13px!important}.resume-note b{color:#a5f3fc}.ghost-button.large{width:100%;color:var(--muted);margin-top:10px;padding:10px 20px;font-size:13px}.ghost-button.large.armed{color:#fecaca;background:#60161ef2;border-color:#f87171f2;font-weight:700;animation:.85s ease-in-out infinite restart-armed}.computer-chip strong{color:#67e8f9;font-variant-numeric:tabular-nums}.key-chip{border-color:#ef9f278c}.key-chip.located strong{color:#fbbf24}.key-chip.aboard strong{color:#2a1602;background:#fbbf24;border-radius:4px;padding:1px 6px;animation:1.1s ease-in-out infinite key-aboard-pulse}.beacon-chip strong{color:#a3e635}.beacon-chip.partial strong{color:#facc15}.beacon-chip.ready strong{color:#03131f;background:#a3e635;border-radius:4px;padding:1px 6px}@keyframes key-aboard-pulse{0%,to{box-shadow:0 0 #67e8f98c}50%{box-shadow:0 0 0 6px #67e8f900}}@media (width<=900px){.brand{min-width:auto}.brand small{display:none}.hud-chip{min-width:68px;padding:5px 8px}}@media (width<=720px){.topbar{flex-wrap:wrap;overflow-x:hidden}.hud-objective{flex-wrap:wrap;flex-shrink:1;min-width:0;max-width:100%}.hud{flex-basis:100%;order:3;width:100%}.top-actions{margin-left:auto}.bottombar{flex-direction:column;align-items:stretch;overflow-x:hidden}.controls{padding-bottom:8px}.actions{border-top:1px solid var(--border);border-left:none;width:100%;padding:8px 0 0}.tool-button{flex:1}.modal-panel{padding:20px}.modal-panel h1{font-size:34px}.intro-grid,.result-grid,.upgrade-grid{grid-template-columns:1fr}}.touch-stick,.touch-knob{pointer-events:none;border-radius:50%;position:absolute}.touch-stick{left:16px;bottom:calc(74px + env(safe-area-inset-bottom));width:var(--stick-diameter,128px);height:var(--stick-diameter,128px);opacity:.36;z-index:4;background:radial-gradient(circle,#22d3ee29,#020d1657 72%);border:1px solid #7dd3fc57;transition:opacity .14s,transform .14s;display:none;transform:scale(.94)}.touch-knob{width:calc(var(--stick-diameter,128px) * .375);height:calc(var(--stick-diameter,128px) * .375);background:radial-gradient(circle at 34% 28%,#cffafe8c,#22d3ee3d);border:1px solid #a5f3fcb3;top:50%;left:50%;transform:translate(-50%,-50%)}#sprint-button{display:none}body.touch-device .touch-stick{display:block}body.touch-device .touch-stick.active{opacity:1;transform:scale(1)}body.touch-device #sprint-button{display:block}body.touch-device .game-shell{touch-action:none;-webkit-user-select:none;user-select:none}body.touch-device .bottombar{z-index:6;padding:0 10px calc(10px + env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#020d1600,#020d16eb);border-top:none;position:absolute;bottom:0;left:0;right:0}body.touch-device .controls{display:none}body.touch-device .actions{pointer-events:auto;border:none;gap:8px;width:100%;padding:0}body.touch-device .tool-button{touch-action:manipulation;flex:1 1 0;min-width:0;min-height:54px;padding:10px 6px;font-size:13px}body.touch-device #restart-button{opacity:.66;flex:0 0 78px;order:0;font-size:12px}body.touch-device #sprint-button{flex:0 0 64px;order:1}body.touch-device #sonar-button{order:2}body.touch-device #interact-button{order:3}body.touch-device .tool-button.active{border-color:var(--cyan);background:#22d3ee38}body.touch-device .topbar{gap:8px;padding:6px 10px}body.touch-device .brand-mark{display:none}body.touch-device .hud-chip{min-width:56px;padding:4px 7px}body.touch-device .hud-chip span{font-size:9px}body.touch-device .hud-chip strong{font-size:12px}body.touch-device .oxygen-chip{min-width:92px}body.touch-device .hud{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 20px),#0000)}#supply-panel{z-index:60;color:#e2e8f0;background:#04141ef5;border:1px solid #7dd3fc59;border-radius:14px;width:min(480px,100vw - 32px);padding:14px 16px;position:fixed;top:12%;left:50%;transform:translate(-50%);box-shadow:0 18px 60px #0000008c}.supply-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.supply-head strong{color:#7dd3fc;letter-spacing:.06em}.supply-head button{color:#cbd5e1;cursor:pointer;background:0 0;border:1px solid #e2e8f04d;border-radius:8px;padding:4px 10px}.supply-tabs{gap:6px;margin-bottom:10px;display:flex}.supply-tabs button{color:#94a3b8;cursor:pointer;background:#0f2838cc;border:1px solid #7dd3fc33;border-radius:8px;flex:1;padding:6px 0}.supply-tabs button.active{color:#0f172a;background:#7dd3fc;border-color:#7dd3fc;font-weight:600}.supply-body{flex-direction:column;gap:8px;max-height:46vh;display:flex;overflow-y:auto}.supply-row{background:#0f28388c;border-radius:10px;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 12px;display:grid}.supply-row small{color:#94a3b8;grid-column:1/-1}.supply-row.locked{opacity:.45}.supply-status{color:#a3e635;align-self:center;font-size:12px}.supply-row.locked .supply-status{color:#94a3b8}.supply-radio p{color:#bae6fd;margin:6px 0 0;font-style:italic}#app.is-cutscene .topbar,#app.is-cutscene .bottombar,#app.is-cutscene .toast-layer,#app.is-cutscene .oxygen-alert,#app.is-cutscene .cargo-alert,#app.is-cutscene .rescue-hint,#app.is-cutscene .touch-stick{opacity:0;pointer-events:none}
