*{box-sizing:border-box}html,body{color:#e6e2d6;background:#101418;height:100%;margin:0;font:13px/1.35 system-ui,sans-serif;overflow:hidden}#game canvas{display:block}#menubar{align-items:center;gap:4px;display:flex;position:fixed;top:6px;left:50%;transform:translate(-50%)}button{color:#e6e2d6;cursor:pointer;font:inherit;background:#2b3440;border:1px solid #4a5868;border-radius:3px;padding:3px 8px}button:hover{background:#3a4656}.chk{background:#2b3440;border:1px solid #4a5868;border-radius:3px;padding:3px 8px}#hud{pointer-events:none;background:#0a0e12bf;border-radius:4px;margin:0;padding:6px 8px;font:12px/1.4 monospace;position:fixed;top:40px;left:8px}#minimap{background:#05070a;border:1px solid #4a5868;position:fixed;top:40px;right:8px}#quickbar{gap:3px;display:flex;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}.slot{cursor:pointer;background:#141a20e6;border:1px solid #4a5868;border-radius:3px;width:76px;height:48px;padding:2px 4px;font-size:11px;position:relative}.slot .k{color:#8896a6;position:absolute;top:1px;right:4px}.slot .n{white-space:nowrap;text-overflow:ellipsis;margin-top:12px;display:block;overflow:hidden}.slot .c{color:#f0c040;position:absolute;bottom:1px;right:4px}#panel{background:#12171df5;border:1px solid #4a5868;border-radius:5px;width:min(760px,92vw);max-height:74vh;padding:10px 14px;display:none;position:fixed;top:44px;left:50%;overflow:auto;transform:translate(-50%)}#panel .close{position:absolute;top:6px;right:8px}h3{color:#f0c040;margin:6px 0}.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:3px;display:grid}.cell{cursor:pointer;background:#222a33;border-radius:3px;align-items:center;gap:5px;padding:3px 5px;display:flex}.cell.sel{outline:1px solid #f0c040}.sw{border-radius:2px;flex:none;width:12px;height:12px;display:inline-block}.rec{border-bottom:1px solid #222a33;align-items:center;gap:6px;padding:2px 0;display:flex}.rec .dim{flex:1}.dim{color:#8f9aa6;font-size:12px}.techs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;display:grid}.tech{background:#1c232b;border:1px solid #3a4656;border-radius:4px;padding:6px}.tech.avail{cursor:pointer;border-color:#5aa0e0}.tech.cur{border-color:#f0c040}.tech.done{opacity:.6;border-color:#50a060}.tech.locked{opacity:.45}table{border-collapse:collapse}td,th{text-align:left;padding:1px 10px 1px 0}#tooltip{white-space:pre;pointer-events:none;background:#080a0eeb;border:1px solid #4a5868;border-radius:3px;padding:4px 7px;font-size:12px;display:none;position:fixed}#toast{opacity:0;pointer-events:none;background:#080a0ed9;border-radius:4px;padding:5px 10px;transition:opacity .4s;position:fixed;bottom:66px;left:50%;transform:translate(-50%)}#win{pointer-events:none;background:#1e3c28e6;border:1px solid #70e090;border-radius:6px;padding:4px 12px;font-size:13px;display:none;position:fixed;top:44px;left:50%;transform:translate(-50%)}:root{--pn:linear-gradient(180deg, #222e36f5, #12181ef5);--edge:#3f5a63;--hi:#a0dce62e;--amb:#ffc94a}button,.chk{border:1px solid var(--edge);box-shadow:inset 0 1px 0 var(--hi), 0 1px 2px #00000080;text-shadow:0 1px #000;background:linear-gradient(#34444f,#232e37);border-radius:4px}button:hover{background:linear-gradient(#41566a,#2b3a46);border-color:#6aa6b4}#menubar{background:var(--pn);border:1px solid var(--edge);box-shadow:0 3px 10px #00000073, inset 0 1px 0 var(--hi);border-radius:6px;padding:4px 6px}#hud{background:var(--pn);border:1px solid var(--edge);border-left:3px solid var(--amb);color:#d8e4e2;border-radius:5px;box-shadow:0 3px 10px #0006}#minimap{border:2px solid var(--edge);border-radius:6px;box-shadow:0 3px 12px #0000008c,0 0 0 1px #000}#quickbar{background:var(--pn);border:1px solid var(--edge);box-shadow:0 4px 14px #00000080, inset 0 1px 0 var(--hi);border-radius:8px;gap:4px;padding:5px}.slot{background:radial-gradient(circle at 50% 40%,#2c3a44,#151c22);border:1px solid #33474f;border-radius:5px;width:64px;height:56px;padding:0;box-shadow:inset 0 2px 4px #0009}.slot:hover{border-color:#6aa6b4}.slot.sel{border-color:var(--amb);box-shadow:0 0 0 1px var(--amb), 0 0 10px #ffc94a73, inset 0 2px 4px #0009}.slot .ic{image-rendering:auto;filter:drop-shadow(0 1px 1px #000000b3);visibility:hidden;width:30px;height:30px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.slot .k{color:#7f97a0;font-size:10px;top:1px;left:4px;right:auto}.slot .n{color:#b8c6c8;text-align:center;margin:0;font-size:9px;position:absolute;bottom:2px;left:3px;right:3px}.slot .c{color:var(--amb);text-shadow:0 1px #000;font-weight:700;top:1px;bottom:auto;right:4px}#panel{background:var(--pn);border:1px solid var(--edge);border-top:3px solid var(--amb);border-radius:8px;box-shadow:0 10px 30px #0009}h3{color:var(--amb);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid #2c3d45;padding-bottom:4px;font-size:13px}.cell{background:linear-gradient(#24313a,#1a232a);border:1px solid #2c3d45;border-radius:4px}.cell:hover{border-color:#6aa6b4}.sw{background:#10161b;border-radius:3px;width:20px;height:20px}.tech{background:linear-gradient(#22303a,#182128);border-radius:6px}#tooltip{background:var(--pn);border:1px solid var(--edge);border-left:3px solid var(--amb);border-radius:4px;box-shadow:0 4px 12px #00000080}#toast{background:var(--pn);border:1px solid var(--edge)}#menubar button{white-space:nowrap;padding:2px 8px;line-height:1.15}.chk{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.slot{width:70px}.slot .n{letter-spacing:-.02em;font-size:8.5px}#hud{box-shadow:none;background:0 0;border:0;flex-direction:column;gap:5px;width:236px;padding:0;font:12px/1.3 system-ui,sans-serif;display:flex}.hw{background:linear-gradient(#1a262ceb,#0e1519eb);border:1px solid #2c3d45;border-left:3px solid #6aa6b4;border-radius:6px;align-items:center;gap:8px;padding:6px 9px;display:flex;position:relative;box-shadow:0 3px 10px #00000073}.hg{filter:drop-shadow(0 1px 1px #000);flex:none;width:22px;height:22px}.hb{flex:1;min-width:0}.hl{letter-spacing:.05em;text-transform:uppercase;color:#a8c4c0;justify-content:space-between;font-size:11px;font-weight:700;display:flex}.hv{color:#f2f6f4;font-variant-numeric:tabular-nums}.hbar{background:#0b1114;border-radius:3px;height:6px;margin:3px 0 2px;overflow:hidden;box-shadow:inset 0 1px 2px #000}.hf{background:linear-gradient(#8ff0c0,#2fae74);border-radius:3px;width:0;height:100%;transition:width .3s}.hs{color:#8ea6a4;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.hw.ok{border-left-color:#52e07a}.hw.warn{border-left-color:#ffc53d}.hw.bad{border-left-color:#ff4b4b}.hw.off{opacity:.85;border-left-color:#56636a}.hw.warn .hf{background:linear-gradient(#ffe08a,#d99a1c)}.hw.bad .hf{background:linear-gradient(#ff9a8a,#c83a3a)}#hw-research .hf{background:linear-gradient(#9ff4ea,#2f9f9a)}#hw-evo .hf{background:linear-gradient(#e0b0ff,#8a4ac0)}#hw-evo.bad .hf{background:linear-gradient(#ff9ad0,#b0306a)}.hw.bad .hv{color:#ffb0a8}.hw img.ti{background:#12232a;border:1px solid #6aa6b4;border-radius:5px;width:22px;height:22px;padding:2px;position:absolute;top:-6px;right:8px}#hw-research .hl span:last-child{margin-right:26px}.hstat{color:#9fb4b0;background:#0a0e12b3;border-radius:4px;align-self:flex-start;padding:2px 8px;font:11px monospace}#panel.wide{width:min(1240px,96vw);max-height:80vh}.tscroll{padding:6px 4px 10px;overflow:auto}.tgraph{position:relative}.tlines{pointer-events:none;position:absolute;inset:0}.tl{fill:none;stroke-width:2.5px}.tl.done{stroke:#3fc0a8}.tl.avail{stroke:#ffc53d;stroke-dasharray:6 4}.tl.locked{stroke:#3a4850}.tnode{box-sizing:border-box;background:linear-gradient(#24313a,#172027);border:1.5px solid #34464f;border-radius:8px;padding:6px 8px 6px 50px;position:absolute;box-shadow:0 3px 8px #00000080}.tnode .ticon{background:#0e171b;border:1px solid #34464f;border-radius:6px;width:34px;height:34px;padding:2px;position:absolute;top:8px;left:7px}.tnode .tname{color:#e8f2f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:700;overflow:hidden}.tcost{color:#9fb4b0;gap:6px;margin-top:3px;font-size:10.5px;display:flex}.tcost span{align-items:center;gap:1px;display:inline-flex}.tcost img{width:14px;height:14px}.tprog{background:#0b1114;border-radius:3px;height:5px;position:absolute;bottom:6px;left:8px;right:8px;overflow:hidden}.tprog div{background:linear-gradient(90deg,#2f9f9a,#9ff4ea);height:100%}.tstate{color:#9fb4b0;font-size:11px;font-weight:700;position:absolute;bottom:14px;right:8px}.tnode.done{border-color:#3fc0a8}.tnode.done .tstate{color:#52e07a}.tnode.done .tprog div{background:#3fc0a8}.tnode.cur{border-color:#7fe0d0;box-shadow:0 0 0 2px #7fe0d059,0 3px 10px #0009}.tnode.cur .tstate{color:#7fe0d0}.tnode.avail{cursor:pointer;border-color:#ffc53d}.tnode.avail .tstate{color:#ffc53d}.tnode.avail:hover{background:linear-gradient(#2e3e47,#1c272e)}.tnode.locked{opacity:.55;filter:saturate(.4)}body.in-title #menubar,body.in-title #hud,body.in-title #quickbar,body.in-title #minimap,body.in-title #toast,body.in-title #win,body.in-title #panel,body.in-title #tooltip{display:none!important}#title{z-index:50;color:#dfeae8;background:radial-gradient(at 50% 45%,#08101440,#04080ad1 75%);flex-direction:column;justify-content:center;align-items:center;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0}.tcard{background:linear-gradient(#121e24db,#0a1014e6);border:1px solid #2c4650;border-top:3px solid #e8a030;border-radius:12px;flex-direction:column;align-items:center;gap:18px;padding:26px 34px 28px;display:flex;box-shadow:0 20px 60px #000000b3}.logo{width:560px;max-width:86vw}.tmenu{flex-direction:column;gap:8px;width:340px;display:flex}#title button.titem{color:#eef6f4;cursor:pointer;text-align:left;background:linear-gradient(#22343c,#162329);border:1px solid #34505a;border-radius:8px;flex-direction:column;align-items:flex-start;padding:10px 16px;transition:transform 80ms,border-color .1s;display:flex}.titem:hover:not(:disabled),.titem:focus-visible{border-color:#ffc53d;outline:none;transform:translate(3px)}.titem .lbl{letter-spacing:.03em;font-size:17px;font-weight:700}.titem .sub{color:#8eaaa6;font-size:11.5px}.titem:disabled{opacity:.45;cursor:default}#title #t-new{background:linear-gradient(#3a3020,#22201a);border-color:#c88a2a}.tform{flex-direction:column;gap:12px;width:380px;display:flex}.trow{justify-content:space-between;align-items:center;gap:10px;display:flex}.trow input[type=text]{color:#eef6f4;background:#0c1418;border:1px solid #34505a;border-radius:6px;flex:1;padding:7px 9px;font:15px monospace}.trow.chk{cursor:pointer;justify-content:flex-start}.tsmall,.tback,.tgo{color:#eef6f4;cursor:pointer;background:#1c2a30;border:1px solid #34505a;border-radius:6px;padding:7px 14px;font-size:14px}#title button.tgo{color:#1a1408;background:linear-gradient(#ffcf5a,#d98a1c);border-color:#ffd36a;padding:8px 28px;font-weight:800}.terr{color:#ff9a8a;min-height:16px;font-size:12px}.tkeys td{padding:3px 10px}kbd{background:#24343c;border:1px solid #44606a;border-radius:4px;padding:2px 7px;font:12px monospace}.tfoot{color:#6f8884;letter-spacing:.05em;font-size:11px;position:fixed;bottom:10px}@media (prefers-reduced-motion:reduce){.titem,.hf{transition:none}}#title button.tgo.danger{color:#fff;background:linear-gradient(#ff7a5a,#c8401c);border-color:#ff9a7a}
