:root{--ink:#c8ccd4;--ink-dim:#828a9a;--rule:#2a2e38;--panel:#08090cd1;--accent:#e8b84a;--alert:#d9442f;--mono:ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--mono);background:#07080c;margin:0;padding:0;font-size:12px;overflow:hidden}.viewport{position:fixed;inset:0}canvas.game{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{pointer-events:none;position:fixed;inset:0}.hud>*{pointer-events:auto}.boot{color:var(--ink-dim);letter-spacing:.2em;place-items:center;display:grid;position:fixed;inset:0}.devbar{z-index:20;background:var(--panel);border-bottom:1px solid var(--rule);letter-spacing:.06em;white-space:nowrap;align-items:center;gap:10px;padding:6px 10px;font-size:11px;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.devbar .hint{color:var(--ink-dim);text-overflow:ellipsis;min-width:0;overflow:hidden}.devbar .corp{color:var(--accent);margin-right:8px}.devbar label{color:var(--ink-dim);white-space:nowrap;align-items:center;gap:6px;display:flex}.devbar input,.devbar select,.devbar button{font:inherit;color:var(--ink);border:1px solid var(--rule);background:#0e1015;border-radius:0;padding:2px 6px}.devbar input{width:120px}.devbar button{cursor:pointer;text-transform:uppercase}.devbar button:hover{border-color:var(--accent);color:var(--accent)}.devbar .spacer{flex:1}.devbar .sep{background:var(--rule);width:1px;height:14px;margin:0 4px}.devbar input[type=checkbox]{accent-color:var(--accent);margin:0}.stats{background:var(--panel);border-top:1px solid var(--rule);border-right:1px solid var(--rule);color:var(--ink-dim);white-space:pre;min-width:220px;padding:6px 10px;font-size:11px;line-height:1.4;position:absolute;bottom:0;left:0}.painter{z-index:15;background:var(--panel);border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);letter-spacing:.04em;width:470px;padding:8px 10px 10px;font-size:11px;position:absolute;top:28px;right:0}.painter .row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.painter .row .spacer{flex:1}.painter .corp{color:var(--accent)}.painter input,.painter button,.painter .btn{font:inherit;color:var(--ink);border:1px solid var(--rule);text-transform:uppercase;cursor:pointer;background:#0e1015;border-radius:0;padding:2px 6px}.painter input[type=text],.painter input:not([type]){text-transform:none;cursor:text;width:130px}.painter input[type=range]{background:0 0;border:none;width:110px;padding:0}.painter button.on{color:var(--accent);border-color:var(--accent)}.painter button:hover,.painter .btn:hover{border-color:var(--accent)}.painter canvas{border:1px solid var(--rule);cursor:crosshair;touch-action:none;display:block}.squad{gap:2px;padding:0 0 6px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.slot{background:var(--panel);border:1px solid var(--rule);cursor:pointer;letter-spacing:.06em;-webkit-user-select:none;user-select:none;border-bottom:none;grid-template-rows:auto auto auto;grid-template-columns:14px 1fr auto;align-items:center;gap:4px 6px;width:176px;padding:5px 8px 6px;font-size:11px;display:grid}.slot .num{color:var(--ink-dim);grid-row:1/span 3;font-size:14px}.slot .desig{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.slot .tag{color:var(--ink-dim);white-space:nowrap;font-size:10px}.slot .hp{background:#1a1c22;grid-column:2/span 2;height:3px}.slot .hp .bar{background:var(--accent);width:100%;height:100%;transition:width .12s linear}.slot .lien{color:var(--ink-dim);grid-column:2/span 2;grid-template-columns:8px 1fr 8px 1fr 8px 1fr auto;align-items:center;gap:3px;font-size:9px;display:grid}.slot .lb{cursor:pointer;background:#1a1c22;border:1px solid #262a33;height:5px}.slot .lf{background:#8a94a8;width:50%;height:100%;transition:width .12s linear}.slot .px{font:inherit;letter-spacing:.06em;color:var(--ink-dim);border:1px solid var(--rule);cursor:pointer;background:0 0;margin-left:4px;padding:0 4px;font-size:9px}.slot .px.on{color:var(--accent);border-color:var(--accent)}.slot.sel{border-color:var(--accent)}.slot.sel .desig{color:var(--accent)}.slot.empty{opacity:.45;cursor:default}.slot.empty .desig{color:var(--ink-dim)}.dragbox{border:1px solid var(--accent);pointer-events:none;background:#e8b84a14;position:absolute}.objectives{background:var(--panel);border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);letter-spacing:.06em;min-width:300px;padding:6px 10px 8px;font-size:11px;position:absolute;top:34px;right:0}.objectives .head{color:var(--ink-dim);justify-content:space-between;margin-bottom:4px;display:flex}.objectives .obj{grid-template-columns:14px 1fr auto;gap:8px;padding:2px 0;display:grid}.objectives .obj.done{color:var(--ink-dim);text-decoration:line-through}.objectives .obj.failed{color:var(--alert)}.objectives .banner{text-align:center;letter-spacing:.2em;border-top:1px solid var(--rule);margin-top:6px;padding:4px 0}.objectives .banner.won{color:var(--accent)}.objectives .banner.lost{color:var(--alert)}.screen{z-index:10;background:#0304068c;place-items:center;display:grid;position:absolute;inset:0}.screen .panel{background:var(--panel);border:1px solid var(--rule);width:560px;max-width:90vw;padding:18px 22px}.screen pre{font:inherit;letter-spacing:.06em;white-space:pre-wrap;color:var(--ink);margin:0 0 14px;font-size:12px;line-height:1.55}.screen .actions{justify-content:flex-end;gap:8px;display:flex}.screen button{font:inherit;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);cursor:pointer;background:0 0;padding:6px 18px;font-size:12px}.screen button:hover{background:#e8b84a1f}.strategy{z-index:10;letter-spacing:.06em;background:#040508db;flex-direction:column;font-size:11px;display:flex;position:absolute;inset:0}.strategy .topbar{border-bottom:1px solid var(--rule);align-items:center;gap:18px;margin-top:28px;padding:8px 14px;display:flex}.strategy .topbar .corp{color:var(--accent)}.strategy .topbar .spacer{flex:1}.strategy button,.strategy select{font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border:1px solid var(--rule);cursor:pointer;background:#0e1015;border-radius:0;padding:3px 8px}.strategy button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.strategy button:disabled{opacity:.4;cursor:default}.strategy button.on{color:var(--accent);border-color:var(--accent)}.strategy button.warn,.strategy .warn{color:var(--alert);border-color:var(--alert)}.strategy .body{flex:1;min-height:0;display:flex}.strategy .worldmap{flex:1;min-width:0;height:100%}.worldmap .edge{stroke:#23272f;stroke-width:1.5px}.worldmap .edge.corp{opacity:.45}.worldmap .node{cursor:pointer}.worldmap .node .hit{fill:#0000}.worldmap .node .dot{fill:#3a3f4c;stroke:#5a6070;stroke-width:1.5px}.worldmap .node.player .dot{fill:#8a6a22;stroke:var(--accent)}.worldmap .node.none .dot{fill:#1e2128;stroke:#3a3f4c}.worldmap .node.rival .dot{fill:color-mix(in srgb, var(--corp) 32%, #1e2128);stroke:var(--corp)}.worldmap .node .seat{fill:none;stroke:var(--corp);stroke-width:1px;opacity:.7}.worldmap .legend text{text-anchor:start;font-size:8px}.worldmap .node .ring{fill:none;stroke:var(--accent);stroke-width:1px;stroke-dasharray:3 3;opacity:.8}.worldmap .node.sel .dot{stroke:#fff;stroke-width:2.5px}.worldmap text{fill:var(--ink-dim);text-anchor:middle;font-size:9px;font-family:var(--mono);letter-spacing:.08em;pointer-events:none}.worldmap .node.player text{fill:var(--ink)}.strategy .desk{border-left:1px solid var(--rule);flex-direction:column;width:440px;min-height:0;display:flex}.strategy .tabs{border-bottom:1px solid var(--rule);display:flex}.strategy .tabs button{border:none;border-right:1px solid var(--rule);background:0 0;flex:1;padding:7px 0}.strategy .panel{padding:12px 14px;overflow-y:auto}.strategy .panel h3{letter-spacing:.2em;color:var(--accent);margin:0 0 10px;font-size:13px;font-weight:400}.strategy .panel h4{letter-spacing:.2em;color:var(--ink-dim);border-top:1px solid var(--rule);margin:14px 0 6px;padding-top:8px;font-size:10px;font-weight:400}.strategy dl{grid-template-columns:120px 1fr;row-gap:4px;margin:0 0 12px;display:grid}.strategy dt{color:var(--ink-dim)}.strategy dd{margin:0}.strategy .row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0;display:flex}.strategy .row input[type=range]{accent-color:var(--accent);flex:1}.strategy .actions{align-items:center;gap:8px;margin-top:14px;display:flex}.strategy .hint,.strategy .dim{color:var(--ink-dim);padding:14px}.strategy .log{font:inherit;white-space:pre-wrap;color:var(--ink);margin:0;padding:12px 14px;line-height:1.5;overflow-y:auto}.strategy .asset{border:1px solid var(--rule);margin-bottom:6px;padding:6px 8px}.strategy .asset.vacant{opacity:.55}.strategy .asset .head{align-items:center;gap:8px;display:flex}.strategy .asset .num{color:var(--ink-dim);width:12px}.strategy .desig{color:var(--ink)}.strategy .desig.dim{color:var(--ink-dim)}.strategy .tag{color:var(--ink-dim);flex:1;font-size:10px}.strategy .items button,.strategy .mods button{padding:2px 6px;font-size:10px}.strategy .reserve{border-bottom:1px solid #15181e;align-items:center;gap:8px;padding:4px 0;display:flex}.strategy .bar{background:#1a1c22;height:4px;margin:4px 0 10px}.strategy .bar div{background:var(--accent);height:100%}.screen.title{background:#03040699}.screen.title .card{text-align:center;border:1px solid var(--rule);background:var(--panel);padding:30px 40px}.screen.title .corp{color:var(--accent);letter-spacing:.4em;font-size:11px}.screen.title h1{letter-spacing:.3em;color:var(--ink);margin:14px 0 6px;font-size:40px;font-weight:400;line-height:1.05}.screen.title .sub{color:var(--ink-dim);letter-spacing:.2em;margin-bottom:26px;font-size:10px}.screen.title .actions{justify-content:center}.screen.title .keys{color:var(--ink-dim);letter-spacing:.08em;margin-top:22px;font-size:10px}.stations{pointer-events:none;position:absolute;inset:0}.stn{transform-origin:0 0;letter-spacing:.12em;color:#5fd8ff;white-space:nowrap;pointer-events:none;background:#060e14cc;border:1px solid #5fd8ff73;margin-top:-22px;margin-left:-60px;padding:2px 7px;font-size:10px;position:absolute;top:0;left:0}.stn.boarding{color:var(--accent);border-color:var(--accent)}.stn.mine{background:#e8b84a24}.pause{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.pause[hidden]{display:none}.pause .card{text-align:center;background:var(--panel);border:1px solid var(--rule);padding:16px 34px}.pause .word{letter-spacing:.5em;color:var(--ink);margin-right:-.5em;font-size:22px}.pause .hint{letter-spacing:.2em;color:var(--ink-dim);margin-top:8px;margin-right:-.2em;font-size:10px}.pause .card{pointer-events:auto}.pause .abort{font:inherit;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);border:1px solid var(--rule);cursor:pointer;background:#0e1015;border-radius:0;margin-top:16px;padding:5px 14px;font-size:10px}.pause .abort:hover{color:var(--ink)}.pause .abort.armed{color:var(--accent);border-color:var(--accent)}.extract{letter-spacing:.14em;color:var(--accent);background:var(--panel);border:1px solid var(--accent);pointer-events:none;padding:4px 12px;font-size:11px;position:absolute;top:62px;left:50%;transform:translate(-50%)}.ride{letter-spacing:.14em;color:#5fd8ff;background:var(--panel);pointer-events:none;border:1px solid #5fd8ff80;padding:4px 12px;font-size:11px;position:absolute;top:36px;left:50%;transform:translate(-50%)}.screen.generating .card{text-align:center;background:var(--panel);border:1px solid var(--rule);padding:16px 34px}.screen.generating .word{letter-spacing:.4em;color:var(--ink);margin-right:-.4em;font-size:16px}.screen.generating .hint{letter-spacing:.2em;color:var(--ink-dim);margin-top:8px;margin-right:-.2em;font-size:10px}.slot:focus-visible,.slot .lb:focus-visible,.slot .px:focus-visible,.pause .abort:focus-visible,.screen button:focus-visible,.strategy button:focus-visible,.devbar button:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.worldmap .node:focus{outline:none}.worldmap .node:focus-visible .dot{stroke:var(--accent);stroke-width:2.5px}@media (max-width:1100px){.devbar{scrollbar-width:thin;overflow:auto hidden}.devbar .hint{display:none}.squad{left:auto;right:0;transform:none}.slot{width:132px;padding:4px 6px 5px}.slot .tag{font-size:9px}.objectives{min-width:220px}.stats{min-width:0;font-size:10px}.painter{width:min(470px,100vw)}.strategy .desk{width:min(440px,46vw)}.strategy .topbar{flex-wrap:wrap;gap:10px}}@media (max-width:760px){.stats{display:none}.slot{width:96px}.slot .tag{display:none}.screen .panel{padding:12px 14px}.screen.title .card{padding:20px 18px}.screen.title h1{font-size:28px}.strategy .body{flex-direction:column}.strategy .worldmap{flex:0 0 40%;min-height:180px}.strategy .desk{border-left:none;border-top:1px solid var(--rule);flex:1;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
