@keyframes float-slow{0%,to{transform:translate(0) scale(1);opacity:.6}25%{transform:translate(20px,-30px) scale(1.05);opacity:.8}50%{transform:translate(-10px,-50px) scale(1.1);opacity:.7}75%{transform:translate(-30px,-20px) scale(1.02);opacity:.9}}.animate-float-slow{animation:float-slow 20s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.animate-shimmer{background-size:200% auto;animation:shimmer 3s linear infinite}@keyframes stagger-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-stagger-in{animation:stagger-in .6s ease-out forwards;opacity:0}@keyframes glow-pulse{0%,to{box-shadow:0 0 4px currentColor,0 0 8px currentColor}50%{box-shadow:0 0 8px currentColor,0 0 16px currentColor,0 0 24px currentColor}}.animate-glow-pulse{animation:glow-pulse 2s ease-in-out infinite}@keyframes pop{0%{transform:scale(.95);opacity:0}70%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.animate-pop{animation:pop .3s ease-out forwards}@keyframes count-pulse{0%{transform:scale(1)}50%{transform:scale(1.15);color:var(--color-coral)}to{transform:scale(1)}}.animate-count{animation:count-pulse .3s ease-out}@keyframes damage-flash{0%,to{filter:brightness(1)}50%{filter:brightness(2) sepia(1) hue-rotate(-50deg)}}.damage-flash{animation:damage-flash .2s ease-out}@keyframes death-fade{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:0;transform:scale(.5)}}.death-fade{animation:death-fade .5s ease-out forwards}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(1.5)}}.float-up{animation:float-up 1s ease-out forwards}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px var(--color-matrix-green)}50%{box-shadow:0 0 20px var(--color-matrix-green),0 0 30px var(--color-matrix-green)}}.pulse-glow{animation:pulse-glow 2s infinite}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.shake{animation:shake .3s ease-in-out}@keyframes attack{0%{transform:translateX(0)}50%{transform:translateX(20px)}to{transform:translateX(0)}}.attack{animation:attack .3s ease-out}@keyframes attack-left{0%{transform:translateX(0)}50%{transform:translateX(-20px)}to{transform:translateX(0)}}.attack-left{animation:attack-left .3s ease-out}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.blink{animation:blink 1s step-start infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spin-slow{animation:spin-slow 3s linear infinite}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.bounce-in{animation:bounce-in .5s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slide-up .3s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:fade-in .3s ease-out}@keyframes countdown-pulse{0%{transform:scale(1);text-shadow:0 0 0 transparent}50%{transform:scale(1.1);text-shadow:0 0 20px var(--color-gold)}to{transform:scale(1);text-shadow:0 0 0 transparent}}.countdown-pulse{animation:countdown-pulse 1s ease-in-out}@keyframes health-drain{0%{background-position:0 0}to{background-position:-100px 0}}.health-drain{animation:health-drain .5s linear}@keyframes victory{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(-5deg)}75%{transform:translateY(-10px) rotate(5deg)}}.victory{animation:victory .5s ease-in-out infinite}