:root,:root[data-theme=midnight]{--bg: #0b0b12;--panel: rgba(16, 16, 26, .92);--edge: #23233a;--text: #e6e6f0;--dim: #8a8aa3;--soft: #c9c9dc;--purple: #8b5cf6;--cyan: #22d3ee;--amber: #f59e0b;--red: #ef4444;--green: #34d399;--chip: #16162a;--chip-on: #221a3a;--card: #12121f;--card-good: #0f2018;--bar-bg: #1c1c2e;--input: #0c0c16;--canvas-bright: 1;font-family:ui-monospace,SF Mono,Menlo,monospace}:root[data-theme=contrast]{--bg: #000000;--panel: rgba(8, 8, 12, .97);--edge: #52527a;--text: #ffffff;--dim: #c0c0d4;--soft: #ececf8;--purple: #a78bfa;--cyan: #67e8f9;--amber: #fbbf24;--red: #f87171;--green: #6ee7b7;--chip: #1c1c30;--chip-on: #372560;--card: #16161f;--card-good: #143a26;--bar-bg: #2a2a40;--input: #101018;--canvas-bright: 1.15}:root[data-theme=paper]{--bg: #e8e4da;--panel: rgba(251, 249, 243, .96);--edge: #c2bcaa;--text: #1a1a28;--dim: #63637a;--soft: #34344c;--purple: #6d28d9;--cyan: #0e7490;--amber: #b45309;--red: #dc2626;--green: #047857;--chip: #efebe0;--chip-on: #e3daf6;--card: #f5f2e9;--card-good: #ddf0e2;--bar-bg: #d6d1c2;--input: #ffffff;--canvas-bright: 1.22}:root[data-theme=crt]{--bg: #020803;--panel: rgba(3, 16, 6, .95);--edge: #1a6b3a;--text: #6ee7a0;--dim: #48a86e;--soft: #8af0b5;--purple: #34d873;--cyan: #4ade80;--amber: #facc15;--red: #f87171;--green: #4ade80;--chip: #052410;--chip-on: #0d4a22;--card: #04180a;--card-good: #0d4a22;--bar-bg: #0c2c16;--input: #031007;--canvas-bright: 1.05}:root[data-theme=vapor]{--bg: linear-gradient(180deg, #16063a 0%, #45156b 38%, #c33168 70%, #ff9a76 100%);--panel: rgba(28, 9, 52, .88);--edge: #83308f;--text: #ffe9f7;--dim: #c79bd8;--soft: #ffd6ef;--purple: #b967ff;--cyan: #01cdfe;--amber: #ffb96b;--red: #ff5e78;--green: #05ffa1;--chip: #2d1250;--chip-on: #55207d;--card: #271046;--card-good: #0d3d3a;--bar-bg: #3b1b63;--input: #1c0a35;--canvas-bright: 1.08}body{background:var(--bg)}#app canvas{filter:brightness(var(--canvas-bright))}:root[data-theme=crt] #hud{text-shadow:0 0 6px rgba(74,222,128,.3)}:root[data-theme=vapor] #app canvas{filter:brightness(1.08) saturate(1.3) hue-rotate(-6deg)}:root[data-theme=vapor] #hud .panel{box-shadow:0 0 20px #ff6ec724}:root[data-theme=vapor] #topbar .stat .val{text-shadow:0 0 8px rgba(1,205,254,.35)}:root[data-theme=contrast] #topbar .stat .val{font-size:15px}:root[data-theme=contrast] .chip{font-size:13px}:root[data-theme=contrast] .node{font-size:12.5px}:root[data-theme=contrast] .node small{font-size:11.5px}:root[data-theme=contrast] .tutbody{font-size:12.5px}:root[data-theme=contrast] .vid .t{font-size:11.5px}:root[data-theme=contrast] #hud{font-size:13px}*{box-sizing:border-box}#hud{position:fixed;inset:0;pointer-events:none;color:var(--text);font-size:12px}#hud .panel{background:var(--panel);border:1px solid var(--edge);border-radius:10px;pointer-events:auto}#topbar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;gap:18px;align-items:center;padding:8px 16px;white-space:nowrap}#topbar .stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px}#topbar .stat .label{color:var(--dim);font-size:9px;letter-spacing:.08em}#topbar .stat .val{font-size:14px;font-weight:700}#cash{color:var(--green);font-size:18px!important}#income.neg,#watts.hot,#temp.hot{color:var(--red)}.bar{width:90px;height:5px;background:var(--bar-bg);border-radius:3px;overflow:hidden}.bar>div{height:100%;background:var(--amber);width:0%;transition:width .2s}.bar.train>div{background:var(--purple)}#breaker-reset{display:none;background:var(--red);color:#fff;border:0;border-radius:6px;padding:6px 10px;font:inherit;font-weight:700;cursor:pointer;animation:flash .6s infinite alternate}@keyframes flash{0%{opacity:1}to{opacity:.55}}#leftcol{position:absolute;top:10px;left:10px;width:254px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 20px);pointer-events:none}#leftcol>*{pointer-events:auto}#controls{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:10px}#controls .chip{flex:1 1 44%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#controls #alloc-row,#controls #mandate,#controls #clap{flex:1 1 100%}#alloc,#allochost,#adspend{width:100%}.chip{background:var(--chip);border:1px solid var(--edge);color:var(--dim);border-radius:6px;padding:5px 9px;cursor:pointer;font:inherit;text-align:left}.chip.on{color:var(--text);border-color:var(--purple);background:var(--chip-on)}#alloc-row{display:flex;flex-direction:column;gap:3px;margin-top:4px}#alloc{width:130px;accent-color:var(--purple)}#shop{position:absolute;right:10px;top:10px;bottom:10px;width:195px;padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}#shop h3{margin:0 0 2px;font-size:11px;color:var(--dim);letter-spacing:.15em}.shop-cat{font-size:9px;color:var(--dim);letter-spacing:.2em;margin:4px 0 -2px}.shop-item{display:flex;gap:8px;align-items:center;border:1px solid var(--edge);border-radius:8px;padding:6px;cursor:pointer;background:var(--card)}.shop-item:hover{border-color:var(--cyan)}.shop-item.selected{border-color:var(--green);background:var(--card-good)}.shop-item.dim{opacity:.45;cursor:default}.shop-item img{width:40px;height:40px;object-fit:contain}.shop-item .nm{font-weight:700;font-size:11px}.shop-item .cost{color:var(--green);font-size:11px}.shop-item .lock{color:var(--dim);font-size:10px}#feed{position:absolute;left:10px;bottom:10px;width:320px;max-height:46vh;padding:10px;display:flex;flex-direction:column;gap:6px;overflow:hidden}#feed h3{margin:0;font-size:11px;color:var(--dim);letter-spacing:.15em}#feed h3 b{color:var(--red)}.vid{display:flex;gap:8px;align-items:center}.vid img{width:76px;height:44px;object-fit:cover;border-radius:5px}.vid .t{font-size:10.5px;line-height:1.25}.vid .v{color:var(--dim);font-size:10px}.vid .v b.viral{color:var(--amber)}#toasts{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;align-items:center}.toast{padding:8px 14px;border-radius:8px;font-weight:700;animation:rise 4s forwards}.toast.bad{background:#3a1214;border:1px solid var(--red);color:#ffb4b4}.toast.good{background:#12312a;border:1px solid var(--green);color:#a7f3d0}.toast.info{background:var(--chip);border:1px solid var(--edge);color:var(--dim)}.toast.rival{background:#251330;border:1px solid var(--purple);color:#d8b4fe}#fxrow{position:absolute;top:64px;left:50%;transform:translate(-50%);display:flex;gap:6px;flex-wrap:wrap;justify-content:center;max-width:60vw}.fxbadge{background:var(--panel);border:1px solid var(--edge);border-radius:999px;padding:3px 10px;font-size:10.5px;pointer-events:none}.fxbadge.down{border-color:var(--red);color:#fda4af}.fxbadge.up{border-color:var(--green);color:#a7f3d0}#mandate{padding:4px 2px}#mandate #mtext{font-size:10.5px;margin-bottom:3px}#clap{background:#7c2d12;border:1px solid var(--amber);color:#fed7aa;border-radius:6px;padding:6px 9px;font:inherit;font-size:11px;cursor:pointer;text-align:left;animation:flash .5s infinite alternate}@keyframes rise{0%{opacity:0;transform:translateY(8px)}8%{opacity:1;transform:none}80%{opacity:1}to{opacity:0}}#hint{position:absolute;bottom:12px;right:215px;color:var(--dim);font-size:11px;text-align:right}#adapt.hot{color:var(--red)}.codex-back{position:fixed;inset:0;background:#04040ab3;z-index:60;display:flex;align-items:center;justify-content:center;pointer-events:auto}.codex{width:min(400px,92vw);max-height:88vh;overflow-y:auto;padding:14px 16px}.codex-art{display:block;max-width:80%;max-height:36vh;margin:6px auto 10px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.5))}.codex-desc{font-size:12px;color:var(--soft);font-style:italic;margin-bottom:10px;line-height:1.4}.codex .node{display:flex;justify-content:space-between;align-items:baseline}.codex .node small{margin-top:0;text-align:right}.shop-item .info-btn{margin-left:auto;background:none;border:1px solid var(--edge);color:var(--dim);border-radius:50%;width:20px;height:20px;cursor:pointer;font-size:10px;line-height:1;flex:none}.shop-item .info-btn:hover{color:var(--cyan);border-color:var(--cyan)}.gpu-row img{cursor:zoom-in}.tut-glow{outline:2px solid var(--amber);outline-offset:2px;border-radius:8px;animation:tutpulse .9s infinite alternate}@keyframes tutpulse{0%{box-shadow:0 0 #f59e0b8c}to{box-shadow:0 0 14px 5px #f59e0b33}}#vidprog{font-size:9.5px;color:var(--cyan);letter-spacing:normal;margin-left:6px;font-weight:400}.feedwarn{color:var(--amber)}#flash{position:fixed;inset:0;pointer-events:none;z-index:99;background:radial-gradient(circle at 50% 45%,rgba(245,158,11,.35),transparent 60%);animation:flashfade .7s forwards}@keyframes flashfade{0%{opacity:0}15%{opacity:1}to{opacity:0}}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,90vw);max-height:82vh;overflow-y:auto;padding:14px 18px;z-index:50}.mhead{display:flex;align-items:center;gap:12px;margin-bottom:8px}.mhead h2{margin:0;font-size:15px;letter-spacing:.12em;color:var(--purple)}.mhead .bank{color:var(--cyan);font-weight:700}.mclose{margin-left:auto;background:none;border:1px solid var(--edge);color:var(--dim);border-radius:6px;cursor:pointer;font:inherit;padding:3px 8px}.mcols{display:flex;gap:14px;align-items:flex-start}.mcol{flex:1;min-width:0}.mcol h4{margin:10px 0 6px;font-size:10px;color:var(--dim);letter-spacing:.15em}.node{display:block;width:100%;text-align:left;border:1px solid var(--edge);background:var(--card);border-radius:8px;padding:7px 9px;margin-bottom:6px;font:inherit;color:var(--text);font-size:11.5px;font-weight:700}.node small{display:block;font-weight:400;color:var(--dim);font-size:10px;margin-top:2px}.node.buy{cursor:pointer}.node.buy:hover{border-color:var(--cyan)}.node.owned{border-color:var(--green);background:var(--card-good)}.node.dim{opacity:.45}#devpanel{position:absolute;right:215px;bottom:12px;width:250px;max-height:70vh;overflow-y:auto;padding:10px;z-index:40}.gpu-row{display:flex;align-items:center;gap:7px}.gpu-row img{width:30px;height:30px;object-fit:contain;flex:none}.gpu-row span{flex:1;min-width:0}#devpanel .devstats{color:var(--dim);font-size:10.5px;margin-bottom:6px}#devpanel .devbtns{display:flex;gap:6px;margin-bottom:4px}#devpanel h4{margin:8px 0 4px;font-size:10px;color:var(--dim);letter-spacing:.15em}#tutorial{width:254px}.tutcard{padding:10px 12px;border-color:var(--purple)!important;pointer-events:auto}.tutcard.tutdone{border-color:var(--green)!important}.tuthead{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.18em;color:var(--purple);margin-bottom:5px}.tutcard.tutdone .tuthead{color:var(--green)}.tuthead button{background:none;border:0;color:var(--dim);cursor:pointer;font:inherit}.tuttitle{font-weight:700;font-size:12.5px;margin-bottom:4px}.tutbody{font-size:11px;line-height:1.45;color:var(--soft)}.tutbody b{color:var(--cyan)}.tutskip{background:none;border:0;color:var(--dim);font:inherit;font-size:10px;cursor:pointer;margin-top:6px;padding:0}.tutskip:hover{color:var(--text)}#name-modal{position:fixed;inset:0;background:#05050ad9;display:flex;align-items:center;justify-content:center;pointer-events:auto}#name-box{padding:28px 32px;text-align:center;width:360px}#name-box h2{margin:0 0 4px;letter-spacing:.3em;color:var(--purple)}#name-box p{color:var(--dim);margin:0 0 16px}#name-box .row{display:flex;gap:6px;margin-bottom:14px}#name-box input{flex:1;background:var(--input);border:1px solid var(--edge);color:var(--text);font:inherit;font-size:14px;padding:8px 10px;border-radius:6px}#name-box #reroll{background:var(--chip);border:1px solid var(--edge);border-radius:6px;font-size:16px;cursor:pointer;padding:0 12px}#name-box #cstart{width:100%;background:var(--purple);color:#fff;border:0;border-radius:8px;padding:10px;font:inherit;font-weight:700;letter-spacing:.08em;cursor:pointer}#name-box #cstart:hover{filter:brightness(1.15)}
