.ev-glow{z-index:-1;pointer-events:none;background:radial-gradient(55% 60% at 50% 55%,#ff7a1a38,#7828a014 50%,#0000 70%);animation:5s ease-in-out infinite ev-breathe;position:absolute;inset:0 -15%}.ev-bat{color:#ff9a3c;opacity:.75;filter:drop-shadow(0 0 8px #ff7a1acc);pointer-events:none;animation-name:ev-drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite;position:absolute}.ev-bat svg{transform-origin:50% 40%;animation:.35s ease-in-out infinite alternate ev-flap}.ev-dot{background:#ff7a1a;border-radius:999px;width:.5rem;height:.5rem;animation:1.8s ease-out infinite ev-pulse;box-shadow:0 0 #ff7a1ab3}.ev-step{opacity:0;animation:.6s ease-out forwards ev-in}@keyframes ev-breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes ev-drift{0%,to{transform:translate(0)rotate(-6deg)}25%{transform:translate(10px,-8px)rotate(4deg)}50%{transform:translate(-6px,-14px)rotate(-2deg)}75%{transform:translate(-12px,-4px)rotate(6deg)}}@keyframes ev-flap{0%{transform:scaleY(1)}to{transform:scaleY(.72)}}@keyframes ev-pulse{0%{box-shadow:0 0 #ff7a1ab3}to{box-shadow:0 0 0 10px #ff7a1a00}}@keyframes ev-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ev-glow,.ev-bat,.ev-bat svg,.ev-dot{animation:none}.ev-step{opacity:1;animation:none}}
