@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-right{animation:slideInRight .3s ease-out forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slide-in-left{animation:slideInLeft .3s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn .2s ease-out forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-slow{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 0%,#e0e0e0 20%,#f0f0f0 40%,#f0f0f0 100%);background-size:1000px 100%;animation:shimmer 2s infinite linear}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.animate-bounce-in{animation:bounce-in .5s ease-out forwards}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-rotate{animation:rotate 1s linear infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-gradient{background-size:200% 200%;animation:gradient 3s ease infinite}@keyframes check{0%{transform:scale(0) rotate(45deg)}50%{transform:scale(1.2) rotate(45deg)}to{transform:scale(1) rotate(45deg)}}.animate-check{animation:check .5s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes loading-dots{0%,20%{opacity:.2}50%{opacity:1}to{opacity:.2}}.loading-dot{animation:loading-dots 1.4s infinite ease-in-out}.loading-dot:nth-child(1){animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}.hover-lift{transition:all .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0000001a}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 20px #0b74ff4d}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple-effect:active:after{width:200px;height:200px;animation:ripple .6s ease-out}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}
