:root { --bg: #f7f7f4; --panel: #ffffff; --sidebar: #171717; --sidebar-soft: #242424; --text: #202123; --muted: #6f6f6f; --line: #deded8; --accent: #10a37f; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; color: var(--text); background: var(--bg); font-family: Arial, "Malgun Gothic", sans-serif; } .sidebar { min-height: 100vh; padding: 12px; color: white; background: var(--sidebar); display: flex; flex-direction: column; gap: 12px; } .new-chat, .history-item { width: 100%; min-height: 42px; border: 1px solid #3a3a3a; border-radius: 8px; color: white; background: transparent; text-align: left; padding: 0 12px; font-size: 14px; cursor: pointer; } .history { flex: 1; } .history-item.active { background: var(--sidebar-soft); } .model { padding: 12px; border-top: 1px solid #333; color: #cfcfcf; font-size: 13px; } .chat-shell { min-width: 0; min-height: 100vh; display: grid; grid-template-rows: 58px 1fr auto; } .topbar { display: flex; align-items: center; padding: 0 24px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, 0.8); } .topbar div { display: flex; flex-direction: column; gap: 2px; } .topbar span { color: var(--muted); font-size: 13px; } .messages { width: min(860px, 100%); margin: 0 auto; padding: 28px 20px 120px; overflow: auto; } .message { display: grid; grid-template-columns: 34px 1fr; gap: 14px; margin: 0 0 24px; } .avatar { width: 34px; height: 34px; border-radius: 6px; display: grid; place-items: center; color: white; background: var(--accent); font-weight: 700; } .message.user .avatar { background: #565869; } .bubble { max-width: 100%; padding: 6px 0; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; } .composer { position: fixed; left: 260px; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr auto; gap: 10px; width: min(860px, calc(100% - 300px)); margin: 0 auto; padding: 18px 20px 22px; background: linear-gradient(to top, var(--bg) 80%, rgba(247, 247, 244, 0)); } textarea { min-height: 52px; max-height: 180px; resize: none; border: 1px solid var(--line); border-radius: 8px; padding: 14px 16px; font: inherit; line-height: 1.4; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08); } textarea:focus { border-color: var(--accent); outline: none; } #sendButton { align-self: end; min-width: 72px; height: 52px; border: 0; border-radius: 8px; color: white; background: var(--accent); font-weight: 700; cursor: pointer; } #sendButton:disabled { cursor: wait; opacity: 0.6; } @media (max-width: 720px) { body { grid-template-columns: 1fr; } .sidebar { display: none; } .composer { left: 0; width: 100%; } }