body {
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-size: clamp(0.875rem, 0.5vw + 0.8rem, 1rem);
    /* Base around 14px, scales up to 16px */
    background: #f5f5f5;
    /* This will be overridden by Tailwind's bg-blue-50 in index.html */
}

.message {
    padding: 6px 12px;
    /* Increased padding for better readability */
    margin: 2px 0;
    border-radius: 6px;
    line-height: 1.4;
    /* Added line-height for better text spacing */
    display: inline-block;
    box-sizing: border-box;
}

.bot-message {
    background-color: #e0f2f7;
    /* Light blue */
    align-self: flex-start;
    text-align: left;
    max-width: 95%;
}

.user-message {
    background-color: #fce4ec;
    /* Light pink */
    align-self: flex-end;
    text-align: left;
    max-width: 95%;
}

/* --- Typing Indicator Styles (NEW) --- */
.typing-indicator {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background-color: #e0f2f7;
    /* Same as bot-message */
    padding: 8px 12px;
    border-radius: 8px;
    width: fit-content;
    margin: 4px 0;
    min-width: 40px;
    /* Ensure it has a minimum width */
}

.typing-indicator span {
    width: 6px;
    height: 6px;
    background-color: #888;
    border-radius: 50%;
    margin: 0 2px;
    animation: bounce 1.4s infinite ease-in-out both;
}

.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);
    }
}

.font-inter {
    font-family: 'Inter', sans-serif; 
}

.font-roboto {
    font-family: 'Roboto', sans-serif; 
}    


.fluid-header {
    /* This ensures the text stays on one line */
    white-space: nowrap;

    /* Sets a fluid font size:
       - Minimum: 1.5rem (24px)
       - Preferred: 3.5vw (3.5% of viewport width) - adjust this to fine-tune
       - Maximum: 2.5rem (40px)
       The browser will choose a size within this range to best fit. */
    font-size: clamp(1.5rem, 3.5vw, 2.5rem);
    /* Adjust these values */

    /* Optional: Ensure consistent text rendering */
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; 
}