[hidden]{display:none!important}:root{--ink: #cfe6ef;--dim: #6d8794;--accent: #8ce6ff;--friendly: #5cdcc7;--hostile: #f26b6b;--here: #ffc46b;--panel: rgb(10 16 26 / 82%);--edge: rgb(120 190 220 / 22%);--rail-left: 0px;--rail-width: clamp(196px, 17vw, 240px);--panel-width: clamp(232px, 20vw, 276px);--stick-reserve: 250px;--stick-side: 190px;--bottom-height: 42px;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#060810;color:var(--ink);font:12px/1.5 ui-monospace,Cascadia Mono,SF Mono,Menlo,monospace;letter-spacing:.06em;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#view{display:block;width:100%;height:100%;outline:none;touch-action:none}#labels{position:fixed;inset:0;pointer-events:none;z-index:3}.ship-label{position:absolute;top:0;left:0;width:46px;margin:-30px 0 0 14px;font-size:10px;line-height:1.2;letter-spacing:.08em;white-space:nowrap;will-change:transform}.ship-label.friendly{color:var(--friendly)}.ship-label.hostile{color:var(--hostile)}.ship-label.unknown{color:#b6bcc4}.ship-label-hp{display:block;width:22px;height:2px;margin-top:2px;background:#fff3}.ship-label-hp i{display:block;height:100%;background:currentcolor}.ship-label-hp i.hurt{background:#ffb03a}.enemy-gauges{display:block;width:fit-content;margin-top:3px;padding:2px;border-radius:2px;background:#04080eb8}.gauge{display:flex;width:48px;gap:1.5px;margin-bottom:1.5px}.gauge:last-child{margin-bottom:0}.gauge i{flex:1;height:4px;border-radius:1px;background:#bedcf038}.gauge.shield i.lit{background:#6fb6ff;box-shadow:0 0 3px #6fb6ffcc}.gauge.hull i.lit{background:#ff6b6b;box-shadow:0 0 3px #ff6b6bb3}.ship-ring{position:absolute;left:-14px;top:30px;width:62px;height:62px;translate:-50% -50%}.ship-ring svg{width:100%;height:100%;overflow:visible}.ship-ring circle{vector-effect:non-scaling-stroke;fill:none;stroke-width:2.6;stroke-linecap:round}.ship-ring .track{stroke:#00000073;stroke-width:3.4}.ship-ring .lock{display:none;stroke-width:4.6;stroke-linecap:butt}.ship-ring.lock-mine .lock,.ship-ring.lock-against .lock{display:inline}.ship-ring.lock-mine .lock{stroke:#4dff8f;filter:drop-shadow(0 0 5px rgb(77 255 143 / 85%))}.ship-ring.lock-against .lock{stroke:#ff3b30;filter:drop-shadow(0 0 5px rgb(255 59 48 / 85%))}.ship-ring.lock-urgent .lock{animation:lock-pulse .55s ease-in-out infinite}@keyframes lock-pulse{50%{stroke-width:7;opacity:.6}}.ship-ring.lock-only .track,.ship-ring.lock-only .shield,.ship-ring.lock-only .hp,.ship-ring.lock-only .wpn,.ship-ring.lock-only .gun,.ship-ring.lock-only .ammo,.ship-ring.lock-only .cm{display:none}.ship-ring .shield{stroke:#5aa8ff;stroke-width:2.6;filter:drop-shadow(0 0 3px rgb(90 168 255 / 70%))}.ship-ring .shield.down{stroke:none}.ship-ring .hp{stroke:#3cf0a8;filter:drop-shadow(0 0 3px rgb(60 240 168 / 70%));transition:stroke-dasharray .1s linear}.ship-ring .hp.hurt{stroke:#ff7a2f;filter:drop-shadow(0 0 4px rgb(255 122 47 / 80%))}.ship-ring .wpn{stroke:#8ce6ff;opacity:.45}.ship-ring .wpn.ready{opacity:1;filter:drop-shadow(0 0 4px currentcolor)}.ship-ring.shot .wpn{animation:shot-pulse .9s ease-in-out infinite}@keyframes shot-pulse{50%{stroke-width:6;opacity:.55}}.ship-label.special-target .ship-label-text:before{content:"◇ ";color:#ffc74a}.ship-ring.rail .wpn{stroke:#ffc74a}.ship-ring.msl .wpn{stroke:#7ab8ff}.ship-ring.plain .wpn,.ship-ring.plain .wpn-track{display:none}.ship-ring .ammo,.ship-ring .cm{position:absolute;left:50%;font-size:9px;font-weight:700;letter-spacing:.1em;text-shadow:0 0 3px #000;translate:-50% 0;white-space:nowrap}.ship-ring .ammo{top:50%;margin-top:-5px;color:#7ab8ff}.ship-ring .cm{top:100%;margin-top:1px;color:#4ef0b0}.float-text{position:absolute;top:0;left:0;font-size:13px;font-weight:700;letter-spacing:.08em;white-space:nowrap;text-shadow:0 0 4px #000,0 1px 2px #000;will-change:transform,opacity}#hud-stats b.below{color:#ffb05c;letter-spacing:.14em}#stations-head b{margin-left:auto;color:#9fd0e8}#control-count{font-size:13px;letter-spacing:.1em}#control-count.dominating{color:#7fe3c0}#control-meter{position:relative;display:flex;gap:2px;height:8px;margin-bottom:16px}#control-meter .seg{flex:var(--w) 1 0;background:#96bed738;border-radius:1px}#control-meter .seg.mine{background:#7fe3c0}#control-meter .seg.enemy{background:#ff9a7d}#control-meter .seg.contested{background:#ffc74a;animation:seg-contested .9s ease-in-out infinite}@keyframes seg-contested{0%,to{opacity:1}50%{opacity:.45}}#control-meter .line:after{content:attr(data-goal);position:absolute;top:calc(100% + 2px);left:50%;translate:-50% 0;font-size:9px;font-weight:700;letter-spacing:0;color:#dceaf4}#control-meter .line.reached,#control-meter .line.reached:after{color:#7fe3c0}#control-meter .line.reached{background:#7fe3c0}#control-meter .line{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px #060c14d9}#station-list-status-borttagen{color:var(--dim);line-height:1.5;margin-bottom:7px}#station-list{max-height:22vh;overflow-y:auto;scrollbar-width:none;display:flex;flex-direction:column;gap:2px;margin-bottom:7px}.station-row{display:flex;align-items:center;gap:7px;min-height:22px;padding:0 6px;font:inherit;font-size:11px;letter-spacing:.08em;text-align:left;color:var(--dim);background:transparent;border:1px solid transparent;border-radius:3px;cursor:pointer}.station-row .name{flex:1}.station-row .what{font-size:10px;opacity:.75}.station-row .weight{font-size:9px;letter-spacing:-.04em;opacity:.85}.station-row.core .name{color:#ffd98a}.station-row.mine{color:#7fe3c0}.station-row.enemy{color:#ff9a7d}.station-row.picked{border-color:#96d2f0b3;background:#28465f80}#station-list-build-borttagen{display:flex;gap:5px}#station-list-build-borttagen button{flex:1;min-width:0;min-height:28px;padding:0 4px;font-size:11px}#station-list-build-borttagen button:disabled{opacity:.35;cursor:default}#chips{position:absolute;left:50%;translate:-50% 0;bottom:24px;display:flex;gap:8px;pointer-events:none;font-size:11px;letter-spacing:.12em}#chips>span{padding:3px 9px;border-radius:3px;background:#080c14d9;border:1px solid rgba(90,150,190,.3);color:#9fd0e8;white-space:nowrap}#levels button{position:relative;display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:1px;min-width:34px;min-height:34px;padding:0;font-size:11px}#levels .tally{min-height:7px;font-size:7px;line-height:1;letter-spacing:0;color:#7fe3c0;white-space:nowrap;pointer-events:none}#levels button.occupied{border-color:#78dcbecc;box-shadow:inset 0 0 0 1px #78dcbe59}#selection{width:100%}#hud-top{position:fixed;left:var(--rail-left);top:14px;z-index:7;display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.14em;pointer-events:auto}#hud-top #system-name{min-height:32px;padding:0 12px;color:var(--accent);font-size:15px;font-weight:700;letter-spacing:.18em}#hud-top #clock{color:var(--text);font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}#hud-top #depth{color:var(--accent);font-size:11px;letter-spacing:.16em;opacity:.75}#hud-top #hud-galaxy{flex:0 0 auto;opacity:.8;transition:opacity .12s ease-out}#hud-top #hud-galaxy .galaxy-inset{width:52px;height:52px;display:block}#hud-top #hud-galaxy .galaxy-inset-caption,#hud-top #hud-galaxy .galaxy-inset-label{display:none}#hud-top #hud-galaxy:hover{opacity:1}#hud-top #sector{min-width:68px;color:var(--dim);font-size:11px;letter-spacing:.16em}.sel-head{color:var(--accent);font-weight:700;letter-spacing:.14em;padding-bottom:6px}.sel-composition{display:flex;gap:6px;padding-bottom:7px}.sel-composition[hidden]{display:none}.sel-composition button{flex:1;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border:1px solid var(--edge);border-radius:4px;background:#0c141ecc;color:var(--ink)}.sel-composition button:hover{border-color:var(--accent)}.sel-composition b{font-size:11px;letter-spacing:.12em}.sel-composition i{font-style:normal;font-size:10px;color:var(--dim)}.sel-row{display:flex;justify-content:space-between;gap:10px;padding:1px 0;white-space:nowrap}.sel-row span{color:var(--dim)}.sel-row b{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis}.sel-row.mixed b{color:var(--dim);font-weight:400}.sel-row.active b{color:var(--accent)}.sel-row.held b{color:#ffd07d}.sel-label{color:var(--dim);letter-spacing:.16em;padding:6px 0 1px}.sel-bars{padding:5px 0 1px}.sel-bar{display:flex;align-items:center;gap:8px;padding:1px 0}.sel-bar span{width:44px;color:var(--dim);flex:none}.sel-bar i{flex:1;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.sel-bar u{display:block;height:100%;text-decoration:none}.sel-bar b{width:34px;text-align:right;font-weight:600;flex:none}.sel-bar.shield u{background:#5aa8ff}.sel-bar.hull u{background:#3cf0a8}.sel-bar.xp u{background:var(--accent)}.sel-specials[hidden]{display:none}.form-svg{flex:none}.form-svg circle{fill:currentcolor;stroke:none}#armed{position:fixed;left:50%;bottom:124px;translate:-50% 0;z-index:8;padding:7px 16px;background:#080e18f0;border:1px solid var(--accent);border-radius:4px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;white-space:nowrap;pointer-events:none;animation:armed-breathe 1.4s ease-in-out infinite}#armed[hidden]{display:none}@keyframes armed-breathe{50%{border-color:#8ce6ff59}}#view.armed{cursor:crosshair}#admin{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:20;width:420px;max-height:78vh;display:flex;flex-direction:column;background:#060a10f7;border:1px solid rgba(110,175,210,.55);border-radius:5px;font-size:11px;letter-spacing:.06em;box-shadow:0 12px 48px #0009}.admin-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(110,175,210,.3);color:#9fd0e8;font-weight:700;letter-spacing:.16em}.admin-head span{flex:1}.admin-head button{min-width:0;min-height:24px;padding:0 9px;font-size:10px}.admin-body{overflow-y:auto;padding:6px 10px 10px}.admin-group{display:grid;grid-template-columns:1fr repeat(3,74px);gap:6px;margin:10px 0 4px;padding-bottom:3px;border-bottom:1px solid rgba(110,175,210,.22);color:#7fe3c0;font-weight:700;letter-spacing:.14em}.admin-group .col{text-align:center;color:var(--dim);font-weight:400}.admin-row{display:grid;grid-template-columns:1fr repeat(3,74px);gap:6px;align-items:center;margin-bottom:3px}.admin-row .label{color:var(--dim)}.admin-row input.col{width:100%;min-height:22px;padding:0 5px;font:inherit;font-size:11px;color:var(--ink);background:#14202de6;border:1px solid rgba(90,150,190,.35);border-radius:3px;text-align:right}.admin-row input.col:focus{outline:none;border-color:#96d2f0e6}.admin-foot{padding:7px 10px;border-top:1px solid rgba(110,175,210,.3);color:var(--dim);font-size:10px;line-height:1.4}#timescale{display:flex;align-items:center;gap:5px}#timescale-label{color:#9fd0e8;font-weight:700;font-variant-numeric:tabular-nums}#timescale-label.slow{color:#7dd0ff}#timescale-label.fast{color:#ffb05c}#timescale-slider{width:72px;margin:0;accent-color:#5ab0d8}#timescale-reset{padding:2px 0;font:inherit;letter-spacing:.1em;color:#9fd0e8;background:#1e3246b3;border:1px solid rgba(90,150,190,.4);border-radius:3px;cursor:pointer}#timescale-reset:hover{background:#2d4b64d9}.swatch{display:inline-block;width:16px;height:3px;vertical-align:middle;margin:0 2px 2px 6px;border-radius:2px}.swatch.cannon{background:#ffb84d;box-shadow:0 0 6px #ffb84dcc}.swatch.laser{background:#8cffff;box-shadow:0 0 6px #8cffffcc}.swatch.rail{background:#fff5b8;box-shadow:0 0 6px #fff5b8cc}.swatch.msl{background:#ff9e47;box-shadow:0 0 6px #ff9e47cc}.swatch.dead{background:repeating-linear-gradient(90deg,#ff735a 0 4px,transparent 4px 7px);box-shadow:none}.float-text.charging{font-size:12px;font-weight:700;color:#9fd8ff;letter-spacing:.14em;text-shadow:0 0 8px rgba(120,190,255,.9);animation:charge-blink .3s steps(2,end) infinite}@keyframes charge-blink{0%{opacity:1}to{opacity:.45}}.float-text.intercept{font-size:15px;font-weight:700;color:#b3ecff;text-shadow:0 0 7px rgba(150,225,255,.9)}.float-text.los{font-size:12px;font-weight:700;letter-spacing:.14em}.float-text.los.bad{color:#ff9a7d;text-shadow:0 0 8px rgba(255,130,90,.7)}.float-text.crossfire{font-size:13px;font-weight:700;letter-spacing:.14em;color:#d6a8ff;text-shadow:0 0 9px rgba(190,130,255,.8)}.float-text.shield-down{font-size:13px;font-weight:700;color:#7ec4ff;letter-spacing:.16em}.float-text.kill{font-size:13px;color:#ff6b6b}.float-text.good{color:#4ef0b0}.float-text.bad{color:#ff6b6b}.float-text.big{font-size:17px;letter-spacing:.2em}.float-text.order{font-size:11px;font-weight:400;color:#8ce6ff;letter-spacing:.18em}.float-text.order.strong{font-size:14px;font-weight:700;color:#fff}.float-text.order.attack{color:#ff8f6b}.float-text.blocked{font-size:12px;color:#ffc74a}.contact-zone-label{position:absolute;top:0;left:0;color:#aab2ba;font-size:10px;letter-spacing:.18em;text-shadow:0 0 4px #000;white-space:nowrap;translate:-50% -50%}button.ready{border-color:#ffc74a;color:#ffc74a}#selection-box{position:fixed;border:1px solid var(--accent);background:#8ce6ff14;pointer-events:none;z-index:10}#levels{display:flex;gap:3px;pointer-events:auto}#stick{display:none;position:fixed;left:86px;bottom:140px;width:104px;height:104px;margin:-52px 0 0 -52px;border:1px solid var(--edge);border-radius:50%;opacity:.35;pointer-events:none;z-index:4}#stick i{position:absolute;inset:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid var(--edge);border-radius:50%;background:#8ce6ff1a}#stick.active{bottom:auto;opacity:.9;border-color:var(--accent)}#stick.active i{border-color:var(--accent);background:#8ce6ff38}@media (pointer: coarse){#stick{display:block}}#overlay{position:fixed;inset:0;pointer-events:none;z-index:12}#arming{position:fixed;width:30px;height:30px;border:2px solid rgb(140 230 255 / 35%);border-radius:50%;pointer-events:none;translate:-50% -50%;z-index:11}#arming[hidden]{display:none}#arming.arming:after{content:"";position:absolute;inset:-2px;border:2px solid var(--accent);border-radius:50%;animation:arm .18s linear forwards;clip-path:inset(0 0 100% 0)}@keyframes arm{to{clip-path:inset(0)}}.gesture{position:absolute;width:0;height:0}.gesture[hidden]{display:none}.gesture-hub{position:absolute;width:88px;height:88px;border:1px solid rgb(140 230 255 / 30%);border-radius:50%;background:#080e188c;translate:-50% -50%}.gesture.cancelling .gesture-hub{border-color:#ffc74a}.gesture-branch{position:absolute;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:1px solid var(--edge);border-radius:50%;background:#080e18eb;color:var(--dim);translate:-50% -50%;transition:color 60ms linear,background 60ms linear}.gesture-branch[hidden]{display:none}.gesture-branch.active{border-color:var(--accent);background:#8ce6ff38;color:#fff;box-shadow:0 0 0 3px #8ce6ff38}.gesture-branch.move.active{border-color:#fff}.gesture-branch.dimmed{display:none}.gesture-sub{position:absolute;left:0;top:0}.gesture-sub[hidden]{display:none}.gesture-sub-choice{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--edge);border-radius:50%;background:#080e18f0;color:var(--dim);font-size:11px;font-weight:700;letter-spacing:.06em;translate:-50% -50%}.gesture-sub-choice.active{border-color:#fff;background:#8ce6ff42;color:#fff;box-shadow:0 0 0 3px #8ce6ff33}.gesture-level{font-size:14px;font-weight:700}.gesture-sub-choice .form-svg circle{fill:currentcolor;stroke:none}.gesture-hint{position:absolute;top:168px;left:0;color:#fff;font-size:12px;font-weight:700;letter-spacing:.16em;text-shadow:0 0 5px #000;white-space:nowrap;translate:-50% 0}.gesture.sub-open .gesture-hint{top:212px}.gesture.hint-above .gesture-hint{top:-190px}.gesture.hint-above.sub-open .gesture-hint{top:-230px}.gesture.cancelling .gesture-hint{color:#ffc74a}#chip-lock{border-color:#ffc74a;color:#ffc74a}#chip-lock.urgent{background:#ff5a3c38;border-color:#ff5a3c;color:#ff8a70}#mute.muted{color:var(--dim);text-decoration:line-through}#rail,#rail-right{position:fixed;z-index:6;display:flex;flex-direction:column;align-items:stretch;gap:8px;overflow-y:auto;scrollbar-width:none;pointer-events:none}#rail{left:var(--rail-left);top:76px;bottom:var(--stick-reserve);width:var(--rail-width)}#rail-right{right:var(--rail-left);top:76px;bottom:var(--bottom-height);width:var(--panel-width)}#rail::-webkit-scrollbar,#rail-right::-webkit-scrollbar{display:none}.rail-card{flex:0 0 auto;padding:8px 10px;background:var(--panel);border:1px solid var(--edge);border-radius:4px;font-size:11px;letter-spacing:.08em;pointer-events:auto}#roster-groups{display:flex;flex-direction:column;gap:1px;max-height:34vh;overflow-y:auto;scrollbar-width:none}.rr-row{display:grid;grid-template-columns:16px 62px 1fr auto;align-items:center;gap:7px;min-height:26px;padding:0 2px;cursor:pointer}.rr-row:hover{background:#8ce6ff14}.rr-row.picked{box-shadow:inset 2px 0 0 var(--accent);background:#8ce6ff1a}.rr-row.dead{opacity:.4;cursor:default}.rr-ship .rr-name{grid-column:2;padding-left:10px;color:var(--dim)}.rr-caret{grid-column:1;min-width:16px;min-height:22px;padding:0;border:0;background:none;color:var(--dim);cursor:pointer}.rr-caret:after{content:"▸"}.rr-caret[aria-expanded=true]:after{content:"▾"}.rr-caret:hover{color:var(--accent)}.rr-name{grid-column:2;font-variant-numeric:tabular-nums;white-space:nowrap}.rr-bar{position:relative;grid-column:3;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.rr-bar u{position:absolute;left:0;display:block;text-decoration:none}.rr-bar u.hull{top:0;bottom:0;background:#3cf0a8}.rr-bar u.shield{top:0;height:2px;background:#5aa8ff}.rr-state{grid-column:4;width:76px;text-align:right;font-size:9px;font-weight:400;letter-spacing:.1em;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-state.firing{color:#ffb84d}.rr-state.lost{color:var(--hostile)}#roster-pips{display:none;gap:3px;margin-left:8px}#fleet.closed #roster-pips{display:flex}.rr-pip{width:6px;height:6px;border-radius:50%;font-size:0}.rr-pip.ok{background:#3cf0a8}.rr-pip.hurt{background:#ffc74a}.rr-pip.bad{background:var(--hostile)}.rr-pip.dead{background:none;box-shadow:inset 0 0 0 1px #96969673}#roster-pips[hidden]{display:none}#selection{margin-top:8px;padding-top:8px;border-top:1px solid var(--edge)}.rail-head{display:flex;align-items:center;gap:8px;width:100%;margin:0 0 6px;color:var(--dim);font-size:10px;letter-spacing:.16em}button.rail-head{min-height:34px;padding:0;border:0;background:none;color:var(--dim);font:inherit;font-size:10px;letter-spacing:.16em;text-align:left;cursor:pointer}button.rail-head:hover{color:var(--accent)}.rail-head b{color:var(--ink);font-weight:700}.rail-caret{margin-left:auto;font-style:normal;color:var(--dim)}.rail-caret:after{content:"▾"}[aria-expanded=false] .rail-caret:after{content:"▸"}#diag{padding:6px 8px;background:#0a101aeb;border:1px solid var(--edge);color:var(--dim);font-size:10px;line-height:1.45;white-space:pre;pointer-events:auto}#diag[hidden]{display:none}#diag b{color:#ffc74a;font-weight:400}.panel-head{margin-bottom:6px;color:var(--dim);font-size:10px}.glyph{display:inline-block;width:9px;height:9px;margin-right:6px;background:var(--friendly);vertical-align:-1px}.glyph.int{clip-path:polygon(50% 0,100% 100%,0 100%)}.glyph.frg{clip-path:none}.glyph.msl{border-radius:40%}.glyph.ew{clip-path:polygon(0 0,100% 0,70% 100%,30% 100%)}#chrome{display:flex;align-items:center;gap:3px;opacity:.45;pointer-events:auto;transition:opacity .12s ease-out}#chrome:hover,#chrome:focus-within{opacity:1}#chrome{padding:3px 6px;background:var(--panel);border:1px solid var(--edge);border-radius:4px}#chrome button{min-width:30px;border-color:transparent;background:none;min-height:30px;padding:0 6px;font-size:11px}.chrome-sep{width:1px;height:18px;margin:0 3px;background:var(--edge)}#sel-orders{display:flex;gap:6px;margin-top:10px}#sel-orders button{flex:1;min-width:0;min-height:40px;padding:0;font-size:11px;letter-spacing:.12em}#sel-policies{display:flex;gap:4px;margin-top:5px}#sel-policies button{flex:1;min-width:0;min-height:30px;padding:0;border-color:#78bedc24;color:var(--dim);font-size:10px;letter-spacing:.08em}#sel-policies button.on{border-color:var(--accent);color:var(--accent)}#sel-policies button.armed,#sel-orders button.armed{border-color:#ffd07db3;color:#ffd07d}button{min-width:34px;min-height:34px;padding:0 10px;border:1px solid var(--edge);background:var(--panel);color:var(--ink);font:inherit;letter-spacing:.1em;cursor:pointer}button:hover{border-color:var(--accent)}#levels button[aria-pressed=true]{border-color:var(--accent);background:#8ce6ff2e;color:var(--accent)}#hud{position:fixed;left:var(--stick-side);right:var(--rail-left);bottom:0;display:flex;align-items:center;gap:12px;height:var(--bottom-height);padding:0 8px env(safe-area-inset-bottom);background:linear-gradient(transparent,#060810e0 60%);pointer-events:none;z-index:5}#hud-stats{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#hud-stats{text-transform:uppercase}#hud-stats b{color:var(--accent);font-weight:600}#gameover{position:fixed;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;background:#04060ce0;z-index:20}#gameover[hidden]{display:none}#gameover h1{margin:0;font-size:34px;letter-spacing:.3em;color:var(--hostile)}#gameover.won h1{color:var(--friendly)}#gameover.departed h1{color:var(--accent)}#gameover p{margin:0 0 14px;color:var(--dim);text-transform:uppercase}#drop-again{padding:12px 28px;border-color:var(--accent);color:var(--accent);font-size:14px}@media (width < 720px){#hud{flex-direction:column}#viewtools,#actions{bottom:60px}}#help-open{width:30px;min-width:30px;height:30px;min-height:30px;padding:0;border-radius:50%;font-size:14px}#help-open:hover{opacity:1}#help{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:25;width:min(560px,92vw);max-height:84vh;display:flex;flex-direction:column;background:#060a10f7;border:1px solid rgba(110,175,210,.55);border-radius:5px;box-shadow:0 12px 48px #0009}.help-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--edge);color:var(--ink);font-size:11px;letter-spacing:.14em}.help-head button{min-width:24px;min-height:24px;padding:0 6px}.help-body{overflow-y:auto;padding:4px 16px 16px;color:var(--dim);font-size:11px;line-height:1.6}.help-body h3{margin:16px 0 4px;color:#8ce6ffd9;font-size:10px;font-weight:400;letter-spacing:.16em}.help-body p{margin:0 0 8px}.help-body b{color:var(--ink);font-weight:400}.help-keys{width:100%;border-collapse:collapse}.help-keys td{padding:2px 0;vertical-align:top}.help-keys td:first-child{width:92px;padding-right:12px;color:var(--ink);white-space:nowrap}.unreachable{color:var(--hostile);font-weight:400}.ship-ring .gun{stroke:#ffb84d;stroke-width:2.6;opacity:.4}.ship-ring .gun.ready{opacity:1;filter:drop-shadow(0 0 4px rgb(255 184 77 / 80%))}.blocked{color:#ffb84d;font-weight:400}#opponents{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:20;width:380px;max-height:80vh;display:flex;flex-direction:column;background:#060a10f7;border:1px solid rgba(110,175,210,.55);border-radius:5px;font-size:11px;letter-spacing:.06em;box-shadow:0 12px 48px #0009}.opp-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid rgba(110,175,210,.3);color:#9fd0e8;font-weight:700;letter-spacing:.16em}.opp-head span{flex:1}.opp-head button{min-width:0;min-height:24px;padding:0 9px;font-size:10px}.opp-list{padding:6px 10px;overflow-y:auto;max-height:26vh}.opp-row{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid rgba(110,175,210,.12)}.opp-row.dead{opacity:.4;text-decoration:line-through}.opp-dot{width:9px;height:9px;border-radius:50%;flex:none}.opp-name{flex:1;color:#cfe6f2}.opp-state{color:#7f9fb4;font-size:10px}.opp-config{padding:8px 10px;border-top:1px solid rgba(110,175,210,.3);overflow-y:auto}.opp-sub{color:#9fd0e8;font-weight:700;letter-spacing:.16em;margin-bottom:6px}.opp-archetypes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:8px}.opp-archetypes button{min-width:0;min-height:26px;padding:0 4px;font-size:9px;letter-spacing:.04em}.opp-archetypes button.picked{border-color:#8cdcffe6;color:#dff2ff}.opp-trait{display:grid;grid-template-columns:84px 1fr 20px;align-items:center;gap:8px;padding:2px 0}.opp-trait-name{color:#8fb3c7;font-size:10px}.opp-trait-value{color:#cfe6f2;text-align:right}.opp-trait input[type=range]{width:100%;accent-color:#6ec6e8}.opp-add{width:100%;margin-top:8px;min-height:30px;border-width:2px}.opp-add:disabled{opacity:.45}.opp-foot{padding:7px 10px;border-top:1px solid rgba(110,175,210,.3);color:#7f9fb4;font-size:10px;letter-spacing:.04em}#system-name{min-width:0;min-height:0;padding:1px 8px;border-color:#78bedc4d;color:var(--accent);font-size:11px;letter-spacing:.16em}#systems{position:absolute;left:50%;top:72px;translate:-50% 0;z-index:18;display:flex;flex-direction:column;gap:1px;padding:4px;background:#060a10f7;border:1px solid rgba(110,175,210,.55);border-radius:4px;box-shadow:0 12px 48px #0009}#systems button{display:flex;flex-direction:column;gap:2px;min-width:210px;min-height:0;padding:6px 10px;border:none;background:none;text-align:left}#systems button:hover{background:#78bedc1f}#systems button.current{color:var(--accent);box-shadow:inset 2px 0 0 var(--accent)}#systems span{color:var(--dim);font-size:10px;letter-spacing:.06em}.ship-label-serial{display:block;margin-top:1px;color:#c9a24a;font-size:9px;letter-spacing:.1em;opacity:.85}#menu{position:fixed;inset:0;overflow:hidden;background:#04060c;z-index:40}#menu[hidden]{display:none}#menu-sky{position:absolute;inset:0;display:block;width:100%;height:100%}#menu-veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(124% 96% at 50% 56%,#04060ccc,#04060c57 44%,#04060c00 72%),linear-gradient(180deg,#03050abd,#03050a00 24% 60%,#03050ae0)}#menu-veil:after{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#8ce6ff08 0 1px,#0000 1px 3px);content:""}#menu-stage{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:flex-start;height:100%;padding:30px 16px;overflow-y:auto}#menu-stage>:first-child{margin-top:auto}#menu-stage>:last-child{margin-bottom:auto}.menu-brand{position:relative;display:flex;flex-direction:column;gap:12px;align-items:center;margin-bottom:8px;text-align:center}.menu-brand:before{position:absolute;z-index:-1;inset:-22px -12%;background:radial-gradient(62% 72% at 50% 50%,#03050aa8,#03050a00 74%);content:""}.brand-mark{width:88px;height:88px;fill:none;filter:drop-shadow(0 0 14px rgb(140 230 255 / 40%))}.brand-arm{stroke:var(--accent);stroke-width:2.6;stroke-linecap:round}.brand-ring{stroke:var(--friendly);stroke-width:1.5;opacity:.5}.brand-ring-short{opacity:.26}.brand-core{fill:#fff6e6}#menu h1{margin:0;font-weight:400}.brand-word{font-size:clamp(30px,6.4vw,62px);line-height:1.06;letter-spacing:.3em;text-indent:.15em;color:var(--ink);text-shadow:0 0 44px rgb(120 220 255 / 32%);background:linear-gradient(100deg,#fff0 38%,#ffffffb8 47%,#fff0 57%),linear-gradient(180deg,#f4fcff,#a9dcf1 32%,#4a8aa6 56%,#d3ecf6 76%,#78b2c9);background-clip:text;-webkit-background-clip:text;background-position:-70% 0,0 0;background-size:300% 100%,100% 100%;-webkit-text-fill-color:transparent;animation:brand-sheen 11s linear infinite}@keyframes brand-sheen{0%,64%{background-position:-70% 0,0 0}88%,to{background-position:180% 0,0 0}}.brand-rule{position:relative;width:min(520px,78vw);height:1px;background:linear-gradient(90deg,#8ce6ff00,#8ce6ff1f 14%,#8ce6ff9e,#8ce6ff1f 86%,#8ce6ff00)}.brand-rule:after{position:absolute;top:50%;left:50%;width:5px;height:5px;margin:-3px 0 0 -3px;background:#eafaff;box-shadow:0 0 12px 2px #8ce6ffa6;content:"";transform:rotate(45deg)}.brand-tag{margin:0;color:#8fb3c2;font-size:11px;letter-spacing:.44em;text-indent:.22em}.menu-brand.compact{gap:7px;margin-bottom:2px}.menu-brand.compact .brand-mark{width:42px;height:42px}.menu-brand.compact .brand-rule{width:min(380px,62vw)}.brand-kicker{color:var(--dim);font-size:10px;letter-spacing:.4em;text-indent:.2em}.brand-screen{color:var(--friendly);font-size:22px;letter-spacing:.34em;text-indent:.17em}.menu-list{display:flex;flex-direction:column;gap:6px;width:min(520px,92vw)}#menu-stage[data-screen=vsai] .menu-list,#menu-stage[data-screen=multiplayer] .menu-list{padding:14px 18px 16px;background:#060a12bd;border:1px solid var(--edge)}.menu-big{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px 44px 14px 22px;color:var(--ink);font:inherit;letter-spacing:.22em;text-align:left;background:linear-gradient(90deg,#0b131ff2,#0d1623b8);border:1px solid var(--edge);cursor:pointer;transition:background .12s linear,border-color .12s linear,box-shadow .12s linear}.menu-big:before{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--edge);content:""}.menu-big:after{position:absolute;top:50%;right:16px;color:var(--dim);letter-spacing:0;content:"▸";transform:translateY(-50%)}.menu-big small{color:var(--dim);letter-spacing:.1em;text-transform:uppercase}.menu-big:hover:not(:disabled){background:linear-gradient(90deg,#162838f0,#122030a3);border-color:#5cdcc78c;box-shadow:0 0 24px -8px #5cdcc773}.menu-big:hover:not(:disabled):before{background:var(--friendly);box-shadow:0 0 10px #5cdcc7b3}.menu-big:hover:not(:disabled):after{color:var(--friendly)}.menu-big:disabled{cursor:default;opacity:.42}.menu-big:disabled:after{content:none}.menu-row{display:grid;grid-template-columns:168px 1fr;gap:4px 14px;align-items:center;padding:5px 0}.menu-label{color:var(--dim);letter-spacing:.18em}.menu-hint{grid-column:2;color:var(--dim);font-size:11px;letter-spacing:.06em;opacity:.7}.menu-choice,.menu-stepper,.menu-seed{display:flex;gap:4px;align-items:center}.menu-choice button,.menu-stepper button,.menu-seed button,.menu-advanced,.menu-back{min-width:46px;padding:5px 10px;color:var(--dim);font:inherit;letter-spacing:.14em;background:#101622e5;border:1px solid var(--edge);cursor:pointer}.menu-choice button.on{color:#08101c;background:var(--friendly);border-color:var(--friendly)}.menu-choice button:hover:not(.on),.menu-stepper button:hover:not(:disabled),.menu-seed button:hover,.menu-advanced:hover,.menu-back:hover{color:var(--ink);border-color:var(--friendly)}.menu-stepper button:disabled{cursor:default;opacity:.35}.menu-stepper span{min-width:34px;color:var(--ink);text-align:center}.menu-seed input{width:118px;padding:5px 8px;color:var(--ink);font:inherit;letter-spacing:.1em;background:#0a0e16e5;border:1px solid var(--edge)}.menu-advanced{align-self:flex-start;margin-top:8px}.menu-tail{display:flex;width:min(520px,92vw)}.menu-back{margin-top:8px}.menu-foot{display:flex;gap:12px;align-items:center;width:min(520px,92vw);margin-top:14px;padding-top:13px;border-top:1px solid rgb(120 190 220 / 14%)}.menu-mark{margin-left:auto;color:var(--dim);font-size:10px;letter-spacing:.3em;opacity:.55}.menu-start{min-width:240px;padding:12px 28px;color:#04121a;font:inherit;letter-spacing:.3em;text-indent:.15em;background:linear-gradient(180deg,#7ff0dc,#38b8a5);border:1px solid #8ff3e0;box-shadow:0 0 28px -8px #5cdcc799;cursor:pointer}.menu-start:hover{box-shadow:0 0 34px -4px #5cdcc7cc;filter:brightness(1.1)}@media (max-height: 720px){.brand-mark{width:58px;height:58px}.brand-word{font-size:clamp(26px,4.6vw,40px)}.menu-brand{gap:8px}#menu-stage{gap:12px}}@media (prefers-reduced-motion: reduce){.brand-word{animation:none}.menu-big{transition:none}}#gameover-actions{display:flex;gap:8px}#gameover-actions button{padding:9px 16px;font:inherit;letter-spacing:.18em;color:var(--dim);background:#101622e5;border:1px solid var(--edge);cursor:pointer}#gameover-actions button:hover{color:var(--ink);border-color:var(--friendly)}#players{max-height:22vh;overflow-y:auto}.player-row{display:grid;grid-template-columns:8px 1fr 28px 22px 34px;gap:6px;align-items:center;min-height:22px;padding:2px 4px;font-size:10px}.player-dot{width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000073}.player-name{overflow:hidden;color:var(--dim);text-overflow:ellipsis;white-space:nowrap}.player-row.me .player-name{color:var(--friendly)}.player-kind{color:var(--dim);font-size:9px;letter-spacing:.04em}.player-might{color:var(--accent);text-align:right}.player-stations{color:var(--dim);font-size:9px}.player-row.out{opacity:.45}.player-row.out .player-might{color:var(--dim)}#notice{position:fixed;top:72px;left:50%;translate:-50% 0;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;z-index:11}#notice[hidden]{display:none}.notice-card{padding:8px 20px;background:#061a22eb;border:1px solid #6bd8f2;color:#b8ecff;font-size:12px;letter-spacing:.08em;white-space:nowrap;text-align:center}.notice-card.depth-1{padding:5px 16px;font-size:11px;opacity:.6}.notice-card.depth-2{padding:4px 14px;font-size:10px;opacity:.34}.notice-card.tone-good{border-color:#6ce0a8;color:#c4f5dd;background:#061e16eb}.notice-card.tone-warn{border-color:#ffc74a;color:#ffe6ab;background:#221a06eb}.notice-card.tone-grave{border-color:#f26b6b;color:#ffb8b8;background:#280808eb;font-size:14px;font-weight:700;letter-spacing:.16em;padding:10px 26px}.notice-card.tone-grave.depth-0{animation:notice-grave 1.1s ease-in-out infinite}@keyframes notice-grave{0%,to{box-shadow:0 0 #ff6b5c00}50%{box-shadow:0 0 18px 2px #ff6b5c73}}#urgency{position:fixed;inset:0;pointer-events:none;z-index:4;transition:opacity .4s ease}#urgency[hidden]{display:none}#urgency.mine{box-shadow:inset 0 0 120px 10px #6ce0a838}#urgency.theirs{box-shadow:inset 0 0 120px 10px #ffc74a42}#urgency.evacuate{box-shadow:inset 0 0 150px 14px #ff6b5c57;animation:urgency-pulse 1.1s ease-in-out infinite}@keyframes urgency-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.notice-card.tone-grave.depth-0,#urgency.evacuate{animation:none}}#fitting{padding:8px 10px;background:var(--panel);border:1px solid var(--edge);border-radius:4px;pointer-events:auto}#fitting[hidden]{display:none}#fitting-head{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px;color:var(--dim);font-size:10px}#fitting-why{color:#f2a06b;text-align:right}#fitting-head:has(#fitting-why:empty){display:none}#hold-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}#ship-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.fitting-divider{height:1px;margin:7px 2px;background:var(--edge)}.slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;min-width:0;padding:3px 2px;background:#ffffff0a;border:1px dashed var(--edge);color:var(--dim);font-size:8px;line-height:1.15;text-align:center;cursor:default}.slot.filled{background:#8ce6ff1a;border-style:solid;border-color:var(--accent);color:var(--friendly);cursor:grab}.slot .mod{display:flex;align-items:center;justify-content:center;height:22px;color:var(--dim)}.mod-icon{display:block;overflow:visible}.slot .mod.weapon{color:#ffb454}.slot .mod.mobility{color:#8ce6ff}.slot .mod.sensor{color:#5cdcc7}.slot .mod.defence{color:#c9a6ff}.slot .mod.empty{color:#6d87948c}.slot .mod-name{display:block;max-width:100%;overflow-wrap:break-word;line-height:1.1}.slot.drop{border-color:var(--accent);background:#8ce6ff38}#fitting.locked .slot{cursor:default;opacity:.5}#loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#060810;z-index:40;transition:opacity .42s ease,background-color .9s ease}#loading.ready{background:#0608108c}#loading-card{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(440px,calc(100vw - 48px));padding:22px 24px 18px;background:var(--panel);border:1px solid var(--edge)}#loading-system{font-size:30px;letter-spacing:.34em;margin-left:.34em;color:var(--accent)}#loading-kicker{color:var(--dim);font-size:10px;letter-spacing:.28em;margin-bottom:6px}#loading-rows{display:grid;grid-template-columns:70px 1fr;gap:5px 14px;width:100%;margin:0}#loading-rows dt{color:var(--dim);font-size:10px;letter-spacing:.2em;line-height:1.6}#loading-rows dt.gap,#loading-rows dd.gap{margin-top:10px;padding-top:11px;border-top:1px solid var(--edge)}#loading-rows dd{margin:0;color:var(--ink);font-size:11px;letter-spacing:.12em;white-space:pre-line;line-height:1.6}#loading-flavour{margin:12px 0 4px;min-height:3em;color:var(--dim);font-size:11px;line-height:1.7;letter-spacing:.04em;align-self:stretch;text-align:left}#loading-bar{width:100%;height:2px;background:var(--edge);overflow:hidden}#loading-fill{display:block;width:0;height:100%;background:var(--accent);transition:width .14s linear}#loading-status{color:var(--dim);font-size:10px;letter-spacing:.3em}#loading.ready #loading-status{color:var(--accent);animation:loading-ready 1.8s ease-in-out infinite}@keyframes loading-ready{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion: reduce){#loading.ready #loading-status{animation:none}}@media (width < 720px){#loading-system{font-size:22px}#loading-rows{grid-template-columns:62px 1fr}}#galaxy{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;background:#060a10fe;overflow:auto}#galaxy[hidden]{display:none}.galaxy-header{text-align:center}.galaxy-header h1{margin:0;font-size:26px;letter-spacing:.3em;color:var(--accent)}.galaxy-header p{margin:6px 0 0;color:var(--dim);text-transform:uppercase;font-size:12px}.galaxy-header .galaxy-here{margin-top:6px;color:var(--here);font-size:15px;letter-spacing:.22em;text-transform:none}.galaxy-node.shut .galaxy-dot{fill:#5a3a3a}.galaxy-node.shut .galaxy-label,.galaxy-node.shut .galaxy-status{fill:#a06a6a}.galaxy-header .galaxy-denied{margin-top:6px;color:var(--hostile);letter-spacing:.18em}.galaxy-legend-dark{color:#4a5c6b}.galaxy-header .galaxy-fleet{margin-top:4px;color:var(--friendly);letter-spacing:.16em}.galaxy-map{width:min(78vh,100%,720px);height:min(78vh,100%,720px)}.galaxy-link{stroke:#8ce6ff1f;stroke-width:.4}.galaxy-link.live{stroke:#8ce6ff80;stroke-width:.8}.galaxy-dot{fill:#35506a}.galaxy-node.ring-well .galaxy-dot{fill:var(--hostile)}.galaxy-node.ring-inner .galaxy-dot{fill:#7a6ad0}.galaxy-node.pickable .galaxy-dot{fill:var(--accent)}.galaxy-node.here .galaxy-dot{fill:var(--here)}.galaxy-you{fill:none;stroke:var(--here);stroke-width:.9;opacity:.85}.galaxy-node.offline .galaxy-dot{fill:#1e2a38}.galaxy-hit{fill:transparent;cursor:pointer}.galaxy-node.pickable:hover .galaxy-dot,.galaxy-node.pickable:focus-visible .galaxy-dot{fill:#fff}.galaxy-node:focus-visible{outline:none}.galaxy-node:focus-visible .galaxy-hit{stroke:var(--accent);stroke-width:1.2}.galaxy-label{fill:var(--dim);font-size:3.4px;text-anchor:middle;letter-spacing:.1em;pointer-events:none;paint-order:stroke;stroke:#060a10eb;stroke-width:1.1;stroke-linejoin:round}.galaxy-node.pickable .galaxy-label{fill:#cfe8f5}.galaxy-node.here .galaxy-label{fill:var(--here);font-size:4.2px}.galaxy-legend{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;font-size:11px;letter-spacing:.2em;color:var(--dim)}.galaxy-legend-item.ring-well{color:var(--hostile)}.galaxy-legend-item.ring-inner{color:#7a6ad0}.galaxy-legend-count{color:var(--accent)}.galaxy-empty{color:var(--hostile);text-transform:uppercase;font-size:12px}.galaxy-actions button{padding:8px 18px;background:transparent;border:1px solid var(--dim);color:var(--dim);letter-spacing:.2em;cursor:pointer}.galaxy-actions button:hover{border-color:var(--accent);color:var(--accent)}#devbar{position:fixed;left:10px;bottom:10px;z-index:60;display:flex;align-items:center;gap:6px;padding:6px 8px;background:#140606e6;border:1px dashed var(--hostile);font-size:11px;letter-spacing:.15em}#devbar[hidden]{display:none}#devbar span{color:var(--hostile)}#devbar button{padding:4px 8px;background:transparent;border:1px solid var(--dim);color:var(--dim);font:inherit;letter-spacing:inherit;cursor:pointer}#devbar button:hover{border-color:var(--hostile);color:#fff}.galaxy-status{fill:#7d93a3;font-size:2.6px;text-anchor:middle;letter-spacing:.08em;pointer-events:none;paint-order:stroke;stroke:#060a10eb;stroke-width:1;stroke-linejoin:round}.galaxy-legend-delay{color:#7d93a3}.galaxy-actions .galaxy-go{border-color:var(--accent);color:var(--accent)}.galaxy-actions .galaxy-go:hover{background:var(--accent);color:#06131a}#loading-galaxy{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:8px}#loading-galaxy:empty{display:none}.galaxy-inset{width:120px;height:120px}.galaxy-inset-link{stroke:#8ce6ff2e;stroke-width:.7}.galaxy-inset-node .galaxy-dot{fill:#3d5a75}.galaxy-inset-node.ring-well .galaxy-dot{fill:var(--hostile)}.galaxy-inset-node.ring-inner .galaxy-dot{fill:#7a6ad0}.galaxy-inset-node.here .galaxy-dot{fill:var(--here)}.galaxy-inset-label{fill:#cfe8f5;font-size:5px;text-anchor:middle;letter-spacing:.1em}.galaxy-inset-caption{color:var(--dim);font-size:10px;letter-spacing:.25em;text-transform:uppercase}#warp{z-index:30;width:100%;min-width:0;padding:10px 16px;pointer-events:auto;background:#081018d9;border:1px solid var(--dim);color:var(--dim);font:inherit;font-size:13px;letter-spacing:.28em;cursor:pointer;overflow:hidden}#warp[hidden]{display:none}#warp:hover{border-color:var(--accent);color:var(--accent)}#warp.charging{border-color:var(--accent);color:#fff}#warp-fill{position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--accent);transition:width .1s linear}#warp-label{position:relative;z-index:1}#warp.featured{position:fixed;inset:34% auto auto 50%;width:auto;transform:translate(-50%);min-width:190px;padding:14px 24px;font-size:15px;border-color:var(--friendly);color:var(--friendly);animation:warp-call 1.6s ease-in-out infinite}#warp.featured:hover{background:var(--friendly);color:#04120f}@keyframes warp-call{0%,to{box-shadow:0 0 #5cdcc766}50%{box-shadow:0 0 0 10px #5cdcc700}}@media (prefers-reduced-motion: reduce){#warp.featured{animation:none}}.galaxy-node.locked .galaxy-dot{fill:#2a3444;stroke:#8ce6ff59;stroke-width:.8;stroke-dasharray:1.6 1.4}.galaxy-node.locked .galaxy-label{fill:#5d707f}.galaxy-legend-locked{color:#5d707f}.reach-tip{position:absolute;top:0;left:0;padding:3px 7px;border:1px solid rgb(140 230 255 / 22%);background:#060c14e0;color:#cfe6f2;font-size:11px;font-weight:700;letter-spacing:.1em;white-space:nowrap;text-shadow:0 0 4px #000}.reach-tip.unreachable{border-color:#ff786e59;color:#ff8a80}.reach-tip.blocked{border-color:#ffc74a59;color:#ffc74a}.gesture-reach{position:absolute;top:-190px;left:0;color:#cfe6f2;font-size:11px;font-weight:700;letter-spacing:.12em;text-shadow:0 0 5px #000;white-space:nowrap;translate:-50% 0}.gesture.hint-above .gesture-reach{top:168px}.gesture.hint-above.sub-open .gesture-reach{top:212px}#gameover-vet{margin-top:12px;padding-top:10px;border-top:1px solid var(--edge);text-align:left}#gameover-vet[hidden]{display:none}#gameover-vet .vet-total{margin-bottom:6px;color:var(--accent);font-size:12px;letter-spacing:.08em}#gameover-vet .vet-row{display:flex;justify-content:space-between;gap:12px;padding:2px 0;color:var(--dim);font-size:11px}#gameover-vet .vet-row.up b{color:var(--here)}#fitting-tabs{display:flex;gap:2px;margin:-8px -10px 6px;border-bottom:1px solid var(--edge)}#fitting-tabs button{position:relative;flex:1;padding:4px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--dim);font:inherit;font-size:9px;line-height:1.2;letter-spacing:.08em;cursor:pointer}#fitting-tabs button.on{border-bottom-color:var(--accent);color:var(--ink)}#skill-dot{display:inline-block;width:6px;height:6px;margin-left:4px;border-radius:50%;background:var(--here);vertical-align:middle}#fitting-skills[hidden],#fitting-cargo[hidden]{display:none}.skill-head{display:grid;grid-template-columns:1fr auto;gap:2px 6px;margin-bottom:6px}.skill-head b{color:var(--ink);font-size:12px;letter-spacing:.06em}.skill-head span{color:var(--dim);font-size:10px;text-align:right}.skill-head i{display:block;grid-column:1 / -1;height:3px;background:#78bedc2e;border-radius:2px;overflow:hidden}.skill-head i u{display:block;height:100%;background:var(--accent)}.skill-life{grid-column:1 / -1;margin-top:3px;color:var(--dim);font-size:9px}.skill-points{margin-bottom:6px;color:var(--dim);font-size:10px}.skill-points.has{color:var(--here)}.skill-none{color:var(--dim);font-size:10px}.skill-trees{display:block;max-height:168px;overflow-y:auto}.skill-trees::-webkit-scrollbar{width:4px}.skill-trees::-webkit-scrollbar-thumb{background:var(--edge);border-radius:2px}.skill-tree[hidden]{display:none}.skill-picker{display:flex;gap:3px;margin-bottom:5px}.skill-tree-name{flex:1;min-width:0;padding:0 2px;border:1px solid var(--edge);border-radius:3px;background:transparent;color:var(--dim);font:inherit;font-size:9px;letter-spacing:.06em;cursor:pointer}.skill-tree-name.on{border-color:var(--accent);color:var(--accent)}.skill-row{display:flex;gap:3px;margin-bottom:3px}.skill-node{flex:1;min-width:0;min-height:40px;padding:4px 3px;border:1px solid var(--edge);border-radius:3px;background:#78bedc0f;color:var(--dim);font:inherit;text-align:left;cursor:pointer}.skill-node b{display:block;font-size:9px;letter-spacing:.04em;overflow-wrap:anywhere}.skill-node span{display:block;margin-top:2px;font-size:8px;line-height:1.25;opacity:.75;overflow-wrap:anywhere}.skill-node[data-state=taken]{border-color:var(--friendly);background:#5cdcc729;color:var(--ink);cursor:default}.skill-node[data-state=ready]{border-color:var(--here);background:#ffc46b24;color:var(--ink)}.skill-node[data-state=no-point]{opacity:.6;cursor:default}.skill-node[data-state=locked]{border-style:dashed;opacity:.38;cursor:default}.skill-node.capstone b{color:var(--accent)}.sel-vet{margin-bottom:5px;padding-bottom:5px;border-bottom:1px solid var(--edge)}.sel-vet .sel-vet-life{color:var(--dim);font-size:9px}.sel-vet.point .sel-vet-life:first-child:after{content:" •";color:var(--here)}
