/* Файл стилей статусного блока чата в заголовке страницы. */

.avatar-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
}

    .avatar-status .status-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--as-surface);
        flex: 0 0 auto;
        transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }

    .avatar-status .status-text {
        display: inline-block;
        color: var(--as-muted);
        font-size: 14px;
        transition: color 0.2s ease;
    }

.avatar-status--idle .status-dot {
    background: var(--as-surface);
}

.avatar-status--idle .status-text {
    color: var(--as-muted);
}

.avatar-status--ready .status-dot {
    background: var(--as-success-soft);
    box-shadow: 0 0 0 4px rgba(var(--as-shadow-rgb), 0.12);
}

.avatar-status--ready .status-text {
    color: var(--as-text);
}

.avatar-status--connecting .status-dot {
    background: var(--as-warning-soft);
    box-shadow: 0 0 0 4px rgba(var(--as-shadow-rgb), 0.12);
}

.avatar-status--connecting .status-text {
    color: var(--as-warning);
}

.avatar-status--working .status-dot {
    background: var(--as-warning-soft);
    box-shadow: 0 0 0 4px rgba(var(--as-shadow-rgb), 0.12);
    animation: chat-status-pulse 1.2s infinite ease-in-out;
}

.avatar-status--working .status-text {
    color: var(--as-warning);
}

.avatar-status--streaming .status-dot {
    background: var(--as-accent);
    box-shadow: 0 0 0 4px rgba(var(--as-shadow-rgb), 0.12);
    animation: chat-status-pulse 1s infinite ease-in-out;
}

.avatar-status--streaming .status-text {
    color: var(--as-accent-text);
}

.avatar-status--success .status-dot {
    background: var(--as-success-soft);
    box-shadow: 0 0 0 4px rgba(var(--as-shadow-rgb), 0.12);
}

.avatar-status--success .status-text {
    color: var(--as-success);
}

.avatar-status--error .status-dot {
    background: var(--as-danger-soft);
    box-shadow: 0 0 0 4px rgba(var(--as-shadow-rgb), 0.12);
}

.avatar-status--error .status-text {
    color: var(--as-danger);
}

@keyframes chat-status-pulse {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.12);
        opacity: 0.85;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}
