@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-2px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideInFromTop{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slideInFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .8s ease-out}.animate-fade-in-left{animation:fadeInLeft .8s ease-out}.animate-fade-in-right{animation:fadeInRight .8s ease-out}.animate-scale-in{animation:scaleIn .6s ease-out}.animate-float{animation:float 6s ease-in-out infinite}.animate-gradient-shift{animation:gradientShift 8s ease infinite;background-size:200% 200%}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%}.animate-rotate{animation:rotate 2s linear infinite}.animate-slide-in-top{animation:slideInFromTop .6s ease-out}.animate-slide-in-bottom{animation:slideInFromBottom .6s ease-out}.animate-stagger-1{animation-delay:.1s}.animate-stagger-2{animation-delay:.2s}.animate-stagger-3{animation-delay:.3s}.animate-stagger-4{animation-delay:.4s}.animate-stagger-5{animation-delay:.5s}.animate-stagger-6{animation-delay:.6s}.hover-lift{transition:var(--transition-normal)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:var(--transition-normal)}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:var(--transition-normal)}.hover-rotate:hover{transform:rotate(5deg)}.hover-glow{transition:var(--transition-normal)}.hover-glow:hover{box-shadow:var(--glow-sunset)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border-light);border-top:4px solid var(--accent-primary);border-radius:50%;animation:rotate 1s linear infinite}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:pulse 1.4s ease-in-out infinite both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}.gradient-animated{background:var(--gradient-sunset);background-size:200% 200%;animation:gradientShift 3s ease infinite}.gradient-text-animated{background:var(--gradient-sunset);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite}.parallax-slow,.parallax-medium,.parallax-fast{transform:translateZ(0);will-change:transform}.performance-optimized{will-change:transform,opacity;transform:translateZ(0)}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-on-scroll,.animate-on-scroll-left,.animate-on-scroll-right,.animate-on-scroll-scale{opacity:1;transform:none}}.animation-paused{animation-play-state:paused}.animation-running{animation-play-state:running}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.delay-700{animation-delay:.7s}.delay-1000{animation-delay:1s}.duration-75{animation-duration:75ms}.duration-100{animation-duration:.1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.duration-1000{animation-duration:1s}.ease-linear{animation-timing-function:linear}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-bounce{animation-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.ease-elastic{animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}
