@keyframes vibrate{0%,to{transform:translateX(0)}10%{transform:translateX(-2px) rotate(-1deg)}20%{transform:translateX(2px) rotate(1deg)}30%{transform:translateX(-2px) rotate(-1deg)}40%{transform:translateX(2px) rotate(1deg)}50%{transform:translateX(-1px) rotate(-.5deg)}60%{transform:translateX(1px) rotate(.5deg)}70%{transform:translateX(-1px) rotate(-.5deg)}80%{transform:translateX(1px) rotate(.5deg)}90%{transform:translateX(-1px) rotate(-.5deg)}}@keyframes pulse-ring{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes notification-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.floating-bell-vibrate{animation:vibrate .5s ease-in-out}.floating-bell-pulse{animation:pulse-ring 1s ease-out infinite}.floating-bell-bounce{animation:notification-bounce 1s ease-in-out}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}.floating-bell-hover:hover{transform:scale(1.1);box-shadow:0 8px 25px rgba(239,68,68,.4)}.floating-bell-active:active{transform:scale(.95)}@keyframes dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.notification-dot{animation:dot-pulse 2s ease-in-out infinite}