@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@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(0)}50%{transform:translateY(-10px)}}@keyframes celebrate{0%{transform:scale(.8) rotate(0deg);opacity:0}50%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn .3s ease-in-out}.animate-fade-out{animation:fadeOut .3s ease-in-out}.animate-fade-in-up{animation:fadeInUp .3s ease-out}.animate-fade-in-down{animation:fadeInDown .3s ease-out}.animate-slide-in-left{animation:slideInLeft .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-slide-up{animation:slideUp .3s ease-out}.animate-scale-in{animation:scaleIn .2s ease-out}.animate-scale-out{animation:scaleOut .2s ease-in}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-celebrate{animation:celebrate .6s ease-out}.animate-shake{animation:shake .5s ease-in-out}.animate-shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.4) 50%,rgba(255,255,255,0));background-size:1000px 100%}.transition-fast{transition:all .15s ease-in-out}.transition-normal{transition:all .3s ease-in-out}.transition-slow{transition:all .5s ease-in-out}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}