body {
    font-family: 'Segoe UI', 'Arial', sans-serif;
    margin: 0;
    padding: 0;
    background: linear-gradient(120deg, #f9f9f9 60%, #e0e7ff 100%);
    display: flex;
    flex-direction: column;
    height: 100vh;
}

#chat {
    flex: 1;
    padding: 24px 10vw 24px 10vw;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: transparent;
}

.message {
    max-width: 70%;
    padding: 12px 18px;
    border-radius: 16px;
    line-height: 1.5;
    white-space: pre-wrap;
    box-shadow: 0 2px 8px rgba(60,60,100,0.07);
    font-size: 17px;
    transition: background 0.2s;
}

.user {
    align-self: flex-end;
    background: linear-gradient(90deg, #3b82f6 60%, #60a5fa 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(59,130,246,0.10);
}

.bot {
    align-self: flex-start;
    background: #fff;
    color: #222;
    border: 1px solid #e5e7eb;
}

#form {
    display: flex;
    padding: 14px 10vw;
    border-top: 1px solid #e5e7eb;
    background: #f3f4f6;
    box-shadow: 0 -2px 8px rgba(60,60,100,0.03);
}

#input {
    flex: 1;
    padding: 12px;
    font-size: 17px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    outline: none;
    transition: border 0.2s;
}

#input:focus {
    border: 1.5px solid #3b82f6;
}

#send {
    margin-left: 12px;
    padding: 12px 20px;
    font-size: 17px;
    border: none;
    background: linear-gradient(90deg, #3b82f6 60%, #60a5fa 100%);
    color: white;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(59,130,246,0.10);
    transition: background 0.2s;
}

#send:disabled {
    background: #93c5fd;
    cursor: not-allowed;
}

.top-controls {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 18px 10vw 0 10vw;
}

.top-controls button {
    padding: 8px 18px;
    font-size: 15px;
    border: none;
    border-radius: 8px;
    background: #e5e7eb;
    color: #222;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    box-shadow: 0 1px 4px rgba(60,60,100,0.07);
}

.top-controls button:hover {
    background: #3b82f6;
    color: #fff;
}

body.dark {
    background: linear-gradient(120deg, #18181b 60%, #1e293b 100%);
}

body.dark #chat {
    background: transparent;
}

body.dark .message.user {
    background: linear-gradient(90deg, #2563eb 60%, #1e40af 100%);
    color: #fff;
}

body.dark .message.bot {
    background: #23272f;
    color: #e0e7ef;
    border: 1px solid #334155;
}

body.dark #form {
    background: #23272f;
    border-top: 1px solid #334155;
}

body.dark #input {
    background: #18181b;
    color: #e0e7ef;
    border: 1px solid #334155;
}

body.dark #input:focus {
    border: 1.5px solid #60a5fa;
}

body.dark #send {
    background: linear-gradient(90deg, #2563eb 60%, #1e40af 100%);
}

body.dark #send:disabled {
    background: #334155;
}

body.dark .top-controls button {
    background: #334155;
    color: #e0e7ef;
}

body.dark .top-controls button:hover {
    background: #60a5fa;
    color: #18181b;
}

.dropdown {
    position: relative;
    display: inline-block;
}

#menu-btn {
    padding: 8px 18px;
    font-size: 16px;
    border: none;
    border-radius: 8px;
    background: #3b82f6;
    color: #fff;
    cursor: pointer;
    font-weight: 500;
    box-shadow: 0 1px 4px rgba(60,60,100,0.07);
    transition: background 0.2s;
}

#menu-btn:focus {
    outline: 2px solid #60a5fa;
}

.dropdown-content {
    display: none;
    position: absolute;
    right: 0;
    left: auto;
    background: #fff;
    min-width: 180px;
    max-width: 96vw;
    box-shadow: 0 4px 16px rgba(60,60,100,0.13);
    border-radius: 10px;
    z-index: 10;
    margin-top: 8px;
    padding: 8px 0;
    flex-direction: column;
    gap: 0;
    overflow-wrap: break-word;
}

.dropdown-content button, .dropdown-content a {
    width: 100%;
    padding: 12px 20px;
    background: none;
    border: none;
    text-align: left;
    font-size: 15px;
    color: #222;
    cursor: pointer;
    border-radius: 0;
    transition: background 0.2s, color 0.2s;
    text-decoration: none;
    display: block;
    font-weight: 400;
}

.dropdown-content button:hover, .dropdown-content a:hover,
.dropdown-content button:focus, .dropdown-content a:focus {
    background: #3b82f6;
    color: #fff;
    outline: none;
}

body.dark .dropdown-content button, body.dark .dropdown-content a {
    color: #e0e7ef;
}
body.dark .dropdown-content button:hover, body.dark .dropdown-content a:hover,
body.dark .dropdown-content button:focus, body.dark .dropdown-content a:focus {
    background: #60a5fa;
    color: #18181b;
    outline: none;
}

.dropdown.show .dropdown-content {
    display: flex;
}

body.dark .dropdown-content {
    background: #23272f;
    box-shadow: 0 4px 16px rgba(30,41,59,0.25);
}

.dropdown-content a {
    color: #222;
    font-weight: 400;
}
body.dark .dropdown-content a {
    color: #e0e7ef;
}

@media (max-width: 600px) {
    #chat {
        padding: 16px 2vw 16px 2vw;
        font-size: 16px;
    }
    .top-controls {
        padding: 10px 2vw 0 2vw;
    }
    .dropdown-content {
        min-width: 90vw;
        max-width: 98vw;
        right: 2vw;
        left: 2vw;
        transform: none;
        border-radius: 8px;
        font-size: 16px;
    }
    #menu-btn {
        width: 100%;
        font-size: 18px;
        padding: 12px 0;
    }
    .dropdown-content button, .dropdown-content a {
        font-size: 17px;
        padding: 16px 18px;
    }
    #form {
        padding: 10px 2vw;
    }
    #input {
        font-size: 17px;
        padding: 14px;
    }
    #send {
        font-size: 17px;
        padding: 14px 18px;
    }
} 