:root{--bg: #0f1115;--panel: #161922;--panel-2: #1c2030;--text: #e7ecf3;--muted: #8b95ab;--accent: #6aa9ff;--accent-2: #4a86d8;--danger: #ff6b6b;--warn: #ffcc66;--ok: #6ee7a7;--border: #262b3b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer}button:disabled{opacity:.5;cursor:default}input,textarea{font:inherit;color:inherit;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px}input:focus,textarea:focus{outline:2px solid var(--accent-2);outline-offset:0}.app{display:grid;grid-template-columns:280px 1fr;height:100vh}.sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--panel)}.new-chat{margin:12px;background:var(--accent-2);border-color:var(--accent-2);color:#fff;font-weight:600}.new-chat:hover{background:var(--accent)}.session-list{flex:1;overflow-y:auto;padding:0 8px}.empty{color:var(--muted);padding:12px;font-size:13px}.session-row{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:6px;cursor:pointer}.session-row:hover,.session-row.active{background:var(--panel-2)}.session-title{flex:1;border:none;background:transparent;text-align:left;padding:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.session-edit{flex:1}.session-actions{display:flex;gap:4px;opacity:0;transition:opacity .1s}.session-row:hover .session-actions,.session-row.active .session-actions{opacity:1}.session-actions button{padding:2px 6px}.user-id{border-top:1px solid var(--border);padding:12px;font-size:13px}.user-id label{color:var(--muted);display:block;margin-bottom:4px}.user-id-row{display:flex;gap:6px}.user-id-row input{flex:1;min-width:0}.main{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border)}.topbar-title{font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-pill{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);padding:4px 10px;border:1px solid var(--border);border-radius:999px}.status-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-pill.connected .dot{background:var(--ok)}.status-pill.connecting .dot,.status-pill.reconnecting .dot{background:var(--warn)}.status-pill.error .dot{background:var(--danger)}.files-hydrated{color:var(--muted);margin-left:6px}.banner{background:#ff6b6b26;color:var(--danger);padding:8px 16px;display:flex;justify-content:space-between;border-bottom:1px solid var(--border)}.banner button{border-color:#ff6b6b80;color:var(--danger)}.chat-panel{flex:1;display:flex;flex-direction:column;min-height:0}.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.chat-empty{color:var(--muted);text-align:center;margin:auto}.turn{display:flex;flex-direction:column;gap:8px}.bubble{max-width:760px;border-radius:12px;padding:12px 16px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent-2);color:#fff}.bubble.assistant{align-self:flex-start;background:var(--panel);border:1px solid var(--border)}.bubble.assistant.error{border-color:#ff6b6b80}.bubble-content{display:flex;flex-direction:column;gap:8px}.text-part{white-space:pre-wrap}.dim{color:var(--muted);font-style:italic}.usage{color:var(--muted);font-size:11px;margin-top:4px}.thought{color:var(--muted);font-style:italic;border-left:2px solid var(--border);padding-left:10px;font-size:13px}.tool{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel-2)}.tool.fail{border-color:#ff6b6b80}.tool-header{width:100%;border:none;background:transparent;padding:8px 10px;text-align:left;display:flex;align-items:center;gap:8px}.tool-header:hover{background:#ffffff08}.caret{color:var(--muted)}.tool-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.tool-status{margin-left:auto;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.tool-status.ok{color:var(--ok)}.tool-status.fail{color:var(--danger)}.tool-body{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:6px}.tool-label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.tool-body pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:240px;overflow-y:auto}.ask{background:#6aa9ff14;border:1px solid rgba(106,169,255,.4);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:12px}.ask-block{display:flex;flex-direction:column;gap:6px}.ask-block input{width:100%}.ask-question{font-weight:500}.ask-q-index{color:var(--muted);margin-right:6px}.ask-options{display:flex;gap:6px;flex-wrap:wrap}.ask-option{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;max-width:100%;transition:background .12s ease,border-color .12s ease}.ask-option:hover{background:#6aa9ff1f;border-color:#6aa9ff99}.ask-option.selected{background:#6aa9ff40;border-color:var(--accent-2)}.ask-option-label{font-weight:500}.ask-option-desc{color:var(--muted);font-size:.85em}.ask.answered{background:var(--panel-2);border-color:var(--border)}.ask-pair{display:flex;flex-direction:column;gap:2px}.ask-answer{color:var(--muted);font-style:italic}.error-line{color:var(--danger)}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);background:var(--panel)}.composer textarea{flex:1;min-height:44px;max-height:200px;resize:vertical;font-family:inherit}.composer button{align-self:flex-end;background:var(--accent-2);border-color:var(--accent-2);color:#fff;font-weight:600}.composer button:disabled{background:var(--panel-2);border-color:var(--border);color:var(--muted)}
