:root{font-family:system-ui,system-ui,sans-serif;color:#183f35;background:#c9dece;--green:#12785c;--muted:#537468;--border:#d2dfd3;--paper:#f7faf2}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #38c695;outline-offset:3px}[hidden]{display:none!important}#battlefield,#mapLabels,.vignette{position:fixed;inset:0}#battlefield canvas{display:block;touch-action:none;width:100%;height:100%}#mapLabels{pointer-events:none;overflow:hidden}.vignette{pointer-events:none;background:linear-gradient(#e5f1e37a,transparent 28%,transparent 70%,#cedfd060)}.topbar{position:fixed;top:max(18px,env(safe-area-inset-top));left:24px;right:24px;display:flex;gap:12px;justify-content:space-between;z-index:2}.nationIdentity,.resources>button{display:flex;align-items:center;gap:12px;border:1px solid #fff;background:#f8fcf1f2;box-shadow:0 5px 22px #193e2e15;border-radius:17px;padding:10px 15px;backdrop-filter:blur(16px);min-height:57px}.nationIdentity>span:first-child{font-size:29px}.nationIdentity>span:last-child{text-align:left;display:flex;flex-direction:column;gap:2px}.nationIdentity b{font:800 15px system-ui,system-ui}.nationIdentity small{font-size:10px;letter-spacing:.8px;color:#5f8070}.resources>button{gap:20px;min-height:57px}.resources b{font:800 20px system-ui,system-ui;font-variant-numeric:tabular-nums}.resources i{font-style:normal;color:#b99646;font-size:21px}.resources span:last-child i{color:#6b919a}.worldTitle{position:fixed;top:100px;left:30px;pointer-events:none}.status{font-size:10px;letter-spacing:.8px;display:inline-flex;gap:6px;align-items:center}.status::before{content:'';width:6px;height:6px;border-radius:50%;background:#b48749;box-shadow:0 0 0 3px #b4874920}.status.online::before{background:#1f9c71;box-shadow:0 0 0 3px #1f9c7120}.status.offline::before{background:#b86648}.worldTitle h1{font:800 30px/1.15 system-ui,sans-serif;margin:10px 0 6px;letter-spacing:-1.1px;text-shadow:0 1px 15px #edf5e6}.worldTitle p{font-size:13px;margin:0;color:#3f6b55;text-shadow:0 1px 8px #edf5e6}.maptools{position:fixed;right:24px;top:110px;display:flex;flex-direction:column;gap:8px}.maptools button{width:43px;height:44px;background:#f7fcf0ed;border:1px solid #fff;border-radius:13px;font-size:23px;box-shadow:0 4px 15px #28463316}.maplegend{position:fixed;left:26px;bottom:26px;display:flex;align-items:center;gap:6px;font-size:11px;background:#f5faefd9;padding:9px 12px;border:1px solid white;border-radius:12px;color:#4c705b}.maplegend i{height:7px;width:7px;border-radius:50%;background:#258f70}.maplegend .protected{border:1px solid #dfbc61;background:#fff2b6;margin-left:6px}.commandDock{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);width:445px;max-width:calc(100% - 24px);border:1px solid #fff;border-radius:23px;box-shadow:0 12px 45px #183d2b23;background:#f8fcf2f5;backdrop-filter:blur(22px);padding:15px;z-index:2}.dockhead{display:flex;align-items:center;gap:10px}.sectorIcon{display:grid;place-items:center;width:43px;height:43px;background:#e1ecdc;border-radius:13px;font-size:26px;color:#32775b}.dockhead>div{flex:1;min-width:0}.dockhead small{font-size:10px;letter-spacing:.8px;color:#698470;font-weight:700}.dockhead h2{font:800 17px system-ui,sans-serif;margin:2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dockhead p{font-size:12px;color:#5f7a65;margin:0}.dockhead>button{height:38px;width:38px;border-radius:12px;background:#e8f0e2;font-size:22px}#armyRoster{display:flex;gap:7px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;padding:12px 0 8px;min-height:10px}#armyRoster button{display:flex;gap:8px;align-items:center;flex-shrink:0;min-height:43px;padding:7px 10px;background:#e7efdf;border:1px solid #cfddc6;border-radius:11px;text-align:left;font-size:12px}#armyRoster button.active{background:#187b60;color:white;border-color:#187b60}#armyRoster button>span{font-size:21px}#armyRoster small{display:block;font-size:10px;opacity:.75}.orderrow{display:flex;gap:7px}.orderrow button{background:#e4eddd;border:1px solid #cbdcc5;min-height:43px;padding:9px 13px;border-radius:11px;font-size:13px;font-weight:700}.orderrow .primary{flex:1}.primary{background:#127a5d;color:white;border:1px solid #0c6f52;border-radius:12px;padding:13px 17px;font-weight:700;min-height:47px;box-shadow:0 5px 16px #127a5d20}#armyHint{font-size:11px;color:#5e7e66;margin:8px 0 0}.bottomNav{position:fixed;bottom:max(13px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:4px;background:#f7fbf0f5;border:1px solid #fff;border-radius:19px;padding:8px;width:445px;max-width:calc(100% - 24px);box-shadow:0 6px 25px #2246301c;z-index:2}.bottomNav button{display:flex;align-items:center;flex-direction:column;gap:2px;flex:1;min-height:47px;border-radius:12px;background:transparent;font-size:11px;font-weight:600;color:#52735d}.bottomNav button span{font-size:22px;line-height:1.2}.bottomNav button.active{background:#dcebdc;color:#1b7457}#toast{position:fixed;top:210px;left:50%;transform:translateX(-50%);padding:12px 17px;background:#174c3ded;color:#f2fff2;border:1px solid #d2ecd5;border-radius:13px;max-width:calc(100% - 30px);width:max-content;font-size:13px;box-shadow:0 6px 25px #184b3624;z-index:20;pointer-events:none}#connectionBanner{position:fixed;top:200px;left:50%;transform:translateX(-50%);background:#fff2d8;border:1px solid #d9bb87;border-radius:13px;max-width:90%;padding:10px 12px;display:flex;align-items:center;gap:10px;font-size:12px;z-index:8}#connectionBanner button{background:#e7d2a6;border-radius:8px;min-height:40px;padding:8px;font-weight:700}dialog{border:1px solid #fff;border-radius:25px;background:var(--paper);color:#193f32;box-shadow:0 25px 100px #11372455;max-width:calc(100% - 24px);padding:26px;width:480px;max-height:92dvh}dialog::backdrop{background:#1b3d3355;backdrop-filter:blur(8px)}dialog h2{font:800 29px/1.15 system-ui,sans-serif;letter-spacing:-1px;margin:10px 0}dialog p{font-size:13px;line-height:1.65;color:#5a7962}.brand{display:flex;align-items:center;gap:8px;font-size:31px;color:#218164;margin-bottom:25px}.brand b{font:800 15px system-ui;letter-spacing:1px}.brand span{margin-left:auto;font-size:10px;letter-spacing:2px;color:#658770}#welcome h2{font-size:36px;margin:15px 0 10px;letter-spacing:-1.4px}#welcome form>label{font-size:12px;display:block;font-weight:700;margin:15px 0 7px}input,select{width:100%;background:#e7efdf;border:1px solid #c6d7bd;padding:12px;border-radius:10px;color:#214a35;min-height:44px}#flagChoices{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}#flagChoices button{border:1px solid #cfddc8;background:#e5efdc;border-radius:10px;min-height:43px;font-size:25px}#flagChoices button.active{background:#cbe5d3;border:2px solid #268f6c}.homelandNote{display:flex;flex-direction:column;gap:4px;padding:12px;background:#e5eedc;border-radius:12px;margin:18px 0;font-size:12px;color:#688066}.homelandNote b{color:#396a4c}#joinButton{width:100%}.practice{display:block;color:#4c8060;font-size:12px;text-align:center;margin-top:16px;padding:5px}#panel{width:570px;padding:23px;overscroll-behavior:contain}.panelhead{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #d5e0cc;padding-bottom:14px;margin-bottom:15px}.panelhead h2{font-size:27px;margin:6px 0 0}.panelhead>button{height:40px;width:40px;border-radius:12px;background:#e5eddf;font-size:25px;flex-shrink:0}.card{background:#e9f1e1;border:1px solid #d4e1cb;border-radius:14px;padding:15px;margin:9px 0}.cardhead{display:flex;align-items:center;gap:10px;justify-content:space-between}.card h3{font:800 15px system-ui;margin:0}.card p{font-size:12px;line-height:1.6;margin:7px 0}.card .meta{font-size:11px;color:#607e64}.card button,.pillbutton{background:#d6e5cd;border:1px solid #bdcfb3;border-radius:10px;min-height:40px;padding:8px 12px;font-size:12px;font-weight:700}.card button.primary{padding:8px 12px;min-height:40px}.card .actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.progress{height:5px;border-radius:5px;background:#cdddbe;margin:10px 0 5px;overflow:hidden}.progress i{height:100%;display:block;background:#2e9e72}.chips{display:flex;gap:7px;flex-wrap:wrap;font-size:11px;color:#4d7057}.chips span{background:#dfead4;border-radius:7px;padding:5px 8px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stat{background:#e8f0df;border:1px solid #d4e0c9;border-radius:12px;padding:12px}.stat b{display:block;font:800 22px system-ui}.stat small{font-size:11px;color:#668266}.ranking{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #d5e2cb}.ranking .position{font:800 20px system-ui;color:#879c7c;min-width:25px}.ranking .flag{font-size:27px}.ranking>div{flex:1}.ranking b{display:block;font-size:14px}.ranking small{font-size:11px;color:#62815f}.ranking strong{font:800 19px system-ui}.ranking.mine{background:#e1efdb;border-radius:12px;padding:13px 9px}.history{width:100%;height:100px;display:block}.empty{text-align:center;background:#e9f0e2;border:1px dashed #bcccaf;border-radius:14px;padding:22px 15px;color:#617f60;font-size:13px}.error{color:#b1563e;font-size:12px}.report{padding:12px 0;border-bottom:1px solid #d8e1d0;font-size:13px}.report small{display:block;color:#789071;font-size:11px;margin-top:4px}.nationRow{display:flex;gap:8px;align-items:center}.nationRow select{flex:1}.tabrow{display:flex;gap:7px;margin-bottom:14px}.tabrow button{flex:1;min-height:40px;border-radius:10px;background:#e5eddd;font-size:12px}.tabrow button.active{background:#1d7e5e;color:white}.mapbadge{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;min-height:38px;padding:5px 9px;border:1px solid #ffffffe6;border-radius:10px;background:#f5f8ebeb;box-shadow:0 3px 10px #1b453322;color:#285638;font:800 12px system-ui,sans-serif}.mapbadge.army{min-width:43px;border-bottom:3px solid var(--army-color);font-variant-numeric:tabular-nums}.mapbadge.selected{background:#157d5e;color:#fff}.mapbadge.capital{font:600 11px system-ui,system-ui;max-width:155px;overflow:hidden;text-overflow:ellipsis}.mapbadge.battle{background:#a66633;color:white}.mapbadge.moving::before{content:'› ';color:#22936d}#loading{position:fixed;inset:0;z-index:30;background:#e9f1e2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#50765a}.spinner{height:30px;width:30px;border:3px solid #c8dabb;border-top-color:#2c9570;border-radius:50%;animation:spin 1s linear infinite}#loading a{color:#4c8060;font-size:12px}#graphicsFallback{position:fixed;left:30%;top:33%;max-width:65%;background:#eef5e7;border-radius:16px;padding:18px}#graphicsFallback p{font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:650px){.topbar{left:12px;right:12px;top:max(12px,env(safe-area-inset-top));gap:7px}.nationIdentity{max-width:55%;padding:9px 10px;gap:7px;min-height:51px}.nationIdentity>span:first-child{font-size:24px}.nationIdentity b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:140px}.nationIdentity small{font-size:9px;letter-spacing:.3px}.resources>button{padding:10px;gap:10px;min-height:51px}.resources b{font-size:15px}.resources i{font-size:17px}.worldTitle{left:18px;top:85px}.status{font-size:9px}.worldTitle h1{font-size:23px;margin:7px 0 4px;letter-spacing:-.7px}.worldTitle p{font-size:12px;max-width:270px}.maptools{right:12px;top:191px;gap:7px}.maptools button{width:39px;height:43px;font-size:21px}.maplegend{left:17px;bottom:342px;padding:7px 9px;font-size:10px;gap:4px}.commandDock{bottom:max(86px,calc(env(safe-area-inset-bottom) + 75px));padding:12px;border-radius:20px}.dockhead h2{font-size:15px}.dockhead p{font-size:11px}.dockhead small{font-size:9px}.sectorIcon{width:37px;height:39px;font-size:23px}#armyRoster{padding-top:10px}#armyRoster button{min-height:41px;font-size:11px}#armyRoster small{font-size:10px}.orderrow button{padding:9px 10px;font-size:12px;min-height:42px}#armyHint{font-size:10px;line-height:1.5}.bottomNav{bottom:max(12px,env(safe-area-inset-bottom));padding:6px}.bottomNav button{font-size:10px;min-height:44px}.bottomNav button span{font-size:21px}#toast{top:164px;font-size:12px;padding:10px 13px}#connectionBanner{top:167px;width:calc(100% - 28px);max-width:none;font-size:12px}dialog{padding:22px;border-radius:22px}#welcome h2{font-size:31px}.brand{margin-bottom:20px}#panel{padding:19px;max-height:88dvh;margin-bottom:max(15px,env(safe-area-inset-bottom))}.panelhead h2{font-size:24px}.card{padding:12px}.stats{gap:6px}.stat{padding:10px}.stat b{font-size:20px}.ranking b{font-size:12px}.ranking small{font-size:10px}.ranking strong{font-size:16px}.mapbadge{font-size:11px;min-height:35px}.mapbadge.capital{font-size:10px;max-width:125px}}
@media(max-height:600px) and (min-width:650px){.worldTitle{display:none}.commandDock{left:12px;transform:none;width:330px;bottom:83px;padding:10px}.maplegend{display:none}.bottomNav{left:12px;transform:none;width:330px}.maptools{top:95px;right:12px}#toast{top:85px}#welcome{max-height:94dvh}#welcome h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*{animation:none;scroll-behavior:auto}}

.maplegend i:first-child{background:var(--nation-color,#258f70)}
/* A readable command screen: rank, one next action, then the battlefield. */
svg{display:block;width:23px;height:23px;flex-shrink:0}.worldTitle,.maplegend{display:none}.resources>button>span{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.resources small{font-size:10px;color:#587461}.resources i{display:none}.nationIdentity small{font-size:11px;letter-spacing:0}.maptools svg{width:22px;height:22px;margin:auto}.dockhead svg{width:23px;height:23px;margin:auto}.bottomNav button{gap:4px;justify-content:center}.bottomNav svg{width:23px;height:23px}.bottomNav button>span{font-size:11px;line-height:1.3}.unitSymbol{display:grid;place-items:center;width:30px;height:32px}.unitSymbol svg{width:27px;height:27px}.cardhead h3{display:flex;align-items:center;gap:9px}.cardhead h3 svg{width:25px;height:25px}.cardhead>small{font-size:11px;text-align:right;max-width:95px}.mapbadge.army{min-width:90px;font:700 11px system-ui,system-ui;padding:8px 9px}.rankBanner{position:fixed;top:98px;left:26px;width:335px;display:flex;align-items:center;gap:12px;padding:15px;background:#f8fcf2f5;border:1px solid #fff;border-radius:18px;text-align:left;box-shadow:0 5px 24px #26463315;z-index:2}.rankSummary{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.rankSummary>small{font-size:9px;letter-spacing:1px;font-weight:700;color:#6b7b5b}.rankSummary>b{font:800 20px/1.2 system-ui,system-ui}.rankSummary>span:not(.rankProgress){font-size:11px;color:#597258}.rankProgress{display:block;height:5px;background:#dbe5d1;border-radius:5px;overflow:hidden;margin-top:4px}.rankProgress i{display:block;height:100%;background:#b4924f;min-width:2px}.rankOpen{font-size:10px;color:#6b7b5b;max-width:35px;text-align:center}.rank-insignia{width:43px;min-height:49px;padding:8px 6px;border:1px solid #bba76d;border-radius:11px;background:linear-gradient(145deg,#f4e6b9,#d9c68a);box-shadow:inset 0 0 0 2px #fff6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex-shrink:0;color:#715826}.rank-insignia>i:not(.pip){display:block;border:solid #84682e;border-width:0 3px 3px 0;transform:rotate(45deg);width:17px;height:17px;margin-top:-8px}.rank-insignia>i:not(.pip):first-child{margin-top:-7px}.rank-insignia .pip{display:block;width:10px;height:10px;background:#957838;border:1px solid #715724;transform:rotate(45deg);margin:2px}.rank-insignia>span{font-size:25px;line-height:1}.nextOrder{position:fixed;left:26px;top:215px;width:335px;z-index:2;background:#f8fcf2f5;border:1px solid #fff;border-radius:18px;padding:15px;box-shadow:0 6px 24px #26463315}.nextOrder small{font-size:10px;letter-spacing:1px;color:#63815f;font-weight:700}.nextOrder h2{font:800 18px/1.25 system-ui,sans-serif;margin:5px 0}.nextOrder p{font-size:12px;line-height:1.5;margin:3px 0 10px;color:#56735b}.nextOrder button{width:100%;font-size:13px;min-height:43px;padding:10px}.nextOrder>span{display:block;font-size:11px;line-height:1.5;color:#677b5d;margin-top:7px}.nextOrder>span:empty{display:none}.promotionCard{display:flex;align-items:center;gap:14px;padding:18px;background:linear-gradient(125deg,#ede3bf,#f4f5e7);border:1px solid #d8c797;border-radius:16px;margin:12px 0}.promotionCard>div{flex:1;min-width:0}.promotionCard small{font-size:10px;font-weight:700;letter-spacing:1px;color:#7c714a}.promotionCard h3{font:800 24px/1.15 system-ui,sans-serif;margin:5px 0;color:#40552f}.promotionCard p{font-size:12px;line-height:1.5;margin:7px 0;color:#6b7352}.promotionCard .rank-insignia{min-height:63px;width:50px}.panelIntro{font-size:14px}.xpRewards{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.xpRewards>div{padding:13px 8px;background:#e7efdf;border-radius:12px;text-align:center}.xpRewards b{display:block;font:800 20px system-ui;color:#267d57}.xpRewards span{font-size:11px;color:#5f795c}.missionList{list-style:none;padding:0;margin:18px 0}.missionList li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid #d8e4d0}.missionList li>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid #bfcfb3;background:#e3ecda;color:#5e7956;flex-shrink:0;font-weight:700}.missionList li.complete>span{background:#1b805d;color:white;border-color:#1b805d}.missionList b{font-size:14px}.missionList p{font-size:12px;margin:4px 0;line-height:1.5}.rankRow{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #d4dec9;font-size:13px}.rankRow .rank-insignia{width:30px;min-height:35px;transform:scale(.85)}.rankRow>span:not(.rank-insignia){flex:1}.rankRow small{font-size:11px;color:#647a5a}.rankRow b{font-size:9px;color:#fff;background:#2a8a62;padding:3px 5px;border-radius:4px;margin-left:3px}.rankRow.current{background:#dfebd4;border-radius:10px}.howSteps{padding-left:23px}.howSteps li{padding:9px 0}.howSteps b{font-size:15px}.howSteps p{margin:5px 0}details{border:1px solid #ccdac1;border-radius:12px;background:#edf3e5;padding:12px;margin:15px 0}summary{cursor:pointer;font-size:13px;font-weight:700;min-height:28px;align-content:center}.rankLadder{background:#f1f5e9}.pillbutton{margin:7px 5px 0 0}.missionExplanation h3{font-size:17px}.missionExplanation button{width:100%;margin-top:6px}.stat b{font-size:17px;line-height:1.3}
@media(max-width:650px){.topbar{top:max(12px,env(safe-area-inset-top))}.nationIdentity{min-height:54px;max-width:55%;padding:8px 9px}.nationIdentity small{font-size:10px}.nationIdentity b{max-width:147px}.resources>button{min-height:54px;gap:12px;padding:8px 11px}.resources small{font-size:9px}.rankBanner{top:max(78px,calc(env(safe-area-inset-top) + 66px));left:12px;right:12px;width:auto;padding:10px 12px;min-height:78px;gap:11px;border-radius:16px}.rankSummary>b{font-size:18px}.rankSummary>span:not(.rankProgress){font-size:10px;line-height:1.4}.rankSummary>small{font-size:9px}.rank-insignia{width:37px;min-height:43px;border-radius:10px}.rankOpen{font-size:10px}.nextOrder{left:12px;right:12px;width:auto;top:max(168px,calc(env(safe-area-inset-top) + 156px));padding:11px 12px;border-radius:16px}.nextOrder h2{font-size:17px;margin:3px 0}.nextOrder p{font-size:12px;line-height:1.4;margin:4px 0 8px}.nextOrder button{font-size:13px;min-height:40px;padding:9px}.nextOrder>span{font-size:10px;margin-top:5px}.nextOrder small{font-size:9px}.maptools{top:auto;bottom:330px;right:14px;display:grid;grid-template-columns:repeat(2,39px);gap:7px}.maptools button{height:40px;width:39px}.mapbadge.army{font-size:11px}.commandDock{padding:11px}.dockhead h2{font-size:15px}.dockhead small{font-size:10px}.dockhead p{font-size:11px}#armyRoster button{font-size:12px;min-height:46px}#armyRoster small{font-size:10px}.unitSymbol{width:24px}.unitSymbol svg{width:25px;height:25px}.bottomNav button>span{font-size:11px}.orderrow button{font-size:12px}.bottomNav{gap:2px}#toast{top:auto;bottom:320px;max-width:calc(100% - 24px)}#connectionBanner{top:320px;max-width:calc(100% - 24px);z-index:9}.promotionCard{padding:15px;gap:12px}.promotionCard h3{font-size:23px}.cardhead>small{font-size:10px}.xpRewards b{font-size:18px}.xpRewards span{font-size:10px}}
@media(max-width:650px) and (max-height:760px){.nextOrder p{display:none}.nextOrder h2{margin:5px 0 8px}.nextOrder{padding:10px 12px}.rankBanner{min-height:76px}.maptools{bottom:322px}}
@media(max-height:600px) and (min-width:650px){.rankBanner{left:365px;top:95px;width:330px}.nextOrder{left:365px;top:200px;width:330px;padding:11px}.nextOrder p{display:none}.nextOrder button{min-height:35px;padding:7px}.maptools{display:flex;top:95px;bottom:auto}.rankSummary>b{font-size:17px}}
@media(max-width:350px){.rankOpen{display:none}.rankSummary>b{font-size:16px}.rankSummary>span:not(.rankProgress){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nationIdentity b{max-width:125px}.resources>button{gap:8px;padding:8px}.resources b{font-size:14px}}
/* Progressive disclosure keeps the map open until the player asks for controls. */
.topbar{top:max(12px,env(safe-area-inset-top));left:16px;right:16px}.nationIdentity{max-width:58%}.nationIdentity small{font-size:11px;letter-spacing:0}.nationIdentity b{max-width:220px}.resources>button{gap:12px}.missionChip{position:fixed;top:max(84px,calc(env(safe-area-inset-top) + 72px));left:16px;display:flex;align-items:center;gap:10px;width:310px;max-width:calc(100% - 88px);padding:11px 13px;text-align:left;background:#f7fbf1f5;border:1px solid white;border-radius:16px;box-shadow:0 5px 22px #193e2e18;z-index:2;min-height:62px}.missionChip>span:nth-child(2){flex:1;min-width:0}.missionChip small{display:block;font-size:9px;letter-spacing:.8px;color:#587665;font-weight:700;margin-bottom:4px}.missionChip b{display:block;font-size:13px;line-height:1.4}.missionIcon{font-size:23px;color:#16805d}.openChevron{font-size:25px;color:#72917c}.maptools{right:16px;top:max(84px,calc(env(safe-area-inset-top) + 72px));bottom:auto;display:flex;align-items:flex-end;gap:8px;z-index:3}.maptools #mapToggle{font-size:12px;font-weight:700;width:52px;height:48px}.maptools #mapControls{display:flex;flex-direction:column;gap:7px;padding:7px;background:#f7fbf1f2;border:1px solid white;border-radius:16px}.maptools #mapControls button{width:44px;height:44px;box-shadow:none;background:#e5eddf}.bottomNav{width:auto;max-width:calc(100% - 32px);bottom:max(18px,env(safe-area-inset-bottom));padding:0;border-radius:18px;left:50%;transform:translateX(-50%)}.bottomNav #commandMenu{display:flex;flex-direction:row;gap:10px;align-items:center;min-height:56px;padding:13px 25px;color:white;background:#153f34;border-radius:17px;font-size:14px}.bottomNav #commandMenu>span{font-size:14px}.bottomNav #commandMenu svg{width:24px;height:24px}.commandDock{left:50%;transform:translateX(-50%);bottom:max(88px,calc(env(safe-area-inset-bottom) + 70px));width:440px;max-height:calc(100dvh - 245px);overflow:auto;padding:12px 15px;border-radius:22px;z-index:4}.contextBar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}.contextBar>span{font-size:9px;letter-spacing:1px;font-weight:700;color:#607f69}.contextBar>button{width:38px;height:38px;border-radius:50%;font-size:23px;background:#e5eddf}.dockhead h2{font-size:16px}.dockhead p{font-size:12px;line-height:1.4}#armyRoster{display:none}#armyHint{font-size:12px;line-height:1.5;margin-top:10px}.orderrow{margin-top:14px}.orderrow button{min-height:46px;font-size:13px}.panelhead{position:sticky;top:-23px;background:var(--paper);padding-top:12px;z-index:2;align-items:center}.panelhead>div{flex:1}.panelhead h2{font-size:24px}.panelhead>button{min-width:44px;height:44px}.panelhead #panelBack{font-size:30px}.commandGrid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:18px 0 3px}.commandGrid>button{display:flex;align-items:center;gap:12px;text-align:left;min-height:90px;padding:14px;background:#e7efdf;border:1px solid #d2dfcb;border-radius:15px}.commandGrid>button>span:nth-child(2){flex:1}.commandGrid b{font-size:14px;display:block}.commandGrid small{display:block;font-size:11px;line-height:1.4;color:#597660;margin-top:5px}.commandGrid>button>span:last-child{font-size:22px;color:#749278}#panel{max-height:85dvh}#toast{top:auto;bottom:95px}#connectionBanner{top:max(158px,calc(env(safe-area-inset-top) + 146px))}
@media(max-width:650px){.topbar{left:12px;right:12px}.nationIdentity{max-width:58%;min-height:56px}.nationIdentity b{font-size:12px;max-width:155px}.nationIdentity small{font-size:10px}.resources>button{min-height:56px;padding:9px;gap:9px}.resources b{font-size:14px}.missionChip{left:12px;max-width:calc(100% - 84px);top:max(80px,calc(env(safe-area-inset-top) + 68px));min-height:63px}.maptools{right:12px;top:max(80px,calc(env(safe-area-inset-top) + 68px))}.missionChip b{font-size:13px}.commandGrid{grid-template-columns:1fr}.commandGrid>button{min-height:70px;padding:12px}.commandGrid small{font-size:12px;margin-top:3px}.commandDock{max-width:calc(100% - 24px)}#panel{padding:18px;margin:auto auto max(12px,env(safe-area-inset-bottom));border-radius:25px 25px 18px 18px}.panelhead{top:-18px}.promotionCard{padding:13px}.promotionCard h3{font-size:22px}.promotionCard small{font-size:9px}.promotionCard p{font-size:12px}.bottomNav{width:auto}.bottomNav #commandMenu{padding:12px 25px}.orderrow button{font-size:12px;padding:10px}.sectorIcon{width:38px;min-width:38px}}
@media(max-width:350px){.nationIdentity b{max-width:125px}.nationIdentity small{font-size:9px}.resources>button{gap:7px;padding:8px}.resources b{font-size:12px}.missionChip{gap:8px;padding:10px}.missionChip small{font-size:8px}.missionChip b{font-size:12px}.commandDock{padding:10px}.dockhead p{font-size:11px}}
@media(max-height:600px) and (min-width:650px){.missionChip{top:85px;left:16px;width:310px}.maptools{top:85px}.commandDock{left:16px;transform:none;bottom:16px;width:360px;max-height:calc(100dvh - 165px)}.bottomNav{left:auto;right:16px;transform:none}.panelhead{top:-23px}#panel{max-height:94dvh}.commandGrid{grid-template-columns:1fr 1fr}.commandGrid>button{min-height:75px}}
.chooseArmy{display:block;width:100%;text-align:left;background:#e5eddf;border:1px solid #d0ddc8;border-radius:11px;padding:11px 12px;font-size:12px;font-weight:700;min-height:44px;margin-top:12px}
/* Frontline visual system: ink panels, warm metal and clear battlefield markers. */
:root{--paper:#152a30;--green:#d8b66c;--muted:#acbfc1;--border:#3b5358;color:#e9f0ed;background:#233f42}button{transition:background .15s,border-color .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#f0cc80}.vignette{background:linear-gradient(#102d3233,transparent 24%,transparent 70%,#0e262e30)}.nationIdentity,.resources>button{background:#11292ff2;color:#f0f3ec;border:1px solid #9bb7b344;border-radius:15px;box-shadow:0 8px 28px #0b212c30;backdrop-filter:blur(18px)}.nationIdentity b{letter-spacing:-.25px}.nationIdentity small,.resources small{color:#bbcccb}.nationIdentity>span:first-child{font-size:25px}.resources b{font-size:16px;color:#f0ce8d}.missionChip{background:#132c32f5;color:#f1f4ec;border-color:#b5c9c04d;box-shadow:0 8px 28px #0b212c26;border-radius:15px}.missionChip small{color:#c2aa76}.missionChip b{font-weight:700}.missionIcon{color:#f0ce8d}.openChevron{color:#c7d6d2}.maptools button,.maptools #mapControls{background:#142d34f5;color:#f0f3eb;border:1px solid #91aca350;box-shadow:0 5px 18px #0d26302b}.maptools #mapControls button{background:#253f45;border-color:#4b6368}.bottomNav{background:transparent;border-color:#d9bf8077;box-shadow:0 9px 35px #071b2945}.bottomNav #commandMenu{background:linear-gradient(150deg,#233e45,#112b33);color:#f1d49b;min-width:164px;justify-content:center}.bottomNav #commandMenu>span{letter-spacing:.3px}.commandDock{background:#132b32f7;border-color:#a6bab05c;color:#ecf2ed;box-shadow:0 18px 60px #081d2d55}.contextBar>span{color:#c0aa7c}.contextBar>button,.dockhead>button{background:#2b454c;color:#dae7e1}.dockhead small{color:#abc0bc}.dockhead p,#armyHint{color:#b7c9c5}.sectorIcon{background:#2a4447;color:#e7c884}.chooseArmy{background:#254149;color:#eef3eb;border-color:#4c666a}.orderrow button{background:#2c454b;color:#d9e6e0;border-color:#51666a}.primary{background:linear-gradient(120deg,#e4c583,#c9a25b);color:#172d32;border-color:#edd79f;box-shadow:0 5px 18px #050f1620}button:disabled{opacity:.48}.mapbadge{background:#162f36f2;border:1px solid #9bb3ad88;border-radius:9px;color:#f4f5ee;box-shadow:0 5px 16px #10293135;backdrop-filter:blur(8px)}.mapbadge.army{border-bottom:2px solid var(--army-color);padding:7px 10px;font-size:11px;min-width:110px;text-align:left}.mapbadge.selected{background:#e0c38c;color:#192f34;border:1px solid #f4dfb0}.mapbadge.capital{background:#e9e5d3ed;color:#253c3f;border-color:#fff8dc;font-weight:700;padding:6px 10px}.mapbadge.battle{background:#874632;color:white}.mapbadge.moving::before{color:#ecd18d}.mapUnitTitle{display:flex;align-items:center;gap:6px;white-space:nowrap}.mapUnitTitle svg{width:18px;height:18px}.mapUnitHealth{display:flex;align-items:center;gap:7px;margin-top:4px;font-size:9px;opacity:.9}.mapUnitHealth>i{display:block;height:3px;background:#9cb0a94d;width:58px;border-radius:3px;overflow:hidden}.mapUnitHealth>i>b{display:block;height:100%;background:#8fbfa2}.selected .mapUnitHealth>i>b{background:#335a46}dialog{background:#152a30;color:#edf3ed;border-color:#78918d6b;box-shadow:0 30px 100px #06192388}dialog::backdrop{background:#081b265e;backdrop-filter:blur(7px)}.panelhead{background:var(--paper);border-color:#40565a}.panelhead>button{background:#2a4249;color:#ecf2ec}dialog p,.panelIntro{color:#b5c8c7}.commandGrid>button{background:linear-gradient(110deg,#243d44,#1c343c);border:1px solid #435b5e;color:#edf3ed;box-shadow:inset 0 1px #b4d0c509}.commandGrid>button>svg{color:#dbbc7e}.commandGrid small{color:#a9bfbd}.commandGrid>button>span:last-child{color:#b0c5bf}.promotionCard{background:linear-gradient(120deg,#3b443a,#253d3b);border-color:#b7995b88}.promotionCard h3{color:#f3dfb0}.promotionCard small{color:#d5bc88}.promotionCard p{color:#ced5c3}.rankProgress{background:#53625c}.rankProgress i{background:#e3c37d}.rank-insignia{background:linear-gradient(145deg,#f4dba3,#b69351);box-shadow:inset 0 0 0 2px #fff3;border-color:#ead39b}.card,.stat,.empty{background:#203940;border-color:#3c555b;color:#e7efea}.card .meta,.cardhead>small,.chips,.stat small{color:#b2c7c4}.card button,.pillbutton{background:#324d53;border-color:#5a7173;color:#eaf1eb}.chips span{background:#2e484d;color:#c9d9cf}.homelandNote{background:#243e41;color:#b8cbc3}.homelandNote b{color:#ead3a2}.rankRow{border-color:#3d5358}.rankRow.current{background:#2e494a}.rankRow small{color:#b8c9c0}.xpRewards>div{background:#244046}.xpRewards b{color:#e5c783}.xpRewards span{color:#bdcfca}.missionList li{border-color:#3a5458}.missionList li>span{background:#304a4f;color:#dfd5b6;border-color:#6d7f75}.missionList li.complete>span{background:#4f7861;color:#fff;border-color:#7a9f7b}details,.rankLadder{background:#20383e;border-color:#3e585d;color:#e2eae4}.progress{background:#3c5557}.progress i{background:#d4b873}.ranking{border-color:#3b5457}.ranking.mine{background:#2b474a}.ranking small{color:#b8cbc5}.ranking .position{color:#ceb782}.ranking strong{color:#e1ca95}.tabrow button{background:#29434a;color:#c4d4cb}.tabrow button.active{background:#d5b77c;color:#152d33}.report{border-color:#3d5559}.report small{color:#9eb8b5}.nationRow label{color:#c9d5ce}input,select{background:#243d44;border-color:#526b6e;color:#edf2e9}.brand{color:#e0c184}.brand span{color:#a6bdb8}.practice,#loading a{color:#dfc68b}#flagChoices button{background:#2a4347;border-color:#4c6466}#flagChoices button.active{background:#52634f;border-color:#e6c88d}#loading{background:#142d34;color:#c1d0c6}.spinner{border-color:#3e5759;border-top-color:#e4c68a}#toast{background:#18373e;color:#f4e4bd;border-color:#9e956e}#connectionBanner{background:#efe1b7;color:#4b3e26}#graphicsFallback{background:#203c43;color:white}#graphicsFallback p{color:#c8d6ce}@media(max-width:650px){.resources b{font-size:14px}.nationIdentity b{font-size:12px}.mapbadge.army{min-width:110px}.missionChip small{font-size:9px}.missionChip b{font-size:13px}}@media(max-width:350px){.resources b{font-size:12px}.missionChip small{font-size:8px}}
/* A promotion is a moment to celebrate, with no flashing or forced timeout. */
#promotionReveal{padding:0;width:430px;max-width:calc(100% - 28px);max-height:calc(100dvh - 28px);border:1px solid #d8bc7e99;border-radius:28px;overflow:auto;background:radial-gradient(ellipse at 50% 28%,#485744 0,#20383c 42%,#112a32 78%);box-shadow:0 0 90px #d9b86b24,0 30px 110px #061923aa;animation:promotionArrival .6s cubic-bezier(.16,1,.3,1) both}#promotionReveal::backdrop{background:#061720a6;backdrop-filter:blur(10px);animation:promotionBackdrop .4s ease both}.promotionStage{position:relative;isolation:isolate;overflow:hidden;padding:35px 25px 22px;text-align:center}.promotionMedal{position:relative;margin:36px auto 30px;width:108px;animation:promotionMedal 1.1s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 8px 26px #efc87845)}.promotionMedal .rank-insignia{width:108px;min-height:132px;border-radius:24px;border:2px solid #f8e4af;box-shadow:inset 0 0 0 5px #fff2,0 8px 35px #081c2844;gap:10px;background:linear-gradient(135deg,#fff1c3 0,#dec086 45%,#987644 100%)}.promotionMedal .rank-insignia>i:not(.pip){width:41px;height:41px;border-width:0 7px 7px 0;margin-top:-20px}.promotionMedal .rank-insignia>i:not(.pip):first-child{margin-top:-15px}.promotionMedal .rank-insignia .pip{width:19px;height:19px}.promotionMedal .rank-insignia>span{font-size:60px}.promotionHalo{position:absolute;z-index:-1;left:50%;top:154px;transform:translate(-50%,-50%);width:230px;height:230px;border:1px solid #e5ce9166;border-radius:50%;background:repeating-conic-gradient(from 0deg,#f8dda310 0deg 2deg,transparent 2deg 30deg);box-shadow:0 0 0 14px #f1cf8f08,0 0 0 35px #f1cf8f04;animation:promotionHalo 1.8s ease-out both}.promotionFrom{font-size:12px;color:#c6cdbc;margin:0 0 8px;animation:promotionCopy .6s .35s both}#promotionTitle{font:800 clamp(28px,7vw,38px)/1.15 system-ui,system-ui;color:#ffe6b1;letter-spacing:-1px;margin:0 0 15px;text-wrap:balance;animation:promotionCopy .6s .45s both}#promotionMessage{font-size:14px;line-height:1.7;color:#d2ddd4;max-width:310px;margin:0 auto 18px;animation:promotionCopy .6s .55s both}.promotionNext{font-size:12px;color:#e7cf9c;background:#d9bb7910;border:1px solid #d9bb792b;padding:12px;border-radius:12px;margin-bottom:22px;animation:promotionCopy .6s .65s both}#promotionContinue{position:relative;width:100%;font-size:14px;min-height:49px}.promotionCareer{position:relative;min-height:44px;margin-top:6px;background:transparent;color:#d5dfd5;font-size:12px;text-decoration:underline;text-underline-offset:4px}.promotionSparks{position:absolute;pointer-events:none;left:50%;top:154px;z-index:-1}.promotionSparks i{position:absolute;left:0;top:0;width:3px;height:9px;border-radius:2px;background:#f5d58e;transform:rotate(var(--angle));animation:promotionSpark 1.6s var(--delay) ease-out both}@keyframes promotionArrival{from{opacity:0;transform:translateY(25px) scale(.94)}to{opacity:1;transform:none}}@keyframes promotionBackdrop{from{opacity:0}to{opacity:1}}@keyframes promotionMedal{0%{opacity:0;transform:translateY(20px) scale(.5) rotate(-12deg)}65%{opacity:1;transform:translateY(-5px) scale(1.06) rotate(3deg)}100%{opacity:1;transform:none}}@keyframes promotionHalo{from{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(-25deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}@keyframes promotionCopy{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes promotionSpark{0%{opacity:0;transform:rotate(var(--angle)) translateY(-40px) scale(.2)}30%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateY(calc(-1 * var(--distance))) scale(.5)}}@media(max-height:680px){.promotionStage{padding-top:24px}.promotionMedal{margin:22px auto 20px}.promotionMedal .rank-insignia{min-height:106px;width:90px;margin:auto}.promotionHalo,.promotionSparks{top:120px}#promotionTitle{font-size:28px}#promotionMessage{font-size:12px;margin-bottom:12px}.promotionNext{margin-bottom:15px}.promotionMedal{width:100px}}@media(prefers-reduced-motion:reduce){#promotionReveal,#promotionReveal::backdrop,.promotionStage *{animation:none}.promotionSparks{display:none}}
/* Battlefield command markers are styled in field-design.css. */
/* National service careers share XP, with small transparent combat modifiers. */
.careerSummary{margin:14px 0;padding:13px;border:1px solid #73806b66;border-radius:13px;background:#213c40}.careerSummary>b{font-size:13px;color:#ebd19d}.careerSummary p{font-size:12px;margin:8px 0;line-height:1.6}.careerBonuses{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.careerBonuses>span{display:flex;align-items:center;gap:5px;background:#2d484b;border:1px solid #59716a;border-radius:9px;padding:8px;font-size:11px;color:#cdd8ca}.careerBonuses svg{width:17px;height:17px;color:#d6bd85}.careerBonuses b{color:#f1d59b}.careerNote{font-size:11px;line-height:1.6}#panelContent>label{display:block;font-size:12px;font-weight:700;margin:16px 0 8px}#careerSave{width:100%;margin:5px 0}.promotionCard small{display:block;line-height:1.5;letter-spacing:.6px}.promotionCard h3{overflow-wrap:anywhere;font-size:22px}.nationIdentity small{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.rank-insignia.service-air{color:#b8d6e1;border-color:#8da9bb;background:repeating-linear-gradient(0deg,#c7e3f508 0 1px,transparent 1px 3px),linear-gradient(140deg,#354f60,#152b3c)}.rank-insignia.service-navy{background:repeating-linear-gradient(0deg,#f5e5bc05 0 1px,transparent 1px 3px),linear-gradient(140deg,#263b51,#10243a);border-color:#c2a663}.service-air .deviceGold{fill:#b6d3df;stroke:#edf4eb}.service-air .deviceLight{fill:#d5e1e4;stroke:#8faaba}#joinCareerPreview{margin-top:15px}#joinCareerPreview .promotionCard{padding:12px;gap:11px}#joinCareerPreview .promotionCard h3{font-size:20px}#joinCareerPreview p{font-size:11px}#careerPreview .promotionCard h3{font-size:22px}#careerStatus{font-size:12px}@media(max-width:350px){.promotionCard h3,#careerPreview .promotionCard h3{font-size:19px}.careerBonuses{gap:5px}.careerBonuses>span{padding:7px;font-size:10px}.nationIdentity small{max-width:135px}}
/* Map-first play: clear navigation, field-unit shortcuts and tactile planning. */
:root{--paper:#14282f;--muted:#acc1c8;--border:#35505a}.primary{background:linear-gradient(135deg,#70e0be,#51bfac);color:#102f32;border-color:#84e8c9;box-shadow:0 4px 18px #2bcda81c}.bottomNav{width:440px;padding:6px;background:#122c36f5;border-color:#6f95954d;box-shadow:0 8px 32px #071b2860}.bottomNav button{min-height:48px;gap:4px;color:#b8cbd0;min-width:0}.bottomNav button svg{width:21px;height:21px}.bottomNav button span{font-size:10px;line-height:1.2}.bottomNav button.active{background:#315951;color:#a7f1d5}.missionChip{overflow:hidden;background:linear-gradient(115deg,#153b43f5,#1b3545f2);border-color:#77b3ac6b}.missionChip:after{content:'';position:absolute;height:3px;bottom:0;left:0;width:var(--objective-progress,0%);background:#8be6b9;transition:width .5s}.missionChip .missionIcon{background:#35594d;color:#b9f5d3}.missionChip small{color:#b6d7d0;letter-spacing:.9px;font-size:9px}.topbar .nationIdentity,.resources>button{background:#102e39ed;border-color:#75999755}.resources b{color:#eef8f6}.nationIdentity small{color:#c2d8d9}#panel{background:linear-gradient(150deg,#1c3540,#13282f 80%);border-color:#64859080}.panelhead{position:sticky;top:-24px;background:#1b333d;z-index:2;padding-top:12px;box-shadow:0 8px 14px #1b333d}.panelhead h2{font-size:25px}.panelhead>button{background:#304c59}.card{background:#213c46;border-color:#64838d40}.card h3{color:#edf7f3}.card p,dialog p{color:#c0d0d3}.operationHero{position:relative;overflow:hidden;border-radius:18px;background:radial-gradient(ellipse at 100% 0%,#3b7c6e80,transparent 70%),linear-gradient(130deg,#17484f,#173241);border:1px solid #86c2aa80;padding:20px}.operationHero:after{content:'';pointer-events:none;position:absolute;right:-65px;top:-90px;width:240px;height:240px;border:1px solid #a8d5be22;border-radius:38%;box-shadow:0 0 0 22px #a8d5be08,0 0 0 45px #a8d5be08,0 0 0 70px #a8d5be05;transform:rotate(30deg)}.operationHero h3{font:800 27px/1.16 system-ui,system-ui;color:#f0fff5;letter-spacing:-.8px;margin:14px 0 10px;max-width:280px}.operationHero p{font-size:13px;margin:0 0 16px;line-height:1.6;position:relative;z-index:1}.operationMeter{height:5px;background:#b4eddb20;border-radius:5px;overflow:hidden}.operationMeter i{height:100%;display:block;background:#8ce6b6;transition:width .4s}.operationFraction{display:block;font-size:11px;color:#c0d7d4;margin-top:8px}.operationLoot{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.operationLoot span{background:#112e37b0;border:1px solid #82c0aa55;color:#e4f6ca;padding:7px 9px;border-radius:8px;font-size:11px;font-weight:700}.operationGoals{display:grid;gap:8px;margin-top:16px}.operationGoals>button{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:1px solid #78939644;background:#29434d;border-radius:13px;min-height:83px;padding:13px}.operationGoals>button:disabled{opacity:.65;background:#204239}.operationGoals>button>i{width:34px;height:34px;border-radius:10px;background:#40616a;color:#b9e1d7;display:grid;place-items:center;font-style:normal;flex-shrink:0}.operationGoals>button>i svg{width:20px;height:20px}.operationGoals span{flex:1;min-width:0}.operationGoals b{display:block;font-size:13px;color:#ecf5f2}.operationGoals small{display:block;font-size:11px;line-height:1.5;color:#bcd0d4;margin-top:4px}.operationGoals strong{color:#bdebd1;font-size:12px;font-variant-numeric:tabular-nums}.operationFootnote{font-size:11px}.operationLinks{display:flex;flex-wrap:wrap;gap:7px}.operationLinks button{flex:1;min-width:115px}.missionExplanation .primary{width:100%;margin-top:10px}.quickForces{position:fixed;bottom:max(89px,calc(env(safe-area-inset-bottom) + 74px));left:50%;transform:translateX(-50%);width:440px;max-width:calc(100% - 24px);z-index:2;padding:8px 10px 10px;background:#102e38e8;border:1px solid #9fc3b64d;border-radius:17px;backdrop-filter:blur(18px);box-shadow:0 10px 35px #071f3a30}.quickForcesHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding:0 2px}.quickForcesHead>span{font-size:9px;font-weight:700;color:#b0ccd0;letter-spacing:1.3px}.quickForcesHead>button{background:none;color:#b2e6d4;font-size:10px;min-height:30px;padding:0 2px}#quickUnits{display:flex;overflow:auto;gap:7px;scrollbar-width:none;overscroll-behavior:contain}#quickUnits>button{display:flex;align-items:center;text-align:left;gap:7px;min-width:188px;max-width:230px;min-height:62px;background:linear-gradient(125deg,#385660,#233e49);border:1px solid #72959770;border-radius:11px;padding:6px 8px;color:#edf7f2}#quickUnits .unitPortrait{width:43px;height:43px;object-fit:contain;margin:0}#quickUnits>button>svg{width:34px;height:34px;color:#9cd4c4}#quickUnits>button>span{flex:1;min-width:0}#quickUnits b{display:block;font-size:11px;white-space:nowrap}#quickUnits small{display:block;font-size:10px;color:#c0d3d3;margin:3px 0 6px}#quickUnits strong{font-size:10px;color:#d3e7d5;align-self:flex-start;margin-top:5px}.unitHealth{height:3px;display:block;max-width:125px;background:#0e283470;border-radius:4px;overflow:hidden}.unitHealth>i{display:block;height:100%;background:#8ae7b5}.tacticsHeading{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;margin-bottom:9px}.tacticsHeading>span{font-size:10px;color:#b3cad0}.tacticChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tacticChoices button{border:1px solid #6c8e9560;border-radius:10px;min-height:51px;padding:8px 3px;background:#1b3540;color:#c8dce0}.tacticChoices button b{display:block;font-size:12px}.tacticChoices button small{display:block;font-size:9px;margin-top:4px;color:#afc8cc}.tacticChoices button[aria-pressed=true]{background:#3d675b;border-color:#a3e9c1;color:#f0fff2;box-shadow:inset 0 0 0 1px #96ddb34d}.tacticChoices button[aria-pressed=true] small{color:#d5e9da}#battleTactics{padding-top:13px}#battleTactics>p{font-size:11px;color:#c0d5d5;line-height:1.5;margin:8px 0}.lossEstimate{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#c1d4d6;padding:9px 0 0;border-top:1px solid #8bb2b433}.lossEstimate b{color:#f1cf94}.combatHeading{font-size:12px}.combatForces{background:#102d37;border-color:#6c949355}.commandDock{background:linear-gradient(150deg,#1c3943f8,#142b34fa);border-color:#94b9b06b}.battleResult{background:linear-gradient(120deg,#234d45f7,#173740fa);border-color:#99cda26b;box-shadow:0 10px 50px #092e3070}.battleResult:before{content:'✦';display:grid;place-items:center;color:#e9d69b;font-size:25px;width:42px;height:42px;background:#cedd9d15;border:1px solid #d9cd8b55;border-radius:50%;margin-bottom:12px}.battleResult h2{color:#f0f7e9}.operationComplete{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);z-index:5;background:linear-gradient(130deg,#295b48,#173a42);border:1px solid #a1d7a2;border-radius:18px;width:420px;max-width:calc(100% - 24px);padding:20px;box-shadow:0 10px 50px #0b283f70;animation:rewardEnter .5s ease-out}.operationComplete small{display:block;letter-spacing:1.7px;color:#bfe7b1;font-size:10px;font-weight:700}.operationComplete>b{display:block;font:800 22px system-ui;margin-top:10px;color:#f1f6d4;padding-right:15px}.operationComplete p{font-size:12px;line-height:1.7;color:#def1cf}.operationComplete button{border-radius:9px;background:#b6e7bb;color:#1a4038;padding:10px 15px;font-size:12px;font-weight:700;min-height:42px}#operationDismiss{position:absolute;top:8px;right:8px;background:transparent;color:#d1e7d1;font-size:22px;padding:4px 10px}.contextBar{color:#aacbd0}#armyRoster{display:none!important}#armyHint{display:none}.orderrow{position:sticky;bottom:-15px;background:#142d36;padding:8px 0 4px}.commandDock{max-height:calc(100dvh - 190px);overflow-y:auto;overscroll-behavior:contain}.chooseArmy{font-size:12px}.combatForces b{font-size:23px}.combatForces span{font-size:10px}#attackPreview p{font-size:11px;line-height:1.5}.battleResult button#resultContinue{background:#a6dfb6;color:#153c35}.card .actions{gap:7px}.commandGrid button{background:#233f4a;border-color:#76919340}.commandGrid button>svg{color:#a0d4cc}.commandGrid b{color:#ebf6f4}.rankProgress i{background:#8de5c0}
@keyframes rewardEnter{from{opacity:0;translate:0 18px;scale:.96}to{opacity:1;translate:0 0;scale:1}}@media(prefers-reduced-motion:reduce){.operationComplete{animation:none}.operationMeter i,.missionChip:after{transition:none}}@media(max-width:350px){.quickForces{padding:7px 8px 8px}#quickUnits>button{min-width:182px}.tacticsHeading>span{font-size:9px}.tacticChoices button b{font-size:11px}.tacticChoices button small{font-size:8px}.operationHero{padding:16px}.operationHero h3{font-size:24px}.operationGoals>button{gap:8px;padding:11px}.operationGoals b{font-size:12px}.operationGoals small{font-size:10px}.operationLoot span{font-size:10px;padding:6px 8px}.commandDock{max-height:calc(100dvh - 180px)}.bottomNav{max-width:calc(100% - 24px)}}@media(min-width:900px){.quickForces{left:24px;transform:none;bottom:24px;width:420px}.bottomNav{left:auto;right:24px;transform:none;width:400px}.commandDock,.battleResult{bottom:105px}.missionChip{max-width:400px}.operationComplete{bottom:105px}}@media(max-height:550px){.quickForces{width:300px;left:12px;transform:none;bottom:85px}.quickForcesHead{display:none}.commandDock{max-height:calc(100dvh - 110px);bottom:12px}.bottomNav{width:310px;left:auto;right:12px;transform:none}}
.bottomNav #commandMenu{min-width:0;flex:1 1 0;padding:5px;min-height:48px;flex-direction:column;gap:4px;background:transparent;border-radius:12px;color:#b8cbd0}.bottomNav #commandMenu.active{background:#315951;color:#a7f1d5}.bottomNav button{flex:1 1 0}.bottomNav #commandMenu>span{font-size:10px;letter-spacing:0}.commandDock{max-height:62dvh}.contextBar{min-height:24px;margin-bottom:0}.contextBar>button{width:30px;height:30px;font-size:21px}.contextBar>span{color:#abc8ca}.dockhead{gap:8px}.dockhead .sectorIcon{width:34px;height:34px;border-radius:10px}.dockhead h2{font-size:16px}.dockhead p{font-size:10px;line-height:1.4}.chooseArmy{min-height:40px;margin:10px 0 0;padding:8px}#battleTactics{padding-top:10px}.tacticsHeading{margin-bottom:7px}.tacticChoices button{min-height:46px;padding:7px 3px}.tacticSummary{display:block;color:#b8d2d0;font-size:10px;line-height:1.4;margin-top:6px}#attackPreview{margin-top:8px;padding:10px}#attackPreview p:empty{display:none}.combatForces{margin:8px 0}.combatForces b{font-size:21px}.reinforceSelected{margin-top:8px;min-height:40px;padding:8px;font-size:11px}.orderrow{padding-top:8px}.orderrow .primary{min-height:44px;padding:10px 13px}.lossEstimate{padding-top:6px}#battleResult[hidden]:before{content:none}@media(max-height:550px){.commandDock{max-height:calc(100dvh - 110px)}}
#resultOperation{margin:14px 0;padding:12px 0 0;border-top:1px solid #b2d3b44d}#resultOperation small{display:block;color:#bbe8b3;font-size:9px;letter-spacing:1.3px}#resultOperation b{display:block;font:800 16px system-ui;margin-top:7px;color:#ecf4cc}#resultOperation p{font-size:11px;line-height:1.6;color:#d3e7c7;margin-bottom:0}.recruitRequirement{color:#f0d3a2;padding:8px 0 0;font-size:11px}.battleResult p{line-height:1.6}.quickForces:has(#quickUnits:empty){display:none}.quickForces[hidden],#battleTactics[hidden],#resultOperation[hidden]{display:none!important}
.contextBar{position:sticky;top:0;z-index:3;background:#1c3741;padding:3px 0}.contextBar>button{width:34px;height:34px}
/* A single selection-bar layout. The close button stays in normal flow. */
.fieldSelection{position:fixed;z-index:3;left:50%;transform:translateX(-50%);bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px));width:440px;max-width:calc(100% - 24px);padding:11px;background:#16343ef5;color:#eff6f2;border:1px solid #80acaa77;border-radius:17px;box-shadow:0 8px 25px #0b202c44;display:block}.fieldHeader{display:flex;align-items:center;gap:12px;min-height:44px}.fieldSummary{flex:1;min-width:0}.fieldSummary b{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.fieldSummary small{display:block;font-size:11px;line-height:1.5;color:#c2d5d5;margin-top:3px}.fieldSelection #fieldCancel{position:static;flex:0 0 44px;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #6e969570;border-radius:12px;background:#2a4952;color:#edf5f0;font-size:26px;line-height:1;display:grid;place-items:center}.fieldActions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.fieldActions>button{position:static;flex:1 1 auto;min-height:44px;padding:8px 10px;border:1px solid #5d7d8166;border-radius:10px;background:#294952;color:#d6ede6;font-size:11px;font-weight:600;white-space:nowrap}.fieldActions #fieldReinforce{flex-basis:100%;background:#33564b;color:#d2efce}.fieldSelection[hidden],.fieldActions>button[hidden]{display:none!important}
.dockTroopControls{display:flex;align-items:stretch;gap:7px;margin-top:10px}.dockTroopControls .chooseArmy{flex:1;min-width:0;width:0;margin:0}.dockTroopControls #groupAtTarget{flex:0 0 auto;padding:8px 12px;min-height:44px;border:1px solid #82b9a778;border-radius:10px;background:#30584f;color:#d3f0de;font-size:11px;font-weight:700}
#unitSelect{position:fixed;inset:auto 12px max(12px,env(safe-area-inset-bottom));margin:0 auto;width:460px;max-width:calc(100% - 24px);max-height:min(78dvh,720px);padding:0;overflow:hidden;border:1px solid #7ca7a77a;border-radius:22px;background:linear-gradient(145deg,#1d3c46,#122b35);color:#edf7f3;box-shadow:0 18px 80px #071f3d80}#unitSelect[open]{display:flex;flex-direction:column}#unitSelect::backdrop{background:#102d3c66;backdrop-filter:blur(5px)}.unitSelectHeader{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:19px 19px 0;flex-shrink:0}.unitSelectHeader>div{min-width:0}.unitSelectHeader h2{font:800 23px/1.2 system-ui,system-ui;letter-spacing:-.7px;margin:7px 0 0}.unitSelectHeader>button{flex:0 0 44px;position:static;width:44px;height:44px;min-width:44px;font-size:26px;border:1px solid #71949260;border-radius:12px;background:#2d4c56;color:#e5f1ed}#unitSelectHelp{flex-shrink:0;font-size:12px;line-height:1.5;padding:0 19px;margin:12px 0 16px;color:#c2d7d6}#unitSelectList{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 12px 10px;display:flex;flex-direction:column;gap:7px;scrollbar-width:thin}#unitSelectList>button{display:flex;align-items:center;gap:12px;min-height:74px;flex:0 0 auto;width:100%;text-align:left;padding:11px;border:1px solid #698a9266;border-radius:12px;background:#294652;color:#edf7f0}#unitSelectList>button[aria-pressed=true]{background:#345c52;border-color:#a2dec0;box-shadow:inset 0 0 0 1px #8cd9b433}#unitSelectList>button:disabled{opacity:.6;background:#253b46;border-color:#657c8433}#unitSelectList .unitPortrait{width:44px;height:44px;object-fit:contain;margin:0;flex-shrink:0}#unitSelectList>button>svg{width:35px;height:35px;color:#a3d5c6}#unitSelectList>button>span{flex:1;min-width:0}#unitSelectList b{display:block;font-size:13px;line-height:1.5;overflow-wrap:anywhere}#unitSelectList small{display:block;font-size:11px;color:#c3d7d7;margin-top:3px;line-height:1.5}#unitSelectList em{display:block;font-size:10px;line-height:1.5;color:#edd2ad;font-style:normal;margin-top:4px}#unitSelectList>button>i{font-size:21px;font-style:normal;flex:0 0 25px;text-align:center;color:#b4e8ca}.unitSelectFooter{border-top:1px solid #74949644;background:#15313b;padding:13px 16px 15px;flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.unitSelectFooter>span{font-size:11px;color:#bbd2d0;flex:1}.unitSelectFooter #confirmUnits{width:100%;order:2;min-height:46px}.unitSelectFooter #manageUnits{background:#2d4c57;color:#c8e9df;border:1px solid #87afa86b;border-radius:10px;font-size:11px;min-height:44px;padding:8px 12px}#unitSelect [hidden]{display:none!important}@media(min-width:900px){.fieldSelection{bottom:105px}}@media(max-height:550px){.fieldSelection{width:360px;left:12px;transform:none;bottom:12px}.fieldActions{gap:5px}.fieldActions>button{min-height:40px}#unitSelect{max-height:94dvh}}@media(max-width:350px){.fieldSelection{padding:10px}.fieldSummary b{font-size:12px}.fieldSummary small{font-size:10px}.fieldActions>button{padding:8px;font-size:10px}.unitSelectHeader{padding:16px 15px 0}.unitSelectHeader h2{font-size:22px}#unitSelectHelp{padding:0 15px}.unitSelectFooter{padding:12px}}
.enterCapitalButton{display:block;width:100%;min-height:46px;margin-top:12px;background:#356453;border:1px solid #94c9ac;border-radius:11px;color:#dcf4d5;font-size:13px;font-weight:700}.enterCapitalButton[hidden]{display:none}
#capitalWorld{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;padding:0;overflow:hidden;background:#9daa93;color:#eef6ef;box-shadow:none}#capitalWorld::backdrop{background:#152e38}#baseViewport,#baseLabels{position:absolute;inset:0}#baseViewport canvas{display:block;width:100%;height:100%;touch-action:none}#baseLabels{pointer-events:none;overflow:hidden}.baseTop{position:absolute;z-index:3;left:12px;right:12px;top:max(12px,env(safe-area-inset-top));display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;pointer-events:none}.baseTop>button{display:flex;align-items:center;justify-content:center;gap:7px;pointer-events:auto;min-height:45px;background:#183d43f0;border:1px solid #b1c8b66b;border-radius:13px;color:#f2f3d9;font-size:25px;box-shadow:0 4px 20px #102b3130}.baseTop>button span{font-size:11px;font-weight:700}.baseTop>div:not(.baseWallet){display:flex;flex-direction:column;justify-content:center;gap:5px;padding:9px 12px;background:#173740eb;border:1px solid #b3c8b85c;border-radius:13px;min-width:0;backdrop-filter:blur(12px)}.baseTop>div>small{font-size:8px;letter-spacing:1.2px;color:#b5d7bd;font-weight:700}.baseTop>div>b{font:800 15px system-ui,system-ui;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.baseWallet{grid-column:1/-1;display:flex;gap:20px;align-items:center;justify-content:center;background:#17363edb;border:1px solid #91aea558;border-radius:10px;padding:8px 12px;width:max-content;justify-self:center;backdrop-filter:blur(12px)}.baseWallet>span{display:flex;align-items:baseline;gap:6px}.baseWallet b{font-size:13px;font-variant-numeric:tabular-nums;color:#f3edd3}.baseWallet small{font-size:10px;color:#b8d2cb}.baseNavigation,.baseTools{position:absolute;z-index:3;top:max(121px,calc(env(safe-area-inset-top) + 109px));display:flex;gap:6px}.baseNavigation{left:12px}.baseTools{right:12px}.baseNavigation button,.baseTools button{height:44px;min-width:44px;border:1px solid #a8c5b474;border-radius:11px;background:#183a41e8;color:#e6f0d9;font-weight:700;box-shadow:0 4px 20px #102b311c;backdrop-filter:blur(12px)}#baseBuildings{padding:0 14px;font-size:12px}#baseReset{font-size:24px}.baseTools button{font-size:23px}#baseBuildingMenu{position:absolute;z-index:5;left:12px;top:max(171px,calc(env(safe-area-inset-top) + 159px));width:244px;max-width:calc(100% - 24px);max-height:calc(100dvh - 190px);overflow:auto;padding:8px;background:#17343efa;border:1px solid #94b5aa9c;border-radius:13px;box-shadow:0 14px 50px #132e4266}#baseBuildingMenu>button{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:48px;text-align:left;padding:10px;border:1px solid transparent;border-radius:9px;background:transparent;color:#e9f4e5;font-size:12px}#baseBuildingMenu>button[aria-pressed=true]{border-color:#a0c7a3;background:#35574c}#baseBuildingMenu small{color:#bdd3c6;font-size:10px;white-space:nowrap}.baseMapLabel{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;min-width:100px;max-width:138px;min-height:44px;padding:7px 11px;border:1px solid #d1d5b98c;border-radius:10px;background:#1c3b3bea;box-shadow:0 4px 16px #1b352c33;color:#eff4da;text-align:left;backdrop-filter:blur(10px)}.baseMapLabel b{display:block;font-size:11px;line-height:1.3;white-space:nowrap}.baseMapLabel small{display:block;font-size:9px;margin-top:3px;color:#bfd8c7}.baseMapLabel.unbuilt{background:#33453ae6;border-style:dashed;border-color:#d9c598}.baseMapLabel.unbuilt small{color:#e6cfa2}.baseMapLabel.selected{background:#c8d7a8;color:#183d36;border:1px solid #fcf5c3;box-shadow:0 0 0 3px #d1e3a92b,0 6px 20px #16322f44}.baseMapLabel.selected small{color:#3a6151}#baseHint{position:absolute;z-index:2;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);text-align:center;min-width:235px;padding:12px 18px;background:#183a3dd9;border:1px solid #b5c9b773;border-radius:13px;pointer-events:none;color:#eaf1d7;backdrop-filter:blur(10px)}#baseHint b{display:block;font-size:12px}#baseHint span{display:block;font-size:10px;margin-top:6px;color:#c4d7c5}#baseInspector{position:absolute;z-index:4;left:50%;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));width:440px;max-width:calc(100% - 24px);max-height:min(47dvh,405px);overflow:auto;overscroll-behavior:contain;padding:15px;background:linear-gradient(135deg,#193c40f7,#142e37fc);border:1px solid #a6bda494;border-radius:19px;box-shadow:0 12px 45px #102c4660;backdrop-filter:blur(18px)}.baseInspectorHead{display:flex;align-items:center;justify-content:space-between;gap:14px}.baseInspectorHead>div{min-width:0}.baseInspectorHead small{display:block;font-size:9px;font-weight:700;letter-spacing:1.1px;line-height:1.5;color:#bbdcb4}.baseInspectorHead h2{font:800 24px/1.2 system-ui,system-ui;margin:5px 0 0;letter-spacing:-.7px}.baseInspectorHead>button{position:static;flex:0 0 44px;width:44px;height:44px;border:1px solid #8fae9a80;border-radius:11px;background:#34534f;color:#e5edcf;font-size:25px}#baseInspector>p{font-size:12px;line-height:1.55;color:#d3e4d0;margin:10px 0}.baseNote,.baseReason{display:block;font-size:10px;line-height:1.5;color:#c7d8c8;margin:8px 0}.baseReason{color:#e5ce9c;margin-bottom:0}.baseCosts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}.baseCosts span{padding:8px;background:#2b494b;border:1px solid #80a18c40;border-radius:9px;text-align:center;font-size:10px;color:#bfd5c6;line-height:1.6}.baseCosts b{display:block;font:800 17px system-ui,system-ui;color:#edf0cf;margin-bottom:3px}#baseInspector>button.primary{width:100%;min-height:46px;font-size:13px}#baseFindCoast{width:100%;padding:10px;min-height:42px;background:#34574d;color:#d8e8c8;border:1px solid #92b79d80;border-radius:9px;margin-top:8px;font-size:11px}.baseHQActions{display:flex;gap:8px;margin-top:12px}.baseHQActions button{flex:1;padding:10px;min-height:44px;border:1px solid #86ab9377;border-radius:10px;background:#2e514a;color:#e5eed1;font-size:11px;font-weight:700}.baseJob{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:11px;color:#d7e6c8;gap:5px;margin:12px 0}.baseJob .progress{width:100%;height:5px;background:#8ba88530;margin-top:7px}.baseJob .progress i{background:#b8cf81}.baseJob .countdown{color:#eddaa0}#baseLoading{position:absolute;inset:0;display:grid;place-items:center;background:#19383ce8;color:#d5e5c6;font:700 15px system-ui,system-ui;z-index:8}#baseFallback{position:absolute;top:185px;left:12px;right:12px;padding:12px;background:#203f41;color:#e9edcf;border:1px solid #a8bd91;border-radius:10px;font-size:12px;line-height:1.6;z-index:3}#capitalWorld [hidden]{display:none!important}@media(min-width:900px){.baseTop{grid-template-columns:120px 300px auto;align-items:start;left:24px;right:24px;top:22px}.baseWallet{grid-column:3;justify-self:end;min-height:48px}.baseTop>div>b{font-size:16px}.baseNavigation,.baseTools{top:94px}.baseNavigation{left:24px}.baseTools{right:24px}#baseBuildingMenu{top:144px;left:24px}#baseInspector{left:24px;transform:none;bottom:24px;width:390px}.baseMapLabel b{font-size:12px}}@media(max-width:350px){.baseTop{grid-template-columns:93px minmax(0,1fr);gap:8px}.baseTop>div>b{font-size:13px}.baseTop>div>small{font-size:7px;letter-spacing:.8px}.baseNavigation,.baseTools{gap:5px}#baseBuildings{padding:0 11px;font-size:11px}.baseTools button,.baseNavigation button{min-width:44px;height:44px}.baseMapLabel{padding:7px 9px;min-width:94px}.baseMapLabel b{font-size:10px}.baseMapLabel small{font-size:9px}#baseInspector{padding:12px}.baseInspectorHead h2{font-size:21px}.baseInspectorHead small{font-size:8px;letter-spacing:.6px}.baseCosts b{font-size:15px}#baseInspector>p{font-size:11px}.baseNote,.baseReason{font-size:9px}}@media(max-height:550px){.baseTop{grid-template-columns:100px 230px auto}.baseWallet{grid-column:3;justify-self:end;min-height:45px}.baseNavigation,.baseTools{top:78px}#baseInspector{left:auto;right:12px;transform:none;max-width:340px;width:40%;max-height:calc(100dvh - 95px)}#baseBuildingMenu{top:128px}.baseInspectorHead h2{font-size:20px}}

.developmentHero{padding:18px;border:1px solid #90b0a25c;border-radius:15px;background:linear-gradient(135deg,#274f50,#172d3b);margin:0 0 20px}.developmentHero small{color:#c8d9af;letter-spacing:1px;text-transform:uppercase;font-size:10px}.developmentHero h3{font-size:22px;margin:9px 0}.developmentHero p{font-size:13px;line-height:1.6}.developmentHero>span{display:block;color:#d4c496;font-size:11px;line-height:1.6}.researchTrack{border:1px solid #72988b55;border-radius:12px;padding:12px;margin:9px 0;background:#173640}.researchTrack summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px;cursor:pointer;font-size:13px}.researchTrack summary>span{flex:1}.researchTrack summary>b{white-space:nowrap;color:#b9d8b5;font-size:12px}.researchTrack summary:before{content:'+';font-size:20px;color:#b7ccac}.researchTrack[open] summary:before{content:'−'}.researchTrack p{font-size:12px;line-height:1.6}.researchTrack .primary{min-height:44px;width:100%}

.baseMapLabel{width:146px;max-width:146px}.baseMapLabel b{white-space:normal;overflow-wrap:break-word}

.unitOrders{display:grid;gap:8px;margin:12px 0}.unitOrders button,.jointObjective button,.strategicCard button,.allianceCard button,.baseRoles button{min-height:44px;padding:10px 14px;border:1px solid #8fb6a571;background:#31564f;color:#edf3d5;border-radius:10px;text-align:left;font-weight:700}.unitOrders small{font-size:11px;color:#b9d0c4;line-height:1.5}.unitOrders select{width:100%}.baseRoles{margin-top:14px;border-top:1px solid #7fa68e55;padding-top:9px}.baseRoles summary{font-size:12px;min-height:44px;display:flex;align-items:center;cursor:pointer}.baseRoles>div{padding:10px 0;border-top:1px solid #81a18a40}.baseRoles p,.baseRoles small{font-size:11px;line-height:1.5;color:#c8d9c3}.baseRoles button{width:100%}.baseRoles>div>b{font-size:13px}.campaignHero>small{font-size:10px;letter-spacing:1px;color:#c9d8a9}.campaignRoadmap,.fieldAssignments{margin:16px 0}.campaignRoadmap summary,.fieldAssignments summary,.allianceCard summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;font-size:13px}.campaignRoadmap p{font-size:12px;line-height:1.6}.strategicCard>small{font-weight:800;color:#cbd6a4;letter-spacing:.6px}.strategicCard button{display:block;width:100%;margin-top:12px}.jointObjective{display:grid;gap:8px;padding:14px;background:#31544d;border-radius:12px}.jointObjective>small{font-size:10px;color:#d2dabb}.jointObjective>b{font-size:16px}.allianceCard label{display:block;margin:10px 0}.allianceCard select{width:100%;font-size:12px}.allianceCard [data-plan-submit]{width:100%;margin-top:10px}.unlockLine{padding:9px;border-left:3px solid #a8c69b;background:#2b4a46;color:#d3dfc3}.tacticChoices{grid-template-columns:repeat(2,minmax(0,1fr))}.mapbadge.strategic{font-size:10px;padding:7px 10px;border:1px solid #dbc988;background:#28483fee;max-width:150px;white-space:normal}.mapbadge.strategic small{display:block;font-size:8px;margin-top:3px;color:#d9d4ad}

/* Command decisions stay in drawers; the map gets one intelligence entry. */
#intelOpen{width:auto;min-width:58px;height:44px;font-size:12px;font-weight:800;padding:0 10px;background:#234550;color:#e6f5ed;border:1px solid #82aaa170;border-radius:13px}#intelOpen.attention{color:#ffe1ac;border-color:#d8a461;background:#574538}
.intelHero{padding:22px;background:linear-gradient(135deg,#274d51,#18333f);border:1px solid #70968c66;border-radius:18px;margin-bottom:20px}.intelHero>small,.battleCommandHead>small{color:#a8d8ca;font-size:10px;letter-spacing:1.5px;font-weight:800}.intelHero h3{font-size:27px;line-height:1.15;margin:12px 0;color:#eef4e4}.intelHero p{color:#c2d8d5;line-height:1.65;font-size:13px}.intelStats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.intelStats span{font-size:11px;color:#b6d4cd}.intelStats b{display:block;color:#eef8e8;font-size:26px;font-variant-numeric:tabular-nums}.intelAlert,.intelCalm{padding:17px;border:1px solid #c4a16a70;border-left:3px solid #dfb97a;border-radius:12px;background:#3b4141;margin:12px 0}.intelAlert small{color:#f1cb8d;font-size:11px;letter-spacing:.7px}.intelAlert h3{margin:9px 0}.intelAlert p,.intelCalm p{font-size:13px;line-height:1.5}.intelCalm{border-color:#6da28c;background:#203e40}.intelAlert button,.intelCalm button,.intelOpportunity button,.intelLine button,.intelDetails button{min-height:44px;padding:10px 14px;background:#aacfbf;color:#163c36;border-radius:10px;font-weight:750;font-size:12px}.intelDetails{border-top:1px solid #78999245;margin-top:14px;padding-top:10px}.intelDetails summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:13px;color:#d3e9e4;font-weight:750}.intelDetails p{font-size:12px;line-height:1.7;color:#b8cecd}.intelDetails .card button{margin:8px 5px 0 0}.intelLine{display:flex;gap:8px;justify-content:space-between;align-items:center;margin:10px 0;font-size:12px}.renameQuote{display:grid;gap:10px;padding:17px;border:1px solid #6b928766;background:#1d3842;border-radius:12px;margin:17px 0;font-size:12px}.renameQuote span{color:#bfd4cc}.renameQuote>b:last-child{border-top:1px solid #7a9e8a55;padding-top:13px;color:#dfedbd;font-size:15px}.renameReview{padding:18px;background:#31574e;border:1px solid #86ba9c;border-radius:12px;margin-bottom:16px}.renameReview small{font-size:10px;letter-spacing:1.3px;color:#bfdcc8}.renameReview>b{display:block;font-size:22px;overflow-wrap:anywhere;margin-top:10px}#renameName{width:100%;padding:14px;border-radius:10px;border:1px solid #6c9893;background:#17313d;color:#f2f6ed;min-height:48px;font-size:16px}#renameValidation{color:#e7bd94;font-size:12px;min-height:18px}#renameConfirm,#renameReview,#renameEdit{width:100%;margin-top:10px;min-height:48px}.battleCommand{margin:13px 0;padding:14px;border:1px solid #709e9266;border-radius:14px;background:#102e38}.battleCommandHead,.battleBalance{display:flex;justify-content:space-between;gap:12px;align-items:center}.battleCommandHead>b{color:#f1dfb0;font-size:18px;font-variant-numeric:tabular-nums}.battleBalance{padding:13px 0 8px}.battleBalance>span{font-size:11px;color:#a9c7c7}.battleBalance b{display:block;font-size:25px;color:#d0efce;line-height:1.3}.battleBalance>span:last-child{text-align:right}.battleBalance>span:last-child b{color:#f2ba9d}.battleBalanceBar{height:7px;border-radius:9px;background:#bb785c;overflow:hidden}.battleBalanceBar>i{display:block;height:100%;background:#9bd2b0;transition:width .35s}.battleCommand p,.battleCommand details>small{font-size:11px;line-height:1.6;color:#bed4d0}.battleCommand details{border-top:1px solid #7c9e8e40;margin-top:10px}.battleCommand summary{min-height:44px;padding:13px 0;cursor:pointer;font-size:12px;font-weight:750;color:#d9e9dd}.battlePlanChoices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.battlePlanChoices button{min-height:44px;background:#2c5155;color:#d8eee4;border:1px solid #7faaa166;border-radius:8px;font-size:12px}.battlePlanChoices button[aria-pressed=true]{background:#9dc8ad;color:#163c35;opacity:1}.reserveOrder{width:100%;display:flex;gap:9px;align-items:center;text-align:left;padding:10px 0;min-height:52px;background:transparent;border-bottom:1px solid #76968b33;color:#e3eee4}.reserveOrder .unitPortrait{width:52px;height:35px;object-fit:contain}.reserveOrder>svg{width:35px;height:30px;flex-shrink:0}.reserveOrder>span{flex:1;min-width:0}.reserveOrder b,.reserveOrder small{display:block;font-size:11px}.reserveOrder small{color:#b4cdca;font-size:10px;margin-top:4px}.reserveOrder>strong{font-size:11px;color:#b5e3b5}.battleCommand>button{min-height:44px;background:#57463c;color:#f2d1b1;border:1px solid #b58a6555;border-radius:9px;padding:10px;margin-top:10px;width:100%;font-size:11px}.soundSetting{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 0}.soundSetting input{width:22px;height:22px;accent-color:#9dcfac}.soundSetting small{width:100%;font-size:12px;color:#b6d0c9}@media(max-width:350px){.intelHero{padding:17px}.intelHero h3{font-size:23px}.renameQuote>b:last-child{font-size:13px}.battleCommand{padding:10px}}@media(prefers-reduced-motion:reduce){.battleBalanceBar>i{transition:none}}
.battleInbound{padding:10px 12px;margin:10px 0;background:#2b4f50;border-radius:9px;border-left:2px solid #97ceb1}.battleInbound>small{font-size:9px;letter-spacing:1px;color:#afd8ba}.battleInbound p{margin:5px 0}.battleInbound .countdown{color:#e4edc4;font-variant-numeric:tabular-nums}

html body [hidden]{display:none!important}

.mapbadge.capital{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.baseTop #baseName{overflow-wrap:anywhere}.baseTop #baseStatus{line-height:1.5}

#chatOpen{width:auto;min-width:58px;height:44px;font-size:12px;font-weight:800;padding:0 10px;background:#315850;color:#e6f5ed;border:1px solid #9cc4aa80;border-radius:13px}.bottomNav #commandMenu{position:relative}.bottomNav #commandMenu[data-unread]:not([data-unread=""]):after{content:attr(data-unread);position:absolute;top:2px;right:12px;background:#e5bd7c;color:#193c3e;border:2px solid #19323a;border-radius:20px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 3px;font-size:10px;font-weight:800}.allianceChatOpen{width:100%;min-height:45px;padding:12px;background:#9fcab4;color:#173e36;border-radius:10px;font-size:13px;font-weight:750;margin:12px 0}.allianceChat{display:flex;flex-direction:column;gap:10px;height:min(610px,calc(100dvh - 205px));min-height:320px}.chatRoomPicker label{font-size:11px;color:#b4d2c8;display:block;margin-bottom:5px}.chatRoomPicker select{width:100%;min-height:44px;margin:0;background:#1a3742;color:#e6f4ec;border:1px solid #709489;border-radius:10px;padding:10px;font-size:14px}.chatHeading{display:flex;flex-direction:column;gap:4px}.chatHeading>b{font-size:16px;color:#e4efdf;overflow-wrap:anywhere}.chatHeading>small{font-size:10px;color:#afc8c8;line-height:1.5}.chatThread{flex:1;min-height:95px;overflow:auto;overscroll-behavior:contain;padding:8px 4px 8px 0;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;overflow-anchor:none}.chatBubble{flex-shrink:0;max-width:91%;padding:11px 12px;border-radius:13px 13px 13px 3px;background:#294953;border:1px solid #72999344;align-self:flex-start}.chatBubble.mine{align-self:flex-end;background:#315c50;border-color:#95bf9f55;border-radius:13px 13px 3px 13px}.chatBubble header{display:flex;align-items:center;justify-content:space-between;gap:15px}.chatBubble header>b{font-size:10px;color:#c4ded2;overflow-wrap:anywhere}.chatBubble time{font-size:9px;color:#acc7c0;white-space:nowrap}.chatBubble p{font-size:13px;line-height:1.6;color:#f0f6ed;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.chatEmpty{margin:auto;padding:20px 10px;text-align:center;font-size:13px;line-height:1.7;color:#bdd0cb}.allianceChat form{margin:0;border-top:1px solid #729c8b55;padding-top:10px}.allianceChat form>label{display:block;font-size:11px;color:#bad7c9;margin-bottom:6px}.allianceChat textarea{width:100%;display:block;resize:vertical;min-height:63px;max-height:110px;border:1px solid #7ea297;border-radius:10px;padding:10px 12px;background:#122e39;color:#f0f6ed;font:16px/1.5 inherit;font-family:inherit;font-size:16px;box-sizing:border-box}.allianceChat textarea:focus{outline:2px solid #9bd3b2;outline-offset:1px}.chatComposeFooter{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}.chatComposeFooter small{font-size:11px;color:#b6cec4;font-variant-numeric:tabular-nums}.chatComposeFooter .overLimit{color:#ffbd9c}.chatComposeFooter button{min-height:44px;padding:10px 18px;background:#a9d8b6;color:#193e37;border-radius:10px;font-size:13px;font-weight:800}#chatSendStatus{font-size:10px;line-height:1.4;min-height:14px;margin:5px 0 0;color:#bed1c9}.chatRetention{font-size:9px;line-height:1.4;color:#9ebbb8;margin:0}.chatNewMessages{flex-shrink:0;min-height:36px;font-size:11px;border-radius:8px;background:#b7d6b4;color:#20433b;font-weight:750}.allianceChat textarea:disabled{opacity:.5}@media(max-height:600px){.allianceChat{height:calc(100dvh - 145px);min-height:230px}.chatHeading{display:none}.chatRetention{display:none}.allianceChat textarea{min-height:45px;height:45px}}@media(max-width:350px){.chatBubble p{font-size:12px}.chatHeading>b{font-size:14px}.chatComposeFooter button{padding:10px 12px;font-size:12px}.allianceChat{height:calc(100dvh - 205px)}}
html body [hidden]{display:none!important}

#chatRetry{min-height:40px;border-radius:8px;background:#dfbe8b;color:#243e3b;font-size:12px;font-weight:750;padding:8px 13px;width:100%;margin-top:7px}

.chatBubble header>b{display:flex;align-items:center;gap:7px;min-width:0}.chatBubble header>b>span:last-child{min-width:0;overflow-wrap:anywhere}.chatRank{display:inline-flex;flex-shrink:0}.chatRank[hidden]{display:none}.chatRank .rank-insignia{box-sizing:border-box;width:25px;min-width:25px;height:34px;min-height:34px;padding:1px;border-radius:5px;box-shadow:none}.chatBubble header{gap:10px;align-items:center}

/* Alliance plans stay folded above the conversation until needed. */
.chatPlanning{flex-shrink:0;max-height:235px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.chatPlanning details{margin:0 0 5px;padding:8px 10px;border-radius:10px}.chatPlanning summary{font-size:11px;min-height:30px;line-height:1.5}.chatPlanning summary small{display:block;color:#e4c685;font-size:10px}.chatPlanning label{display:block;font-size:11px;margin:9px 0}.chatPlanning select{display:block;width:100%;font-size:12px;min-height:44px;margin-top:4px}.chatPlanning button,.shareMapTarget{min-height:44px;background:#33584f;color:#e8f2e7;padding:9px 12px;border:1px solid #7a9f8b77;border-radius:9px;font-size:11px;font-weight:750}.chatPlanning small{display:block;color:#b4ccc0;font-size:10px;line-height:1.5;margin-top:5px}.chatPlanning p{font-size:11px;line-height:1.5;margin:5px 0}.rallyActions{display:flex;flex-wrap:wrap;gap:5px}.rallyReady{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;margin:10px 0;color:#9eb4ac}.rallyReady .ready{color:#bee3b7}.rallyClose{margin-top:9px;background:transparent}.shareMapTarget{width:100%;margin:6px 0}.rallyCard{border-color:#bfa56c88;background:linear-gradient(135deg,#3c4b3b,#203b40)}
.battlePhases{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:12px 0 8px}.battlePhases>span{font-size:9px;color:#96ada7;text-align:center;line-height:1.6}.battlePhases i{display:grid;place-items:center;font-size:11px;font-style:normal;width:24px;height:24px;margin:0 auto 4px;border-radius:50%;border:1px solid #69817b;background:#244048}.battlePhases .current{color:#f4daa3;font-weight:800}.battlePhases .current i{background:#d7b77c;color:#1a3338;box-shadow:0 0 0 4px #dbbd7a16;animation:battlePhasePulse 2s ease-in-out infinite}.battlePhases .done{color:#b4d8bb}.battlePhases .done i{background:#416c56;color:#d5ead1;border-color:#85ad8b}.battleClock{height:3px;background:#52615d;border-radius:3px;overflow:hidden}.battleClock>i{display:block;height:100%;background:#e5c582;transition:width .8s linear}.battleCommand .phaseAdvice{font-size:11px;line-height:1.55;margin:9px 0 12px;color:#c4d1c5}.battleAbility button{display:flex;flex-direction:column;gap:4px;align-items:flex-start;width:100%;text-align:left;min-height:56px;padding:11px;margin:6px 0;border-radius:9px;border:1px solid #81948077;background:#2b4849;color:#eceddc}.battleAbility button[aria-pressed=true]{background:#4f654c;border-color:#c5b47e}.battleAbility button b{font-size:12px}.battleAbility button small{font-size:10px;font-weight:400;line-height:1.5}.battleAbility>small{font-size:10px;color:#b6c9bc}.battleTimeline ol{padding:0;list-style:none}.battleTimeline li{display:flex;gap:9px;font-size:11px;line-height:1.5;margin:8px 0;color:#c9d9cf}.battleTimeline time{font-variant-numeric:tabular-nums;color:#e1c58b;min-width:26px}.battleCommand[data-advantage=ahead] .battleBalanceBar i{background:#96c39d}.battleCommand[data-advantage=behind] .battleBalanceBar i{background:#dca77e}.battleBalanceBar i{transition:width .4s ease,background .3s ease}
#returnBriefing{width:430px;max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:0;border-radius:24px;background:radial-gradient(ellipse at top left,#3e5045,#142e35 70%);animation:briefingArrival .4s ease-out both}#returnContent{padding:35px 24px 20px}#closeBriefing{position:sticky;float:right;top:10px;margin:10px 10px -54px 0;width:44px;height:44px;border-radius:13px;border:1px solid #688078;background:#29454a;color:#e6efdf;z-index:1}#returnTitle{font:800 28px/1.15 system-ui,system-ui;margin:13px 30px 10px 0;color:#f4dfaf}#returnContent>p{font-size:12px;line-height:1.6}.briefingStats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0 14px}.briefingStats>div{background:#a1bca50a;border:1px solid #95b6a52f;border-radius:12px;padding:13px}.briefingStats b{display:block;font:800 26px system-ui,system-ui;color:#edd49d}.briefingStats span{font-size:10px;color:#c0d0c0;line-height:1.5}.briefingGains{display:flex;justify-content:space-between;gap:8px;padding:13px 0;border-top:1px solid #77938144;border-bottom:1px solid #77938144}.briefingGains span{display:flex;flex-direction:column;gap:4px;font-size:10px;color:#adc7bd}.briefingGains b{font-size:16px;color:#c9e5bd}.briefingCaption{display:block;margin-top:8px;font-size:9px;color:#9fb8af;line-height:1.5}.briefingReports p{font-size:11px;border-bottom:1px solid #78948333;padding:6px 0;margin:0}.briefingNext{background:#bba46f12;border:1px solid #c4aa7044;border-radius:13px;padding:15px;margin-top:20px}.briefingNext small{font-size:9px;letter-spacing:1px;color:#d9bf87}.briefingNext h3{font:750 17px/1.4 system-ui,system-ui;margin:8px 0 13px}.briefingNext button,#returnDismiss{width:100%;min-height:46px;font-size:12px;border-radius:10px}#returnDismiss{background:transparent;color:#b9cfc2;margin-top:9px}.briefingCampaign{color:#e4d29f;font-size:11px}@keyframes briefingArrival{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes battlePhasePulse{50%{box-shadow:0 0 0 5px #dbbd7a30}}@media(max-height:700px){.chatPlanning{max-height:170px}#returnContent{padding-top:26px}.briefingStats{margin:12px 0}.briefingStats>div{padding:9px}#returnTitle{font-size:24px}}@media(prefers-reduced-motion:reduce){.battlePhases .current i,#returnBriefing{animation:none}.battleClock>i,.battleBalanceBar i{transition:none}}

/* Readable headings and ordinary status text. */
.sectionHeading{font:700 15px/1.4 system-ui,system-ui;margin:24px 0 12px;color:#dce7e3;letter-spacing:0;text-transform:none}
.cardMeta,.resultOutcome{font:500 12px/1.5 system-ui,system-ui;letter-spacing:0;text-transform:none;color:#bed0ca;margin:6px 0 12px}
.connectionStatus{display:flex;gap:12px;align-items:center;font-size:11px;color:#bed0ca}
.contextBar{justify-content:flex-end}
.quickForcesHead>span,.commandSection>summary{font-size:14px;letter-spacing:0;text-transform:none}
#baseStatus,#sectorOwner,#orderStep{font-size:11px;line-height:1.5;letter-spacing:0;text-transform:none;font-weight:500}
.baseTop>div>small{font-size:10px;letter-spacing:0}
#battleResult .resultOutcome{padding-right:28px}
.operationHero h3,.seasonHero h3,.intelHero h3,.allianceHero h3,.replayHeading h3{margin-top:0}
