@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes gentleBounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-5px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-2px,0)}90%{transform:translate3d(0,-1px,0)}}@keyframes skeletonLoading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes scaleUp{0%{transform:scale(1)}to{transform:scale(1.02)}}@keyframes progressFill{0%{width:0}to{width:var(--progress-width)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-slide-in-left{animation:slideInFromLeft .5s ease-out forwards}.animate-gentle-bounce{animation:gentleBounce 1s ease-in-out}.animate-skeleton-loading{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);background-size:200px 100%;animation:skeletonLoading 1.5s infinite}.animate-scale-up{animation:scaleUp .2s ease-out forwards}.animate-progress-fill{animation:progressFill 1s ease-out forwards}.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,.1)}.stagger-delay-1{animation-delay:.1s}.stagger-delay-2{animation-delay:.2s}.stagger-delay-3{animation-delay:.3s}.stagger-delay-4{animation-delay:.4s}.stagger-delay-5{animation-delay:.5s}.focus-ring{transition:all .2s ease-out}.focus-ring:focus{outline:2px solid hsl(var(--primary));outline-offset:2px;box-shadow:0 0 0 4px hsl(var(--primary)/.1)}.shimmer{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted)/.5) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:shimmer 2s infinite}.button-press{transition:transform .1s ease-out}.button-press:active{transform:scale(.98)}.theme-transition{transition:background-color .3s ease-out,border-color .3s ease-out,color .3s ease-out}.card-hover{transition:all .2s ease-out}.card-hover:hover{transform:translateY(-1px);box-shadow:0 4px 20px hsl(var(--primary)/.1)}.skeleton-enhanced{background:linear-gradient(90deg,hsl(var(--muted)/.6) 25%,hsl(var(--muted)/.3) 50%,hsl(var(--muted)/.6) 75%);background-size:200% 100%;animation:skeletonLoading 1.5s infinite;border-radius:.5rem}.progress-smooth{transition:width .7s cubic-bezier(.4,0,.2,1)}.badge-pulse{animation:pulse 2s infinite}.badge-bounce{animation:gentleBounce .6s ease-in-out}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes wave-loading{0%,60%,to{transform:none}30%{transform:translateY(-10px)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes staggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes smoothPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes progressiveReveal{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-shimmer{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1) 50%,transparent);background-size:200% 100%;animation:shimmer 2s infinite}.animate-wave-loading{animation:wave-loading 1.4s ease-in-out infinite}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-stagger-in{animation:staggerIn .6s ease-out}.animate-smooth-pulse{animation:smoothPulse 2s infinite}.animate-progressive-reveal{animation:progressiveReveal .8s cubic-bezier(.4,0,.2,1) forwards}.loading-enter{opacity:0;transform:scale(.9)}.loading-enter-active{transition:opacity .3s ease,transform .3s ease}.loading-enter-active,.loading-exit{opacity:1;transform:scale(1)}.loading-exit-active{opacity:0;transform:scale(.9);transition:opacity .3s ease,transform .3s ease}.content-reveal{opacity:0;animation:contentReveal .6s ease-out forwards}@keyframes contentReveal{0%{opacity:0;transform:translateY(10px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.skeleton-shimmer{background:linear-gradient(90deg,var(--skeleton-base,hsl(var(--muted)/.6)) 25%,var(--skeleton-highlight,hsl(var(--muted)/.3)) 50%,var(--skeleton-base,hsl(var(--muted)/.6)) 75%);background-size:200% 100%;animation:skeletonShimmer 2s infinite}@keyframes skeletonShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.interactive-pulse{animation:interactivePulse 2.5s ease-in-out infinite}@keyframes interactivePulse{0%,to{box-shadow:0 0 0 0 rgba(var(--primary-rgb),.4)}50%{box-shadow:0 0 0 8px rgba(var(--primary-rgb),0)}}.loading-dots{display:inline-flex;gap:.25rem}.loading-dots:after,.loading-dots:before{content:"";display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:currentColor;animation:loadingDots 1.4s infinite both}.loading-dots:before{margin-right:.25rem;animation-delay:-.16s}@keyframes loadingDots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-shimmer,.animate-smooth-pulse,.animate-wave-loading,.skeleton-shimmer{animation:none!important;opacity:.8}}