.message.user,
.message-user-local {
    margin-left: auto;
    background: linear-gradient(135deg, #0d6efd, #00a7ff) !important;
    color: #fff !important;
    text-align: right;
    max-width: min(760px, 82%);
}

.message.ai,
.chat-typing-message {
    margin-right: auto;
    max-width: min(760px, 82%);
}

.chat-typing-message {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    min-width: 180px;
}

.typing-label {
    opacity: .82;
    font-weight: 700;
}

.typing-dots {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.typing-dots span {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: currentColor;
    opacity: .35;
    animation: chatTypingDots 1.05s infinite ease-in-out;
}

.typing-dots span:nth-child(2) { animation-delay: .15s; }
.typing-dots span:nth-child(3) { animation-delay: .30s; }

@keyframes chatTypingDots {
    0%, 80%, 100% { transform: translateY(0); opacity: .25; }
    40% { transform: translateY(-5px); opacity: 1; }
}
