@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-scale{animation:fadeInScale .4s ease-out}.animate-slide-in-right{animation:slideInRight .5s ease-out}.animate-pulse-slow{animation:pulse 2s ease-in-out infinite}.animate-bounce-subtle{animation:bounce 1s ease-in-out}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.transition-all-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-transform-smooth{transition:transform .3s cubic-bezier(.4,0,.2,1)}.transition-opacity-smooth{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .2s ease-in-out}.hover-lift:hover{transform:translateY(-2px)}.hover-scale{transition:transform .2s ease-in-out}.hover-scale:hover{transform:scale(1.02)}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}