.citation-overlay[data-v-8e636ead]{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.35);display:flex;justify-content:flex-end;z-index:1200}.citation-drawer[data-v-8e636ead]{width:min(930px,92vw);max-width:92vw;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 16px rgba(0,0,0,.12)}.drawer-header[data-v-8e636ead]{padding:14px 18px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-shrink:0}.doc-label[data-v-8e636ead]{font-size:14px;font-weight:600;color:#1f1f1f}.icon-btn[data-v-8e636ead]{cursor:pointer;width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:6px;background:#f9fafb;color:#666}.icon-btn[data-v-8e636ead]:hover{border-color:#9ca3af;color:#333}.icon-btn svg[data-v-8e636ead]{width:16px;height:16px;fill:currentColor}.drawer-frame[data-v-8e636ead]{flex:1;min-height:0}.rag-frame[data-v-8e636ead]{width:100%;height:100%;border:none;display:block;background:#fff}.todo-panel[data-v-d4a71907]{border-left-color:var(--accent)}.todo-priority[data-v-d4a71907]{font-size:10px;padding:1px 6px;border-radius:8px;margin-left:6px;opacity:.85}.todo-priority.high[data-v-d4a71907]{background:var(--danger);color:#fff}.todo-priority.medium[data-v-d4a71907]{background:var(--accent-soft);color:var(--accent)}.todo-priority.low[data-v-d4a71907]{background:rgba(128,128,128,.2);color:var(--text-dim)}.card-container[data-v-9e4d4530]{background-color:#fff;width:100%;max-width:600px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.05);overflow:hidden;display:flex;flex-direction:column}.header[data-v-9e4d4530]{padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.progress-text[data-v-9e4d4530]{font-size:14px;color:#333;font-weight:500}.header-actions[data-v-9e4d4530]{display:flex;gap:16px;color:#666}.icon-btn[data-v-9e4d4530]{cursor:pointer;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;color:#666;transition:all .2s}.icon-btn[data-v-9e4d4530]:hover{border-color:#9ca3af;color:#333}.icon-btn svg[data-v-9e4d4530]{width:16px;height:16px;fill:currentColor}.content[data-v-9e4d4530]{padding:0 24px 20px}.question-title[data-v-9e4d4530]{font-size:16px;font-weight:700;margin-bottom:8px;color:#1f1f1f}.question-subtitle[data-v-9e4d4530]{font-size:13px;color:#888;margin-bottom:20px}.options-group[data-v-9e4d4530]{display:flex;flex-direction:column;gap:12px}.submit-error[data-v-9e4d4530]{color:#dc2626;font-size:13px;margin-top:12px}.option-item[data-v-9e4d4530]{border:1px solid #e5e7eb;border-radius:6px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:flex-start}.option-item.selected[data-v-9e4d4530]{border-color:#3b82f6;background-color:#eff6ff}.option-item input[type=radio][data-v-9e4d4530]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid #d1d5db;border-radius:50%;margin-right:12px;margin-top:2px;position:relative;flex-shrink:0;background:#fff;cursor:pointer}.option-item input[type=radio][data-v-9e4d4530]:checked{border-color:#3b82f6}.option-item input[type=radio][data-v-9e4d4530]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background-color:#3b82f6;border-radius:50%}.option-item input[type=checkbox][data-v-9e4d4530]{appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;margin-right:12px;margin-top:2px;position:relative;flex-shrink:0;background:#fff;cursor:pointer}.option-item input[type=checkbox][data-v-9e4d4530]:checked{border-color:#3b82f6;background-color:#3b82f6}.option-item input[type=checkbox][data-v-9e4d4530]:checked:after{content:"";position:absolute;top:3px;left:5px;width:5px;height:9px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.option-content[data-v-9e4d4530]{flex:1}.option-title[data-v-9e4d4530]{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.option-desc[data-v-9e4d4530]{font-size:12px;color:#888;line-height:1.4}.custom-input-wrapper[data-v-9e4d4530]{margin-top:8px;display:none}.option-item.selected .custom-input-wrapper[data-v-9e4d4530]{display:block}.custom-text-input[data-v-9e4d4530]{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;outline:none;background:#fff}.custom-text-input[data-v-9e4d4530]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.footer[data-v-9e4d4530]{padding:16px 24px;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center;gap:12px;background-color:#fafafa}.footer-left[data-v-9e4d4530]{display:flex;gap:12px;align-items:center}.btn-text[data-v-9e4d4530]{background:none;border:none;font-size:14px;color:#333;cursor:pointer;padding:8px 16px;border-radius:4px}.btn-text[data-v-9e4d4530]:hover{background-color:#f3f4f6}.btn-primary[data-v-9e4d4530]{background-color:#fff;border:1px solid #d1d5db;color:#333;font-size:14px;padding:8px 20px;border-radius:4px;cursor:pointer;transition:all .2s}.btn-primary[data-v-9e4d4530]:hover{border-color:#9ca3af;background-color:#f9fafb}.file-icon[data-v-90b08c70]{width:16px;height:16px;flex-shrink:0;display:block}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}:root{--bg-body: #ffffff;--bg-sidebar: #f7f7f8;--bg-panel: #ffffff;--bg-input: #f3f4f6;--border: #e5e5e5;--text-primary: #111827;--text-secondary: #6b7280;--accent: #9333ea;--accent-soft: #f3e8ff;--accent-indigo: #4f46e5;--accent-indigo-soft: #e0e7ff;--accent-green: #16a34a;--accent-green-soft: #dcfce7;--danger: #cf222e;--user-msg-bg: #f9fafb;--input-border: #e5e7eb;--code-bg: #f3f4f6;--tool-bg: #f9fafb;--tool-border: #e5e7eb;--diff-add-bg: #e3fae1;--diff-add-text: #3a8437;--diff-del-bg: #feefeb;--diff-del-text: #ed4831;--diff-hunk-bg: #eaf4ff;--diff-num-bg: #f6f8fa;--msg-max-width: 900px}html[data-theme=dark]{--bg-body: #0d1117;--bg-sidebar: #161b22;--bg-panel: #161b22;--bg-input: #1f2630;--border: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--accent: #d2a8ff;--accent-soft: #2d2133;--accent-indigo: #7c82ff;--accent-indigo-soft: #1e2248;--accent-green: #3fb950;--accent-green-soft: #14321f;--danger: #f85149;--user-msg-bg: #1c2129;--input-border: #30363d;--code-bg: #161b22;--tool-bg: #161b22;--tool-border: #30363d;--diff-add-bg: #1a2919;--diff-add-text: #9bcd97;--diff-del-bg: #42120b;--diff-del-text: #faa494;--diff-hunk-bg: #0c1928;--diff-num-bg: #161b22}html,body,#app{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Microsoft YaHei,sans-serif;background:var(--bg-body);color:var(--text-primary);font-size:14px;transition:background .2s,color .2s}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}.app-layout{display:flex;height:100%;width:100%}.workspace-panel{width:60px;min-width:60px;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding-top:18px;padding-bottom:18px;position:relative}.ws-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;border-radius:8px;cursor:pointer;color:var(--text-secondary);font-weight:600;font-size:16px;background:var(--bg-panel);border:1px solid var(--border)}.ws-icon:hover{border-color:var(--accent)}.ws-icon.purple-bg{background:var(--accent-soft);color:var(--accent);border-color:transparent}.ws-icon.green-bg{background:var(--accent-green-soft);color:var(--accent-green);border-color:transparent}.ws-icon.indigo-bg{background:var(--accent-indigo-soft);color:var(--accent-indigo);border-color:transparent}.ws-icon.active{box-shadow:0 0 0 2px var(--accent)}.ws-icon.add-icon{font-size:22px;color:var(--text-secondary)}.ws-context-menu{position:fixed;z-index:200;min-width:200px;max-width:min(320px,calc(100vw - 16px));background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:6px;font-size:13px;user-select:none;-webkit-user-select:none}.ws-context-title{padding:6px 10px 8px;font-size:12px;color:var(--text-secondary);border-bottom:1px solid var(--border);margin-bottom:4px;word-break:break-all;line-height:1.4}.ws-context-item{padding:8px 10px;border-radius:6px;cursor:pointer;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-context-item:hover{background:var(--bg-input)}.ws-context-item.danger{color:var(--danger, #e5484d)}.ws-context-item.danger:hover{background:rgba(229,72,77,.1)}.ws-context-item.disabled,.ws-context-item.disabled:hover{opacity:.45;cursor:not-allowed;background:transparent}.sidebar-spacer{flex-grow:1}.ws-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}.ws-dialog{width:480px;max-width:calc(100vw - 40px);background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.15);padding:18px}.ws-dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ws-dialog-header h3{font-size:15px;font-weight:600}.dialog-close{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-secondary)}.ws-dialog-input{display:flex;gap:8px;margin-bottom:14px}.ws-dialog-input .ws-input{flex:1}.ws-dialog-recents{max-height:280px;overflow-y:auto;margin-bottom:12px}.ws-dialog-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.ws-dialog-item{display:flex;align-items:center;gap:10px;padding:8px;border-radius:6px;cursor:pointer;font-size:13px}.ws-dialog-item:hover{background:var(--bg-input)}.ws-dialog-item.active{background:var(--accent-soft);color:var(--accent)}.ws-dialog-letter{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:13px}.ws-dialog-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ws-dialog-current{font-size:12px;color:var(--text-secondary);border-top:1px solid var(--border);padding-top:12px}.ws-dialog-current code{color:var(--text-primary)}.new-ws-pop{position:absolute;top:50px;left:64px;z-index:50;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px;display:flex;flex-direction:column;gap:8px;width:280px}.sidebar{width:260px;min-width:260px;background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column}.workspace-box{padding:14px 14px 8px;border-bottom:1px solid var(--border)}.ws-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.ws-row{display:flex;gap:6px}.ws-input{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);padding:6px 9px;font-size:12.5px;outline:none}.ws-input:focus{border-color:var(--accent)}.ws-current-row{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px;border-radius:6px}.ws-current-row:hover{background:var(--bg-input)}.ws-current{flex:1;font-size:12.5px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-edit{color:var(--text-secondary);font-size:12px}.recent-box{padding:10px 14px;border-bottom:1px solid var(--border);max-height:200px;overflow-y:auto}.recent-item{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:6px;cursor:pointer;font-size:12.5px;color:var(--text-primary);margin-bottom:2px}.recent-item:hover{background:var(--bg-input)}.recent-item.active{background:var(--accent-indigo-soft);color:var(--accent-indigo)}.recent-icon{color:var(--text-secondary);font-size:13px}.recent-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-actions{padding:8px 14px}.btn{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:13px}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-danger{color:var(--danger)}.btn-small{padding:3px 8px;font-size:12px}.session-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 4px}.session-title{font-size:13px;font-weight:600;color:var(--text-primary)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;height:32px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;cursor:pointer}.icon-btn:hover{border-color:var(--accent);color:var(--accent)}.session-list{flex:1;overflow-y:auto;padding:6px 8px 8px}.session-item{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:6px;cursor:pointer;margin-bottom:2px;background:transparent}.session-item:hover{background:var(--bg-input)}.session-item.active{background:var(--accent-indigo-soft)}.session-item.active .title{color:var(--accent-indigo)}.session-item.running .title{color:var(--accent);font-weight:600}.run-spinner{flex-shrink:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:session-spin .8s linear infinite}@keyframes session-spin{to{transform:rotate(360deg)}}.session-item .title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--text-primary)}.delete-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;opacity:0}.session-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--danger);background:var(--bg-input)}.main-area{flex:1;display:flex;flex-direction:column;min-width:0}.toolbar{height:50px;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:10px;background:var(--bg-panel)}.toolbar .title{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.token-count{font-size:12px;color:var(--text-dim, #999);background:var(--bg-hover, rgba(0,0,0,.06));border-radius:10px;padding:2px 8px;white-space:nowrap}.panel-toggle{display:flex;gap:6px;align-items:center}.panel-toggle .btn.active{border-color:var(--accent);color:var(--accent)}.mcp-btn{display:flex;align-items:center;gap:4px}.mcp-count{background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:0 5px;font-size:11px;line-height:16px}.chat-view{position:relative;flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.chat-scroll{flex:1;overflow-y:auto;padding:24px 6%}@media (max-width: 1000px){.chat-scroll{padding:20px 4%}}.msg-nav{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:30}.msg-nav:before{content:"";position:absolute;top:-6px;bottom:-6px;right:100%;width:14px}.msg-nav-trigger{width:28px;height:46px;border-radius:9px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 2px 10px rgba(0,0,0,.08);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.55;transition:opacity .15s,border-color .15s,color .15s}.msg-nav:hover .msg-nav-trigger{opacity:1;border-color:var(--accent);color:var(--accent)}.msg-nav-trigger svg{width:16px;height:16px}.msg-nav-panel{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:260px;max-height:60vh;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 32px rgba(0,0,0,.14);display:flex;flex-direction:column;overflow:hidden;animation:msg-nav-in .15s ease-out}@keyframes msg-nav-in{0%{opacity:0;transform:translateY(-50%) translate(6px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.msg-nav-title{padding:10px 12px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.msg-nav-list{overflow-y:auto;padding:6px}.msg-nav-item{display:block;width:100%;text-align:left;border:none;background:none;padding:7px 10px;border-radius:6px;font-size:12.5px;line-height:1.4;color:var(--text-secondary);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-nav-item:hover{background:var(--bg-input);color:var(--text-primary)}.msg-nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.msg{display:flex;position:relative;margin-bottom:20px;max-width:1000px;animation:msg-in .15s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-meta{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.msg-body{flex:1;min-width:0}.msg-text{line-height:1.7;word-break:break-word;font-size:14px}.msg-text p{margin:0 0 12px}.msg-text p:last-child{margin-bottom:0}.msg-text a{color:var(--accent-indigo)}.msg-text strong{font-weight:600}.msg-text .citation-ref{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin:0 2px;font-size:11px;line-height:1;font-weight:600;color:var(--accent-indigo);background:rgba(79,70,229,.1);border:1px solid rgba(79,70,229,.35);border-radius:4px;cursor:pointer;vertical-align:text-bottom;transition:background .15s,color .15s}.msg-text .citation-ref:hover{color:#fff;background:var(--accent-indigo)}.msg-text code:not(.hljs){font-family:ui-monospace,Consolas,monospace;background-color:rgba(0,0,0,.05);border-radius:4px;padding:2px 5px;color:var(--accent);font-size:.9em}.msg-text pre.code-block{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:12px;overflow-x:auto;margin:0 0 12px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.msg-text pre.code-block code.hljs{background:none;padding:0;font-size:13px;line-height:1.6;display:block}.msg-text h1,.msg-text h2,.msg-text h3,.msg-text h4{font-weight:600;margin:16px 0 8px;line-height:1.3}.msg-text h1{font-size:1.4em;border-bottom:1px solid var(--border);padding-bottom:6px}.msg-text h2{font-size:1.25em;border-bottom:1px solid var(--border);padding-bottom:4px}.msg-text h3{font-size:1.1em}.msg-text h4{font-size:1em}.msg-text ul,.msg-text ol{margin:0 0 12px;padding-left:22px}.msg-text li{margin-bottom:4px}.msg-text blockquote{margin:0 0 12px;padding:2px 14px;border-left:3px solid var(--border);color:var(--text-secondary)}.msg-text table{border-collapse:collapse;margin:0 0 12px;width:100%;font-size:13px}.msg-text th,.msg-text td{border:1px solid var(--border);padding:6px 10px;text-align:left}.msg-text th{background:var(--bg-input);font-weight:600}.msg-text hr{border:none;border-top:1px solid var(--border);margin:16px 0}.msg-text .code-block{position:relative}.msg-text pre:has(>code[class*=language-]){padding-top:8px}.user-quote-box{background:var(--user-msg-bg);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-size:14px;color:var(--text-primary)}.msg-deletable .msg-delete{opacity:0;pointer-events:none}.msg-deletable:hover .msg-delete,.msg-deletable:focus-within .msg-delete{opacity:1;pointer-events:auto}.msg-delete{position:absolute;bottom:6px;right:8px;z-index:2;background:#e5484d;border:1px solid #e5484d;border-radius:5px;padding:1px 6px;font-size:11px;line-height:1.5;color:#fff;cursor:pointer;transition:opacity .15s,background .15s,border-color .15s}.msg-delete:hover{background:#c9373c;border-color:#c9373c;color:#fff}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.attachment{display:inline-flex;align-items:center;max-width:220px}.attachment-img{max-width:220px;max-height:160px;border-radius:8px;border:1px solid var(--border);object-fit:contain}.attachment-name{background:var(--tool-bg);border:1px solid var(--tool-border);border-radius:6px;padding:4px 9px;font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg.streaming .msg-text:after{content:"▋";color:var(--accent);margin-left:1px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.compaction-card{border:1px dashed var(--tool-border);background:var(--bg-input);border-radius:8px;margin:4px 0 8px;overflow:hidden}.compaction-header{display:flex;align-items:center;gap:8px;padding:8px 11px;font-size:13px;cursor:pointer;user-select:none;color:var(--text-secondary)}.compaction-header:hover{background:var(--bg-panel)}.compaction-header .chevron{font-size:11px}.compaction-header .compaction-title{font-weight:600;color:var(--accent-indigo)}.compaction-header .compaction-hint{font-size:11px;margin-left:auto;color:var(--text-tertiary, var(--text-secondary))}.msg-deletable .compaction-header{padding-right:34px}.compaction-body{border-top:1px solid var(--tool-border);padding:10px 12px;max-height:320px;overflow-y:auto}.reasoning-card{border:1px solid var(--tool-border);background:var(--bg-input);border-radius:8px;margin:4px 0 8px;overflow:hidden;opacity:.92}.reasoning-header{display:flex;align-items:center;gap:8px;padding:7px 11px;font-size:12.5px;cursor:pointer;user-select:none;color:var(--text-secondary)}.reasoning-header:hover{background:var(--bg-panel)}.reasoning-header .chevron{font-size:11px}.reasoning-header .reasoning-title{font-weight:600}.reasoning-header .reasoning-title.thinking{color:var(--accent-indigo, #6366f1);animation:reasoning-pulse 1.4s ease-in-out infinite}@keyframes reasoning-pulse{0%,to{opacity:1}50%{opacity:.45}}.reasoning-header .reasoning-hint{font-size:11px;margin-left:auto;color:var(--text-secondary)}.reasoning-body{border-top:1px solid var(--tool-border);padding:8px 12px;max-height:320px;overflow-y:auto}.reasoning-text{font-size:12.5px;line-height:1.55;color:var(--text-secondary)}.reasoning-text p{margin:0 0 4px}.reasoning-text p:last-child{margin-bottom:0}.tool-card{background:var(--tool-bg);border:1px solid var(--tool-border);border-radius:8px;margin:8px 0;overflow:hidden}.tool-card-header{display:flex;align-items:center;gap:8px;padding:7px 11px;font-size:13px;cursor:pointer;user-select:none}.tool-card-header:hover{background:var(--bg-input)}.tool-card-header .tool-icon{color:var(--text-secondary)}.tool-card-header .tool-name{font-weight:600;color:var(--accent-indigo)}.tool-card-header .tool-state{font-size:11px;color:var(--text-secondary);margin-left:auto}.tool-card-header .tool-state.running{color:var(--accent)}.tool-card .tool-args{padding:0 11px 8px;font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.tool-result-card{background:var(--tool-bg);border:1px solid var(--tool-border);border-radius:8px;margin:8px 0;overflow:hidden}.tool-result-card .tool-card-header,.tool-result-card .tool-card-header:hover{background:var(--accent-soft)}.tool-output{margin:0;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto}.tool-images{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;min-width:0;max-width:100%;overflow:hidden}.tool-images .tool-image{display:block;max-width:100%;height:auto;max-height:360px;width:auto;border-radius:8px;border:1px solid var(--border)}.msg-images{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:10px 0;min-width:0;max-width:100%}.msg-images .tool-image{display:block;max-width:100%;height:auto;max-height:480px;width:auto;border-radius:8px;border:1px solid var(--border)}.chevron{display:inline-block;width:14px;color:var(--text-secondary);font-size:12px}.msg.system .msg-text{color:var(--danger)}.composer{border-top:1px solid var(--border);padding:16px 6%;background:var(--bg-body)}@media (max-width: 1000px){.composer{padding:14px 4%}}.attach-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.attach-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:12px;color:var(--text-primary)}.attach-remove{border:none;background:none;color:var(--text-secondary);font-size:14px;line-height:1;padding:0}.prompt-box{display:flex;gap:8px;align-items:flex-end}.prompt-input{flex:1;background:var(--bg-panel);border:1px solid var(--input-border);border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,.05);color:var(--text-primary);padding:10px 12px;font-size:14px;resize:none;min-height:72px;max-height:180px;line-height:1.5;outline:none}.prompt-input:focus{border-color:var(--accent)}.send-btn{background:var(--text-primary);border:none;color:#fff;border-radius:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn.stop{background:#e5484d}.input-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.input-tools{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:13px;position:relative}.tool-select{display:flex;align-items:center;gap:4px;cursor:pointer;padding:4px 8px;border-radius:6px}.tool-select:hover,.tool-select.open{background:var(--bg-input)}.tool-select:disabled{opacity:.6;cursor:not-allowed}.caret{font-size:10px}.input-hint{font-size:11px;color:var(--text-secondary)}.hint-uploading{color:var(--accent)}.uploading-spin{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.dropdown{position:absolute;bottom:calc(100% + 6px);left:0;z-index:40;min-width:140px;max-height:240px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.12);padding:4px;display:flex;flex-direction:column}.model-dropdown{left:auto;right:0}.reasoning-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 8px;border:none;background:none;border-radius:6px;color:var(--text-secondary);font-size:13px;line-height:1;white-space:nowrap;transition:color .15s,background .15s}.reasoning-toggle:hover{background:var(--bg-input)}.reasoning-toggle .reasoning-emoji{font-size:14px;line-height:1;filter:grayscale(1);opacity:.7;transition:filter .18s ease,opacity .18s ease}.reasoning-toggle .reasoning-label{font-size:13px}.reasoning-toggle.on{color:var(--accent-indigo);font-weight:600}.reasoning-toggle.on .reasoning-emoji{filter:none;opacity:1}.reasoning-toggle .switch-track{position:relative;display:inline-block;width:28px;height:16px;border-radius:999px;background:var(--border);transition:background .18s ease}.reasoning-toggle .switch-knob{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .18s ease}.reasoning-toggle.on .switch-track{background:var(--accent-indigo)}.reasoning-toggle.on .switch-knob{transform:translate(12px)}.depth-select{white-space:nowrap}.depth-dropdown{left:auto;right:0;min-width:100px}.dropdown-item{text-align:left;background:none;border:none;border-radius:6px;padding:7px 10px;font-size:13px;color:var(--text-primary)}.dropdown-item:hover{background:var(--bg-input)}.dropdown-item.active{background:var(--accent-soft);color:var(--accent)}.dropdown-empty{padding:8px 10px;font-size:12px;color:var(--text-secondary)}.permission-dialog{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100}.permission-box{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:20px;width:420px;max-width:90vw}.permission-box h3{margin:0 0 10px}.perm-action{font-size:15px}.perm-hint{font-size:12px;color:var(--text-secondary);margin-top:-6px}.permission-box .actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.notification-stack{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;flex-direction:column;gap:8px;max-width:340px;max-height:60vh;overflow-y:auto;pointer-events:none}.notification-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;background:var(--bg-panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:10px 12px;box-shadow:0 4px 16px rgba(0,0,0,.18)}.notification-toast.permission{border-left-color:#e3b341}.notification-icon{font-size:16px;flex-shrink:0}.notification-body{flex:1;min-width:0}.notification-text{font-size:13px;color:var(--text-primary);line-height:1.4;word-break:break-word}.notification-actions{display:flex;gap:6px;flex-shrink:0}.toast-enter-active,.toast-leave-active{transition:opacity .25s,transform .25s}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(8px)}.terminal-panel{height:260px;border-top:1px solid var(--border);background:#000;display:flex;flex-direction:column;min-height:0}.terminal-panel .xterm{height:100%;padding:6px}.terminal-toolbar{display:flex;align-items:center;gap:8px;height:36px;min-height:36px;padding:0 10px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.terminal-status{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);flex-shrink:0}.term-status-dot{width:8px;height:8px;border-radius:50%;background:#888;flex-shrink:0}.terminal-status.connecting .term-status-dot{background:#e3b341;animation:term-blink 1s steps(1) infinite}.terminal-status.open .term-status-dot{background:var(--accent-green)}.terminal-status.closed .term-status-dot{background:var(--danger)}.terminal-status.exited .term-status-dot{background:#888}@keyframes term-blink{50%{opacity:.3}}.terminal-title{flex:1;min-width:0;font-size:12px;color:var(--text-secondary);font-family:ui-monospace,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.term-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;cursor:pointer;line-height:1;padding:0}.term-btn:hover{border-color:var(--accent);color:var(--accent)}.term-btn:active{background:var(--bg-panel)}.terminal-quickcmds{display:none;align-items:center;gap:6px;padding:6px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.term-chip{flex-shrink:0;white-space:nowrap;font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-input);color:var(--text-primary);cursor:pointer}.term-chip:hover{border-color:var(--accent);color:var(--accent)}.term-chip:disabled{opacity:.5;cursor:not-allowed}.terminal-container{position:relative;flex:1;min-height:0;overflow:hidden;background:#000}.terminal-inner{height:100%;width:100%}.terminal-inner .xterm{height:100%}.term-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);color:#fff;font-size:13px;z-index:5;pointer-events:none;text-align:center;padding:0 16px}.terminal-resize-handle{display:block;height:5px;cursor:ns-resize;flex-shrink:0;background:var(--border)}.terminal-resize-handle:hover{background:var(--accent)}.terminal-panel.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:240;border-top:none}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online{background:var(--accent-green)}.status-dot.offline{background:#888}.status-dot.error{background:var(--danger)}.status-dot.streaming{background:#e3b341}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary)}.empty-state .hint{font-size:12px;color:var(--text-secondary)}.error-banner{background:rgba(207,34,46,.12);border-bottom:1px solid var(--danger);color:var(--danger);padding:8px 14px;font-size:13px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.error-banner .dismiss{font-size:16px;padding:0 4px}.conn-info{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typing-indicator{display:flex;align-items:center;gap:5px;padding:8px 14px;font-size:12px;color:var(--text-secondary)}.typing-indicator .dot{width:7px;height:7px;border-radius:50%;background:var(--text-secondary);animation:typing-blink 1.2s infinite ease-in-out}.typing-indicator .dot:nth-child(2){animation-delay:.2s}.typing-indicator .dot:nth-child(3){animation-delay:.4s}@keyframes typing-blink{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.plan-panel{background:var(--bg-panel);border-bottom:1px solid var(--border)}.plan-header{display:flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;cursor:pointer;user-select:none}.plan-header:hover{background:var(--bg-input)}.plan-title{font-weight:600}.plan-progress{margin-left:auto;font-size:12px;color:var(--text-secondary)}.plan-list{padding:0 14px 10px 34px}.plan-step{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:var(--text-secondary)}.plan-step.done{color:var(--accent-green)}.plan-step.running{color:var(--text-primary);font-weight:600}.plan-icon{width:16px;text-align:center}.mcp-box{width:560px}.mcp-header{display:flex;justify-content:space-between;align-items:center}.mcp-header h3{margin:0}.mcp-close{background:transparent;border:none;color:var(--text-secondary);font-size:14px;line-height:1;padding:4px 6px}.mcp-close:hover{color:var(--text-primary);background:var(--bg-input)}.mcp-type-switch{display:flex;gap:6px;margin:8px 0}.mcp-type-switch .btn{flex:1;justify-content:center}.mcp-type-switch .btn.active{border-color:var(--accent);color:var(--accent)}.mcp-hint{font-size:12px;color:var(--text-secondary);line-height:1.6}.mcp-hint code{background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:11px}.mcp-add{display:flex;flex-direction:column;gap:6px;margin:10px 0}.mcp-add .ws-input{padding:8px 10px;font-size:13px}.mcp-error{color:var(--danger);font-size:12px;margin-bottom:6px}.mcp-list{max-height:260px;overflow-y:auto;border-top:1px solid var(--border);padding-top:6px}.mcp-empty{color:var(--text-secondary);font-size:12px;padding:10px 0;text-align:center}.mcp-item{display:flex;justify-content:space-between;align-items:center;padding:8px 4px;border-bottom:1px solid var(--border)}.mcp-info{min-width:0;flex:1;margin-right:8px}.mcp-name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.mcp-badge{font-size:10px;font-weight:500;padding:1px 5px;border-radius:3px;line-height:1.4}.mcp-badge-local{background:var(--accent-soft);color:var(--accent)}.mcp-badge-remote{background:rgba(227,179,65,.2);color:#e3b341}.mcp-status-text{font-size:11px;color:var(--text-secondary)}.mcp-status-text.online{color:var(--accent-green)}.mcp-status-text.error{color:var(--danger)}.mcp-error-text{font-size:11px;color:var(--danger);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-detail{font-size:11.5px;color:var(--text-secondary);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-actions{display:flex;gap:5px}.diff-view{margin:8px 0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.diff-header{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;cursor:pointer;user-select:none;color:var(--text-secondary);background:var(--bg-panel)}.diff-header:hover{background:var(--bg-input)}.diff-view:not(.collapsed) .diff-header{border-bottom:1px solid var(--border)}.diff-header .chevron{font-size:10px;opacity:.7}.diff-path{display:flex;align-items:baseline;min-width:0;font-family:ui-monospace,Consolas,monospace}.diff-dir{color:var(--text-secondary)}.diff-name{color:var(--text-primary);font-weight:600}.diff-title{font-weight:600;color:var(--text-primary)}.diff-stats{margin-left:auto;display:flex;gap:8px;font-size:11px;font-family:ui-monospace,Consolas,monospace}.diff-stat-add{color:var(--diff-add-text)}.diff-stat-del{color:var(--diff-del-text)}.diff-body{max-height:360px;overflow-y:auto;background:var(--bg-body);font-family:ui-monospace,Consolas,monospace;font-size:12px}.diff-line{display:flex;line-height:1.6;white-space:pre}.diff-num{width:44px;min-width:44px;text-align:right;padding:0 8px;color:var(--text-secondary);background:var(--diff-num-bg);opacity:.75;user-select:none}.diff-marker{width:18px;min-width:18px;text-align:center;color:var(--text-secondary);user-select:none}.diff-code{flex:1;padding:0 12px 0 4px}.diff-add{background:var(--diff-add-bg)}.diff-add .diff-num{background:var(--diff-add-bg);opacity:.9}.diff-add .diff-marker,.diff-add .diff-code{color:var(--diff-add-text)}.diff-del{background:var(--diff-del-bg)}.diff-del .diff-num{background:var(--diff-del-bg);opacity:.9}.diff-del .diff-marker,.diff-del .diff-code{color:var(--diff-del-text)}.diff-hunk{background:var(--diff-hunk-bg)}.diff-hunk .diff-code,.diff-meta{color:var(--text-secondary)}.hljs{color:#24292e}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#d73a49}.hljs-string,.hljs-attr,.hljs-symbol,.hljs-regexp{color:#032f62}.hljs-comment,.hljs-quote{color:#6a737d;font-style:italic}.hljs-title,.hljs-name,.hljs-function .hljs-title{color:#6f42c1}.hljs-number,.hljs-literal{color:#005cc5}.hljs-built_in,.hljs-type,.hljs-variable,.hljs-template-variable{color:#e36209}.hljs-attribute{color:#24292e}.hljs-tag,.hljs-selector-class,.hljs-selector-id{color:#22863a}.hljs-meta,.hljs-section{color:#005cc5}.hljs-params{color:#24292e}html[data-theme=dark] .hljs{color:#c9d1d9}html[data-theme=dark] .hljs-keyword,html[data-theme=dark] .hljs-selector-tag,html[data-theme=dark] .hljs-subst{color:#ff7b72}html[data-theme=dark] .hljs-string,html[data-theme=dark] .hljs-attr,html[data-theme=dark] .hljs-symbol,html[data-theme=dark] .hljs-regexp{color:#a5d6ff}html[data-theme=dark] .hljs-comment,html[data-theme=dark] .hljs-quote{color:#8b949e;font-style:italic}html[data-theme=dark] .hljs-title,html[data-theme=dark] .hljs-name,html[data-theme=dark] .hljs-function .hljs-title{color:#d2a8ff}html[data-theme=dark] .hljs-number,html[data-theme=dark] .hljs-literal{color:#79c0ff}html[data-theme=dark] .hljs-built_in,html[data-theme=dark] .hljs-type,html[data-theme=dark] .hljs-variable,html[data-theme=dark] .hljs-template-variable{color:#ffa657}html[data-theme=dark] .hljs-tag,html[data-theme=dark] .hljs-selector-class,html[data-theme=dark] .hljs-selector-id{color:#7ee787}html[data-theme=dark] .hljs-meta,html[data-theme=dark] .hljs-section{color:#79c0ff}html[data-theme=dark] .hljs-params{color:#c9d1d9}.file-browser{width:300px;min-width:300px;background:var(--bg-sidebar);border-left:1px solid var(--border);display:flex;flex-direction:column}.file-browser-header{height:50px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--bg-panel);flex-shrink:0}.header-icon{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.file-browser-title{flex:1;font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.refresh-btn{width:26px;height:26px;padding:0;flex-shrink:0}.refresh-btn .refresh-icon{width:14px;height:14px}.refresh-btn.spinning .refresh-icon{animation:fb-spin 1s linear infinite}@keyframes fb-spin{to{transform:rotate(360deg)}}.file-browser-body{flex:1;overflow-y:auto;padding:6px}.fb-tree{padding:2px}.fb-row{display:flex;align-items:center;gap:6px;padding:5px 6px;border-radius:6px;font-size:13px;color:var(--text-primary);white-space:nowrap}.fb-row.dir,.fb-row.drawio{cursor:pointer}.fb-row:hover,.fb-row.open{background:var(--bg-input)}.fb-chevron{width:14px;height:14px;flex-shrink:0;color:var(--text-secondary);transition:transform .15s}.fb-chevron.open{transform:rotate(90deg)}.fb-chevron.hidden{visibility:hidden}.fb-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.fb-delete{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:#e5484d;border-radius:50%;font-size:15px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;padding:0}.fb-row:hover .fb-delete{opacity:1}.fb-delete:hover{background:rgba(229,72,77,.12)}.fb-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:13px;gap:10px;padding:20px;text-align:center}.fb-empty p{margin:0}.fb-empty-icon{width:32px;height:32px;color:var(--border)}.fb-skeletons{padding:8px;display:flex;flex-direction:column;gap:8px}.fb-skeleton{height:18px;border-radius:4px;background:var(--bg-input);animation:fb-pulse 1.4s ease-in-out infinite}@keyframes fb-pulse{0%,to{opacity:1}50%{opacity:.4}}.file-browser-footer{border-top:1px solid var(--border);padding:8px 12px;font-size:12px;color:var(--text-secondary);flex-shrink:0}.right-dock{width:320px;min-width:320px;background:var(--bg-sidebar);border-left:1px solid var(--border);display:flex;flex-direction:column}.dock-tabs{height:40px;flex-shrink:0;display:flex;align-items:center;gap:4px;padding:0 8px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.dock-tab{flex:1;height:26px;border:1px solid transparent;background:transparent;color:var(--text-secondary);border-radius:6px;font-size:12.5px;cursor:pointer}.dock-tab:hover{background:var(--bg-input);color:var(--text-primary)}.dock-tab.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.dock-close{flex-shrink:0;width:26px;height:26px;padding:0;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:13px;line-height:1}.dock-close:hover{color:var(--text-primary);background:var(--bg-input)}.dock-body{flex:1;min-height:0;display:flex;flex-direction:column}.dock-body>.file-browser{width:100%;min-width:0;border-left:none;flex:1;min-height:0}.mcp-panel{flex:1;min-height:0;display:flex;flex-direction:column}.mcp-box-dock{width:100%;max-width:none;flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:12px;overflow:hidden}.mcp-box-dock .mcp-list{max-height:none;flex:1}.kb-panel{flex:1;min-height:0;display:flex;flex-direction:column}.kb-box-dock{width:100%;max-width:none;flex:1;min-height:0;display:flex;flex-direction:column;margin:0;padding:12px;overflow:hidden}.kb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-shrink:0}.kb-header h3{margin:0;font-size:13px;color:var(--text-primary)}.kb-close{width:24px;height:24px;padding:0}.kb-login{display:flex;flex-direction:column;gap:8px}.kb-login-title{font-size:13px;color:var(--text-primary)}.kb-login-desc{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.kb-error{color:#ef6b73;font-size:12px;word-break:break-all}.kb-user{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;margin-bottom:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);flex-shrink:0}.kb-user-name{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-section{display:flex;flex-direction:column;min-height:0}.kb-section-title{font-size:12px;color:var(--text-secondary);margin-bottom:6px;flex-shrink:0}.kb-collections{flex:1;min-height:0}.kb-list{flex:1;min-height:0;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:4px;background:var(--bg-panel)}.kb-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:5px;cursor:pointer;font-size:12.5px;color:var(--text-primary)}.kb-item:hover{background:var(--bg-input)}.kb-item input{flex-shrink:0}.kb-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-item-count{font-size:11px;color:var(--text-secondary);flex-shrink:0}.kb-empty{padding:12px 8px;font-size:12px;color:var(--text-secondary);text-align:center}.kb-config{flex-shrink:0;margin-top:12px;gap:10px}.kb-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.kb-weight-values{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.kb-weight-hint{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.kb-slider{width:100%;accent-color:var(--accent)}.mobile-topbar,.drawer-backdrop{display:none}.mobile-sidebar-drawer{display:flex;flex-shrink:0}.mobile-drawer-header,.hint-mobile{display:none}@media (max-width: 820px){html,body,#app{height:100%}@supports (height: 100dvh){html,body,#app{height:100dvh}}body{overflow:hidden}.app-layout{flex-direction:column;min-height:0}.mobile-topbar{display:flex;align-items:center;gap:8px;height:50px;min-height:50px;flex-shrink:0;padding:0 10px;padding-left:calc(10px + env(safe-area-inset-left,0px));padding-right:calc(10px + env(safe-area-inset-right,0px));background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:10}.mobile-hamburger,.mobile-theme{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--border);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:16px;cursor:pointer}.mobile-hamburger svg{width:18px;height:18px}.mobile-hamburger:active,.mobile-theme:active{background:var(--bg-panel)}.mobile-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:14px}.mobile-topbar .conn-info{max-width:none}.mobile-topbar .token-count{flex-shrink:0;font-size:10.5px;padding:2px 7px;white-space:nowrap}.drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);z-index:290}.mobile-sidebar-drawer{position:fixed;top:0;left:0;bottom:0;width:min(84vw,340px);flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--border);transform:translate(-100%);transition:transform .25s ease;z-index:300;box-shadow:4px 0 24px rgba(0,0,0,.18)}.mobile-sidebar-drawer.open{transform:translate(0)}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 8px 0 14px;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.mobile-drawer-title{font-size:13px;font-weight:600;color:var(--text-primary)}.mobile-drawer-close{border:none;background:none;color:var(--text-secondary);font-size:16px;line-height:1;width:34px;height:34px;cursor:pointer}.mobile-drawer-close:active{background:var(--bg-input);border-radius:6px}.mobile-sidebar-drawer .workspace-panel{width:100%;min-width:0;flex-direction:row;align-items:center;padding:8px 10px;gap:6px;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-sidebar-drawer .workspace-panel .ws-icon{margin-bottom:0;flex-shrink:0;width:38px;height:38px;font-size:15px}.mobile-sidebar-drawer .workspace-panel .sidebar-spacer{display:none}.mobile-sidebar-drawer .sidebar{width:100%;min-width:0;min-height:0;flex:1;border-right:none}.main-area{width:100%;min-width:0;min-height:0;flex:1}.toolbar{height:auto;min-height:46px;padding:6px 8px;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.toolbar .title{white-space:nowrap}.toolbar .conn-info,.toolbar .token-count{display:none}.toolbar .btn,.toolbar .btn-small{white-space:nowrap;padding:5px 9px;font-size:12px}.chat-scroll{padding:16px 12px;min-height:0;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.msg{max-width:100%;margin-bottom:18px}.user-quote-box{padding:12px}.attachment,.attachment-img{max-width:100%}.msg-images .tool-image,.tool-images .tool-image{max-height:320px}.msg-text pre.code-block{font-size:12px}.msg-deletable .msg-delete,.delete-btn,.session-item .delete-btn,.fb-delete{opacity:1;pointer-events:auto}.msg-nav-trigger{opacity:.9;width:30px;height:40px;z-index:200}.msg-nav-panel{position:fixed;top:50%;right:12px;transform:translateY(-50%);width:min(280px,78vw);max-height:64vh;z-index:200;animation:none}.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.prompt-input{font-size:16px;min-height:56px;padding:12px}.input-footer{flex-wrap:wrap;gap:6px}.input-hint .hint-desktop{display:none}.input-hint .hint-mobile{display:inline}.input-tools{gap:8px}.reasoning-toggle .reasoning-label{display:none}.terminal-panel{height:min(40vh,300px)}.terminal-quickcmds{display:flex}.terminal-resize-handle{display:none}.terminal-panel .xterm{font-size:13px}.terminal-panel.fullscreen{top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:240}.terminal-panel.fullscreen .terminal-toolbar{padding-top:calc(env(safe-area-inset-top,0px) + 4px)}.terminal-panel.fullscreen .terminal-quickcmds{padding-bottom:calc(env(safe-area-inset-bottom,0px)/2)}.right-dock{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;min-width:0;max-width:none;z-index:250;border-left:none}.right-dock .dock-tabs{height:46px;padding-top:env(safe-area-inset-top,0px)}.diff-body{overflow-x:auto}.diff-num{width:34px;min-width:34px;padding:0 5px}.permission-box{width:92vw}.ws-dialog{max-width:calc(100vw - 24px)}.mcp-box{width:100%;max-width:92vw}.new-ws-pop{left:8px;width:min(280px,84vw)}.citation-overlay .citation-drawer{width:100vw!important;max-width:100vw!important}.fb-row:active,.recent-item:active,.session-item:active,.ws-icon:active,.tool-select:active,.dropdown-item:active,.dock-tab:active,.msg-nav-item:active{background:var(--bg-input)}}
