* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html, body {
    height: 100vh;
    width: 100vw;
    overflow-x: hidden;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    background: linear-gradient(135deg, #1f1c2c 0%, #05040a 100%);
    color: #f0f0f0;
}
.assistant-container {
    width: 100%;
    height: 100vh;
    max-width: 500px;
    background-color: transparent; 
    border-radius: 0; 
    padding: 40px 25px; 
    text-align: center;
    border: none;
    display: flex;
    flex-direction: column;
}
.assistant-header h1 {
    font-size: clamp(2.2em, 7vw, 2.8em); 
    color: #d6e0e0;
    margin-bottom: 20px;
    padding-top: 0;
}
.info-box {
    background-color: #2a2a3a;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 25px;
    text-align: left;
    color: #e8e5e5;
    font-size: 0.95em;
}
.info-box h2 {
    font-size: 1.3em;
    color: #4affb4;
    margin-bottom: 5px;
}
.info-box p {
    margin: 0;
    color: #d6e0e0;
}
.conversation-display {
    flex-grow: 1; 
    min-height: 250px; 
    background-color: #2a2a3a;
    border: 1px solid #eff4f4;
    border-radius: 15px; 
    padding: 20px; 
    margin-bottom: 30px;
    overflow-y: auto;
    text-align: left;
    font-size: 1.1em; 
    color: #070707;
}
.assistant-message {
    color: #e5eae8;
    font-style: italic;
    margin: 8px 0; 
}
.user-message {
    color: #969090; 
    margin: 8px 0; 
    font-style: normal;
}
.mic-button {
    background-color: #fdfdfd;
    color: #1f1c2c;
    border: none;
    border-radius: 50%;
    width: 90px;
    height: 90px;
    font-size: 3em; 
    cursor: pointer;
    transition: background-color 0.3s, transform 0.1s;
    margin-bottom: 20px;
}
.mic-button:hover {
    background-color: #e9f0ed;
}
.mic-button:active {
    transform: scale(0.9);
}
.assistant-footer p {
    font-size: 1.0em; 
    color: #e8e5e5;
    margin-bottom: 10px;
}

@media (min-width: 501px) {
    .assistant-container {
        border-radius: 15px;
        height: auto;
        max-width: 500px;
        padding: 25px;
        border: 1px solid rgba(245, 253, 253, 0.3);
    }
}
