@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes expandWidth{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse-slow{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.05);opacity:.9}to{transform:scale(1);opacity:.7}}@keyframes ping-slow{0%{transform:scale(.8);opacity:.8}50%{transform:scale(1.5);opacity:.4}to{transform:scale(.8);opacity:.8}}@keyframes float-slow{0%{transform:translateY(0) translateX(0)}25%{transform:translateY(-5px) translateX(5px)}50%{transform:translateY(-10px) translateX(0)}75%{transform:translateY(-5px) translateX(-5px)}to{transform:translateY(0) translateX(0)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .8s ease-in-out forwards}.animate-slideInUp{animation:slideInUp .8s ease-out forwards}.animate-expandWidth{animation:expandWidth .8s ease-in-out forwards;animation-delay:.3s}.animate-float{animation:float 5s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-pulse-slow{animation:pulse-slow 6s ease-in-out infinite}.animate-ping-slow{animation:ping-slow 4s ease-in-out infinite}.animate-float-slow{animation:float-slow 8s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 20s linear infinite}.perspective-effect{perspective:1000px}.transform-style-3d{transform-style:preserve-3d}.animate-shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.3) 50%,hsla(0,0%,100%,0));background-size:200% 100%;animation:shimmer 3s infinite}.animate-appear{animation:appear .8s cubic-bezier(.2,.8,.2,1) forwards}.backdrop-blur-transition{transition:-webkit-backdrop-filter .5s ease-in-out;transition:backdrop-filter .5s ease-in-out;transition:backdrop-filter .5s ease-in-out,-webkit-backdrop-filter .5s ease-in-out}.hover-lift{transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.1)}.hover-border{position:relative}.hover-border:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:2px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);transition:width .3s ease-in-out}.hover-border:hover:after{width:100%}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{transition:opacity .5s,transform .5s}.page-transition-enter-active,.page-transition-exit{opacity:1;transform:translateY(0)}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .5s,transform .5s}.dark-mode-transition{transition:background-color .5s ease-in-out,color .5s ease-in-out,border-color .5s ease-in-out}.hover-3d{transition:transform .3s ease;transform-style:preserve-3d}.hover-3d:hover{transform:translateY(-5px) rotateX(5deg) rotateY(5deg)}.gradient-text-animated{background-size:200% 200%;background-image:linear-gradient(45deg,#00ff9d,rgba(0,255,157,.5) 25%,#00ff9d 50%,rgba(0,255,157,.5) 75%,#00ff9d);-webkit-background-clip:text;background-clip:text;color:transparent;animation:gradient-shift 8s ease infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}