/* Smooth Message Scrolling/Appearance*/
@keyframes messageSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Icon pulsation */
@keyframes iconPulse {
    0%, 100% { opacity: 0.7; }
    50% { opacity: 1; }
}

/* Pulse for the timer */
@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Scroll of logos */
@keyframes walletLogosScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ── Voice messages ─────────────────────────────────────────────── */
/* Pulsing red REC dot while recording. */
@keyframes vmRec {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.35; transform: scale(0.82); }
}
/* Expanding ring behind the record button. */
@keyframes vmRing {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(2.1); opacity: 0; }
}

/* ── Encrypted call UI ─────────────────────────────────────────────── */
/* Expanding ring pulse behind the caller avatar while ringing. */
@keyframes sbCallPulse {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(1.85); opacity: 0; }
}
/* Slow animated gradient behind a camera-off video placeholder. */
@keyframes sbLiveBg {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
