@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}.ripple{position:absolute;border-radius:50%;background:rgba(34,197,94,.3);animation:ripple .8s cubic-bezier(.4,0,.2,1);pointer-events:none}@keyframes elastic-bounce{0%{transform:scale(1)}30%{transform:scale(1.15)}50%{transform:scale(.95)}70%{transform:scale(1.05)}to{transform:scale(1)}}.animate-elastic-bounce{animation:elastic-bounce .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes glow-pulse{0%,to{box-shadow:0 0 10px rgba(34,197,94,.2),0 0 20px rgba(34,197,94,.1)}50%{box-shadow:0 0 20px rgba(34,197,94,.4),0 0 40px rgba(34,197,94,.2)}}.animate-glow-pulse{animation:glow-pulse 4s ease-in-out infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 50%,transparent);background-size:1000px 100%}.shimmer,.shimmer-dark{animation:shimmer 2s infinite}.shimmer-dark{background:linear-gradient(90deg,transparent,rgba(255,255,255,.05) 50%,transparent);background-size:1000px 100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradient-shift 3s ease infinite}@keyframes rotate-3d{0%{transform:perspective(1000px) rotateY(0deg)}to{transform:perspective(1000px) rotateY(1turn)}}.animate-rotate-3d{animation:rotate-3d 10s linear infinite}@keyframes scale-in{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.animate-scale-in{animation:scale-in .3s ease-out}@keyframes slide-in-bottom{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in-bottom{animation:slide-in-bottom .4s ease-out}@keyframes slide-in-top{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in-top{animation:slide-in-top .4s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in,.animate-fadeIn{animation:fade-in .5s ease-in}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up .4s cubic-bezier(.16,1,.3,1)}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}@keyframes pulse-enhanced{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.animate-pulse-enhanced{animation:pulse-enhanced 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}75%{transform:scale(1.05)}}.animate-heartbeat{animation:heartbeat 1.2s ease-in-out infinite}@keyframes fire-glow{0%,to{box-shadow:0 0 10px rgba(249,115,22,.5),0 0 20px rgba(249,115,22,.3)}50%{box-shadow:0 0 15px rgba(249,115,22,.7),0 0 30px rgba(249,115,22,.5)}}.animate-fire-glow{animation:fire-glow 2s ease-in-out infinite}@keyframes success-ping{0%{transform:scale(1);opacity:1}50%,to{transform:scale(1.2);opacity:0}}.animate-success-ping{animation:success-ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.animate-bounce-in{animation:bounce-in .6s ease-out}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.animate-wiggle{animation:wiggle .5s ease-in-out}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.animate-sparkle{animation:sparkle 1.5s ease-in-out infinite}@keyframes card-lift{0%{transform:perspective(1000px) translateY(0) rotateX(0deg) rotateY(0deg)}to{transform:perspective(1000px) translateY(-10px) rotateX(5deg) rotateY(2deg)}}.animate-card-lift:hover{animation:card-lift .3s ease-out forwards}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.animate-confetti-fall{animation:confetti-fall 2s linear infinite}@keyframes pulse-slow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.animate-pulse-slow{animation:pulse-slow 3s ease-in-out infinite}@keyframes bounce-x{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}.animate-bounce-x{animation:bounce-x 1s ease-in-out infinite}@keyframes breathing{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.95}}.animate-breathing{animation:breathing 3s ease-in-out infinite}@keyframes energy-pulse{0%,to{box-shadow:0 0 20px rgba(34,197,94,.6),0 0 40px rgba(34,197,94,.4),0 0 60px rgba(34,197,94,.2);transform:scale(1)}50%{box-shadow:0 0 30px rgba(34,197,94,.9),0 0 60px rgba(34,197,94,.6),0 0 90px rgba(34,197,94,.3);transform:scale(1.02)}}.animate-energy-pulse{animation:energy-pulse 2s ease-in-out infinite}@keyframes particle-float{0%{transform:translateY(0) translateX(0) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100px) translateX(20px) rotate(1turn);opacity:0}}.animate-particle-float{animation:particle-float 4s ease-in-out infinite}@keyframes gradient-wave{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient-wave{background-size:200% 200%;animation:gradient-wave 4s ease infinite}@keyframes portal-open{0%{transform:scale(0) rotate(0deg);opacity:0;filter:blur(20px)}50%{transform:scale(1.1) rotate(180deg);opacity:.8;filter:blur(10px)}to{transform:scale(1) rotate(1turn);opacity:1;filter:blur(0)}}.animate-portal-open{animation:portal-open 1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes number-count{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.animate-number-count{animation:number-count .5s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes badge-bounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-5px) scale(1.05)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-3px) scale(1.02)}}.animate-badge-bounce{animation:badge-bounce 1.5s ease-in-out infinite}@keyframes orb-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.animate-orb-float{animation:orb-float 20s ease-in-out infinite}@keyframes grid-pulse{0%,to{opacity:.1}50%{opacity:.3}}.animate-grid-pulse{animation:grid-pulse 3s ease-in-out infinite}@keyframes energy-emanate{0%{transform:scale(0) rotate(0deg);opacity:1}to{transform:scale(2) rotate(1turn);opacity:0}}.animate-energy-emanate{animation:energy-emanate 1s ease-out forwards}@keyframes flash{0%,to{opacity:1}50%{opacity:.3}}.animate-flash{animation:flash .3s ease-in-out}@keyframes vibration{0%,to{transform:translate(0)}10%{transform:translate(-1px,1px)}20%{transform:translate(1px,-1px)}30%{transform:translate(-1px,-1px)}40%{transform:translate(1px,1px)}50%{transform:translate(-1px,1px)}60%{transform:translate(1px,-1px)}70%{transform:translate(-1px,-1px)}80%{transform:translate(1px,1px)}90%{transform:translate(-1px,1px)}}.animate-vibration{animation:vibration .5s ease-in-out infinite}@keyframes text-gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-text-gradient{background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:text-gradient-shift 3s linear infinite}