/* Battle overlays stay small, deliberate, and inexpensive to composite. */
body.battle-mode #embers{display:none!important}
.battle-mode .war-hud,.battle-mode .war-context,.battle-mode .war-overview,.battle-mode .war-level,.battle-mode .war-warmup,.battle-mode .war-fortify,.battle-mode .war-log,.battle-mode .route-alerts button{backdrop-filter:none;-webkit-backdrop-filter:none}
.war-skills{position:absolute;z-index:6;right:16px;bottom:16px;max-width:calc(100% - 128px);padding:9px;background:#0b101eea;border:1px solid #6c667b66;box-shadow:0 6px 22px #0005;contain:layout style}
.war-skills[hidden],.war-aim[hidden],.skill-key[hidden]{display:none!important}
.skill-dock-label{display:flex;justify-content:space-between;gap:24px;padding:0 1px 8px;font:7px var(--mono);letter-spacing:1.4px;color:#baa7bd}
.skill-dock-label>span{font-size:6px;letter-spacing:.8px;color:#7c8b9f}
.skill-dock-buttons{display:flex;gap:7px;align-items:stretch}
.skill-key{position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:3px;width:57px;min-width:44px;height:69px;padding:7px 4px 6px;overflow:hidden;border:1px solid #68748a55;background:#101828;color:#9ba4b5;touch-action:manipulation;transition:background .12s,border-color .12s}
.skill-key svg{width:24px;height:24px;color:var(--skill);opacity:.55}
.skill-key>b{font-size:8px;font-weight:500;line-height:1.1;letter-spacing:.1px}
.skill-key>small{font:8px var(--mono);color:#8393a9;line-height:1.1}
.skill-key>i{position:absolute;bottom:0;left:0;height:2px;background:var(--skill);opacity:.65;pointer-events:none}
.skill-key.ready{border-color:var(--skill);background:#192333;color:#f0e4da}
.skill-key.ready svg{opacity:1}
.skill-key.ready>small{color:var(--skill)}
.skill-key.armed{border-color:#fff0cf;background:#35313a;outline:1px solid #fff0cf;outline-offset:2px}
.skill-key.armed svg{color:#fff0cf}
.skill-key:focus-visible{outline:2px solid #fff0cf;outline-offset:3px}
.skill-key:disabled{opacity:.5;cursor:default}
.war-aim{position:absolute;z-index:8;right:16px;bottom:124px;width:365px;max-width:calc(100% - 32px);padding:15px 17px 12px;border:1px solid color-mix(in srgb,var(--skill,#caaf8c) 65%,#172434);border-left:3px solid var(--skill,#caaf8c);background:#0b1423f5;box-shadow:0 6px 20px #0005;contain:layout style}
.aim-heading{display:flex;gap:10px;align-items:center}
.aim-heading>svg{width:30px;height:30px;color:var(--skill,#d7c49b);flex-shrink:0}
.aim-heading>div{flex:1}
.aim-heading span{display:block;font:7px var(--mono);letter-spacing:1.1px;color:#a994a7;text-transform:uppercase}
.aim-heading h3{font-size:19px;line-height:1.25;color:#f4e6d9;margin:4px 0 0}
.aim-heading>button{font-size:22px;line-height:1;width:36px;height:36px;min-width:36px;color:#c0bcc8;border:1px solid #8795ae55}
.war-aim>p{font-size:11px;line-height:1.65;color:#bac5d5;margin:12px 0}
.aim-action{display:flex;gap:9px;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #5f708238}
.aim-action>b{font:7px var(--mono);letter-spacing:.5px;color:var(--skill,#d7c49b);line-height:1.5}
.aim-count{font:8px var(--mono);color:#a0acbf;white-space:nowrap}
.aim-action>button{font-size:10px;min-height:35px;padding:7px 11px;background:#172435;border:1px solid #61758b55;color:#e8d9ca}
.war-instruction{bottom:30px;max-width:calc(100% - 600px);font-size:8px;pointer-events:none}
.war-context .context-top{position:sticky;top:-22px;z-index:2;background:#0c1524;padding-top:3px;padding-bottom:8px;margin-top:-3px}
.war-context .context-top>button{min-width:38px;min-height:38px;font-size:23px}
@media(max-width:800px){
 .war-skills{right:10px;bottom:12px;padding:7px;max-width:calc(100% - 110px)}
 .skill-key{width:49px;height:64px;gap:3px}.skill-dock-buttons{gap:5px}
 .skill-dock-label{font-size:6px;letter-spacing:1px;padding-bottom:7px}.skill-dock-label>span{font-size:5px}
 .war-aim{right:10px;bottom:114px;width:330px;padding:13px 14px 11px}
 .war-instruction{display:none}
 .war-level{bottom:118px}
}
@media(max-width:650px){
 .war-fortify{width:66px;height:73px;left:8px;bottom:calc(10px + env(safe-area-inset-bottom))}.war-fortify small{font-size:5px}.war-fortify b{font-size:7px}
 .war-skills{right:8px;bottom:calc(10px + env(safe-area-inset-bottom));max-width:calc(100% - 90px);padding:6px}
 .skill-key{width:44px;min-width:0;height:60px;padding:6px 3px 5px;flex:1}.skill-key svg{width:22px;height:22px}.skill-key>b{font-size:7px}.skill-key>small{font-size:7px}
 .skill-dock-buttons{gap:4px}.skill-dock-label{font-size:5px;letter-spacing:.7px;padding-bottom:6px;gap:10px}.skill-dock-label>span{font-size:4px;letter-spacing:.4px}
 .war-aim{left:8px;right:8px;bottom:calc(111px + env(safe-area-inset-bottom));width:auto;max-width:none;padding:13px 14px 11px}
 .aim-heading h3{font-size:19px}.war-aim>p{font-size:11px}.aim-action>b{font-size:6px}.aim-count{font-size:7px}
 .war-level{bottom:112px;left:9px;width:118px}.war-level>i{margin:6px 0}.war-level>span{font-size:5px}.war-level>button{font-size:6px}
 .war-context{bottom:calc(109px + env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 195px)}
 .war-context .context-top{top:-17px;padding-top:2px}
}
@media(max-width:370px){.skill-key{width:39px;height:57px}.skill-dock-buttons{gap:3px}.war-skills{padding:5px}.skill-key>b{font-size:6px}.skill-key svg{width:20px;height:20px}}
@media(max-height:480px) and (min-width:650px){
 .war-skills{right:10px;bottom:9px;padding:6px}.skill-key{width:45px;height:56px;padding:5px 3px}.skill-key svg{height:21px;width:21px}.skill-key>b,.skill-key>small{font-size:6px}.skill-dock-buttons{gap:4px}.skill-dock-label{padding-bottom:5px;font-size:5px}
 .war-aim{right:10px;bottom:96px;width:300px;padding:10px 13px}.war-aim>p{font-size:10px;margin:8px 0}.aim-heading h3{font-size:17px}.aim-heading>svg{width:25px;height:25px}.aim-heading>button{height:30px;min-width:30px;width:30px}.aim-action{padding-top:7px}.aim-action>button{min-height:29px;padding:5px 9px}.aim-count,.aim-action>b{font-size:6px}
 .war-level{bottom:94px}.war-context{max-height:calc(100% - 180px)}
}
@media(prefers-reduced-motion:reduce){.skill-key{transition:none}}

/* Seal status never hides stored charge or the selected target. */
.skill-key.sealed{border-color:#f4779c;background:#291826}.skill-key.sealed>small{color:#ffb2c9}
.aim-status{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.aim-status>b{font:7px var(--mono);letter-spacing:.3px;line-height:1.5;color:var(--skill,#d7c49b)}.aim-status>.aim-seal{color:#ffb2c9}.aim-action>button:disabled{opacity:.45;cursor:default}
@media(max-width:650px){.aim-action>button{min-height:42px}.aim-status>b{font-size:7px}.aim-status>.aim-count{font-size:8px}}
