@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slide-in-right{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-left{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fade-in-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{50%{border-color:transparent}}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,transparent 0,hsla(0,0%,100%,.1) 50%,transparent);background-size:1000px 100%}.animate-slide-in-right{animation:slide-in-right .5s ease-out}.animate-slide-in-left{animation:slide-in-left .5s ease-out}.animate-fade-in-up{animation:fade-in-up .6s ease-out}.animate-scale-in{animation:scale-in .3s ease-out}.animate-spin-slow{animation:spin-slow 20s linear infinite}.animate-bounce-soft{animation:bounce-soft 2s ease-in-out infinite}.animate-gradient-shift{background:linear-gradient(-45deg,#3b82f6,#10b981,#8b5cf6,#ec4899);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.animate-typing{overflow:hidden;border-right:2px solid;white-space:nowrap;animation:typing 3.5s steps(40),blink .75s step-end infinite}.transition-all-300{transition:all .3s ease}.transition-transform-300{transition:transform .3s ease}.transition-opacity-300{transition:opacity .3s ease}.transition-colors-300{transition:background-color .3s ease,border-color .3s ease,color .3s ease}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.5)}.loading-dots:after{content:"";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@keyframes progress-bar{0%{width:0}to{width:var(--progress-width)}}.progress-bar-animated{animation:progress-bar 1s ease-out}.wave{animation:wave-animation 2.5s infinite;transform-origin:70% 70%;display:inline-block}@keyframes wave-animation{0%{transform:rotate(0deg)}10%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}60%{transform:rotate(0deg)}to{transform:rotate(0deg)}}.stagger-delay-1{animation-delay:.1s}.stagger-delay-2{animation-delay:.2s}.stagger-delay-3{animation-delay:.3s}.stagger-delay-4{animation-delay:.4s}.stagger-delay-5{animation-delay:.5s}.scroll-fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}