/* Strategic command surfaces: one icon language, stable hierarchy and quiet chrome. */
body .map-tools{gap:8px;padding:7px 9px;background:linear-gradient(130deg,#203949f5,#162e3ef5);border-color:#7898aa6b;border-radius:6px;box-shadow:0 5px 24px #091c2a40;max-width:calc(100% - 28px)}
body .map-tools .map-mode-toolbar{display:flex!important;gap:4px;margin:0;padding-left:8px;border-left:1px solid #7593a64d;overflow-x:auto;scrollbar-width:none}
body .map-mode-toolbar button{display:flex;align-items:center;gap:6px;background:transparent;border:1px solid transparent;color:#adc4d2;padding:9px 10px;white-space:nowrap;min-height:36px;border-radius:4px;letter-spacing:.3px}
body .map-mode-toolbar button.active{color:#e7f5fb;background:#476e84;border-color:#9bb9ca;box-shadow:inset 0 -2px #b8e1ef}
body .map-mode-toolbar button:hover{background:#35556a;color:#e9f4fa}
.map-mode-toolbar .command-icon,.map-pointer-tools .command-icon{width:18px;height:18px;stroke:currentColor;stroke-width:1.5;fill:none;flex:none}
#leftPanel nav .command-icon{fill:none;stroke:currentColor;stroke-width:1.5;width:19px;height:19px;flex:none}
#leftPanel nav{gap:7px!important}#leftPanel nav button{min-height:39px!important;border-radius:4px!important;font-weight:500;letter-spacing:.5px;background:linear-gradient(120deg,#2c4657,#243d4c)!important;border:1px solid #7695a44a!important;box-shadow:inset 0 1px #adc9d508}
#leftPanel nav button.active,#leftPanel nav button:hover{border-color:#9abccc!important;background:#3b6178!important;color:#f0f8fc!important}
body .map-wrap.map-fill-only #lod-geometry .battle-tile{stroke:#213b48!important;stroke-width:.6!important;stroke-opacity:.42!important;vector-effect:non-scaling-stroke}
body .map-wrap.map-fill-only .battle-tile.selected-battle-tile{stroke:#c7effa!important;stroke-width:1.6!important;stroke-opacity:1!important}
.map-wrap .precision-boundaries .boundary-province{stroke:#1c3542;stroke-opacity:.68;stroke-width:.75}
body .map-wrap[data-map-mode="terrain"] #lod-geometry .battle-tile{fill-opacity:1!important}
body .map-wrap[data-map-mode="terrain"] .terrain-plains{fill:#8d9d8a!important}body .map-wrap[data-map-mode="terrain"] .terrain-forest{fill:#4c786b!important}body .map-wrap[data-map-mode="terrain"] .terrain-mountain{fill:#748190!important}body .map-wrap[data-map-mode="terrain"] .terrain-hills{fill:#87947c!important}body .map-wrap[data-map-mode="terrain"] .terrain-marsh{fill:#527d87!important}body .map-wrap[data-map-mode="terrain"] .terrain-desert{fill:#b2a78b!important}body .map-wrap[data-map-mode="terrain"] .terrain-urban{fill:#697c8d!important}
body #mapLayerLegend{display:block!important;position:absolute;left:14px;right:auto;bottom:50px;top:auto;width:286px;max-width:calc(100% - 28px);padding:11px 13px;z-index:15;background:linear-gradient(135deg,#263e4fef,#193240ef);color:#bfd3e0;border:1px solid #7394a967;border-radius:5px;font-size:11px;box-shadow:0 8px 28px #06162240}
#mapLayerLegend summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:#e2eef5;font-size:12px}#mapLayerLegend summary .command-icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}#mapLayerLegend summary>span{margin-left:auto;font-size:10px;color:#97b2c2}#mapLayerLegend p{font-size:10px;line-height:1.65;color:#93b0c3;margin:10px 0 0;border-top:1px solid #63859b3b;padding-top:8px}.map-legend-keys{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:12px}.map-legend-keys>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.map-key{display:inline-block;width:13px;height:9px;border:1px solid #9fb3bf66;background:#78958d}.map-key.region{height:0;border:0;border-top:1px solid #8097a4}.map-key.front{height:0;border:0;border-top:2px solid #d2e2eb}.map-key.plains{background:#8d9d8a}.map-key.forest{background:#4c786b}.map-key.mountain{background:#748190}.map-key.marsh{background:#527d87}.map-key.desert{background:#b2a78b}.map-key.urban{background:#697c8d}.map-key.trunk{height:0;border:0;border-top:1px dashed #899eac}.map-key.active{height:0;border:0;border-top:3px solid #75c5cd}.map-key.good{background:#71b8a5}.map-key.low{background:#d1ba73}.map-key.bad{background:#cd9171}.map-key.critical{background:#b66c73}.map-key.air{background:#75b9d966}.map-key.airport{background:#cadbe2;border-radius:50%;width:9px}.map-key.navy{background:transparent;border:2px solid #75c5cd;border-radius:50%;height:12px}.map-key.port{background:#577f99}
body:has(#armyCommandBar .command-selection) #mapLayerLegend{bottom:190px}body #commandHint{left:14px;transform:none;bottom:13px;background:#1d3544e8;border:1px solid #6e91a44d;color:#a8c4d5;font-size:10px;border-radius:4px;padding:7px 11px;max-width:calc(100% - 190px);white-space:normal}
body .map-wrap[data-level="world"] #armyMarkerOverlay .screen-army-cluster.has-model{width:65px!important;min-width:65px!important;height:61px!important;min-height:61px!important}body .map-wrap[data-level="world"] #armyMarkerOverlay .has-model>.unit-model{width:65px!important;height:50px!important;min-height:50px!important;flex-basis:50px!important}body .map-wrap[data-level="world"] #armyMarkerOverlay .model-counter{font-size:10px!important;min-height:16px!important;padding:1px 5px!important}
body .screen-army-cluster .model-counter{background:#1d3445eb!important;border:1px solid #81a5bc88!important;border-radius:3px;box-shadow:0 2px 5px #13253366}.screen-army-cluster.selected .model-counter{background:#416c83!important;border-color:#c2e8f6!important}.map-panning .screen-army-cluster .unit-model{filter:none!important}.map-panning .map-layer-legend{pointer-events:none}
body .railway-reference-edge{stroke:#8da1af;stroke-width:.8;stroke-dasharray:4 4;opacity:.45;vector-effect:non-scaling-stroke}body .railway-map-edge{stroke:#a8bcc7;vector-effect:non-scaling-stroke;opacity:.8}body .railway-map-edge.supply-active{stroke:#78ccd2;opacity:1}body .railway-map-edge.damaged{stroke:#d68c7e;stroke-dasharray:6 4}body .railway-hit{stroke-width:10;vector-effect:non-scaling-stroke;stroke:transparent;pointer-events:stroke}body .railway-node rect{fill:#213d50;stroke:#acc8d7;stroke-width:1}body .railway-node path{fill:none;stroke:#e0ecf3;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}body .supply-province{stroke:#d6e5eb;stroke-width:1.4;fill-opacity:.9;vector-effect:non-scaling-stroke}body .supply-province.good{fill:#71b8a5}body .supply-province.low{fill:#d1ba73}body .supply-province.bad{fill:#cd9171}body .supply-province.critical{fill:#b66c73}
body .air-command-panel,body .naval-command-panel{left:auto;right:14px;top:76px;bottom:14px;transform:none;width:286px;max-height:calc(100% - 90px);padding:16px;display:flex;flex-direction:column;align-items:stretch;gap:11px;border:1px solid #7294aa80;border-radius:6px;background:linear-gradient(145deg,#294455f7,#1a3242f7);box-shadow:0 8px 30px #0a1c2a66;color:#cbdde8;overflow:auto;scrollbar-width:thin}
body .air-command-panel.hidden,body .naval-command-panel.hidden{display:none}body .command-panel-title{display:grid;grid-template-columns:22px 1fr;column-gap:8px;align-items:center;color:#e3f0f8!important;font-size:18px;font-weight:500;border-bottom:1px solid #7c99aa44;padding-bottom:13px;margin-bottom:3px}.command-panel-title>.command-icon{grid-row:1/3;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}.command-panel-title>span{font-size:8px!important;font-weight:400!important;letter-spacing:1.7px;color:#91afc2!important;margin-top:5px}body .air-command-panel label,body .naval-command-panel label{font-size:11px;color:#a3becf;gap:6px}body .air-command-panel select,body .naval-command-panel select{border:1px solid #6c8ca06b;background:#1a3141;color:#e0edf6;border-radius:3px;padding:8px;font-size:11px}body .air-command-panel button,body .naval-command-panel button{background:#37596e;border:1px solid #7798ab66;color:#dfeef7;border-radius:3px;min-height:32px}body .air-command-panel small,body .naval-command-panel small{color:#93b1c6;font-size:10px;line-height:1.6}body .air-command-panel .air-task,body .naval-command-panel .operation-status{border-left-color:#7aafc9;background:#45637a22;font-size:11px}body .air-command-panel details,body .naval-command-panel details{border-top:1px solid #6c8da044;padding-top:8px;color:#98b6c9;font-size:10px;line-height:1.7}body .air-command-panel details summary,body .naval-command-panel details summary{cursor:pointer;color:#bfd4e2}
body .air-region-area{fill:#6bb5dc;fill-opacity:.12;stroke:#94c3dc;stroke-width:.8;stroke-opacity:.55;vector-effect:non-scaling-stroke;pointer-events:none}body .air-region-marker rect{fill:#294a60f2;stroke:#88b4cd;stroke-width:1}body .air-region-marker.selected rect{stroke:#d4effa;stroke-width:1.7}body .air-region-marker text{font-family:inherit;font-size:12px;font-weight:500;fill:#e4f0f8;stroke:none}body .air-region-marker .air-summary{font-size:10px;fill:#a5c4d7}
body .naval-region-marker .sea-control-disc{fill:#213e50ec;stroke:#557489;stroke-width:2;stroke-dasharray:none;opacity:1}body .naval-region-marker .sea-control-ring{fill:none;stroke:#7bd0d7;stroke-width:4;opacity:1;paint-order:normal}body .naval-region-marker text{font-family:inherit;font-size:11px;font-weight:500;fill:#d9eaf4;stroke:none}body .fleet-map-marker rect{fill:#244357dd;stroke:#759db6;stroke-width:1}.fleet-map-marker.selected rect{stroke:#c2e5f4!important;stroke-width:2!important}body .naval-travel-line{stroke:#7fc7d6;stroke-width:1.8;stroke-dasharray:6 4;fill:none;vector-effect:non-scaling-stroke}
@media(max-width:1100px){body .map-tools{left:8px;right:8px;max-width:none;gap:4px;padding:5px}body .map-mode-toolbar button{font-size:11px;padding:8px 7px}.map-mode-toolbar .command-icon{width:15px;height:15px}body #mapLayerLegend{width:235px;font-size:10px}body:has(#armyCommandBar .command-selection) #mapLayerLegend{bottom:220px}}
@media(max-width:760px){body .map-tools{flex-wrap:wrap}.map-mode-toolbar{width:100%;order:5;border-left:0!important;padding-left:0!important}body #mapLayerLegend{width:205px;bottom:48px}#mapLayerLegend p{display:none}body .air-command-panel,body .naval-command-panel{top:115px;right:8px;width:235px;bottom:8px;max-height:calc(100% - 123px);padding:12px}body .map-wrap.air-mode #mapLayerLegend,body .map-wrap.navy-mode #mapLayerLegend{display:none!important}}

/* Specialist views keep land orders stored while giving air/naval controls space. */
body .map-mode-toolbar button{font-family:inherit;font-weight:500;line-height:1.3;font-size:12px!important}
body .map-mode-toolbar button>span{font-size:inherit!important;line-height:1.3!important}
body #mapLayerLegend summary>span{display:inline!important;flex:0 0 auto!important;width:auto!important;min-width:max-content;white-space:nowrap;padding:0}
body .railway-node circle{fill:#d6e6ed;stroke:#2c4c5b;stroke-width:1}
body:has(.map-wrap:is(.air-mode,.navy-mode)) .army-interaction-layer,
body:has(.map-wrap:is(.air-mode,.navy-mode)) [data-scenario-geography-view],
body:has(.map-wrap:is(.air-mode,.navy-mode)) #attackPreviewPanel{display:none!important}
body:has(.map-wrap:is(.air-mode,.navy-mode)) #mapLayerLegend{bottom:92px!important}
body:has(.map-wrap:is(.air-mode,.navy-mode)) .map-zoom-overlay{bottom:38px!important;right:320px!important}
body .air-region-area{fill-opacity:.25;stroke-opacity:.8}
@media(max-width:760px){body .map-mode-toolbar button{font-size:10px!important;padding:7px 5px}body:has(.map-wrap:is(.air-mode,.navy-mode)) .map-zoom-overlay{right:256px!important}}

body .map-wrap:is(.air-mode,.navy-mode) #armyMarkerOverlay{display:none!important}
body .fleet-map-marker text{fill:#d9eaf4;font-weight:500;font-size:11px}

body #armyMarkerOverlay .screen-army-cluster[hidden]{display:none!important}
body .map-zoom-overlay,body:has(#attackPreview:not(.hidden)) .map-zoom-overlay{top:auto!important;height:52px!important;align-items:center}
body:has(#attackPreview:not(.hidden)) .map-zoom-overlay{top:calc(var(--header-h,104px) + 106px)!important;bottom:auto!important}
body #attackPreview{background:linear-gradient(120deg,#294655f5,#1b3543f5);border:1px solid #7597aa85;border-radius:5px;color:#d9e7ed;box-shadow:0 5px 22px #0a1e2c40}
body #attackPreview b,body #attackPreview strong{color:#c4e0ee}
body #attackPreview small,body #attackPreview p{color:#a7c2d1}
body:has(#attackPreview:not(.hidden)) #mapLayerLegend{display:none!important}
body:has(.map-wrap:is(.air-mode,.navy-mode)) #attackPreview{display:none!important}

body.command-targeting #armyMarkerOverlay .screen-army-cluster{cursor:crosshair}
body #uxOrderFeedback{background:#203b4cf5;border:1px solid #8dabbc;color:#d8e9f2;border-radius:5px;box-shadow:0 7px 24px #0a1b2944;line-height:1.6}

body #armyMarkerOverlay .screen-army-cluster:not(.foreign-intel){z-index:2}

/* Strategic regions aggregate counties; precise combat / hit-test tiles remain. */
body .map-wrap[data-map-mode="political"] #lod-geometry .battle-tile{stroke:none!important}
body .map-wrap[data-map-mode="political"] .precision-boundaries :is(.boundary-province,.boundary-outer),body .map-wrap[data-map-mode="political"] .america-district-boundary,body .map-wrap[data-map-mode="political"] .america-admin-boundary{display:none!important}
body .map-wrap .strategic-region-boundary{fill:none!important;stroke:#1f3948;stroke-width:.9;stroke-opacity:.62;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round;stroke-linecap:round}
body .map-wrap[data-map-mode="political"] #lod-geometry .battle-tile.selected-battle-tile{stroke:#d6edf7!important;stroke-width:1.6!important;stroke-opacity:1!important}
/* Logistics has one country-independent palette, scoped to this map only. */
body .map-wrap[data-map-mode="logistics"] #countries path{fill:#435f65!important;fill-opacity:1!important;filter:none!important;stroke:#bdd4cf;stroke-opacity:.35}
body .map-wrap[data-map-mode="logistics"] #lod-geometry .battle-tile{fill:#435f65!important;fill-opacity:1!important;stroke:#1f3f41!important;stroke-opacity:.22!important;stroke-width:.55!important;filter:none!important}
body .map-wrap[data-map-mode="logistics"] #lod-geometry [data-supply-band="good"]{fill:#568d71!important}
body .map-wrap[data-map-mode="logistics"] #lod-geometry [data-supply-band="low"]{fill:#c1ac64!important}
body .map-wrap[data-map-mode="logistics"] #lod-geometry [data-supply-band="bad"]{fill:#a9585e!important}
body .map-wrap[data-map-mode="logistics"] #nationalBoundaryInk{opacity:.25}
body .map-wrap[data-map-mode="logistics"] .supply-province.good,.map-key.good{fill:#568d71;background:#568d71}
body .map-wrap[data-map-mode="logistics"] .supply-province.low,.map-key.low{fill:#c1ac64;background:#c1ac64}
body .map-wrap[data-map-mode="logistics"] .supply-province.bad,.map-key.bad{fill:#a9585e;background:#a9585e}
body .map-wrap[data-map-mode="logistics"] .supply-shortage .model-counter{background:#872f3cec!important;border-color:#f0a4a8!important;color:#ffe4e4!important}
body .map-wrap[data-map-mode="logistics"] .supply-shortage>.unit-model{filter:drop-shadow(0 0 4px #e6646c)!important}
.unit-supply-alert{position:absolute;top:-8px;left:50%;transform:translateX(-50%);background:#973e49;color:#fff0ed;border:1px solid #df9198;font-size:9px;padding:2px 5px;white-space:nowrap;border-radius:2px;pointer-events:none}

body .map-wrap[data-map-mode="logistics"] #armyMarkerOverlay{opacity:1!important}
body .map-wrap[data-map-mode="logistics"] .screen-army-cluster{opacity:.85;pointer-events:auto!important}
body .map-wrap[data-map-mode="logistics"] .screen-army-cluster.supply-shortage{opacity:1}
body .map-wrap[data-map-mode="logistics"] .railway-map-edge{opacity:.42;stroke:#b9d0d3}
body .map-wrap[data-map-mode="logistics"] .railway-map-edge.supply-active{opacity:.70;stroke:#a0d6ce}
body .map-wrap[data-map-mode="logistics"] .railway-reference-edge{opacity:.22}
