/* Typing Indicator & Toast */
.typing-indicator { 
    display: flex; 
    gap: 4px; 
    padding: 4px; 
    align-items: center; 
}

.dot { 
    width: 6px; 
    height: 6px; 
    background: #888; 
    border-radius: 50%; 
    animation: bounce 1.4s infinite ease-in-out both; 
}

.dot:nth-child(1) { 
    animation-delay: -0.32s; 
}

.dot:nth-child(2) { 
    animation-delay: -0.16s; 
}

@keyframes bounce { 
    0%, 80%, 100% { 
        transform: scale(0); 
    } 
    40% { 
        transform: scale(1); 
    } 
}

.toast { 
    position: fixed; 
    bottom: 40px; 
    left: 50%; 
    transform: translateX(-50%) translateY(100px); 
    background: var(--bg-secondary); 
    color: var(--text-primary); 
    padding: 12px 20px; 
    border-radius: var(--radius-lg); 
    font-size: 0.875rem; 
    opacity: 0; 
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); 
    pointer-events: none; 
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-md);
    z-index: 1000;
}

.toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.toast.hiding {
    opacity: 0;
    transform: translateX(-50%) translateY(100px);
}

.hidden { 
    display: none !important; 
}
