@keyframes chat-status-pulse {
    0%,
    to {
        opacity: 1
    }
    50% {
        opacity: .5
    }
}

.chat-status-pulse {
    animation: chat-status-pulse 2s ease-in-out infinite
}

@keyframes chat-cursor-blink {
    0%,
    to {
        opacity: 1
    }
    50% {
        opacity: 0
    }
}

.chat-typing-cursor {
    animation: chat-cursor-blink .7s step-end infinite;
    font-size: .85em;
    margin-left: 1px
}

@keyframes chat-dot-bounce {
    0%,
    60%,
    to {
        transform: translateY(0)
    }
    30% {
        transform: translateY(-4px)
    }
}

@keyframes chat-pulse {
    0%,
    to {
        transform: scale(1)
    }
    50% {
        transform: scale(1.1)
    }
}

.chat-bubble-pulse {
    animation: chat-pulse .6s ease-in-out 3
}