/* Clarity: cool surfaces, readable labels, and progressive battle controls. */
:root{--glass:#112339f5;--line:#8bb8e02e;--text:#eff7ff;--muted:#a9c3da;--accent:#79e7c7;--blue:#67cfff;--red:#ff8278}
button,input,select{font-family:Arial,Helvetica,sans-serif}button{line-height:1.2}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #79e7c7;outline-offset:3px}button,input,select{border-radius:8px}
#menu .landing-shade{background:linear-gradient(90deg,#07192aeb,#10294281 58%,#1226386e),linear-gradient(0deg,#07192af5,transparent 70%)}
#menu .menu-panel{color:#eff7ff}#play-lobby,#lobby{background:linear-gradient(145deg,#1e3b53f5,#10263df7);border-color:#91b9d54d;border-radius:18px;box-shadow:0 24px 70px #00102366}
#play-lobby h2,#lobby h2,#play-options h2,.account-dialog>h2,.account-dialog .account-callsign{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:-1px;text-transform:none;font-weight:750}
#play-lobby h2,#lobby h2{font-size:34px}.lobby-index{color:#a8c4db;letter-spacing:1px}.lobby-heading{align-items:center}.lobby-heading h2{line-height:1.1;margin:0}
.menu-panel #deploy,.menu-panel #host-game,.menu-panel #start,#options-play,.shop-primary,#division-save{background:#79e7c7;color:#082e31;border-color:#79e7c7;border-radius:10px;box-shadow:0 3px 0 #258b79;font-weight:700;text-transform:none;letter-spacing:.2px}.menu-panel #deploy:hover,.menu-panel #host-game:hover,.menu-panel #start:hover{background:#a0f6db;transform:translateY(-1px)}
#play-lobby .join-row input{background:#0d2237;border-color:#8bb8e044;color:#f2f8ff}.join-row button,.room-code .secondary{background:#264b68;border-color:#8bb8e050;color:#e7f5ff}.army-loadout,.commander-seat{background:#112a4199;border-color:#8bb8e044;border-radius:12px}.army-loadout strong,.commander-seat strong{color:#f2f8ff}.army-loadout small,.commander-seat small,.room-code small,.room-map .room-rules{color:#b5ccdf}.army-loadout .icon-button,.room-map>svg{color:#7fe9d2}
#lobby .room-map{display:grid;grid-template-columns:112px minmax(0,1fr) auto 36px;align-items:center;gap:16px;padding:0 14px 0 0;min-height:76px;background:#10273d;border:1px solid #8bb8e040;border-radius:10px;text-align:left;overflow:hidden}
#lobby .room-map-art{display:flex;align-items:center;justify-content:center;width:112px;height:76px;margin:0;background:#3e5961;overflow:hidden}#lobby .room-map-art svg{display:block;width:100%;height:100%}#lobby .room-map-name{display:flex;align-items:center;min-width:0;padding:0;margin:0}#lobby .room-map-name strong{display:block;font:600 17px/1.2 Arial,sans-serif;letter-spacing:0;margin:0;white-space:normal}#lobby .room-map .room-rules{font:500 12px/1 Arial,sans-serif;background:#24465b;padding:7px 9px;border-radius:20px;margin:0}#lobby .room-map>svg{width:22px;height:22px;margin:auto}
#play-options,.account-dialog,.shop-dialog,#settings,#division-dialog,#more-menu{background:#142c43;border-color:#89bce251;color:#eff7ff}.map-card,.flag-card,.account-stat,.account-battles>div{background:#102338;border-color:#739ab53d}.map-card.selected,.flag-card.selected{border-color:#79e7c7;background:#234d58}.map-card strong,.flag-card strong,.account-dialog h3{color:#edf7ff}.flag-feature,.account-summary,.account-profile-card{background:#1b3c51}.shop-tabs button[aria-pressed=true],.account-tabs button[aria-selected=true],.settings-tabs button[aria-pressed=true]{color:#79e7c7!important;border-color:#79e7c7!important}.shop-dialog .shop-tabs button,.account-tabs button{border-radius:0}
.battle-top,.reinforcements,.roster,.minimap-wrap,.selection-info{background:#10273cf5;border-color:#78a7cc42}.battle-top{box-shadow:0 3px 18px #00142633}.panel-caption,.roster-team{color:#bcd5e8}.roster-team{font-size:12px;letter-spacing:0}.roster-card{position:relative;border-radius:0;gap:8px}.roster-card.selected{background:#2f6a874d}.roster-card strong{font-size:12px}.roster-card small{font-size:10px;color:#a7c0d4}.roster-group{font-style:normal}.ungrouped{color:#7691a6;font-size:12px}.group-badge{--group-color:#67d7ff;display:inline-flex!important;align-items:center;justify-content:center;min-width:25px;height:23px;padding:0 4px;border:1px solid var(--group-color);border-radius:6px;background:#102237;color:var(--group-color)!important;font:bold 10px/1 Arial,sans-serif!important;white-space:nowrap;letter-spacing:0;text-transform:none;flex-shrink:0;box-sizing:border-box}
.division-card{border:1px solid #8bb8e040;border-radius:10px;background:#17334b;overflow:hidden;margin:8px}.division-card.selected{border-color:#79e7c7;background:#22485b}.division-card>button:first-child{padding:10px;text-align:left}.division-card small{display:flex;align-items:center;gap:8px;letter-spacing:0}.division-card small>span{color:#9dbad0;font-size:10px}.division-card strong{font-size:15px;margin:6px 0}.division-card>button>span{font-size:11px;color:#b4cfe3}.division-empty{font-size:13px;line-height:1.7;padding:18px;color:#b4cfe3}.division-edit{min-width:42px}
.unit-label .map-group{font-style:normal;margin-bottom:3px;line-height:1}.unit-label .map-group:empty{display:none}.unit-label>span{border-radius:5px;font-family:Arial,sans-serif}.unit-label.selected>span{background:#d1f5ff;color:#0a3041}.unit-label>i>b{background:#62dba6}.unit-label.enemy>i>b{background:#ff8278}.unit-label.selected .group-badge{box-shadow:0 0 0 2px #ecfbff}
.battle-goal{position:absolute;top:90px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:10px 14px;background:#10283eeb;border:1px solid #89bce252;border-radius:12px;z-index:10;pointer-events:none;box-shadow:0 4px 20px #06121e22}.battle-goal>span{font-size:24px;color:#79d9ff}.battle-goal strong{font-size:13px;display:block;color:#eff7ff;line-height:1.3}.battle-goal small{font-size:11px;display:block;color:#a7c9df;margin-top:3px}.battle-goal>b{font-size:20px;color:#81dcff;line-height:1;min-width:32px;text-align:right}.battle-goal.secured{border-color:#79e7c7}.battle-goal.secured>b{color:#79e7c7}
.selection-info{max-height:250px;border-radius:12px;padding:12px;bottom:255px}.selection-identity{display:flex;align-items:center;gap:10px}.selection-identity>img{width:48px;height:40px;object-fit:contain}.selection-identity>.ui-icon{width:32px;height:32px;color:#79d9ff}.selection-identity h3{margin:0 0 5px;font-size:14px;line-height:1.2;letter-spacing:0}.selection-group{display:flex;gap:7px;align-items:center;font-size:11px;color:#b7cfe2}.selection-group .group-badge{height:19px;min-width:22px;font-size:9px!important}.selection-stats{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:8px}.selection-stats>span{font-size:10px!important;line-height:1.4!important;margin:0!important;color:#abc6db}.selection-stats>span:empty{display:none}.selection-info .unit-commands{margin-top:10px;gap:6px;display:grid;grid-template-columns:1fr 1fr}.selection-info .unit-commands button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:38px;font-size:11px;padding:7px;background:#24465e;border-color:#82b2d438;border-radius:7px}.selection-info #form-selected{color:#97edcf}.selection-info .unit-commands kbd{display:none}.more-orders{margin-top:9px;border-top:1px solid #89bce230;padding-top:7px}.more-orders summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:11px;color:#b7d1e3;min-height:26px}.more-orders summary::-webkit-details-marker{display:none}.more-orders[open] summary>.ui-icon{transform:rotate(180deg)}
.reinforcements{height:204px}.unit-catalog #unit-categories{height:34px;align-items:center;gap:8px;overflow:visible}.unit-catalog #unit-categories button{font-size:12px;min-height:32px;padding:6px 12px;border-radius:8px}.unit-catalog #unit-categories button.active{background:#79e7c7;border-color:#79e7c7;color:#082d31}.catalog-picker{display:flex;align-items:center;margin:0;min-width:0}.catalog-picker>span{display:none}.catalog-picker select{margin:0;width:150px;max-width:100%;padding:7px 10px;font-size:12px;color:#d8edfa;border:1px solid #84b6da55;background:#1e4059;line-height:1.2;height:32px}.unit-catalog .reinforcement-cards{min-height:133px}.reinforcement-card{border-radius:9px;background:#28495e77;border-color:#85b6d838;min-width:104px}.reinforcement-card img{height:67px;top:-1px;filter:drop-shadow(0 3px 5px #0004)}.reinforcement-card>strong{bottom:48px;font-size:10px;letter-spacing:0;left:9px;right:7px;line-height:1.15;white-space:normal}.reinforcement-card .catalog-short{display:inline}.reinforcement-card .catalog-name{display:none}.reinforcement-card>.price{bottom:8px;font:700 13px/1.2 Arial,sans-serif;color:#f9d596;align-items:center}.reinforcement-card .price>b{background:#79e7c7;color:#103a37;border-radius:5px;width:21px;height:21px;display:flex;align-items:center;justify-content:center}.unit-role{position:absolute;bottom:29px;left:9px;right:4px;display:flex;align-items:center;gap:4px;font-size:9px;color:#b3d8e8;white-space:nowrap}.unit-role .ui-icon{width:12px;height:12px}.reinforcement-card:hover{border-color:#79e7c7;background:#30607588}.reinforcement-card .hotkey{border:0;background:#10263aa1;color:#b8d5e9;border-radius:4px}.reinforcement-card .build-time{font-size:9px;background:#0d2139cc}.budget>span{font-size:11px;letter-spacing:.5px}.budget>strong{color:#f9d596}.budget>small{font-size:10px}.support-controls b{font-size:11px}.support-controls button{background:#193b51;border-radius:9px}
#division-dialog{width:min(600px,calc(100vw - 24px));max-height:calc(100dvh - 24px);height:min(680px,calc(100dvh - 24px));overflow:hidden;padding:22px;border-radius:14px}#division-dialog>.eyebrow{display:none}#division-dialog h2{font:700 26px/1.15 Arial,sans-serif!important;margin:0 0 16px;letter-spacing:-.5px}#division-form{display:flex;flex-direction:column;gap:10px;min-height:0;height:calc(100% - 88px)}.division-name-label{display:none}#division-name{margin:0;min-height:42px;background:#0d2237;padding:10px 12px;border-color:#8bb8e044}.division-mode{display:flex;gap:6px;margin:0}.division-mode button{flex:1;min-height:38px;font-size:12px;background:#204159;border:1px solid #8bb8e03b}.division-mode button.active{background:#315f71;color:#a2f5dc;border-color:#79e7c7}#division-explainer{font-size:12px;margin:0;color:#b9d0e1;line-height:1.35}#division-builder{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start;margin:0;max-height:none}#division-builder .division-member{display:flex;align-items:center;gap:8px;background:#1b3a50;border:1px solid #8bb8e02c;border-radius:9px;padding:10px;min-height:70px;margin:0}#division-builder .division-member:has(input:checked){border-color:#79e7c7;background:#275862}#division-builder .division-member img{width:38px;height:30px;object-fit:contain}#division-builder .division-member>span{min-width:0;flex:1}#division-builder strong{font-size:11px;line-height:1.2;display:block}#division-builder small{font-size:10px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:6px;color:#b9d3e7}#division-builder small .group-badge{height:18px;font-size:8px!important;min-width:20px}#division-builder input[type=checkbox]{width:19px;height:19px;accent-color:#79e7c7;flex-shrink:0;margin:0}#division-builder input[type=number]{width:48px;min-height:36px;padding:6px;background:#0d2237}#division-total{font-size:12px;text-align:center;margin:0;padding:0;color:#b8d2e5}#division-save{min-height:42px;margin:0;padding:10px}#division-disband{font-size:11px;margin:8px auto 0;padding:0;min-height:22px;display:block}#division-presets{display:flex;gap:6px;margin:0}#division-presets>span{display:none}#division-presets button{flex:1;min-height:36px;padding:7px;font-size:11px}#division-category{min-height:34px;padding:6px 10px;margin:0;background:#24465e;font-size:12px}
@media(min-width:901px){.roster{bottom:264px}.camera-tools,.minimap-wrap{bottom:255px}}
@media(max-width:900px) and (pointer:coarse),(max-width:700px){
 #lobby .room-map{grid-template-columns:72px minmax(0,1fr) auto 23px;gap:9px;padding-right:10px;min-height:60px}#lobby .room-map-art{width:72px;height:60px}#lobby .room-map-name strong{font-size:14px}#lobby .room-map .room-rules{font-size:10px;padding:6px}#lobby .room-map>svg{width:19px;height:19px}#play-lobby h2,#lobby h2{font-size:29px}
 .battle-goal{top:calc(var(--hud-height) + 8px);left:10px;transform:none;padding:8px 10px;gap:8px;max-width:calc(100% - 115px);border-radius:10px}.battle-goal>span{font-size:19px}.battle-goal strong{font-size:12px}.battle-goal small{font-size:10px}.battle-goal>b{font-size:17px}.mobile-objective{top:calc(var(--hud-height) + 70px)}body:not([data-mobile-panel=battle]) .battle-goal{display:none}
 .unit-label.grouped:not(.selected) .map-group{display:block}.map-group .group-badge{height:19px;min-width:22px;font-size:9px!important;background:#11273df5}.unit-label:not(.selected) .map-group{opacity:.9}
 body .roster,body .reinforcements,body .selection-info,body .minimap-wrap{background:#122c43fc;border-color:#84b9d344}.mobile-sheet-header,.mobile-selection-bar,.mobile-nav{background:#112b41!important;border-color:#6ca5cb44}.mobile-nav button.active{color:#93f1d5;background:#225268}.mobile-nav button[data-mobile-panel=deploy]{color:#9beed7}.mobile-selection-bar #mobile-commands{background:#79e7c7;color:#103b36;border-color:#79e7c7}.mobile-selection-bar>span{display:flex;align-items:center;gap:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.mobile-selection-bar #mobile-deselect{padding:8px;font-size:11px}.mobile-selection-bar .group-badge{height:21px}
 body[data-mobile-panel=army] .roster{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:auto 44px 44px 44px minmax(65px,1fr);padding:0;gap:0}.roster-team{display:none}.roster .panel-caption{grid-column:1/-1;padding:5px 12px;font-size:10px;min-height:25px}.roster #select-all{grid-column:1/-1;margin:0;padding:8px 12px;font-size:13px}.roster .roster-tabs{grid-column:1/-1;margin:0;display:flex}.roster .roster-tabs button{flex:1;min-height:44px}.roster #division-open,.roster #mobile-multi{margin:0;min-height:44px;font-size:12px;padding:8px;border-radius:0}.roster #division-open{grid-column:1}.roster #mobile-multi{grid-column:2}#mobile-multi.active{background:#2d5f65;color:#a3ffe2}.roster #roster-list,.roster #division-list{grid-column:1/-1;grid-row:5;height:100%;overflow-y:auto;min-height:65px}.roster-card{min-height:66px;padding:10px 12px}.roster-card strong{font-size:13px}.roster-card small{font-size:10px}.roster-card img{width:44px}
 body[data-mobile-panel=deploy] .reinforcements{padding:12px}.unit-catalog #unit-categories{display:flex;height:44px;gap:8px;margin-bottom:10px}.unit-catalog #unit-categories button{min-height:44px;flex:1;font-size:13px;white-space:nowrap}.catalog-picker{flex:1}.catalog-picker select{width:100%;height:44px;font-size:13px;padding:10px}.unit-catalog .reinforcement-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reinforcement-card{height:136px;min-height:136px;max-width:none;min-width:0}.reinforcement-card img{height:74px;top:-4px}.reinforcement-card>strong{top:auto;bottom:48px;font-size:12px;left:10px;right:8px}.reinforcement-card>.price{font-size:14px;bottom:9px;left:10px;right:10px}.unit-role{font-size:10px;left:10px;bottom:30px}.support-controls{margin-top:10px;gap:8px}.support-controls button{min-height:46px}.support-controls b{font-size:11px}
 body.has-selection[data-mobile-panel=commands] .selection-info{padding:16px}.selection-identity>img{display:block;width:64px;height:50px}.selection-identity h3{font-size:18px}.selection-group{font-size:12px}.selection-info .unit-commands{gap:8px;margin-top:12px}.selection-info .unit-commands button{min-height:48px;font-size:13px}.selection-info #form-selected{grid-column:1/-1}.more-orders summary{min-height:44px;font-size:13px}.selection-stats>span{font-size:12px!important}.more-orders{margin-top:12px}.mobile-selection-bar #mobile-commands{min-width:88px}
 #division-dialog{padding:18px}#division-dialog h2{font-size:24px;margin-bottom:12px}#division-form{height:calc(100% - 80px);gap:8px}#division-builder{grid-template-columns:1fr}#division-builder .division-member{min-height:63px}#division-builder strong{font-size:12px}#division-builder .division-member img{width:46px}#division-builder small{font-size:11px}
}
@media(max-height:650px) and (pointer:coarse){.unit-catalog .reinforcement-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.reinforcement-card{height:121px;min-height:121px}.reinforcement-card img{height:60px}.reinforcement-card>strong{font-size:10px;bottom:47px}.unit-role{font-size:9px;gap:2px;left:8px}.unit-role .ui-icon{display:none}.reinforcement-card>.price{font-size:12px}.reinforcement-card .price>b{width:19px;height:19px}}
@media(max-height:500px) and (min-width:600px){#play-lobby h2,#lobby h2{font-size:24px}#lobby .room-map{min-height:46px;grid-template-columns:52px minmax(0,1fr) auto 23px;gap:8px}#lobby .room-map-art{width:52px;height:46px}#lobby .room-map-name strong{font-size:12px}#lobby .room-map .room-rules{font-size:9px}#division-dialog{width:680px;padding:14px 20px}#division-dialog h2{font-size:21px;margin-bottom:10px}#division-form{display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-rows:38px 38px minmax(30px,1fr) 38px;gap:8px 14px;height:calc(100% - 57px)}#division-name{grid-column:1;grid-row:1;min-height:38px}#division-form .division-mode{grid-column:1;grid-row:2}.division-mode button{font-size:11px}#division-explainer{grid-column:1;grid-row:3;font-size:11px}#division-builder{grid-column:2;grid-row:1/4;grid-template-columns:1fr}#division-save{grid-column:2;grid-row:4;min-height:38px}#division-total{grid-column:1;grid-row:4;align-self:center}#division-presets,#division-category{display:none!important}#division-disband{position:absolute;top:13px;right:65px;margin:0;font-size:10px}#division-builder .division-member{min-height:60px;padding:8px}}
@media(prefers-reduced-motion:reduce){.menu-panel #deploy:hover,.menu-panel #host-game:hover,.menu-panel #start:hover{transform:none}}
.catalog-picker .choice-trigger{margin:0;min-width:160px;min-height:32px;padding:6px 10px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#1e4059;border:1px solid #84b6da55;color:#e2f1fc;font-size:12px}.catalog-picker .choice-trigger>span{font-size:10px;color:#a9c9df}.game-dialog{background:#142c43;color:#eff7ff;border-color:#89bce251}.dialog-choice{background:#1c3b53;border-color:#89bce230}.dialog-choice[aria-pressed=true]{border-color:#79e7c7;color:#a3f5d9}
@media(max-width:900px) and (pointer:coarse),(max-width:700px){.catalog-picker .choice-trigger{min-height:44px;min-width:0;width:100%;font-size:12px;gap:8px}.roster .panel-caption{grid-row:1}.roster #select-all{grid-row:2}.roster .roster-tabs{grid-row:3}.roster #division-open,.roster #mobile-multi{grid-row:4}.roster .roster-tabs>button.active{color:#92f4d5;background:#275269}}
@media(max-height:500px) and (pointer:coarse){body[data-mobile-panel=army] .roster{grid-template-rows:46px 44px minmax(65px,1fr)}.roster .panel-caption{display:none}.roster #select-all{grid-column:1;grid-row:1;min-height:44px}.roster .roster-tabs{grid-column:2;grid-row:1}.roster #division-open,.roster #mobile-multi{grid-row:2}.roster #roster-list,.roster #division-list{grid-row:3}.roster-card{min-height:65px}}
@media(max-height:500px) and (min-width:600px){#division-dialog[data-mode=deploy] #division-form{grid-template-rows:36px 36px 34px minmax(32px,1fr) 36px;gap:6px 14px}#division-dialog[data-mode=deploy] #division-builder{grid-row:1/5}#division-dialog[data-mode=deploy] #division-explainer{display:none}#division-dialog[data-mode=deploy] #division-presets{display:flex!important;grid-column:1;grid-row:3;min-height:0}#division-dialog[data-mode=deploy] #division-presets button{min-height:32px;font-size:10px;padding:5px}#division-dialog[data-mode=deploy] #division-category{display:flex!important;grid-column:1;grid-row:4;min-height:32px;align-self:start;justify-content:space-between;align-items:center}#division-dialog[data-mode=deploy] #division-category>span{font-size:9px}#division-dialog[data-mode=deploy] #division-total,#division-dialog[data-mode=deploy] #division-save{grid-row:5}}
.selection-info:has(.selection-empty){display:none!important}
@media(min-width:901px){.selection-info{left:265px;width:240px;max-height:min(330px,calc(100dvh - 350px))}.army-collapsed .selection-info{left:35px}.radio-caption{bottom:315px}}
/* Army controls occupy their own rows, including borders and native button minima. */
@media(max-width:900px) and (pointer:coarse),(max-width:700px){
 body[data-mobile-panel=army] .roster{grid-template-rows:26px 48px 48px 48px minmax(65px,1fr)}
 .roster #select-all{height:48px;min-height:48px;max-height:48px;box-sizing:border-box;margin:0;align-self:stretch;border-radius:7px;padding:8px 12px}
 .roster .roster-tabs{height:48px;min-height:0;box-sizing:border-box;align-items:stretch}
 .roster .roster-tabs>button{height:100%;min-height:0;box-sizing:border-box;padding:8px 4px;border-radius:0}
 .roster #division-open,.roster #mobile-multi{height:48px;min-height:48px;max-height:48px;box-sizing:border-box;margin:0;padding:8px}
}
@media(max-height:500px) and (pointer:coarse){
 body[data-mobile-panel=army] .roster{grid-template-rows:48px 48px minmax(65px,1fr)}
}
/* Match progress and touch controls. */
.score-value{display:flex;align-items:baseline;justify-content:center;gap:3px;white-space:nowrap;line-height:1}.score-value .score{line-height:1;min-width:0}.score-limit{font:10px/1 Arial,sans-serif;color:#9ebad0}.score-progress{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-width:82px}.score-progress>span{font:700 9px/1.2 Arial,sans-serif;color:var(--score-color,#b8d4e8);min-width:26px;text-align:right;font-variant-numeric:tabular-nums}.score-progress progress{appearance:none;-webkit-appearance:none;display:block;height:5px;min-width:0;flex:1;width:62px;max-width:100px;overflow:hidden;border:0;border-radius:9px;background:#46657a66;color:var(--score-color,#58c5ff)}.score-progress progress::-webkit-progress-bar{background:#46657a66;border-radius:9px}.score-progress progress::-webkit-progress-value{background:var(--score-color,#58c5ff);border-radius:9px}.score-progress progress::-moz-progress-bar{background:var(--score-color,#58c5ff);border-radius:9px}.score-side.near-victory .score-progress{filter:drop-shadow(0 0 3px color-mix(in srgb,var(--score-color) 40%,transparent))}
.victory-toast{display:flex;align-items:center;gap:12px;min-width:260px;border-color:#ff92754d;border-left:4px solid #ff917b;border-radius:10px;background:#1b3046fa;padding:13px 16px;color:#fff}.victory-toast>.ui-icon{width:27px;height:27px;color:#ff917b;flex:none}.victory-toast strong{display:block;font-size:14px;line-height:1.3}.victory-toast small{display:block;font-size:11px;margin-top:4px;color:#c5d8e6}.victory-toast[data-level="90"]{background:#44272ffa;border-color:#ff887c;color:#fff0ea}.victory-toast[data-level="90"] strong{font-size:15px}
#lobby .lobby-heading,#play-lobby .lobby-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}#lobby .lobby-heading h2,#play-lobby .lobby-heading h2{margin:0;text-align:center;line-height:1.1}.lobby-heading-spacer{width:44px;height:1px}#lobby .lobby-heading .icon-button,#play-lobby .lobby-heading .icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;line-height:1;box-sizing:border-box}#lobby .lobby-heading .icon-button svg,#play-lobby .lobby-heading .icon-button svg{display:block;width:24px;height:24px;flex:none;margin:0}.battle-time #settings-open{display:flex;align-items:center;justify-content:center;padding:0}.battle-time #settings-open svg{display:block;width:24px;height:24px;margin:0;flex:none}
@media(max-width:900px) and (pointer:coarse),(max-width:700px){
 #battle{--hud-height:calc(64px + env(safe-area-inset-top))}.battle-top{gap:8px}.battle-score{gap:10px;min-width:0;max-width:280px}.score-side,.score-side:last-child{display:flex;flex:1;flex-direction:column;align-items:stretch;justify-content:center;gap:5px;min-width:0}.score-value{justify-content:flex-start;gap:2px}.score-value .score{font-size:20px}.score-limit{font-size:8px}.score-progress{min-width:0;gap:4px}.score-progress>span{min-width:23px;font-size:9px}.score-progress progress{height:4px;width:20px}.score-side>small{display:none}.mobile-budget{min-width:47px}.mobile-budget strong{font-size:17px}.battle-time>span{margin:0 2px;font-size:10px}
 body[data-mobile-panel=army] .roster{grid-template-rows:26px 56px 48px 60px minmax(65px,1fr)}.roster #select-all{height:56px;min-height:56px;max-height:56px;font-size:15px}.roster #division-open,.roster #mobile-multi{height:60px;min-height:60px;max-height:60px;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.15;padding:8px;background:#24465e;border:1px solid #73a8cb4d}.roster #division-open{color:#a1f3d8}.roster #mobile-multi.active{background:#79e7c7;color:#103b36}.roster #division-open svg,.roster #mobile-multi svg{width:19px;height:19px;flex:none}.roster-card.holding{background:#295269;outline:2px solid #79e7c7;outline-offset:-2px}.selection-info #form-selected{min-height:56px;font-size:15px}.roster .roster-tabs>button{font-size:14px}
 #toasts{top:calc(144px + env(safe-area-inset-top));max-width:calc(100vw - 24px)}.victory-toast{min-width:0;width:300px;max-width:calc(100vw - 24px);box-sizing:border-box}.multi-selecting #mobile-selection-count{color:#9cf1d7}
}
@media(max-height:500px) and (pointer:coarse){
 body[data-mobile-panel=army] .roster{grid-template-rows:56px 56px minmax(65px,1fr)}.roster #division-open,.roster #mobile-multi{height:56px;min-height:56px;max-height:56px}.roster .roster-tabs{height:56px}
}
@media(prefers-reduced-motion:reduce){.victory-toast{animation:none}}body.reduced .victory-toast{animation:none}
#lobby #start{position:relative;justify-content:center;text-align:center;padding-inline:48px}#lobby #start>span{position:absolute;right:20px}
/* Unit nicknames stay beside their type; one control works with mouse or touch. */
.selection-name{min-width:0;flex:1}.selection-name h3{margin:0;min-width:0}#rename-unit{display:flex;align-items:center;gap:9px;min-width:0;max-width:100%;min-height:44px;padding:0 5px 0 0;background:none;border:0;border-radius:6px;color:inherit;font:inherit;text-align:left}#rename-unit span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}#rename-unit svg{width:16px;height:16px;flex-shrink:0;color:#91b6c8}#rename-unit:hover svg,#rename-unit:focus-visible svg{color:#79e7c7}.selection-name .unit-type{display:block;font-size:11px;color:#a4bfcc;margin:0 0 4px}.unit-name-dialog{width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:24px!important;background:#142c43;border:1px solid #89bce251;color:#eff7ff}.unit-name-dialog h2{font-size:25px;margin-bottom:18px}.unit-name-type{font-size:12px;color:#b3cbd7;margin:0 0 20px}.unit-name-dialog label{display:block;font-size:12px;margin-bottom:7px}.unit-name-dialog input{width:100%;min-height:48px;font-size:16px}.unit-name-status{font-size:12px;color:#ffb4a2;min-height:16px;margin:8px 0}.unit-name-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.unit-name-actions button{min-height:48px;font-size:14px}.unit-name-dialog form{margin:0}
/* Collections use fixed filters and a fitted grid, including narrow phones. */
.collection-filter{display:flex;align-items:stretch;gap:4px;padding:4px;background:#0d2033;border:1px solid #86a7bf30;border-radius:9px;flex-shrink:0;min-width:0}.collection-filter button{flex:1;min-width:0;min-height:40px;padding:7px 12px;border:0;border-radius:6px;background:transparent;color:#a9c2d2;font:600 12px/1.2 Arial,sans-serif;white-space:nowrap}.collection-filter button[aria-pressed=true]{background:#294d61;color:#98f0d6;box-shadow:inset 0 0 0 1px #80e2c749}.collection-filter button:focus-visible{outline:2px solid #98f0d6;outline-offset:1px}.collection-filter span{font-size:10px;opacity:.8;margin-left:4px}.skin-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,210px);gap:10px;flex-shrink:0}.skin-filters select{width:100%;min-width:0;min-height:44px;padding:8px 10px;background:#132c42;color:#d8e8ef;border:1px solid #86a7bf40;border-radius:8px;font-size:12px}.collection-empty{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:0}.collection-empty p{font-size:14px;color:#a9c2d2;margin:0}.collection-empty button{min-height:44px}.shop-main .flag-feature{min-height:110px}.shop-main .flag-card img,.flag-preview img,.army-flag{object-fit:contain}.flag-filters{order:0}.shop-detail .shop-fine{line-height:1.4}.reinforcement-card img,.army-card img,.selection-identity>img{background:transparent!important}
@media(max-width:700px){.collection-filter button{padding:7px 5px;font-size:11px;min-height:40px}.skin-filters{grid-template-columns:minmax(0,1fr) 115px;gap:6px}.skin-filters select{padding:6px;font-size:11px}.shop-main .flag-feature{min-height:96px}.shop-feature .shop-detail h3{font-size:25px}.shop-dialog .shop-tabs button{padding-inline:5px}.shop-main .flag-feature small{font-size:9px}}
@media(max-width:360px){.skin-filters{grid-template-columns:minmax(0,1fr) 94px;gap:4px}.collection-filter{padding:3px;gap:2px}.collection-filter button{font-size:10px;padding:6px 3px}.collection-filter span{margin-left:2px}.shop-content,.shop-main{gap:7px}.shop-main .flag-feature{min-height:88px;padding:8px}.flag-feature h3{margin-bottom:6px}.shop-detail{padding:9px;gap:5px}.shop-detail .shop-fine{display:none}.shop-detail h3{font-size:23px!important}.shop-feature{min-height:164px}.shop-cards img{height:34px!important}.skin-pager{min-height:32px}}
@media(max-height:500px) and (min-width:600px){.collection-filter{padding:3px}.collection-filter button{min-height:32px;padding:5px 10px;font-size:11px}.skin-filters select{min-height:38px;padding:5px 10px}.shop-dialog[data-section=flags] .shop-main{grid-template-columns:220px minmax(0,1fr);grid-template-rows:38px 36px minmax(74px,1fr) 30px;gap:6px 16px}.flag-filters{grid-column:2;grid-row:1}.shop-main .flag-feature{grid-column:1;grid-row:1/5;min-height:0}.flag-search{grid-row:2}.flag-browser{grid-row:3}.shop-dialog[data-section=flags] .item-pager{grid-row:4}.shop-feature .shop-detail{padding:8px;gap:4px}.shop-detail .shop-fine{display:none}.shop-feature .shop-detail h3{font-size:24px}.shop-inspect{padding:5px;bottom:5px;left:5px}.shop-confirm{padding:5px;font-size:11px}.shop-confirm p{margin:4px 0}.shop-confirm button{min-height:28px;padding:5px}}
.shop-dialog .shop-purchase{padding:0;border:0}.shop-dialog .shop-primary{font:600 12px/1.25 Arial,sans-serif;min-height:44px;padding:9px 12px;white-space:normal}.shop-dialog .shop-inspect{font:600 11px/1.2 Arial,sans-serif;border-radius:5px}.shop-dialog .shop-card{padding:5px}.shop-dialog .shop-card-title{margin:4px 0;line-height:1.15}.shop-dialog .shop-card-meta{padding:0}.shop-dialog .shop-card-meta b{font-size:9px}.shop-dialog .shop-card img{margin:0;max-height:65px}.shop-dialog .shop-feature .shop-detail{border:0}.shop-detail .shop-confirm[hidden]{display:none}
@media(max-width:700px){.shop-dialog .shop-card{padding:4px}.shop-dialog .shop-primary{font-size:11px;padding:8px}.shop-dialog .shop-inspect{font-size:10px;min-height:32px;padding:6px}.shop-detail{grid-template-rows:auto 1fr auto}.shop-purchase{grid-row:2/4}.shop-dialog .shop-card-meta{font-size:9px}.shop-dialog .shop-card-title{min-height:25px}.shop-dialog .shop-feature{min-height:180px}}
@media(max-width:360px){.shop-dialog .shop-feature{min-height:168px;grid-template-rows:minmax(66px,1fr) auto}.shop-dialog .shop-detail{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:5px}.shop-dialog .shop-purchase{grid-column:2;grid-row:2;gap:4px}.shop-dialog .shop-primary{font-size:10px;max-width:134px}.shop-dialog .shop-card img{height:30px!important}.shop-dialog .shop-card-title{font-size:10px!important;min-height:23px}.shop-dialog .shop-card-meta b{font-size:8px}.shop-dialog .shop-inspect{font-size:10px}}
@media(max-height:500px) and (min-width:600px){.shop-dialog .shop-feature{min-height:0}.shop-dialog .shop-primary{min-height:36px;padding:7px;font-size:11px}.shop-dialog .shop-card-title{min-height:0}.shop-dialog .shop-card img{display:none}.shop-dialog .shop-inspect{min-height:28px;padding:5px}.shop-detail h3{font-size:24px!important}}
.shop-dialog{background:linear-gradient(135deg,#19384b,#102536)!important}.shop-dialog .shop-primary{background:#86e4c6!important;border-color:#a9f0d9!important;color:#10392f!important;border-radius:7px!important}.shop-dialog .shop-card{background:#143045!important;border-color:#52738966!important;border-radius:6px!important;padding:5px!important}.shop-dialog .shop-card.selected{border-color:#86e4c6!important;box-shadow:inset 0 -2px #86e4c6}.shop-dialog .shop-card img{background:transparent}.shop-dialog .shop-feature{background:#132d40;border-color:#52738966}.shop-dialog .shop-inspect{background:#102a3be8!important;border-color:#80b3ce66!important;color:#d8ecf4!important;border-radius:5px!important}
@media(max-width:700px){.shop-dialog .shop-card{padding:3px!important}}
@media(max-height:500px) and (min-width:600px){.shop-dialog .dialog-close{top:10px;right:18px;width:32px;height:32px;min-height:32px}}
