@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

body { 
    font-family: 'Inter', sans-serif; 
}

/* Custom Scrollbar */
.modal-scroll::-webkit-scrollbar,
#chat-box::-webkit-scrollbar { 
    width: 8px; 
}
.modal-scroll::-webkit-scrollbar-track,
#chat-box::-webkit-scrollbar-track { 
    background: #f1f1f1; 
}
.modal-scroll::-webkit-scrollbar-thumb,
#chat-box::-webkit-scrollbar-thumb { 
    background: #c1c1c1; 
    border-radius: 4px; 
}

/* Animations */
.typing-indicator span {
    display: inline-block;
    width: 6px; height: 6px; 
    background-color: #6b7280; 
    border-radius: 50%;
    animation: bounce 1.4s infinite ease-in-out both; 
    margin: 0 2px;
}
.typing-indicator span:nth-child(1) { animation-delay: -0.32s; }
.typing-indicator span:nth-child(2) { animation-delay: -0.16s; }

@keyframes bounce { 
    0%, 80%, 100% { transform: scale(0); } 
    40% { transform: scale(1); } 
}

.pulse-ring {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
    animation: pulse-red 1.5s infinite cubic-bezier(0.66, 0, 0, 1);
}
@keyframes pulse-red { 
    to { box-shadow: 0 0 0 20px rgba(239, 68, 68, 0); } 
}

/* Invite Pulse (When ready to speak) */
.pulse-invite {
    box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.7); /* Indigo color */
    animation: pulse-blue 2s infinite cubic-bezier(0.66, 0, 0, 1);
}

@keyframes pulse-blue { 
    0% { box-shadow: 0 0 0 0 rgba(79, 70, 229, 0.7); }
    70% { box-shadow: 0 0 0 15px rgba(79, 70, 229, 0); } /* Expands out */
    100% { box-shadow: 0 0 0 0 rgba(79, 70, 229, 0); }
}