:root{--ease-smooth:cubic-bezier(0.4,0,0.2,1);--ease-in-smooth:cubic-bezier(0.4,0,1,1);--ease-out-smooth:cubic-bezier(0,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-spring:cubic-bezier(0.175,0.885,0.32,1.275);--duration-fast:150ms;--duration-normal:250ms;--duration-slow:350ms;--duration-slower:500ms;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25)}*{transition-duration:var(--duration-normal);transition-timing-function:var(--ease-smooth)}html{scroll-behavior:smooth}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-smooth) forwards}.animate-fade-out{animation:fadeOut var(--duration-normal) var(--ease-smooth) forwards}.animate-slide-up{animation:slideInUp var(--duration-normal) var(--ease-smooth) forwards}.animate-slide-down{animation:slideInDown var(--duration-normal) var(--ease-smooth) forwards}.animate-slide-left{animation:slideInLeft var(--duration-normal) var(--ease-smooth) forwards}.animate-slide-right{animation:slideInRight var(--duration-normal) var(--ease-smooth) forwards}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-smooth) forwards}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.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 infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}.skeleton{border-radius:.375rem}.skeleton,.skeleton-text{background:linear-gradient(90deg,#f0f0f0,#f8f8f8 50%,#f0f0f0);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.skeleton-text{height:1rem;border-radius:.25rem}.skeleton-circle{border-radius:9999px;background:linear-gradient(90deg,#f0f0f0,#f8f8f8 50%,#f0f0f0);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.card-hover{transition:all var(--duration-normal) var(--ease-smooth)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-hover:active{transform:translateY(0);box-shadow:var(--shadow-md)}.btn-press{transition:all var(--duration-fast) var(--ease-smooth)}.btn-press:active{transform:scale(.98)}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width var(--duration-slow) var(--ease-smooth),height var(--duration-slow) var(--ease-smooth)}.btn-ripple:active:after{width:300px;height:300px}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-backdrop{animation:modalBackdropIn var(--duration-normal) var(--ease-smooth) forwards}.modal-content{animation:modalContentIn var(--duration-normal) var(--ease-spring) forwards}@keyframes toastIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.toast-enter{animation:toastIn var(--duration-normal) var(--ease-spring) forwards}.toast-exit{animation:toastOut var(--duration-normal) var(--ease-smooth) forwards}.stagger-children>*{opacity:0;animation:slideInUp var(--duration-normal) var(--ease-smooth) forwards}.stagger-children>:first-child{animation-delay:0s}.stagger-children>:nth-child(2){animation-delay:50ms}.stagger-children>:nth-child(3){animation-delay:.1s}.stagger-children>:nth-child(4){animation-delay:.15s}.stagger-children>:nth-child(5){animation-delay:.2s}.stagger-children>:nth-child(6){animation-delay:.25s}.stagger-children>:nth-child(7){animation-delay:.3s}.stagger-children>:nth-child(8){animation-delay:.35s}.stagger-children>:nth-child(9){animation-delay:.4s}.stagger-children>:nth-child(10){animation-delay:.45s}@keyframes progressIndeterminate{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-indeterminate{position:relative;overflow:hidden;background-color:#e5e7eb}.progress-indeterminate:after{content:"";position:absolute;top:0;left:0;bottom:0;width:50%;background:linear-gradient(90deg,transparent,#6366f1,transparent);animation:progressIndeterminate 1.5s ease-in-out infinite}:focus{outline:none}:focus-visible{outline:2px solid #6366f1;outline-offset:2px;transition:outline-offset var(--duration-fast) var(--ease-smooth)}input[type=checkbox]{transition:all var(--duration-fast) var(--ease-smooth)}input[type=checkbox]:checked{animation:scaleIn var(--duration-fast) var(--ease-bounce) forwards}.delay-75{animation-delay:75ms!important}.delay-100{animation-delay:.1s!important}.delay-150{animation-delay:.15s!important}.delay-200{animation-delay:.2s!important}.delay-300{animation-delay:.3s!important}.delay-500{animation-delay:.5s!important}.will-animate{will-change:transform,opacity}.animate-complete{will-change:auto}.gpu-accelerate{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}