:root{--animation-duration-instant:0.1s;--animation-duration-fast:0.2s;--animation-duration-normal:0.3s;--animation-duration-slow:0.5s;--animation-duration-very-slow:0.8s;--animation-easing-ease-in:cubic-bezier(0.4,0,1,1);--animation-easing-ease-out:cubic-bezier(0,0,0.2,1);--animation-easing-ease-in-out:cubic-bezier(0.4,0,0.2,1);--animation-easing-expo-out:cubic-bezier(0.19,1,0.22,1);--animation-easing-back-out:cubic-bezier(0.34,1.56,0.64,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@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 scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}.animate-fadeIn{animation:fadeIn var(--animation-duration-normal) var(--animation-easing-ease-out) forwards}.animate-fadeOut{animation:fadeOut var(--animation-duration-normal) var(--animation-easing-ease-in) forwards}.animate-slideInUp{animation:slideInUp var(--animation-duration-normal) var(--animation-easing-ease-out) forwards}.animate-slideInDown{animation:slideInDown var(--animation-duration-normal) var(--animation-easing-ease-out) forwards}.animate-slideInLeft{animation:slideInLeft var(--animation-duration-normal) var(--animation-easing-ease-out) forwards}.animate-slideInRight{animation:slideInRight var(--animation-duration-normal) var(--animation-easing-ease-out) forwards}.animate-scaleIn{animation:scaleIn var(--animation-duration-normal) var(--animation-easing-ease-out) forwards}.animate-scaleOut{animation:scaleOut var(--animation-duration-normal) var(--animation-easing-ease-in) forwards}.animate-bounce{animation:bounce var(--animation-duration-slow) var(--animation-easing-ease-out)}.animate-shake{animation:shake var(--animation-duration-normal) var(--animation-easing-ease-in-out)}.animate-shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 20%,hsla(0,0%,100%,.5) 60%,hsla(0,0%,100%,0));background-size:1000px 100%;animation:shimmer 2s linear infinite}.animate-pulse{animation:pulse var(--animation-duration-very-slow) var(--animation-easing-ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-ripple{animation:ripple .6s var(--animation-easing-ease-out)}.duration-instant{animation-duration:var(--animation-duration-instant)!important}.duration-fast{animation-duration:var(--animation-duration-fast)!important}.duration-normal{animation-duration:var(--animation-duration-normal)!important}.duration-slow{animation-duration:var(--animation-duration-slow)!important}.duration-very-slow{animation-duration:var(--animation-duration-very-slow)!important}.delay-0{animation-delay:0s!important}.delay-50{animation-delay:.05s!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}@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-bounce,.animate-fadeIn,.animate-fadeOut,.animate-pulse,.animate-ripple,.animate-scaleIn,.animate-scaleOut,.animate-shake,.animate-shimmer,.animate-slideInDown,.animate-slideInLeft,.animate-slideInRight,.animate-slideInUp,.animate-spin{animation:none!important;opacity:1!important;transform:none!important}}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}.will-change-transform-opacity{will-change:transform,opacity}.animation-complete{will-change:auto}