:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#111c1f;--panel:#111c1ff2;--line:#c7b68c3d;--gold:#dac28b;--paper:#f0eadb;--muted:#aeb9b7;--blue:#89bed5;--red:#e79b8d}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--paper);-webkit-user-select:none;user-select:none;background:#101b1d;font:13px/1.45 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{border:1px solid var(--line);min-height:44px;color:var(--paper);cursor:pointer;touch-action:manipulation;background:#1c2a2d;border-radius:5px;transition:background .15s,border-color .15s}button:hover{border-color:var(--gold);background:#2b3b3d}button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default;opacity:.42}button.active,button[aria-pressed=true]{color:#f5e8c5;border-color:var(--gold);background:#444235}button.primary{background:var(--gold);border-color:var(--gold);color:#182024;font-weight:750}button.primary:hover{background:#eddaa9}button.danger{color:#ffc1b2}[hidden]{display:none!important}canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}.hud{z-index:10;position:fixed}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 26px #07101244}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--gold);font-size:10px;font-weight:700}.brand{pointer-events:none;text-shadow:0 2px 9px #000;top:19px;left:24px}.brand h1{letter-spacing:-.02em;margin:0;font:600 26px/1.15 Georgia,Times New Roman,serif}.brand .eyebrow{margin-top:5px;display:block}.battle-header{grid-template-columns:1fr 144px 1fr;align-items:center;width:450px;height:67px;padding:9px 16px;display:grid;top:16px;left:50%;transform:translate(-50%)}.army-total{align-items:center;gap:10px;display:flex}.army-total.enemy{text-align:right;justify-content:flex-end}.army-total strong{color:var(--blue);font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.army-total.enemy strong{color:var(--red)}.army-total .army-name{letter-spacing:.12em;font-size:11px;font-weight:750;display:block}.army-total small{color:var(--muted);white-space:nowrap;font-size:9px;display:block}.battle-clock{text-align:center;border-left:1px solid var(--line);border-right:1px solid var(--line)}#hud-phase{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;display:block}#hud-timer{font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:20px}.utility{gap:6px;display:flex;top:25px;right:20px}.utility button{background:var(--panel);width:44px;padding:0;font-size:18px}.utility button.text-button{width:auto;padding:0 12px;font-size:12px}.squad-roster{width:212px;top:112px;left:20px}.roster-heading{justify-content:space-between;align-items:center;padding:0 2px 10px;display:flex}.roster-heading span:last-child{color:var(--muted);font-size:10px}#hud-squads{gap:7px;display:grid}.squad-card{text-align:left;background:var(--panel);width:100%;min-height:109px;padding:10px 12px}.squad-top{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.squad-name{font-size:12px;font-weight:700}.squad-number{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.squad-number small{color:var(--muted);font-size:10px;font-weight:400}.squad-description{color:var(--muted);justify-content:space-between;align-items:center;margin:2px 0 8px;font-size:10px;display:flex}.squad-state{text-transform:capitalize;font-size:9px}.squad-state.shaken{color:#e6cd82}.squad-state.routing{color:var(--red)}.squad-state.rallying{color:var(--blue)}.squad-meters{color:var(--muted);grid-template-columns:48px 1fr;align-items:center;gap:5px 7px;font-size:9px;line-height:1;display:grid}.meter{background:#3b4948;border-radius:4px;height:4px;overflow:hidden}.meter-fill{background:var(--gold);width:100%;height:100%;transition:width .2s;display:block}.meter.stamina .meter-fill{background:#88a8a3}.deploy-card{width:266px;padding:19px;top:112px;right:20px}.deploy-card h2{margin:6px 0 10px;font:500 24px/1.2 Georgia,Times New Roman,serif}.deploy-card p{color:#c4ccca;margin:0 0 15px;font-size:12px;line-height:1.65}.deploy-card button{width:100%}.deploy-card .deploy-note{color:var(--muted);text-align:center;margin:10px 0 0;font-size:10px}#toolbar{width:min(1160px,100% - 40px);padding:9px 12px 11px;bottom:20px;left:50%;transform:translate(-50%)}.command-heading{justify-content:space-between;align-items:center;gap:12px;min-height:22px;margin-bottom:7px;display:flex}.rank-control{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:flex}.rank-control select{min-height:32px;color:var(--paper);border:1px solid var(--line);background:#1c2a2d;border-radius:4px}#selectedCount{color:var(--paper);white-space:nowrap;font-size:12px;font-weight:650}#hud-order-hint{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.command-groups{align-items:stretch;gap:11px;display:flex}.command-group{border-right:1px solid var(--line);gap:4px;padding-right:11px;display:flex}.command-group:last-child{border:0;padding:0}.tb-btn{white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;min-width:62px;padding:5px 8px;font-size:11px;font-weight:650;display:flex}.tb-btn .hotkey{color:var(--muted);font-size:9px;font-weight:400}.formation-button{min-width:57px}.brush-control{flex-direction:column;flex:1;justify-content:center;min-width:104px;max-width:140px;display:flex}.brush-control label{color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.brush-control input{width:100%;min-height:44px;accent-color:var(--gold);cursor:pointer;margin:0}#brush-value{color:var(--paper);font-variant-numeric:tabular-nums}#statusBanner{background:var(--panel);border:1px solid var(--gold);text-align:center;opacity:0;pointer-events:none;border-radius:5px;max-width:min(560px,100% - 40px);padding:9px 16px;font-size:12px;transition:opacity .18s;top:95px;left:50%;transform:translate(-50%)}#statusBanner.visible{opacity:1}.performance{color:#e1e7d6;text-shadow:0 1px 3px #000;pointer-events:none;font-variant-numeric:tabular-nums;font-size:9px;bottom:3px;right:22px}#fps-meter{z-index:50;color:#e1e7d6;font-variant-numeric:tabular-nums;white-space:pre;pointer-events:none;background:#0a0e0ed1;border-radius:6px;padding:4px 8px;font:600 11px/1.35 ui-monospace,Menlo,monospace;position:fixed;top:8px;left:8px}#fps-meter b{font-size:15px}#fps-meter.good b{color:#8fd694}#fps-meter.ok b{color:#f2c86b}#fps-meter.bad b{color:#f07a6a}.modal-backdrop{z-index:30;background:#071114a6;place-items:center;padding:20px;display:grid;inset:0}.modal{background:#162327;border-color:#827758;width:min(440px,100%);padding:30px}.modal h2{margin:8px 0 13px;font:500 36px/1.15 Georgia,Times New Roman,serif}.modal p{color:#c8d0cc;font-size:13px}.result-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:24px 0}.result-table th,.result-table td{border-bottom:1px solid var(--line);text-align:right;padding:10px 4px;font-size:12px}.result-table th:first-child,.result-table td:first-child{text-align:left;color:#c8d0cc}.result-table thead th{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.modal .primary{width:100%}#help-panel{z-index:25;width:344px;max-height:calc(100% - 160px);padding:22px;inset:auto 20px 138px auto;overflow:auto}#help-panel h2{margin:0 0 13px;font:500 24px Georgia,Times New Roman,serif}#help-panel dl{grid-template-columns:100px 1fr;gap:10px 12px;margin:0;font-size:11px;display:grid}#help-panel dt{color:var(--gold);font-weight:650}#help-panel dd{color:#c4ccca;margin:0}#help-panel p{color:var(--muted);margin:17px 0 0;font-size:11px;line-height:1.6}@media (width<=1190px) and (width>=701px){.brand{top:24px;left:18px}.brand h1{font-size:22px}.battle-header{grid-template-columns:1fr 110px 1fr;width:370px}.utility .text-button{width:44px;padding:0;font-size:0}.utility .text-button:first-letter{font-size:17px}.command-groups{gap:6px}.command-group{gap:3px;padding-right:6px}.tb-btn{min-width:51px;padding:5px 6px;font-size:10px}.brush-control{min-width:80px}.secondary-formation{display:none}}@media (width<=900px){.deploy-card{width:222px;padding:15px}.squad-roster{width:184px}}@media (width<=700px){.brand{top:12px;left:12px}.brand h1{font-size:17px}.brand .eyebrow{margin-top:2px;font-size:8px}.utility{gap:4px;top:7px;right:10px}.utility button{width:44px;height:44px;min-height:44px;font-size:16px}.utility button.text-button{width:44px;padding:0;font-size:0}.utility button.text-button:first-letter{font-size:17px}.battle-header{grid-template-columns:1fr 124px 1fr;width:calc(100% - 20px);height:54px;padding:6px 12px;top:59px}.army-total{gap:8px}.army-total strong{font-size:24px}.army-total small{font-size:8px}#hud-timer{font-size:17px}#hud-phase{font-size:9px}.squad-roster{width:calc(100% - 20px);top:121px;left:10px}.roster-heading{display:none}#hud-squads{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.squad-card{min-height:76px;padding:7px}.squad-name{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.squad-number{font-size:13px}.squad-number small{display:none}.squad-description{margin:2px 0 7px;font-size:8px}.squad-state{display:none}.squad-meters{grid-template-columns:1fr;gap:4px}.squad-meters .meter-label{display:none}.meter{height:3px}.deploy-card{grid-template-columns:1fr 122px;align-items:center;gap:0 12px;width:calc(100% - 20px);padding:11px 13px;display:grid;inset:auto auto 196px 10px}.deploy-card .eyebrow,.deploy-card .deploy-note{display:none}.deploy-card h2{margin:0 0 3px;font-size:17px}.deploy-card p{margin:0;font-size:10px;line-height:1.4}.deploy-card button{grid-area:1/2/3;min-height:48px;font-size:12px}#toolbar{width:calc(100% - 20px);padding:8px;bottom:10px}.command-heading{gap:8px;min-height:20px;margin-bottom:5px}#selectedCount{font-size:10px}#hud-order-hint{font-size:9px}.command-groups{grid-template-columns:1fr 1fr;gap:5px;display:grid}.command-group{border:0;gap:4px;padding:0}.selection-group{grid-area:2/1}.orders-group{grid-area:1/1/auto/3}.formation-group{grid-area:2/2}.tb-btn{flex:1;min-width:0;min-height:44px;padding:4px 5px;font-size:10px}.tb-btn .hotkey,.secondary-formation{display:none}.brush-control{flex-direction:row;grid-column:1/3;align-items:center;gap:10px;min-width:0;max-width:none;height:44px;display:flex}.brush-control label{gap:8px;min-width:105px;font-size:9px}.brush-control input{min-height:44px}#statusBanner{width:max-content;max-width:calc(100% - 20px);padding:7px 11px;font-size:10px;top:207px}.performance{display:none}#help-panel{width:auto;max-height:calc(100% - 256px);padding:18px;bottom:196px;left:10px;right:10px}#help-panel dl{grid-template-columns:87px 1fr;gap:9px;font-size:10px}.modal{padding:22px}}@media (height<=660px) and (width>=701px){.squad-roster{top:92px}.squad-card{min-height:81px;padding:6px 10px}.squad-description{margin-bottom:5px}.squad-meters{gap:3px 7px}#hud-squads{gap:4px}.roster-heading{display:none}.deploy-card{top:95px}}@media (height<=540px) and (width>=701px){.brand{top:11px}.battle-header{top:8px}.utility{top:13px}#toolbar{bottom:8px}.squad-roster{top:83px}.squad-card{min-height:62px;padding:5px 8px}.squad-meters{grid-template-columns:1fr 1fr}.squad-meters .meter-label{display:none}.deploy-card{top:84px}#help-panel{max-height:calc(100% - 135px);bottom:115px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (height<=500px) and (width>=701px){.brand h1{font-size:19px}.brand .eyebrow{display:none}.squad-roster{width:166px;top:77px}.squad-card{height:42px;min-height:42px;padding:4px 8px}#hud-squads{gap:4px}.squad-description{display:none}.squad-top{height:20px}.squad-name{font-size:10px}.squad-number{font-size:12px}.squad-meters{grid-template-columns:1fr 1fr;gap:4px}.squad-meters .meter-label{display:none}.deploy-card{width:202px;padding:12px;top:82px}.deploy-card h2{margin:4px 0 8px;font-size:19px}.deploy-card p,.deploy-card .eyebrow{display:none}.battle-header{grid-template-columns:1fr 98px 1fr;width:330px;height:60px;left:49%}.army-total strong{font-size:24px}}@media (width<=700px){.brand .eyebrow{white-space:nowrap;max-width:160px;overflow:hidden}#selectedCount{text-overflow:ellipsis;max-width:43%;overflow:hidden}#hud-order-hint{display:none}.deploy-card{bottom:210px}.rank-control{font-size:10px}.rank-control select{min-height:36px}}#deploy-panel{z-index:12;position:fixed;bottom:172px;left:50%;transform:translate(-50%)}#deploy-panel .primary{background:var(--gold);color:#20170a;cursor:pointer;border:none;border-radius:7px;padding:11px 30px;font-size:14px;font-weight:700;box-shadow:0 6px 20px #0008}#deploy-panel[hidden]{display:none}
