:root{--ink:#e8ecff;--dim:#c8d4ff9e;--panel:#080b1c9e;--line:#96b4ff2e;--good:#7dffb0;--warn:#ffc56b;--accent:#6aa8ff}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;background:#04050d;margin:0;font:15px/1.4 "Exo 2",system-ui,sans-serif;overflow:hidden}#app{position:fixed;inset:0}.cosmos-canvas{cursor:crosshair;display:block;position:absolute;inset:0}.hud{pointer-events:none;position:absolute;inset:0}.hud-stage{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;min-width:220px;padding:12px 14px;position:absolute;top:16px;left:16px}.hud-stage-name{letter-spacing:.06em;text-transform:uppercase;font:900 18px/1.1 Orbitron,"Exo 2",sans-serif}.hud-stage-name[data-kind=planet]{color:#9fd8ff}.hud-stage-name[data-kind=star]{color:#ffd98a}.hud-stage-name[data-kind=neutron]{color:#cfe0ff}.hud-stage-name[data-kind=hole]{color:#ffa46a}.hud-mass{color:var(--dim);transform-origin:0;margin-top:2px;font-weight:600}.hud-mass.bump{animation:.35s ease-out mass-bump}@keyframes mass-bump{0%{color:#c8ffd8;transform:scale(1.22)}to{transform:scale(1)}}.hud-bar{background:#ffffff14;border-radius:3px;height:6px;margin-top:8px;overflow:hidden}.hud-bar-fill{background:linear-gradient(90deg,#5a8cff,#8fe3ff);width:0;height:100%;transition:width .25s;box-shadow:0 0 10px #78c8ffb3}.hud-next{color:var(--dim);margin-top:4px;font-size:12px}.hud-next.danger{color:#ff8a7a;font-weight:700}.hud-sats{color:var(--good);margin-top:8px;font-weight:700}.hud-life{color:#a8ffc0;margin-top:4px;font-size:13px;font-weight:600}.crunch-veil,.bang-flash{pointer-events:none;opacity:0;position:absolute;inset:0}.crunch-veil{background:radial-gradient(circle,#0000 12%,#000000f5 70%);transition:opacity 4s ease-in}.crunch-veil.show{opacity:1}.bang-flash{background:radial-gradient(circle,#fff 0%,#fff6e0 40%,#ffe0b0 100%)}.bang-flash.show{animation:2.6s ease-out forwards bang}@keyframes bang{0%{opacity:1}to{opacity:0}}.narrator{max-width:min(640px,100vw - 32px);color:var(--ink);opacity:0;pointer-events:none;z-index:2;background:#0a081ac7;border:1px solid #c8aaff47;border-radius:14px;align-items:center;gap:12px;padding:10px 18px 10px 12px;font-size:15px;transition:opacity .25s,transform .25s;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%,10px)}.narrator.show{opacity:1;transform:translate(-50%)}.narrator-orb{background:radial-gradient(circle at 35% 35%,#fff,#c9a8ff 40%,#6a4cff 75%,#503cff00);border-radius:50%;flex:none;width:18px;height:18px;animation:2.4s ease-in-out infinite alternate orb;box-shadow:0 0 14px #aa82ffcc}@keyframes orb{to{box-shadow:0 0 22px #be96ff}}.narrator-text{min-height:1.4em}.narrator.waiting .narrator-orb{animation-duration:.7s}.narrator[data-tone=job]{border-color:#ffd26e80}.narrator[data-tone=good] .narrator-text{color:var(--good)}.narrator[data-tone=bad] .narrator-text{color:#ffab9a}.hud-mission{background:var(--panel);text-align:center;border:1px solid #ffd26e73;border-radius:12px;min-width:260px;padding:8px 14px 10px;display:none;position:absolute;top:16px;left:50%;transform:translate(-50%)}.hud-mission-title{letter-spacing:.08em;text-transform:uppercase;color:#ffd27a;font-size:12px;font-weight:700}.hud-mission-goal{margin-top:2px;font-weight:700}.hud-mission-time{background:#ffffff1a;border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.hud-mission-time>div{background:#ffd27a;height:100%}.hud-threat{color:#ff9a8a;background:#ff463c29;border:1px solid #ff5a5073;border-radius:8px;margin-top:6px;padding:4px 8px;font-size:13px;font-weight:700;animation:.9s ease-in-out infinite alternate threat-pulse}@keyframes threat-pulse{to{background:#ff463c4d}}.hud-sys{border-top:1px solid var(--line);gap:5px;margin-top:8px;padding-top:8px;display:grid}.sys-row{grid-template-columns:8px 1fr auto;grid-template-areas:"dot name info""dot bar bar";align-items:center;gap:3px 8px;font-size:12px;display:grid}.sys-dot{background:#8fb0d8;border-radius:50%;grid-area:dot;width:8px;height:8px}.sys-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;grid-area:name;max-width:130px;font-weight:700;overflow:hidden}.sys-info{color:var(--dim);grid-area:info;font-weight:600}.sys-bar{background:#ffffff14;border-radius:2px;grid-area:bar;height:3px;overflow:hidden}.sys-fill{background:#7dffb0;height:100%;display:block}.sys-row[data-state=ok] .sys-dot{background:#7dffb0;box-shadow:0 0 6px #7dffb0b3}.sys-row[data-state=ok] .sys-info{color:#a8ffc0}.sys-row[data-state=hot] .sys-dot,.sys-row[data-state=hot] .sys-fill{background:#ff9a6a}.sys-row[data-state=hot] .sys-info{color:#ffab7a}.sys-row[data-state=cold] .sys-dot,.sys-row[data-state=cold] .sys-fill{background:#9cc8ff}.sys-row[data-state=cold] .sys-info{color:#9cc8ff}.sys-row[data-state=star] .sys-dot,.sys-row[data-state=star] .sys-fill{background:#ffd98a;box-shadow:0 0 8px #ffd98acc}.hud-goal{background:var(--panel);border:1px solid var(--line);text-align:center;max-width:min(640px,100vw - 32px);color:var(--ink);opacity:0;border-radius:12px;padding:10px 16px;position:absolute;bottom:22px;left:50%;transform:translate(-50%)}.hud-goal.show{animation:14s forwards goal}@keyframes goal{0%{opacity:0;transform:translate(-50%,8px)}4%,80%{opacity:1;transform:translate(-50%)}to{opacity:0}}.hud-toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%)}.hud-toast{background:var(--panel);border-radius:999px;padding:4px 12px;font-weight:700;animation:2.4s forwards toast}.hud-toast.good{color:var(--good)}.hud-toast.warn{color:var(--warn)}@keyframes toast{0%{opacity:0;transform:translateY(8px)}10%,75%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}.hud-banner{text-align:center;opacity:0;position:absolute;top:30%;left:0;right:0}.hud-banner.show{animation:4.2s forwards banner}.hud-banner-title{letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 30px #8cc8ff99;font:900 clamp(28px,6vw,56px)/1 Orbitron,"Exo 2",sans-serif}.hud-banner-sub{color:var(--dim);margin-top:10px;font-size:clamp(15px,2.4vw,20px)}@keyframes banner{0%{opacity:0;transform:scale(.94)}10%,75%{opacity:1;transform:none}to{opacity:0}}.hud-map{width:180px;height:180px;position:absolute;top:16px;right:16px}.hud-help{color:#c8d4ff73;font-size:12px;position:absolute;bottom:16px;left:16px}.hud-buttons{pointer-events:auto;gap:14px;display:flex;position:absolute;bottom:22px;right:18px}.hud-btn{border:1px solid var(--line);background:var(--panel);width:78px;height:78px;color:var(--ink);touch-action:none;border-radius:50%;font:700 13px "Exo 2",sans-serif}.hud-btn:active{background:#5a8cff66}@media (max-width:700px){.hud-stage{min-width:0;padding:8px 10px;top:10px;left:10px}.hud-stage-name{font-size:14px}.hud-map{width:110px;height:110px;top:10px;right:10px}.hud-goal{font-size:13px;bottom:116px}}.screen{opacity:0;pointer-events:none;background:radial-gradient(#04050d1a,#04050db3);justify-content:center;align-items:center;padding:16px;transition:opacity .5s;display:flex;position:absolute;inset:0}.screen.show{opacity:1;pointer-events:auto}.card{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#080b1cb8;border-radius:20px;flex-direction:column;align-items:center;gap:10px;width:min(420px,100%);padding:28px 24px;display:flex}.logo{letter-spacing:.08em;background:linear-gradient(#fff,#9fc4ff);color:#0000;-webkit-background-clip:text;background-clip:text;font:900 clamp(34px,9vw,52px)/1 Orbitron,sans-serif}.logo span{background:linear-gradient(#ffe08a,#ff8a3c);-webkit-background-clip:text;background-clip:text}.sub{color:var(--dim);font-size:17px}.proto{letter-spacing:.2em;text-transform:uppercase;color:var(--warn);opacity:.8;font-size:11px}.saved{margin-top:6px;font-weight:700}.hint{color:var(--dim);font-size:13px}.death-title{letter-spacing:.05em;color:#ffb28a;font:900 26px/1.1 Orbitron,sans-serif}.btn{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;border-radius:12px;padding:12px 16px;font:700 16px "Exo 2",sans-serif}.btn.primary{background:linear-gradient(#5a8cff,#3a62d8);border-color:#0000;margin-top:8px}.btn.ghost{background:0 0}.btn:hover{filter:brightness(1.12)}.card .versions{color:var(--dim);text-align:center;margin-top:6px;font-size:12px}.card .versions a{color:#9fb8ff;text-decoration:none}.card .versions a:hover{text-decoration:underline}.online-row{border-top:1px solid var(--line);gap:8px;width:100%;margin-top:10px;padding-top:14px;display:flex}.online-row .name{border:1px solid var(--line);min-width:0;color:var(--ink);-webkit-user-select:text;user-select:text;background:#ffffff0d;border-radius:12px;flex:1;padding:10px 12px;font:600 15px "Exo 2",sans-serif}.online-row .btn{flex:none;width:auto}.btn.online{background:linear-gradient(#a07bff,#6c4ce0);border-color:#0000}.online-status{opacity:0;pointer-events:none;z-index:5;background:#0a081ad9;border:1px solid #c8aaff59;border-radius:14px;padding:12px 20px;font-weight:700;transition:opacity .3s;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.online-status.show{opacity:1}.hud-online{text-align:center;color:#c9b6ff;width:180px;font-size:12px;font-weight:700;position:absolute;top:204px;right:16px}@media (max-width:700px){.hud-online{width:110px;top:126px;right:10px}}
