body { 
    font-family: -apple-system, sans-serif; 
    padding: 20px; 
    background: #121212; 
    color: white; 
    margin: 0; 
}

.chat-container { 
    max-height: 60vh; 
    overflow-y: auto; 
    border: 1px solid #444; 
    border-radius: 12px; 
    padding: 15px; 
    background: #1e1e1e; 
    margin-bottom: 20px;
}

.message { 
    margin-bottom: 15px; 
    padding: 10px 15px; 
    border-radius: 18px; 
    max-width: 80%; 
    word-wrap: break-word;
    width: fit-content;
    min-width: 60px;
}

.user-message { 
    background: #007acc; 
    margin-left: auto; 
    text-align: right; 
}

.ai-message { 
    background: #2d2d2d; 
    margin-right: auto; 
    border: 1px solid #444;
}

/* Markdown 样式 */
.ai-message p { 
    margin: 0.5em 0; 
}

.ai-message pre { 
    background: #1a1a1a; 
    padding: 10px; 
    border-radius: 8px; 
    overflow-x: auto;
    margin: 10px 0;
}

.ai-message code { 
    background: #1a1a1a; 
    padding: 2px 6px; 
    border-radius: 4px; 
    font-family: 'Consolas', 'Monaco', monospace;
}

.ai-message pre code { 
    background: transparent; 
    padding: 0; 
}

.ai-message ul, .ai-message ol { 
    margin: 10px 0; 
    padding-left: 20px; 
}

.ai-message blockquote { 
    border-left: 3px solid #007acc; 
    padding-left: 10px; 
    margin: 10px 0; 
    color: #aaa; 
}

.ai-message h1, .ai-message h2, .ai-message h3 { 
    margin: 15px 0 10px 0; 
    font-weight: bold; 
}

.ai-message a { 
    color: #58a6ff; 
    text-decoration: none; 
}

.ai-message a:hover { 
    text-decoration: underline; 
}

.message-time { 
    font-size: 12px; 
    opacity: 0.7; 
    margin-top: 5px; 
}

.input-area { 
    display: flex; 
    gap: 10px; 
    align-items: flex-end; 
}

textarea { 
    flex: 1; 
    min-height: 50px; 
    max-height: 120px; 
    border-radius: 25px; 
    padding: 15px 20px; 
    background: #252525; 
    color: white; 
    border: 1px solid #444;
    font-size: 16px; 
    resize: vertical;
    font-family: inherit;
}

button { 
    padding: 15px 25px; 
    background: #007acc; 
    color: white; 
    border: none; 
    border-radius: 25px; 
    font-size: 16px; 
    font-weight: bold; 
    cursor: pointer;
    white-space: nowrap;
}

button:disabled { 
    background: #555; 
    cursor: not-allowed; 
}

#status { 
    text-align: center; 
    color: #aaa; 
    font-size: 14px; 
    margin-top: 10px; 
}

.empty-chat { 
    text-align: center; 
    color: #666; 
    padding: 40px 20px; 
    font-style: italic; 
}


/* 登录界面样式 */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #121212;
}

.login-box {
    background: #1e1e1e;
    border: 1px solid #444;
    border-radius: 16px;
    padding: 40px;
    width: 90%;
    max-width: 400px;
    text-align: center;
}

.login-box h2 {
    margin: 0 0 10px 0;
    color: #fff;
}

.login-subtitle {
    color: #aaa;
    margin: 0 0 30px 0;
    font-size: 14px;
}

.login-box input[type="password"] {
    width: 100%;
    padding: 15px 20px;
    border-radius: 12px;
    background: #252525;
    color: white;
    border: 1px solid #444;
    font-size: 16px;
    margin-bottom: 15px;
    box-sizing: border-box;
}

.login-box input[type="password"]:focus {
    outline: none;
    border-color: #007acc;
}

.login-box button {
    width: 100%;
    padding: 15px;
    background: #007acc;
    color: white;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.login-box button:hover {
    background: #005a9e;
}

.login-error {
    color: #ff6b6b;
    margin-top: 15px;
    font-size: 14px;
    min-height: 20px;
}
