@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 8s ease infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes pulse-glow{0%{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}to{opacity:.4;transform:scale(1)}}.animate-pulse-glow{animation:pulse-glow 4s ease-in-out infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .6s ease forwards}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scale-in .5s ease forwards}@keyframes border-glow{0%{box-shadow:0 0 5px rgba(168,85,247,.3)}50%{box-shadow:0 0 20px rgba(168,85,247,.6)}to{box-shadow:0 0 5px rgba(168,85,247,.3)}}.animate-border-glow{animation:border-glow 3s ease-in-out infinite}.hover-lift{transition:transform .3s ease}.hover-lift:hover{transform:translateY(-5px)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(168,85,247,.5)}