:root{--bg: #0b0e14;--panel: #131822;--border: #232a36;--text: #e6e9ef;--muted: #8b93a3;--accent: #4f8cff;--user: #1d2636;--assistant: #161b26;--error: #ff6b6b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{max-width:820px;margin:0 auto;height:100%;display:flex;flex-direction:column;padding:0 16px}.header{display:flex;align-items:baseline;gap:12px;padding:20px 4px 14px;border-bottom:1px solid var(--border)}.brand{font-weight:800;letter-spacing:2px;color:var(--accent)}.subtitle{color:var(--muted);font-size:14px}.messages{flex:1;overflow-y:auto;padding:18px 2px;display:flex;flex-direction:column;gap:14px}.empty{color:var(--muted);margin:auto;text-align:center}.empty .hint{font-size:13px;opacity:.7}.msg{display:flex;flex-direction:column;gap:6px}.msg.user{align-items:flex-end}.msg.assistant{align-items:flex-start}.bubble{max-width:88%;padding:11px 14px;border-radius:14px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.msg.user .bubble{background:var(--user);border:1px solid var(--border)}.msg.assistant .bubble{background:var(--assistant);border:1px solid var(--border)}.bubble.error{background:#2a1414;border-color:#4a2020;color:var(--error)}.bubble.typing{color:var(--muted);letter-spacing:2px}.toolchip{font-size:12px;color:var(--muted);background:#10151e;border:1px solid var(--border);border-radius:999px;padding:3px 10px;align-self:flex-start}.composer{display:flex;gap:10px;padding:12px 0;border-top:1px solid var(--border)}.composer textarea{flex:1;resize:none;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font:inherit;max-height:160px}.composer textarea:focus{outline:none;border-color:var(--accent)}.composer button{background:var(--accent);color:#fff;border:none;border-radius:12px;padding:0 18px;font-weight:600;cursor:pointer}.composer button:disabled{opacity:.5;cursor:default}.disclaimer{color:var(--muted);font-size:12px;text-align:center;padding:0 0 12px}.bubble.markdown{white-space:normal}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:14px 0 8px;line-height:1.3}.markdown h1{font-size:20px}.markdown h2{font-size:18px}.markdown h3{font-size:15px;color:#cdd3df}.markdown h4{font-size:14px;color:var(--muted)}.markdown p{margin:8px 0}.markdown ul,.markdown ol{margin:8px 0;padding-left:22px}.markdown li{margin:3px 0}.markdown strong{color:#fff}.markdown a{color:var(--accent)}.markdown code{background:#0c1018;border:1px solid var(--border);border-radius:5px;padding:1px 5px;font-size:13px}.markdown pre{background:#0c1018;border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto}.markdown pre code{background:none;border:none;padding:0}.markdown hr{border:none;border-top:1px solid var(--border);margin:14px 0}.markdown table{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px;text-align:left;vertical-align:top}.markdown th{background:#0f141d;font-weight:600}.markdown blockquote{margin:8px 0;padding-left:12px;border-left:3px solid var(--border);color:var(--muted)}
