@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2) format("woff2"),url(./barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2) format("woff2"),url(./barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(./barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(./barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(./barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(./barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(./barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(./barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(./barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-vietnamese-400-normal-CkBxLiRJ.woff2) format("woff2"),url(./anton-vietnamese-400-normal-2FfR1wHA.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-latin-ext-400-normal-SyiqE2Jt.woff2) format("woff2"),url(./anton-latin-ext-400-normal-BMODBQc6.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anton;font-style:normal;font-display:swap;font-weight:400;src:url(./anton-latin-400-normal-Byf51wtH.woff2) format("woff2"),url(./anton-latin-400-normal-AUNGEG_V.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--steel-950: #0f1113;--steel-900: #16191c;--steel-850: #1b1f23;--steel-800: #22272c;--steel-700: #2f353b;--steel-600: #424a52;--text: #e6e1d6;--text-dim: #a59f93;--amber: #f0b43c;--amber-dim: #b8892e;--rust: #c8642a;--ok: #7fcf6a;--bad: #ef6a5c;--infected: #b0343f;--radius: 8px;--shadow: 0 10px 28px rgba(0, 0, 0, .5);--font-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", system-ui, sans-serif;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--gutter: 16px;--touch: 40px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#15171a;color:var(--text);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}#app{position:fixed;inset:0;height:100dvh;overflow:hidden}#game{position:absolute;inset:0;overflow:hidden;touch-action:none}#game canvas{display:block;position:absolute;top:0;left:0}#app:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(8,8,6,.55) 100%)}#hud{position:absolute;inset:0;pointer-events:none;z-index:2}#hud>*{pointer-events:auto}.muted{color:var(--text-dim);font-size:13px;margin:0}.small{font-size:12px}.hud-bar{position:absolute;top:max(var(--gutter),env(safe-area-inset-top));left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px 8px 12px;background:linear-gradient(180deg,var(--steel-800),var(--steel-900));border:1px solid var(--steel-700);border-top:2px solid var(--amber-dim);box-shadow:var(--shadow);border-radius:var(--radius)}.brand{display:flex;align-items:center;gap:10px;min-width:0}.crest{width:28px;height:28px;flex:none}.brand-name{font-family:var(--font-display);font-weight:700;letter-spacing:.16em;font-size:20px;color:var(--text);text-transform:uppercase;white-space:nowrap}.phase-pill{font:600 12px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);border:1px solid var(--steel-600);padding:4px 8px;border-radius:4px;white-space:nowrap}.toolbar{display:flex;align-items:center;gap:6px}.btn{font:600 14px/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);background:linear-gradient(180deg,var(--steel-700),var(--steel-800));border:1px solid var(--steel-600);border-radius:6px;min-height:var(--touch);padding:0 14px;cursor:pointer;transition:border-color .15s,background-color .15s,transform .05s}.btn:hover{border-color:var(--amber-dim)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.build-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.btn.icon{width:var(--touch);padding:0;font-size:20px}.btn.small{width:30px;min-height:30px;font-size:18px}.btn.small-text{min-height:30px;padding:0 10px;font-size:13px}.btn.toggle[aria-pressed=true]{background:linear-gradient(180deg,#5a4520,#3d2f16);border-color:var(--amber);color:#ffe6ad}.btn.danger{margin-top:10px;width:100%;border-color:#6b2e2a;background:linear-gradient(180deg,#4a2522,#33191a);color:#ffc9c2}.btn.danger:hover{border-color:var(--bad)}.zoom-label{min-width:52px;text-align:center;font:600 15px/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-dim)}.resources{display:flex;align-items:center;gap:6px;margin:0 auto}.res{display:flex;align-items:center;gap:5px;min-height:34px;padding:0 10px 0 7px;background:var(--steel-950);border:1px solid var(--steel-700);border-radius:6px;font:600 16px/1 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap;transition:border-color .2s,background-color .2s}.res svg{width:20px;height:20px;flex:none}.res-cap{color:var(--text-dim);font-size:13px}.res.is-full{border-color:var(--amber-dim)}.res.is-full .res-cap{color:var(--amber)}.res.is-short{border-color:var(--bad);background:#3a1a19;animation:res-pulse 1.2s ease-in-out infinite}.res.is-short .res-amt{color:#ffb3a8}@keyframes res-pulse{50%{box-shadow:0 0 0 3px #ef6a5c40}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cost-part{display:inline-flex;align-items:center;gap:2px}.cost-part svg{width:13px;height:13px}.build-cost-line{display:flex;gap:6px;justify-content:center;font:600 12px/1.2 var(--font-display);font-variant-numeric:tabular-nums;color:var(--text-dim);margin-top:2px}.build-btn.is-unaffordable .build-thumb{opacity:.4;filter:grayscale(.7)}.build-btn.is-unaffordable .build-name{color:var(--text-dim)}.build-btn.is-unaffordable .build-cost-line{color:var(--bad)}.res-pop{color:var(--text);cursor:pointer;font:600 16px/1 var(--font-display)}.res-pop:hover,.res-pop[aria-expanded=true]{border-color:var(--amber)}.colony[hidden],.colony-open .inspector{display:none}.colony-status{display:inline-block;margin:0 0 10px;padding:4px 10px;border-radius:4px;font:700 14px/1.2 var(--font-display);letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor}.colony-status.ok{color:var(--ok)}.colony-status.warn{color:var(--amber)}.colony-status.bad{color:var(--bad);background:#ef6a5c1a}.colony-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0 0 8px}.colony-grid div{background:var(--steel-950);border:1px solid var(--steel-700);border-radius:6px;padding:6px 8px}.colony-grid dt{font:600 11px/1.2 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.colony-grid dd{margin:2px 0 0;font:700 18px/1.2 var(--font-display);font-variant-numeric:tabular-nums}.colony-grid dd.neg{color:var(--bad)}.colony-grid dd.pos{color:var(--ok)}.colony-growth{margin:4px 0 10px;font-size:13px;line-height:1.4;color:#d4cfc4}.colony-sub{margin:8px 0 4px;font:700 12px/1.2 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}.colony-jobs{list-style:none;margin:0;padding:0;font-size:13px}.colony-jobs li{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--steel-700);font-variant-numeric:tabular-nums}.colony-jobs .bad{color:var(--bad)}.workers-row{display:flex;align-items:center;gap:8px;margin:8px 0}.workers-row .k{min-width:64px;font:600 12px/1.5 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.workers-val{min-width:48px;text-align:center;font:700 18px/1 var(--font-display);font-variant-numeric:tabular-nums}.btn.stepper{width:var(--touch);min-height:var(--touch);font-size:22px}.btn:disabled{opacity:.4;cursor:not-allowed}.army-controls{display:inline-flex;gap:6px;margin-left:auto}.btn.army-btn{min-height:34px;padding:0 10px;font-size:13px}.btn.army-btn[aria-pressed=true]{background:linear-gradient(180deg,#5a4520,#3d2f16);border-color:var(--amber);color:#ffe6ad}.input-touch .btn.army-btn{min-height:var(--touch)}.box-mode #game{cursor:crosshair}.select-box{position:absolute;border:1.5px solid var(--amber);background:#f0b43c1f;pointer-events:none}.select-box[hidden]{display:none}.unit-groups{list-style:none;margin:4px 0 8px;padding:0}.unit-groups li{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--steel-700);font:600 15px/1.2 var(--font-display)}.training{margin-top:10px;border-top:1px solid var(--steel-700);padding-top:6px}.train-options{display:flex;gap:6px;flex-wrap:wrap}.btn.train-btn{display:grid;gap:3px;justify-items:center;min-height:52px;padding:6px 10px;text-transform:none}.train-name{font:700 14px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase}.btn.train-btn.is-unaffordable{opacity:.55}.btn.train-btn.is-unaffordable .build-cost-line{color:var(--bad)}.train-queue{list-style:none;margin:8px 0;padding:0;font-size:13px}.train-queue li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0}.qbar{flex:0 0 90px;height:6px;background:var(--steel-950);border:1px solid var(--steel-700);border-radius:3px;overflow:hidden}.qbar span{display:block;height:100%;background:var(--amber)}.lobby{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 50% 30%,#23272b,#101214 70%);pointer-events:auto;overflow-y:auto;z-index:30}.lobby-card{width:min(460px,100%);padding:22px 20px;border-radius:10px;background:linear-gradient(180deg,var(--steel-800),#15171a);border:1px solid var(--steel-600);border-top:3px solid var(--amber)}.lobby-title{margin:0;font:700 30px/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase}.lobby-code{margin:8px 0 10px;font:700 44px/1 var(--font-display);letter-spacing:.3em;color:var(--amber)}.lobby-row{display:flex;gap:10px;margin:14px 0 6px;flex-wrap:wrap}.lobby-row label{flex:1 1 140px;display:grid;gap:4px;font-size:13px}.lobby-row select{min-height:var(--touch);padding:0 10px;border-radius:6px;border:1px solid var(--steel-600);background:var(--steel-900, #1b1e21);color:var(--text);font-size:15px}.lobby-seats{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}.lobby-seats li{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border-radius:6px;background:#ffffff0a}.lobby-seats li.is-me{outline:1px solid var(--amber-dim)}.seat-name{flex:1}.seat-state.ok{color:#8fd47a}.seat-state.bad{color:#ef8a7e}.lobby-actions{display:flex;gap:10px;flex-wrap:wrap}.lobby-actions .btn{flex:1 1 auto}.match-timer{position:absolute;top:calc(var(--safe-top, 0px) + var(--top-bar-h, 64px) + 8px);left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#101214e0;border:1px solid var(--steel-600);font:700 18px/1 var(--font-display);letter-spacing:.06em;pointer-events:none}.match-timer.urgent{border-color:#ef5a4c;color:#ffc9c2}.result{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#08090a9e;pointer-events:auto;z-index:20}.result[hidden]{display:none}.result-card{width:min(420px,100%);padding:24px 22px;border-radius:10px;background:linear-gradient(180deg,var(--steel-800),#15171a);border:1px solid var(--steel-600);border-top:3px solid var(--amber);text-align:center}.result[data-outcome=defeat] .result-card{border-top-color:#ef5a4c}.result-title{margin:0 0 6px;font:700 40px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.result[data-outcome=defeat] .result-title{color:#ef8a7e}.result-reason{margin:0 0 14px}.result-lines{list-style:none;margin:0 0 18px;padding:0;font-size:14px;color:var(--muted, #a9adb3)}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.btn.upgrade-btn{width:100%;margin-top:8px;text-transform:none;font-size:14px}.btn.upgrade-btn.is-unaffordable{opacity:.55}.upgrade-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;font-size:13px}.unit-status{margin:6px 0;padding:4px 8px;border-radius:4px;font-weight:600;font-size:13px}.unit-status.bad{background:#b5c23a29;border-left:3px solid #b5c23a;color:#e3ec9a}.unit-status.warn{background:#f0b43c1f;border-left:3px solid var(--amber);color:#ffe3a6}.colony-threat{margin:4px 0 0;font-size:13px}.colony-threat .bad{color:#d7e36a}.stance-row{display:flex;align-items:center;gap:6px;margin:10px 0 4px}.stance-row .muted{margin-right:auto}.btn.seg.is-on{background:linear-gradient(180deg,#5a4520,#3d2f16);border-color:var(--amber);color:#ffe6ad}.unit-actions{display:flex;gap:8px;flex-wrap:wrap}.unit-actions .btn{flex:1 1 auto}.btn.is-armed{background:linear-gradient(180deg,#6b2a22,#45191a);border-color:#ef5a4c;color:#ffd7cf;animation:armed-pulse 1.2s ease-in-out infinite}@keyframes armed-pulse{50%{box-shadow:0 0 0 3px #ef5a4c59}}@media(prefers-reduced-motion:reduce){.btn.is-armed{animation:none}}.panel{position:absolute;top:calc(max(var(--gutter),env(safe-area-inset-top)) + 74px);right:var(--gutter);width:300px;max-height:calc(100vh - 260px);overflow:auto;padding:12px 14px 14px;color:var(--text);background:#16191cf2;border:1px solid var(--steel-700);border-left:3px solid var(--amber-dim);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-title{margin:0 0 6px;font:700 13px/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.bld-name,.tile-name{font:700 21px/1.15 var(--font-display);letter-spacing:.02em}.bld-meta{margin:2px 0 8px;text-transform:capitalize}.bld-state{font:600 13px/1.2 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ok);margin-bottom:6px}.bld-state.is-building{color:var(--amber)}.hp{height:6px;background:var(--steel-950);border:1px solid var(--steel-700);border-radius:3px;overflow:hidden}.hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#5fb85a,#8bd26b);transition:width .2s}.hp-text{margin:4px 0 8px;font-size:12px;font-variant-numeric:tabular-nums}.note{margin:8px 0;padding:6px 8px;font-size:12px;line-height:1.4;color:#ffe1a1;background:#f0b43c14;border-left:2px solid var(--amber-dim)}.ground{margin-top:12px;border-top:1px solid var(--steel-700);padding-top:8px}.ground summary{cursor:pointer;font:600 12px/1.4 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}.tile-row{display:flex;align-items:center;gap:12px;margin:6px 0 10px}.swatch{width:40px;height:22px;flex:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0 0 10px}.chip{font:600 12px/1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;padding:5px 8px;border-radius:4px;border:1px solid currentColor}.chip.yes{color:var(--ok)}.chip.no{color:var(--bad)}.chip.neutral{color:var(--text-dim)}.pass-row{display:flex;align-items:center;gap:8px;margin:0 0 8px;font:600 13px/1.2 var(--font-display);letter-spacing:.04em;text-transform:uppercase}.legend-swatch{display:inline-block;width:18px;height:10px;flex:none;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.desc{margin:6px 0 0;font-size:13px;line-height:1.45;color:#d4cfc4}.start-note{margin:10px 0 0;padding:7px 9px;font-size:12px;line-height:1.4;border-left:3px solid var(--amber);background:#ffffff0a}.start-note.infected{border-color:var(--infected);color:#ffc4c9}.econ{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:4px;font-size:13px}.econ li{display:flex;gap:8px}.econ .k{min-width:64px;font:600 12px/1.5 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.econ-status{margin:2px 0 6px;font:600 13px/1.3 var(--font-display);letter-spacing:.03em;color:var(--ok)}.econ-status.is-stalled{color:var(--amber)}.legend{position:absolute;top:calc(max(var(--gutter),env(safe-area-inset-top)) + 74px);left:var(--gutter);padding:10px 14px;background:#16191ceb;border:1px solid var(--steel-700);border-radius:var(--radius);box-shadow:var(--shadow)}.legend[hidden]{display:none}.legend-title{margin:0 0 6px;font:700 12px/1.2 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}.legend ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:13px}.legend li{display:flex;align-items:center;gap:8px}.build-bar{position:absolute;left:50%;transform:translate(-50%);bottom:max(var(--gutter),env(safe-area-inset-bottom));max-width:calc(100% - 2 * var(--gutter));padding:8px;background:linear-gradient(180deg,var(--steel-800),var(--steel-900));border:1px solid var(--steel-700);border-top:2px solid var(--rust);border-radius:var(--radius);box-shadow:var(--shadow)}.build-bar.is-placing{border-top-color:var(--amber)}.build-status{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:30px;padding:0 4px 6px;font-size:13px}.build-status strong{font:700 15px/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--amber)}.build-status em{font-style:normal;opacity:.8}.build-status .ok{color:var(--ok)}.build-status .bad{color:var(--bad)}.build-status .btn{margin-left:auto}.build-buttons{display:flex;gap:6px;overflow-x:auto}.build-btn{position:relative;display:grid;grid-template-rows:56px auto auto;justify-items:center;align-items:end;width:92px;padding:6px 4px;color:var(--text);background:var(--steel-850);border:1px solid var(--steel-700);border-radius:6px;cursor:pointer;transition:border-color .15s,background-color .15s}.build-btn:hover{border-color:var(--amber-dim)}.build-btn[aria-pressed=true]{background:#33290f;border-color:var(--amber)}.build-thumb{max-width:76px;max-height:54px;object-fit:contain;pointer-events:none}.build-name{font:600 13px/1.1 var(--font-display);letter-spacing:.03em;text-align:center;margin-top:4px}.build-size{font:500 11px/1.2 var(--font-display);color:var(--text-dim)}.build-key{position:absolute;top:4px;left:5px;font:700 11px/1 var(--font-display);color:var(--amber);background:var(--steel-950);border:1px solid var(--steel-600);border-radius:3px;padding:2px 4px}.toast{position:absolute;left:50%;transform:translate(-50%);bottom:calc(max(var(--gutter),env(safe-area-inset-bottom)) + 150px);max-width:min(520px,calc(100% - 2 * var(--gutter)));padding:9px 14px;font-size:14px;background:#0f1113f0;border:1px solid var(--steel-600);border-left:3px solid var(--amber);border-radius:6px;box-shadow:var(--shadow);pointer-events:none}.toast[hidden]{display:none}.toast[data-kind=error]{border-left-color:var(--bad)}.toast[data-kind=ok]{border-left-color:var(--ok)}.hint{position:absolute;left:var(--gutter);bottom:max(var(--gutter),env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:4px 12px;max-width:300px;padding:8px 12px;font-size:12px;color:var(--text-dim);background:#0f1113d9;border:1px solid var(--steel-700);border-radius:var(--radius);pointer-events:none}kbd{font:700 12px/1 var(--font-display);color:var(--amber);margin-right:3px}.cursor-readout{position:absolute;right:var(--gutter);bottom:max(var(--gutter),env(safe-area-inset-bottom));min-width:150px;padding:8px 12px;font:600 14px/1.2 var(--font-display);letter-spacing:.03em;text-align:right;font-variant-numeric:tabular-nums;background:#0f1113d9;border:1px solid var(--steel-700);border-radius:var(--radius);pointer-events:none}.cursor-readout.blocked{color:#ffb3a8}.debug{position:absolute;left:var(--gutter);bottom:calc(max(var(--gutter),env(safe-area-inset-bottom)) + 120px);margin:0;padding:10px 12px;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#cfe8c0;background:#000000c7;border-radius:6px;pointer-events:none}.build-actions{display:flex;gap:6px;margin-left:auto}.btn.confirm{border-color:#3f6b34;background:linear-gradient(180deg,#34502b,#243a1f);color:#d9ffc9;padding:0 16px}.btn.confirm:disabled{opacity:.45;cursor:not-allowed}.btn.cancel{width:var(--touch);padding:0;font-size:18px}.btn .ico{display:none;font-size:20px}.hint-touch{display:none}#hud{--top-bar-h: 64px;--build-bar-h: 140px;--safe-top: max(var(--gutter), env(safe-area-inset-top));--safe-bottom: max(var(--gutter), env(safe-area-inset-bottom));--safe-left: max(var(--gutter), env(safe-area-inset-left));--safe-right: max(var(--gutter), env(safe-area-inset-right))}.hud-bar{left:var(--safe-left);right:var(--safe-right)}.panel,.legend{top:calc(var(--safe-top) + var(--top-bar-h) + 10px)}.panel{right:var(--safe-right);max-height:calc(100dvh - var(--safe-top) - var(--top-bar-h) - var(--build-bar-h) - var(--safe-bottom) - 30px);touch-action:pan-y;overscroll-behavior:contain}.build-buttons{touch-action:pan-x;overscroll-behavior:contain;scrollbar-width:none}.build-buttons::-webkit-scrollbar{display:none}.toast{bottom:calc(var(--safe-bottom) + var(--build-bar-h) + 12px)}.input-touch{--touch: 44px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.input-touch .hint:not(.hint-touch),.input-touch .build-key,.input-touch .cursor-readout{display:none}.input-touch .hint-touch{display:flex;bottom:calc(var(--safe-bottom) + var(--build-bar-h) + 10px);left:var(--safe-left)}.input-touch .btn.small{width:var(--touch);min-height:var(--touch)}.input-touch .btn.small-text{min-height:var(--touch)}.input-touch .btn:hover,.input-touch .build-btn:hover{border-color:var(--steel-700)}.input-touch .build-btn[aria-pressed=true]{border-color:var(--amber)}.input-touch .panel.is-empty{display:none}@media(max-width:1400px){.hint{display:none}}@media(max-width:1100px){.phase-pill{display:none}}@media(max-width:1000px)and (min-width:721px){.brand-name{display:none}}@media(max-width:900px){.input-touch .hint-touch{display:none}.btn[data-action=reset]{width:var(--touch);padding:0}.btn[data-action=reset] .lbl{display:none}.btn[data-action=reset] .ico{display:inline}.cursor-readout{display:none}}@media(max-width:720px){:root{--gutter: 8px;--touch: 44px}.hud-bar{padding:6px 6px 6px 8px;gap:6px;flex-wrap:wrap}.resources{order:3;flex:1 1 100%;margin:0;gap:4px}.res{flex:1 1 0;justify-content:center;min-height:32px;padding:0 6px;font-size:15px}.toolbar{gap:4px}.btn{padding:0 10px}.brand-name{font-size:16px;letter-spacing:.1em}.build-bar{left:var(--safe-left);right:var(--safe-right);transform:none;max-width:none;padding:6px}.build-status{min-height:var(--touch);padding:0 2px 6px}.build-btn{flex:none;width:68px;grid-template-rows:38px auto auto;padding:4px 2px 5px}.build-thumb{max-width:58px;max-height:36px}.build-size{display:none}.build-name{font-size:12px}.panel{top:auto;left:var(--safe-left);right:var(--safe-right);bottom:calc(var(--safe-bottom) + var(--build-bar-h) + 8px);width:auto;max-height:min(36dvh,calc(100dvh - var(--safe-top) - var(--top-bar-h) - var(--build-bar-h) - var(--safe-bottom) - 24px));border-left-width:1px;border-top:3px solid var(--amber-dim)}.panel.is-empty{display:none}.toast,.debug{bottom:auto;top:calc(var(--safe-top) + var(--top-bar-h) + 8px)}.toast{width:max-content;max-width:calc(100% - 2 * var(--gutter))}.legend{padding:8px 10px}}@media(max-width:480px){.brand-name,.zoom-label,.build-cost{display:none}}@media(max-width:720px),(max-height:520px)and (orientation:landscape){.input-touch .unit-hint:not(.is-armed){display:none}.stance-row{margin-top:6px}}@media(max-height:520px)and (orientation:landscape){:root{--gutter: 8px;--touch: 44px}.hud-bar{padding:4px 6px 4px 8px;flex-wrap:nowrap}.brand-name,.zoom-label{display:none}.resources{order:0;flex:0 1 auto;margin:0 auto}.res{min-height:32px;padding:0 7px 0 5px;font-size:14px}.res-cap{font-size:11px}.build-bar{left:var(--safe-left);right:auto;transform:none;max-width:calc(100% - var(--safe-left) - var(--safe-right));display:flex;flex-direction:row-reverse;align-items:center;gap:8px;padding:4px 6px}.build-status{flex:0 1 280px;min-width:0;min-height:0;padding:0;font-size:12px}.build-status .muted.build-cost{display:none}.build-buttons{flex:none;max-width:60vw}.build-btn{flex:none;width:62px;grid-template-rows:32px auto auto;padding:3px 2px 4px}.build-thumb{max-width:50px;max-height:32px}.build-size{display:none}.build-name{font-size:11px}.panel{top:calc(var(--safe-top) + var(--top-bar-h) + 6px);bottom:calc(var(--safe-bottom) + var(--build-bar-h) + 6px);left:auto;right:var(--safe-right);width:min(300px,42vw);max-height:none}.panel.is-empty{display:none}.toast{bottom:auto;top:calc(var(--safe-top) + var(--top-bar-h) + 6px)}}@media(max-height:520px)and (orientation:landscape)and (max-width:640px){.res-cap{display:none}.res{padding:0 6px 0 4px}.toolbar{gap:3px}.btn{padding:0 8px}.crest{display:none}}@media(prefers-reduced-motion:reduce){.btn,.build-btn,.hp-fill{transition:none}}.owner-row{display:flex;align-items:center;gap:7px;margin:2px 0;font:600 13px/1.2 var(--font-display);letter-spacing:.05em;text-transform:uppercase}.owner-dot{width:10px;height:10px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #0006}@media(max-width:720px),(max-height:520px)and (orientation:landscape){.detail-open .build-bar{display:none}.detail-open .panel:not(.is-empty):not([hidden]){top:auto;left:var(--safe-left);right:var(--safe-right);bottom:var(--safe-bottom);width:auto;max-height:38dvh;border-left-width:1px;border-top:3px solid var(--amber);border-radius:12px 12px 0 0}.detail-open .panel [data-action^=deselect],.detail-open .panel [data-action=colony]{width:var(--touch);min-height:var(--touch);font-size:22px}}@media(max-height:520px)and (orientation:landscape){.detail-open .panel:not(.is-empty):not([hidden]){max-height:46dvh}}@media(max-width:720px),(max-height:520px)and (orientation:landscape){.detail-open .panel:not(.is-empty):not([hidden]){max-height:min(34dvh,300px);padding-top:0}.detail-open .panel .panel-head{position:sticky;top:0;z-index:1;height:0;margin:0;padding:0;display:flex;justify-content:flex-end;align-items:flex-start;overflow:visible;background:none;border:0}.detail-open .panel .panel-head .panel-title{display:none}.detail-open .panel .panel-head .btn{flex:none;height:var(--touch);margin-top:8px;background:var(--steel-800, #22272c)}.detail-open .panel>:nth-child(2){margin-top:10px;padding-right:120px}.detail-open .panel .desc,.detail-open .panel .start-note,.detail-open .panel .bld-meta{display:none}}.unit-box{margin-left:auto;margin-right:6px;min-height:32px}.box-mode .unit-box{border-color:var(--amber);color:var(--amber)}@media(hover:hover)and (pointer:fine){.unit-box{display:none}}.menu .lobby-card{display:grid;gap:10px}.menu-tag{margin:0;color:var(--amber);letter-spacing:.08em;text-transform:uppercase;font:600 14px/1.2 var(--font-display)}.menu-profile{display:flex;justify-content:space-between;gap:10px;min-height:var(--touch);padding:8px 12px;border-radius:8px;border:1px solid var(--steel-600);background:#ffffff0a;color:var(--text);font:600 15px/1.2 var(--font-display);text-align:left;cursor:pointer}.menu-list{display:grid;gap:8px}.menu-list .btn,.menu .btn{min-height:var(--touch);font-size:17px}.menu-back{justify-self:start}.menu-h{margin:0;font:700 24px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase}.menu-sub{margin:6px 0 0;font:600 15px/1 var(--font-display);color:var(--amber);text-transform:uppercase;letter-spacing:.06em}.menu-cards{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.menu-card{display:grid;gap:4px;min-height:64px;padding:10px 12px;border-radius:8px;border:1px solid var(--steel-600);border-left:3px solid var(--amber);background:#ffffff0a;color:var(--text);text-align:left;cursor:pointer;font-size:14px}.menu-card strong{font:700 18px/1.1 var(--font-display)}.menu-card em{font-size:12px;opacity:.75}.menu-note{margin:0;font-size:14px;opacity:.85}.menu-input{min-height:var(--touch);padding:0 10px;border-radius:6px;border:1px solid var(--steel-600);background:#1b1e21;color:var(--text);font-size:16px}.menu-check,.menu-range{display:flex;align-items:center;gap:10px;min-height:var(--touch);font-size:15px}.menu-check input{width:24px;height:24px}.menu-range input{flex:1}.menu-help{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px;line-height:1.4}.xp-bar{height:8px;border-radius:4px;background:#ffffff14;overflow:hidden}.xp-bar span{display:block;height:100%;background:var(--amber)}.build-btn.is-locked,.train-btn.is-locked{opacity:.55;filter:grayscale(.7)}.level-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.menu-card.is-locked{opacity:.5;cursor:not-allowed}.menu-card .dim,.pass-table .dim{opacity:.35}.pass-table{width:100%;border-collapse:collapse;font-size:14px}.pass-table th,.pass-table td{padding:8px 6px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}.pass-table tr.is-reached td:first-child{color:var(--amber);font-weight:700}.menu .btn[aria-pressed=true]{border-color:var(--amber)}.menu code{font-size:13px;user-select:all}.guide{position:absolute;top:calc(var(--safe-top, 0px) + var(--top-bar-h, 64px) + 48px);left:50%;transform:translate(-50%);width:min(440px,calc(100vw - 32px));padding:10px 14px;border-radius:10px;background:#101214eb;border:1px solid var(--amber);font-size:15px;line-height:1.35;pointer-events:none;z-index:5}.guide-step{display:block;margin-bottom:2px;font:700 12px/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.objective{position:absolute;top:calc(var(--safe-top, 0px) + var(--top-bar-h, 64px) + 46px);left:50%;transform:translate(-50%);padding:5px 12px;border-radius:999px;background:#101214e0;border:1px solid var(--amber);color:var(--amber);font:700 15px/1 var(--font-display);letter-spacing:.04em;pointer-events:none;white-space:nowrap}.menu-story{margin:0;padding:10px 12px;border-left:3px solid var(--amber);background:#ffffff0a;font-style:italic;font-size:15px;line-height:1.45}.goal-icon{font-size:14px}.time-controls{position:absolute;top:calc(var(--safe-top, 0px) + var(--top-bar-h, 64px) + 8px);left:calc(var(--safe-left, 0px) + 10px);display:flex;gap:6px;pointer-events:auto;z-index:4}.time-controls .btn{min-width:var(--touch);min-height:var(--touch);font-size:18px}.time-controls .btn.on,.time-controls .btn[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}.paused-banner{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:10px;background:#101214d9;border:1px solid var(--amber);font:700 18px/1.2 var(--font-display);letter-spacing:.04em;pointer-events:none;text-align:center}.briefing-story{font-style:italic;line-height:1.5;margin:8px 0}:root{--ink: #0b0908;--iron-1: #46403c;--iron-2: #2a2522;--iron-3: #171412;--bronze: #6e1512;--bronze-hi: #d9cfb4;--teal-1: #3d3734;--teal-2: #211d1b;--teal-3: #141110;--parch-1: #f1e9d6;--parch-2: #cdbf9f;--brown: #2a211a;--yellow-1: #f0473a;--yellow-2: #9a110d;--red-1: #e3352b;--red-2: #8e0f0c;--toxic: #f1e9d6;--amber: #e3352b;--amber-dim: #9e100d;--text: #f1e9d6;--text-dim: #b9ae98;--steel-950: #100e0d;--steel-900: #181514;--steel-850: #1f1b19;--steel-800: #272220;--steel-700: #38312e;--steel-600: #4e4541;--font-cartoon: "Anton", "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--noise: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .32 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");--rivets: radial-gradient(circle at 9px 9px, #cfc6b8 0 1.6px, #3a3330 2.4px, #00000000 3.4px), radial-gradient(circle at calc(100% - 9px) 9px, #cfc6b8 0 1.6px, #3a3330 2.4px, #00000000 3.4px), radial-gradient(circle at 9px calc(100% - 9px) , #cfc6b8 0 1.6px, #3a3330 2.4px, #00000000 3.4px), radial-gradient(circle at calc(100% - 9px) calc(100% - 9px) , #cfc6b8 0 1.6px, #3a3330 2.4px, #00000000 3.4px);--plate: var(--rivets), var(--noise), linear-gradient(180deg, var(--iron-1) 0%, var(--iron-2) 38%, var(--iron-3) 100%);--plate-edge: 0 0 0 1px var(--ink), inset 0 0 0 2px var(--bronze), inset 0 0 0 3px #00000088, inset 0 3px 0 3px #ffffff14;--console-h: 262px;--grit: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -22 19.2'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");--cracks: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='120'><g fill='none' stroke='%23000' stroke-opacity='.38' stroke-width='1.3' stroke-linecap='round'><path d='M8 10l22 14 6 18 18 6M30 24l14-4M120 4l-8 20 10 14-6 22M122 38l18 6M200 70l20 10 10 22M220 80l26-6M60 90l18 10 4 16M78 100l16-8M170 10l10 16 20 4'/></g></svg>")}html,body{background:#0d100b}.btn{position:relative;color:#fbf6e4;background:linear-gradient(180deg,var(--teal-1) 0%,var(--teal-2) 100%);border:2px solid var(--ink);border-radius:9px;box-shadow:inset 0 2px #ffffff40,inset 0 -4px #00000040,0 3px 0 var(--ink);text-shadow:0 2px 0 #00000080}.btn:hover{border-color:var(--ink);filter:brightness(1.1)}.btn:active{transform:translateY(2px);box-shadow:inset 0 2px #ffffff30,inset 0 -2px #00000040,0 1px 0 var(--ink)}.btn.primary,.btn.toggle[aria-pressed=true]{color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1) 0%,#c81e17 50%,var(--yellow-2) 100%);text-shadow:0 2px 0 #00000099}.btn.danger{color:#fff4ee;background:linear-gradient(180deg,var(--red-1),var(--red-2));border-color:var(--ink)}.btn:disabled,.btn[disabled]{filter:grayscale(.85) brightness(.7);cursor:default}:is(.hud-bar,.build-bar,.panel,.time-controls) .btn:not(.primary):not(.danger):not(.toggle[aria-pressed=true]){background:var(--noise),linear-gradient(180deg,#555b50,#353a31 55%,#262a22);box-shadow:inset 0 0 0 1px var(--bronze),inset 0 2px 0 1px #fff2,inset 0 -3px #0005,0 2px 0 var(--ink)}:is(.hud-bar,.build-bar,.panel,.time-controls) .btn{border-radius:7px}.result-actions .btn{min-width:150px;min-height:48px;font:400 20px/1 var(--font-cartoon);letter-spacing:.04em}.hud-bar{background:var(--plate);border:0;border-radius:10px;box-shadow:var(--plate-edge),0 6px 14px #000000a0;padding-left:16px;padding-right:14px}.crest rect{fill:#1b1d17}.brand-name{font-family:var(--font-cartoon);font-weight:400;letter-spacing:.04em;color:var(--toxic);text-shadow:0 2px 0 var(--ink),0 0 12px #a8e04c40}.phase-pill{color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2));border:1.5px solid var(--ink);border-radius:6px;box-shadow:0 2px 0 var(--ink)}.res{background:linear-gradient(180deg,#0f110d,#1c2019);border:1px solid #000;box-shadow:inset 0 2px 4px #000000c0,0 1px #ffffff1a,0 0 0 1px #4a1210;border-radius:8px}.res-amt{color:#fff6dc;text-shadow:0 1px 0 #000}.res-cap,.zoom-label{color:var(--bronze-hi)}.panel,.build-bar,.minimap{background:var(--plate);border:0;border-radius:10px;box-shadow:var(--plate-edge),0 8px 18px #000000a0}.panel{border-left:0}.panel h3,.panel .panel-title,.inspector .muted:first-child{color:var(--bronze-hi)}.bld-name,.build-status strong{font-family:var(--font-cartoon);font-weight:400;letter-spacing:.03em;color:var(--yellow-1);text-shadow:0 2px 0 var(--ink)}.build-bar.is-placing{box-shadow:var(--plate-edge),0 0 0 3px var(--amber),0 8px 18px #000000a0}.build-btn{background:radial-gradient(ellipse at 50% 35%,#3a3431,#1a1715 70%),var(--noise);border:2px solid var(--ink);border-radius:9px;box-shadow:inset 0 0 0 1px #4a1210,inset 0 -18px #0000004d,0 2px 0 var(--ink)}.build-btn:hover{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--bronze-hi),inset 0 -18px #0000004d,0 2px 0 var(--ink)}.build-btn[aria-pressed=true]{background:radial-gradient(ellipse at 50% 35%,#6a1410,#2a0b09 75%);box-shadow:inset 0 0 0 2px var(--amber),0 0 12px #e3352b80,0 2px 0 var(--ink)}.build-btn.is-locked{filter:grayscale(.9) brightness(.7)}.build-key{color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2));border:1.5px solid var(--ink);border-radius:5px}.hp,.xp-bar{background:#0c0e0a;border:1.5px solid var(--ink);box-shadow:inset 0 1px 3px #000}.minimap{display:none}.minimap-canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}.minimap-title{display:block;margin:0 0 4px;font:400 14px/1 var(--font-cartoon);letter-spacing:.06em;color:var(--bronze-hi);text-shadow:0 2px 0 var(--ink)}@media(min-width:1101px)and (min-height:621px){.minimap{display:block;position:absolute;left:var(--gutter);bottom:max(var(--gutter),env(safe-area-inset-bottom));width:290px;height:var(--console-h);padding:14px 15px;pointer-events:auto}.minimap-canvas{margin-top:10px;filter:drop-shadow(0 2px 0 #000)}.build-bar{left:auto;right:var(--gutter);transform:none;width:var(--build-w, 492px);max-width:none;height:var(--console-h);padding:10px 12px;display:flex;flex-direction:column}.build-status{min-height:30px;padding-bottom:4px}.build-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;overflow:auto;flex:1;align-content:start;padding:2px}.build-btn{width:auto;grid-template-rows:36px auto;padding:3px 2px}.build-btn .build-name{display:none}.cursor-readout{bottom:calc(max(var(--gutter),env(safe-area-inset-bottom)) + var(--console-h) + 10px)}.build-thumb{max-width:52px;max-height:36px}.build-name{font-size:11px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.build-size{font-size:10px}.panel.inspector{top:auto;right:calc(var(--gutter) + var(--build-w, 492px) + 10px);left:calc(var(--gutter) + 290px + 10px);bottom:max(var(--gutter),env(safe-area-inset-bottom));width:auto;height:var(--console-h);max-height:none;padding:16px 18px}.toast{bottom:calc(max(var(--gutter),env(safe-area-inset-bottom)) + var(--console-h) + 14px)}.hint{left:calc(var(--gutter) + 290px + 10px);right:auto;bottom:calc(max(var(--gutter),env(safe-area-inset-bottom)) + var(--console-h) + 10px);transform:none}}.match-timer,.objective,.paused-banner{font-family:var(--font-cartoon);font-weight:400;letter-spacing:.03em;background:linear-gradient(180deg,#2b2f28f2,#161913f2);border:2px solid var(--ink);box-shadow:inset 0 0 0 1px var(--bronze),0 3px 0 var(--ink);color:#fff3d2;text-shadow:0 2px 0 var(--ink)}.toast{background:linear-gradient(180deg,#2b2f28f5,#161913f5);border:2px solid var(--ink);border-radius:10px;box-shadow:inset 0 0 0 1px var(--bronze),0 4px 0 var(--ink)}.guide{background:var(--noise),linear-gradient(180deg,var(--parch-1),var(--parch-2));color:var(--brown);border:2px solid var(--ink);border-radius:10px;box-shadow:0 4px 0 var(--ink),0 8px 18px #0008}.result{background:radial-gradient(ellipse at 50% 40%,#0006,#000000d0)}.result-card{position:relative;color:var(--brown);background:var(--noise),radial-gradient(ellipse at 50% 0%,#fffaf0 0%,var(--parch-1) 40%,var(--parch-2) 100%);border:3px solid var(--ink);border-radius:14px;box-shadow:inset 0 0 0 3px #9c8e70,inset 0 0 40px #5a4a3055,0 8px 0 var(--ink),0 18px 40px #000c;padding-top:46px}.result-title{position:absolute;left:50%;top:-22px;transform:translate(-50%);white-space:nowrap;max-width:94%;overflow:hidden;text-overflow:ellipsis;margin:0;padding:10px 34px 12px;font:400 26px/1 var(--font-cartoon);letter-spacing:.04em;color:#f6eedb;background:linear-gradient(180deg,#4a4440,var(--teal-2));border:3px solid var(--ink);border-radius:10px;box-shadow:inset 0 2px #ffffff40,0 4px 0 var(--ink);text-shadow:0 2px 0 var(--ink)}.result[data-outcome=victory] .result-title{color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2));text-shadow:0 2px 0 #00000099}.result[data-outcome=defeat] .result-title{color:#fff1ea;background:linear-gradient(180deg,var(--red-1),var(--red-2))}.result-card .muted,.result-reason,.briefing-story{color:#4a3c2c}.result-card strong,.result-card b{color:#2a1b0a}.result-stars,.stars{color:#e3352b;text-shadow:0 2px 0 var(--ink)}.lobby.menu{display:block;padding:0;overflow:hidden auto;background:#0b0e09}.menu-scene{position:fixed;inset:0;pointer-events:none}.menu-scene-svg{width:100%;height:100%;display:block}.menu-scene:after{content:"";position:absolute;inset:0;background:var(--noise),radial-gradient(ellipse at 50% 45%,transparent 40%,#000000b0 100%)}.ms-fog{animation:ms-drift 26s ease-in-out infinite alternate}.ms-fog-b{animation-duration:34s;animation-direction:alternate-reverse}.ms-flame{transform-origin:800px 820px;animation:ms-flick .9s ease-in-out infinite alternate}.ms-flame-in{animation-duration:.6s}.ms-fire{animation:ms-glow 2.4s ease-in-out infinite alternate}@keyframes ms-drift{to{transform:translate(-120px)}}@keyframes ms-flick{to{transform:scale(.92,1.08) skew(3deg)}}@keyframes ms-glow{to{opacity:.75}}@media(prefers-reduced-motion:reduce){.ms-fog,.ms-flame,.ms-fire{animation:none}}.menu-shell{position:relative;min-height:100%;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);width:100%;padding:max(10px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));color:var(--text)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px}.menu-main{display:grid;min-height:0}.lobby-status{text-align:center;min-height:1.2em;margin:6px 0 0;font:400 15px/1.3 var(--font-cartoon);color:var(--yellow-1);text-shadow:0 2px 0 var(--ink)}.menu .menu-profile{display:flex;align-items:center;gap:10px;min-height:52px;padding:4px 16px 4px 4px;background:linear-gradient(180deg,#000000b8,#0008);border:2px solid var(--ink);border-radius:30px;box-shadow:inset 0 0 0 1px #ffffff1c;color:var(--text);text-align:left;font:inherit;max-width:min(64vw,420px)}.avatar{position:relative;flex:none;width:46px;height:46px;display:grid;place-items:center;background:linear-gradient(180deg,#4a4440,#1b1715);border:2px solid var(--ink);border-radius:50%;box-shadow:inset 0 0 0 2px var(--bronze-hi)}.avatar .ico-svg{width:32px;height:32px}.avatar .lvl{position:absolute;right:-6px;bottom:-4px;min-width:22px;padding:2px 4px;font:400 12px/1 var(--font-cartoon);color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2));border:1.5px solid var(--ink);border-radius:8px;text-align:center}.who{display:grid;gap:2px;min-width:0}.who strong{font:400 18px/1.05 var(--font-cartoon);letter-spacing:.02em;text-shadow:0 2px 0 var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.who span{font:600 13px/1.1 var(--font-display);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-wallet{display:flex;gap:8px}.coin{position:relative;display:flex;align-items:center;height:32px;padding:0 12px 0 32px;margin-left:14px;background:linear-gradient(180deg,#000000c8,#00000090);border:2px solid var(--ink);border-radius:16px;box-shadow:inset 0 0 0 1px #ffffff18;font:400 16px/1 var(--font-cartoon);color:#fff6d6}.coin .ico-svg{position:absolute;left:-16px;width:38px;height:38px;filter:drop-shadow(0 2px 0 #000)}.nav-btns{display:flex;gap:8px}.icon-btn{display:grid;place-items:center;width:50px;height:50px;padding:0;background:linear-gradient(180deg,var(--teal-1),var(--teal-2));border:2px solid var(--ink);border-radius:12px;box-shadow:inset 0 2px #ffffff40,inset 0 -4px #00000040,0 3px 0 var(--ink);cursor:pointer}.icon-btn .ico-svg{width:32px;height:32px}.icon-btn:active{transform:translateY(2px)}.close-x{position:absolute;top:-14px;right:-12px;width:44px;height:44px;background:linear-gradient(180deg,var(--red-1),var(--red-2));z-index:2}[dir=rtl] .close-x{right:auto;left:-12px}.home{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr auto;grid-template-areas:"left logo right" "left .    right" "dock .    cta";gap:14px;min-height:calc(100vh - 110px)}.home-logo{grid-area:logo;text-align:center;padding-top:2vh}.menu .lobby-title{display:inline-grid;justify-items:center;margin:0;font:400 clamp(46px,8.4vw,104px)/.86 var(--font-cartoon);letter-spacing:.02em;text-transform:uppercase;color:#f2ead0;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink),0 0 30px #a8e04c33;transform:rotate(-2deg)}.logo-a{font-size:.62em;color:#e9dfc2}.logo-b{color:var(--toxic);text-shadow:0 6px 0 var(--ink),0 0 34px #a8e04c55}.menu .menu-tag{margin:14px auto 0;display:table;padding:5px 16px;font:400 15px/1 var(--font-cartoon);letter-spacing:.14em;text-transform:uppercase;color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2));border:2px solid var(--ink);border-radius:4px;transform:rotate(-2deg);box-shadow:0 3px 0 var(--ink)}.home-rail{display:flex;flex-direction:column;gap:14px;align-self:start;padding-top:8px}.home-left{grid-area:left}.home-right{grid-area:right}.rail-btn{position:relative;display:grid;justify-items:center;gap:2px;width:92px;min-height:74px;padding:6px 2px 4px;background:none;border:0;color:#f6eedb;cursor:pointer}.rail-btn .ico-svg{width:52px;height:52px;filter:drop-shadow(0 3px 0 #000) drop-shadow(0 0 1px #000);transition:transform .12s}.rail-btn:hover .ico-svg{transform:scale(1.08) rotate(-4deg)}.rail-lbl{font:400 14px/1.05 var(--font-cartoon);text-align:center;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;letter-spacing:.02em}.rail-badge{position:absolute;top:-2px;right:6px;padding:3px 6px;font:400 11px/1 var(--font-cartoon);color:#fff;background:linear-gradient(180deg,var(--red-1),var(--red-2));border:1.5px solid var(--ink);border-radius:8px;white-space:nowrap}.home-dock{grid-area:dock;display:flex;gap:10px;align-self:end}.dock-btn{display:grid;justify-items:center;align-content:center;gap:2px;width:104px;min-height:92px;padding:8px 4px 6px;color:#f6eedb;background:var(--noise),linear-gradient(180deg,#4a4440 0%,var(--teal-2) 70%,#141110 100%);border:2px solid var(--ink);border-radius:14px;box-shadow:inset 0 2px #ffffff45,inset 0 -6px #00000045,0 4px 0 var(--ink);cursor:pointer}.dock-btn .ico-svg{width:46px;height:46px;filter:drop-shadow(0 2px 0 #000)}.dock-btn span{font:400 14px/1.05 var(--font-cartoon);text-align:center;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill}.dock-btn:active{transform:translateY(2px)}.home-cta{grid-area:cta;display:grid;justify-items:end;align-self:end;gap:8px}.cta-stage{padding:4px 12px;font:400 14px/1.1 var(--font-cartoon);color:#fff3d0;background:#000000a8;border:2px solid var(--ink);border-radius:8px;text-shadow:0 1px 0 #000}.menu .btn.play-cta{min-width:230px;min-height:84px;padding:0 34px;font:400 34px/1 var(--font-cartoon);letter-spacing:.04em;border-width:3px;border-radius:16px;box-shadow:inset 0 3px #ffffff90,inset 0 -7px #4a050380,0 6px 0 var(--ink),0 0 30px #e3352b55;animation:cta-pulse 2.2s ease-in-out infinite}@keyframes cta-pulse{50%{filter:brightness(1.12)}}.menu .btn.continue-btn{font:400 15px/1 var(--font-cartoon);min-height:44px;max-width:min(420px,90vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-panel{position:relative;justify-self:center;align-self:start;width:min(720px,100%);margin:26px 0 12px;padding:42px 22px 22px;display:grid;gap:12px;background:var(--noise),linear-gradient(180deg,#2a2522,#1b1715 60%,#110f0d);border:3px solid var(--ink);border-radius:16px;box-shadow:inset 0 0 0 2px #5c0a08,inset 0 4px 0 2px #fff2,0 8px 0 var(--ink),0 20px 40px #000c}.menu-panel>.menu-h:first-child,.screen-title{position:absolute;top:-24px;left:50%;transform:translate(-50%);margin:0;padding:10px 40px 12px;white-space:nowrap;font:400 26px/1 var(--font-cartoon);letter-spacing:.04em;text-transform:uppercase;color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2));border:3px solid var(--ink);border-radius:10px;box-shadow:inset 0 2px #ffffff80,0 4px 0 var(--ink)}.screen-title{position:static;transform:none;justify-self:center}.menu .menu-h{font-family:var(--font-cartoon);font-weight:400}.menu .menu-sub{margin:8px 0 0;font:400 18px/1 var(--font-cartoon);letter-spacing:.04em;color:var(--yellow-1);text-shadow:0 2px 0 var(--ink)}.menu .menu-note,.menu .menu-help li{color:#e6dcc4}.menu .menu-panel .btn{font-family:var(--font-cartoon);font-weight:400;letter-spacing:.04em}.menu .menu-card{color:var(--brown);background:var(--noise),linear-gradient(180deg,var(--parch-1),var(--parch-2));border:2px solid var(--ink);border-left:2px solid var(--ink);border-radius:12px;box-shadow:inset 0 0 0 2px #9c8e7080,0 4px 0 var(--ink);min-height:72px}.menu .menu-card strong{font:400 19px/1.05 var(--font-cartoon);color:#2a1b0a}.menu .menu-card:hover{filter:brightness(1.06)}.menu .menu-card:active{transform:translateY(2px)}.lobby-seats li{background:#00000040;border:1.5px solid #00000080;border-radius:8px}.lobby-seats li.is-me{background:#e3352b30;border-color:var(--amber)}.menu-input,.lobby-row select{background:#120f0e;border:2px solid var(--ink);border-radius:8px;color:var(--text);box-shadow:inset 0 2px 4px #000}.pass-table{background:#0003;border-radius:10px}.pass-table tr.is-reached td{color:var(--yellow-1)}.xp-bar span{background:linear-gradient(180deg,#ff6a55,#9e100d)}.menu-shell[data-screen=campaign] .menu-main,.menu-shell[data-screen=level] .menu-main{align-content:start;justify-items:center;gap:10px}.camp-sub{margin:0;justify-self:center;padding:4px 14px;background:#000000a0;border:2px solid var(--ink);border-radius:8px}.menu .tutorial-card{justify-self:center;display:inline-flex;align-items:center;gap:8px;min-height:44px;font:400 16px/1 var(--font-cartoon)}.tutorial-card .ico-svg{width:26px;height:26px}.camp-map{position:relative;width:min(1180px,100%);aspect-ratio:16 / 8.4;max-height:calc(100vh - 210px);min-height:360px;margin:4px 0 10px;background:var(--noise),radial-gradient(ellipse at 22% 30%,#5a1a1440 0 18%,transparent 30%),radial-gradient(ellipse at 70% 65%,#4a3f2a77 0 20%,transparent 34%),radial-gradient(ellipse at 82% 22%,#2d4a4a88 0 12%,transparent 22%),repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 44px),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px 44px),linear-gradient(160deg,#2e2925,#1f1b19,#2a1c17);border:3px solid var(--ink);border-radius:18px;box-shadow:inset 0 0 0 3px var(--bronze),inset 0 0 60px #000000c0,0 8px 0 var(--ink),0 20px 40px #000c}.camp-deco{position:absolute;inset:0;width:100%;height:100%;border-radius:16px}.camp-road{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.camp-road path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.road-bed{stroke:#1a140c;stroke-width:18}.road-dash{stroke:#6e5a3a;stroke-width:11}.road-done{stroke:#e3352b;stroke-width:4;stroke-dasharray:2 10}.map-node{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:1px;padding:0;background:none;border:0;color:#fff;cursor:pointer;z-index:1}.node-disc{display:grid;place-items:center;width:52px;height:52px;background:radial-gradient(circle at 35% 30%,#6b625c,var(--teal-2) 70%);border:3px solid var(--ink);border-radius:50%;box-shadow:inset 0 0 0 2px #ffffff40,0 4px 0 var(--ink),0 0 0 4px #00000040;font:400 24px/1 var(--font-cartoon);-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;transition:transform .12s}.map-node:not(:disabled):hover .node-disc{transform:scale(1.1)}.map-node.is-nests .node-disc{background:radial-gradient(circle at 35% 30%,#ff6a55,var(--red-2) 70%)}.map-node.is-rescue .node-disc{background:radial-gradient(circle at 35% 30%,#fff6e2,#a8987a 70%)}.map-node.is-done .node-disc{box-shadow:inset 0 0 0 2px #ffffff40,0 4px 0 var(--ink),0 0 0 4px var(--amber)}.map-node.is-current .node-disc{animation:node-pulse 1.6s ease-in-out infinite}@keyframes node-pulse{50%{box-shadow:inset 0 0 0 2px #ffffff60,0 4px 0 var(--ink),0 0 0 8px #e3352b80}}.map-node.is-locked{cursor:default}.map-node.is-locked .node-disc{background:radial-gradient(circle at 35% 30%,#7a7a70,#3a3a34 70%);color:#cfcfc4}.node-stars{font:400 14px/1 var(--font-cartoon);color:#f1e9d6;-webkit-text-stroke:2.5px var(--ink);paint-order:stroke fill;letter-spacing:1px}.node-name{max-width:120px;padding:2px 7px;font:400 12px/1.1 var(--font-cartoon);color:#fff3d6;background:#000000b8;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-pin{position:absolute;top:-40px;animation:pin-bob 1.2s ease-in-out infinite alternate}.node-pin .ico-svg{width:34px;height:34px;filter:drop-shadow(0 3px 0 #000)}@keyframes pin-bob{to{transform:translateY(-6px)}}.menu-modal{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:40px 14px 14px;background:#000000a8;overflow:auto}.parchment{position:relative;width:min(560px,100%);padding:46px 22px 20px;display:grid;gap:10px;color:var(--brown);background:var(--noise),radial-gradient(ellipse at 50% 0%,#fffaf0 0%,var(--parch-1) 40%,var(--parch-2) 100%);border:3px solid var(--ink);border-radius:14px;box-shadow:inset 0 0 0 3px #9c8e70,inset 0 0 40px #5a4a3055,0 8px 0 var(--ink),0 18px 40px #000c}.parchment .ribbon{position:absolute;top:-24px;left:50%;transform:translate(-50%);max-width:88%;margin:0;padding:10px 26px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:400 22px/1 var(--font-cartoon);color:#f6eedb;background:linear-gradient(180deg,#4a4440,var(--teal-2));border:3px solid var(--ink);border-radius:10px;box-shadow:inset 0 2px #ffffff40,0 4px 0 var(--ink);text-shadow:0 2px 0 var(--ink)}.parchment .menu-note,.parchment p{color:#3d3226}.parchment .menu-story{font-style:italic;color:#2a211a}.parchment .menu-sub{color:#8e0f0c;text-shadow:none}.parchment .btn.primary{min-height:56px;font:400 24px/1 var(--font-cartoon)}.parchment .lobby-seats li{background:#00000014;border-color:#00000030}@media(max-width:720px){.home{grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"logo logo" "left right" ". ." "cta cta" "dock dock";min-height:calc(100vh - 100px)}.home-rail{flex-direction:row;flex-wrap:wrap;gap:4px}.home-right{justify-content:flex-end}.rail-btn{width:74px;min-height:70px}.rail-btn .ico-svg{width:42px;height:42px}.rail-lbl{font-size:12px}.home-cta{justify-items:center}.menu .btn.play-cta{width:100%;min-height:72px;font-size:30px}.home-dock{justify-content:space-between}.dock-btn{flex:1;width:auto;min-height:86px}.menu-wallet .coin:nth-child(3){display:none}.coin{padding-right:9px;font-size:14px}.menu .menu-profile{padding-right:10px}.who span{display:none}.camp-map{aspect-ratio:3 / 4.4;max-height:none}.node-name{display:none}.node-disc{width:46px;height:46px;font-size:21px}.menu-panel{padding:40px 14px 16px}.menu-panel>.menu-h:first-child{font-size:21px;padding:9px 22px 11px;max-width:92%;overflow:hidden;text-overflow:ellipsis}}@media(max-height:520px)and (orientation:landscape){.home{min-height:calc(100vh - 90px);gap:6px}.menu .lobby-title{font-size:54px}.rail-btn{min-height:60px}.rail-btn .ico-svg{width:38px;height:38px}.home-rail{gap:4px}.dock-btn{min-height:74px;width:92px}.menu .btn.play-cta{min-height:64px;font-size:28px}.camp-map{max-height:calc(100vh - 150px);min-height:240px}.node-name{display:none}}.menu .menu-panel .btn:not(.primary):not(.danger):not([aria-pressed=true]){color:#fbf6e4;background:linear-gradient(180deg,var(--teal-1) 0%,var(--teal-2) 100%);border:2px solid var(--ink)}.menu .menu-panel .btn[aria-pressed=true]{color:#fff3e6;background:linear-gradient(180deg,var(--yellow-1),var(--yellow-2))}.btn.primary,.menu .btn.play-cta,.dock-btn,.screen-title,.menu-panel>.menu-h:first-child,.parchment .ribbon,.result-title,.node-disc,.icon-btn{background-image:var(--cracks),var(--bg-grad, none)}.btn.primary,.menu .btn.play-cta,.screen-title,.menu-panel>.menu-h:first-child,.parchment .ribbon,.result-title,.rail-lbl,.dock-btn span,.node-disc b,.who strong,.menu .menu-sub,.bld-name,.build-status strong{text-transform:uppercase}.screen-title,.menu-panel>.menu-h:first-child,.parchment .ribbon,.result-title,.menu .btn.play-cta{-webkit-mask-image:var(--grit);mask-image:var(--grit)}.btn.primary,.btn.toggle[aria-pressed=true]{--bg-grad: linear-gradient(180deg, #f0473a 0%, #c81e17 50%, #9a110d 100%)}.menu .btn.play-cta{--bg-grad: linear-gradient(180deg, #f0473a 0%, #c81e17 50%, #9a110d 100%);letter-spacing:.06em;font-size:40px;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink)}.screen-title,.menu-panel>.menu-h:first-child,.parchment .ribbon{--bg-grad: linear-gradient(180deg, #e3352b, #8e0f0c);color:#f6eedb;text-shadow:0 2px 0 var(--ink);letter-spacing:.06em}.result-title{--bg-grad: linear-gradient(180deg, #4a4440, #1b1715)}.result[data-outcome=victory] .result-title{--bg-grad: linear-gradient(180deg, #fffaf0, #cdbf9f);color:#1a1412;text-shadow:none}.result[data-outcome=defeat] .result-title{--bg-grad: linear-gradient(180deg, #e3352b, #8e0f0c)}.dock-btn{--bg-grad: linear-gradient(180deg, #3d3734 0%, #211d1b 70%, #141110 100%);box-shadow:inset 0 0 0 2px #5c0a08,inset 0 2px 0 2px #ffffff20,inset 0 -6px #00000060,0 4px 0 var(--ink)}.icon-btn{--bg-grad: linear-gradient(180deg, #3d3734, #1b1715);box-shadow:inset 0 0 0 2px #5c0a08,inset 0 2px 0 2px #ffffff20,0 3px 0 var(--ink)}.close-x{--bg-grad: linear-gradient(180deg, #e3352b, #8e0f0c)}.node-disc{--bg-grad: radial-gradient(circle at 35% 30%, #6b625c, #211d1b 70%)}.map-node.is-nests .node-disc{--bg-grad: radial-gradient(circle at 35% 30%, #ff6a55, #8e0f0c 70%)}.map-node.is-rescue .node-disc{--bg-grad: radial-gradient(circle at 35% 30%, #fffaf0, #a8987a 70%)}.map-node.is-locked .node-disc{--bg-grad: radial-gradient(circle at 35% 30%, #4a4440, #1b1715 70%);color:#8e857c}.map-node.is-current .node-disc{box-shadow:inset 0 0 0 2px #ffffff40,0 4px 0 var(--ink),0 0 0 5px #e3352b}.map-node.is-done .node-disc{box-shadow:inset 0 0 0 2px #ffffff40,0 4px 0 var(--ink),0 0 0 4px #f1e9d6}.node-stars{color:#f1e9d6}.coin .ico-svg,.rail-btn .ico-svg,.dock-btn .ico-svg{filter:drop-shadow(0 3px 0 #000) drop-shadow(0 0 1px #000) saturate(.85)}.menu-logo{display:block;width:min(560px,82vw);height:auto;margin:0 auto;filter:drop-shadow(0 10px 18px #000) drop-shadow(0 0 40px #8e0f0c55)}.menu .lobby-title{transform:none;-webkit-text-stroke:0;text-shadow:none;font-size:0}.menu .menu-tag{margin-top:4px;color:#f6eedb;background-image:var(--cracks),linear-gradient(180deg,#e3352b,#8e0f0c);font-family:var(--font-cartoon);letter-spacing:.22em;transform:rotate(-1.5deg)}.brand-name{color:#f1e9d6;text-transform:uppercase;text-shadow:0 2px 0 var(--ink),2px 0 0 #8e0f0c}.camp-map{box-shadow:inset 0 0 0 3px #5c0a08,inset 0 0 70px #000000d0,0 8px 0 var(--ink),0 20px 40px #000c}.road-dash{stroke:#5a4c40}.match-timer,.objective,.paused-banner,.toast{box-shadow:inset 0 0 0 1px #8e0f0c,0 3px 0 var(--ink)}@media(max-height:520px)and (orientation:landscape){.menu-logo{width:min(300px,40vw)}}@media(max-width:720px){.menu .btn.play-cta{font-size:34px}}@media(max-width:720px){.menu-logo{width:min(300px,74vw)}.home{gap:8px}}#hud>.hint{pointer-events:none}.unit-portrait{float:left;width:96px;height:96px;margin:0 12px 6px 0;border:2px solid var(--ink);border-radius:10px;box-shadow:inset 0 0 0 1px #8e0f0c,0 3px 0 var(--ink),0 0 16px #e3352b40;object-fit:cover}@media(max-width:720px),(max-height:520px)and (orientation:landscape){.unit-portrait{width:56px;height:56px;margin-right:8px}}.build-btn[hidden]{display:none}.ui-ico{width:22px;height:22px;object-fit:contain;flex:none;filter:drop-shadow(0 1px 0 #000)}.build-tabs{display:flex;gap:4px;margin:0 0 6px;overflow-x:auto;scrollbar-width:none}.build-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:1 0 auto;min-height:34px;padding:4px 10px;font:400 13px/1 var(--font-cartoon);letter-spacing:.06em;text-transform:uppercase;color:var(--bronze-hi);background:linear-gradient(180deg,#2a2624,#161312);border:2px solid var(--ink);border-radius:7px 7px 3px 3px;box-shadow:inset 0 1px #ffffff14,0 2px 0 var(--ink);cursor:pointer}.build-tab:hover{color:var(--yellow-1)}.build-tab[aria-selected=true]{color:#fff3e6;background:linear-gradient(180deg,#8f1d17,#4a0d0a);box-shadow:inset 0 0 0 1px #f1e9d640,0 0 10px #e3352b55,0 2px 0 var(--ink)}.build-thumb{object-fit:contain;filter:drop-shadow(0 3px 2px #000a)}@media(min-width:1101px)and (min-height:621px){.build-buttons{grid-template-columns:repeat(5,1fr)}.build-btn{grid-template-rows:1fr auto auto;min-height:0;padding:4px 3px 5px}.build-btn .build-name{display:block}.build-thumb{width:100%;max-width:82px;max-height:70px}}@media(pointer:coarse),(max-width:1100px){.build-tab{min-height:44px;min-width:44px}}.res .ui-ico{width:24px;height:24px}.cost-part .ui-ico{width:16px;height:16px}:root{--ui-frame: url(../ui/frame-panel.webp);--ui-slot: url(../ui/frame-slot.webp);--ui-steel: url(../ui/btn-steel.webp);--ui-red: url(../ui/btn-red.webp)}#hud :is(.panel,.build-bar,.minimap,.hud-bar){border:14px solid transparent;border-image:var(--ui-frame) 50 fill / 14px / 2px stretch;background:none;box-shadow:0 10px 22px #000000b0;border-radius:0}#hud .hud-bar{border-width:10px;border-image-width:10px}#hud .build-btn{border:8px solid transparent;border-image:var(--ui-slot) 46 fill / 8px stretch;background:none;box-shadow:none;border-radius:0}#hud .build-btn:hover{filter:brightness(1.15)}#hud .build-btn[aria-pressed=true]{border-image:var(--ui-frame) 50 fill / 8px stretch;box-shadow:0 0 0 2px var(--amber),0 0 14px #e3352b90}#hud .build-tab{border:6px solid transparent;border-image:var(--ui-steel) 40 60 fill / 6px 10px stretch;background:none;box-shadow:none;border-radius:0}#hud .build-tab[aria-selected=true]{border-image:var(--ui-red) 34 60 fill / 6px 10px stretch;box-shadow:0 0 12px #e3352b66}#hud :is(.hud-bar,.build-bar,.panel,.time-controls) .btn:not(.icon):not(.small):not(.stepper){border:6px solid transparent;border-image:var(--ui-steel) 40 60 fill / 6px 10px stretch;background:none;box-shadow:none;border-radius:0}#hud :is(.hud-bar,.build-bar,.panel,.time-controls) :is(.btn.primary,.btn.toggle[aria-pressed=true],.btn.danger):not(.icon):not(.small):not(.stepper){border-image:var(--ui-red) 34 60 fill / 6px 10px stretch}#hud .build-btn{border-image:var(--ui-slot) 46 / 8px stretch;background:radial-gradient(ellipse at 50% 42%,#5a4a3a,#2a2220 55%,#141110);background-clip:padding-box}#hud .build-btn[aria-pressed=true]{border-image:var(--ui-slot) 46 / 8px stretch;background:radial-gradient(ellipse at 50% 42%,#b0281f,#4a0d0a 70%);background-clip:padding-box}.build-thumb{filter:brightness(1.3) saturate(1.1) drop-shadow(0 3px 2px #000a)}.build-btn.is-unaffordable .build-thumb{filter:grayscale(.6) brightness(.8)}@media(min-width:1101px)and (min-height:621px){.build-thumb{max-width:96px;max-height:80px}}@media(max-width:720px),(max-height:520px)and (orientation:landscape){.build-tab-label{display:none}.build-tabs{display:grid;grid-template-columns:repeat(2,44px);gap:3px;margin:0;flex:none}.build-tab{padding:0;min-width:44px;min-height:44px}.build-tab .ui-ico{width:26px;height:26px}}@media(max-width:720px)and (orientation:portrait){.build-tabs{grid-template-columns:repeat(4,44px)}}@media(max-width:720px),(max-height:520px)and (orientation:landscape){#hud :is(.panel,.build-bar,.minimap,.hud-bar){border-width:7px;border-image-width:7px}#hud .build-btn{border-width:5px;border-image-width:5px}}@media(max-height:520px)and (orientation:landscape){.build-tabs{grid-template-columns:repeat(4,44px)}}@media(min-width:1380px)and (min-height:621px){#hud{--build-w: 580px}}@media(min-width:1101px)and (min-height:621px){#hud .build-btn{border-width:6px;border-image-width:6px;padding:2px 2px 4px}#hud .build-btn{grid-template-rows:72px auto auto;align-items:end}#hud .build-thumb{max-width:100%;max-height:72px}#hud .build-name{font-size:11.5px}}
