:root{font-family:Inter,Arial,sans-serif;color:#dce6ec;background:#080f18;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button{cursor:pointer;border:1px solid #30404e;background:#172331;color:#dce6ec;border-radius:5px;padding:10px 12px;transition:.15s}button:hover{background:#263b4c;border-color:#67d4c4}button:disabled{opacity:.4;cursor:not-allowed}header{height:74px;border-bottom:1px solid #26313e;display:flex;align-items:center;gap:25px;padding:0 24px}.brand{font-size:22px;letter-spacing:3px;font-weight:800;white-space:nowrap}.brand span{color:#68d9c1;font-size:15px}.demo{font-size:11px;letter-spacing:1.5px;color:#8294a7}.demo b{display:block;color:#d4ac64;margin-top:5px}#economy{margin-left:auto;color:#70d9bf;font-size:17px;font-variant-numeric:tabular-nums}main{height:calc(100dvh - 213px);min-height:520px;display:grid;grid-template-columns:244px minmax(300px,1fr) 290px}aside{padding:24px 18px;overflow:auto;background:#0d1722}.left{border-right:1px solid #26313e}.right{border-left:1px solid #26313e}.eyebrow{font-size:11px;letter-spacing:2px;color:#7e98ab;font-weight:bold}h1{font-size:23px;margin:12px 0 6px}h2{font-size:26px;margin:12px 0 8px}.muted,small{color:#91a3b4;line-height:1.5}label{display:block;margin-top:24px;color:#91a3b4}select{width:100%;padding:9px;background:#142231;border:1px solid #30404e;border-radius:4px;margin:8px 0;color:#dce6ec}.sectiontitle{font-size:11px;letter-spacing:1.5px;font-weight:bold;color:#8da5b6;border-top:1px solid #243342;padding-top:20px;margin:22px 0 12px;display:flex;justify-content:space-between}.country{display:flex;justify-content:space-between;width:100%;text-align:left;margin:6px 0;border-color:transparent;background:transparent}.country.active{background:#173b3d;border-color:#326861;color:#8ee6ce}.country small{font-size:12px}.legend{font-size:12px;line-height:1.8;color:#8094a6;margin-top:22px}.legend span{color:#72d5bf}#map{position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#142a3e 0%,#080f18 72%)}#canvas{position:absolute;inset:0;touch-action:none}canvas{display:block}.mapcaption{position:absolute;top:25px;left:28px;z-index:2;pointer-events:none}.mapcaption span{display:block;letter-spacing:3px;font-size:11px;color:#7d9db5}.mapcaption strong{display:block;font-size:19px;font-weight:400;margin-top:9px;color:#bdcbd7}.maptools{position:absolute;right:17px;bottom:55px;display:grid;gap:5px}.maptools button{font-size:19px;background:#101e2c}.maphint{position:absolute;bottom:20px;text-align:center;width:100%;font-size:12px;color:#809aaf;pointer-events:none}#labels{position:absolute;inset:0;pointer-events:none}.citylabel{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:#0c1724dc;padding:4px 7px;font-size:12px;white-space:nowrap;border:1px solid #3e5d6e;border-radius:3px}.citylabel.own{border-color:#5db59e}.citylabel em{color:#74e2bd;font-style:normal;margin-left:5px}.statrow{display:flex;justify-content:space-between;background:#14212e;padding:11px;margin-top:8px;border-radius:4px}.statrow b{color:#dfb976}.cityrow{padding:12px 0;border-bottom:1px solid #233140}.cityrow .name{display:flex;justify-content:space-between;margin-bottom:8px}.troops{color:#79dcc3;letter-spacing:2px}.action{display:block;width:100%;margin-top:8px;text-align:left}.primary{background:#1d514b;border-color:#377e6e;color:#b7f7e3}.danger{color:#efaa99}.sub{font-size:12px;color:#8c9faf;margin:8px 0;line-height:1.5}.op{margin:10px 0;font-size:13px}.bar{height:4px;background:#253645;margin-top:7px}.bar i{height:100%;display:block;background:#d8ad67}#log{font-size:12px;color:#859bad;line-height:1.6}#log div{margin:7px 0}footer{min-height:139px;border-top:1px solid #26313e;padding:17px 24px;display:flex;gap:27px;align-items:center;background:#101a26}.cardintro{min-width:190px;display:grid;gap:8px}.cardintro strong{font-size:18px}.card{width:310px;text-align:left;position:relative;border-color:#71603f;background:linear-gradient(120deg,#29283a,#182633);padding:12px 40px 12px 15px;display:grid;gap:6px}.card span{font-size:11px;letter-spacing:2px;color:#d8b677}.card strong{font-size:16px}.card small{font-size:12px}.card b{position:absolute;right:15px;top:16px;color:#ebca8a}.footnote{font-size:12px;line-height:1.7;color:#72889d;flex:1}#toast{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);background:#1c3c42;color:#d5f6eb;padding:12px 20px;border:1px solid #4e8a81;border-radius:6px;max-width:90%;display:none;z-index:5}@media(max-width:1100px){main{grid-template-columns:190px minmax(250px,1fr) 250px}.demo{display:none}.footnote{display:none}header{gap:12px}.brand{font-size:18px}}@media(max-width:760px){header{height:auto;min-height:68px;padding:12px;flex-wrap:wrap}.brand{font-size:16px}#economy{font-size:14px}main{height:auto;min-height:0;grid-template-columns:1fr}.left{padding:15px}.left h1{display:inline-block;margin:8px 0}.left label,.left .muted,.left .legend,.left .sectiontitle,.left #countries{display:none}.left select{width:auto;float:right;max-width:48%}.left .eyebrow{display:none}#map{height:55dvh;min-height:350px}.right{max-height:none}.mapcaption strong{font-size:15px}footer{flex-wrap:wrap;padding:16px;gap:15px}.cardintro{min-width:130px}.card{flex:1;min-width:230px}.right .sectiontitle{margin-top:15px}#reset{margin-left:auto}}

@media(max-width:760px){.left #explore{float:none;display:block;max-width:100%;width:100%}}
/* Alpha 02: city symbols and infantry markers */
.soldier-icon{width:20px;height:25px;object-fit:contain;vertical-align:middle;filter:invert(83%) sepia(20%) saturate(730%) hue-rotate(108deg) brightness(100%)}
.troop-units{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;max-width:100%;letter-spacing:0}.troop-units b{font-size:12px}.country small{display:flex;align-items:center;gap:5px}.country .soldier-icon{width:15px;height:19px}.troops{min-height:27px}.action .soldier-icon{width:16px;height:20px}
.citylabel{width:28px;height:28px;padding:3px;border:1px solid var(--owner-color,#79909c);border-radius:5px;background:#102333ed;box-shadow:0 2px 7px #0009;z-index:1;color:#e9f2f6}.citylabel:hover,.citylabel:focus-visible,.citylabel.tapped{z-index:10;background:#244458;border-color:#d8f8ff;outline:1px solid #e6fdff}.citylabel.selected{box-shadow:0 0 0 1px #ffffff50,0 2px 8px #0008}.city-icon{display:block;width:20px;height:20px;filter:invert(1)}.city-tooltip{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);padding:7px 10px;border:1px solid #526d82;border-radius:4px;background:#081320f2;color:#f0f6fa;font-size:14px;font-weight:500;pointer-events:none;white-space:nowrap;box-shadow:0 5px 18px #0008}.citylabel:hover .city-tooltip,.citylabel:focus-visible .city-tooltip,.citylabel.tapped .city-tooltip{display:block}.map-troops{position:absolute;top:27px;left:50%;transform:translateX(-50%);pointer-events:none;background:#07131dcf;border-radius:3px;padding:1px 3px;border-bottom:1px solid #5eae94}.map-troops .troop-units{flex-wrap:nowrap;gap:0}.map-troops .soldier-icon{width:12px;height:18px}.map-troops .troop-units b{font-size:11px}.mapcaption{pointer-events:none}.maphint{padding:0 60px;line-height:1.5}#map{background:radial-gradient(ellipse at 48% 45%,#163448 0%,#080f18 65%)}
/* Alpha 03: more compact map symbols, dual airport/port facilities */
.citylabel{width:23px;height:23px;padding:3px}.city-icon{width:15px;height:15px}.map-troops{top:23px;padding:0 2px}.map-troops .soldier-icon{width:10px;height:15px}.soldier-icon{width:17px;height:22px}.facility-badge{position:absolute;right:-9px;top:-7px;display:flex;color:#edce8b;background:#10212dec;border-radius:3px;font-size:10px;line-height:12px;pointer-events:none;letter-spacing:1px}.facility-badge:empty{display:none}.mapcaption strong{max-width:340px;font-size:16px}.footnote a{color:#a9c1d4}.city-tooltip{font-size:13px}.citylabel:hover,.citylabel:focus-visible{transform:translate(-50%,-50%) scale(1.12)}
/* Alpha 04 — map-native command surface */
body{overflow:hidden}header{height:64px;padding:0 20px;gap:18px}main{display:block;position:relative;height:calc(100dvh - 64px);min-height:0}#map{height:100%;width:100%;min-height:0}#canvas,#labels{inset:0}#labels{contain:layout style;overflow:hidden}.citylabel{left:0;top:0;transition:background-color .12s,border-color .12s,box-shadow .12s;will-change:transform}.citylabel:hover,.citylabel:focus-visible{transform:none}.citylabel.tapped .city-tooltip{display:none}.mapcaption{top:22px;left:24px}.maptools{bottom:170px;right:20px}.maphint{bottom:128px;text-shadow:0 2px 4px #000}#selection{position:absolute;left:24px;top:78px;color:#c5d6df;font-size:13px;pointer-events:none;max-width:70%;text-shadow:0 2px 4px #000}#toast{bottom:182px}footer{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);width:min(890px,calc(100% - 32px));min-height:0;max-height:108px;border:1px solid #334553;border-radius:9px;background:#0c1925ed;box-shadow:0 8px 35px #0006;padding:10px 16px;gap:18px;z-index:12}.footnote{display:none}.cardintro{min-width:145px;gap:4px}.cardintro strong{font-size:15px}.card{width:auto;flex:1;max-width:390px;padding:9px 35px 9px 12px;gap:3px}.card small{font-size:12px}.card strong{font-size:14px}#reset{margin-left:auto}#command-toggle{font-size:14px;white-space:nowrap}#blocname{color:#8adeca}#order-mode{position:absolute;top:116px;left:50%;transform:translateX(-50%);background:#133e43f5;border:1px solid #63b8a6;border-radius:6px;padding:10px 14px;z-index:15;max-width:90%;display:flex;align-items:center;gap:15px}#order-mode[hidden]{display:none}.floating-menu{position:fixed;width:295px;max-height:min(72dvh,660px);overflow:auto;background:#0c1a28f7;backdrop-filter:blur(14px);border:1px solid #526777;border-radius:8px;padding:20px 15px 15px;box-shadow:0 12px 45px #000a;z-index:30}.floating-menu[hidden]{display:none}.floating-menu h2{font-size:22px;margin-top:9px}.floating-menu .close-menu{position:absolute;right:8px;top:7px;font-size:20px;padding:0 7px;border:none;background:transparent}.floating-menu .cityrow{padding:8px 0}.floating-menu .sectiontitle{margin-top:15px}.floating-menu .action{font-size:13px;padding:9px}.floating-menu .statrow{padding:8px}.floating-menu .eyebrow{padding-right:25px}.floating-menu .country{padding:8px}.floating-menu #countries{max-height:190px;overflow:auto}.floating-menu label{margin-top:15px}#context-menu .cityrow{display:block}.floating-menu #dest:empty{display:none}@media(max-width:760px){header{height:64px;padding:8px;gap:8px;flex-wrap:nowrap}.brand{font-size:13px;letter-spacing:1px}.brand span{display:none}#command-toggle{max-width:38vw;overflow:hidden;text-overflow:ellipsis;padding:7px;font-size:12px}#economy{font-size:12px}#pause{padding:7px;font-size:12px}main{height:calc(100dvh - 64px)}#map{height:100%;min-height:0}footer{bottom:8px;padding:8px;gap:8px;flex-wrap:nowrap;max-height:105px}.cardintro{min-width:0}.cardintro .eyebrow,.cardintro strong{display:none}.cardintro small{font-size:11px}.card{min-width:0}.card small{display:none}.card strong{font-size:12px}.card span{font-size:10px}#reset{font-size:12px;padding:8px}.maphint{font-size:11px;bottom:98px;padding:0 45px}.maptools{bottom:125px}.mapcaption{left:15px}.mapcaption strong{font-size:14px}#selection{left:15px;font-size:12px}#order-mode{font-size:12px;width:90%}.floating-menu{max-width:calc(100vw - 16px);max-height:65dvh}}

/* Distant cities become dots; positional transforms never interpolate. */
.citylabel{width:20px;height:20px;padding:3px}.city-icon{width:12px;height:12px}.map-troops{top:20px}.map-troops .soldier-icon{width:9px;height:13px}.facility-badge{font-size:9px;line-height:11px;right:-7px;top:-6px}.soldier-icon{width:15px;height:20px}#labels.distant .citylabel{width:7px;height:7px;padding:0;border-radius:50%;background:var(--owner-color);border:1px solid #ddf1f7;box-shadow:0 1px 3px #000b}#labels.distant .city-icon,#labels.distant .facility-badge,#labels.distant .map-troops{display:none}#labels.distant .citylabel::before{content:'';position:absolute;inset:-4px;border-radius:50%}#labels .citylabel{transition-property:background-color,border-color,box-shadow;transition-duration:.12s}#labels.distant .citylabel.selected{box-shadow:0 0 0 2px #d9f8ff55}
/* Alpha 05: uniform triangular troop markers */
.troop-marker{display:inline-block;width:13px;font-size:12px;line-height:18px;color:#86dfc7;text-align:center;vertical-align:middle;flex-shrink:0}.map-troops .troop-marker{width:9px;font-size:9px;line-height:12px}.country .troop-marker,.action .troop-marker{width:12px;font-size:11px}.troop-units{gap:2px}.map-troops .troop-units{gap:0}
/* Alpha 06: subtle friendly cities and initial faction briefing */
#labels .citylabel.own{background:#26453eea;border-color:#9ac6b6}#labels .citylabel:not(.own){background:#14232eee;border-color:#718592}#labels.distant .citylabel.own{background:#a2d3c0;border-color:#c4e2d6}#labels.distant .citylabel:not(.own){background:#7d909d;border-color:#aab8c1}#labels .citylabel.selected{outline:1px solid #f7d591;outline-offset:2px}#briefing{width:min(650px,calc(100vw - 32px));max-height:90dvh;overflow:auto;background:#101f2d;color:#dce6ec;border:1px solid #466171;border-radius:12px;padding:25px;box-shadow:0 24px 100px #0009}#briefing::backdrop{background:#030911c9;backdrop-filter:blur(5px)}#briefing h1{font-size:28px;margin-top:12px}#briefing-count{color:#9bb5c7}#briefing-map{width:100%;height:auto;border:1px solid #2d4658;border-radius:7px}#briefing-states{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 20px;list-style:none;padding:0;font-size:13px;max-height:170px;overflow:auto;margin:10px 0 20px}#briefing-start{width:100%;padding:13px;font-size:16px}#briefing h3{font-size:15px;margin-bottom:8px}@media(max-width:560px){#briefing{padding:18px}#briefing-states{grid-template-columns:repeat(2,minmax(0,1fr))}#briefing h1{font-size:23px}}

/* Alpha 07: unmistakable friendly perimeter at both zoom levels. */
#labels .citylabel.own{border:2px solid #39ef83;padding:2px;box-shadow:0 0 0 1px #073c25,0 1px 5px #0009}#labels.distant .citylabel.own{width:8px;height:8px;padding:0;border:2px solid #39ef83;background:#9ed8b5;box-shadow:0 0 0 1px #073c25}#labels .citylabel.own.selected{outline:1px solid #f7d591;outline-offset:2px}

/* Alpha 08: slightly darker opponent city markers. */
#labels .citylabel:not(.own){background:#101b27f2;border-color:#53677a}#labels .citylabel:not(.own) .city-icon{opacity:.8}#labels.distant .citylabel:not(.own){background:#526779;border-color:#8395a5}

/* Alpha 09: opponent cities always stay compact dots; only friendly cities open into icons. */
#labels .citylabel:not(.own){width:7px;height:7px;padding:0;border-radius:50%;background:#526779;border:1px solid #8395a5;box-shadow:0 1px 3px #000b}#labels .citylabel:not(.own) .city-icon,#labels .citylabel:not(.own) .facility-badge{display:none}#labels .citylabel:not(.own)::before{content:'';position:absolute;inset:-5px;border-radius:50%}.city-tooltip strong{color:#fff}.city-tooltip small{display:block;margin-top:3px;color:#aebfca;font-size:11px;font-weight:400}#labels.distant .citylabel.own .city-icon,#labels.distant .citylabel.own .facility-badge,#labels.distant .citylabel.own .map-troops{display:none}

/* Alpha 10: close-range enemy dots are larger and warm-toned against the blue sea. */
#labels.distant .citylabel:not(.own){background:#9f7841;border-color:#d9bf8d}#labels:not(.distant) .citylabel:not(.own){width:14px;height:14px;background:#d7ad64;border:2px solid #fff0c8;box-shadow:0 0 0 1px #513813,0 2px 5px #000b}#labels:not(.distant) .citylabel:not(.own)::before{inset:-4px}.city-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0;padding:10px;border:1px solid #314958;border-radius:5px;background:#101e2a;color:#d8e5eb;font-size:12px}.city-facts span:last-child{grid-column:1/-1;padding-top:7px;border-top:1px solid #263b49}.city-facts b{color:#dfb976}

/* Alpha 11: individually selectable troop markers and animated transport tokens. */
#labels .map-troops{left:0;top:0;display:flex;align-items:center;justify-content:center;gap:1px;min-height:16px;padding:1px 2px;pointer-events:auto;z-index:8;background:#07131ddd;border:1px solid #315666;border-radius:4px;box-shadow:0 2px 5px #0009}#labels.distant .map-troops{display:none!important}.map-troop{width:14px;height:14px;padding:0;border:0;background:transparent;color:#86dfc7;font-size:10px;line-height:14px;text-align:center;text-shadow:0 1px 2px #001;transition:none}.map-troop:hover{background:#244658;color:#d7fff2}.map-troop.chosen{color:#ffe09a;background:#654d20;outline:1px solid #fff0ba}.enemy-troops{pointer-events:none}.enemy-troops .troop-marker{width:9px;font-size:9px;line-height:12px}.transport-token{position:absolute;z-index:9;pointer-events:none;color:#86dfc7;filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 3px #061018);font-size:14px;white-space:nowrap}.transport-token svg{display:block;width:25px;height:19px;fill:currentColor}.transport-token.land{letter-spacing:-2px;font-size:12px}.transport-token.land b{margin-left:3px;color:#d9f8ee;font-size:10px}

/* Alpha 12: movement hint and compact troop controls. */
.city-tooltip .move-hint{display:block;margin:6px -4px -3px;padding:5px 8px;border-radius:3px;background:#2b695d;color:#caffef;font-size:12px;text-align:center;letter-spacing:.3px}

/* Alpha 13: cleaner top-view transport silhouettes. */
.transport-token.air svg{width:27px;height:27px}.transport-token.sea svg{width:21px;height:27px;filter:drop-shadow(0 0 1px #d9fff5)}

/* Alpha 14: transport detail, matching facility colors and compact audio controls. */
.transport-token .vehicle-body,.transport-token.air .vehicle-icon path{fill:#8eead2;stroke:#08212a;stroke-width:1.2;paint-order:stroke}.transport-token .vehicle-detail{fill:#173947;stroke:none}.city-tooltip .airport-symbol,.city-tooltip .port-symbol{color:#edce8b;font-style:normal}.city-tooltip .facility-separator{color:#728a99}.city-tooltip .move-hint.full{background:#5b4030;color:#ffe0b5}#sound-control{display:flex;align-items:center;gap:6px;padding:3px 8px;border:1px solid #2c4352;border-radius:6px;background:#101d29}#music-toggle{width:30px;height:30px;padding:0;border:0;background:transparent;color:#8eead2;font-size:18px}#music-toggle.off{color:#6d7d87;text-decoration:line-through}#music-volume{width:72px;accent-color:#68d9c1;cursor:pointer}@media(max-width:760px){#sound-control{padding:2px 4px}#music-volume{width:48px}#music-toggle{width:25px;height:27px;font-size:15px}}

/* Alpha 15: 1980s command-terminal interface; the globe itself stays untouched. */
:root{font-family:"Courier New",Courier,monospace;color:#a8ffad;background:#030806}header{background:#030a07;border-bottom:1px solid #43d95c;box-shadow:inset 0 -1px #163f20,0 0 16px #1cff4633}header,.floating-menu,footer,#briefing,.city-tooltip,#order-mode,#toast{text-shadow:0 0 5px currentColor}.brand{color:#8cff96}.brand::before{content:"["}.brand::after{content:"]"}.brand span,.demo b,.statrow b,.card span,.card b{color:#ffc45f}.demo{color:#55b967}.eyebrow,.sectiontitle,label,.sub,.muted,small,#log,.maphint{color:#69b87a}.mapcaption span{color:#4cd768}.mapcaption strong{color:#a3ffad;text-shadow:0 0 7px #35ff58}.mapcaption strong::before{content:"> "}.floating-menu{border:1px solid #43d95c;border-radius:0;background:linear-gradient(#030b07f5,#06110bf5);box-shadow:0 0 0 1px #0b2611,0 0 24px #26ff4933}.floating-menu h2,#briefing h1{color:#b4ffb9;text-transform:uppercase;letter-spacing:1px}button,select{border-radius:0;border-color:#347943;background:#06130b;color:#a7ffae}button:hover{background:#0d2b16;border-color:#7dff8d;color:#e1ffe4;box-shadow:inset 0 0 8px #3cff5c22}.primary{background:#10371b;border-color:#52ce68;color:#bdffc3}.danger{color:#ff826e;border-color:#8c3b32}.statrow,.city-facts{border-radius:0;background:#07140d;border-color:#254b2d}.bar{background:#102617}.bar i{background:#65f477;box-shadow:0 0 6px #42ff5a}.country.active{background:#0a2b16;border-color:#56d66c;color:#baffc1}#economy,#blocname{color:#82ff91;text-shadow:0 0 6px #42ff5a}#selection{color:#9bffa6}.city-tooltip{border-radius:0;border-color:#4acb60;background:#020a05f5;color:#b8ffbd}.city-tooltip strong{color:#e2ffe5}.city-tooltip small{color:#74c484}.facility-badge{border-radius:0;background:#06130bee}#order-mode{border-radius:0;background:#072a12f5;border-color:#59e36f}#toast{border-radius:0;background:#071d0e;color:#b5ffbc;border-color:#43c65a}footer{border:1px solid #2f8240;border-radius:0;background:linear-gradient(#040c07f2,#07120af2);box-shadow:0 0 20px #16f33b22}.card{border-radius:0;border-color:#97752e;background:linear-gradient(120deg,#19180a,#08150d)}#briefing{border-radius:0;border-color:#56db6d;background:#031008;color:#aeffb4;box-shadow:0 0 0 2px #102e17,0 0 70px #21ff4538}#briefing-map{border-radius:0;border-color:#347a42;filter:saturate(.72)}#briefing-start{text-transform:uppercase;letter-spacing:2px}#sound-control{border-radius:0;border-color:#347943;background:#06130b}#music-toggle{color:#8cff96}#music-volume{accent-color:#64e879}.maptools button{background:#041009;border-color:#348344;color:#aaffb0}@media(max-width:760px){.brand::before,.brand::after{display:none}.demo{display:none}}

/* Alpha 16: quieter terminal treatment with less phosphor glow. */
:root{color:#a7cbb0}header{border-bottom-color:#315e42;box-shadow:none}header,.floating-menu,footer,#briefing,.city-tooltip,#order-mode,#toast{text-shadow:none}.brand{color:#9acda5}.brand span,.demo b,.statrow b,.card span,.card b{color:#d2ad69}.demo,.eyebrow,.sectiontitle,label,.sub,.muted,small,#log,.maphint{color:#789b80}.mapcaption span{color:#6ca97a}.mapcaption strong{color:#b2d8ba;text-shadow:none}.floating-menu{border-color:#3e7350;background:linear-gradient(#06100bf5,#09150ff5);box-shadow:0 10px 32px #0009}.floating-menu h2,#briefing h1{color:#bddac2}button,select{border-color:#3a6548;background:#0a1710;color:#b0cfb6}button:hover{background:#10251a;border-color:#6b9e77;color:#e0ebe2;box-shadow:none}.primary{background:#173522;border-color:#527c5c;color:#c7ddca}.bar i{background:#70a97a;box-shadow:none}.country.active{background:#122b1b;border-color:#527e5e;color:#c3dcc7}#economy,#blocname{color:#9dcca6;text-shadow:none}#selection{color:#b1cfb7}.city-tooltip{border-color:#50775a;background:#07100cf5;color:#c9ddcc}.city-tooltip strong{color:#edf3ee}.city-tooltip small{color:#91ad97}#order-mode{background:#10261af5;border-color:#527b5c}#toast{background:#102118;color:#c9dccd;border-color:#4d7357}footer{border-color:#355c41;background:linear-gradient(#08110cf2,#0b1710f2);box-shadow:none}#briefing{border-color:#4d7658;background:#08130d;color:#c0d9c5;box-shadow:0 18px 65px #000b}#sound-control{border-color:#3a6548;background:#0a1710}#music-toggle{color:#9acda5}#music-volume{accent-color:#6c9f78}.maptools button{background:#09150e;border-color:#426a4d;color:#b5cfba}

#music-track{max-width:132px;height:28px;padding:2px 5px;font-size:12px}@media(max-width:760px){#music-track{max-width:84px;font-size:11px}}

/* Alpha 51: hidden factories and global resource capacity meters. */
#economy{display:none}footer{width:min(1120px,calc(100% - 32px));max-height:126px}.resource-hud{display:flex;gap:12px;min-width:390px}.resource-meter{display:grid;grid-template-columns:30px 145px;gap:8px;align-items:center;padding:7px 9px;border:1px solid #3d6549;background:#08140d}.resource-icon{display:grid;place-items:center;width:28px;height:28px;color:#82d2a1;border:1px solid #477b57;background:#10261a;font:700 16px/1 Arial}.resource-icon.factory-resource{color:#d9b767}.resource-meter b,.resource-meter small{display:block;white-space:nowrap}.resource-meter b{font-size:12px;color:#c6ddca}.resource-meter small{font-size:10px;margin:3px 0 5px;color:#789b80}.resource-meter i{display:block;height:5px;background:#102617;overflow:hidden}.resource-meter em{display:block;height:100%;background:#70a97a;transition:width .2s}.resource-meter+.resource-meter em{background:#c8a55f}.factory-icon{display:grid;place-items:center;width:17px;height:16px;color:#f0c96f}.factory-svg{display:block;width:100%;height:100%;fill:#d7ad55;stroke:#573d12;stroke-width:1.3;stroke-linejoin:round}.factory-tooltip .factory-svg,.factory-detail .factory-svg{display:inline-block;width:20px;height:17px;vertical-align:middle}.factory-tooltip,.factory-detail{color:#e0bd70!important}.factory-detail{grid-column:1/-1}.intel-card{display:grid;grid-template-columns:1fr auto;gap:5px 8px;max-width:310px}.intel-card>span{grid-column:1/-1}.intel-card #spy-type{grid-column:1/-1;color:#d7bb79;font-size:11px}.intel-card #spy{padding:6px 8px;font-size:10px}.intel-card #cards{position:static;align-self:center;justify-self:end;font-size:10px}@media(max-width:900px){.resource-hud{min-width:280px}.resource-meter{grid-template-columns:24px minmax(95px,1fr)}.resource-icon{width:23px;height:23px;font-size:13px}.resource-meter small{display:none}}@media(max-width:760px){footer{width:calc(100% - 16px);max-height:118px}.resource-hud{min-width:0;flex:1;gap:5px}.resource-meter{padding:5px;grid-template-columns:19px minmax(70px,1fr);gap:4px}.resource-icon{width:18px;height:18px;font-size:10px}.resource-meter b{font-size:9px}.cardintro{display:none}.intel-card{max-width:190px}.intel-card>span{display:none}.intel-card #spy-type{font-size:9px}.intel-card #spy{font-size:8px}}

/* Alpha 54: collision-free lower command bar. */
footer{display:grid;grid-template-columns:minmax(350px,1.1fr) minmax(220px,.8fr) minmax(285px,1fr);width:min(1180px,calc(100% - 32px));max-height:none;min-height:96px;gap:14px}.resource-hud{min-width:0}.resource-meter{grid-template-columns:28px minmax(118px,1fr)}.cardintro{min-width:0}.cardintro small{font-size:10px;line-height:1.25}.intel-card{width:100%;max-width:none;min-width:0}@media(max-width:960px){footer{grid-template-columns:minmax(280px,1fr) minmax(260px,.8fr)}.cardintro{display:none}}@media(max-width:760px){footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.72fr);gap:6px;max-height:118px}.resource-hud{min-width:0}.intel-card{max-width:none}}

/* Alpha 17: field bases and fortified-border controls. */
#labels .citylabel.base-label{width:21px;height:21px;padding:2px;border-radius:2px;background:#17251b;border:2px solid #e0b24f;box-shadow:0 0 0 1px #3a2a0c,0 2px 7px #000b;color:#f6d274}.base-icon{display:block;font-size:16px;line-height:15px}.base-label .facility-badge{right:-9px;top:-7px;color:#f2c45f}.border-action{border-left:3px solid #e43d3d}.border-action:disabled{color:#d98b82;border-color:#872f2f;background:#1b1010}#labels.distant .citylabel.base-label{width:11px;height:11px;padding:0;border-radius:2px;background:#2b3824;border:2px solid #e0b24f}.distant .base-label .base-icon{font-size:8px;line-height:7px}.distant .base-label .facility-badge{display:none}
.ground-target{position:absolute;left:0;top:0;width:25px;height:25px;border:2px solid #41f38a;border-radius:50%;z-index:16;pointer-events:none;box-shadow:0 0 8px #2ee77a,0 0 17px #2ee77a88;animation:ground-target-pulse .8s ease-in-out infinite}.ground-target::before{content:'';position:absolute;inset:4px;border:1.5px solid #8affb6;border-radius:50%}.ground-target i{display:none}.ground-target.blocked{border-color:#ffd34f;box-shadow:0 0 8px #ffc62e,0 0 17px #ffc62e88}.ground-target.blocked::before{border-color:#fff0a2}@keyframes ground-target-pulse{50%{opacity:.38}}
.recruitment-map-bar{position:absolute;left:50%;bottom:calc(100% + 5px);transform:translateX(-50%);width:30px;height:5px;padding:1px;border:1px solid #8fb7a0;background:#07120b;border-radius:3px;overflow:hidden;pointer-events:none}.recruitment-map-bar i{display:block;height:100%;background:#69e89b;box-shadow:0 0 4px #69e89b}.recruitment-status{margin:10px 0;padding:9px;border:1px solid #3c6750;background:#0b1c12}.recruitment-status span{font-size:12px;color:#9fc7aa}.recruitment-status b{float:right;color:#d7bc75}.recruitment-status .bar{clear:both;margin-top:7px}.placement-warning,.placement-ok{margin:8px 0;padding:8px;border-left:3px solid;font-size:12px}.placement-warning{border-color:#ffd34f;background:#2a210b;color:#ffe39a}.placement-ok{border-color:#41f38a;background:#0b2416;color:#9af3bb}

/* Alpha 31: strategic installations. */
#labels .citylabel.structure-label{width:25px;height:25px;padding:2px;border-radius:2px;background:#101a1c;border:2px solid currentColor;box-shadow:0 2px 8px #000b,0 0 8px currentColor;color:#77d9ff}.structure-label.missile{width:29px;color:#ffcf4a}.structure-label.ballistic{width:23px;height:29px;color:#dc8cff}.structure-icon{display:block;width:100%;height:100%}.structure-icon svg,.detail-structure-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.structure-label.missile svg,.structure-label.ballistic svg{fill:currentColor;stroke:currentColor;stroke-width:1}.detail-structure-icon{display:inline-block;width:30px;height:30px;color:#77d9ff}.detail-structure-icon.missile{color:#ffcf4a}.detail-structure-icon.ballistic{color:#dc8cff}.detail-structure-icon.missile svg,.detail-structure-icon.ballistic svg{fill:currentColor}.strategic-action{border-left:3px solid}.radar-action{border-left-color:#77d9ff}.missile-action{border-left-color:#ffcf4a}.ballistic-action{border-left-color:#dc8cff}#labels.distant .citylabel.structure-label{width:13px;height:13px;padding:1px;border-width:1.5px}.distant .structure-label.missile{width:15px}.distant .structure-label.ballistic{width:12px;height:16px}

/* Alpha 33: missile fire-control system. */
.structure-level{position:absolute;right:-6px;bottom:-7px;display:grid;place-items:center;width:14px;height:14px;border:1px solid #08100c;background:#e7f0e8;color:#07100a;font:700 10px/1 Arial,sans-serif;border-radius:2px;box-shadow:0 1px 4px #000}.missile-target{position:absolute;left:0;top:0;width:34px;height:34px;border:2px solid #55ff89;border-radius:50%;z-index:19;pointer-events:none;box-shadow:0 0 9px #2cff74,0 0 18px #2cff7488}.missile-target::before,.missile-target::after{content:'';position:absolute;background:#55ff89}.missile-target::before{left:50%;top:-7px;width:1px;height:46px}.missile-target::after{left:-7px;top:50%;width:46px;height:1px}.missile-target i{position:absolute;inset:8px;border:1px solid #55ff89;border-radius:50%}.missile-target.invalid{border-color:#ff4242;box-shadow:0 0 9px #ff2727,0 0 18px #ff272788}.missile-target.invalid::before,.missile-target.invalid::after{background:#ff4242}.missile-target.invalid i{border-color:#ff4242}.missile-targeting canvas{cursor:none}.missile-targeting #labels .citylabel,.missile-targeting #labels .map-troops{pointer-events:none}.requested-target{position:absolute;left:0;top:0;width:14px;height:14px;border:2px solid #ffd34f;border-radius:50%;z-index:18;pointer-events:none;background:#ffd34f33;box-shadow:0 0 7px #ffbf32}.flying-missile{position:absolute;left:0;top:0;width:8px;height:5px;color:#ffd34f;z-index:20;pointer-events:none;filter:drop-shadow(0 0 2px #ffb62e)}.flying-missile.ballistic{width:13px;height:7px;color:#dc8cff}.flying-missile svg{width:100%;height:100%;fill:currentColor;stroke:currentColor}
.missile-reload-bar{border-color:#c79427}.missile-reload-bar i{background:#ffcf4a;box-shadow:0 0 5px #ffbf2e}
.citylabel.attack-target:hover{border-color:#4dff8c!important;box-shadow:0 0 0 4px #35ff7955,0 0 15px #21ff6c!important}.citylabel.attack-target:hover::after{content:'⌖';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#48ff87;font-size:30px;line-height:1;text-shadow:0 0 6px #15ff60;pointer-events:none}.move-hint.attack{color:#57ff91;border-color:#35d96d;background:#082d19}.invasion-token{position:absolute;inset:0;z-index:10;pointer-events:none;color:#79e5c6;filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 2px #06251c)}.invasion-token i{position:absolute;left:0;top:0;display:block;width:5px;height:6px;font:6px/6px Arial,sans-serif;font-style:normal;text-align:center;will-change:transform}
.invasion-token i.destroyed{color:#2a211c;filter:drop-shadow(0 0 1px #ff6a24);opacity:.72}.battle-burst{position:absolute;left:0;top:0;width:20px;height:22px;z-index:22;pointer-events:none;border-radius:48% 52% 54% 46%;background:radial-gradient(ellipse at 50% 68%,#fff 0 7%,#ffe06c 9% 22%,#ff7a24 27% 48%,#c72e12 52% 61%,transparent 66%);box-shadow:0 0 10px #ff762eaa,0 4px 8px #40100499;transform-origin:50% 80%}.battle-burst i{position:absolute;left:9px;top:5px;width:2px;height:10px;background:linear-gradient(#fff2a1,#ff8a28 65%,transparent);transform-origin:50% 6px;filter:drop-shadow(0 0 2px #ff7b2f)}.battle-burst i:nth-child(2){transform:rotate(73deg)}.battle-burst i:nth-child(3){transform:rotate(167deg)}.battle-burst i:nth-child(4){transform:rotate(258deg)}
#missile-game{width:min(880px,calc(100vw - 28px));border:1px solid #5d8969;border-radius:0;background:#07110cf5;color:#cbe0cf;padding:22px;box-shadow:0 20px 80px #000c}#missile-game::backdrop{background:#010503b8;backdrop-filter:blur(3px)}#missile-game h2{margin:5px 0 4px;color:#dcecdf;text-transform:uppercase}.aim-phases{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;margin:20px 0}.aim-phase{position:relative;min-height:210px;padding:14px;border:1px solid #344d3b;background:#08150e;opacity:.45}.aim-phase.active{border-color:#8bbd94;box-shadow:0 0 18px #73dd8628;opacity:1}.aim-phase.done{border-color:#4b8158;opacity:.72}.aim-phase strong,.aim-phase small{display:block}.aim-phase small{margin-top:4px}.aim-track{position:relative;height:24px;margin:62px 4px 25px;border:1px solid #65816b;background:#111d15;cursor:pointer}.aim-track.vertical{width:28px;height:112px;margin:22px auto}.aim-zone{position:absolute;left:var(--aim-start);top:0;width:var(--aim-size);height:100%;background:#38cf68aa;box-shadow:0 0 8px #38e76e}.aim-cursor{position:absolute;left:var(--aim-value);top:-8px;width:2px;height:38px;background:#ffda58;box-shadow:0 0 6px #ffd23d}.vertical .aim-zone{left:0;top:var(--aim-start);width:100%;height:var(--aim-size)}.vertical .aim-cursor{left:-8px;top:var(--aim-value);width:44px;height:2px}.aim-phase:not(.active) .aim-stop{pointer-events:none}.aim-stop{width:100%}@media(max-width:700px){.aim-phases{grid-template-columns:1fr}.aim-phase{min-height:145px}.aim-track{margin:30px 4px 18px}.aim-track.vertical{height:75px;margin:12px auto}}

/* Alpha 35: launch authorization, 3D missiles and dual-faction test controls. */
#test-swap{max-width:210px;padding:6px 9px;border-color:#9d7b31;color:#f0c96f;font-size:11px}.launch-console{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:stretch}.launch-console .aim-phases{margin:20px 0}.launch-general{position:relative;margin:20px 0;border:1px solid #5d715f;background:#030806;overflow:hidden;min-height:210px}.launch-general img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}.launch-general span{position:absolute;left:0;right:0;bottom:0;padding:8px;background:#050a07dc;color:#ffcf66;font-size:11px;text-align:center;letter-spacing:.5px}.structure-label.radar .structure-level{background:#bdeeff}.missile-reload-bar{z-index:4}@media(max-width:860px){#test-swap{display:none}.launch-console{grid-template-columns:120px 1fr}.launch-general{min-height:165px}}@media(max-width:700px){.launch-console{grid-template-columns:1fr}.launch-general{height:130px;min-height:0}.launch-general img{object-position:center 30%}.launch-console .aim-phases{margin-top:0}}
#war-goal{position:absolute;top:20px;right:20px;z-index:12;width:min(320px,calc(100% - 40px));padding:9px 12px;border:1px solid #755f31;background:#131309e8;color:#d8bd79;text-align:right;pointer-events:none;box-shadow:0 6px 20px #0007}#war-goal b,#war-goal small,#war-goal strong{display:block}#war-goal b{font-size:12px;letter-spacing:.35px}#war-goal small{margin-top:4px;color:#9e956f;font-size:10px}#war-goal.preparation{width:min(370px,calc(100% - 40px));padding:13px 16px;border:2px solid #f0b84b;background:#191004f2;color:#ffe291;text-align:center;box-shadow:0 0 0 1px #4d3512,0 0 28px #ffad2f66}#war-goal.preparation b{font-size:14px;letter-spacing:1.8px}.prep-countdown{margin:3px 0 2px;color:#ffd35c;font:700 34px/1 "Courier New",monospace;letter-spacing:3px;animation:prep-pulse 1s steps(2,end) infinite}#war-goal.preparation small{color:#d8b96e;font-size:11px}#war-goal.urgent{border-color:#ff5b45;background:#210704f2;box-shadow:0 0 30px #ff3f2780}#war-goal.urgent .prep-countdown{color:#ff6e58}@keyframes prep-pulse{50%{opacity:.68;text-shadow:0 0 13px currentColor}}@media(max-width:760px){#war-goal{top:70px;right:10px;width:min(245px,calc(100% - 20px));padding:7px 9px}#war-goal b{font-size:10px}#war-goal small{font-size:9px}#war-goal.preparation{top:64px;width:min(290px,calc(100% - 20px));padding:10px 12px}.prep-countdown{font-size:28px}#war-goal.preparation small{font-size:9px}}#game-result{width:min(520px,calc(100vw - 32px));border:1px solid #8c743d;border-radius:0;background:#07110bf7;color:#c9ddcd;padding:28px;box-shadow:0 22px 80px #000d}#game-result::backdrop{background:#020604d9;backdrop-filter:blur(5px)}#game-result h2{color:#e4c879;letter-spacing:1px}#game-result p{line-height:1.6}#game-result button{width:100%;margin-top:14px;padding:12px}#bloc:disabled{opacity:.62;cursor:not-allowed}

/* Alpha 56: amphibious fleets. */
.transport-token.amphibious-fleet{display:grid;grid-template-columns:repeat(3,10px);gap:1px;width:auto;height:auto;color:#9edbcf;filter:drop-shadow(0 1px 1px #001b22) drop-shadow(0 0 2px #78d9c4)}.transport-token.amphibious-fleet .warship-mini{display:block;width:10px;height:13px;filter:none}.transport-token.amphibious-fleet .vehicle-body{fill:#86cbbb;stroke:#061c24;stroke-width:1.4}.transport-token.amphibious-fleet .vehicle-detail{fill:#1c4851}

/* Alpha 57: scattered assault fleets and maritime defense. */
.transport-token.amphibious-fleet{display:block;inset:0;width:0;height:0;filter:none}.transport-token.amphibious-fleet .warship-mini{position:absolute;left:0;top:0;width:11px;height:14px;will-change:transform;filter:drop-shadow(0 1px 1px #001b22) drop-shadow(0 0 2px #78d9c4)}.naval-defense-action{border-left:3px solid #44d9ff}.naval-patrol{position:absolute;left:0;top:0;width:19px;height:23px;z-index:13;pointer-events:none;color:#8cecff;filter:drop-shadow(0 1px 1px #001b22) drop-shadow(0 0 4px #44d9ff)}.naval-patrol svg{display:block;width:100%;height:100%}.naval-patrol .vehicle-body{fill:#5bbbd0;stroke:#05202b;stroke-width:1.4}.naval-patrol .vehicle-detail{fill:#143e4c}

#attack-alert{position:fixed;top:94px;right:20px;z-index:80;width:min(330px,calc(100vw - 40px));display:grid;gap:4px;text-align:left;padding:14px 16px;border:2px solid #ff5544;background:#260705f2;color:#ffd0c8;box-shadow:0 0 28px #ff281f70,0 10px 30px #000b;transform:translateX(calc(100% + 45px));opacity:0;pointer-events:none;transition:transform .22s ease-out,opacity .22s}#attack-alert.visible{transform:translateX(0);opacity:1;pointer-events:auto;animation:attack-alert-pulse .7s steps(2,end) 3}#attack-alert b{color:#ff6c58;font-size:12px;letter-spacing:1.6px}#attack-alert strong{font-size:20px;color:#fff0e8}#attack-alert small{color:#e6a197} attack-alert-pulse{50%{border-color:#ffd35c;box-shadow:0 0 38px #ff3028aa,0 10px 30px #000b}}(max-width:760px){#attack-alert{top:132px;right:10px;width:min(300px,calc(100vw - 20px))}}

/* Beta tester feedback controls. */
#beta-feedback{position:fixed;z-index:72;top:64px;right:18px;display:flex;gap:6px}#beta-feedback button{padding:7px 9px;background:#0a1710e8;font-size:10px}#beta-feedback button:first-child{border-color:#8c743d;color:#e4c879}#feedback-dialog{width:min(520px,calc(100vw - 30px));border:1px solid #527e5e;background:#07110bf8;color:#c9ddcd;padding:24px;box-shadow:0 22px 80px #000d}#feedback-dialog::backdrop{background:#020604d9;backdrop-filter:blur(4px)}#feedback-dialog h2{margin:8px 0;color:#dcecdf;text-transform:uppercase}#feedback-dialog label{display:grid;gap:6px;margin:15px 0;color:#9fc7aa}#feedback-dialog textarea{box-sizing:border-box;width:100%;min-height:125px;resize:vertical;border:1px solid #3a6548;background:#030806;color:#dcecdf;padding:10px;font:14px/1.4 "Courier New",monospace}#feedback-dialog select{width:100px}.feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.feedback-status{min-height:18px;color:#e4c879;font-size:12px}@media(max-width:760px){#beta-feedback{top:58px;right:8px;left:8px;justify-content:flex-end}#beta-feedback button{max-width:145px;padding:5px;font-size:8px}}
#beta-welcome{width:min(540px,calc(100vw - 30px));border:1px solid #527e5e;background:#07110bf8;color:#c9ddcd;padding:28px;box-shadow:0 22px 80px #000d;font:16px/1.55 "Courier New",monospace}#beta-welcome::backdrop{background:#020604d9;backdrop-filter:blur(4px)}#beta-welcome h2{margin:10px 0;color:#e4c879;letter-spacing:1px}#beta-welcome p{color:#b7cdbb;margin:18px 0 22px}#beta-welcome button{width:100%;font-weight:bold;letter-spacing:1px}

/* Beta 0.4.0: faction selection and persistent city links. */
#faction-picker,#difficulty-picker{width:min(760px,calc(100vw - 32px));max-height:90dvh;overflow:auto;border:1px solid #527e5e;background:#07110bf8;color:#c9ddcd;padding:26px;box-shadow:0 22px 90px #000d}#faction-picker::backdrop,#difficulty-picker::backdrop{background:#020604e8;backdrop-filter:blur(5px)}#faction-picker h2,#difficulty-picker h2{margin:8px 0;color:#e4c879;letter-spacing:1px}.difficulty-grid{display:grid;gap:10px;margin:20px 0}.difficulty-grid button{padding:16px;text-align:left;font-size:18px;letter-spacing:1px}.faction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0}.faction-grid button{display:grid;grid-template-columns:18px 1fr;gap:2px 9px;align-items:center;text-align:left;padding:12px}.faction-grid button i{grid-row:1/3;width:13px;height:30px;background:var(--faction-color);border:1px solid #dcecdf55}.faction-grid button strong{font-size:14px}.faction-grid button small{font-size:10px}.connection-action{border-left:3px solid #75bfe8!important}.citylabel.connection-target{box-shadow:0 0 0 3px #75bfe855,0 0 13px #75bfe8!important}.citylabel.connection-target:hover::after{content:'⌁';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#d7efff;font-size:25px;text-shadow:0 0 7px #75bfe8;pointer-events:none}@media(max-width:620px){#faction-picker,#difficulty-picker{padding:18px}.faction-grid{grid-template-columns:1fr}}

/* Beta 0.8.1: concise mission briefing before command begins. */
.briefing-purpose{display:grid;gap:8px;margin:14px 0}.briefing-purpose p{display:grid;gap:4px;margin:0;padding:10px 12px;border-left:3px solid #56db6d;background:#07140d}.briefing-purpose strong{color:#ffc45f;font-size:13px;letter-spacing:1px}.briefing-purpose span{color:#c8ead0;font-size:14px;line-height:1.45}

.build-preview-icon{position:absolute;inset:0;display:block;background:#101a1c;color:#77d9ff;border-radius:2px;padding:2px;pointer-events:none}.build-preview-icon.missile{color:#ffcf4a}.build-preview-icon.ballistic{color:#dc8cff}.build-preview-icon.base-preview{color:#f6d274;background:#17251b}.build-preview-icon .facility-badge{display:block!important}.ground-target:has(.build-preview-icon){animation:none}.build-preview-icon.missile svg,.build-preview-icon.ballistic svg{fill:currentColor}
