@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce-in{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.8}}@keyframes bell-shake{0%,to{transform:rotate(0)}10%{transform:rotate(-10deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}50%{transform:rotate(-6deg)}60%{transform:rotate(6deg)}70%{transform:rotate(-4deg)}80%{transform:rotate(4deg)}90%{transform:rotate(-2deg)}}.animate-bell-shake{transform-origin:top;animation:1.2s ease-in-out infinite bell-shake}.animate-fade-in{animation:.2s ease-out fade-in}.animate-slide-down{animation:.3s cubic-bezier(.4,0,.2,1) slide-down}.animate-slide-in{animation:.4s cubic-bezier(.4,0,.2,1) both slide-in}.animate-bounce-in{animation:.4s cubic-bezier(.68,-.55,.265,1.55) bounce-in}.animate-pulse-subtle{animation:2s ease-in-out infinite pulse-subtle}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:#9ca3af80;border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:#9ca3afb3}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}
