@keyframes
shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.skeleton{animation:shimmer 2s infinite linear;background:linear-gradient(to right, #f1f5f9 4%, #e2e8f0 25%, #f1f5f9 36%);background-size:1000px 100%}@keyframes
pulse{0%,100%{opacity:1}50%{opacity:0.5}}.pulse{animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes
bounce{0%,100%{transform:translateY(-25%);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.bounce{animation:bounce 1s infinite}@keyframes
slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes
slideInLeft{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes
slideInUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes
slideInDown{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-right{animation:slideInRight 0.3s ease-out}.slide-in-left{animation:slideInLeft 0.3s ease-out}.slide-in-up{animation:slideInUp 0.3s ease-out}.slide-in-down{animation:slideInDown 0.3s ease-out}@keyframes
scaleIn{from{transform:scale(0.9);opacity:0}to{transform:scale(1);opacity:1}}.scale-in{animation:scaleIn 0.2s ease-out}@keyframes
rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.rotate{animation:rotate 1s linear infinite}@keyframes
fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes
fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp 0.4s ease-out}.fade-in-down{animation:fadeInDown 0.4s ease-out}.stagger-item{opacity:0;animation:fadeInUp 0.5s ease-out forwards}.stagger-item:nth-child(1){animation-delay:0.05s}.stagger-item:nth-child(2){animation-delay:0.1s}.stagger-item:nth-child(3){animation-delay:0.15s}.stagger-item:nth-child(4){animation-delay:0.2s}.stagger-item:nth-child(5){animation-delay:0.25s}.stagger-item:nth-child(6){animation-delay:0.3s}.stagger-item:nth-child(7){animation-delay:0.35s}.stagger-item:nth-child(8){animation-delay:0.4s}.stagger-item:nth-child(9){animation-delay:0.45s}.stagger-item:nth-child(10){animation-delay:0.5s}.stagger-item:nth-child(11){animation-delay:0.55s}.stagger-item:nth-child(12){animation-delay:0.6s}.hover-lift{transition:transform 0.3s ease, box-shadow 0.3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,0.15)}.hover-glow{transition:box-shadow 0.3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(102,126,234,0.4)}.hover-scale{transition:transform 0.3s ease}.hover-scale:hover{transform:scale(1.05)}.ripple{position:relative;overflow:hidden}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255, 255, 255, 0.5);transform:translate(-50%, -50%);transition:width 0.6s, height 0.6s}.ripple:active::after{width:300px;height:300px}@keyframes
gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}.gradient-animate{background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes
badgePulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,0.7)}70%{box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}}.badge-pulse{animation:badgePulse 2s infinite}@keyframes
typing{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}}.typing-indicator
span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#94a3b8;margin:0
2px;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:0.2s}.typing-indicator span:nth-child(3){animation-delay:0.4s}@keyframes
progressBar{0%{width:0%}}.progress-bar-animated{animation:progressBar 1.5s ease-out}@keyframes
shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{animation:shake 0.5s}.transition-all{transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.transition-fast{transition:all 0.15s ease}.transition-slow{transition:all 0.5s ease}.delay-100{animation-delay:0.1s}.delay-200{animation-delay:0.2s}.delay-300{animation-delay:0.3s}.delay-400{animation-delay:0.4s}.delay-500{animation-delay:0.5s}