/* LeafFauna battle FX — leafactivity.com */
.lf-shake{animation:lf-shake .35s cubic-bezier(.36,.07,.19,.97)}
.lf-shake-big{animation:lf-shake 0.55s cubic-bezier(.36,.07,.19,.97);--lf-amp:14px}
@keyframes lf-shake{10%,90%{transform:translate(calc(var(--lf-amp,6px)*-.3),1px)}20%,80%{transform:translate(calc(var(--lf-amp,6px)*.6),-2px)}30%,50%,70%{transform:translate(calc(var(--lf-amp,6px)*-1),2px) rotate(-.5deg)}40%,60%{transform:translate(var(--lf-amp,6px),-1px) rotate(.5deg)}}
.lf-flash{position:fixed;inset:0;pointer-events:none;z-index:9999;animation:lf-flash .25s ease-out forwards}
@keyframes lf-flash{from{opacity:.75}to{opacity:0}}
.lf-card-hit{animation:lf-cardhit .3s ease-out}
@keyframes lf-cardhit{0%{filter:brightness(3) saturate(0);transform:scale(.94)}100%{filter:none;transform:none}}
.lf-dmg{position:fixed;z-index:10000;pointer-events:none;font:900 34px/1 system-ui,sans-serif;color:#fff;-webkit-text-stroke:2px #3a0a00;text-shadow:0 3px 0 #3a0a00;animation:lf-dmg 0.9s cubic-bezier(.2,.9,.3,1) forwards;transform:translate(-50%,-50%)}
.lf-dmg.crit{font-size:50px;color:#ffd23a}
.lf-dmg.block{color:#9fd8ff;font-size:28px}
.lf-dmg.heal{color:#7dff8a}
@keyframes lf-dmg{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}15%{transform:translate(-50%,-90%) scale(1.35);opacity:1}35%{transform:translate(-50%,-110%) scale(1)}100%{transform:translate(calc(-50% + var(--dx,0px)),-260%) scale(.9);opacity:0}}
.lf-spark{position:fixed;width:8px;height:8px;border-radius:50%;pointer-events:none;z-index:9998;background:#fff6c0;box-shadow:0 0 8px #ffb400;animation:lf-spark .5s ease-out forwards}
@keyframes lf-spark{to{transform:translate(var(--sx),var(--sy)) scale(0);opacity:0}}
.lf-ko{animation:lf-ko 1.1s cubic-bezier(.5,0,.8,.4) forwards;pointer-events:none}
@keyframes lf-ko{0%{transform:none}15%{transform:translateY(-30px) rotate(-8deg) scale(1.05);filter:brightness(2)}100%{transform:translate(120px,420px) rotate(160deg) scale(.6);opacity:0;filter:grayscale(1)}}
.lf-ko-label{position:fixed;z-index:10001;left:50%;top:40%;transform:translate(-50%,-50%);font:900 72px system-ui;color:#ff3b30;-webkit-text-stroke:3px #200;pointer-events:none;animation:lf-kol 1.2s ease-out forwards}
@keyframes lf-kol{0%{transform:translate(-50%,-50%) scale(3);opacity:0}20%{transform:translate(-50%,-50%) scale(1);opacity:1}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.lf-shake,.lf-shake-big,.lf-ko,.lf-card-hit{animation-duration:.01s}}
