@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(./barlow-vietnamese-400-normal-BFeobeCK.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;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(./barlow-latin-ext-400-normal-CvBsJvxq.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;font-style:normal;font-display:swap;font-weight:400;src:url(./barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(./barlow-latin-400-normal-fsAxiSwU.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;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(./barlow-vietnamese-500-normal-GNfB7rCE.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;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(./barlow-latin-ext-500-normal-CJPcKP2Q.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;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(./barlow-latin-500-normal-C1h8hMer.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;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(./barlow-vietnamese-600-normal-CA_GiK2e.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;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(./barlow-latin-ext-600-normal-DMVRjfRT.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;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(./barlow-latin-600-normal-CNwfPWQD.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: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}:root{--bg: #0d1013;--panel: rgba(13, 16, 19, .86);--panel-solid: #141a1f;--panel-hi: rgba(255, 255, 255, .045);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .18);--text: #e9e4d6;--muted: #8d938c;--dim: #5b615c;--accent: #f0b03f;--accent-soft: rgba(240, 176, 63, .14);--ok: #7fc96a;--info: #6fb6db;--warn: #f08a3c;--danger: #e8513a;--night: #9fb4e0;--sq0: #5aa9ff;--sq1: #ffc94f;--sq2: #8cdc6b;--sq3: #ff8ce6;--chamfer: 9px;--display: "Barlow Condensed", "Arial Narrow", sans-serif;font-family:Barlow,system-ui,sans-serif;font-size:13px;line-height:1.3;color:var(--text);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg)}canvas.game{position:fixed;inset:0;width:100vw;height:100vh;image-rendering:pixelated;display:block}#root{position:fixed;inset:0;pointer-events:none;-webkit-user-select:none;user-select:none}svg{flex:none}kbd{font-family:var(--display);font-weight:600;font-size:10px;line-height:1;padding:2px 4px;min-width:15px;text-align:center;color:var(--muted);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:2px;background:#00000059}b{font-weight:600}.panel{position:absolute;background:linear-gradient(180deg,#ffffff09,#fff0 40px),var(--panel);border:1px solid var(--line);border-top-color:var(--line-strong);padding:8px 10px;pointer-events:auto;clip-path:polygon(0 0,calc(100% - var(--chamfer)) 0,100% var(--chamfer),100% 100%,var(--chamfer) 100%,0 calc(100% - var(--chamfer)));box-shadow:0 6px 24px #00000059}.phead{display:flex;align-items:center;gap:6px;color:var(--muted);font-family:var(--display);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;padding-bottom:6px;margin-bottom:4px;border-bottom:1px solid var(--line)}.phead b{color:var(--text);font-weight:600}.phead svg{color:var(--accent)}.phead-extra{margin-left:auto;display:flex;gap:10px;align-items:center;text-transform:none;letter-spacing:.02em;font-size:13px}.phead-extra svg{color:inherit}.boot{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display);font-size:20px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between;flex-wrap:nowrap}.muted{color:var(--muted)}.warn,.paused{color:var(--warn)}.danger{color:var(--danger)}.stat{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.stat svg{opacity:.75}.hint{margin-top:6px;font-size:12px}.meter{position:relative;height:6px;flex:1;background:#ffffff14;overflow:hidden}.meter.thin{height:4px}.meter>div{height:100%;background:var(--ok);transition:width .25s ease-out}.meter.mid>div{background:#d8b23a}.meter.low>div{background:var(--danger)}.meter.m-ammo>div{background:#c9c2a8}.meter.m-ammo.low>div{background:var(--warn)}.meter.m-wave>div{background:var(--accent)}.meter.m-post{margin-top:4px}.meter.m-district>div{background:var(--ok)}.meter.m-district.contested>div{background:#d8b23a}.meter.m-district.lost>div{background:var(--danger)}.topbar{top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;white-space:nowrap;padding:5px 14px;font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:.03em;--chamfer: 7px}.topbar .brand{font-weight:700;font-size:15px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}.topbar .sep{width:1px;height:18px;background:var(--line-strong)}.chip{display:inline-flex;align-items:center;gap:5px}.chip svg{color:var(--muted)}.chip.danger svg,.chip.danger{color:#f17a62}.chip.warn,.chip.warn svg{color:var(--warn)}.chip.night,.chip.night svg{color:var(--night)}.chip.day svg{color:var(--accent)}.speed{display:inline-flex;border:1px solid var(--line-strong)}.speed button{font:inherit;font-size:12px;color:var(--muted);background:transparent;border:0;border-left:1px solid var(--line);padding:2px 7px;display:inline-flex;align-items:center;cursor:pointer}.speed button:first-child{border-left:0}.speed button:hover{color:var(--text);background:var(--panel-hi)}.speed button.on{color:#16120a;background:var(--accent)}.topbar .band{display:inline-flex;align-items:center;gap:5px;color:var(--info);text-transform:uppercase;font-size:13px;letter-spacing:.12em}.topbar .helpkey{font-size:12px}.leftcol{position:absolute;top:54px;left:8px;width:286px;display:flex;flex-direction:column;gap:6px;max-height:calc(100% - 230px);overflow-y:auto;pointer-events:auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.leftcol .panel{position:static;width:auto}.obj{display:flex;gap:7px;margin-top:6px;line-height:1.35}.obj .check{padding-top:1px;color:var(--dim)}.obj .box-icon{display:block;width:12px;height:12px;margin:1px;border:1.5px solid currentColor}.obj.active .check{color:var(--accent)}.obj.done{color:var(--muted)}.obj.done>div:first-of-type{text-decoration:line-through;text-decoration-color:#ffffff40}.obj.done .check{color:var(--ok)}.obj.muted .check{color:var(--dim)}.obj .wave{display:flex;align-items:center;gap:4px;font-size:12px;margin-top:2px}.obj .wave.warn{animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{0%{opacity:.55}}.mrow{display:flex;margin-top:6px;font-size:12px;color:var(--muted)}.mrow b{color:var(--text)}.pips{display:flex;gap:2px;align-items:center;margin:5px 0 4px}.pips>span:not(.pips-label){width:7px;height:9px;background:var(--ok);clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%)}.pips .hurt{background:#d8b23a!important}.pips .bitten{background:var(--warn)!important;animation:pulse .6s ease-in-out infinite alternate}.pips .panic{background:#e0e0ff!important;animation:pulse .25s ease-in-out infinite alternate}.pips .gone{background:#ffffff1f!important}.pips-label{margin-left:6px;font-size:11px;color:var(--muted)}.pips.waves>span{width:14px;height:4px;clip-path:none;background:#ffffff1f}.pips.waves .done{background:var(--ok)}.pips.waves .now{background:var(--danger)}.squad{position:relative;display:flex;gap:8px;margin-top:5px;padding:6px 7px 6px 0;border:1px solid transparent;background:#ffffff06;cursor:pointer;transition:background .12s,border-color .12s}.squad:hover{background:var(--panel-hi);border-color:var(--line)}.squad.sel{border-color:var(--accent);background:var(--accent-soft)}.squad.dead{opacity:.38}.squad .hotkey{width:22px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:15px;color:#0d1013;background:var(--sq, var(--muted));margin:-6px 0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.squad.vehicle .hotkey{background:#ffffff1f;color:var(--text)}.c0{--sq: var(--sq0)}.c1{--sq: var(--sq1)}.c2{--sq: var(--sq2)}.c3{--sq: var(--sq3)}.squad-body{flex:1;min-width:0}.squad .name{font-family:var(--display);font-weight:600;font-size:16px;letter-spacing:.04em;text-transform:uppercase}.badges{display:flex;gap:4px}.badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:1px 5px;color:var(--muted);background:#ffffff0f;white-space:nowrap}.badge.order-move,.badge.vs-moving{color:var(--info)}.badge.vs-blocked{color:var(--warn)}.badge.vs-destroyed{color:var(--danger)}.bars{display:grid;grid-template-columns:12px 1fr 30px 12px 1fr 34px;align-items:center;gap:4px;color:var(--muted)}.squad.vehicle .bars{grid-template-columns:12px 1fr 30px;margin-top:4px}.bars.morale{grid-template-columns:12px 1fr auto auto;margin-top:3px}.meter.m-morale>div{background:#7fa7c9}.morale-tag{display:inline-flex;align-items:center;gap:2px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.morale-tag.shaken{color:var(--warn)}.morale-tag.panic{color:var(--danger);animation:pulse .4s ease-in-out infinite alternate}.morale-tag.cover{color:var(--accent)}.squad .name .kind{display:inline-flex;align-items:center;gap:3px;margin-left:6px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);vertical-align:middle}.bars .num{font-size:11px;text-align:right;color:var(--text)}.row.cargo{margin-top:3px;font-size:12px;color:var(--muted)}.district{margin-top:6px}.district .meter{margin-top:3px}.dstate{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.dstate.held{color:var(--ok)}.dstate.contested{color:#d8b23a}.dstate.lost{color:var(--danger)}.dot{display:inline-block;width:8px;height:8px;margin-right:4px;transform:rotate(45deg)}.dot.held{background:var(--ok)}.dot.contested{background:#d8b23a}.dot.lost{background:var(--danger)}.alerts{position:absolute;top:54px;right:8px;width:310px;display:flex;flex-direction:column;gap:4px;pointer-events:none}.alert{position:relative;display:flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;--chamfer: 6px;border-left:3px solid var(--tone);animation:alert-in .25s ease-out;--tone: var(--info)}.alert.jump{cursor:pointer}.alert.jump:hover{background:#1e242ae6}.alert svg{color:var(--tone)}.alert-text{flex:1;min-width:0}.alert-time{font-size:11px;color:var(--dim)}.t-ok{--tone: var(--ok)}.t-warn{--tone: var(--warn)}.t-danger{--tone: var(--danger)}.t-danger .alert-text{color:#f6c4b8}@keyframes alert-in{0%{opacity:0;transform:translate(16px)}}.bottomcol{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 250px);display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:flex-end;gap:6px;pointer-events:none}.bottomcol .panel{position:static;max-width:none}.selection{border-left:3px solid var(--sq, var(--line-strong))}.selection.empty{display:flex;align-items:center;gap:8px;color:var(--muted);border-left-color:var(--line)}.sel-head{display:flex;align-items:center;gap:14px;margin-bottom:7px}.sel-head b{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sel-stats{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cmds{display:flex;gap:5px;flex-wrap:wrap;align-items:stretch}.cmd-sep{width:1px;margin:4px 3px;background:var(--line)}button{font:inherit;color:var(--text)}.cmd{position:relative;width:82px;min-height:60px;padding:16px 4px 5px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;background:#ffffff0a;border:1px solid var(--line);cursor:pointer;font-size:11px;line-height:1.15;text-align:center;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%);transition:background .12s,border-color .12s,color .12s}.cmd svg{color:var(--muted)}.cmd kbd{position:absolute;top:3px;left:3px;font-size:9px;padding:1px 3px;min-width:0}.cmd:hover:not(:disabled){background:#ffffff14;border-color:var(--line-strong)}.cmd:hover:not(:disabled) svg{color:var(--text)}.cmd.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.cmd.on svg{color:var(--accent)}.cmd.primary{border-color:#6fb6db80}.cmd.primary svg{color:var(--info)}.cmd:disabled{opacity:.38;cursor:default}.cmd .cost{position:absolute;top:3px;right:8px;display:inline-flex;align-items:center;gap:2px;font-size:10px;color:var(--muted)}.cmd-row{display:flex;gap:5px;flex-wrap:wrap;align-items:center;margin-top:5px}.cmd-label{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--muted);margin-right:4px}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#ffffff0a;border:1px solid var(--line);cursor:pointer;font-size:12px}.pill:hover:not(:disabled){border-color:var(--line-strong);background:#ffffff14}.pill.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.pill.go{border-color:#6fb6db73}.pill:disabled{opacity:.38;cursor:default}.vehicle-panel{border-left-color:var(--info)}.help{bottom:8px;right:230px;max-width:440px}.help pre{margin:4px 0 0;white-space:pre-wrap;font:inherit;font-size:12px;line-height:1.5;color:var(--muted)}.face-arrow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.face-arrow line{stroke:var(--accent);stroke-width:3}.face-arrow circle,.face-arrow polygon{fill:var(--accent)}.box{position:absolute;border:1px solid var(--accent);background:#f0b03f14;box-shadow:0 0 0 1px #0006}.crosshair{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);line-height:0;filter:drop-shadow(0 0 2px rgba(0,0,0,.9))}.direct{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:flex-end;gap:18px;font-family:var(--display)}.direct .panel{position:static;display:flex;align-items:center;gap:10px;padding:8px 16px}.direct-hp{width:230px}.direct-hp svg{color:var(--danger)}.direct .big{font-size:38px;font-weight:700;line-height:1}.direct .reserve{font-size:18px;color:var(--muted)}.direct-ammo svg{color:var(--muted)}.direct-hint{padding-bottom:12px;font-size:14px;letter-spacing:.06em}.summary{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#080a0c73,#080a0cd9);pointer-events:auto;animation:fade-in .5s ease-out}.summary .card{position:static;min-width:440px;padding:22px 28px;border-top:3px solid var(--danger)}.summary .card.won{border-top-color:var(--ok)}.summary-kicker{font-family:var(--display);font-size:12px;text-transform:uppercase;letter-spacing:.3em;color:var(--muted)}.summary h1{margin:2px 0 6px;font-family:var(--display);font-size:44px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase}.summary h1.won{color:var(--ok)}.summary h1.lost{color:var(--danger)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 8px}.summary-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;padding:8px 10px;background:#ffffff0a}.summary-stat svg{grid-row:span 2;align-self:center;color:var(--muted)}.summary-stat .label{font-size:11px;color:var(--muted)}.summary-stat .value{font-family:var(--display);font-size:22px;font-weight:600}@keyframes fade-in{0%{opacity:0}}.hud{position:fixed;left:0;top:0;width:calc(100vw / var(--ui, 1));height:calc(100vh / var(--ui, 1));transform:scale(var(--ui, 1));transform-origin:0 0;pointer-events:none}.menu button,.card button,.tutorial button{display:inline-flex;align-items:center;gap:8px;color:var(--text);background:#ffffff0a;border:1px solid var(--line);padding:6px 14px;cursor:pointer;transition:background .12s,border-color .12s,padding .12s,color .12s}.menu button:hover,.card button:hover,.tutorial button:hover{border-color:var(--line-strong);background:#ffffff17}.menu button svg,.card button svg,.tutorial button svg{color:var(--muted)}button.primary{border-color:var(--accent)!important;color:#fff;background:linear-gradient(90deg,#f0b03f47,#f0b03f1a)!important}button.primary svg{color:var(--accent)!important}button.danger:hover{border-color:var(--danger)!important;color:#f6c4b8}button.big{padding:9px 22px!important;font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.menu-screen{position:fixed;inset:0;pointer-events:auto;background:linear-gradient(90deg,#06080aeb,#06080a8c 38%,#06080a00 68%),linear-gradient(0deg,#06080ab3,#06080a00 30%);display:flex;flex-direction:column;justify-content:center;padding-left:8vw;gap:34px;animation:fade-in .8s ease-out}.menu-kicker{display:flex;align-items:center;gap:12px;font-family:var(--display);font-size:15px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}.hazard{width:44px;height:8px;background:repeating-linear-gradient(-45deg,var(--accent) 0 6px,transparent 6px 12px)}.menu-title h1{margin:4px 0 0;font-family:var(--display);font-size:clamp(64px,10vw,132px);font-weight:700;line-height:.9;letter-spacing:.08em;text-transform:uppercase;color:var(--text);text-shadow:0 4px 30px rgba(0,0,0,.7)}.menu{position:static;display:flex;flex-direction:column;gap:6px;width:340px;padding:14px}.menu h2,.card h2{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.card h2 svg{color:var(--accent)}.menu button{width:100%;padding:10px 14px;font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)}.menu button:hover{padding-left:20px;color:#fff}.menu button:hover svg{color:var(--accent)}.menu button .muted{text-transform:none;letter-spacing:.02em;font-family:Barlow,sans-serif;font-size:12px;font-weight:400}.menu .city{margin-top:8px;padding-top:10px;border-top:1px solid var(--line);justify-content:space-between}.menu .city button{width:auto;padding:3px 9px;font-family:Barlow,sans-serif;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.menu .city button:hover{padding-left:9px}.menu .hint{margin-top:6px;font-size:12px}.menu-version{position:absolute;bottom:14px;left:8vw;font-size:11px;letter-spacing:.05em}.modal{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#080a0c66,#080a0cc7);pointer-events:auto;animation:fade-in .2s ease-out}.modal>.panel{animation:rise-in .25s ease-out}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.card{position:static;padding:20px 24px;--chamfer: 14px}.briefing{max-width:660px;line-height:1.6;font-size:14px;border-top:3px solid var(--accent)}.briefing h1{margin:2px 0 12px;font-family:var(--display);font-size:38px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase}.briefing .tips{border-top:1px solid var(--line);padding-top:12px;font-size:12.5px}.difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.diff{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;text-align:left;border:1px solid var(--line);background:#ffffff08}.diff.on{border-color:var(--accent);background:var(--accent-soft)}.diff-name{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.diff.on .diff-name{color:var(--accent)}.diff-desc{font-size:11.5px;line-height:1.35;color:var(--muted)}.briefing>.row.between{margin-top:14px;align-items:center}.tut-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--muted)}.tut-toggle input{accent-color:var(--accent)}.tutorial{position:absolute;top:54px;left:50%;transform:translate(-50%);width:min(420px,calc(100% - 660px));min-width:300px;padding:10px 14px 12px;border-left:3px solid var(--accent);pointer-events:auto;animation:tut-in .25s ease-out;z-index:41}.tutorial.done{border-left-color:var(--ok)}.tutorial h3{display:flex;align-items:center;gap:6px;margin:4px 0;font-family:var(--display);font-size:18px;letter-spacing:.04em;text-transform:uppercase}.tutorial.done h3{color:var(--ok)}.tutorial p{margin:0;font-size:13px;line-height:1.5}.tutorial .row.end{margin-top:8px}.tut-kicker{display:inline-flex;align-items:center;gap:5px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.tutorial button{padding:4px 10px;font-size:12.5px}.tutorial button.icon{padding:2px 4px;border-color:transparent;background:none}.tut-ok{font-size:12px;color:var(--ok);text-transform:uppercase;letter-spacing:.1em}@keyframes tut-in{0%{opacity:0;transform:translate(-50%,-6px)}}.row.end{justify-content:flex-end;margin-top:14px}.settings{width:540px}.campaign{width:520px;max-width:calc(100vw - 32px)}.missions{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.mission-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;text-align:left}.mission-row:disabled{opacity:.45;cursor:not-allowed}.mission-n{font-size:20px;font-weight:700;width:22px;color:var(--accent)}.mission-row:disabled .mission-n{color:var(--dim)}.mission-text{display:flex;flex-direction:column;gap:2px;flex:1;font-size:12px}.mission-text b{font-size:14px}.mission-row .ok{color:var(--ok)}.obj-meter{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px}.obj .hint{margin-top:2px;font-size:11px}.settings label{display:grid;grid-template-columns:220px 1fr 64px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.settings select{font:inherit;background:var(--panel-solid);color:var(--text);border:1px solid var(--line-strong);padding:5px 6px}input[type=range]{accent-color:var(--accent)}input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.saves{width:660px;max-height:80vh;display:flex;flex-direction:column}.save-list{overflow-y:auto}.save-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.save-row>div:first-child>div:first-child{font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.toast{top:54px;left:50%;transform:translate(-50%);border-left:3px solid var(--accent);padding:7px 16px;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.minimap{bottom:8px;right:8px;padding:5px;line-height:0}.minimap canvas{width:210px;height:210px;image-rendering:pixelated;cursor:crosshair}@media(max-width:1100px){.topbar{gap:8px;font-size:13px}.topbar .helpkey,.topbar .band{display:none}.alerts{width:240px}.cmd{width:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.tut-spot{position:fixed;inset:0;pointer-events:none;z-index:40}.tut-box{position:fixed;border:2px solid var(--accent);box-shadow:0 0 0 9999px #00000047,0 0 18px #f0b03f8c;animation:tut-glow 1.1s ease-in-out infinite alternate}.tut-box+.tut-box{box-shadow:0 0 18px #f0b03f8c}@keyframes tut-glow{0%{border-color:#f0b03f73}}.tut-mark{position:fixed;width:0;height:0}.tut-ring{position:absolute;left:-26px;top:-26px;width:52px;height:52px;border:2px solid var(--accent);border-radius:50%;animation:tut-ring 1.2s ease-out infinite}@keyframes tut-ring{0%{transform:scale(.45);opacity:1}to{transform:scale(1.3);opacity:0}}.tut-arrow{position:absolute;left:-9px;top:-62px;border:9px solid transparent;border-top:14px solid var(--accent);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6));animation:tut-bob .8s ease-in-out infinite alternate}@keyframes tut-bob{to{transform:translateY(8px)}}.tutorial kbd{display:inline-block;min-width:1.4em;padding:0 5px;margin:0 1px;font:600 11px/1.6 inherit;text-align:center;color:var(--text);background:#ffffff14;border:1px solid var(--line-strong);border-bottom-width:2px}.tutorial .tut-em{color:var(--accent);font-weight:600}
