:root{--bg-void:#0a0e12;--bg-deep:#060809;--bg-panel:#12181d;--bg-panel-raised:#1a2229;--line:#263139;--line-bright:#3a4a54;--text-primary:#d8e6e6;--text-dim:#6c8286;--text-faint:#6c7f88;--signal-cyan:#57d9c9;--signal-cyan-dim:#2c6b64;--signal-amber:#ffb454;--signal-danger:#ff5d6c;--signal-danger-dim:#7a2e34;--faction-collective:#b98bff;--faction-helix:#ff5d6c;--faction-sentience:#57d9c9;--faction-govt:#7fa8ff;--faction-axiom:#ffe066;--font-term:"IBM Plex Mono", "Courier New", monospace;--font-app:"Manrope", system-ui, sans-serif;--radius:3px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg-void);color:var(--text-primary);font-family:var(--font-term);-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:var(--signal-cyan-dim);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:var(--line-bright);border-radius:4px}button{cursor:pointer;font-family:inherit}.btn{background:var(--bg-panel-raised);border:1px solid var(--line-bright);color:var(--text-primary);border-radius:var(--radius);letter-spacing:.02em;padding:6px 12px;font-size:12px;transition:border-color .12s,color .12s,background .12s}.btn:hover{border-color:var(--signal-cyan);color:var(--signal-cyan)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn:disabled:hover{border-color:var(--line-bright);color:var(--text-primary)}.btn-primary{background:var(--signal-cyan-dim);border-color:var(--signal-cyan);color:#eafffb}.btn-danger{background:var(--signal-danger-dim);border-color:var(--signal-danger);color:#ffeef0}.mono-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);font-size:10px}.panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius)}.scanline-overlay{pointer-events:none;z-index:9999;mix-blend-mode:overlay;background:repeating-linear-gradient(#ffffff04 0 1px,#0000 1px 2px);position:fixed;inset:0}@keyframes taskbar-alert-blink{0%,to{border-color:var(--signal-danger);color:var(--signal-danger);background:0 0}50%{border-color:var(--signal-danger);color:var(--text-primary);background:#ff3c3c40}}.taskbar-alert{animation:.8s ease-in-out infinite taskbar-alert-blink}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}
