@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes bounce-dots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoom-in-bounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes progress-fill{0%{width:0}to{width:var(--progress-width)}}.animate-shimmer{animation:shimmer 2s infinite}.animate-bounce-dots{animation:bounce-dots 1.4s ease-in-out infinite both}.animate-pulse-glow{animation:pulse-glow 2s infinite}.animate-slide-up-fade{animation:slide-up-fade .5s ease-out}.animate-zoom-in-bounce{animation:zoom-in-bounce .6s ease-out}.animate-progress-fill{animation:progress-fill .8s ease-out forwards}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.dark .loading-skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200% 100%}.state-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.focus-enhanced:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.success-pulse{animation:pulse-glow 1s ease-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.animate-shake{animation:shake .5s ease-in-out}.stagger-item{opacity:0;transform:translateY(20px);animation:slide-up-fade .5s ease-out forwards}.stagger-item:first-child{animation-delay:0s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.2s}.stagger-item:nth-child(4){animation-delay:.3s}.stagger-item:nth-child(5){animation-delay:.4s}.stagger-item:nth-child(6){animation-delay:.5s}.progress-bar{position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-100%);animation:shimmer 2s infinite}.card-entrance{opacity:0;transform:translateY(30px) scale(.95);animation:card-entrance .6s ease-out forwards}@keyframes card-entrance{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}