:root{--bg:#050b14;--panel:#0a1421;--panel2:#0e1b2b;--line:#24384c;--text:#edf5fd;--muted:#91a4ba;--blue:#42a5ff;--gold:#f6c45a}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.app{height:100dvh;display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:8px 10px;background:linear-gradient(180deg,#050b14,#07111e);border-bottom:1px solid rgba(85,169,255,.25);z-index:4}.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;min-width:0}.mark{width:34px;height:34px;border-radius:8px;overflow:hidden;flex:0 0 34px;box-shadow:0 0 0 1px rgba(126,195,255,.2)}.mark img{width:100%;height:100%;object-fit:cover}.brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.04}.kicker{font-size:8px;letter-spacing:.1em;font-weight:900;color:#8fbde9}.kicker b{color:#7ec3ff}.title{font-size:16px;font-weight:950;margin-top:2px}.subtitle{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap}.version{display:inline-block;margin-left:3px;padding:1px 5px;border:1px solid #31516d;border-radius:999px;color:#9dcdf2}.header-actions{display:flex;align-items:center;gap:5px;min-width:0}#languageSelect,.control-strip select{appearance:none;border:1px solid #2b4257;border-radius:9px;background:#0b1725;color:var(--text);font:inherit;font-size:11px;padding:6px 8px}.pill{border:1px solid #29445b;background:#0d1d2d;border-radius:999px;padding:6px 8px;font-size:10px;color:#a9bfd2;white-space:nowrap}.pill strong{color:#fff}.planner-mode-bar{display:flex;gap:6px;padding:6px 9px;background:#07111e;border-bottom:1px solid #1c3146;overflow-x:auto;scrollbar-width:none}.planner-mode-bar::-webkit-scrollbar{display:none}.planner-mode-tab{flex:0 0 auto;min-height:34px;display:inline-flex;align-items:center;padding:6px 10px;border:1px solid #2b435b;border-radius:10px;background:#0d1a29;color:#9db0c4;text-decoration:none;font-size:10px;font-weight:900;white-space:nowrap}.planner-mode-tab.active{border-color:#b88931;background:#241a0b;color:#ffe1a0}.control-strip{display:flex;align-items:end;gap:7px;padding:6px 9px;background:#081421;border-bottom:1px solid #1d3144;overflow-x:auto;scrollbar-width:none}.control-strip::-webkit-scrollbar{display:none}.control-strip label{display:flex;flex-direction:column;gap:3px;color:#8499af;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.control-strip select{min-width:92px}.strip-btn{min-height:32px;border:1px solid #2c5270;border-radius:9px;background:#10283a;color:#d5ecff;font-weight:900;font-size:10px;padding:6px 10px;white-space:nowrap}.alliance-strip{padding:6px 9px;background:#07111d;border-bottom:1px solid #172a3d;overflow-x:auto;scrollbar-width:none}.alliance-strip::-webkit-scrollbar{display:none}.alliance-tabs{display:flex;gap:5px;min-width:max-content}.alliance-tab{display:flex;align-items:center;gap:6px;min-height:34px;padding:5px 8px;border:1px solid var(--alliance-border);border-radius:9px;background:#0c1724;color:#d8e4ef;font:inherit;font-size:10px;font-weight:900}.alliance-tab.active{background:color-mix(in srgb,var(--alliance-fill) 30%,#09131e);box-shadow:0 0 0 1px var(--alliance-border) inset}.alliance-tab .dot{width:9px;height:9px;border-radius:2px;background:var(--alliance-fill);border:1px solid var(--alliance-border)}.alliance-tab input{width:78px;max-width:22vw;border:0;border-bottom:1px solid rgba(255,255,255,.16);background:transparent;color:inherit;font:inherit;font-weight:900;padding:2px 0;outline:none}.alliance-tab input:focus{border-bottom-color:#fff}.alliance-add-btn{display:flex;align-items:center;justify-content:center;min-height:34px;padding:5px 10px;border:1px dashed #48627a;border-radius:9px;background:#0b1826;color:#c8d9e7;font:inherit;font-size:10px;font-weight:900;white-space:nowrap}.alliance-add-btn:not(:disabled):hover,.alliance-add-btn:not(:disabled):focus-visible{border-style:solid;border-color:#79b7e6;background:#10273a;color:#eef8ff}.alliance-add-btn:disabled{border-style:solid;border-color:#2b3947;color:#65778a;background:#0a131d;opacity:.8}.alliance-tabs.compact{flex-wrap:wrap;min-width:0}.alliance-tabs.compact .alliance-tab input{display:none}.accuracy-note{padding:5px 10px;background:#0b1724;border-bottom:1px solid #1a2c3e;color:#8298ad;font-size:9px;line-height:1.3}.accuracy-note strong{color:#bad8ef}.workspace{position:relative;flex:1;min-height:0;background:#050b14}.canvas-shell{position:absolute;inset:0;overflow:hidden;touch-action:none;user-select:none}.canvas-shell.is-navigating{cursor:grabbing}#planner{width:100%;height:100%;display:block;touch-action:none}.grid-bg{fill:#0b1623}.grid-line{vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}.grid-line.minor{stroke:#1d3042;stroke-width:.055}.grid-line.major{stroke:#3d566e;stroke-width:.105}.axis-text{fill:#7890a6;font-size:1.25px;font-weight:800;text-anchor:middle;pointer-events:none}.corner-label{fill:#a8bdd0;font-size:2.1px;font-weight:950;letter-spacing:.08em;pointer-events:none}.heat-zone{fill-opacity:.055;stroke-width:.16;stroke-dasharray:.7 .35;vector-effect:non-scaling-stroke}.heat-label{font-size:1.1px;font-weight:950;text-anchor:start;pointer-events:none}.object{cursor:grab}.object.selected .object-body{stroke:#fff;stroke-width:.22}.object-body{vector-effect:non-scaling-stroke;stroke-width:.14}.object-label{fill:#fff;font-weight:950;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.object-sub{fill:#e8f2fb;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none;opacity:.9}.terrain-body{fill:#53616d;fill-opacity:.78;stroke:#9ca8b2;stroke-width:.14;stroke-dasharray:.45 .25;vector-effect:non-scaling-stroke}.ghost{fill-opacity:.35;stroke:#fff;stroke-width:.18;stroke-dasharray:.45 .22;vector-effect:non-scaling-stroke;pointer-events:none}.selection-card{position:absolute;left:10px;top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:calc(100% - 20px);padding:8px 9px;border:1px solid #33516b;border-radius:11px;background:rgba(7,18,29,.94);box-shadow:0 10px 24px rgba(0,0,0,.24);z-index:3}.selection-card[hidden]{display:none!important}.selection-card>div{display:flex;flex-direction:column;min-width:0}.selection-card strong{font-size:11px}.selection-card span{font-size:9px;color:#90a7bc}.small-btn{border:1px solid #36536c;border-radius:8px;background:#112234;color:#e7f4ff;padding:7px 9px;font-weight:900}.small-btn.danger{border-color:#6c3232;background:#2b1111;color:#ffc1c1}.bottom-toolbar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;padding:5px 6px max(5px,env(safe-area-inset-bottom));background:#06101b;border-top:1px solid #1d3348;z-index:5}.tool-btn{min-width:0;min-height:48px;border:1px solid transparent;border-radius:9px;background:transparent;color:#8fa5b9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit}.tool-btn span{font-size:18px;line-height:1}.tool-btn b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.tool-btn.active{background:#102439;border-color:#315a79;color:#d9efff}.tool-btn.primary{color:#8dd0ff}.tool-btn.populate{color:#f3ce7a}.tool-btn:disabled{opacity:.35}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:20}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;max-height:min(76vh,720px);overflow:auto;background:#0a1522;border-top:1px solid #2b4358;border-radius:18px 18px 0 0;padding:7px 10px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(0,0,0,.42);overscroll-behavior:contain}.sheet[hidden],.backdrop[hidden]{display:none!important}.sheet-handle{width:44px;height:4px;border-radius:999px;background:#40566a;margin:0 auto 7px}.sheet-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.sheet-head h2{margin:0;font-size:16px}.sheet-head p{margin:3px 0 0;color:#91a4ba;font-size:10px;line-height:1.35}.close{width:34px;height:34px;border:1px solid #344b60;border-radius:9px;background:#102031;color:#cce4f7;font-size:20px}.sheet-section{margin-top:12px}.section-label{display:block;margin-bottom:6px;color:#8298ad;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.add-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.add-card,.action-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid #2b465e;border-radius:12px;background:#0e1d2d;color:#eaf5fd;padding:12px;text-align:left;font:inherit}.add-card strong,.action-card strong{font-size:12px}.add-card span,.action-card span{font-size:9px;line-height:1.35;color:#91a4ba}.add-card.furnace{border-color:#6c5427;background:#241b0c}.terrain-panel{display:grid;grid-template-columns:minmax(0,1fr) 58px 58px auto;gap:7px;align-items:end;margin-top:10px;padding:10px;border:1px solid #3c4853;border-radius:12px;background:#151a20}.terrain-panel>div{display:flex;flex-direction:column;gap:2px}.terrain-panel strong{font-size:11px}.terrain-panel span{font-size:9px;color:#9ca7b0}.terrain-panel label,.populate-form label{display:flex;flex-direction:column;gap:3px;color:#9aa9b7;font-size:9px;font-weight:900}.terrain-panel input,.populate-form input{width:100%;min-height:36px;border:1px solid #3d4f5e;border-radius:8px;background:#0b131b;color:#fff;padding:6px 7px;font:inherit;font-weight:900}.terrain-btn,.big-action{min-height:38px;border:1px solid #5b6d7b;border-radius:9px;background:#27323c;color:#eef6fc;padding:8px 10px;font-weight:900}.populate-form{display:grid;gap:10px;margin-top:12px}.populate-form label{max-width:180px}.populate-summary{padding:9px;border:1px solid #5a4825;border-radius:9px;background:#211a0d;color:#cbb98f;font-size:10px}.big-action{border-color:#a97922;background:#4a330f;color:#ffe0a0}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.action-card{min-height:70px}.action-card input{display:none}.danger-card{border-color:#6b3030;background:#281010}.danger-card strong{color:#ffc0c0}.validation-hero{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:11px;border:1px solid #2b485e;border-radius:12px;background:#0e1d2b}.validation-hero strong{font-size:13px}.validation-hero span{font-size:20px;font-weight:950}.validation-list{display:grid;gap:7px;margin-top:10px}.validation-row{padding:9px 10px;border:1px solid #294156;border-radius:10px;background:#0c1825}.validation-row strong{display:block;font-size:11px}.validation-row span{display:block;margin-top:2px;color:#91a5b7;font-size:9px;line-height:1.35}.validation-row.good{border-color:#265b45}.validation-row.warn{border-color:#6e5426}.validation-row.bad{border-color:#6f3232}.toast{position:fixed;left:50%;bottom:78px;transform:translateX(-50%);z-index:50;max-width:min(90vw,560px);padding:9px 12px;border:1px solid #35536b;border-radius:10px;background:#0b1a28;color:#eef8ff;font-size:10px;font-weight:850;box-shadow:0 12px 30px rgba(0,0,0,.4);text-align:center}.toast[hidden]{display:none!important}
@media(min-width:800px){.sheet{left:auto;right:18px;bottom:18px;width:560px;border:1px solid #2b4358;border-radius:18px;max-height:78vh}.backdrop{background:rgba(0,0,0,.28)}.bottom-toolbar{position:absolute;left:12px;bottom:12px;width:430px;border:1px solid #294159;border-radius:13px;padding:5px;box-shadow:0 12px 30px rgba(0,0,0,.35)}.workspace{padding-bottom:0}.toast{bottom:24px}.selection-card{top:14px;left:14px}.accuracy-note{font-size:10px}.alliance-tab input{max-width:120px}}
@media(max-width:620px){.topbar{min-height:57px;padding:7px 8px}.mark{width:30px;height:30px;flex-basis:30px}.title{font-size:13px}.kicker{font-size:7px}.subtitle{font-size:8px}#languageSelect{max-width:116px;font-size:10px;padding:5px 6px}.pill{font-size:9px;padding:5px 6px}.terrain-panel{grid-template-columns:minmax(0,1fr) 52px 52px}.terrain-btn{grid-column:1/-1}.action-grid{grid-template-columns:1fr}.sheet{max-height:82vh}.alliance-tab input{width:64px}.accuracy-note{font-size:8px}}
@media(max-width:370px){.kicker{display:none}.subtitle{max-width:145px;overflow:hidden;text-overflow:ellipsis}.pill{display:none}.tool-btn b{font-size:7px}.alliance-tab{padding-inline:6px}.alliance-tab input{width:55px}}
.structure-panel{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(150px,.9fr) minmax(110px,.7fr) 58px 58px 70px auto;gap:7px;align-items:end;margin-top:10px;padding:10px;border:1px solid #5c4930;border-radius:12px;background:#17130e}.structure-copy{display:flex;flex-direction:column;gap:2px}.structure-copy strong{font-size:11px;color:#ffe0a0}.structure-copy span,.structure-note{font-size:9px;color:#a99b83;line-height:1.3}.structure-preset{min-height:36px;display:flex;flex-direction:column;justify-content:center;gap:1px;padding:5px 8px;border:1px solid #5b4b34;border-radius:8px;background:#0d1117}.structure-preset[hidden]{display:none!important}.structure-preset span,.structure-preset small{font-size:8px;color:#a99b83;font-weight:800}.structure-preset strong{font-size:12px;color:#ffe0a0}.structure-panel label{display:flex;flex-direction:column;gap:3px;color:#b7a98d;font-size:9px;font-weight:900}.structure-panel input,.structure-panel select{width:100%;min-height:36px;border:1px solid #5b4b34;border-radius:8px;background:#0d1117;color:#fff;padding:6px 7px;font:inherit;font-weight:900}.structure-note{grid-column:1/-1;margin:0}.structure-btn{border-color:#94702f;background:#3a2a0e;color:#ffe2a6}.territory-zone{fill:#d6b16b;fill-opacity:.025;stroke:#d6b16b;stroke-width:.13;stroke-dasharray:.75 .38;vector-effect:non-scaling-stroke}.mud-zone{fill:#8a6a37;fill-opacity:.14;stroke:#d4ad62;stroke-width:.13;stroke-dasharray:.55 .28;vector-effect:non-scaling-stroke}.structure-body{fill:#27333d;stroke:#d6b16b;stroke-width:.16;vector-effect:non-scaling-stroke}.structure-label{fill:#ffe0a0;font-weight:950;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.structure-sub{fill:#e4c98f;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
@media(max-width:760px){.structure-panel{grid-template-columns:1fr 1fr 1fr}.structure-copy,.structure-note{grid-column:1/-1}.structure-btn{grid-column:1/-1}.structure-panel label:first-of-type{grid-column:1/-1}}

/* v1.5 Corner Defense preset */
.corner-preset-card{margin-top:14px;padding:13px;border:1px solid rgba(92,170,255,.34);border-radius:14px;background:linear-gradient(180deg,rgba(28,74,116,.22),rgba(10,26,45,.32))}
.corner-preset-copy{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.corner-preset-copy strong{font-size:.95rem}
.corner-preset-copy span,.corner-preset-note{font-size:.78rem;line-height:1.35;color:var(--muted)}
.corner-preset-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}
.corner-preset-controls label{display:flex;flex-direction:column;gap:5px;font-size:.75rem;color:var(--muted)}
.corner-preset-controls select{width:100%;min-height:38px}
.corner-action{margin-top:2px}
.corner-preset-note{margin:9px 0 0}
.object.corner-heavy .object-body{stroke-width:.7;stroke:#fff7a8}
.object.corner-r5 .object-body{stroke-width:1;stroke:#fff}
.object.corner-r4 .object-body{stroke-width:.8;stroke:#e9d7ff}
.object.corner-heavy .object-label{font-weight:900}
@media(max-width:520px){.corner-preset-controls{grid-template-columns:1fr}.corner-preset-card{padding:11px}}

/* v1.6 Populate gap selector */
.populate-gap-warning{margin:8px 0 0;padding:9px 10px;border-radius:10px;border:1px solid rgba(244,191,92,.42);background:rgba(109,73,15,.22);font-size:.76rem;line-height:1.35;color:#f7d89a}

/* v1.8 base-gap existing-layout decision */
.gap-change-actions{display:grid;gap:9px;margin-top:12px}.gap-change-actions .action-card{width:100%;min-height:76px}.gap-change-actions .gap-primary{border-color:#4b8ec0;background:#102a3d}.gap-change-actions .gap-primary strong{color:#dff2ff}

/* v1.12 detected gap + reflow scope */
.gap-apply-btn{border-color:#3f7ca7;background:#10283a;color:#dff2ff}
.gap-detected{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:9px 10px;border:1px solid #31506a;border-radius:10px;background:#0d1d2b;color:#91a8bb;font-size:10px}.gap-detected strong{color:#eaf7ff;font-size:11px}
.gap-scope-panel{margin-top:10px;padding:10px;border:1px solid #2a4358;border-radius:12px;background:#0b1825}.gap-scope-panel>div:first-child{display:flex;flex-direction:column;gap:2px}.gap-scope-panel strong{font-size:11px}.gap-scope-panel span{font-size:9px;color:#91a4ba}.gap-scope-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.gap-scope-btn{min-height:48px;border:1px solid #344f65;border-radius:10px;background:#101f2d;color:#c9d8e5;padding:8px;font:inherit;font-weight:900}.gap-scope-btn.active{border-color:#5ba7df;background:#12304a;color:#eff9ff;box-shadow:0 0 0 1px rgba(91,167,223,.12) inset}.gap-scope-btn:disabled{opacity:.35}.gap-scope-btn span,.gap-scope-btn small{display:block}.gap-scope-btn span{font-size:10px;color:inherit}.gap-scope-btn small{margin-top:2px;font-size:8px;color:#8fb3ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:520px){.gap-scope-buttons{grid-template-columns:1fr}.gap-apply-btn{min-width:82px}}

/* v341010 populate + Marshall Guard + whole-hive move */
.selection-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.small-btn.hive-move{border-color:#366d8f;background:#102b3f;color:#d7f1ff}.small-btn.hive-move.active{border-color:#8fd2ff;background:#184768;box-shadow:0 0 0 1px #8fd2ff inset}.add-card.mg{border-color:#7b5a38;background:#241a10}.add-card.mg strong{color:#f6d4a4}.populate-empty-action{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#10263a;border-color:#3b739b}.populate-empty-action strong{font-size:11px}.populate-empty-action span{font-size:9px;line-height:1.3;color:#a7c6dd;font-weight:700}.populate-form>.populate-empty-action{width:100%}@media(max-width:650px){.selection-card{align-items:flex-start}.selection-actions{max-width:55%;justify-content:flex-end}.small-btn.hive-move{white-space:normal;text-align:center;padding:6px 7px}.add-grid{grid-template-columns:1fr 1fr}}

.object.hive-group-active .object-body{stroke:#fff;stroke-width:.22;filter:drop-shadow(0 0 .45px #9dd8ff)}

/* v3.41.0.19 Warlord Missile simulation overlay */
.add-card.missile{border-color:#8a3434;background:#2a1113}.add-card.missile strong{color:#ffd0d0}.missile-overlay{cursor:grab;touch-action:none}.missile-zone{fill:#dc2626;fill-opacity:.18;stroke:#ff6565;stroke-width:.24;stroke-dasharray:.8 .35;vector-effect:non-scaling-stroke;pointer-events:none}.missile-overlay.selected .missile-zone{stroke:#fff;stroke-width:.32;filter:drop-shadow(0 0 .7px #ff6b6b)}.missile-label{fill:#ffd0d0;font-size:1.05px;font-weight:950;text-anchor:middle;pointer-events:none}.missile-crosshair{stroke:#fff;stroke-width:.22;vector-effect:non-scaling-stroke;pointer-events:none}.missile-center{fill:#dc2626;stroke:#fff;stroke-width:.18;vector-effect:non-scaling-stroke;pointer-events:none}.missile-hitbox{fill:transparent;stroke:none;pointer-events:all;cursor:grab}

.missile-overlay:active{cursor:grabbing}
