@keyframes ae-sparkles{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.ae-anim-sparkles{animation:ae-sparkles 2s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(234,179,8,.7))}@keyframes ae-impact{0%{opacity:0;transform:scale(.4);filter:brightness(3)}60%{opacity:1;transform:scale(1.15);filter:brightness(2)}to{opacity:0;transform:scale(1);filter:brightness(1)}}.ae-anim-impact{animation:ae-impact .5s ease-out forwards}@keyframes ae-ripple{0%{box-shadow:0 0 #22c55e99}to{box-shadow:0 0 0 80px #22c55e00}}.ae-anim-ripple{border-radius:50%;animation:ae-ripple 1.5s ease-out infinite}@keyframes ae-energy{0%,to{transform:scale(1);filter:drop-shadow(0 0 0px #22c55e)}50%{transform:scale(1.05);filter:drop-shadow(0 0 24px #22c55e)}}.ae-anim-energy{animation:ae-energy 1s ease-in-out infinite}@keyframes ae-fire{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.1) translateY(-4px)}}.ae-anim-fire{animation:ae-fire 2s ease-in-out infinite;filter:drop-shadow(0 -6px 12px rgba(249,115,22,.8))}@keyframes ae-ice{0%{opacity:0;transform:scale(.5) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 12px #93c5fd)}}.ae-anim-ice{animation:ae-ice 1.5s ease-out forwards}@keyframes ae-grow{0%{transform:scaleY(0);transform-origin:bottom center}to{transform:scaleY(1);transform-origin:bottom center}}.ae-anim-grow{animation:ae-grow 2s ease-out forwards}@keyframes ae-star-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ae-anim-star-spin{animation:ae-star-spin 2s linear infinite;filter:drop-shadow(0 0 8px #facc15)}@keyframes ae-confetti{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100%) rotate(720deg);opacity:0}}.ae-anim-confetti{animation:ae-confetti 3s ease-in forwards}@keyframes ae-count{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}.ae-anim-count{animation:ae-count 1.5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ae-trophy{0%{opacity:0;transform:scale(.3) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 16px gold)}}.ae-anim-trophy{animation:ae-trophy 1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ae-speech-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}.ae-anim-speech-pop{animation:ae-speech-pop .3s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:bottom left}@keyframes ae-tap{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.ae-anim-tap{animation:ae-tap 1.5s ease-in-out infinite}@keyframes ae-graph{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}.ae-anim-graph{animation:ae-graph 1.5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ae-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ae-anim-sweep{background:linear-gradient(90deg,transparent,#22c55e,transparent);animation:ae-sweep .5s ease-out forwards}@keyframes ae-radar{0%{transform:scale(.3);opacity:1}to{transform:scale(2);opacity:0}}.ae-anim-radar{border:3px solid #22c55e;border-radius:50%;animation:ae-radar 2s ease-out infinite}@keyframes ae-type{0%{width:0}to{width:100%}}.ae-anim-type{display:inline-block;overflow:hidden;white-space:nowrap;border-right:3px solid currentColor;animation:ae-type 1.5s steps(30,end) forwards}.ae-enter-fade{animation:ae-fade-in .4s ease-out forwards}.ae-enter-slide-left{animation:ae-slide-left .5s ease-out forwards}.ae-enter-slide-right{animation:ae-slide-right .5s ease-out forwards}.ae-enter-slide-top{animation:ae-slide-top .5s ease-out forwards}.ae-enter-slide-bottom{animation:ae-slide-bottom .5s ease-out forwards}.ae-enter-scale{animation:ae-scale-in .4s cubic-bezier(.34,1.56,.64,1) forwards}.ae-enter-bounce{animation:ae-bounce .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ae-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ae-slide-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes ae-slide-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes ae-slide-top{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes ae-slide-bottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes ae-scale-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes ae-bounce{0%{opacity:0;transform:translateY(-30px) scale(.8)}60%{opacity:1;transform:translateY(8px) scale(1.05)}to{transform:translateY(0) scale(1)}}
