@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(59,130,246,.5)}50%{box-shadow:0 0 40px rgba(59,130,246,.8)}}@keyframes slide-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-slide-in{animation:slide-in .5s ease-out}.animate-fade-in{animation:fade-in .3s ease-out}.animate-scale-in{animation:scale-in .3s ease-out}.animate-bounce-in{animation:bounce-in .6s ease-out}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:1000px 100%}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.4)}.loading-dots:after{content:"";animation:dots 1.5s steps(4) infinite}@keyframes dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.loading-spinner{border-radius:50%;border:3px solid rgba(59,130,246,.1);border-top-color:#3b82f6;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.transition-all{transition:all .3s ease}.transition-colors{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.transition-transform{transition:transform .3s ease}.transition-opacity{transition:opacity .3s ease}.stagger-item{opacity:0;animation:slide-in .5s ease-out forwards}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.glass-effect{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-effect-dark{background:rgba(0,0,0,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.gradient-shift{background:linear-gradient(270deg,#3b82f6,#8b5cf6,#ec4899,#3b82f6);background-size:400% 400%;animation:gradient-shift 10s ease infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.btn-interactive{position:relative;overflow:hidden;transition:all .3s ease}.btn-interactive:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-interactive:active:before{width:300px;height:300px}.card-interactive{transition:all .3s ease;position:relative;overflow:hidden}.card-interactive:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.card-interactive:hover:before{left:100%}.notification-slide-in{animation:notification-slide .3s ease-out}@keyframes notification-slide{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .6s ease}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.text-gradient-animate{background:linear-gradient(270deg,#3b82f6,#8b5cf6,#ec4899,#3b82f6);background-size:400% 400%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 8s ease infinite}.progress-animated{position:relative;overflow:hidden}.progress-animated:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@media (prefers-reduced-motion:reduce){.animate-bounce-in,.animate-fade-in,.animate-float,.animate-pulse-glow,.animate-scale-in,.animate-shimmer,.animate-slide-in,.gradient-shift,.text-gradient-animate{animation:none}.hover-glow,.hover-lift,.hover-rotate,.hover-scale,.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition:none}}