/* Illustrated trial: fixed inked ornaments; no animated filters or larger controls. */
@font-face{font-family:'Ant Field';src:url('ui-art/Bangers-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{--illustrated-frame:url('ui-art/neutral-panel.svg?v=illustrated03622-r5');--ink:#121b1b;--paper:#efd7a6}
body[data-faction="0"]{--illustrated-frame:url('ui-art/empire-panel.svg?v=illustrated03622-r5')}
body[data-faction="1"]{--illustrated-frame:url('ui-art/enclave-panel.svg?v=illustrated03622-r5')}
body[data-faction] #game-ui :is(.battle-header,.minimap-wrap,.personal-points-card,.war-feed,.objective,.hill-status,.siege-status,.alloutwar-status,.larvae-status,.tactical-alert,.kill-confirmation,.ability-help,.builder-palette,.roster-panel,.supply-totals,.combat-feedback,.reward-toast,.scout-detection,.arcade-status){border-image:var(--illustrated-frame) 36 fill / 8px / 0 stretch;border-radius:0;box-shadow:0 3px 0 #111a1b77}
body[data-faction] #game-ui :is(.menu-button,.roster-button,.ability-button,.guard-button,.interact-button,.attack-button,.callin-open){border-image:var(--illustrated-frame) 36 fill / 8px / 0 stretch;border-radius:0;text-shadow:0 2px #11191a;box-shadow:0 3px #10191b88}
body[data-faction] #game-ui :is(.attack-button,.guard-button,.ability-button,.interact-button) b{font-family:'Ant Field',Impact,sans-serif;font-weight:400;letter-spacing:.05em;font-size:17px;color:var(--paper)}
body[data-faction] #game-ui .battle-header #score-a,body[data-faction] #game-ui .battle-header #score-b,body[data-faction] #game-ui .battle-header #timer,body[data-faction] #game-ui .class-label{font-family:'Ant Field',Impact,sans-serif;font-weight:400;letter-spacing:.08em;text-shadow:0 2px #0c171e}
body[data-faction] #game-ui .class-label{font-size:14px;line-height:1;min-height:14px;margin-bottom:4px}
body[data-faction] #game-ui .class-medallion{border:2px solid var(--field-trim);box-shadow:0 0 0 2px #111c22,inset 0 0 0 2px #efdbb044}
body[data-faction] #game-ui .vitals-crest{transform:rotate(-5deg)}body[data-faction="1"] #game-ui .vitals-crest{transform:rotate(7deg)}
body[data-faction] #game-ui .vital-values small svg{stroke:#172020;stroke-width:1.6;paint-order:stroke fill;stroke-linejoin:round}
body[data-faction] #game-ui :is(.tactical-alert,.kill-confirmation,.combat-feedback) b{font-family:'Ant Field',Impact,sans-serif;letter-spacing:.06em;font-weight:400}
body[data-faction] #game-ui .ability-button>span:first-child{border:1px solid #e4c28e88;box-shadow:0 1px #0e1c24;background:#18252b66}
body[data-faction="1"] #game-ui :is(.objective,.builder-palette,.roster-panel){--illustrated-frame:url('ui-art/enclave-panel.svg?v=illustrated03622-r5')}
body[data-faction] #game-ui #result.round-outro{border-image:var(--illustrated-frame) 36 fill / 9px / 0 stretch}
#game-ui #result h2{font-family:'Ant Field',Impact,sans-serif;font-weight:400;letter-spacing:.04em;text-shadow:2px 2px #102025}
body[data-battle-controls="touch"] #game-ui .class-label{font-size:10px;min-height:10px;margin-bottom:2px}
body[data-battle-controls="touch"] #game-ui :is(.ability-button,.guard-button,.interact-button) b{font-size:13px}
body[data-battle-controls="touch"] #game-ui .attack-button b{font-size:19px}
body[data-battle-controls="touch"] #game-ui :is(.battle-header,.arcade-status,.tactical-alert){border-image-width:6px}
/* Neutral field-journal menu; faction choices and real portrait art carry allegiance. */
.menu-scene-active.friends-playtest .briefing{background:linear-gradient(90deg,#242c24f5,#33392bdc);border-right:3px solid #a68e6199;box-shadow:4px 0 0 #111a1666}
.menu-scene-active .friends-header h1{font-family:'Ant Field',Impact,sans-serif;font-size:85px;font-weight:400;letter-spacing:.055em;color:#edd4a0;text-shadow:3px 4px #151e18,-1px -1px #f6e1bc;transform:rotate(-1deg);transform-origin:left center}
.menu-scene-active .friends-header h2{font-family:'Ant Field',Impact,sans-serif;font-weight:400;font-size:25px;letter-spacing:.06em}
.menu-scene-active :is(.friends-nav,.friends-ant,.friends-play-card,.friends-role-picker,.friends-panel .alpha-guide,.friends-npc-card,.friends-mode-guide>li,.service-lobby-preview,.service-home-link,.lore){--illustrated-frame:url('ui-art/neutral-panel.svg?v=illustrated03622-r5');border-image:var(--illustrated-frame) 36 fill / 9px / 0 stretch;border-radius:0;box-shadow:0 3px #101b1655}
.menu-scene-active .friends-nav{background:#343c2b;padding:7px;gap:5px}
.menu-scene-active .friends-nav button{font:400 16px/1.1 'Ant Field',Impact,sans-serif;letter-spacing:.055em;background:linear-gradient(#586047,#333c2c);border:1px solid #0c1916;border-bottom:3px solid #182319;box-shadow:inset 0 0 0 1px #dbc69a22;color:#ead5ac;border-radius:3px 7px 3px 5px;text-shadow:0 2px #111b15}
.menu-scene-active .friends-nav button.selected{background:linear-gradient(#e8c990,#c4a16c);color:#253124;text-shadow:0 1px #f3dba9;border-color:#172218;box-shadow:inset 0 0 0 1px #f4dfaf}
.menu-scene-active .friends-nav .field-icon{width:19px;height:19px;flex-shrink:0}
.menu-scene-active .friends-panel :is(h2,h3,h4),.menu-scene-active .friends-role-picker>summary strong,.menu-scene-active .service-home-link>span{font-family:'Ant Field',Impact,sans-serif;font-weight:400;letter-spacing:.05em;text-shadow:0 2px #142019}
.menu-scene-active .friends-card-heading h3{font-size:28px}.menu-scene-active .friends-panel>h2{font-size:34px}
.menu-scene-active .friends-header{border-bottom:2px solid #b49a6899}.menu-scene-active .friends-header:after{content:'';display:block;position:absolute;bottom:-4px;left:5px;width:54%;border-bottom:1px solid #171e17;transform:rotate(-.6deg)}
.menu-scene-active :is(.deploy,.service-save,#friends-room-join,#friends-room-watch){font:400 22px/1.1 'Ant Field',Impact,sans-serif;letter-spacing:.06em;border:2px solid #142119;border-bottom-width:4px;border-radius:4px 9px 5px 7px;box-shadow:inset 0 0 0 1px #f6dfaf66,0 2px #131d1666}
.menu-scene-active .friends-ant .faction{border:2px solid #14222b;border-bottom-width:4px;border-radius:5px 9px 5px 7px}.menu-scene-active .friends-ant .faction.selected{outline:1px solid #d8b47c;outline-offset:-4px}
.menu-scene-active .friends-role-picker>summary{display:flex;align-items:center;gap:10px;min-height:78px;padding:10px 15px}
.menu-scene-active #friends-role-preview{display:none}.menu-role-portrait{width:58px;height:58px;flex:none;border:2px solid #d9b782;border-radius:50%;box-shadow:0 0 0 2px #152321;background:#2b382b}
.menu-scene-active .friends-role-picker>summary strong{font-size:25px}.menu-scene-active .friends-role-picker>summary>span{font:400 17px 'Ant Field',Impact,sans-serif;letter-spacing:.05em}
.menu-scene-active .service-home-link{padding:13px 16px}.menu-scene-active .service-home-link>span{font-size:21px}.menu-scene-active .service-home-link small{font-size:10px}
@media(max-width:550px){.menu-scene-active .friends-header h1{font-size:70px}.menu-scene-active .friends-nav button{font-size:14px;gap:4px}.menu-scene-active .friends-nav .field-icon{width:16px;height:16px}.menu-scene-active .friends-role-picker>summary{padding:8px 11px}.menu-role-portrait{width:48px;height:48px}.menu-scene-active .friends-role-picker>summary strong{font-size:22px}.menu-scene-active .friends-role-picker>summary>span{font-size:14px}.menu-scene-active .service-home-link>span{font-size:19px}.menu-scene-active .service-home-link small{font-size:9px}.menu-scene-active :is(.deploy,#friends-room-join,#friends-room-watch){font-size:20px}}

/* Give the main character plates an actual painted edge rather than a flat rule. */
body[data-faction] #game-ui :is(.arcade-status,.ability-button,.guard-button,.interact-button){border-image:var(--illustrated-frame) 36 fill / 10px / 0 stretch;background-image:none;background-color:transparent;border-color:transparent;box-shadow:none}
body[data-faction] #game-ui .attack-button{border-image:none;border:3px solid #141f22;border-radius:50%;box-shadow:inset 0 0 0 2px var(--field-trim),0 3px #121c1d99}
body[data-faction] #game-ui .battle-header{border-image-width:11px}
.menu-scene-active.friends-playtest :is(.friends-ant,.friends-play-card){border-image:url('ui-art/neutral-panel.svg?v=illustrated03622-r5') 36 fill / 10px / 0 stretch;background-image:none;background-color:transparent;border-color:transparent;box-shadow:none}
.menu-scene-active .friends-role-picker>summary .menu-role-portrait{width:58px;height:58px;min-width:58px;object-fit:contain;border-radius:50%;margin:0;aspect-ratio:1}
.menu-role-name{display:flex;flex:1;flex-direction:column;gap:4px}.menu-role-name small{font:9px/1.2 'DM Sans',system-ui,sans-serif;letter-spacing:.12em;color:#c5c9ae}
@media(max-width:550px){.menu-scene-active .friends-role-picker>summary .menu-role-portrait{width:48px;height:48px;min-width:48px}.menu-role-name small{font-size:8px}}

.menu-scene-active.friends-playtest .friends-nav button{border-bottom:3px solid #14221b}.menu-scene-active.friends-playtest .friends-nav button.selected{box-shadow:inset 0 0 0 1px #f9dfaa,0 2px #0f1a14}
body[data-faction] #game-ui :is(.ability-button,.guard-button,.interact-button){border-image-width:10px}
body[data-battle-controls="touch"] #game-ui :is(.arcade-status,.ability-button,.guard-button,.interact-button){border-image-width:7px}

/* Consistent display lettering and surfaces across every visitor-facing window. */
:root{--field-display:'Ant Field',Impact,'Arial Narrow',sans-serif;--field-body:'DM Sans','Segoe UI',sans-serif}
body[data-faction] #game-ui :is(.battle-header,.minimap-wrap,.personal-points-card,.objective,.hill-status,.siege-status,.alloutwar-status,.larvae-status,.tactical-alert,.kill-confirmation,.ability-help,.builder-palette,.roster-panel,.supply-totals,.combat-feedback,.reward-toast,.scout-detection){background:transparent;border-color:transparent;outline:none;box-shadow:none}
/* The portrait, bars and values stand alone. No rectangular status backplate. */
body[data-faction] #game-ui .arcade-status{background:none;border:0;border-image:none;outline:none;box-shadow:none}
body[data-faction] #game-ui .arcade-status :is(.class-label,.vital-values b){text-shadow:-1px -1px #142023,1px -1px #142023,-1px 1px #142023,1px 1px #142023,0 2px #142023}
body[data-faction] #game-ui .war-feed{background:none;border:0;border-image:none;outline:none;box-shadow:none;padding:0}
body[data-faction] #game-ui .war-feed>small{font:400 12px var(--field-display);letter-spacing:.09em;text-shadow:1px 1px #142023}
body[data-faction] #game-ui .war-row{background:transparent;border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 7px / 0 stretch;box-shadow:none;border-radius:0;padding:7px 10px}
body[data-faction] #game-ui .war-row.war-vlc{--illustrated-frame:url('ui-art/empire-panel.svg?v=illustrated03622-r5')}
body[data-faction] #game-ui .war-row.war-enclave{--illustrated-frame:url('ui-art/enclave-panel.svg?v=illustrated03622-r5')}
body[data-faction] #game-ui :is(.war-row b,.personal-points-card>small,.personal-points-card>strong,.personal-points-card>span,.objective strong,.hill-status strong,.siege-status strong,.larvae-status strong,.alloutwar-status strong){font-family:var(--field-display);font-weight:400;letter-spacing:.05em}
/* Respawn cards keep exact role/price behavior, with readable numeric stat text. */
body[data-faction] #respawn{background:transparent;border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 11px / 0 stretch;border-radius:0;box-shadow:none;color:#efdcb5}
body[data-faction] #respawn>span{font:400 18px/1.2 var(--field-display);letter-spacing:.11em}
body[data-faction] #respawn>#respawn-time{font:400 clamp(32px,6vw,52px)/1 var(--field-display);letter-spacing:.04em;color:var(--paper);text-shadow:1px 2px #122027}
body[data-faction] #respawn :is(h2,h3){font:400 20px/1.2 var(--field-display);letter-spacing:.08em;color:var(--paper)}
body[data-faction] #respawn :is(p,small){font-family:var(--field-body);line-height:1.5;color:#e0d3b5}
body[data-faction] #respawn [data-respawn-kind]{font:400 20px/1.1 var(--field-display);letter-spacing:.04em;background:var(--field-dark);color:#efddbb;border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 6px / 0 stretch;border-radius:0;box-shadow:none;padding:10px 12px}
body[data-faction] #respawn [data-respawn-kind] small{font:10px/1.45 var(--field-body);letter-spacing:0;margin-top:4px}
body[data-faction] #respawn [data-respawn-kind].selected{background:var(--field-button);color:#fff0cb;outline:2px solid var(--field-accent);outline-offset:-5px}
body[data-faction] #respawn #confirm-respawn{font:400 22px/1.2 var(--field-display);letter-spacing:.08em;background:var(--field-button);color:var(--paper);border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 8px / 0 stretch;border-radius:0;box-shadow:none}
/* Settings uses the actual class host, in both menu and battle. */
body #settings-overlay .settings-panel{font-family:var(--field-body);background:transparent;border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 12px / 0 stretch;border-radius:0;box-shadow:none;color:#eeddbb}
body.menu-scene-active #settings-overlay .settings-panel{--illustrated-frame:url('ui-art/neutral-panel.svg?v=illustrated03622-r5');--field-button:#465039;--field-trim:#c8ac78;--field-dark:#283126}
body #settings-overlay .settings-panel h2{font:400 37px/1.1 var(--field-display);letter-spacing:.06em;color:#efdab0}
body #settings-overlay .settings-panel h3{font:400 24px/1.2 var(--field-display);letter-spacing:.07em;color:#ead3a5}
body #settings-overlay .settings-panel :is(p,label,output){font-family:var(--field-body);color:#d9d5bf}
body #settings-overlay .settings-panel a{color:#e0c58d;text-decoration:underline;text-underline-offset:3px}
body #settings-overlay .settings-panel :is(.audio-settings,.touch-settings){background:#14251c33;border:1px solid #c9b18144;border-radius:3px}
body #settings-overlay .settings-panel button{font:400 19px/1.2 var(--field-display);letter-spacing:.05em;background:var(--field-button);color:#eddbb2;border:1px solid #b49a6e;border-bottom:3px solid #14231c;border-radius:3px 7px 3px 5px}
body #settings-overlay input{accent-color:#cdb180}body #settings-overlay input[type=range]{cursor:pointer}
/* Guide headings, role names and help cards match; prose stays legible. */
body.menu-scene-active .friends-panel :is(.alpha-class summary strong,.alpha-class-ability strong,.friends-mode-guide strong,.lore-intro h2,.lore h3,.service-report h3){font-family:var(--field-display);font-weight:400;letter-spacing:.05em}
body.menu-scene-active .friends-panel .alpha-class summary strong{font-size:25px;line-height:1.1}
body.menu-scene-active .friends-panel .alpha-class{background:#303b2bee;border:1px solid #ad956566;border-radius:3px;box-shadow:none}
body.menu-scene-active .friends-panel .alpha-class summary{background:#283525cc;border-radius:2px}
body.menu-scene-active .friends-panel .alpha-class summary span{font:12px/1.45 var(--field-body);color:#d0d4bb}
body.menu-scene-active .friends-panel .alpha-class :is(p,li,.alpha-class-stats){font-family:var(--field-body);color:#d9d8c0}
body.menu-scene-active .friends-panel .alpha-mode-guide>li{background:#2b3829dd;border:1px solid #b19c6b66;border-left:3px solid #c6ad7a;border-radius:2px;box-shadow:none}
body.menu-scene-active .friends-panel .alpha-mode-guide h3{font:400 24px/1.2 var(--field-display);letter-spacing:.06em;color:#ecd7ab}
body.menu-scene-active .friends-panel .alpha-mode-guide p{font-family:var(--field-body);font-size:13px;line-height:1.7}
body.menu-scene-active .friends-panel .alpha-guide{background:transparent;box-shadow:none;border-color:transparent}
/* Shared dialogs, tactical map, Builder and results follow the same alphabet. */
body :is(#service-dialog,#scoreboard-dialog) .service-sheet{font-family:var(--field-body);background:transparent;border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 12px / 0 stretch;border-radius:0;box-shadow:none;color:#eedab4}
body.menu-scene-active :is(#service-dialog,#scoreboard-dialog) .service-sheet{--illustrated-frame:url('ui-art/neutral-panel.svg?v=illustrated03622-r5')}
body :is(#service-dialog,#scoreboard-dialog) :is(h2,h3,h4,button,summary){font-family:var(--field-display);font-weight:400;letter-spacing:.04em}
body :is(#service-dialog,#scoreboard-dialog) h2{font-size:34px}body :is(#service-dialog,#scoreboard-dialog) h3{font-size:23px}
body #game-ui :is(.roster-panel>header b,.roster-classes summary,.builder-palette header,.builder-palette b,.builder-palette strong,.builder-palette button b,.callin-copy strong){font-family:var(--field-display);font-weight:400;letter-spacing:.06em}
body #tactical-map>section{background:transparent;border:1px solid transparent;border-image:var(--illustrated-frame) 36 fill / 11px / 0 stretch;border-radius:0;box-shadow:none}
body #tactical-map :is(h2,button){font-family:var(--field-display);font-weight:400;letter-spacing:.05em}
body #game-ui #result:not(.round-outro){background:linear-gradient(135deg,#17271bf5,#17202af0);backdrop-filter:none;font-family:var(--field-body)}
body[data-faction="1"] #game-ui #result:not(.round-outro){background:linear-gradient(135deg,#342326f5,#232622f0)}
body #game-ui #result :is(h2,h3,.scoreboard-filters button,.result-actions button,#again,#return-menu,.scoreboard-link){font-family:var(--field-display);font-weight:400;letter-spacing:.05em}
body #game-ui #result h2{font-size:clamp(30px,5vw,52px);line-height:1.1;text-shadow:1px 2px #101d21}
body #game-ui #result :is(.result-service,#again,#return-menu,.scoreboard-link){font-size:19px;border-radius:3px 7px 3px 5px}
body #game-ui #result .scoreboard-team h3,body #game-ui #leaderboard .scoreboard-team h3{font:400 22px/1.2 var(--field-display);letter-spacing:.06em}
body :is(#game-ui,#scoreboard-dialog) .scoreboard-filters button{font:400 17px/1.2 var(--field-display);letter-spacing:.04em}
body :is(#game-ui,#scoreboard-dialog) .scoreboard-table th{font:400 15px/1.2 var(--field-display);letter-spacing:.04em}
body :is(#game-ui,#scoreboard-dialog) .scoreboard-table :is(td,strong){font-family:var(--field-body);font-variant-numeric:tabular-nums}
body #game-ui #result.round-outro{background:transparent;border-color:transparent;box-shadow:none}
body #game-ui #result.round-outro h2{font-size:clamp(25px,3.5vw,36px)}
body #connection-alert,body #friends-loading :is(h2,button){font-family:var(--field-display);font-weight:400;letter-spacing:.05em}
@media(max-width:550px){body[data-faction] #respawn [data-respawn-kind]{font-size:18px;padding:8px}body[data-faction] #respawn [data-respawn-kind] small{font-size:9px}body[data-faction] #respawn>span{font-size:15px}body #settings-overlay .settings-panel h2{font-size:31px}body #settings-overlay .settings-panel h3{font-size:21px}body.menu-scene-active .friends-panel .alpha-class summary strong{font-size:22px}body #game-ui #result .scoreboard-team h3{font-size:20px}body #game-ui #result :is(.result-service,#again,#return-menu,.scoreboard-link){font-size:17px}}

/* Bridge legacy painted backplates. The drawn border-image supplies its own fill. */
html body[data-faction] #game-ui :is(.battle-header,.minimap-wrap,.personal-points-card,.objective,.hill-status,.siege-status,.alloutwar-status,.larvae-status,.tactical-alert,.kill-confirmation,.ability-help,.builder-palette,.roster-panel,.supply-totals,.combat-feedback,.reward-toast,.scout-detection),html body[data-faction]:not(.menu-scene-active) #respawn{background:transparent!important;box-shadow:none!important;border-color:transparent}
html body[data-faction] #game-ui .arcade-status{background:none!important;border:0!important;border-image:none!important;box-shadow:none!important;outline:none}
html body[data-faction] #game-ui .war-feed{background:none!important;border:0;border-image:none!important;box-shadow:none!important}
html body[data-faction] #game-ui .war-row,html body[data-faction] #respawn [data-respawn-kind]{background:transparent!important;box-shadow:none!important}
/* Cached native model beside each respawn name; faction changes repaint once. */
html body[data-faction] #game-ui.respawning #respawn{width:min(760px,calc(100vw - 32px));top:24px;bottom:24px;max-height:calc(100dvh - 48px)}
html body[data-faction] #respawn .friends-respawn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
html body[data-faction] #respawn [data-respawn-kind]{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:10px;text-align:left;min-height:74px}
html body[data-faction] #respawn .respawn-model{grid-column:1;grid-row:1 / 3;width:64px;height:46px;display:block;pointer-events:none}
html body[data-faction] #respawn .respawn-role-name{grid-column:2;grid-row:1;min-width:0;align-self:end}
html body[data-faction] #respawn [data-respawn-kind] small{grid-column:2;grid-row:2;align-self:start;margin-top:4px;white-space:normal}
body #settings-overlay .settings-panel>section{background:#29392de8;border:1px solid #bfa27366;border-radius:3px;box-shadow:none}
body #settings-overlay .settings-panel{scrollbar-color:#a58b60 #23322b;scrollbar-width:thin}
@media(max-width:550px){
 html body[data-faction] #game-ui.respawning #respawn{width:calc(100vw - 24px);top:calc(56px + var(--phone-top,0px));bottom:auto;max-height:calc(100dvh - 68px - var(--phone-top,0px) - var(--phone-bottom,0px))}
 html body[data-faction] #respawn [data-respawn-kind]{grid-template-columns:40px minmax(0,1fr);column-gap:5px;min-height:95px;padding:8px 6px}
 html body[data-faction] #respawn .respawn-model{width:40px;height:29px;grid-row:1}
 html body[data-faction] #respawn .respawn-role-name{align-self:center}
 html body[data-faction] #respawn [data-respawn-kind] small{grid-column:1 / 3;grid-row:2;font-size:9px;line-height:1.45}
}

html body[data-faction] #game-ui.respawning #respawn:not([hidden]){display:flex;flex-direction:column;height:calc(100dvh - 48px);max-height:850px}
html body[data-faction] #respawn #respawn-roles{min-height:0;flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--field-trim) transparent;padding:0 3px 2px}
html body[data-faction] #respawn #confirm-respawn{flex-shrink:0}
html body[data-faction] #respawn #class-status{margin:2px 0 0;min-height:0}
@media(max-width:550px){html body[data-faction] #game-ui.respawning #respawn:not([hidden]){height:calc(100dvh - 68px - var(--phone-top,0px) - var(--phone-bottom,0px));max-height:850px}}

/* Result owns the ending lane. Keep the ten-second retreat playable. */
html body[data-faction] #game-ui.round-ended :is(#objectives,#hill-status,#larvae-status,#siege-status,#alloutwar-status,#supply-totals,.tactical-alerts,.kill-confirmations,#combat-feedback,#reward-feed,#streak-card,#war-feed,#charge-source,#ability-help,#builder-palette){display:none!important}
html body[data-faction] #game-ui.round-recap>:not(#result):not(#connection-alert):not(.menu-button){visibility:hidden!important}

/* Small Service Cards live in the identity column, not a second row of scores. */
body .scoreboard-table .match-card{min-width:150px;max-width:240px;min-height:54px;padding:6px 8px;gap:8px;border:1px solid transparent;border-image:url('ui-art/empire-panel.svg') 36 fill / 5px / 0 stretch;border-radius:0;background:transparent}
body .scoreboard-table .match-card[data-banner="1"]{border-image-source:url('ui-art/enclave-panel.svg')}
body .scoreboard-table .match-card-name strong{font-family:var(--field-body);font-size:12px;color:#fff0ca}
body .scoreboard-table .match-card-name>small{font-size:8px;color:#d2cfb9}
body .scoreboard-table .match-card-rankline{display:flex;align-items:center;gap:7px;min-height:16px;margin:2px 0}
body .scoreboard-table .match-card-rankline small{font-size:9px;margin:0;white-space:nowrap}
body .scoreboard-table .match-card-medals{display:flex;gap:2px;color:#ecd19a}
body .scoreboard-table .match-card-medals>span,body .scoreboard-table .match-card-medals svg{display:block;width:14px;height:14px}
body .scoreboard-table .match-card-mark{flex-basis:24px}
body .scoreboard-table button.match-card:hover,body .scoreboard-table button.match-card:focus-visible{outline:2px solid #e1c185;outline-offset:-2px;background:transparent}
@media(max-width:550px){body .scoreboard-table .match-card{min-width:145px;padding:5px 6px}body .scoreboard-table .match-card-name strong{font-size:11px}}

/* Keep the class ability legible while charging, including the busy AOW HUD. */
html body[data-faction] #game-ui #ability:not(.ready):not(.aiming){color:#f2dfba;opacity:1}html body[data-faction] #game-ui #ability:disabled{opacity:.82}html body[data-faction] #game-ui #ability:not(.ready)>small{color:#eed7a3}html body[data-faction] #game-ui #ability>span:first-child{color:#f9df9f}
