@keyframes floating {
    0% { transform: translateY(0px) rotate(3deg); }
    50% { transform: translateY(-5rem) rotate(1deg); }
    100% { transform: translateY(0px) rotate(3deg); }
}
.phone-floating {
    animation: floating 3s ease-in-out infinite;
}
@keyframes notification-pop {
    0% { transform: scale(0); opacity: 0; }
    70% { transform: scale(1.2); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}
@keyframes notification-blink {
    0%, 100% { opacity: 0.4; }
    50% { opacity: 1; }
}
@keyframes notification-vibrate {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-1px); }
    20%, 40%, 60%, 80% { transform: translateX(1px); }
}
.notification {
    animation: notification-pop 0.5s forwards;
    opacity: 0;
}
.notification-1 { animation-delay: 1s; }
.notification-2 { animation-delay: 3s; }
.notification-3 { animation-delay: 5s; }
.notification-4 { animation-delay: 7s; }
.notification-5 { animation-delay: 9s; }
.blinking-dot {
    animation: notification-blink 1.5s infinite;
}
.vibrate {
    animation: notification-vibrate 0.3s;
    animation-iteration-count: infinite;
    animation-delay: 3s;
    animation-play-state: running;
    animation-duration: 0.3s;
    animation-iteration-count: 5;
}