:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111418;--bg-alt:#1a1f26;--border:#2c343f;--text:#e6e9ee;--text-dim:#97a1ad;--accent:#4f9cf9;--accent-soft:#4f9cf926;--error:#f97066;--msg-user-bg:#24405e;--msg-tool-bg:#1c2620;--msg-tool-error-bg:#2c1d1d;--code-bg:#ffffff14;--pre-bg:#0000004d;--shadow:0 2px 8px #00000040;-webkit-font-smoothing:antialiased;font-family:system-ui,-apple-system,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-alt:#fff;--border:#d8dee6;--text:#1d2530;--text-dim:#5b6675;--accent:#2f7de1;--accent-soft:#2f7de11f;--error:#d4453a;--msg-user-bg:#d9e8fb;--msg-tool-bg:#e7f2ea;--msg-tool-error-bg:#fbe5e2;--code-bg:#0000000f;--pre-bg:#0000000a;--shadow:0 2px 8px #141e2d14}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}.app{flex-direction:column;height:100dvh;display:flex}.sidebar{background:var(--bg-alt);border-right:1px solid var(--border);flex-direction:column;gap:12px;width:320px;padding:16px;display:flex;overflow-y:auto}.sidebar-toggle,.sidebar-backdrop{display:none}.sidebar h1{margin:0 0 8px;font-size:18px}.chat{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.message-list{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@keyframes msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.msg{white-space:pre-wrap;word-break:break-word;max-width:85%;box-shadow:var(--shadow);border-radius:10px;padding:8px 12px;animation:.18s ease-out msg-in}.msg-user{background:var(--msg-user-bg);border-bottom-right-radius:4px;align-self:flex-end}.msg-assistant{background:var(--bg-alt);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.msg-role{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:11px}.msg-tool{background:var(--msg-tool-bg);border:1px solid var(--border);align-self:flex-start;max-width:85%;font-size:13px}.msg-tool summary{cursor:pointer;color:var(--text-dim)}.msg-tool summary:hover{color:var(--text)}.msg-tool pre{max-height:240px;overflow-x:auto}.msg-tool-error{background:var(--msg-tool-error-bg)}.msg-error{color:var(--error);align-self:center}.think-spoiler{border:1px solid var(--border);border-radius:6px;margin:6px 0;font-size:13px}.think-spoiler summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:6px 10px}.think-spoiler summary:hover{color:var(--text)}.think-spoiler pre{white-space:pre-wrap;max-height:240px;color:var(--text-dim);margin:0;padding:6px 10px;font-size:12px;overflow-x:auto}.empty-state{text-align:center;max-width:440px;color:var(--text-dim);flex-direction:column;align-items:center;gap:8px;margin:auto;display:flex}.empty-state-icon{font-size:40px}.empty-state h2{color:var(--text);margin:0;font-size:20px}.empty-state p{margin:0;font-size:14px;line-height:1.5}.empty-state code{background:var(--code-bg);border-radius:4px;padding:1px 5px;font-family:monospace}.composer{border-top:1px solid var(--border);gap:8px;padding:12px 16px;display:flex}.composer textarea{resize:none;flex:1}textarea,input,select,button{background:var(--bg);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:8px}textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}button{cursor:pointer;background:var(--accent);color:#fff;border:none;transition:filter .12s,transform 50ms}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{opacity:.5;cursor:default}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.warn{color:var(--error);margin:0;font-size:13px}.dim{color:var(--text-dim);margin:0;font-size:12px}.model-picker select,.model-picker input{width:100%;min-width:0}.system-prompt{width:100%}.panel{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:8px}.panel summary{cursor:pointer;font-size:13px;font-weight:600}.panel summary:hover{color:var(--accent)}.panel-item{justify-content:space-between;margin:8px 0}.panel-item span{text-overflow:ellipsis;overflow:hidden}.panel input,.panel textarea{width:100%}.overlay-page{background:var(--bg);z-index:10;flex-direction:column;display:flex;position:absolute;inset:0 0 0 320px}.overlay-header{border-bottom:1px solid var(--border);background:var(--bg-alt);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.overlay-header h2{margin:0;font-size:16px}.overlay-content{flex-direction:column;flex:1;gap:20px;padding:16px;display:flex;overflow-y:auto}.settings-section{flex-direction:column;gap:12px;display:flex}.settings-section h3{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;margin:0 0 4px;font-size:14px}.settings-row{align-items:center;gap:12px;display:flex}.settings-row label{min-width:160px;color:var(--text-dim);font-size:13px}.settings-row input[type=range]{accent-color:var(--accent);flex:1}.settings-row .val-badge{text-align:right;min-width:48px;color:var(--accent);font-family:monospace;font-size:13px}.btn-danger{background:var(--error)!important}.btn-ghost{border:1px solid var(--border)!important;color:var(--text)!important;background:0 0!important}.password-gate{z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.password-card{background:var(--bg-alt);border:1px solid var(--border);width:min(360px,100vw - 32px);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:16px;padding:24px;display:flex}.password-card h2{margin:0;font-size:18px}.password-card p{color:var(--text-dim);margin:0;font-size:14px}.composer-wrap{flex-direction:column;display:flex;position:relative}.slash-menu{background:var(--bg-alt);border:1px solid var(--border);z-index:20;max-height:200px;box-shadow:var(--shadow);border-radius:8px 8px 0 0;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.slash-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.slash-item:hover,.slash-item.active{background:var(--accent-soft)}.slash-item .slash-name{color:var(--accent);font-weight:600}.slash-item .slash-desc{color:var(--text-dim)}.agent-status{color:var(--text-dim);border-top:1px solid var(--border);align-items:center;gap:6px;padding:6px 16px;font-size:12px;display:flex}@keyframes pulse-dot{0%,80%,to{opacity:.2}40%{opacity:1}}.typing-dots span{background:var(--accent);border-radius:50%;width:6px;height:6px;margin:0 1px;animation:1.4s infinite pulse-dot;display:inline-block}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.msg-body code{background:var(--code-bg);border-radius:3px;padding:1px 4px;font-family:monospace;font-size:.9em}.msg-body pre{background:var(--pre-bg);border:1px solid var(--border);border-radius:6px;padding:10px;overflow-x:auto}.msg-body pre code{background:0 0;padding:0}.msg-subagent{border-left:3px solid var(--accent);opacity:.9;margin-left:8px;padding-left:10px}.msg-subagent .msg-role{color:var(--accent)}.webagent-ui-frame{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;min-height:120px}.terminal-body{background:var(--bg);flex:1;min-height:0;padding:8px;overflow:hidden}.terminal-body .xterm{height:100%}.terminal-body .xterm-screen{height:100%!important}.model-group-label{color:var(--text-dim);background:var(--bg);pointer-events:none;padding:4px 8px;font-size:11px}input[type=range]{cursor:pointer;height:4px}.app-nav{background:var(--bg-alt);border-bottom:1px solid var(--border);align-items:center;gap:2px;padding:0 16px;display:flex}.nav-tab{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:10px 14px;font-size:13px;transition:color .12s}.nav-tab:hover:not(:disabled){color:var(--text);filter:none}.nav-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}@media (width<=768px){.sidebar{z-index:40;width:min(320px,85vw);box-shadow:none;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #0006}.sidebar-backdrop{z-index:30;background:#00000080;display:block;position:fixed;inset:0}.sidebar-toggle{color:var(--text);background:0 0;border:none;justify-content:center;align-items:center;margin-left:-8px;padding:8px 10px;font-size:18px;display:flex}.sidebar-toggle:hover:not(:disabled){filter:none}.overlay-page{left:0}.app-nav{padding:0 8px;overflow-x:auto}.app-nav>span{white-space:nowrap}.nav-tab{white-space:nowrap;padding:12px 10px}.msg,.msg-tool{max-width:95%}.message-list{padding:12px}.composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.composer button{min-width:64px;min-height:44px}textarea,input,select{font-size:16px}.settings-row{flex-wrap:wrap}.settings-row label{min-width:100%}.empty-state{padding:0 16px}}.log-panel{flex-direction:column;flex:1;min-height:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:flex}.log-toolbar{border-bottom:1px solid var(--border);background:var(--bg-alt);flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.log-clear-btn{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;padding:3px 10px;font-size:11px}.log-clear-btn:hover{color:var(--text);border-color:var(--text-dim);filter:none}.log-entries{flex:1;padding:4px 0;overflow-y:auto}.log-empty{color:var(--text-dim);text-align:center;padding:32px 16px;font-family:inherit}.log-row{border-bottom:1px solid #0000;align-items:baseline;gap:8px;padding:3px 12px;line-height:1.5;display:flex}.log-row:hover{background:var(--bg-alt)}details.log-row{display:block}details.log-row summary{cursor:pointer;align-items:baseline;gap:8px;padding:3px 0;list-style:none;display:flex}details.log-row summary::-webkit-details-marker{display:none}details.log-row summary:hover{color:var(--text)}.log-time{color:var(--text-dim);flex-shrink:0;min-width:72px}.log-tag{text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;min-width:64px;font-size:11px;font-weight:600}.log-text{white-space:pre-wrap;word-break:break-all;color:var(--text);overflow:hidden}.log-preview{color:var(--text-dim)}.log-json{background:var(--pre-bg);border:1px solid var(--border);white-space:pre-wrap;word-break:break-all;max-height:320px;color:var(--text);border-radius:6px;margin:4px 12px 8px;padding:8px 10px;font-size:11px;overflow-x:auto}.log-lvl-log .log-tag{color:var(--text-dim)}.log-lvl-info .log-tag{color:var(--accent)}.log-lvl-debug .log-tag{color:var(--text-dim)}.log-lvl-warn .log-tag,.log-row-warn .log-tag{color:#e8a838}.log-lvl-error .log-tag,.log-row-error .log-tag{color:var(--error)}.log-row-warn{background:#e8a8380d}.log-row-error{background:#f9706612}.log-tag-request{color:var(--accent)}.log-tag-response{color:#5abf8a}.history-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.history-item{border-radius:6px;align-items:stretch;display:flex}.history-item.active{outline:1px solid var(--accent)}.history-load{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px 0 0 6px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:6px 8px;display:flex}.history-load:hover{background:var(--bg)}.history-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.history-date{font-size:11px}.history-delete{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:0 6px 6px 0;flex-shrink:0;padding:0 8px;font-size:16px}.history-delete:hover{color:#f66;background:var(--bg)}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
