/**
 * 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-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{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.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}.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;background:#0000;transition:opacity .1s linear;z-index:11}.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{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{color-scheme:dark;--bg: #0f1217;--panel: #151a21;--line: #2a323d;--ink: #e7ebf1;--muted: #8b95a5;--accent: #3fc9bb;--idle: #8b95a5;--working: #e0a23b;--needs: #f0567a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 IBM Plex Sans,Segoe UI,system-ui,sans-serif}button{background:var(--accent);color:#062421;border:0;border-radius:4px;padding:6px 10px;font:inherit;cursor:pointer}button.secondary{background:#232b36;color:var(--ink);border:1px solid var(--line)}button.danger{color:var(--needs)}input,textarea{background:#0b0e13;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:inherit;width:100%}.app{display:grid;grid-template-columns:260px 1fr;grid-template-rows:minmax(0,1fr);height:100%}.sidebar{border-right:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:12px;background:var(--panel);overflow:auto}.brand{font-weight:600;font-size:16px;display:flex;justify-content:space-between;align-items:baseline}.conn{font-size:11px;font-family:ui-monospace,Menlo,monospace}.conn.on{color:var(--accent)}.conn.off{color:var(--needs)}.new-session{display:flex;flex-direction:column;gap:6px}.row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sessions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.sessions li{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer}.sessions li.active{background:#202833}.sname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skind{font-size:11px;color:var(--muted);font-family:ui-monospace,Menlo,monospace}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--idle)}.dot.working{background:var(--working)}.dot.needs_you{background:var(--needs)}.dot.ended{background:#444}.dot.starting{background:#5a6b8a}.main{display:flex;flex-direction:column;min-width:0;height:100%}.session-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}.session-head>div:first-child{min-width:0;flex:1}.session-head .small,.session-head .hdr-stats{white-space:nowrap}.session-head .small{overflow:hidden;text-overflow:ellipsis}.muted{color:var(--muted)}.small{font-size:12px}.panes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0}.panes.rich-only{grid-template-columns:1fr}.rich-col{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line)}.rich-scroll{flex:1;overflow:auto;padding:14px}.rich{display:flex;flex-direction:column;gap:10px;max-width:80ch}.prompt{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}.prompt textarea{resize:vertical}.term-col{min-height:0;min-width:0;display:flex;overflow:hidden}.terminal-host{flex:1;min-height:0;min-width:0;padding:6px;background:#0f1217;overflow:hidden}.terminal-host .xterm{height:100%}.bubble{padding:10px 12px;border-radius:6px}.bubble.user{background:#1c2a2a;border:1px solid #244;align-self:flex-end;max-width:90%}.bubble.assistant{background:var(--panel);border:1px solid var(--line)}.bubble.streaming{border-color:var(--accent)}.bubble p:first-child{margin-top:0}.bubble p:last-child{margin-bottom:0}pre.code,pre.tool-input,pre.tool-output,.diff pre{background:#0b0e13;border:1px solid var(--line);border-radius:4px;padding:8px 10px;overflow-x:auto;font:12px/1.45 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-word}code.inline{background:#0b0e13;padding:1px 4px;border-radius:3px;font-size:12.5px}.tool summary{cursor:pointer;display:flex;gap:8px;align-items:baseline}.tool-name{font-family:ui-monospace,Menlo,monospace;color:var(--accent)}.tool-title{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinner{color:var(--working);font-size:12px;margin-left:auto}.diff .del{border-left:3px solid var(--needs)}.diff .add{border-left:3px solid var(--accent)}.permission{border:1px solid var(--needs);border-radius:6px;padding:10px 12px;background:#1f1418}.permission.resolved{border-color:var(--line);background:#12171e;opacity:.8}.permission-actions{display:flex;gap:8px;align-items:center}.permission-actions .deny{background:#3a2229;color:var(--needs)}.hint{color:var(--muted);font-size:12px}.notice{color:var(--muted);font-size:12px;font-family:ui-monospace,Menlo,monospace}.turn-end{border-top:1px dashed var(--line)}.empty{color:var(--muted)}.empty.big{margin:auto;max-width:50ch;text-align:center;padding:40px}.mermaid svg{max-width:100%;height:auto}.mermaid-error{color:var(--needs)}select{background:#0b0e13;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:5px 6px;font:inherit;flex:1;min-width:0}.question{border:1px solid var(--working);border-radius:6px;padding:10px 12px;background:#1d1a12;display:flex;flex-direction:column;gap:8px}.question.resolved{border-color:var(--line);background:#12171e;opacity:.85}.question-head{font-weight:600}.qh{font-family:ui-monospace,Menlo,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--working);margin-right:8px}.question-options{display:flex;flex-direction:column;gap:6px}.question-options .opt{text-align:left;background:#232b36;color:var(--ink);border:1px solid var(--line)}.question-options .opt.picked{border-color:var(--accent)}.question-options .opt:disabled{opacity:.6;cursor:default}.opt-other input{width:100%}.question-options .opt.multi{display:flex;gap:8px;align-items:baseline}.question-options .opt .box{font-size:15px;line-height:1;color:var(--muted)}.question-options .opt.picked .box{color:var(--accent)}.question-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.question-status{font-size:12px;color:var(--muted)}.question-status.sending{color:var(--working)}.question-status.failed{color:var(--needs)}.qa-answer{color:var(--accent);font-size:13px}.plan-feedback{width:100%;box-sizing:border-box;background:#0b0e13;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:inherit;resize:vertical}.question.plan .question-head .qh{color:var(--accent)}.question.plan h1,.question.plan h2,.question.plan h3{font-size:1.05em;margin:8px 0 4px}button.allow.secondary{background:#1f3b38;color:var(--accent)}.sessions li.ended .sname{color:var(--muted)}.external,.past{border-top:1px solid var(--line);padding-top:8px}.prompt.muted{display:block}.panes.with-files{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(380px,36%)}.panes.rich-only.with-files{grid-template-columns:minmax(0,1fr) minmax(380px,42%)}button.secondary.on{border-color:var(--accent);color:var(--accent)}.files{display:flex;flex-direction:column;min-height:0;min-width:0;border-left:1px solid var(--line);background:var(--panel)}.files-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);min-width:0}.files-actions{flex-wrap:nowrap;flex-shrink:0}.files-actions button{padding:4px 8px;font-size:12px}.files-all{display:flex;align-items:center;gap:3px;white-space:nowrap}.files-all input{width:auto;margin:0}.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;min-width:0;font-size:12px;font-family:ui-monospace,Menlo,monospace}.crumb-wrap{display:inline-flex;align-items:center}.crumb-sep{color:var(--muted);padding:0 2px}button.crumb{background:none;border:0;color:var(--accent);padding:0 2px;font:inherit;cursor:pointer}button.crumb:hover{text-decoration:underline}.crumb.file{color:var(--ink)}.files-busy{padding:4px 10px;font-size:12px;color:var(--working);border-bottom:1px solid var(--line);background:#1d1a12}.files-error{padding:4px 10px;font-size:12px;color:var(--needs);border-bottom:1px solid var(--line);background:#1f1418;display:flex;justify-content:space-between;align-items:center}.files-tree{flex:0 1 auto;max-height:45%;overflow:auto;border-bottom:1px solid var(--line);padding:4px 0;font-size:13px}.ft-root+.ft-root{margin-top:4px}.ft-row{display:flex;align-items:center;gap:4px;padding:2px 8px;cursor:pointer;white-space:nowrap;line-height:1.5;-webkit-user-select:none;user-select:none}.ft-row:hover{background:#1b222b}.ft-row.sel{background:#202833}.ft-row.drop{outline:1px dashed var(--accent);outline-offset:-1px;background:#16302c}.ft-row.root{font-weight:600}.ft-row.file{cursor:pointer}.ft-row.dir .ft-name{color:#cfe3ff}.ft-caret{width:12px;color:var(--muted);font-size:11px;text-align:center;flex-shrink:0}.ft-name{flex:1;overflow:hidden;text-overflow:ellipsis}.ft-size,.ft-hint{color:var(--muted);font-size:11px;font-family:ui-monospace,Menlo,monospace;flex-shrink:0}.ft-hint{overflow:hidden;text-overflow:ellipsis;max-width:45%}.ft-mini{background:none;border:0;color:var(--muted);padding:0 4px;font-size:12px;cursor:pointer;line-height:1}.ft-mini:hover{color:var(--accent)}.ft-err{color:var(--needs)}.files-preview{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.pv-head{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);font-size:12px;min-width:0}.pv-name{font-weight:600;font-family:ui-monospace,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pv-links{margin-left:auto;display:flex;gap:10px;flex-shrink:0}.pv-link{color:var(--accent);text-decoration:none}.pv-link:hover{text-decoration:underline}.pv-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.pv-body.kind-pdf,.pv-body.kind-html{overflow:hidden}.pv-frame{flex:1;width:100%;border:0;background:#fff;min-height:0}.pv-center{flex:1;display:flex;align-items:center;justify-content:center;padding:12px;background:#0b0e13;background-image:linear-gradient(45deg,#12171e 25%,transparent 25%,transparent 75%,#12171e 75%),linear-gradient(45deg,#12171e 25%,transparent 25%,transparent 75%,#12171e 75%);background-size:16px 16px;background-position:0 0,8px 8px}.pv-center img{max-width:100%;max-height:100%;object-fit:contain}.pv-md{padding:12px 14px;font-size:13.5px}.pv-md>:first-child{margin-top:0}.pv-msg{padding:14px;display:flex;flex-direction:column;gap:8px}.pv-empty{margin:auto;text-align:center;padding:20px;display:flex;flex-direction:column;gap:6px}.pv-note{color:var(--muted);font-size:12px;padding:6px 10px;font-family:ui-monospace,Menlo,monospace}.code-view{font:12px/1.5 ui-monospace,Menlo,monospace;padding:6px 0;min-width:max-content}.code-view .cl{display:flex;white-space:pre}.code-view .cl.hl{background:#2b3a2e;box-shadow:inset 3px 0 0 var(--accent)}.code-view .n{width:4.5ch;flex-shrink:0;text-align:right;padding-right:10px;color:var(--muted);-webkit-user-select:none;user-select:none}.code-view .t{padding-right:12px}.pv-table-wrap{overflow:auto;padding:8px}.pv-table{border-collapse:collapse;font-size:12px;font-family:ui-monospace,Menlo,monospace}.pv-table th,.pv-table td{border:1px solid var(--line);padding:3px 8px;text-align:left;white-space:nowrap;max-width:40ch;overflow:hidden;text-overflow:ellipsis}.pv-table th{background:#1b222b;position:sticky;top:0}.file-link{color:var(--accent);text-decoration:none;border-bottom:1px dotted var(--accent)}.file-link:hover{border-bottom-style:solid}.file-link code.inline{color:var(--accent)}.tool{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#12171e}.tool.failed{border-color:#6a2a3a}.tool.warn{border-color:#5a4a22}.tool>summary{list-style:none;display:flex;gap:8px;align-items:baseline;min-width:0}.tool>summary::-webkit-details-marker{display:none}.tool>summary:before{content:"▸";color:var(--muted);font-size:11px;width:10px;flex-shrink:0}.tool[open]>summary:before{content:"▾"}.tool-title{flex:1 1 auto;min-width:0}.tool-title code{font-family:ui-monospace,Menlo,monospace}.tool-meta{margin-left:auto;color:var(--muted);font-size:11px;font-family:ui-monospace,Menlo,monospace;white-space:nowrap;flex-shrink:0;display:flex;gap:6px;align-items:baseline}.tool-meta .spinner{margin-left:0}.tool-body{display:flex;flex-direction:column;gap:6px;margin-top:8px;min-width:0}.tool-line{font-size:12px;color:var(--muted)}.tstat{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;align-self:center;background:#3a4553}.tstat.running{background:var(--working);animation:pulse 1.2s ease-in-out infinite}.tstat.failed{background:var(--needs)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.stat-add{color:var(--accent)}.stat-del{color:var(--needs)}.path{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}pre.cmd{background:#0b0e13;border:1px solid var(--line);border-radius:4px;padding:6px 10px;margin:0;font:12px/1.45 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-word;color:#cfe3ff}.out{display:flex;flex-direction:column;gap:2px;min-width:0}.out-pre{background:#0b0e13;border:1px solid var(--line);border-radius:4px;padding:6px 10px;margin:0;overflow-x:auto;font:12px/1.45 ui-monospace,Menlo,monospace;white-space:pre-wrap;word-break:break-word;max-height:70vh;overflow-y:auto}.out.err .out-pre{border-left:3px solid var(--needs);color:#f3c4d0}.out.agent-prompt .out-pre{color:var(--muted)}.out-pre.numbered{white-space:pre}.out-pre .ol{display:block}.out-pre .n{display:inline-block;width:4.5ch;text-align:right;padding-right:10px;color:var(--muted);-webkit-user-select:none;user-select:none}.show-more{background:none;border:0;color:var(--accent);font-size:12px;cursor:pointer;padding:2px 0;text-align:left;align-self:flex-start}.show-more:hover{text-decoration:underline}.diff-view{background:#0b0e13;border:1px solid var(--line);border-radius:4px;overflow-x:auto;font:12px/1.45 ui-monospace,Menlo,monospace;padding:4px 0;display:flex;flex-direction:column}.diff-view .dl{display:flex;white-space:pre;min-width:max-content;padding:0 8px}.dl.add{background:#12301f}.dl.del{background:#3a1a22}.dl.hunk{color:var(--muted);background:#151a21;margin:2px 0}.dl.meta{color:var(--muted)}.dl .ln{display:inline-block;width:4ch;text-align:right;padding-right:8px;color:var(--muted);-webkit-user-select:none;user-select:none;flex-shrink:0}.dl .sg{width:1.5ch;flex-shrink:0;color:var(--muted)}.dl.add .sg{color:var(--accent)}.dl.del .sg{color:var(--needs)}.diff-view .show-more{padding:2px 8px}.file-list{display:flex;flex-direction:column;gap:1px}.file-list-row{font-size:12.5px}.hit{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hit a{color:var(--accent);text-decoration:none}.hit a:hover{text-decoration:underline}.read-image{max-width:100%;max-height:360px;border:1px solid var(--line);border-radius:4px;background:#0b0e13}.agent-result{border-left:2px solid var(--line);padding-left:10px;font-size:13.5px}.agent-result>.long-md>:first-child{margin-top:0}.subagent-row{display:flex;gap:8px;align-items:center;font-size:12px;font-family:ui-monospace,Menlo,monospace;color:var(--ink)}.subagent-row.nested{padding-left:4px}.todo-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:3px}.todo{display:flex;gap:8px;align-items:baseline}.todo .box{font-family:ui-monospace,Menlo,monospace;flex-shrink:0}.todo.completed{color:var(--muted);text-decoration:line-through}.todo.in_progress{color:var(--working)}.turn-wrap{display:flex;flex-direction:column;gap:10px}.turn-sep,.compact-sep{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;font-family:ui-monospace,Menlo,monospace}.turn-sep:before,.turn-sep:after,.compact-sep:before,.compact-sep:after{content:"";flex:1;border-top:1px dashed var(--line)}.compact-sep{color:var(--working)}.compact-sep.pre{opacity:.7}.compact-sep:before,.compact-sep:after{border-top-style:solid;border-color:#5a4a22}.notice.quiet{opacity:.7}.needs-banner{display:flex;align-items:center;gap:10px;background:#2a1520;border-top:1px solid var(--needs);color:var(--needs);padding:8px 14px;cursor:pointer;text-align:left;font:inherit;border-radius:0;width:100%}.needs-banner:hover{background:#351a28}.needs-banner .hint{color:#c98a9c}.hdr-stats{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted)}.hdr-stats b{color:var(--ink);font-weight:500}.subagent{display:flex;flex-direction:column;gap:6px}.subagent-tools{display:flex;flex-direction:column;gap:6px;padding-left:14px;border-left:2px solid var(--line)}.subagent-tools .tool{background:#10151b}.sidebar{gap:10px}.brand-right{display:flex;align-items:center;gap:8px}.bell{background:none;border:1px solid transparent;color:var(--muted);padding:2px 4px;border-radius:4px;display:inline-flex;line-height:0}.bell:hover{color:var(--ink);border-color:var(--line)}.bell.on{color:var(--accent)}.bell.denied{color:var(--needs)}.bell:disabled{opacity:.4;cursor:default}.profiles{display:flex;flex-direction:column;gap:6px}.profile-tabs{display:flex;gap:4px;flex-wrap:wrap}.ptab{background:#1b222b;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 10px 3px 8px;font-size:12.5px;display:inline-flex;align-items:center;gap:6px}.ptab:hover{color:var(--ink)}.ptab.sel{background:#202f2d;color:var(--accent);border-color:var(--accent)}.ptab.add{padding:3px 8px}.auth-dot{width:7px;height:7px;border-radius:50%;display:inline-block;background:#4a5566;flex-shrink:0}.auth-dot.in{background:var(--accent)}.auth-dot.out{background:var(--needs)}.auth-dot.unknown{background:#4a5566}.profile-status{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;min-width:0}.auth-line{display:inline-flex;align-items:center;gap:6px;min-width:0}.auth-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-tools{display:inline-flex;gap:2px;flex-shrink:0}.ft-mini.on{color:var(--accent)}.ft-mini.danger{color:var(--needs)}.mini-btn{background:#232b36;color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:2px 8px;font-size:12px;line-height:1.4}.mini-btn.accent{color:var(--accent);border-color:#2f4a46}.mini-btn.on{border-color:var(--accent);color:var(--accent)}.mini-btn:disabled{opacity:.5;cursor:default}.profile-manage{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:6px;padding:8px;background:#12171e}.pm-row{display:flex;gap:6px;align-items:center}.pm-name{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted);width:64px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis}.pm-label,.pm-row input{padding:3px 6px;font-size:12.5px;min-width:0}.pm-row.add{margin-top:4px;border-top:1px dashed var(--line);padding-top:6px}.folder{position:relative;display:flex;flex-direction:column;gap:3px}.folder-row{display:flex;gap:4px}.folder-input{font-family:ui-monospace,Menlo,monospace;font-size:12.5px}.folder-input.invalid{border-color:var(--needs)}.folder-error{color:var(--needs);font-size:12px}.folder-panel{position:absolute;top:100%;left:0;right:0;z-index:20;margin-top:2px;background:#10151b;border:1px solid var(--line);border-radius:6px;padding:4px;max-height:320px;overflow:auto;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000080}.folder-h{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:4px 6px 2px;font-family:ui-monospace,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item{background:none;border:0;color:var(--ink);text-align:left;padding:3px 8px;border-radius:4px;font:12.5px/1.4 ui-monospace,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-item:hover,.folder-item.sel{background:#1b222b;color:var(--accent)}.folder-item.dir{color:#cfe3ff}.folder-empty{color:var(--muted);font-size:12px;padding:3px 8px}button:disabled{opacity:.5;cursor:default}.groups{display:flex;flex-direction:column;gap:6px}.group-head{display:flex;align-items:center;gap:6px;padding:3px 4px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;color:var(--muted);font-size:12px}.group-head:hover{background:#1b222b;color:var(--ink)}.group-head .gname{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.caret{width:12px;color:var(--muted);font-size:11px;text-align:center;flex-shrink:0}.gcount{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--muted)}.sessions-empty{padding:4px 8px}.srow{position:relative}.srow.missing .sname,.srow.missing .skind{color:#5a6474;text-decoration:line-through}.srow.needs_you .sname{color:#ffd0dc}.srow.unread .sname{font-weight:600}.unread-mark{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.badge{background:var(--needs);color:#fff;font:600 10.5px/1 ui-monospace,Menlo,monospace;padding:3px 5px;border-radius:999px;min-width:16px;text-align:center;flex-shrink:0}.row-actions{display:none;gap:0;flex-shrink:0;margin-left:-2px}.srow:hover .row-actions,.srow:focus-within .row-actions{display:inline-flex}.srow:hover .skind:not(:only-child){display:none}.srow .rename{padding:1px 6px;font-size:13px;flex:1;min-width:0}.menu{position:fixed;z-index:50;background:#151a21;border:1px solid var(--line);border-radius:6px;padding:4px;display:flex;flex-direction:column;min-width:170px;box-shadow:0 8px 24px #00000080}.menu button{background:none;border:0;color:var(--ink);text-align:left;padding:5px 10px;border-radius:4px;font:inherit;display:flex;flex-direction:column;gap:0}.menu button:hover{background:#1f2731}.menu button.danger{color:var(--needs)}.menu button .hint{font-size:11px}.menu button:disabled{opacity:.5;cursor:default}.menu button:disabled:hover{background:none}.list-head{display:flex;align-items:center;gap:6px;padding:0 4px;color:var(--muted);font-size:12px}.list-head .small{flex:1}.group-head .group-more{display:none}.group-head:hover .group-more,.group-head:focus-within .group-more{display:inline}@media(hover:none){.group-head .group-more{display:inline}}.ext-filter{padding:3px 8px;font-size:12px;margin:4px 0 2px}.section{border-top:1px solid var(--line);padding-top:6px}.section-head{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px 4px;border-radius:4px}.section-head:hover{background:#1b222b}.section-head .small{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#05080c8c;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}.switcher{width:min(640px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 48px #0009;display:flex;flex-direction:column;overflow:hidden}.switcher input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 14px;font-size:15px;background:transparent}.switcher-list{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto;display:flex;flex-direction:column;gap:1px}.switcher-list .srow{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:4px;cursor:pointer}.switcher-list .srow.sel{background:#202833}.switcher-foot{padding:6px 14px;border-top:1px solid var(--line)}.empty.big .hint{margin-top:10px}.prompt-wrap{position:relative;border-top:1px solid var(--line);display:flex;flex-direction:column}.prompt-wrap.drop{outline:1px dashed var(--accent);outline-offset:-2px;background:#16302c}.prompt-wrap .prompt{border-top:0;align-items:stretch}.prompt-btns{display:flex;flex-direction:column;gap:6px;justify-content:flex-start}button.stop{color:var(--working);border-color:#5a4a22}.prompt-hint{color:var(--muted);font-size:11px;padding:0 14px 8px;font-family:ui-monospace,Menlo,monospace;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.prompt-note{color:var(--working);font-size:12px;padding:6px 14px 0}.chips{display:flex;gap:8px;padding:8px 14px 0;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;padding:3px 6px 3px 3px;background:#12171e;font-size:12px;font-family:ui-monospace,Menlo,monospace;max-width:320px}.chip img{width:36px;height:36px;object-fit:cover;border-radius:3px;background:#0b0e13}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.uploading{border-color:var(--working)}.chip.error{border-color:var(--needs)}.chip .ft-mini{font-size:14px}.picker{position:absolute;left:14px;right:14px;bottom:100%;z-index:30;margin-bottom:4px;background:#10151b;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;max-height:340px}.picker-head{display:flex;justify-content:space-between;gap:8px;padding:4px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--line);font-family:ui-monospace,Menlo,monospace}.picker-list{list-style:none;margin:0;padding:4px;overflow:auto;display:flex;flex-direction:column;gap:1px}.picker-item{display:flex;gap:8px;align-items:baseline;padding:3px 8px;border-radius:4px;cursor:pointer;font-size:13px;min-width:0}.picker-item.sel{background:#1b222b}.pk-label{font-family:ui-monospace,Menlo,monospace;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;max-width:55%}.pk-hint{color:var(--muted);font-family:ui-monospace,Menlo,monospace;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.pk-detail{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.pk-tag{margin-left:auto;font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 6px;flex-shrink:0;white-space:nowrap}.picker-empty{padding:4px 8px;font-size:12px}.term-col{position:relative}.terminal-host{box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .12s}.terminal-host.focused{box-shadow:inset 0 0 0 1px var(--accent)}.terminal-host.fixed{overflow:auto}.terminal-host.fixed .xterm{height:auto;width:max-content;min-width:100%}.term-badge{position:absolute;top:4px;right:20px;z-index:5;font:10.5px/1.5 ui-monospace,Menlo,monospace;color:#062421;background:var(--accent);border-radius:3px;padding:0 6px;pointer-events:none;opacity:.9}.find-bar{position:absolute;top:6px;right:20px;z-index:6;display:flex;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:4px 6px;box-shadow:0 6px 18px #00000080}.find-bar input{width:200px;padding:3px 6px;font-size:12.5px}.find-count{font:11px ui-monospace,Menlo,monospace;color:var(--muted);min-width:40px;text-align:center}.find-bar .mini-btn{padding:2px 6px}.size-toggle{display:inline-flex;gap:2px}.conn.retry{color:var(--working)}.conn.wait{color:var(--muted)}.main{overflow:hidden}.session-head>div:first-child{overflow:hidden}.rich-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.rich-wrap .rich-scroll{flex:1}.new-pill{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:8;background:var(--accent);color:#062421;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:600;box-shadow:0 6px 18px #00000073;white-space:nowrap}.new-pill:hover{filter:brightness(1.08)}.topbar,.backdrop,.drawer-close{display:none}.topbar-title{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-btn{padding:2px 9px;font-size:16px;line-height:1.3}@media(max-width:899px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(320px,88vw);z-index:120;transform:translate(-100%);transition:transform .15s ease-out}.app.drawer-open .sidebar{transform:none;box-shadow:8px 0 24px #00000080}.app.drawer-open .backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;background:#05080c8c}.drawer-close{display:inline-block;font-size:16px}.topbar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line);background:var(--panel);flex-shrink:0}.panes{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.panes.rich-only{grid-template-rows:minmax(0,1fr)}.panes.with-files,.panes.rich-only.with-files{grid-template-columns:minmax(0,1fr)}.files{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);z-index:90;box-shadow:-8px 0 24px #00000080}.rich-col{border-right:0;border-bottom:1px solid var(--line)}.session-head{flex-wrap:wrap;padding:8px 10px;gap:6px 12px}.rich-scroll{padding:10px}.prompt{padding:8px 10px}.picker{left:10px;right:10px}.prompt-hint{padding:0 10px 6px}.chips{padding:8px 10px 0}.empty.big{padding:24px 16px}}@media(max-width:599px){.session-head .head-actions{flex-basis:100%}.session-head .hdr-stats,.size-toggle{display:none}.rich{max-width:none}.bubble.user{max-width:100%}.prompt-hint .shortcuts{display:none}.switcher{width:96vw}.overlay{padding-top:4vh}.find-bar{left:8px;right:8px}.find-bar input{width:auto;flex:1;min-width:0}.term-badge{right:8px}.files{width:100vw}}.login{height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:22px}.login-brand{font-weight:600;font-size:18px}.login-label{font-size:12px;color:var(--muted);margin-top:6px}.login-card input[aria-invalid=true]{border-color:var(--needs)}.login-error{color:var(--needs);font-size:13px}.login-card .hint code{background:#0b0e13;padding:1px 4px;border-radius:3px;font-size:11.5px}.banner{display:flex;align-items:center;gap:10px;background:#2b2412;border-bottom:1px solid #5a4a22;color:#f0d9a0;padding:6px 14px;font-size:12.5px}.banner code{background:#0b0e13;padding:1px 5px;border-radius:3px}.banner .ft-mini{margin-left:auto;color:#f0d9a0;font-size:14px}.ft-mini.sign-out{font-size:11px}
