:root{--bg: #0d0e14;--bg-raised: #151722;--bg-hover: #1c1f2e;--border: #262a3b;--text: #e6e7ee;--text-dim: #8b8fa3;--accent: #7c6cff;--accent-dim: #5a4dd1;--ok: #4ade80;--err: #f87171;--run: #facc15}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font:14px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.app{display:flex;height:100%}.sidebar{width:260px;min-width:260px;background:var(--bg-raised);border-right:1px solid var(--border);display:flex;flex-direction:column}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px}.brand{font-weight:700;letter-spacing:.02em;color:var(--accent)}.conn{width:8px;height:8px;border-radius:50%}.conn.on{background:var(--ok)}.conn.off{background:var(--err)}.sidebar-head-actions{display:flex;align-items:center;gap:8px}.icon-btn{border:none;background:none;color:var(--text-dim);font-size:14px;cursor:pointer;padding:2px 4px;border-radius:6px}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.btn-new{margin:0 12px 12px;padding:8px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-new:hover{background:var(--accent-dim)}.agent-picker{margin:0 12px 12px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:6px}.picker-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}.agent-option{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:13px}.agent-option:hover{background:var(--bg-hover)}.agent-option.selected{background:var(--bg-hover);outline:1px solid var(--accent)}.agent-option.disabled{opacity:.45;cursor:not-allowed}.agent-tag{flex-shrink:0;font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px}.agent-tag.local,.agent-tag:not(.docker){background:#4ade801f;color:var(--ok)}.agent-tag.docker{background:#7c6cff29;color:var(--accent)}.agent-label{flex:1}.agent-unavail{font-size:11px;color:var(--err)}.btn-picker-create{margin-top:4px;padding:7px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.btn-picker-create:disabled{opacity:.4;cursor:default}.conv-list{flex:1;overflow-y:auto;padding:0 8px 8px}.conv-item{display:flex;align-items:center;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--text-dim)}.conv-item:hover{background:var(--bg-hover)}.conv-item.active{background:var(--bg-hover);color:var(--text)}.conv-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-archive{border:none;background:none;color:var(--text-dim);font-size:15px;cursor:pointer;opacity:0;padding:0 4px}.conv-item:hover .conv-archive{opacity:1}.conv-archive:hover{color:var(--err)}.main{flex:1;display:flex;flex-direction:column;min-width:0}.stream{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:14px}.turn{display:flex;flex-direction:column;gap:8px}.bubble{max-width:78%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;word-break:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--bg-raised);border:1px solid var(--border);border-bottom-left-radius:4px}.bubble.typing{color:var(--accent);animation:blink 1s infinite}@keyframes blink{50%{opacity:.2}}.bubble.error{align-self:flex-start;background:#f871711a;border:1px solid var(--err);color:var(--err);font-size:13px}.bubble.cancelled{align-self:flex-start;color:var(--text-dim);font-size:13px;background:none;border:1px dashed var(--border)}.tool-card{align-self:flex-start;width:78%;max-width:640px;border:1px solid var(--border);border-radius:10px;background:var(--bg-raised);overflow:hidden}.tool-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:none;border:none;color:var(--text);font:inherit;font-size:13px;cursor:pointer;text-align:left}.tool-head:hover{background:var(--bg-hover)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-run{background:var(--run);animation:blink 1s infinite}.dot-ok{background:var(--ok)}.dot-err{background:var(--err)}.tool-name{font-weight:600;color:var(--accent);flex-shrink:0}.tool-args{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.tool-meta{flex-shrink:0;color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums}.tool-body{border-top:1px solid var(--border);padding:10px 12px;max-height:320px;overflow-y:auto}.tool-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:6px 0 4px}.tool-body pre{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--text)}.artifact-link{display:inline-block;margin-top:6px;font-size:12px;color:var(--accent)}.tool-seq{align-self:flex-start;width:78%;max-width:640px;display:flex;flex-direction:column;gap:6px}.tool-seq .tool-card{width:100%;max-width:none}.tool-group{border:1px dashed var(--border);border-radius:10px;background:#15172299;overflow:hidden}.tool-group.open{border-style:solid;background:var(--bg-raised)}.tool-group-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;background:none;border:none;color:var(--text-dim);font:inherit;font-size:12px;cursor:pointer;text-align:left}.tool-group-head:hover{background:var(--bg-hover)}.tri{display:inline-block;transition:transform .15s;font-size:10px}.tri.down{transform:rotate(90deg)}.tool-group-count{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.tool-group-err{color:var(--err);font-size:11px}.tool-group-body{border-top:1px solid var(--border);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.composer{display:flex;gap:10px;padding:14px 24px;border-top:1px solid var(--border);background:var(--bg-raised);align-items:flex-end}.composer-side{flex-shrink:0}.model-select{max-width:200px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text-dim);font-size:12px;padding:8px 6px}.model-select:focus{outline:none;border-color:var(--accent)}.composer textarea{flex:1;resize:none;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text);font:inherit;padding:10px 12px}.composer textarea:focus{outline:none;border-color:var(--accent)}.btn-send,.btn-cancel{align-self:flex-end;padding:10px 20px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}.btn-send{background:var(--accent);color:#fff}.btn-send:disabled{opacity:.4;cursor:default}.btn-cancel{background:#f8717126;color:var(--err);border:1px solid var(--err)}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-dim)}.empty-icon{font-size:40px;color:var(--accent)}@media(max-width:640px){.sidebar{width:200px;min-width:200px}.bubble{max-width:92%}.tool-card{width:92%}}.stats-bar{display:flex;gap:14px;padding:6px 24px 0;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.stat.warn{color:var(--err);font-weight:600}.loading-hint{color:var(--text-dim);font-size:12px;animation:blink 1s infinite}
