@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-from-bottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-from-top{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-in{animation-duration:.3s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.animate-in-slow{animation-duration:.5s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.animate-in-fast{animation-duration:.15s;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-fill-mode:both}.fade-in-50{animation-name:fade-in}.fade-in-up-50{animation-name:fade-in-up}.fade-in-down-50{animation-name:fade-in-down}.fade-in-left-50{animation-name:fade-in-left}.fade-in-right-50{animation-name:fade-in-right}.slide-in-from-bottom-4{animation-name:slide-in-from-bottom}.slide-in-from-top-2{animation-name:slide-in-from-top}.scale-in-95{animation-name:scale-in}.duration-150{animation-duration:.15s!important}.duration-200{animation-duration:.2s!important}.duration-300{animation-duration:.3s!important}.duration-500{animation-duration:.5s!important}.duration-700{animation-duration:.7s!important}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@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-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}.hover-scale:hover{transform:scale(1.05);transition:transform .2s ease-in-out}.hover-lift:hover{transform:translateY(-2px);transition:transform .2s ease-in-out;box-shadow:0 4px 20px rgba(0,0,0,.1)}.focus-ring:focus{outline:2px solid #3B82F6;outline-offset:2px;transition:outline .15s ease-in-out}.will-change-transform{will-change:transform}.will-change-opacity{will-change:opacity}@media (prefers-reduced-motion:reduce){.animate-in,.animate-in-fast,.animate-in-slow,.hover-lift,.hover-scale{animation:none!important;transition:none!important}}