/* Portrait palette: dark ink, warm brass, parchment. No animated panel filters. */
.field-icon{width:18px;height:18px;flex:none;vertical-align:middle;color:inherit}
body[data-faction="0"]{--field-accent:#b3ccdb;--field-trim:#c8aa78;--field-dark:#172836;--field-panel:#1b2e3df5;--field-button:#2b4353;--field-muted:#bdc9ca}
body[data-faction="1"]{--field-accent:#deb19a;--field-trim:#bd976e;--field-dark:#362628;--field-panel:#3d292bf5;--field-button:#5b3b3b;--field-muted:#d0bbb0}
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){background:var(--field-panel);color:#eee1c1;border-color:var(--field-trim);box-shadow:0 2px 0 #0a101555,inset 0 0 0 1px #e1c89612}
body[data-faction="0"] #game-ui :is(.objective,.tactical-alert,.ability-help,.builder-palette,.roster-panel){border-radius:4px 9px 4px 9px}
body[data-faction="1"] #game-ui :is(.objective,.tactical-alert,.ability-help,.builder-palette,.roster-panel){border-radius:9px 3px 8px 4px;border-left-width:3px}
body[data-faction] #game-ui :is(.menu-button,.roster-button,.ability-button,.guard-button,.interact-button,.attack-button,.callin-open){background:var(--field-button);color:#f2dfb7;border-color:var(--field-trim);box-shadow:0 3px 0 #0c1119aa,inset 0 1px #efdfb333}
body[data-faction] #game-ui :is(.menu-button,.roster-button,.guard-button) .field-icon{width:22px;height:22px}
body[data-faction] #game-ui .minimap-wrap{border-top:2px solid var(--field-accent)}
body[data-faction] #game-ui :is(.tactical-alert b,.reward-toast strong,.callin-copy em,.war-feed>small,.minimap-wrap>strong){color:var(--field-accent)}
body[data-faction] #game-ui :is([data-respawn-kind],.roster-classes,.scoreboard-filters button){background:var(--field-dark);border-color:var(--field-trim);color:#eddfbf}body[data-faction] #game-ui [data-respawn-kind].selected{background:var(--field-button);border-color:var(--field-accent)}body[data-faction] #game-ui .scoreboard-table thead{background:var(--field-button)}body[data-faction] #game-ui .scoreboard-filters button[aria-pressed="true"]{background:var(--field-trim);color:var(--field-dark)}
body[data-faction] #game-ui .tactical-alert.warning{border-left-color:#e6ae6d}
body[data-faction] #game-ui .tactical-alerts{top:var(--hud-alert-top,150px);z-index:8}
body[data-faction] #game-ui .kill-confirmations{top:var(--hud-kill-top,194px)}
body[data-faction] #game-ui #combat-feedback{top:var(--hud-combat-top,230px);left:50%;bottom:auto;transform:translateX(-50%);z-index:9;max-width:min(380px,80vw);font:700 11px/1.4 'DM Sans',system-ui,sans-serif;letter-spacing:.06em;padding:7px 11px;border-width:1px;border-style:solid;border-radius:4px;text-align:center}
body[data-faction] #game-ui #combat-feedback.body-hit{border-left:3px solid #df947d;color:#ffdbcb}body[data-faction] #game-ui #combat-feedback.block{border-left:3px solid #d4bd86;color:#f0dfaf}body[data-faction] #game-ui #combat-feedback.armor-break{border-left:3px solid #eabb68;color:#ffe4ae}
body[data-battle-controls="keyboard"] #game-ui #interact{left:232px;right:auto;bottom:24px;width:112px;min-height:52px;pointer-events:auto;z-index:12}
body[data-battle-controls="keyboard"] #game-ui #interact b{font-size:11px}body[data-battle-controls="keyboard"] #game-ui #interact small{font-size:9px;color:#e7d8b8}
body[data-battle-controls="keyboard"] #game-ui .keyboard-controls{bottom:90px}
@media(max-width:520px){body[data-battle-controls="keyboard"] #game-ui #interact{left:20px;bottom:var(--hud-interact-bottom,194px)}}
body[data-battle-controls="touch"] #game-ui #combat-feedback{left:12px;transform:none;max-width:calc(100vw - 116px);font-size:9px;padding:5px 8px}
#game-ui #result{font-family:'DM Sans',system-ui,sans-serif;color:#f2e1ba}
body[data-faction] #game-ui #result.round-outro{background:var(--field-panel);border:1px solid var(--field-trim);border-top:3px solid var(--field-accent);border-radius:5px 12px 5px 12px;box-shadow:0 4px 0 #10161bbb,inset 0 0 0 3px #e0c99a0b;padding:18px 22px}
body[data-faction="1"] #game-ui #result.round-outro{border-radius:12px 4px 10px 3px;border-left:3px solid var(--field-trim)}
#game-ui #result h2{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:700;letter-spacing:.02em;color:#f0ddb2;text-shadow:0 2px #141c1e88}
#game-ui #result.round-outro>span{font:700 10px/1.4 'DM Sans',system-ui,sans-serif;letter-spacing:.2em;color:var(--field-accent)}
#game-ui #result.round-outro h2{font-size:clamp(25px,3.5vw,36px);line-height:1.1;margin:5px 0}
#game-ui #result.round-outro :is(p,.result-faction-score){font-family:'DM Sans',system-ui,sans-serif;font-size:11px;color:#e2d6b7}
body[data-battle-controls="keyboard"] #game-ui .keyboard-controls{left:234px;right:115px;bottom:24px;transform:none;width:max-content;max-width:calc(100vw - 360px);flex-wrap:wrap;gap:8px;padding:7px 10px;background:var(--field-panel);border:1px solid var(--field-trim);border-radius:5px;font-size:9px;z-index:2}
@media(max-width:980px){body[data-battle-controls="keyboard"] #game-ui .keyboard-controls{display:none!important}}
body[data-battle-controls="touch"] #game-ui .arcade-status{width:120px;min-height:0;max-width:calc(100vw - 204px);padding:4px 5px;bottom:calc(7px + env(safe-area-inset-bottom,0px));border-radius:7px}
body[data-battle-controls="touch"] .arcade-status .class-label{font-size:7px;line-height:1.2;min-height:8px;white-space:nowrap;margin:0 0 2px}
body[data-battle-controls="touch"] .vitals-core{width:106px;height:58px}
body[data-battle-controls="touch"] .class-medallion{width:52px;height:52px;left:0;top:3px}
body[data-battle-controls="touch"] .vital-curves{left:48px;top:0;width:52px;height:58px}
body[data-battle-controls="touch"] .vitals-crest{width:13px;height:15px;top:-4px;right:-2px}
body[data-battle-controls="touch"] .vital-values{width:106px;margin-top:1px;gap:0}
body[data-battle-controls="touch"] .vital-values small{height:11px;margin-bottom:1px}
body[data-battle-controls="touch"] .vital-values svg{width:10px;height:10px}
body[data-battle-controls="touch"] .vital-values b{font-size:9px;line-height:1.2}
body[data-battle-controls="touch"] #game-ui #interact{left:max(16px,env(safe-area-inset-left,0px));right:auto;bottom:calc(132px + env(safe-area-inset-bottom,0px));width:94px;height:50px;min-height:48px;z-index:12;pointer-events:auto}
body[data-battle-controls="touch"] #game-ui #interact b{font-size:10px}
body[data-battle-controls="touch"] #game-ui #interact small{font-size:8px;color:#e4d7b7}
body[data-battle-controls="touch"] #game-ui #interact[data-context="crate"]{border:2px solid var(--field-accent);background:var(--field-button);box-shadow:0 3px 0 #0b111a,inset 0 0 0 1px var(--field-trim)}
body[data-battle-controls="touch"] #game-ui #interact:disabled{opacity:.75}
body[data-battle-controls="touch"] #game-ui #ability{left:50%;right:auto;bottom:calc(128px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);margin:0;width:64px;height:57px;min-height:52px;z-index:10}
body[data-battle-controls="touch"] #game-ui #guard{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(132px + env(safe-area-inset-bottom,0px));width:86px;min-height:48px;height:50px}
body[data-battle-controls="touch"] #game-ui .arcade-status .cargo-status{position:fixed;left:50%;width:210px;bottom:200px;transform:translateX(-50%);font-size:9px}
body[data-battle-controls="touch"] #game-ui .tactical-alerts{left:12px;transform:none;max-width:calc(100vw - 116px)}
@media(max-height:500px){body[data-battle-controls="touch"] #game-ui .arcade-status{left:50%;bottom:7px}body[data-battle-controls="touch"] #game-ui #ability{left:auto;right:125px;bottom:18px;transform:none}body[data-battle-controls="touch"] #game-ui #interact{left:128px;bottom:20px}body[data-battle-controls="touch"] #game-ui #guard{bottom:118px}}
@media(max-width:350px){body[data-battle-controls="touch"] #game-ui .arcade-status{width:108px;padding-inline:4px}body[data-battle-controls="touch"] .vitals-core,body[data-battle-controls="touch"] .vital-values{width:98px}body[data-battle-controls="touch"] .vital-values b{font-size:8px}}
/* The menu is neutral even when the selected colony or backdrop changes. */
.friends-playtest #menu{--menu-ink:#252824;--menu-paper:#e9d9b5;--menu-trim:#aa9270;--menu-muted:#c0b89f;color:var(--menu-paper)}
.menu-scene-active.friends-playtest .briefing{width:min(610px,48vw);padding:24px 28px 35px;background:linear-gradient(90deg,#202420ed,#292b24dc);border-right:1px solid #b9a17b70}
.menu-scene-active .menu-shade{background:linear-gradient(90deg,#191d1b99,#191d1b55 45%,#191d1b12)!important}
.menu-scene-active .friends-header{min-height:0;padding:12px 0 18px;border-bottom:1px solid #b69b6d55;position:relative}
.menu-scene-active .friends-header h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:76px;line-height:.9;letter-spacing:.05em;color:#f2dfb7;margin:20px 0 10px;text-shadow:0 3px #111a16}
.friends-header h1 .field-icon{width:42px;height:42px;margin-right:13px;color:#c9ad7d}
.menu-scene-active .friends-header h2{font:600 23px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.025em;margin:10px 0;color:#e1ceb0}
.menu-scene-active .friends-header p{display:block;font-size:12px;max-width:390px;line-height:1.6;color:#c2bea7;margin:0}
.menu-scene-active .friends-kicker{font-size:9px;color:#bba77e;letter-spacing:2.5px}
.menu-scene-active .friends-header .menu-music-start{float:none;position:absolute;right:0;top:0;min-height:30px;font-size:9px;background:#353a30;border-color:#998b66;color:#decda7}
.friends-playtest .eyebrow{color:#cdb88e}.friends-playtest .build{border-color:#9b8d6a66;color:#c3b994;background:#262c23}
.menu-scene-active .friends-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;background:#232922f5;border:1px solid #ad946d77;border-radius:5px;padding:6px;margin:15px 0;backdrop-filter:none;z-index:5}
.menu-scene-active .friends-nav button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 5px;font-size:10px;background:#30362d;color:#d4cab0;border:1px solid #a18c692e;border-radius:3px}
.menu-scene-active .friends-nav button.selected{background:linear-gradient(#c5ad7e,#b49b6e);color:#24281f;border-color:#dfc99b;box-shadow:inset 0 1px #efdab5}
.menu-scene-active .friends-nav .field-icon{width:15px;height:15px}
.menu-scene-active :is(.friends-ant,.friends-play-card,.friends-role-picker,.friends-panel .alpha-guide,.friends-npc-card,.friends-mode-guide>li,.service-lobby-preview){background:#2a3028ee;border:1px solid #a58e6877;border-radius:5px;box-shadow:0 3px #131a164d,inset 0 0 0 2px #ecd7ab09}
.menu-scene-active .friends-panel :is(h2,h3,h4,summary){color:#e9d4aa}.menu-scene-active .friends-panel :is(p,small,label){color:#c7c4ac}
.menu-scene-active .friends-panel :is(select,input[type=text]){background:#20291f;border:1px solid #998a6977;color:#eddfc4;border-radius:4px}
.menu-scene-active .friends-panel .deploy,.menu-scene-active .service-save{background:linear-gradient(#d0b986,#b9a16f);color:#20271f;border:1px solid #e0c89b;border-bottom:3px solid #776646;border-radius:4px;box-shadow:0 3px #121a1555}
.menu-scene-active .friends-card-heading{align-items:center}.menu-scene-active .friends-card-heading h3{display:flex;gap:8px;align-items:center;font-size:25px}
.menu-scene-active .friends-card-heading .field-icon{width:23px;height:23px;color:#c6ac7a}
.menu-scene-active .friends-ant .faction[data-team="0"]{background:#263b49;border-color:#8da8b36e;color:#ebd9b5}.menu-scene-active .friends-ant .faction[data-team="1"]{background:#493033;border-color:#b48c6a77;color:#ebd9b5}
.menu-scene-active .friends-ant .faction.selected{box-shadow:inset 0 0 0 1px #e2c18c;border-color:#dfc18d}
.menu-scene-active .friends-role-picker>summary{background:#343a2e;border-radius:4px;color:#ddc99d}
.menu-scene-active .friends-role-picker .role{background:#263025;border-color:#a58f6655;color:#ecdbb6}
.menu-scene-active .friends-role-picker .role.selected{background:#4b503a;border-color:#dac38e}
.menu-scene-active .friends-panel>h2,.menu-scene-active .friends-lead{display:block}.menu-scene-active #friends-play>.friends-lead,.menu-scene-active #friends-play>h2{display:none}
.menu-scene-active .friends-world .lore,.menu-scene-active .lore{background:#272e25;padding:18px;border:1px solid #a68d6866;border-radius:5px;margin:0}
.lore-intro h2{font:600 40px 'Barlow Condensed',Impact,sans-serif;margin:8px 0}.lore-intro small{font-size:9px;letter-spacing:2px}.lore p{font-size:13px;line-height:1.85;color:#d0cbb5}.lore a{color:#dac18e;text-decoration:underline;text-underline-offset:3px}.lore h3{font-size:20px;color:#e2cba0}.lore .fiction-label{border-left:2px solid #baa078;padding:9px 12px;font-size:11px;background:#1c251b;color:#b8b9a3}
.lore .friends-history-colonies{display:grid;grid-template-columns:1fr;gap:20px;margin-top:24px}.lore .friends-history-colonies article{padding:15px;border:1px solid #a58e6555;border-radius:5px;background:#233341}.lore .friends-history-colonies article[data-lore-faction="1"]{background:#402c2d;border-color:#bc98716e}.lore .friends-history-colonies h3{margin:0 0 14px;font-size:17px;min-height:42px;color:#e4cda5}.lore .friends-history-colonies h3 small{display:block;font-size:11px;margin-top:3px;font-weight:400;color:#c0bba3}.lore [data-faction-standard]{display:block;float:left;width:47px;height:43px;margin-right:12px}.lore [data-faction-standard] svg{width:100%;height:100%}.lore h4{font-size:16px;margin:10px 0}.lore-sources{margin-top:18px;border-top:1px solid #ac936955;padding-top:12px;font-size:12px}.lore-ending{border-top:1px solid #a88e6755;padding-top:16px}
.service-lobby-preview{padding:14px;margin:14px 0}.service-lobby-preview h3{font-size:23px;margin:0 0 10px}.service-lobby-preview>p{font-size:11px;line-height:1.7}.service-lobby-preview .service-face{margin:0 0 12px}.service-lobby-preview .service-launch{display:flex;width:100%;background:#3b4132;color:#e5d4ae;border:1px solid #baa47777;border-radius:4px;min-height:48px}.service-lobby-preview .service-launch>span:first-child{width:26px}.service-lobby-preview .service-launch b{font-size:12px}.service-lobby-preview .service-launch small{font-size:10px}.service-preview-open{width:100%;min-height:43px;background:#bda373;color:#24291e;border:1px solid #e1c99b;border-radius:4px;font-weight:700}.service-mini-progress{font-size:11px;padding:10px 0;line-height:1.6;color:#cbbd98}
.service-dialog .service-sheet{background:#252e27;color:#eadbb9;border:1px solid #b49b71;border-top:3px solid #d2bb8b}.service-dialog header{border-color:#baa17266}.service-dialog header small{color:#b9a379}.service-dialog button,.service-dialog select{border-color:#ad956d77;border-radius:4px;background:#374132;color:#e5d4ae}.service-dialog .service-face[data-faction="vlc"]{background:linear-gradient(120deg,#203748,#314b5d);border-color:#c8ad7a}.service-dialog .service-face[data-faction="enclave"]{background:linear-gradient(120deg,#3b292c,#63413f);border-color:#bc956d}.service-dialog .service-note{color:#c7c1a8}.service-dialog .service-medal-row{border-color:#baa06b33}.service-dialog .service-medal-icon{color:#d8bd87}
.menu-scene-active .service-home-link{display:flex;gap:9px;align-items:center;width:100%;padding:13px;margin:13px 0;background:#31382b;border:1px solid #aa926b77;border-radius:4px;color:#e1cda6;font-size:12px}.service-home-link small{margin-left:auto;font-size:9px;color:#c0b79c}.menu-scene-active .friends-progress-note a{color:#d9be89}.service-dialog .service-medal-group{background:#30382c;border-color:#ac966655}.menu-scene-active #settings-panel{background:#2a3027;color:#e7d7b5;border-color:#b69b70}.menu-scene-active #settings-panel button{background:#3c4433;color:#e8d4a8;border-color:#ad966d}body[data-faction]:not(.menu-scene-active) :is(#settings-panel,#respawn){background:var(--field-panel);color:#efdfba;border-color:var(--field-trim)}
@media(max-width:760px){.menu-scene-active.friends-playtest .briefing{width:100%;padding:17px 16px 28px;background:linear-gradient(#252a2280,#252a22e8 240px,#252a22f5 60%)}.menu-scene-active .menu-shade{background:linear-gradient(#1d251a22,#1b241b55 220px,#1b241b99)!important}.menu-scene-active .friends-header{padding:14px 0 18px;min-height:204px}.menu-scene-active .friends-header h1{font-size:66px;margin-top:30px}.menu-scene-active .friends-header h2{font-size:22px}.menu-scene-active .friends-header p{font-size:11px;max-width:320px}.menu-scene-active .friends-header .menu-music-start{top:0}.menu-scene-active .friends-nav{grid-template-columns:repeat(4,minmax(0,1fr));position:sticky;top:0}.menu-scene-active .friends-nav button{font-size:9px;gap:4px;min-height:43px;padding:7px 3px}.menu-scene-active .friends-nav .field-icon{width:13px;height:13px}.menu-scene-active .friends-ant,.menu-scene-active .friends-play-card{padding:12px}.service-lobby-preview{padding:12px}.lore p{font-size:12px}.menu-scene-active .lore{padding:14px}.service-dialog .service-sheet{padding:16px}.service-dialog .service-face{min-width:0}}
@media(prefers-reduced-motion:reduce){#game-ui *{scroll-behavior:auto}}
