@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes cascadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulseBorder{0%,to{border-color:var(--border);box-shadow:0 0 0 0 transparent}50%{border-color:var(--primary);box-shadow:0 0 20px #2b62ef4d}}.animate-slide-in-left{animation:slideInFromLeft .3s ease-out}.animate-slide-in-right{animation:slideInFromRight .3s ease-out}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-cascade{animation:cascadeSlideUp .5s ease-out both}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-pulse-border{animation:pulseBorder 1s ease-in-out 2}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes float{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(-20px);opacity:.3}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulseGlow{0%,to{box-shadow:0 20px 60px -15px #0ea5e94d,0 0 0 1px #0ea5e91a}50%{box-shadow:0 25px 80px -15px #0ea5e980,0 0 0 1px #0ea5e933,0 0 40px #0ea5e94d}}@keyframes shimmerSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-gradient-shift{background-size:200% 200%;animation:gradientShift 3s ease infinite}.animate-pulse-glow{animation:pulseGlow 2s ease-in-out infinite}.shimmer-overlay{position:relative;overflow:hidden}.shimmer-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);transform:translate(-100%);animation:shimmerSweep 3s ease-in-out infinite}@keyframes soundWave{0%,to{height:40%}50%{height:100%}}.animate-sound-wave{animation:soundWave .8s ease-in-out infinite}@keyframes soundWaveLarge{0%,to{height:20px}50%{height:80px}}.animate-sound-wave-large{animation:soundWaveLarge .6s ease-in-out infinite}@keyframes floatParticle{0%,to{transform:translate(0) scale(1);opacity:.6}25%{transform:translate(10px,-20px) scale(1.1);opacity:.8}50%{transform:translate(-5px,-40px) scale(.9);opacity:.4}75%{transform:translate(-15px,-20px) scale(1.05);opacity:.7}}.animate-float-particle{animation:floatParticle 8s ease-in-out infinite}@keyframes textSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-text-slide-in{animation:textSlideIn .6s ease-out both}@keyframes backgroundPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.05)}}.animate-background-pulse{animation:backgroundPulse 4s ease-in-out infinite}@keyframes rotateShape{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-rotate-slow{animation:rotateShape 20s linear infinite}@keyframes iconBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.05)}}@keyframes iconPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes badgeCount{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes pulseSutle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes soundwave{0%,to{height:8px}50%{height:16px}}.animate-pulse-subtle{animation:pulseSutle 2s ease-in-out infinite}.animate-soundwave{animation:soundwave .6s ease-in-out infinite}@keyframes cardHover{0%{transform:translateY(0);box-shadow:0 1px 3px #0000001a}to{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}}.animate-icon-bounce{animation:iconBounce .6s ease-in-out}.animate-icon-pulse{animation:iconPulse 2s ease-in-out infinite}.animate-icon-spin{animation:iconSpin 1s ease-in-out}.animate-badge-count{animation:badgeCount .3s ease-in-out}.hover-lift{transition:all .3s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}
