@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes floatUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-up{animation:slideInUp .5s ease-out}.animate-slide-down{animation:slideInDown .5s ease-out}.animate-slide-left{animation:slideInLeft .5s ease-out}.animate-slide-right{animation:slideInRight .5s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-float-up{animation:floatUp .6s ease-out}.animate-spin-slow{animation:spin 2s linear infinite}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-stagger>*{animation:slideInUp .5s ease-out backwards}.animate-stagger>:first-child{animation-delay:.1s}.animate-stagger>:nth-child(2){animation-delay:.2s}.animate-stagger>:nth-child(3){animation-delay:.3s}.animate-stagger>:nth-child(4){animation-delay:.4s}.animate-stagger>:nth-child(5){animation-delay:.5s}.animate-stagger>:nth-child(n+6){animation-delay:.6s}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}.hover-glow{transition:box-shadow .3s ease-out}.hover-glow:hover{box-shadow:0 0 20px rgba(16,185,129,.5)}.hover-scale{transition:transform .2s ease-out}.hover-scale:hover{transform:scale(1.02)}.status-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.spinner{width:24px;height:24px;border:3px solid rgba(16,185,129,.1);border-top-color:#2f5bff;border-radius:50%;animation:spin .8s linear infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.smooth-color{transition:color .2s ease-out,background-color .2s ease-out}