/* Frontline interface: one visual language for the battlefield and command screens. */
:root{color-scheme:dark;--paper:var(--ui-panel);--muted:var(--ui-muted);--border:var(--ui-border);--green:#a7bb97}
.gameShell{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ui-text);background:var(--ui-bg);-webkit-tap-highlight-color:transparent;font-synthesis:none}
.gameShell [hidden]{display:none!important}
.gameShell :where(button,input,select,textarea){font-family:inherit}
.gameShell :where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}
.gameShell :where(dialog,#commandDock,#fieldSelection,#quickForces) button{min-height:44px;padding:11px 15px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-raised);color:var(--ui-text);font-size:14px;line-height:1.35;font-weight:500;box-shadow:none;cursor:pointer}
.gameShell button:disabled{opacity:.48;cursor:default}
.gameShell :where(dialog,#commandDock) :is(input:not([type=checkbox],[type=radio],[type=range]),select,textarea){background:var(--ui-input);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:8px;padding:12px;min-height:46px;font-size:16px;line-height:1.4;width:100%;max-width:100%;box-sizing:border-box}
.gameShell input::placeholder,.gameShell textarea::placeholder{color:var(--ui-dim);opacity:1}
.gameShell select option{background:var(--ui-input);color:var(--ui-text)}
.gameShell input:is([type=checkbox],[type=radio],[type=range]){accent-color:var(--ui-accent)}
.gameShell .primary,.gameShell #panelContent button[type=submit],.gameShell #confirmAdvanced{background:var(--ui-accent)!important;color:var(--ui-ink)!important;border-color:var(--ui-accent)!important;box-shadow:none!important}
.gameShell :where(dialog){background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-border)}
.gameShell :where(dialog) p{color:var(--ui-muted);font-size:14px;line-height:1.6}
.gameShell :where(dialog) a{color:var(--ui-accent)}
.gameShell :where(dialog) :is(h2,h3,h4){font-family:inherit;font-weight:600;letter-spacing:-.025em;color:var(--ui-text)}
.gameShell dialog::backdrop{background:#080e0bb8;backdrop-filter:blur(5px)}
.gameShell #panel{width:560px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);max-width:calc(100% - 32px);margin:16px 16px 16px auto;padding:0 24px 30px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-panel);box-shadow:0 20px 80px #0006;scrollbar-width:thin;scrollbar-color:#57614e transparent;scroll-padding-top:90px;overflow-anchor:none}
.gameShell #panel .panelhead{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:6;margin:0 -24px 20px;padding:16px 20px;border-bottom:1px solid var(--ui-border);background:var(--ui-panel)}
.gameShell .panelhead>div{flex:1;min-width:0}
.gameShell #panel .panelhead h2{font-size:24px;line-height:1.2;letter-spacing:-.035em;margin:0}
.gameShell #panel .panelhead>button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:11px;background:transparent;border:1px solid var(--ui-border);border-radius:50%}
.gameShell .panelhead svg{width:20px;height:20px}
.gameShell #panelContent{min-width:0;font-size:calc(14px * var(--reading-scale,1))}
.gameShell #panelContent>p:first-child{margin-top:0}
.gameShell #panelContent :is(p,small){overflow-wrap:anywhere}
.gameShell #panelContent>button{margin:6px 0}
.gameShell #panelContent :is(.card,.lifeCard,.lifeMission,.theatreCard,.advancedCard,.intelAlert,.intelCalm,.allianceCard){padding:18px 0;margin:0;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;background:transparent;box-shadow:none;color:var(--ui-text)}
.gameShell #panelContent :is(.intelHero,.seasonHero,.allianceHero,.campaignHero,.operationHero){background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;padding:20px;margin:0 0 20px;box-shadow:none}
.gameShell #panelContent :is(.card,.lifeCard,.theatreCard,.advancedCard) h3{font-size:17px;margin:0 0 10px}
.gameShell #panelContent :is(.cardMeta,.meta,.lifeProgress,.theatreNote,.rewardLine){font-size:12px!important;line-height:1.5;color:var(--ui-muted)!important;letter-spacing:0;text-transform:none}
.gameShell #panelContent :is(.seasonHero,.allianceHero,.campaignHero,.operationHero,.intelHero)>small{color:var(--ui-muted);letter-spacing:0;text-transform:none}
.gameShell #panelContent :is(.sectionHeading,fieldset legend){font-size:15px;font-weight:600;letter-spacing:0;color:var(--ui-text);margin:24px 0 12px}
.gameShell #panelContent :is(details){border:1px solid var(--ui-border);border-radius:10px;background:transparent;padding:0 14px;margin:12px 0;box-shadow:none}
.gameShell #panelContent summary{min-height:48px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;line-height:1.45;color:var(--ui-text);padding:12px 0;box-sizing:border-box;list-style:none;font-weight:600}
.gameShell #panelContent summary::-webkit-details-marker{display:none}
.gameShell #panelContent summary:after{content:'+';font-size:20px;font-weight:400;color:var(--ui-dim);margin-left:auto;flex-shrink:0}
.gameShell #panelContent details[open]>summary:after{content:'−'}
.gameShell #panelContent label{font-size:14px;line-height:1.5;color:var(--ui-muted)}
.gameShell #panelContent :is(.advancedUI,.livingWorld){font-size:inherit}
.gameShell #panelContent :is(.empty,.commandEmpty){border:0;border-left:2px solid #78836a;background:#a4b18d08;border-radius:0;padding:16px 18px;color:var(--ui-muted);text-align:left;font-size:14px;line-height:1.65;margin:18px 0}
.gameShell #panelContent .empty b{display:block;color:var(--ui-text);margin-bottom:6px}
.gameShell #panelContent .commandEmpty h3{font-size:17px;margin:0 0 7px}
.gameShell #panelContent .commandEmpty p{margin:0}
.gameShell #panelContent :is(.stats,.intelStats,.xpRewards){gap:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--ui-border);padding:0 0 18px;margin:0 0 18px}
.gameShell #panelContent :is(.stat,.xpRewards>div,.briefingStats>div){background:transparent;border:0;border-right:1px solid var(--ui-border);border-radius:0;padding:0 14px;text-align:left}
.gameShell #panelContent .stat:first-child{padding-left:0}.gameShell #panelContent .stat:last-child{border-right:0}
.gameShell #panelContent .stat>b{font-size:23px;font-weight:550;color:var(--ui-text);font-variant-numeric:tabular-nums}
.gameShell #panelContent .stat small{font-size:12px;line-height:1.5;color:var(--ui-muted);margin-top:5px}
.gameShell #panelContent :is(.chips,.careerBonuses){gap:7px}
.gameShell #panelContent .chips span{background:#b0b89d10;color:var(--ui-muted);border-radius:4px;font-size:12px;padding:6px 8px}
.gameShell #panelContent :is(.lifeLinks,.advancedLinks,.horizonActions){gap:8px}
.gameShell #panelContent :is(.lifeLinks,.advancedLinks,.horizonActions) button{padding:12px;min-height:48px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:8px;font-size:14px;text-align:left}
.gameShell #panelContent :is(.ranking,.seasonStanding,.lossRow,td,th){border-color:var(--ui-border)}
.gameShell #panelContent :is(.ranking.mine,.seasonStanding.mine){background:#ddc28b10}
.gameShell #panelContent table{color:var(--ui-text)}
.gameShell #panelContent :is(.progress,.rankProgress){height:4px;background:#3a4438;border-radius:4px;overflow:hidden}
.gameShell #panelContent :is(.progress,.rankProgress)>i{background:var(--ui-accent)}
.gameShell #panelContent output:empty{display:none}
.gameShell .advancedReview{border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-panel)}
.gameShell .reviewCost{background:#ddc28b10;color:var(--ui-accent)!important;border:1px solid #ddc28b30}
.gameShell .advancedForm{background:transparent;border-color:var(--ui-border);border-radius:8px;padding:16px;margin:14px 0}
.gameShell .unitChecklist{background:var(--ui-input);border-color:var(--ui-border);border-radius:8px}
.srOnly{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
/* Command dashboard. Each directory is a separate, focused view. */
.gameShell #panelContent .commanderProfile{display:flex;gap:14px;align-items:center;width:100%;padding:2px 0 16px;background:transparent;border:0;text-align:left;border-radius:0}
.commanderProfile>.rank-insignia{width:40px;min-width:40px;height:56px;filter:none}
.commanderIdentity{display:grid;gap:5px;flex:1;min-width:0}
.commanderIdentity>b{font-size:19px;font-weight:550;letter-spacing:-.025em;color:var(--ui-text);overflow-wrap:anywhere}
.commanderIdentity>span{font-size:14px;color:var(--ui-accent)}
.commanderIdentity>small{font-size:12px;line-height:1.4;color:var(--ui-muted);font-weight:400}
.careerMeter{display:block;width:100%;height:3px;border-radius:4px;background:#45503d;margin:7px 0 3px;overflow:hidden}
.careerMeter>i{display:block;height:100%;background:var(--ui-accent)}
.profileArrow{font-size:26px;color:var(--ui-dim);font-weight:400}
.commandShortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 20px}
.gameShell #panelContent .commandShortcuts button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 8px;border:1px solid var(--ui-border);background:transparent;border-radius:8px;font-size:13px;font-weight:500}
.commandShortcuts svg{width:18px;height:18px;color:var(--ui-accent);flex-shrink:0}
.commandSearch{display:flex;align-items:center;gap:10px;position:relative;margin-bottom:18px}
.commandSearch>svg{width:19px;height:19px;position:absolute;left:14px;pointer-events:none;color:var(--ui-dim)}
.gameShell #panelContent .commandSearch input{padding-left:44px;margin:0;border-color:var(--ui-border);background:#111812;font-size:14px;min-height:48px}
/* A directory of destinations, without a wall of feature tiles. */
.commandCategoryTiles{display:grid;grid-template-columns:1fr;gap:0}
.gameShell #panelContent .commandCategoryTiles>button{display:flex;align-items:center;text-align:left;gap:14px;min-height:65px;padding:12px 0;border:0;border-bottom:1px solid var(--ui-border);background:transparent;border-radius:0;position:relative;transition:background .15s}
.commandCategoryTiles>button>svg{width:21px;height:21px;stroke-width:1.4;color:var(--ui-muted);flex:0 0 21px}
.commandCategoryTiles>button>span:nth-child(2){display:grid;gap:4px;flex:1;min-width:0}
.commandCategoryTiles b{font-size:15px;font-weight:500;letter-spacing:-.01em}
.commandCategoryTiles small{font-size:12px;line-height:1.4;font-weight:400;color:var(--ui-muted)}
.commandCategoryTiles>button>span:last-child{position:static;color:var(--ui-dim);font-size:22px;font-weight:400}
.gameShell #panelContent .commandCategoryTiles>button:hover{background:#ffffff04}
.gameShell #panelContent .directoryBack{min-height:44px;border:0;padding:8px 0;background:transparent;color:var(--ui-accent);font-weight:500;margin-bottom:12px}
.gameShell #panelContent .commandGroup{margin:0;padding:0;border:0;background:transparent}
.gameShell #panelContent .commandGroup h3{font-size:25px;font-weight:500;margin:0 0 16px}
.commandRows{border-top:1px solid var(--ui-border)}
.gameShell #panelContent .commandRow{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:76px;padding:15px 0;border:0;border-bottom:1px solid #46504488;border-radius:0;background:transparent;text-align:left}
.commandRow>span:first-child{display:grid;gap:6px;min-width:0}.commandRow b{font-size:15px;font-weight:550;color:var(--ui-text)}.commandRow small{display:block;color:var(--ui-muted);font-size:13px;font-weight:400;line-height:1.5}.commandArrow{font-size:24px;color:var(--ui-dim);font-weight:400}
.gameShell #panelContent .commandRow:hover{color:var(--ui-accent);background:#b5c18e05}
.commandSearchStatus{margin:0 0 18px;font-size:13px!important}
.commandAdmin{display:flex;align-items:center;gap:12px;min-height:50px;margin-top:18px;padding-top:14px;border-top:1px solid var(--ui-border);text-decoration:none;font-size:14px;color:var(--ui-muted)!important}.commandAdmin svg{width:18px;height:18px}.commandAdmin>span:last-child{margin-left:auto;font-size:23px}
.commandNotice{border-left:2px solid var(--ui-accent);padding:4px 14px;margin:18px 0}.commandNotice h3{font-size:16px}
/* Roster and recruitment are distinct modes, with the same remembered state. */
.forceToolbar{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.gameShell #panelContent .forceToolbar>button{font-size:13px;flex:1;padding:10px}
.gameShell #panelContent .forceToolbar>button:first-child{flex-basis:100%;display:none}
.gameShell #panelContent .deploymentNote{font-size:12px;margin:10px 0 18px}
.forceTabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ui-border);margin-bottom:8px}
.gameShell #panelContent .forceTabs button{min-height:50px;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--ui-muted);font-weight:500}
.gameShell #panelContent .forceTabs button[aria-pressed=true]{border-bottom-color:var(--ui-accent);color:var(--ui-accent)}
.forceTabs span{margin-left:8px;color:var(--ui-dim);font-variant-numeric:tabular-nums}
.gameShell #panelContent .forceUnitRow{border:0;border-bottom:1px solid var(--ui-border);border-radius:0;margin:0;padding:0;background:transparent}
.gameShell #panelContent .forceUnitRow>summary{display:flex;align-items:center;gap:12px;min-height:96px;padding:14px 0}
.gameShell #panelContent .forceUnitRow>summary:after{content:'›';font-size:24px}.gameShell #panelContent .forceUnitRow[open]>summary:after{rotate:90deg}
.forceUnitArt{display:grid;place-items:center;flex:0 0 66px;width:66px;height:62px;border-radius:8px;background:#b1b9950a}
.forceUnitArt .unitPortrait{width:68px;height:60px;object-fit:contain;filter:drop-shadow(0 5px 6px #0006)}
.forceUnitArt svg{width:32px;height:32px;color:var(--ui-accent)}
.forceUnitIdentity{display:grid;gap:6px;flex:1;min-width:0}.forceUnitIdentity b{font-size:15px;font-weight:550}.forceUnitIdentity small{font-size:12px;color:var(--ui-muted);line-height:1.45;font-weight:400}
.forceUnitStrength{display:grid;gap:8px;width:44px;text-align:right;font-size:13px;font-weight:500;flex-shrink:0;font-variant-numeric:tabular-nums}.forceUnitStrength>i{display:block;height:3px;background:#465044;border-radius:3px;overflow:hidden}.forceUnitStrength>i>b{display:block;height:100%;background:var(--ui-accent)}
.forceUnitActions{display:grid;gap:8px;padding:0 0 18px}.gameShell #panelContent .forceUnitActions button{text-align:left}
.gameShell #panelContent .recruitCard{padding:22px 0}.gameShell #panelContent .recruitCard .cardhead{display:grid;grid-template-columns:1fr;gap:8px}.gameShell #panelContent .recruitCard h3{display:flex;align-items:center;gap:16px;font-size:18px;margin:0}.gameShell .recruitCard .unitPortrait{width:80px;height:70px;object-fit:contain;filter:drop-shadow(0 5px 6px #0005)}.gameShell #panelContent .recruitCard .cardhead>.meta{margin-left:96px;margin-top:-22px}.gameShell #panelContent .recruitCard .actions button{width:100%}
.gameShell #panelContent .recruitRequirement{font-size:12px;line-height:1.5;color:#c4bfa8}
/* Research reads like a programme list, not a stack of large cards. */
.gameShell #panelContent .developmentHero{padding:0;margin:0 0 20px;background:transparent;border:0;border-radius:0}
.gameShell #panelContent .developmentHero>p{margin:6px 0;font-size:13px}.gameShell #panelContent .developmentHero .cardMeta{color:var(--ui-accent)!important}
.gameShell #panelContent .developmentHero>details{border:0;border-bottom:1px solid var(--ui-border);padding:0;border-radius:0;margin:10px 0 0}.gameShell #panelContent .developmentHero summary{font-weight:400;color:var(--ui-muted);font-size:13px}
.gameShell #panelContent .developmentHero>details span{display:block;font-size:13px;line-height:1.6;padding-bottom:15px}
.gameShell #panelContent .researchTrack{padding:0;border:0;border-bottom:1px solid var(--ui-border);background:transparent;border-radius:0;margin:0}
.gameShell #panelContent .researchTrack>summary{min-height:94px;gap:14px;padding:17px 0}
.gameShell #panelContent .researchTrack>summary:before{display:none}
.researchSymbol{display:grid;place-items:center;width:44px;height:48px;background:#9cab7314;border:1px solid #89996c3d;border-radius:8px;flex-shrink:0;color:var(--ui-accent)}.researchSymbol svg{width:24px;height:24px;stroke-width:1.4}
.researchIdentity{display:grid;gap:6px;flex:1;min-width:0}.researchIdentity>b{font-weight:550;font-size:15px}.researchIdentity>small{font-weight:400;font-size:12px;color:var(--ui-muted);line-height:1.4}.researchLevel{display:grid;gap:4px;text-align:right;font-size:22px;font-weight:400;color:var(--ui-accent)}.researchLevel small{font-size:11px;color:var(--ui-dim)}
.gameShell #panelContent .researchTrack[open]{padding-bottom:18px}.gameShell #panelContent .researchTrack>p{margin-top:0}.gameShell #panelContent .unlockLine{padding:10px 12px;background:#b7bd9d0a;border-left:2px solid #697659;border-radius:0;font-size:12px;line-height:1.5}
.gameShell #panelContent .researchTrack>.primary{width:100%;margin-top:10px}
.gameShell #panelContent .promotionCard{background:transparent;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;padding:0 0 20px;margin:0 0 20px;gap:18px}.gameShell #panelContent .promotionCard h3{font-size:23px;font-weight:500;margin:0 0 8px}.gameShell #panelContent .promotionCard p{font-size:13px}.gameShell #panelContent .promotionCard .rank-insignia{width:62px;min-width:62px;height:88px}
/* Battlefield furniture is small and anchored; the map owns the middle. */
.gameShell .topbar{top:max(12px,env(safe-area-inset-top));left:14px;right:14px;gap:8px;align-items:center}
.gameShell :is(.nationIdentity,.resources>button,.bottomNav,.maptools button,.missionChip,.quickForces,.fieldSelection,.commandDock){background:var(--ui-hud);color:var(--ui-text);border:1px solid var(--ui-border);box-shadow:0 5px 18px #08100d33;backdrop-filter:blur(12px);border-radius:10px}
.gameShell .nationIdentity{min-height:64px;padding:10px 12px;gap:10px;max-width:54%;flex:1;overflow:hidden}
.gameShell .nationIdentity>span:last-child{min-width:0}.gameShell .nationIdentity b{font-size:14px;line-height:1.4;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-family:inherit}
.gameShell .nationIdentity small{font-size:11px;color:var(--ui-muted);line-height:1.35;letter-spacing:0;text-transform:none;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.gameShell #flag{display:none}.gameShell #nationRankMark{display:block;flex-shrink:0}.gameShell #nationRankMark .rank-insignia{width:27px;min-width:27px;height:39px;min-height:39px;border-radius:4px;padding:1px}
.gameShell .resources{margin:0}.gameShell .resources>button{display:flex;gap:13px;min-height:64px;padding:10px 12px}.gameShell .resources>button>span{position:relative;padding-left:0;text-align:left}.gameShell .resources b{font-size:15px;font-weight:550;font-family:inherit;line-height:1.4;font-variant-numeric:tabular-nums}.gameShell .resources small{font-size:10px;color:var(--ui-muted);letter-spacing:0;text-transform:none;font-weight:400;line-height:1.5}
.gameShell .worldTitle,.gameShell .maplegend{display:none}
.gameShell .missionChip{position:fixed;top:88px;left:14px;right:auto;width:calc(100% - 84px);max-width:360px;min-height:62px;padding:11px 13px;gap:11px;border-left:1px solid var(--ui-border);text-align:left;overflow:hidden}
.gameShell .missionChip:after{height:2px;background:var(--ui-accent);bottom:0}
.gameShell .missionIcon{width:28px;min-width:28px;height:28px;border:1px solid #ddc28b45;background:transparent;border-radius:50%;color:var(--ui-accent);font-size:20px}
.gameShell #orderStep{font-size:10px;letter-spacing:0;text-transform:none;font-weight:400;line-height:1.5;color:var(--ui-muted)}.gameShell #orderTitle{font-size:13px;line-height:1.4;font-weight:550;font-family:inherit;color:var(--ui-text);letter-spacing:0}.gameShell .openChevron{font-size:22px;color:var(--ui-dim)}
.gameShell .maptools{position:fixed;top:88px;right:14px;left:auto;gap:8px;display:flex;flex-direction:column}
.gameShell .maptools button{width:46px;height:46px;min-width:46px;min-height:46px;padding:12px;position:relative;display:grid;place-items:center;border-radius:10px;font-size:12px}.gameShell .maptools svg{width:21px;height:21px;color:var(--ui-text)}.toolCount{position:absolute;right:-4px;top:-5px;min-width:18px;height:18px;display:grid;place-items:center;font-size:10px;border-radius:9px;background:#a64f37;color:#fff;padding:0 3px}
.gameShell .bottomNav{box-sizing:border-box;width:calc(100% - 28px)!important;max-width:420px;left:50%;transform:translateX(-50%);right:auto;bottom:max(12px,env(safe-area-inset-bottom));padding:5px;gap:3px;min-height:68px;border-radius:14px}
.gameShell .bottomNav button{min-height:56px;gap:6px;border-radius:9px;padding:8px 5px;color:var(--ui-muted);font-size:11px;font-weight:500;background:transparent}
.gameShell .bottomNav button svg{width:21px;height:21px;stroke-width:1.5}
.gameShell .bottomNav button.active{background:#b9c78e13;color:var(--ui-accent)}
.gameShell .bottomNav button:before{display:none}.gameShell .bottomNav button.active:after{content:'';display:block;position:absolute;bottom:4px;width:12px;height:2px;border-radius:2px;background:var(--ui-accent)}
.gameShell .quickForces{transform:none;position:fixed;left:14px;bottom:92px;width:min(330px,calc(100% - 28px));padding:0;max-height:270px;border-radius:10px;overflow:hidden}
.gameShell .quickForcesHead{display:flex;align-items:center;gap:8px;margin:0;padding:0 12px}.gameShell #quickToggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:transparent;border:0;padding:11px 0;min-height:44px;font-size:12px;color:var(--ui-muted);font-weight:500;text-align:left}.gameShell #quickToggle[aria-expanded=true]>span:last-child{rotate:180deg}.gameShell #quickManage{font-size:11px;white-space:nowrap;border:0;background:transparent;color:var(--ui-accent);padding:6px}
.gameShell #quickUnits{padding:4px 10px 10px;display:grid;grid-template-columns:1fr;gap:5px;max-height:212px;overflow:auto}
.gameShell #quickUnits button{display:flex;min-width:0;min-height:60px;padding:8px 10px;border:0;background:#9ba7870b;border-radius:7px;text-align:left;gap:10px}
.gameShell #quickUnits .unitPortrait{width:45px;height:40px}.gameShell #quickUnits b{font-size:12px}.gameShell #quickUnits small{font-size:11px;color:var(--ui-muted)}.gameShell #quickUnits strong{font-size:12px;color:var(--ui-muted);margin-left:auto}.gameShell #quickUnits .unitHealth>i{background:var(--ui-accent)}
.gameShell .mapbadge.army{background:#1b241df2;border:1px solid #76846877;border-bottom:2px solid var(--army-color);border-radius:6px;padding:6px 9px;box-shadow:0 3px 8px #08110c40;font-family:inherit}.gameShell .mapbadge.army b{font-size:11px;font-weight:550}.gameShell .mapbadge.army small{color:#c2cbb8;font-size:10px}.gameShell .mapbadge.army.selected{background:#465039;border-color:var(--ui-accent)}.gameShell .mapbadge.capital{background:#e6dfc9;color:#31392a;border-color:#f0e5c6;border-radius:5px;box-shadow:0 3px 8px #08110c30}.gameShell .mapbadge.strategic{border-color:#899b7070;background:#2b3829df;color:#e7e9d5;border-radius:6px;box-shadow:none}
.gameShell :is(.fieldSelection,.commandDock){bottom:92px;border-radius:12px}
.gameShell :is(#fieldCancel,#closeDock){width:38px;height:38px;min-height:38px;flex-shrink:0;padding:9px;border:0;background:transparent}
.gameShell :is(#fieldCancel,#closeDock) svg{width:19px;height:19px}.gameShell .fieldSelection .fieldHeader{padding-right:0}
.gameShell .fieldActions{display:flex;gap:6px;overflow-x:auto;padding-top:8px}.gameShell .fieldActions button{font-size:12px;white-space:nowrap;min-height:40px;padding:9px 11px}
.gameShell #toast{background:#2d392a;border:1px solid #8c9c72;color:var(--ui-text);border-radius:8px;font-size:13px}
.gameShell #unitSelect{padding:0 18px 18px;border-radius:16px;border:1px solid var(--ui-border);max-height:calc(100dvh - 48px);width:440px;background:var(--ui-panel)}
.gameShell .unitSelectHeader{padding:18px 0 12px;border-bottom:1px solid var(--ui-border);margin:0;align-items:center;background:var(--ui-panel)}.gameShell .unitSelectHeader h2{font-size:24px;font-weight:500}.gameShell #closeUnitSelect{width:40px;height:40px;min-height:40px;padding:10px;background:transparent;border-radius:50%}.gameShell #closeUnitSelect svg{width:18px;height:18px}
.gameShell #unitSelectList{display:grid;gap:0}.gameShell #unitSelectList>button{background:transparent;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;min-height:84px;gap:14px;padding:13px 0}.gameShell #unitSelectList>button[aria-pressed=true]{background:#ddc28b0d;border-color:var(--ui-accent)}.gameShell #unitSelectList .unitPortrait{width:58px;height:52px;object-fit:contain}.gameShell #unitSelectList b{font-size:15px;font-weight:550}.gameShell #unitSelectList small{font-size:12px;color:var(--ui-muted)}.gameShell .unitSelectFooter{background:var(--ui-panel);border-color:var(--ui-border);padding:14px 0 0;margin:0}
/* Base and communications retain the same controls as the battlefield. */
.gameShell :is(.baseTop,.baseNavigation button,.baseTools button,.baseMapLabel){background:#1a241cf0;border-color:#69745699;color:var(--ui-text);border-radius:8px;box-shadow:0 4px 12px #07110a33}
.gameShell .baseTop{padding:12px 16px;gap:12px}.gameShell .baseTop b{font-size:17px;font-weight:550}.gameShell .baseTop small{letter-spacing:0;text-transform:none;color:var(--ui-muted);font-size:11px}.gameShell .baseNavigation{gap:6px}.gameShell .baseNavigation button{font-size:12px;min-height:42px;padding:10px 12px}.gameShell .baseMapLabel.selected{background:#465138;border-color:var(--ui-accent)}
.gameShell #baseBuildingMenu{background:var(--ui-panel);border-color:var(--ui-border);border-radius:12px}.gameShell #baseBuildingMenu button{background:transparent;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;padding:13px;color:var(--ui-text)}.gameShell #baseBuildingMenu button[aria-pressed=true]{background:#ddc28b15}.gameShell #baseBuildingMenu small{color:var(--ui-muted)}
.gameShell #baseInspector{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:14px;padding:20px;box-shadow:0 8px 30px #0005}.gameShell .baseInspectorHead{align-items:flex-start;gap:12px}.gameShell .baseInspectorHead>div{flex:1;min-width:0}.gameShell .baseInspectorHead h2{font-size:23px;font-weight:500;letter-spacing:-.03em}.gameShell .baseInspectorHead .cardMeta{font-size:12px;letter-spacing:0;color:var(--ui-muted);text-transform:none}.gameShell .baseInspectorHead #baseDeselect{position:static;flex:0 0 40px;width:40px;min-height:40px;height:40px;padding:0;background:transparent;border-radius:50%}.gameShell .baseCosts{background:transparent;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);border-radius:0;padding:14px 0}.gameShell .baseCosts b{font-size:18px;font-weight:550;color:var(--ui-text)}.gameShell #baseInspector .baseCosts span{font-size:12px;color:var(--ui-muted)}.gameShell #baseHint{background:var(--ui-hud);border-color:var(--ui-border);border-radius:8px}
.gameShell #panel[open]:has(.allianceChat){overflow:hidden;display:flex;flex-direction:column}.gameShell #panel[open]:has(.allianceChat) .panelhead{flex-shrink:0;margin-bottom:0}.gameShell #panel[open]:has(.allianceChat) #panelContent{flex:1;min-height:0;display:flex;flex-direction:column}.gameShell .allianceChat{height:auto!important;min-height:0;flex:1;gap:10px;--chat-gold:var(--ui-accent);--chat-line:var(--ui-border)}
.gameShell .allianceChat .chatHeading{border:0;border-bottom:1px solid var(--ui-border);background:transparent;border-radius:0;padding:14px 0;gap:12px}.gameShell .chatPeerIdentity>b{font-size:14px;font-weight:550;line-height:1.4}.gameShell .chatPeerIdentity>small:last-child{font-size:11px;color:var(--ui-muted)}
.gameShell .chatChannelSeal{border-color:var(--ui-border);color:var(--ui-accent)}.gameShell .allianceChat .chatPlans{background:transparent;border-color:var(--ui-border);border-radius:8px}.gameShell .allianceChat .chatPlans>summary{min-height:44px!important;padding:10px 12px!important;font-size:13px!important}.gameShell .allianceChat .chatPlans>summary:after{display:none}
.gameShell .allianceChatLog{background:transparent;border-color:var(--ui-border)}.gameShell .allianceChat .chatMessage{background:var(--ui-surface);border-color:var(--ui-border);border-radius:10px}.gameShell .allianceChat .chatMessage.mine{background:var(--ui-selected);border-color:#66744e66}.gameShell .allianceChat textarea{background:var(--ui-input);border-color:var(--ui-border)}
.gameShell #loading{background:var(--ui-bg);color:var(--ui-muted)}.gameShell #loading .brand,.gameShell #loading a{color:var(--ui-accent)}.gameShell #welcome{background:var(--ui-panel);border-radius:16px;color:var(--ui-text)}.gameShell #welcome h2{font-size:32px;font-weight:500;line-height:1.2}.gameShell .homelandNote{background:#a2b4830c;border:0;border-left:2px solid #8a9a6a;border-radius:0;color:var(--ui-muted)}.gameShell .homelandNote b{color:var(--ui-text)}.gameShell #flagChoices button{background:var(--ui-surface);border-color:var(--ui-border)}.gameShell #flagChoices button.active{background:#ddc28b20;border-color:var(--ui-accent)}
@media(min-width:700px){.gameShell .topbar{right:auto;width:440px}.gameShell .missionChip{top:88px}.gameShell .maptools{left:14px;right:auto;top:164px}.gameShell .quickForces{max-width:330px}.gameShell .bottomNav{max-width:420px}.gameShell #panel[open]:has(.allianceChat){height:calc(100dvh - 32px)}}
@media(max-width:650px){.gameShell #panel{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0 20px max(24px,env(safe-area-inset-bottom));border:0;border-radius:0}.gameShell #panel .panelhead{margin:0 -20px 18px;padding:14px 16px;gap:10px;padding-top:max(14px,env(safe-area-inset-top))}.gameShell #panel .panelhead h2{font-size:23px}.gameShell .advancedReview{max-height:calc(100dvh - 32px)}.gameShell #unitSelect{width:calc(100% - 24px);max-width:calc(100% - 24px);margin:12px;padding:0 16px 16px}.gameShell #baseInspector{left:12px;right:12px;width:auto;max-height:55dvh;bottom:12px;padding:18px}.gameShell .baseTop{flex-wrap:wrap;padding:10px 12px;gap:9px}.gameShell .baseTop>div:first-of-type{flex:1;min-width:0}.gameShell .baseTop b{font-size:14px}.gameShell .baseWallet{margin-left:auto}.gameShell .baseWallet b{font-size:13px}.gameShell #baseBack{min-height:40px;padding:8px;font-size:12px}.gameShell #baseBack span{display:none}.gameShell .baseNavigation{left:12px;right:12px;justify-content:flex-start;overflow-x:auto;padding-bottom:3px;max-width:calc(100% - 24px)}.gameShell .baseNavigation button{flex-shrink:0}.gameShell .baseTop small{font-size:10px}}
@media(max-width:350px){.gameShell #panel{padding-left:16px;padding-right:16px}.gameShell #panel .panelhead{margin-left:-16px;margin-right:-16px}.gameShell .nationIdentity{padding:9px;gap:7px;max-width:51%}.gameShell .nationIdentity b{font-size:12px}.gameShell .nationIdentity small{font-size:10px}.gameShell #nationRankMark .rank-insignia{width:23px;min-width:23px;height:34px}.gameShell .resources>button{padding:9px;gap:10px}.gameShell .resources b{font-size:13px}.gameShell .resources small{font-size:9px}.gameShell .topbar{left:10px;right:10px;gap:6px}.gameShell .commanderIdentity>b{font-size:19px}.gameShell #panelContent .commanderProfile{gap:13px}.gameShell #panelContent .commandShortcuts button{font-size:12px;gap:6px;padding:10px 6px}.commandCategoryTiles b{font-size:15px}.commandCategoryTiles small{font-size:11px}.forceUnitArt{flex-basis:52px;width:52px}.forceUnitArt .unitPortrait{width:55px}.forceUnitIdentity b{font-size:14px}.gameShell #panelContent .researchTrack>summary{gap:9px}.researchIdentity>b{font-size:14px}.researchSymbol{width:38px}.researchIdentity>small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gameShell *,.gameShell *:before,.gameShell *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.gameShell #intelOpen,.gameShell #chatOpen{width:46px;min-width:46px;height:46px;padding:12px;background:var(--ui-hud);border:1px solid var(--ui-border);border-radius:10px;box-shadow:0 5px 18px #08100d33}
.gameShell #panelContent .careerSummary{background:#a4b18d08;border-color:var(--ui-border);border-radius:8px}.gameShell #panelContent .careerBonuses>span{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text)}
.gameShell #panelContent .researchTrack>summary>.researchSymbol{flex:0 0 44px;width:44px;max-width:44px}
.gameShell #panelContent .researchTrack>summary>.researchIdentity{flex:1 1 auto;width:auto}
.gameShell #panelContent .researchTrack>summary>.researchLevel{flex:0 0 28px;width:28px}
@media(max-width:350px){.gameShell #panelContent .researchTrack>summary>.researchSymbol{flex-basis:38px;width:38px;max-width:38px}}
.gameShell #panelContent .operationHero:after,.gameShell #panelContent .operationHero:before{display:none}
.gameShell #panelContent .campaignHero{padding:22px;background:#242e22;border-color:#77875d66}
.gameShell #panelContent .campaignHero h3{font-size:29px;font-weight:500;line-height:1.15;max-width:90%;margin:0 0 12px}
.gameShell #panelContent .campaignHero p{font-size:14px;line-height:1.6}
.gameShell .operationMeter{height:4px;background:#46503e;border-radius:3px;overflow:hidden}.gameShell .operationMeter>i{background:var(--ui-accent)}
.gameShell .operationLoot{gap:8px;margin-top:16px}.gameShell .operationLoot span{padding:0 10px 0 0;border:0;border-right:1px solid #5b6750;background:transparent;border-radius:0;font-size:12px;font-weight:500;color:var(--ui-accent)}.gameShell .operationLoot span:last-child{border-right:0}
.gameShell #panelContent .operationGoals{display:grid;gap:0;margin:0 0 22px;border-top:1px solid var(--ui-border)}
.gameShell #panelContent .operationGoals>button{min-height:86px;padding:15px 0;background:transparent;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;gap:14px}
.gameShell #panelContent .operationGoals>button>i{background:#93a76b15;border:1px solid #93a76b40;border-radius:8px;width:38px;height:42px;color:var(--ui-accent)}.gameShell #panelContent .operationGoals svg{width:20px;height:20px}.gameShell #panelContent .operationGoals b{font-size:15px;font-weight:550}.gameShell #panelContent .operationGoals small{font-size:12px;font-weight:400;color:var(--ui-muted);line-height:1.45}.gameShell #panelContent .operationGoals>button:disabled{opacity:.65}.gameShell .operationGoals strong{font-weight:500;color:var(--ui-muted);font-size:13px}
.gameShell #panelContent .operationSupporting{background:transparent;border:0;border-bottom:1px solid var(--ui-border);padding:0;border-radius:0;margin:8px 0}.gameShell .operationLinks{display:grid;padding-bottom:12px}.gameShell #panelContent .operationLinks button{display:flex;justify-content:space-between;min-height:52px;border:0;border-radius:0;background:transparent;padding:12px 0;text-align:left;font-weight:400;color:var(--ui-muted)}
.gameShell .allianceChat .chatBubble{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;color:var(--ui-text);box-shadow:none}.gameShell .allianceChat .chatBubble.mine{background:var(--ui-selected);border-color:#77875d55}.gameShell .allianceChat .chatBubble p{color:var(--ui-text);font-size:14px}.gameShell .allianceChat .chatThread{background:transparent}.gameShell .allianceChat .chatEmpty{background:transparent;border:0;color:var(--ui-dim);font-size:14px}.gameShell .chatPlanning details{margin:0!important;border-radius:8px!important}.gameShell .chatPlanning summary:after{display:none}.gameShell .chatPlanning .chatPlanState{font-size:11px;color:var(--ui-accent)}
.gameShell #panel .panelhead{box-shadow:none}
.gameShell .nationIdentity{position:relative}.gameShell #flag{display:block;position:absolute;left:33px;bottom:10px;font-size:11px;line-height:12px;filter:drop-shadow(0 1px 2px #0007)}
.gameShell #panel[open]{animation:commandEnter .18s ease-out}
.gameShell :is(.bottomNav button,.commandCategoryTiles button,.maptools button):active{scale:.97}
@keyframes commandEnter{from{opacity:0;translate:12px 0}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.gameShell #panel[open]{animation:none}.gameShell :is(.bottomNav button,.commandCategoryTiles button,.maptools button):active{scale:1}}
.gameShell #fieldSelection .fieldActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding-top:10px;overflow:visible}
.gameShell #fieldSelection .fieldActions button{min-width:0;width:auto;min-height:42px;padding:8px 4px;font-size:11px;white-space:normal;background:var(--ui-raised);border-color:var(--ui-border);color:var(--ui-text)}
.gameShell #fieldSelection #fieldReinforce{grid-column:1/-1;min-height:38px;color:var(--ui-accent);border-color:#ddc28b55;background:#ddc28b0b}
.gameShell .baseTop{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;left:16px;right:auto;top:16px;width:min(720px,calc(100% - 32px));padding:12px;border:1px solid var(--ui-border);pointer-events:auto}
.gameShell .baseTop>div:not(.baseWallet){background:transparent;border:0;padding:0;border-radius:0;backdrop-filter:none;gap:5px;box-shadow:none}
.gameShell .baseTop #baseName{font:550 16px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;white-space:normal;overflow-wrap:anywhere;color:var(--ui-text)}
.gameShell .baseTop #baseStatus{font-size:11px!important;font-weight:400;line-height:1.4;color:var(--ui-muted)}
.gameShell #baseBack{width:40px;height:40px;min-height:40px;padding:10px;border-radius:50%;border:1px solid var(--ui-border);background:transparent;font-size:16px}
.gameShell #baseBack svg{width:19px;height:19px}
.gameShell .baseWallet{grid-column:3;justify-self:end;display:flex;align-items:center;gap:20px;padding:0 4px;background:transparent;border:0;border-radius:0;min-height:40px;box-shadow:none;backdrop-filter:none;width:auto}
.gameShell .baseWallet>span{display:grid;gap:4px;line-height:1.25}.gameShell .baseWallet b{font-size:15px;font-weight:500;color:var(--ui-text)}.gameShell .baseWallet small{font-size:10px;color:var(--ui-muted)}
.gameShell .baseNavigation{top:102px;left:16px;right:16px;flex-wrap:nowrap;max-width:600px;overflow-x:auto}
.gameShell .baseTools{top:164px;right:16px;left:auto;flex-direction:column;gap:6px}
.gameShell .baseTools button{width:42px;height:42px;font-size:21px}
.gameShell #baseBuildingMenu{top:152px;left:16px;max-height:calc(100dvh - 178px)}
@media(max-width:650px){.gameShell .baseTop{top:12px;left:12px;width:calc(100% - 24px);grid-template-columns:40px minmax(0,1fr);padding:10px 12px;gap:9px 12px}.gameShell .baseWallet{grid-column:1/-1;justify-self:stretch;justify-content:flex-end;gap:22px;border-top:1px solid var(--ui-border);min-height:30px;padding:9px 0 0}.gameShell .baseWallet>span{display:flex;align-items:baseline;gap:6px}.gameShell .baseWallet b{font-size:14px}.gameShell .baseWallet small{font-size:10px}.gameShell .baseNavigation{top:132px;left:12px;right:12px;gap:6px}.gameShell .baseNavigation button{font-size:11px;padding:9px 10px;min-height:42px}.gameShell .baseTools{top:190px;right:12px}.gameShell #baseBuildingMenu{top:184px;left:12px;max-height:calc(100dvh - 208px)}}
.gameShell #baseInspector{transform:none}
.gameShell #baseInspector .baseCosts>span{background:transparent;border:0;border-radius:0;padding:0 10px 0 0;min-width:0;box-shadow:none}
.gameShell .baseNavigation button{order:0;flex:0 0 auto}
.gameShell #panel[open]:has(.allianceChat){width:560px;max-width:calc(100% - 32px);height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);margin:16px 16px 16px auto;padding:0 24px 24px}
.gameShell #panel[open]:has(.allianceChat) .panelhead{margin:0 -24px;padding:16px 20px;min-height:76px}
.gameShell #panel[open]:has(.allianceChat) #panelTitle{font-size:23px;font-weight:550;line-height:1.25}
@media(max-width:650px){.gameShell #panel[open]:has(.allianceChat){width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;padding:0 20px max(12px,env(safe-area-inset-bottom))}.gameShell #panel[open]:has(.allianceChat) .panelhead{margin:0 -20px;padding:14px 16px;min-height:72px}}

/* Quiet map furniture. Status and navigation frame the terrain instead of covering it. */
.gameShell .vignette{background:linear-gradient(#151e1a16,transparent 19%,transparent 85%,#151e1a10)}
.gameShell .topbar{gap:0;padding:0 3px;background:var(--ui-hud);border:1px solid #ffffff16;border-radius:12px;box-shadow:0 2px 12px #0002;backdrop-filter:blur(16px)}
.gameShell .topbar :is(.nationIdentity,.resources>button){background:transparent;border:0;box-shadow:none;backdrop-filter:none;min-height:56px;padding:9px 10px;border-radius:0}
.gameShell .nationIdentity{max-width:55%}.gameShell .resources{border-left:1px solid #ffffff12}.gameShell .resources>button{gap:12px}
.gameShell #nationRankMark .rank-insignia{width:23px;min-width:23px;height:33px;min-height:33px}.gameShell #flag{left:28px;bottom:7px;font-size:10px}
.gameShell .nationIdentity small{font-size:10px}.gameShell .resources b{font-size:14px}.gameShell .resources small{font-size:9px}
.gameShell .missionChip{top:80px;min-height:48px;padding:8px 12px;background:var(--ui-hud);border:1px solid #ffffff16;border-radius:10px;box-shadow:none;gap:10px}
.gameShell .missionIcon{border:0;width:20px;min-width:20px;height:24px;font-size:19px;color:var(--ui-muted)}
.gameShell #orderStep{font-size:10px;line-height:1.3}.gameShell #orderTitle{font-size:12px;font-weight:500}.gameShell .missionChip:after{opacity:.45;height:1px}
.gameShell .maptools{top:80px;gap:7px}.gameShell #intelOpen,.gameShell #chatOpen{background:var(--ui-hud);border-color:#ffffff16;box-shadow:none;border-radius:50%;width:44px;min-width:44px;height:44px;padding:12px}
.gameShell .bottomNav{min-height:60px;padding:3px;background:#202626f2;border-color:#ffffff16;border-radius:13px;box-shadow:0 3px 16px #0002}
.gameShell .bottomNav button{min-height:52px;gap:4px;font-size:11px}.gameShell .bottomNav button.active{background:transparent;color:var(--ui-text)}.gameShell .bottomNav button.active:after{width:16px;background:var(--ui-accent)}
.gameShell .quickForces:not(:has(#quickToggle[aria-expanded=true])){width:auto;max-width:calc(100% - 28px);border-radius:22px;background:var(--ui-hud);border-color:#ffffff16;box-shadow:none;bottom:84px}
.gameShell #quickToggle{min-height:44px;font-size:12px}.gameShell .quickForcesHead{padding:0 14px}
.gameShell :is(.fieldSelection,.commandDock){background:var(--ui-panel);border-color:#ffffff20;box-shadow:0 5px 24px #0003}
.gameShell #panel .panelhead{border-color:#ffffff12}.gameShell #panel .panelhead h2{font-size:22px;font-weight:500}.gameShell #panel .panelhead>button{border-color:transparent}
.gameShell #panelContent :is(.intelHero,.seasonHero,.allianceHero,.campaignHero,.operationHero){background:transparent;border:0;border-bottom:1px solid var(--ui-border);border-radius:0;padding:0 0 20px;box-shadow:none}
.gameShell #panelContent .campaignHero h3{font-size:25px}.gameShell #panelContent .campaignHero p{font-size:13px}
.gameShell #panelContent details{border-color:#414b4777}.gameShell #panelContent summary{font-weight:500}
.gameShell #panelContent .researchTrack>summary{min-height:82px}.gameShell .researchSymbol{background:transparent;border:0;color:var(--ui-muted)}
.gameShell #panelContent .researchTrack>.researchUnlocks{border:0;border-top:1px solid #414b4777;border-radius:0;margin:18px 0 0;padding:0}
.gameShell #panelContent .researchUnlocks>summary{font-size:13px;color:var(--ui-muted);font-weight:400}.gameShell .researchUnlocks .milestoneTrack{margin-top:0;border:0}
.gameShell .firstCommand li:not(.current) p,.gameShell .firstCommand li:not(.current) small{display:none}.gameShell .firstCommand li:not(.current){padding-bottom:20px}.gameShell .firstCommand li:not(.current) h3{font-size:15px!important;color:var(--ui-muted)}
.gameShell #returnBriefing{width:440px;max-width:calc(100% - 32px);padding:28px 24px 22px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:16px;box-shadow:0 10px 50px #0004}
.gameShell #returnBriefing h2{font:500 26px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ui-text);letter-spacing:-.03em;margin:0 38px 8px 0}
.gameShell #returnBriefing #closeBriefing{top:14px;right:14px;width:40px;height:40px;padding:10px;background:transparent;border:0;border-radius:50%}
.gameShell #returnBriefing .briefingStats{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0}.gameShell #returnBriefing .briefingStats>div{flex:1;background:transparent;border:0;border-radius:0;padding:0;min-width:100px}.gameShell #returnBriefing .briefingStats b{font-size:23px;font-weight:450;color:var(--ui-text)}
.gameShell #returnBriefing .briefingGains{border-color:var(--ui-border)}.gameShell #returnBriefing .briefingGains b{color:var(--ui-text);font-weight:500}
.gameShell #returnBriefing .briefingLinks{gap:0;border-bottom:1px solid var(--ui-border);padding-bottom:12px}.gameShell #returnBriefing .briefingLinks button{background:transparent;border:0;font-size:12px;padding:8px 10px 8px 0;min-height:44px;font-weight:400}
.gameShell #returnBriefing .briefingNext{background:transparent;border:0;padding:8px 0;margin:14px 0}.gameShell #returnBriefing .briefingNext h3{font-size:17px;font-weight:500}.gameShell #returnDismiss{background:transparent;border:0;color:var(--ui-muted);font-size:13px}
.gameShell .baseMapLabel{background:#202626cf;border-color:#ffffff16;box-shadow:none}.gameShell .baseTop{background:var(--ui-hud);border-color:#ffffff16;box-shadow:none}.gameShell .baseNavigation button{background:var(--ui-hud);border-color:#ffffff16;box-shadow:none}
@media(min-width:700px){.gameShell .missionChip{top:80px}.gameShell .maptools{top:142px}}
@media(max-width:350px){.gameShell .topbar .nationIdentity{padding:8px;gap:6px;max-width:53%}.gameShell .topbar .resources>button{padding:8px;gap:9px}.gameShell .resources b{font-size:12px}.gameShell .nationIdentity b{font-size:12px}.gameShell .commandCategoryTiles small{font-size:12px}.gameShell .commandCategoryTiles b{font-size:15px}}

.gameShell #panelContent .researchUnlocks>summary:before{display:none}
.gameShell #panel .panelhead>button svg{flex:none;width:20px;height:20px;min-width:20px}
.gameShell:has(#fieldSelection:not([hidden])) #nextOrder{visibility:hidden;pointer-events:none}

.gameShell #panelContent .forceOverview{border:0;border-bottom:1px solid var(--ui-border);border-radius:0;padding:0;margin:0 0 12px}.gameShell #panelContent .forceOverview>summary{font-size:13px;color:var(--ui-muted);min-height:44px;padding:0 0 12px;gap:10px}.gameShell .forceOverview>summary>span{font-size:12px;font-weight:400;margin-left:auto}.gameShell .forceOverview>summary:before{display:none}.gameShell #panelContent .forceOverview .stats{padding-top:12px}.gameShell .forceScreen[data-view=units]>.deploymentNote,.gameShell .forceScreen[data-view=recruit]>.forceOverview{display:none}
.gameShell .baseMapLabel{width:128px;max-width:128px;min-width:0;min-height:44px;padding:7px 9px;background:#202626db;border:1px solid #ffffff20;border-radius:7px;box-shadow:none}.gameShell .baseMapLabel b{font-size:11px;line-height:1.3;font-weight:500}.gameShell .baseMapLabel small{font-size:10px;color:var(--ui-muted)}.gameShell .baseMapLabel.unbuilt{background:#202626b8;border-color:#ffffff25;border-style:dashed}.gameShell .baseMapLabel.unbuilt small{color:var(--ui-muted)}.gameShell .baseMapLabel.selected{background:#303a34;border-color:var(--ui-accent);color:var(--ui-text);box-shadow:none}.gameShell .baseMapLabel.selected small{color:var(--ui-muted)}
.gameShell .mapbadge.army.selected{background:#303a34;color:var(--ui-text);border-color:var(--ui-accent)}.gameShell .mapbadge.army.selected :is(b,small,.mapUnitTitle){color:var(--ui-text)}
/* Orders show their purpose, cost and exact requirements where the player acts. */
.gameShell .advancedReview{width:440px;max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);padding:22px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:14px;scrollbar-width:thin}
.gameShell .advancedReview header{align-items:center;gap:14px}.gameShell .advancedReview h2{font-size:23px;font-weight:500;line-height:1.2;letter-spacing:-.025em}.gameShell .advancedReview header button{width:44px;height:44px;min-height:44px;padding:8px;border:0;border-radius:50%;background:transparent;font-size:24px;font-weight:400}
.gameShell .advancedReview form>p{font-size:14px;line-height:1.6;margin:16px 0}.gameShell .advancedReview .reviewCost{border:0;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);border-radius:0;background:transparent;padding:14px 0;color:var(--ui-text)!important}.gameShell .advancedReview .reviewCost b{font-weight:500}
.gameShell .advancedReview dl{margin:18px 0}.gameShell .advancedReview dl div{grid-template-columns:minmax(90px,.8fr) minmax(0,1.4fr);padding:12px 0;border-color:var(--ui-border);font-size:14px;line-height:1.5}.gameShell .advancedReview dt{color:var(--ui-muted)}.gameShell .advancedReview dd{color:var(--ui-text)}
.gameShell .advancedReviewActions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-top:20px}.gameShell .advancedReviewActions button{font-size:14px;font-weight:500;min-height:48px;padding:12px 10px}.gameShell .advancedReviewActions button:first-child{background:transparent}.gameShell .advancedReview output:not(:empty){padding:12px 14px;margin-top:16px;border-left:2px solid #dba07b;background:#dba07b09;font-size:14px;line-height:1.6;color:#edbfa3}
.gameShell #panelContent :is(.orderError,.orderRequirement){font-size:13px;line-height:1.6;color:var(--ui-warning);padding:10px 0;margin:8px 0}.gameShell #panelContent .orderError{padding:12px 14px;border-left:2px solid #dba07b;background:#dba07b09}
.gameShell .readinessGrid{gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin:20px 0 12px}.gameShell .readinessGrid div{min-width:0}.gameShell .readinessGrid span{font-size:11px;color:var(--ui-muted)}.gameShell .readinessGrid b{font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}.gameShell .readinessGrid .low b{color:#edb896}.gameShell .readinessGrid meter{height:4px;border:0;border-radius:2px;background:var(--ui-border)}.gameShell .readinessGrid meter::-webkit-meter-bar{background:var(--ui-border);border:0}.gameShell .readinessGrid meter::-webkit-meter-optimum-value{background:#a5b996}.gameShell .readinessGrid .low meter::-webkit-meter-optimum-value{background:#d7a27e}
.gameShell #panelContent .unitSupplyLocation{font-size:12px;margin:8px 0 12px}.gameShell .resupplyAction{display:grid;gap:8px;margin-top:14px}.gameShell .resupplyAction button{width:100%;background:var(--ui-raised);font-weight:500}.gameShell .resupplyAction small{font-size:12px;color:var(--ui-muted)}.gameShell #panelContent :is(.resupplyHint,.variantCost,.airliftFootnote){font-size:12px;color:var(--ui-dim);line-height:1.6}.gameShell #panelContent .resupplyHint{margin:8px 0 18px}
.gameShell #panelContent .advancedCard details.advancedCard{border:0;border-top:1px solid var(--ui-border);padding:0;margin:16px 0 0}.gameShell #panelContent .advancedCard details.advancedCard>summary{font-size:13px;font-weight:400;min-height:48px;padding:12px 0;margin:0;gap:12px}.gameShell #panelContent .advancedCard details.advancedCard>summary:before{display:none}.gameShell #panelContent .advancedCard form{margin:6px 0 18px}.gameShell #panelContent .advancedError:not(:empty){font-size:13px;line-height:1.5;color:var(--ui-warning)}
.gameShell .airliftSteps{list-style:decimal;padding-left:20px;margin:20px 0 24px;color:var(--ui-muted);font-size:13px;line-height:1.6}.gameShell .airliftSteps li{padding:4px 0 4px 4px}.gameShell .airliftGuide form{display:grid;gap:18px}.gameShell .airliftGuide label{display:grid;gap:7px}.gameShell .airliftGuide :is(.airliftOrigin,.airliftEstimate){font-size:13px;margin:0}.gameShell .airliftPrice{padding:14px 0;margin:0;border-top:1px solid var(--ui-border);color:var(--ui-text);font-size:14px}.gameShell .airliftPrice span{margin:0 8px;color:var(--ui-dim)}.gameShell .airliftGuide form>button{width:100%;margin:0 0 8px}.gameShell .airliftGuide .orderNotice{padding:14px 16px;border-left:2px solid var(--ui-accent);background:#d6c49e08;margin:18px 0}.gameShell .airliftGuide .orderNotice b{font-size:14px;font-weight:500}.gameShell .airliftGuide .orderNotice p{font-size:13px;margin-bottom:0}.gameShell .airliftGuide>button{width:100%;text-align:left}
@media(max-width:350px){.gameShell .advancedReview{padding:18px}.gameShell .advancedReviewActions{grid-template-columns:1fr}.gameShell .advancedReviewActions #confirmAdvanced{grid-row:1}.gameShell .readinessGrid{gap:7px}.gameShell .readinessGrid span{font-size:10px}.gameShell .readinessGrid b{font-size:16px}}

.gameShell .airliftSteps{display:flex;justify-content:space-between;gap:14px;list-style:none;padding:0;margin:20px 0;counter-reset:airlift-step;font-size:12px}.gameShell .airliftSteps li{counter-increment:airlift-step;display:flex;align-items:center;gap:7px;padding:0}.gameShell .airliftSteps li:before{content:counter(airlift-step);display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--ui-border);border-radius:50%;font-size:11px;flex:0 0 22px}.gameShell .airliftGuide>.orderRequirement{margin-bottom:16px!important}.gameShell .researchHint{font-size:12px!important;color:var(--ui-dim)!important;line-height:1.6}
/* A force list is a list: artwork, flexible identity, reserved strength column. */
.gameShell #quickForces:has(#quickToggle[aria-expanded=true]){display:flex;flex-direction:column;width:min(360px,calc(100% - 28px));max-height:min(440px,50dvh);padding:0;overflow:hidden;bottom:84px;background:var(--ui-panel);border-color:#ffffff20}
.gameShell #quickForces .quickForcesHead{flex:0 0 auto;min-height:48px;padding:0 14px;gap:12px;border-bottom:1px solid #ffffff10}.gameShell #quickToggle{min-width:0;flex:1;gap:8px}.gameShell #quickManage{flex:0 0 auto;min-height:44px;padding:8px 0;font-size:12px}
.gameShell #quickUnits{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;max-height:340px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:0 12px 6px;gap:0;width:100%;box-sizing:border-box}
.gameShell #quickUnits>button{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;column-gap:12px;width:100%;min-width:0;max-width:100%;min-height:74px;flex:0 0 auto;padding:12px 0;background:transparent;border:0;border-bottom:1px solid #ffffff0d;border-radius:0;position:relative;box-sizing:border-box}
.gameShell #quickUnits .quickUnitArt{display:grid;place-items:center;width:42px;min-width:0;height:44px;position:static}.gameShell #quickUnits .quickUnitArt .unitPortrait{width:44px;height:42px;object-fit:contain}.gameShell #quickUnits .quickUnitArt svg{width:26px;height:26px}
.gameShell #quickUnits .quickUnitIdentity{display:grid;gap:5px;min-width:0;width:auto;position:static;overflow:hidden}.gameShell #quickUnits .quickUnitIdentity b{display:block;font-size:13px;line-height:1.4;font-weight:500;white-space:normal;overflow-wrap:anywhere;margin:0}.gameShell #quickUnits .quickUnitIdentity small{display:block;font-size:11px;line-height:1.4;white-space:normal;position:static;margin:0}
.gameShell #quickUnits .quickUnitIdentity .unitHealth{display:block;position:static;width:100%;height:3px;margin:2px 0 0;border-radius:2px;background:var(--ui-border)}.gameShell #quickUnits .unitHealth>i{display:block;height:100%;background:var(--ui-accent)}
.gameShell #quickUnits .quickUnitStrength{position:static;display:block;width:42px;min-width:42px;margin:0;text-align:right;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--ui-muted);align-self:center}
.gameShell #unitSelect[open]{display:flex;flex-direction:column;overflow:hidden;max-height:calc(100dvh - 32px)}.gameShell #unitSelect .unitSelectHeader{flex:0 0 auto}.gameShell #unitSelectHelp{flex:0 0 auto;font-size:13px;line-height:1.5;margin:12px 0}.gameShell #unitSelectList{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.gameShell #unitSelectList>button{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;width:100%;min-width:0;gap:12px;min-height:82px;padding:12px 0}.gameShell #unitSelectList>button>span{min-width:0}.gameShell #unitSelectList b{white-space:normal;overflow-wrap:anywhere;line-height:1.4}.gameShell #unitSelectList small{white-space:normal;line-height:1.5}.gameShell #unitSelectList>button>i{position:static;width:24px;justify-self:end}.gameShell .unitSelectFooter{flex:0 0 auto;min-height:60px;gap:12px}.gameShell #manageUnits{font-size:12px;padding:10px}
.gameShell #panelContent .forceUnitRow>summary{display:grid;grid-template-columns:58px minmax(0,1fr) 44px 14px;gap:12px;min-height:88px}.gameShell .forceUnitArt{width:58px;min-width:0}.gameShell .forceUnitIdentity b{line-height:1.4;white-space:normal;overflow-wrap:anywhere}.gameShell .forceUnitStrength{width:44px;min-width:44px;position:static}.gameShell #panelContent .forceUnitRow>summary:after{margin:0;justify-self:end}
/* Readiness opens only the unit being managed, retaining native disclosure state. */
.gameShell .readinessOverview{display:flex;align-items:center;gap:22px;margin:0 0 12px;padding:0 0 16px;border-bottom:1px solid var(--ui-border);color:var(--ui-muted);font-size:12px}.gameShell .readinessOverview b{font-size:23px;font-weight:450;color:var(--ui-text);margin-right:5px}.gameShell #panelContent .readinessIntro{font-size:13px;line-height:1.55;margin:0 0 16px}
.gameShell #panelContent .readinessUnit{border:0;border-bottom:1px solid #414b4780;border-radius:0;padding:0;margin:0;background:transparent}.gameShell #panelContent .readinessUnit>summary{display:grid;grid-template-columns:42px minmax(0,1fr) auto 14px;align-items:center;gap:12px;min-height:88px;padding:14px 0;margin:0}.gameShell #panelContent .readinessUnit>summary:before{display:none}.gameShell #panelContent .readinessUnit>summary:after{content:'›';font-size:23px;margin:0;justify-self:end}.gameShell #panelContent .readinessUnit[open]>summary:after{rotate:90deg}
.gameShell .readinessArt{width:42px;height:46px;display:grid;place-items:center}.gameShell .readinessArt .unitPortrait{width:46px;height:46px;object-fit:contain}.gameShell .readinessArt svg{width:26px;height:26px;color:var(--ui-muted)}.gameShell .readinessIdentity{display:grid;gap:6px;min-width:0}.gameShell .readinessIdentity b{font-size:14px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.gameShell .readinessIdentity small{font-size:11px;line-height:1.45;color:var(--ui-muted);font-weight:400}.gameShell .supplyBadge{font-size:10px;font-weight:400;white-space:nowrap;color:var(--ui-muted)}.gameShell .supplyBadge.urgent{color:var(--ui-warning)}
.gameShell .readinessBody{padding:0 0 18px}.gameShell .readinessBody .readinessGrid{margin:4px 0 14px}.gameShell #panelContent .readinessBody .readyStatus{font-size:12px;color:#b3c7a6;margin:12px 0}.gameShell #panelContent .equipmentOptions{border:0;border-top:1px solid var(--ui-border);border-radius:0;padding:0;margin:16px 0 0}.gameShell #panelContent .equipmentOptions>summary{font-size:13px;font-weight:400;min-height:48px;margin:0;padding:12px 0}.gameShell #panelContent .equipmentOptions>summary:before{display:none}.gameShell .equipmentOptions form{display:grid;gap:14px;margin:8px 0}.gameShell .readinessRoster+.advancedCard{margin-top:20px!important}
.gameShell .advancedUI fieldset{max-height:none;min-width:0;overflow:visible;padding:8px 12px 12px;margin:0;border-color:var(--ui-border);border-radius:8px}.gameShell .advancedUI fieldset legend{padding:0 6px;margin:0!important;font-size:13px!important}.gameShell .advancedUI .advancedCheck{min-height:52px;padding:8px 0;gap:12px;align-items:center;line-height:1.4;font-size:13px;border-bottom:1px solid var(--ui-border)}.gameShell .advancedCheck small{font-size:11px;flex:0 0 auto;color:var(--ui-dim)}.gameShell .advancedCheck input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;margin:0;padding:0;border:1px solid #7c8980;border-radius:5px;background:var(--ui-input);display:grid;place-content:center}.gameShell .advancedCheck input[type=checkbox]:checked{background:var(--ui-accent);border-color:var(--ui-accent)}.gameShell .advancedCheck input[type=checkbox]:checked:after{content:'✓';color:var(--ui-ink);font-size:16px;line-height:1}.gameShell .advancedUI form>button[type=submit]{position:static;margin:0;width:100%;box-sizing:border-box}
@media(max-width:350px){.gameShell #panelContent .readinessUnit>summary{grid-template-columns:34px minmax(0,1fr) auto 12px;gap:8px}.gameShell .readinessArt{width:34px}.gameShell .readinessArt .unitPortrait{width:38px}.gameShell .supplyBadge{font-size:10px}.gameShell #quickUnits>button{grid-template-columns:36px minmax(0,1fr) 38px;gap:9px}.gameShell #quickUnits .quickUnitArt{width:36px}.gameShell #quickUnits .quickUnitStrength{width:38px;min-width:38px}.gameShell #panelContent .forceUnitRow>summary{grid-template-columns:44px minmax(0,1fr) 38px 12px;gap:9px}.gameShell .forceUnitArt{width:44px}.gameShell .forceUnitArt .unitPortrait{width:48px}.gameShell .forceUnitStrength{width:38px;min-width:38px}}

.gameShell #panelContent .readinessUnit[open]>summary:after{content:'›'}.gameShell .advancedCheck input[type=checkbox]{min-height:22px;max-height:22px;flex:0 0 22px}
/* Movement plans use one destination and a single reviewed launch. */
.gameShell .crossingModes{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-bottom:1px solid var(--ui-border);margin-bottom:18px}.gameShell #panelContent .crossingModes button{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px;color:var(--ui-muted);font-weight:500}.gameShell #panelContent .crossingModes button[aria-pressed=true]{color:var(--ui-accent);border-bottom-color:var(--ui-accent)}
.gameShell .crossingIntro,.gameShell .crossingFootnote{font-size:13px!important;line-height:1.6}.gameShell #crossingForm{display:grid;gap:18px;margin:22px 0}.gameShell #crossingForm>label{display:grid;gap:7px}.gameShell #panelContent .crossingChoices{border:0;border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);border-radius:0;margin:0;padding:0}.gameShell #panelContent .crossingChoices>summary{font-size:14px;gap:10px;padding:13px 0;margin:0}.gameShell .crossingChoices>summary>small{font-size:11px;font-weight:400;color:var(--ui-dim);margin-left:auto}.gameShell .crossingChoices>summary:before{display:none}.gameShell .crossingChoices fieldset{border:0;margin:0;padding:0 0 12px;min-width:0}.gameShell #panelContent .crossingCheck{display:flex;align-items:center;gap:12px;padding:12px 0;min-height:60px;border-top:1px solid var(--ui-border)}.gameShell .crossingCheck input{width:21px;height:21px;min-height:21px;flex:0 0 21px;margin:0}.gameShell .crossingCheck>span{display:grid;gap:5px;min-width:0}.gameShell .crossingCheck b{font-size:13px;font-weight:500;line-height:1.4;overflow-wrap:anywhere}.gameShell .crossingCheck small{font-size:11px;color:var(--ui-dim);line-height:1.4}
.gameShell .crossingAssembly{padding:16px 0;border-top:1px solid var(--ui-border)}.gameShell .crossingAssembly h3{font-size:17px;font-weight:500}.gameShell .crossingAssembly>p{font-size:13px}.gameShell .crossingAssembly>div{display:grid;gap:7px;padding:15px 0;border-bottom:1px solid var(--ui-border)}.gameShell .crossingAssembly b{font-size:14px;font-weight:500}.gameShell .crossingAssembly small{font-size:12px;color:var(--ui-muted)}.gameShell .crossingAssembly button{justify-self:start;font-size:12px}.gameShell .crossingAssembly div>p{font-size:12px;margin:0}
.gameShell .crossingReady{padding:18px 0;border-top:1px solid var(--ui-border);margin-top:18px}.gameShell .crossingReady>b{font-size:16px;font-weight:500;color:var(--ui-success)}.gameShell .crossingReady p{font-size:13px}.gameShell #reviewCrossing{width:100%;margin-top:8px}.gameShell .crossingPlanner>button,.gameShell .crossingEntry{width:100%;margin:8px 0}.gameShell .crossingFootnote{color:var(--ui-dim)!important;font-size:12px!important}.gameShell #destinationCrossings{display:flex;gap:8px;margin:12px 0}.gameShell #destinationCrossings button{flex:1;font-size:12px;padding:11px;background:transparent;color:var(--ui-accent)}
.gameShell #fieldSelection #fieldSupply{grid-column:1/-1;background:#d7b48712;border-color:#d7b48766;color:#e3c2a0;font-size:12px;min-height:44px}.gameShell #panelContent .orderRequirement{border-left:2px solid #dba07b55;padding:10px 12px;background:#dba07b05}
.gameShell .journeyCard{padding:20px 0;border-bottom:1px solid var(--ui-border)}.gameShell .journeyCard header{display:flex;align-items:center;justify-content:space-between;gap:14px}.gameShell .journeyCard header b{font-size:14px;font-weight:500;color:var(--ui-accent)}.gameShell .journeyCard header span{font-size:13px;font-variant-numeric:tabular-nums;color:var(--ui-muted)}.gameShell .journeyCard h3{font-size:17px;line-height:1.4;font-weight:500;margin:12px 0}.gameShell .journeyCard p{font-size:13px}.gameShell .journeyCard button{margin-top:14px;font-size:13px}.gameShell .journeyMeter{height:3px;border-radius:3px;background:var(--ui-border);overflow:hidden}.gameShell .journeyMeter>i{display:block;background:var(--ui-accent);height:100%}
.gameShell #journeyArrival{position:fixed;left:14px;right:14px;bottom:94px;max-width:440px;margin:auto;z-index:8;display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;border:1px solid #9dab8266;border-radius:12px;background:var(--ui-panel);box-shadow:0 8px 28px #0003;color:var(--ui-text);animation:arrivalIn .24s ease-out}.gameShell #journeyArrival>div{flex:1;min-width:0;display:grid;gap:5px}.gameShell #journeyArrival b{font-size:14px;font-weight:550}.gameShell #journeyArrival small{font-size:12px;line-height:1.5;color:var(--ui-muted)}.gameShell #journeyArrival button{min-height:44px;padding:10px;background:transparent;border:0;color:var(--ui-accent);font-size:13px}.gameShell #dismissJourneyArrival{width:36px;flex:0 0 36px;font-size:21px!important}.gameShell:has(#journeyArrival:not([hidden])) #quickForces{visibility:hidden}
@keyframes arrivalIn{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.gameShell #journeyArrival{animation:none}}
.gameShell:has(#fieldSelection:not([hidden])) #journeyArrival{bottom:250px}.gameShell:has(#commandDock:not([hidden])) #journeyArrival{display:none}
