:root { --bg-main: #0f172a; --bg-sidebar: #1e293b; --bg-chat: #0b1120; --text-main: #e2e8f0; --accent: #3b82f6; --accent-hover: #2563eb; --user-msg: #3b82f6; --bot-msg: #1e293b; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: var(--bg-main); color: var(--text-main); height: 100vh; display: flex; } .app-container { display: flex; width: 100%; height: 100%; } /* Sidebar */ .sidebar { width: 280px; background: var(--bg-sidebar); padding: 20px; display: flex; flex-direction: column; border-left: 1px solid #334155; } .sidebar h1 { color: var(--accent); margin-bottom: 5px; } .sidebar h3 { color: #94a3b8; margin-bottom: 30px; font-weight: normal; } .sidebar select { width: 100%; padding: 10px; background: #334155; color: white; border: none; border-radius: 8px; margin-bottom: 20px; outline: none; } .sidebar button { padding: 12px; background: #334155; color: white; border: none; border-radius: 8px; cursor: pointer; font-size: 16px; transition: 0.2s; } .sidebar button:hover { background: #475569; } /* Chat Area */ .chat-area { flex: 1; display: flex; flex-direction: column; background: var(--bg-chat); } .chat-header { padding: 20px; text-align: center; border-bottom: 1px solid #334155; background: var(--bg-main); } .messages-container { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 15px; } /* Messages */ .message { max-width: 75%; padding: 15px; border-radius: 15px; line-height: 1.6; position: relative; } .message.user { align-self: flex-end; background: var(--user-msg); color: white; border-bottom-left-radius: 2px; } .message.bot { align-self: flex-start; background: var(--bot-msg); color: var(--text-main); border: 1px solid #334155; border-bottom-right-radius: 2px; } /* Thinking Block */ .thinking-block { background: #0f172a; border: 1px dashed #475569; padding: 10px; border-radius: 8px; margin-bottom: 10px; font-size: 0.9em; color: #94a3b8; } .thinking-toggle { cursor: pointer; color: var(--accent); font-weight: bold; display: flex; align-items: center; gap: 5px; } /* Input Area */ .input-area { padding: 20px; background: var(--bg-main); border-top: 1px solid #334155; display: flex; gap: 10px; } .input-area input { flex: 1; padding: 15px; background: #1e293b; color: white; border: 1px solid #334155; border-radius: 12px; font-size: 16px; outline: none; } .input-area input:focus { border-color: var(--accent); } .input-area button { padding: 0 25px; background: var(--accent); color: white; border: none; border-radius: 12px; font-size: 16px; cursor: pointer; font-weight: bold; transition: 0.2s; } .input-area button:hover { background: var(--accent-hover); }