@keyframes staggerFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes staggerSlideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOutScale{0%{opacity:1;transform:scale(1) translateY(0)}50%{opacity:.5;transform:scale(.95) translateY(-5px)}to{opacity:0;transform:scale(.9) translateY(10px)}}@keyframes slideOutCompress{0%{opacity:1;max-height:200px;transform:scale(1);margin-bottom:1rem}50%{opacity:.3;transform:scale(.95)}to{opacity:0;max-height:0;transform:scale(.9);margin-bottom:0;padding-top:0;padding-bottom:0}}@keyframes listReflow{0%{transform:translateY(-10px);opacity:.8}to{transform:translateY(0);opacity:1}}@keyframes drawCheck{0%{stroke-dasharray:0 16}to{stroke-dasharray:16 0}}@keyframes progressSweep{0%{background-position:-200%}to{background-position:200%}}@keyframes springBounce{0%{transform:scale(1)}20%{transform:scale(1.1)}40%{transform:scale(.95)}60%{transform:scale(1.05)}80%{transform:scale(.98)}to{transform:scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(2);opacity:0}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton-shimmer{position:relative;overflow:hidden;background-color:#e5e7eb}.dark .skeleton-shimmer{background-color:#374151}.skeleton-shimmer:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,0));background-size:1000px 100%;animation:shimmer 2s linear infinite;transform:translateZ(0);will-change:transform}.dark .skeleton-shimmer:after{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,0))}.animate-stagger-fade-in{animation:staggerFadeIn .4s ease-out forwards}.animate-stagger-slide-in{animation:staggerSlideIn .3s ease-out forwards}.animate-fade-out-scale{animation:fadeOutScale .3s ease-in forwards}.animate-slide-out-compress{animation:slideOutCompress .4s ease-in forwards}.animate-list-reflow{animation:listReflow .3s ease-out}.animate-spring-bounce{animation:springBounce .5s ease-out}.animate-shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,0));background-size:1000px 100%;animation:shimmer 2s linear infinite}.checkbox-check{stroke-dasharray:16;animation:drawCheck .3s ease-out forwards}.progress-animated{background:linear-gradient(90deg,currentColor,transparent 50%,currentColor);background-size:200% 100%;animation:progressSweep 2s ease-in-out infinite}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:hsla(0,0%,100%,.3);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn-ripple:active:after{width:100px;height:100px}.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)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-fade-out-scale,.animate-list-reflow,.animate-slide-out-compress,.animate-spring-bounce,.animate-stagger-fade-in,.animate-stagger-slide-in{animation:none}.skeleton-shimmer:after{animation:none;background:none}}.focus-visible-ring:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px}@media (prefers-contrast:high){.animate-shimmer{background:none;animation:none}.progress-animated{background:currentColor;animation:none}}