@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 slide-in-left{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .5s ease-out forwards}.animate-fade-in-up{animation:fade-in-up .6s ease-out forwards}.animate-slide-in-left{animation:slide-in-left .6s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .6s ease-out forwards}.animate-scale-in{animation:scale-in .5s ease-out forwards}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}@keyframes slide-in-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.animate-slide-in-up{animation:slide-in-up .3s ease-out forwards}.animate-slide-in-down{animation:slide-in-down .3s ease-out forwards}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 1.5s ease-in-out infinite}