@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(0.9)}100%{transform:scale(1)}}@keyframes slideInUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes rotate360{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:0.8}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}@keyframes glow{0%,100%{box-shadow:0 0 5px rgba(102,126,234,0.5)}50%{box-shadow:0 0 20px rgba(102,126,234,0.8)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,100%{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-fade-in-up{animation:fadeInUp 0.6s ease-out}.animate-fade-in-left{animation:fadeInLeft 0.6s ease-out}.animate-fade-in-right{animation:fadeInRight 0.6s ease-out}.animate-scale-in{animation:scaleIn 0.5s ease-out}.animate-bounce-in{animation:bounceIn 0.8s ease-out}.animate-slide-in-up{animation:slideInUp 0.5s ease-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-wiggle{animation:wiggle 0.5s ease-in-out}.animate-rotate{animation:rotate360 1s linear infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.delay-100{animation-delay:0.1s}.delay-200{animation-delay:0.2s}.delay-300{animation-delay:0.3s}.delay-400{animation-delay:0.4s}.delay-500{animation-delay:0.5s}.hover-lift{transition:transform 0.3s ease,box-shadow 0.3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 12px 40px rgba(0,0,0,0.15)}.hover-scale{transition:transform 0.3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-rotate{transition:transform 0.3s ease}.hover-rotate:hover{transform:rotate(5deg)}.gradient-text{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass-effect{background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,0.2)}.neon-glow{text-shadow:0 0 10px rgba(102,126,234,0.8),0 0 20px rgba(102,126,234,0.6),0 0 30px rgba(102,126,234,0.4)}.shadow-soft{box-shadow:0 8px 32px rgba(0,0,0,0.1)}.shadow-medium{box-shadow:0 12px 48px rgba(0,0,0,0.15)}.shadow-strong{box-shadow:0 20px 60px rgba(0,0,0,0.25)}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:rotate360 1s linear infinite}.loading-dots{display:flex;gap:8px}.loading-dots span{width:12px;height:12px;background:#667eea;border-radius:50%;animation:pulse 1.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:0.2s}.loading-dots span:nth-child(3){animation-delay:0.4s}@keyframes progress{from{width:0}to{width:100%}}.progress-bar-animated{animation:progress 2s ease-out}.smooth-transition{transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.smooth-transition-slow{transition:all 0.6s cubic-bezier(0.4,0,0.2,1)}@keyframes wave{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.wave-effect{position:relative;overflow:hidden}.wave-effect::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:wave 2s infinite}@keyframes particle-float{0%,100%{transform:translate(0,0);opacity:0}10%{opacity:1}90%{opacity:1}100%{transform:translate(var(--tx),var(--ty));opacity:0}}.particle{position:absolute;width:4px;height:4px;background:currentColor;border-radius:50%;animation:particle-float 3s ease-out infinite}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink{50%{opacity:0}}.typing-effect{overflow:hidden;white-space:nowrap;animation:typing 3s steps(40,end)}.cursor-blink{animation:blink 1s step-end infinite}@media(max-width:768px){.animate-fade-in-up,.animate-fade-in-left,.animate-fade-in-right,.animate-scale-in,.animate-bounce-in{animation-duration:0.4s}.hover-lift:hover{transform:translateY(-4px)}.hover-scale:hover{transform:scale(1.02)}}[data-theme="dark"].glass-effect,body.dark-mode .glass-effect{background:rgba(30,41,59,0.3);border-color:rgba(148,163,184,0.2)}[data-theme="dark"].neon-glow,body.dark-mode .neon-glow{text-shadow:0 0 10px rgba(102,126,234,1),0 0 20px rgba(102,126,234,0.8),0 0 30px rgba(102,126,234,0.6)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}.card-entrance{animation:fadeInUp 0.6s ease-out backwards}.card-entrance:nth-child(1){animation-delay:0.1s}.card-entrance:nth-child(2){animation-delay:0.2s}.card-entrance:nth-child(3){animation-delay:0.3s}.card-entrance:nth-child(4){animation-delay:0.4s}.card-entrance:nth-child(5){animation-delay:0.5s}@keyframes sparkle{0%,100%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.sparkle{animation:sparkle 1.5s ease-in-out infinite}