:root{--bg:#0a0e18c7;--bg-solid:#0b1020;--line:#8cc8ff2e;--text:#dfe8f5;--muted:#8796ad;--accent:#4ad8ff;--gold:#ffc94a;--gem:#ff7ae0;--bad:#ff5a6a;--good:#5cf08f;--common:#9fb1c8;--rare:#4ab0ff;--epic:#c07bff}*{box-sizing:border-box}html,body{height:100%;color:var(--text);-webkit-user-select:none;user-select:none;background:#05070c;margin:0;font-family:Chakra Petch,system-ui,sans-serif;overflow:hidden}#game{touch-action:none;outline:none;width:100%;height:100%;display:block}#hud{pointer-events:none;position:fixed;inset:0}#hud button,#hud .card,#selpanel,#upgrades,#draft,#endscreen,#help{pointer-events:auto}button{color:var(--text);border:1px solid var(--line);cursor:pointer;background:#1e283ce6;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px;transition:background .12s,border-color .12s,transform 80ms}button:hover:not(:disabled){background:#324664f2;border-color:#8cc8ff73}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.on{border-color:var(--accent);background:#4ad8ff40}button.primary{background:linear-gradient(#1f6f8f,#164e66);border-color:#4ad8ff88;font-weight:600}button.danger:hover{border-color:var(--bad);background:#781e28cc}.stats{grid-template-columns:auto 1fr;gap:3px 12px;font-size:13px;display:grid}.stats span{color:var(--muted)}.stats b{text-align:right;font-weight:600}.stats i{color:var(--good);font-style:normal}#topbar{background:var(--bg);border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;align-items:center;gap:14px;padding:8px 12px;display:flex;position:absolute;top:10px;left:10px;right:10px}#topbar .spacer{flex:1}.res{align-items:center;gap:6px;font-size:18px;display:flex}.res .ic{font-size:16px}.res.gold .ic,.res.gold b{color:var(--gold)}.res.gold small{color:#d9b25a;font-size:12px}.res.interest{color:var(--gold);white-space:nowrap;gap:4px;font-size:14px}.res.interest small{color:var(--muted);font-size:11px}.res.interest.capped small:last-child{color:#ffb347}#btn-idle{white-space:nowrap;color:var(--gold);border-color:color-mix(in srgb, var(--gold) 55%, transparent);padding:4px 9px;font-size:12px;box-shadow:0 0 10px #ffc94a40}#btn-idle.none{color:var(--muted);border-color:var(--line);box-shadow:none;opacity:.6}.res.gem .ic,.res.gem b,.gem{color:var(--gem)}.res.core .ic{color:#2ee6ff}.corebar{border:1px solid var(--line);background:#1a2233;border-radius:4px;width:150px;height:18px;position:relative;overflow:hidden}#core-fill{background:linear-gradient(90deg,#12b5d6,#4ef0ff);height:100%;transition:width .25s}#core-text{text-align:center;text-shadow:0 1px 2px #000;font-size:12px;font-weight:600;line-height:17px;position:absolute;inset:0}.res.wave .lbl{color:var(--muted);letter-spacing:1px;font-size:11px}#phase{color:var(--muted);font-size:14px}.speed{gap:2px;display:flex}.speed button{padding:6px 8px}#wavepanel{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:230px;padding:10px 12px;font-size:13px;position:absolute;top:70px;right:10px}#wavepanel h3{color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin:0 0 2px;font-size:13px;font-weight:500}#wavepanel .theme{margin-bottom:6px;font-size:17px;font-weight:600}#wavepanel .theme.boss{color:#ff4d7a;text-shadow:0 0 10px #ff2a5a88}#wavepanel ul{margin:0;padding:0;list-style:none}#wavepanel li{align-items:center;gap:6px;padding:2px 0;display:flex}#wavepanel li b{text-align:right;min-width:28px}#wavepanel li .leak{color:#ff8a9a;margin-left:auto;font-size:11px}.dot{border-radius:3px;width:10px;height:10px;display:inline-block}.trait{color:var(--muted);text-transform:uppercase;background:#ffffff14;border-radius:3px;padding:1px 5px;font-size:10px}.t-fast{color:#d6f53b}.t-armored{color:#c0c4d0;background:#fff2}.t-swarm{color:#b16cff}.t-air{color:#3dd6c6}.t-shielded{color:#6aa2ff}.t-boss{color:#ff4d7a}#selpanel{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:260px;padding:12px;display:none;position:absolute;bottom:110px;right:10px}#selpanel .next{color:var(--good);font-style:normal;display:none}#selpanel:has(#sel-up:hover) .next{display:inline}#selpanel.open{display:block}#selpanel h3{margin:0 0 8px}#selpanel h3 small{color:var(--muted);font-size:13px;font-weight:400}#selpanel .targeting{gap:3px;margin:10px 0 6px;display:flex}#selpanel .targeting button{text-transform:capitalize;flex:1;padding:4px 0;font-size:11px}#selpanel .research{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}#selpanel .rtitle{color:var(--gem);margin-bottom:5px;font-size:12px}#selpanel .rtitle small{color:var(--muted)}#selpanel .research button{border-color:color-mix(in srgb, var(--gem) 45%, transparent);width:100%}#selpanel .research button small{color:var(--muted);font-size:10px;display:block}#selpanel .rdone{color:var(--muted);font-size:12px}#selpanel .hint{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.4}#selpanel .actions{flex-direction:column;gap:5px;margin-top:8px;display:flex}#bottom{justify-content:center;align-items:flex-end;gap:18px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}#powers,#buildbar{background:var(--bg);border:1px solid var(--line);border-radius:12px;gap:6px;padding:8px;display:flex}.build{border-color:color-mix(in srgb, var(--accent) 35%, transparent);flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;width:84px;height:78px;padding:6px 4px;display:flex;position:relative}.build .swatch{background:var(--accent);width:26px;height:26px;box-shadow:0 0 14px color-mix(in srgb, var(--accent) 60%, transparent);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border-radius:6px;margin-bottom:3px}.build.worker .swatch{clip-path:none;border-radius:50%}.build.super .swatch{background:radial-gradient(circle at 40% 35%, #f0d0ff, var(--accent))}.build.extreme .swatch{background:radial-gradient(circle at 40% 35%, #ffe2c4, var(--accent))}.build.worker{width:76px}.build.supertoggle{width:62px}.build.supertoggle .swatch{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.build .st{color:#ffd24a;text-shadow:0 0 6px #ffb000;font-size:12px;display:none;position:absolute;top:1px;left:50%;transform:translate(-50%)}.build.sup .st{display:block}.build.sup,.build.supertoggle.active{border-color:#ffd24a;box-shadow:0 0 16px #ffc43c8c}.build .mk{letter-spacing:-1px;color:var(--gem);text-shadow:0 0 6px var(--gem);font-size:9px;position:absolute;top:3px;right:5px}.build .nm{font-size:12px;font-weight:600}.build .cost{color:var(--gold);font-size:12px}.build .hk,.power .hk{color:var(--muted);font-size:10px;position:absolute;top:3px;left:5px}.build .lock{font-size:11px;display:none;position:absolute;top:3px;right:5px}.build.locked{opacity:.4;filter:grayscale(.8)}.build.locked .lock{display:block}.build.locked .cost{visibility:hidden}.build.poor .cost{color:var(--bad)}.build.active,.power.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 22%, #141e2df2);box-shadow:0 0 14px color-mix(in srgb, var(--accent) 40%, transparent)}.power{--accent:#ffd27a;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:58px;height:78px;display:flex;position:relative}.power .ic{color:#ffd27a;text-shadow:0 0 12px #ffb000aa;font-size:24px}.power .ch{font-size:13px;font-weight:700}.power.empty{opacity:.35}#tip{background:var(--bg-solid);border:1px solid var(--line);border-radius:10px;width:340px;padding:10px 12px;font-size:13px;display:none;position:absolute;bottom:112px;left:50%;transform:translate(-50%)}#tip.open{display:block}#tip p{color:#c3cfe0;margin:4px 0 8px}.locked-tag{color:var(--epic);font-size:10px}#overclock{color:#ffe27a;letter-spacing:1px;background:#ffd24a22;border:1px solid #ffd24a;border-radius:20px;padding:4px 14px;font-weight:700;display:none;position:absolute;top:70px;left:50%;transform:translate(-50%)}#overclock.open{display:block}#toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:110px;left:50%;transform:translate(-50%)}.toast{background:var(--bg-solid);border:1px solid var(--line);border-radius:8px;padding:6px 16px;font-size:14px;transition:opacity .4s,transform .4s;animation:.2s ease-out toast-in}.toast.error{color:#ffb3bb;border-color:#ff5a6a88}.toast.achievement{color:#ffe9a8;border-color:#ffd24a;font-weight:600;box-shadow:0 0 18px #ffd24a55}.toast.out{opacity:0;transform:translateY(-8px)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}#paused{letter-spacing:8px;color:#fffc;text-shadow:0 0 20px #4ad8ff;font-size:48px;font-weight:700;display:none;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}#paused.open{display:block}#help{background:var(--bg-solid);border:1px solid var(--line);border-radius:10px;width:440px;padding:12px;display:none;position:absolute;top:70px;left:10px}#help.open{display:block}#help h3{margin:0 0 8px}#help .stats b{text-align:left;font-weight:500}#draft,#endscreen{background:radial-gradient(#050a148c,#000c);justify-content:center;align-items:center;display:none;position:absolute;inset:0}#draft.open,#endscreen.open{display:flex}#draft .cards,#draft .skip{transition:opacity .15s}#draft.arming .cards,#draft.arming .skip{opacity:.55;pointer-events:none}.draft-inner{flex-direction:column;align-items:center;gap:20px;animation:.25s ease-out pop;display:flex}.draft-inner h2{letter-spacing:1px;margin:0;font-weight:600}.cards{gap:18px;display:flex}.card{text-align:center;border:1px solid var(--common);--rar:var(--common);background:linear-gradient(#192337fa,#0c101cfa);border-radius:14px;flex-direction:column;align-items:center;width:210px;min-height:270px;padding:18px 16px;display:flex;position:relative}.card.rare{--rar:var(--rare);border-color:var(--rare)}.card.epic{--rar:var(--epic);border-color:var(--epic);box-shadow:0 0 24px #c07bff55}.card:hover{box-shadow:0 10px 30px color-mix(in srgb, var(--rar) 40%, transparent);transform:translateY(-6px)!important}.card .rarity{text-transform:uppercase;letter-spacing:2px;color:var(--rar);font-size:11px}.card .icon{color:var(--accent);text-shadow:0 0 18px var(--accent);margin:16px 0 8px;font-size:44px}.card h4{margin:4px 0 8px;font-size:18px}.card p{color:#c3cfe0;margin:0;font-size:14px;line-height:1.35}.card .key{color:var(--muted);border:1px solid var(--line);border-radius:4px;margin-top:auto;padding:1px 6px;font-size:11px}.skip{color:var(--muted);background:0 0}@keyframes pop{0%{opacity:0;transform:scale(.95)}}.end-inner{text-align:center;background:var(--bg-solid);border:1px solid var(--line);border-radius:14px;min-width:340px;padding:30px 40px}.end-inner h1{margin:0 0 6px;font-size:42px}.end-inner .stats{margin:16px 0 20px}.end-inner button{padding:10px 24px;font-size:16px}.end-inner{max-width:min(720px,100vw - 32px);max-height:calc(100vh - 40px);overflow-y:auto}.end-actions{justify-content:center;gap:10px;display:flex}.ach-title{color:#ffd24a;margin:4px 0 8px;font-size:15px}.ach-title small{color:var(--muted);font-weight:400}.ach-list{text-align:left;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;margin-bottom:18px;display:grid}.ach{border:1px solid var(--line);opacity:.45;border-radius:8px;padding:6px 8px}.ach b{font-size:13px;display:block}.ach small{color:var(--muted);font-size:11px}.ach.on{opacity:1;background:#ffd24a14;border-color:#ffd24a88}.ach.on b:before{content:"🏆 "}#damage-flash{pointer-events:none;opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 120px #ff1e3cb3}#damage-flash.on{animation:.5s ease-out flash}@keyframes flash{0%{opacity:1}to{opacity:0}}#menu{z-index:10;background:radial-gradient(#10182b,#05070c);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.menu-inner{flex-direction:column;gap:10px;width:380px;display:flex}.menu-inner h1{letter-spacing:1px;margin:0;font-size:44px}.menu-inner h1 span{color:var(--accent)}.menu-inner .sub{color:var(--muted);margin:0 0 18px}.menu-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:12px}.map-list{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow:auto}.map-item{text-align:left;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.map-item small{color:var(--muted)}.map-item.on{border-color:var(--accent);background:#4ad8ff26}.menu-actions{gap:8px;margin-top:14px;display:flex}.menu-actions>*{flex:1;padding:10px;font-size:16px}a.button{color:var(--text);border:1px solid var(--line);background:#1e283ce6;border-radius:6px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}a.button:hover{border-color:#8cc8ff73}.side-panel{background:var(--bg-solid);border:1px solid var(--line);pointer-events:auto;border-radius:10px;width:330px;padding:10px;display:none;position:absolute;top:70px;bottom:110px;left:10px;overflow:auto}.side-panel.open{display:block}.panel-actions{gap:6px;margin-bottom:8px;display:flex}.panel-actions button{flex:1}.inspector{flex-direction:column;gap:4px;font-size:12px;display:flex}.insp-group{border-top:1px solid var(--line);padding:4px 0}.insp-group summary{cursor:pointer;color:#bfe9ff;padding:4px 0;font-size:13px;font-weight:600}.insp-row{grid-template-columns:112px 1fr auto;align-items:center;gap:6px;padding:2px 0;display:grid}.insp-label{color:var(--muted)}.insp-bool,.insp-color,.insp-select{grid-template-columns:112px 1fr}.insp-row input[type=range]{width:100%;accent-color:var(--accent)}.insp-num{width:62px}input,select{color:var(--text);border:1px solid var(--line);background:#0f1626;border-radius:4px;padding:3px 5px;font-family:inherit;font-size:12px}input[type=color]{width:48px;height:22px;padding:0}input[type=checkbox]{accent-color:var(--accent);justify-self:start}.floaters{pointer-events:none;position:fixed;inset:0;overflow:hidden}.floater{white-space:nowrap;text-shadow:0 1px 2px #000,0 0 6px #0009;will-change:transform, opacity;font-size:18px;font-weight:700;position:absolute;top:0;left:0}.floater.gold{color:var(--gold)}.floater.gem{color:var(--gem);font-size:20px}.floater.big{font-size:28px}.select-box{pointer-events:none;border:1px solid var(--good);background:color-mix(in srgb, var(--good) 12%, transparent);display:none;position:fixed}.select-box.on{display:block}#upgrades{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:248px;max-height:calc(100vh - 200px);padding:10px 12px;position:absolute;top:70px;left:10px;overflow-y:auto}#upgrades .up-head{cursor:pointer;align-items:baseline;gap:6px;font-weight:600;display:flex}#upgrades .up-head small{color:var(--muted);font-size:11px;font-weight:400}#upgrades .caret{color:var(--muted);margin-left:auto;transition:transform .2s}#upgrades.collapsed .caret{transform:rotate(-90deg)}#upgrades.collapsed #up-body{display:none}.up-title{color:var(--gem);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px;font-size:11px}.up-title small{text-transform:none;letter-spacing:0;color:var(--muted)}.up-check{cursor:pointer;align-items:center;gap:6px;margin:2px 0 6px;font-size:12px;display:flex}.up-check input{accent-color:var(--gold);margin:0}.up-row{align-items:center;gap:6px;padding:3px 0;font-size:12px;display:flex}.up-row .nm{color:var(--accent,var(--text));flex:1;font-weight:600}.up-row .pips{color:var(--gem);letter-spacing:-1px;font-size:10px}.up-row button{border-color:color-mix(in srgb, var(--gem) 45%, transparent);padding:3px 8px;font-size:11px}.up-row button.danger{border-color:var(--bad);color:#ffb3bb}.up-row.locked{opacity:.45}.up-row.done .nm{color:var(--good)}.up-note{color:var(--muted);font-size:11px}.up-desc{color:var(--muted);margin:2px 0 0;font-size:11px;line-height:1.35}@media (max-width:1400px){.build{width:68px;height:70px}.build.worker,.build.supertoggle{width:60px}.build .nm{font-size:11px}#powers .power{width:48px}}
