@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes growRight{0%{width:0}to{width:var(--target-width,100%)}}.animate-fadeIn{animation:fadeIn 1s ease-in-out}.animate-slideUp{animation:slideUp .5s ease-out}.animate-float{animation:float 3s ease-in-out infinite}.animate-growRight{animation:growRight 1s ease-out forwards}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}@keyframes tilt{0%,50%,to{transform:rotate(0deg)}25%{transform:rotate(2deg)}75%{transform:rotate(-2deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes gradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-float{animation:float 6s ease-in-out infinite}.animate-tilt{animation:tilt 10s ease-in-out infinite}.animate-pulse-slow{animation:pulse 3s ease-in-out infinite}.animate-gradient{animation:gradientMove 15s ease infinite;background-size:200% 200%}.animate-shimmer{animation:shimmer 2s linear infinite;background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.2) 50%,rgba(255,255,255,0));background-size:1000px 100%}.hover-lift{transition:transform .3s ease-in-out}.hover-lift:hover{transform:translateY(-5px)}.hover-glow{transition:box-shadow .3s ease-in-out}.hover-glow:hover{box-shadow:0 0 20px rgba(99,102,241,.4)}.scale-on-hover{transition:transform .3s ease-in-out}.scale-on-hover:hover{transform:scale(1.05)}.blur-on-hover{transition:filter .3s ease-in-out}.blur-on-hover:hover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}