@keyframes fadeInUp { 0% { opacity: 0; transform: translateY(40px); } 100% { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } .animate-fadeInUp { animation: fadeInUp 1s ease-out forwards; } .animate-fadeIn { animation: fadeIn 2s ease-in-out forwards; } .fade-delay-1 { animation-delay: 0.3s; } .fade-delay-2 { animation-delay: 0.6s; } .fade-delay-3 { animation-delay: 0.9s; } .glow { animation: glowPulse 2s ease-in-out infinite alternate; } @keyframes glowPulse { 0% { box-shadow: 0 0 5px rgba(147, 51, 234, 0.2); } 100% { box-shadow: 0 0 15px rgba(168, 85, 247, 0.6); } } .progress-fill { height: 8px; background: linear-gradient(to right, #c084fc, #a78bfa); animation: fillBar 2s ease forwards; } @keyframes fillBar { from { width: 0; } to { width: inherit; } }