@keyframes float{0%{transform:translate(0)rotate(0)}25%{transform:translate(20px,-30px)rotate(5deg)}50%{transform:translate(-10px,-50px)rotate(-5deg)}75%{transform:translate(-30px,-20px)rotate(3deg)}to{transform:translate(0)rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes exitRight{0%{opacity:1;transform:translate(0)skew(0)}30%{opacity:1;transform:translate(-20px)skew(-10deg)}to{opacity:0;transform:translate(1000px)skew(30deg)}}@keyframes exitLeft{0%{opacity:1;transform:translate(0)skew(0)}30%{opacity:1;transform:translate(20px)skew(10deg)}to{opacity:0;transform:translate(-1000px)skew(-30deg)}}.animate-float{animation:float var(--float-duration)ease-in-out infinite;animation-delay:var(--float-delay)}.animate-shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}.animate-hint,.animate-hint-left{animation:.4s cubic-bezier(.175,.885,.32,1.275) forwards fadeInScale}.animate-exit-right{animation:.6s cubic-bezier(.45,0,.55,1) forwards exitRight}.animate-exit-left{animation:.6s cubic-bezier(.45,0,.55,1) forwards exitLeft}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:10px}.dark .custom-scrollbar::-webkit-scrollbar-thumb{background:#1f2937}
