/* Finite combat animations only; the map stays quiet between actions. */
#battle-effects,#battle-effects *{pointer-events:none}
.marching-unit{animation:troopMarch .8s cubic-bezier(.3,.1,.3,1) var(--delay) both}
.march-route{animation:marchRoute .9s ease-out both}
.claim-wipe{animation:claimWipe .38s cubic-bezier(.2,.7,.2,1) .69s both}
.claim-border{animation:claimBorder .9s ease-out .7s both}
.battle-impact{animation:battleImpact .42s ease-out .65s both;transform-origin:0 0}
.claim-flag{animation:claimFlag .8s ease-out .85s both;transform-origin:0 8px}
.claim-label{font:900 15px Nunito,sans-serif;fill:#fff6d8;stroke:#26434e;stroke-width:3px;paint-order:stroke;letter-spacing:.7px;animation:claimLabel .85s ease-out .78s both}
.battle-lost .claim-label{fill:#ffd3ba}
.battle-repelled .battle-impact{opacity:.9}
@keyframes troopMarch{0%{transform:translate(var(--start-x),var(--start-y)) scale(.6);opacity:0}12%{opacity:1}52%{transform:translate(var(--mid-x),var(--mid-y)) scale(1.12);opacity:1}85%{opacity:1}100%{transform:translate(var(--end-x),var(--end-y)) scale(.8);opacity:0}}
@keyframes marchRoute{0%{opacity:0;stroke-dashoffset:18}20%{opacity:.6}75%{opacity:.5}100%{opacity:0;stroke-dashoffset:0}}
@keyframes claimWipe{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes claimBorder{0%{opacity:0}15%{opacity:1;stroke-width:5}100%{opacity:0;stroke-width:1}}
@keyframes battleImpact{0%{transform:scale(.2) rotate(-12deg);opacity:0}20%{transform:scale(1.1) rotate(5deg);opacity:1}100%{transform:scale(1.5) rotate(12deg);opacity:0}}
@keyframes claimFlag{0%{transform:translateY(-14px) scale(.7);opacity:0}22%{transform:translateY(2px) scale(1.12);opacity:1}40%{transform:translateY(0) scale(1);opacity:1}75%{opacity:1}100%{transform:translateY(0) scale(1);opacity:0}}
@keyframes claimLabel{0%{transform:translateY(5px);opacity:0}20%{transform:translateY(0);opacity:1}75%{opacity:1}100%{transform:translateY(-8px);opacity:0}}
@media(prefers-reduced-motion:reduce){#battle-effects *{animation:none!important}.marching-unit,.march-route,.battle-impact,.claim-flag,.claim-label,.claim-cover,.claim-wipe{display:none}}
