:root{--bg:#050508;--line:#c8c8d0;--line-dim:#6a6a74;--line-faint:#2a2a32;--panel:#06060ad1;--red:#ff2a2a;--cyan:#7af6ff;--mcp:#ff6a18;--ui-scale:1;--display:"Audiowide", sans-serif;--mono:"Rajdhani", sans-serif}*{box-sizing:border-box}html{font-size:calc(16px * var(--ui-scale,1))}html,body,#app{background:var(--bg);width:100%;height:100%;color:var(--line);font-family:var(--mono);-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game{cursor:crosshair;background:#050508;outline:none;width:100%;height:100%;display:block}#game.mode-attack{cursor:cell}#game.mode-build{cursor:copy}#scanlines{pointer-events:none;z-index:5;background:repeating-linear-gradient(#ffffff04 0 1px,#0000 1px 3px),radial-gradient(#0000 50%,#00000073 100%);position:fixed;inset:0}.hud{z-index:8;pointer-events:none;position:fixed}#topbar{border-bottom:1px solid var(--line-faint);pointer-events:none;background:linear-gradient(#050508eb,#05050859 80%,#0000);justify-content:space-between;align-items:center;gap:16px;padding:10px 16px 12px;display:flex;top:0;left:0;right:0}.brand{letter-spacing:.22em;align-items:center;gap:10px;font-size:.75rem;display:flex}.brand-name{font-family:var(--display);letter-spacing:.16em}.brand-mark{color:var(--line-dim)}.chip{border:1px solid var(--line-dim);letter-spacing:.16em;color:var(--line);padding:2px 8px;font-size:.625rem}#diff-chip{color:var(--mcp);border-color:color-mix(in srgb, var(--mcp) 55%, transparent)}.resources{gap:18px;display:flex}.res{pointer-events:auto;cursor:help;align-items:center;gap:8px;min-width:110px;transition:color .2s;display:flex;position:relative}.res.flash{animation:.45s flash-white}.res.bad{animation:.55s flash-red}.res.gain{animation:.7s res-gain}.res.spend{animation:.7s res-spend}.res.gain .res-val,.res.gain .res-name{color:#86e8b8}.res.gain .res-ico{border-color:#86e8b8;box-shadow:0 0 8px #86e8b859}.res.spend .res-val,.res.spend .res-name{color:#ff7a7a}.res.spend .res-ico{border-color:#ff7a7a;box-shadow:0 0 8px #ff50504d}.res.constrained .res-val,.res.constrained .res-name{color:var(--red)}.res.constrained .res-ico{border-color:var(--red);box-shadow:0 0 8px #ff2a2a59}.res.constrained.gain .res-val,.res.constrained.gain .res-name{color:var(--red)}.res-tip{z-index:30;border:1px solid var(--red);width:max(220px,100%);color:var(--line);letter-spacing:.04em;pointer-events:none;background:#080406f0;padding:8px 10px;font-size:.625rem;line-height:1.45;display:none;position:absolute;top:calc(100% + 8px);left:0}.res:hover .res-tip{border-color:var(--line-dim);display:block}.res.constrained .res-tip,.res.constrained:hover .res-tip{border-color:var(--red);color:#ffd0d0;display:block}.res-delta{letter-spacing:.06em;opacity:0;pointer-events:none;white-space:nowrap;margin-left:4px;font-size:.625rem;position:absolute;top:-2px;left:100%}.res.gain .res-delta{color:#86e8b8;animation:.75s forwards res-delta-up}.res.spend .res-delta{color:#ff7a7a;animation:.75s forwards res-delta-down}.res-ico{border:1px solid var(--line);width:12px;height:12px;display:inline-block}.res-ico.energy{border-radius:50%}.res-ico.data{width:9px;height:9px;transform:rotate(45deg)}.res-ico.iso{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.res-ico.pop{box-shadow:inset 0 0 0 1px var(--line);background:repeating-linear-gradient(90deg, var(--line) 0 2px, transparent 2px 4px);border:none}.res-name{letter-spacing:.14em;color:var(--line-dim);font-size:.625rem}.res-val{min-width:42px;font-size:.875rem}.top-meta{letter-spacing:.12em;color:var(--line-dim);gap:14px;font-size:.75rem;display:flex}#objectives{background:var(--panel);border:1px solid var(--line-faint);width:240px;padding:10px 12px;top:56px;left:16px}.obj-title,.mm-title{letter-spacing:.2em;color:var(--line-dim);margin-bottom:8px;font-size:.625rem}#obj-list{letter-spacing:.04em;flex-direction:column;gap:6px;font-size:.6875rem;display:flex}.obj.done{color:var(--line-dim);text-decoration:line-through}#toasts{flex-direction:column;gap:6px;width:280px;display:flex;top:56px;right:16px}.toast{pointer-events:none;border:1px solid var(--line-dim);background:var(--panel);letter-spacing:.08em;padding:8px 10px;font-size:.6875rem}.toast.attack{border-color:var(--red);color:var(--red)}.toast.info{border-color:var(--cyan);color:var(--cyan)}#selection{background:var(--panel);border:1px solid var(--line-faint);pointer-events:auto;width:320px;min-height:132px;padding:12px;bottom:16px;left:228px}.sel-empty{color:var(--line-dim);letter-spacing:.16em;text-align:center;padding:28px 0;font-size:.6875rem}.sel-head{justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}#sel-name{letter-spacing:.12em;font-size:.8125rem}#sel-sub{color:var(--line-dim);letter-spacing:.1em;font-size:.625rem}#sel-hpwrap{align-items:center;gap:8px;margin-bottom:8px;display:flex}#sel-hpbar{border:1px solid var(--line-dim);flex:1;height:6px}#sel-hpfill{background:var(--line);width:0;height:100%}#sel-hpfill.low{background:var(--red)}#sel-hptext{color:var(--line-dim);text-align:right;min-width:64px;font-size:.625rem}#sel-queue{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.q-empty{letter-spacing:.1em;color:var(--line-dim);padding:4px 0;font-size:.625rem}.q-row{appearance:none;width:100%;color:var(--line);border:1px solid var(--line-faint);letter-spacing:.08em;text-align:left;cursor:pointer;background:0 0;grid-template-columns:1fr 72px 32px;align-items:center;gap:6px;padding:5px 6px;font-family:inherit;font-size:.625rem;display:grid}.q-row.active{border-color:var(--line-dim)}.q-row:hover{border-color:var(--line)}.q-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.q-bar{border:1px solid var(--line-dim);height:5px}.q-bar>div{background:var(--line);height:100%}.q-time,.q-wait{color:var(--line-dim);text-align:right}.q-row.active .q-time{color:var(--cyan)}#sel-portraits{flex-wrap:wrap;gap:4px;display:flex}.portrait{border:1px solid var(--line-dim);width:28px;height:28px;color:var(--line);place-items:center;font-size:.5625rem;display:grid}.portrait.on{border-color:var(--line);box-shadow:0 0 0 1px var(--line)}#cmd{background:var(--panel);border:1px solid var(--line-faint);pointer-events:auto;width:300px;padding:10px;bottom:16px;right:16px}#cmd-hint{letter-spacing:.12em;color:var(--line-dim);margin-bottom:8px;font-size:.625rem}#cmd-blurb{border:1px solid var(--line-faint);min-height:58px;margin-bottom:8px;padding:8px}#cmd-blurb-title{letter-spacing:.14em;margin-bottom:4px;font-size:.6875rem}#cmd-blurb-body{letter-spacing:.02em;color:var(--line-dim);font-size:.6875rem;line-height:1.45}#cmd-blurb-cost{letter-spacing:.08em;color:var(--cyan);margin-top:6px;font-size:.625rem}#cmd-blurb-cost:empty{display:none}#cmd-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.cmd-btn{pointer-events:auto;appearance:none;color:var(--line);border:1px solid var(--line-dim);letter-spacing:.08em;cursor:pointer;text-align:center;background:0 0;flex-direction:column;justify-content:flex-start;align-items:center;min-height:56px;padding:6px 4px;font-family:inherit;font-size:.625rem;display:flex}.cmd-btn:hover:not(:disabled){border-color:var(--line);background:#ffffff0a}.cmd-btn:disabled{opacity:.35;cursor:default}.cmd-btn kbd{box-sizing:border-box;min-width:1.6rem;height:1.15rem;color:var(--line-dim);flex:none;justify-content:center;align-items:center;margin:0 0 6px;padding:0 4px;font-size:.5625rem;line-height:1;display:flex}#minimap-frame{background:var(--panel);border:1px solid var(--line-faint);pointer-events:auto;padding:8px;bottom:16px;left:16px}#minimap{cursor:pointer;background:#000;width:196px;height:196px;display:block}.deck{border:1px solid var(--line-faint);color:var(--line);text-align:left;image-rendering:pixelated;background:#050508}.deck-side{z-index:22;pointer-events:auto;background:var(--panel);width:212px;padding:8px;bottom:258px;left:16px}.deck-head{letter-spacing:.16em;align-items:center;gap:8px;font-size:.625rem;display:flex}.deck-chip{border:1px solid var(--line-dim);letter-spacing:.14em;color:var(--line-dim);padding:1px 5px;font-size:.5rem}.deck.is-aries .deck-chip{color:var(--mcp);border-color:color-mix(in srgb, var(--mcp) 55%, transparent)}.deck.is-grid .deck-chip{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 45%, transparent)}.deck-viz{width:100%;height:28px;image-rendering:pixelated;background:#030306;margin:6px 0;display:block}.deck-side .deck-viz{height:24px}.deck-row{align-items:center;gap:4px;display:flex}.deck-btn{appearance:none;border:1px solid var(--line-dim);width:26px;height:22px;color:var(--line);cursor:pointer;background:0 0;padding:0;font-family:inherit;font-size:.6875rem;line-height:1}.deck-btn:hover{background:#ffffff0f}.deck-pips{letter-spacing:.08em;color:var(--line-dim);flex:1;font-size:.5625rem}.deck.is-play .deck-pips{color:var(--line)}.deck-state{letter-spacing:.14em;color:var(--line-dim);text-align:right;min-width:3.4rem;font-size:.5rem}.deck-hint{letter-spacing:.18em;color:var(--line-dim);margin-top:6px;font-size:.5rem}#coach{background:var(--panel);border:1px solid var(--line);pointer-events:auto;z-index:12;width:min(520px,100vw - 40px);padding:14px 16px 12px;top:58px;left:50%;transform:translate(-50%)}#coach.hidden{display:none}.coach-kicker{letter-spacing:.22em;color:var(--cyan);margin-bottom:6px;font-size:.625rem}#coach-title{letter-spacing:.16em;text-align:left;margin:0 0 8px;font-size:1rem}#coach-body{letter-spacing:.03em;color:var(--line);margin:0 0 8px;font-size:.75rem;line-height:1.55}#coach-do{letter-spacing:.08em;color:var(--cyan);margin:0 0 12px;font-size:.6875rem}.coach-actions{justify-content:flex-end;gap:8px;display:flex}.coach-actions .btn{width:auto;padding:8px 12px;font-size:.625rem}#alert-banner{color:var(--red);border:1px solid var(--red);letter-spacing:.28em;background:#140000b3;padding:8px 18px;font-size:.8125rem;animation:.8s infinite pulse-red;top:86px;left:50%;transform:translate(-50%)}.overlay{z-index:20;pointer-events:auto;background:#040407e0;place-items:center;display:grid;position:fixed;inset:0}.overlay.hidden{display:none}.boot-col,.help-col{text-align:center;max-width:820px;padding:24px}.boot-kicker{letter-spacing:.32em;color:var(--line-dim);font-size:.6875rem}h1,h2{font-family:var(--display);letter-spacing:.18em;margin:16px 0 8px;font-weight:400}h1{font-size:clamp(1.75rem,6vw,3.5rem)}.boot-tag{color:var(--line-dim);letter-spacing:.16em;font-size:.75rem}.boot-actions{flex-direction:column;gap:10px;width:min(320px,80vw);margin:28px auto 0;display:flex}.text-pref{border:1px solid var(--line-faint);justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.text-pref-label{letter-spacing:.16em;color:var(--line-dim);font-size:.625rem}.text-pref-ctrls{align-items:center;gap:6px;display:flex}.text-pref-ctrls .btn{letter-spacing:0;width:36px;padding:6px 0}#text-scale-label,.text-scale-label,#diff-label,.font-label{text-align:center;letter-spacing:.08em;min-width:72px;font-size:.75rem}.btn{appearance:none;color:var(--line);border:1px solid var(--line-dim);letter-spacing:.18em;cursor:pointer;background:0 0;padding:12px 16px;font-family:inherit;font-size:.75rem}.btn.primary{border-color:var(--line)}.btn:hover{background:#ffffff0d}.boot-foot{letter-spacing:.2em;color:var(--line-dim);margin-top:28px;font-size:.625rem}.score-col{max-width:640px}#end-modal.lost{background:#160204eb}#end-modal.lost #end-title,#end-modal.lost #end-kicker,#end-modal.lost #end-tag,#end-modal.lost #end-grade,#end-modal.lost #score-mcp-total{color:var(--red)}#end-modal.won #end-title{color:var(--line)}#end-grade{letter-spacing:.28em;color:var(--cyan);margin:12px 0 16px;font-size:1rem}#end-next{border:1px solid var(--cyan);text-align:center;background:#7af6ff0d;width:min(320px,80vw);margin:18px auto 4px;padding:14px 14px 16px}#end-next[hidden]{display:none}.next-kicker{letter-spacing:.22em;color:var(--cyan);margin-bottom:8px;font-size:.5625rem}#end-next-from{letter-spacing:.14em;color:var(--line-dim);font-size:.6875rem;text-decoration:line-through}.next-rule{letter-spacing:.2em;color:var(--cyan);margin:10px 0 8px;font-size:.625rem}#end-next-name{font-family:var(--display);letter-spacing:.16em;font-size:1.25rem}#end-next-blurb{letter-spacing:.04em;color:var(--line-dim);margin:8px 0 14px;font-size:.6875rem;line-height:1.45}#end-next .btn{border-color:var(--cyan);width:100%;color:var(--cyan)}#score-table{border-collapse:collapse;letter-spacing:.08em;text-align:right;width:100%;font-size:.6875rem}#score-table th,#score-table td{border-bottom:1px solid var(--line-faint);padding:6px 10px}#score-table th:first-child,#score-table td:first-child{text-align:left;color:var(--line-dim)}#score-table tfoot th{color:var(--line);border-bottom:none;padding-top:10px}#live-score{letter-spacing:.14em}.log-col{width:min(920px,100vw - 32px);max-width:920px}#log-table-wrap,#trace-table-wrap{border:1px solid var(--line-faint);max-height:min(52vh,420px);margin:12px 0 8px;overflow:auto}#log-table,#trace-table{border-collapse:collapse;letter-spacing:.06em;text-align:left;width:100%;font-size:.6875rem}#log-table th,#log-table td,#trace-table th,#trace-table td{border-bottom:1px solid var(--line-faint);white-space:nowrap;padding:7px 10px}#log-table th,#trace-table th{color:var(--line-dim);background:#08080c;position:sticky;top:0}#log-table .out-win,#trace-table .out-win{color:var(--cyan)}#log-table .out-loss,#trace-table .out-loss{color:var(--mcp)}.log-actions{justify-content:space-between;gap:10px;margin-top:16px;display:flex}.log-actions .btn{min-width:140px}.help-col{text-align:left;border:1px solid var(--line-faint);background:var(--panel)}.help-col h2{text-align:center}.help-grid{grid-template-columns:1fr 1fr;gap:20px;margin:16px 0 20px;display:grid}.help-grid h3{letter-spacing:.18em;color:var(--line-dim);margin:12px 0 8px;font-size:.6875rem}.help-grid ul{margin:0;padding:0;font-size:.75rem;line-height:1.7;list-style:none}kbd{border:1px solid var(--line-dim);padding:0 4px;font-size:.625rem}.help-col .btn{width:min(280px,100%);margin:0 auto;display:block}@keyframes res-gain{0%{filter:brightness(1.25);transform:translateY(-1px)}to{filter:none;transform:none}}@keyframes res-spend{0%{filter:brightness(1.15);transform:translateY(1px)}to{filter:none;transform:none}}@keyframes res-delta-up{0%{opacity:1;transform:translateY(4px)}to{opacity:0;transform:translateY(-10px)}}@keyframes res-delta-down{0%{opacity:1;transform:translateY(-2px)}to{opacity:0;transform:translateY(8px)}}@keyframes flash-white{0%{color:#fff}to{color:var(--line)}}@keyframes flash-red{0%{color:var(--red)}to{color:var(--line)}}@keyframes pulse-red{0%,to{opacity:1}50%{opacity:.45}}@media (max-width:980px),(max-height:760px){.deck-side{z-index:24;width:auto;bottom:12px;left:12px;right:12px}.deck-side .deck-viz{height:14px;margin:4px 0}.deck-hint{display:none}#minimap-frame{bottom:100px}#selection{width:calc(100% - 32px);bottom:100px;left:16px}#cmd{width:calc(100% - 32px);bottom:100px}.overlay{align-content:start;place-items:start center;padding:12px 12px 118px;overflow:auto}.boot-col,.help-col{padding-bottom:8px}}@media (max-width:980px){#objectives{display:none}.help-grid{grid-template-columns:1fr}}
