body{--field-accent:#80c9ed;--field-trim:#d1b774;--field-dark:#142d40;--field-panel:#122739f2;--field-button:#24465b}
body[data-faction="1"]{--field-accent:#efa08d;--field-trim:#c8a47d;--field-dark:#42272a;--field-panel:#372125f2;--field-button:#5a3538}
body[data-faction] #game-ui :is(.battle-header,.player-status,.minimap-wrap,.personal-points-card,.siege-status,.hill-status,.alloutwar-status,.larvae-status,.war-feed,#objectives){background:var(--field-panel);border-color:var(--field-trim);border-top-color:var(--field-accent);transition:opacity .18s ease-out}
body[data-faction] #game-ui :is(#ability,#guard,#interact,#roster-button,#menu-button){background:var(--field-button);border-color:var(--field-trim);color:#f6ebcb}
#game-ui .battle-header{box-shadow:0 3px 0 #07171c70;border-bottom-width:3px}
body[data-faction="0"] #game-ui .player-status{border-left:3px solid var(--field-accent);border-radius:3px 12px 3px 12px}
body[data-faction="1"] #game-ui .player-status{border-right:3px solid var(--field-accent);border-radius:13px 3px 13px 3px}
#game-ui .class-label{color:var(--field-accent);letter-spacing:.08em}
.hud-occluded{opacity:.17!important;transition:opacity .18s ease-out}
.kill-confirmations{top:174px;max-width:min(380px,76vw)}.kill-confirmation{background:var(--field-dark);border-color:var(--field-accent);text-shadow:0 1px 2px #000}
.callin-hud{position:absolute;right:18px;bottom:86px;z-index:26;pointer-events:auto;touch-action:none;width:238px;animation:callin-arrive .3s ease-out}
.callin-hud[hidden]{display:none}
.callin-open{width:100%;min-height:68px;padding:9px;display:flex;align-items:center;gap:10px;text-align:left;border:2px solid var(--field-accent);border-radius:9px;background:var(--field-dark);color:#fff1ca;box-shadow:0 3px 12px #0008,inset 0 -3px var(--field-trim);touch-action:none}
.callin-open .callin-badge{display:grid;place-items:center;flex:0 0 36px;height:40px;border:1px solid var(--field-trim);border-radius:5px;font:800 27px system-ui;color:var(--field-accent)}
.callin-copy{display:grid;gap:2px}.callin-copy em{font:700 9px system-ui;letter-spacing:.12em;color:var(--field-accent);font-style:normal}.callin-copy b{font:800 15px system-ui}.callin-copy small{font:700 11px system-ui;color:#e0d2ac}.callin-open:disabled{opacity:.65}
body[data-battle-controls="touch"] .callin-hud{right:12px;bottom:calc(var(--thumb-row) + var(--phone-bottom,0px) + 120px);width:min(192px,49vw)}
body[data-battle-controls="touch"] .callin-open{min-height:62px;padding:7px;gap:7px}body[data-battle-controls="touch"] .callin-copy b{font-size:13px}body[data-battle-controls="touch"] .callin-copy small{font-size:10px}
.watching-friends .callin-hud,.respawning .callin-hud,.starting .callin-hud{display:none}
.war-callin{border-left:3px solid var(--field-accent);font-weight:700}
body[data-battle-controls="touch"] #war-feed.has-callin{display:block!important;left:8px;right:auto;top:calc(60px + env(safe-area-inset-top,0px));width:min(260px,calc(100vw - 112px));padding:5px;pointer-events:none}
body[data-battle-controls="touch"] #war-feed.has-callin .war-feed-title,body[data-battle-controls="touch"] #war-feed.has-callin>small,body[data-battle-controls="touch"] #war-feed.has-callin .war-row:not(.war-callin),body[data-battle-controls="touch"] #war-feed.has-callin .war-callin~.war-callin{display:none}
body[data-battle-controls="touch"] .war-callin{font-size:10px;line-height:1.35}
@media(max-width:600px){.kill-confirmations{top:100px;max-width:76vw}.kill-confirmation{font-size:12px}}
@keyframes callin-arrive{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hud-occluded{transition:none}.callin-hud{animation:none}}
.callin-workshop{position:absolute;left:12px;top:110px;z-index:40;max-width:250px;padding:8px;border:1px dashed #c9ae79;background:#132c32f0;color:#ede1ba;font:11px system-ui;pointer-events:auto}.callin-workshop p{font-size:11px}.callin-workshop div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.callin-workshop button{font-size:11px;padding:8px}.callin-workshop small{display:block;margin-top:8px}

.callin-copy{min-width:0}.callin-copy b{overflow-wrap:normal;line-height:1.12}.callin-open[data-callin="bombardment"]{border-width:3px}.callin-open[data-callin="bombardment"] .callin-copy em{color:#ffe1a0}
