/**
 * 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{-webkit-user-select:text;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}:root{color-scheme:dark;--bg: #111322;--panel: #171a2c;--panel-2: #101321;--panel-3: #20243a;--control: #0f1323;--control-hover: #242941;--terminal-bg: #151728;--terminal-panel: #1a1d30;--text: #e7ebf8;--muted: #9299b4;--line: #2c324c;--line-strong: #424a6a;--accent: #24d07d;--accent-strong: #52f29c;--accent-soft: rgba(36, 208, 125, .14);--blue: #6aa8ff;--cyan: #2dd4bf;--magenta: #f062b7;--amber: #f7c95f;--error: #ff7b8a;--error-bg: rgba(255, 123, 138, .13);--notice-bg: rgba(36, 208, 125, .12);--scrollbar-track: #101321;--scrollbar-thumb: #3a415f;--scrollbar-thumb-hover: #515a7a;--shadow: 0 18px 58px rgba(0, 0, 0, .36);--app-viewport-height: 100vh;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px)}@supports (height: 100dvh){:root{--app-viewport-height: 100dvh}}html,body,#root{width:100%;min-height:100%;height:var(--app-viewport-height);margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);letter-spacing:0;overflow:hidden;-webkit-text-size-adjust:100%}.workspace-drawer-body,.tree-nav,.terminal-tabs,.terminal-host .xterm-viewport,.edit-dialog,.path-browser,.directory-list,.text-editor-area{-webkit-overflow-scrolling:touch;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.workspace-drawer-body::-webkit-scrollbar,.tree-nav::-webkit-scrollbar,.terminal-tabs::-webkit-scrollbar,.terminal-host .xterm-viewport::-webkit-scrollbar,.edit-dialog::-webkit-scrollbar,.path-browser::-webkit-scrollbar,.directory-list::-webkit-scrollbar,.text-editor-area::-webkit-scrollbar{width:10px;height:10px}.workspace-drawer-body::-webkit-scrollbar-track,.tree-nav::-webkit-scrollbar-track,.terminal-tabs::-webkit-scrollbar-track,.terminal-host .xterm-viewport::-webkit-scrollbar-track,.edit-dialog::-webkit-scrollbar-track,.path-browser::-webkit-scrollbar-track,.directory-list::-webkit-scrollbar-track,.text-editor-area::-webkit-scrollbar-track{background:var(--scrollbar-track)}.workspace-drawer-body::-webkit-scrollbar-thumb,.tree-nav::-webkit-scrollbar-thumb,.terminal-tabs::-webkit-scrollbar-thumb,.terminal-host .xterm-viewport::-webkit-scrollbar-thumb,.edit-dialog::-webkit-scrollbar-thumb,.path-browser::-webkit-scrollbar-thumb,.directory-list::-webkit-scrollbar-thumb,.text-editor-area::-webkit-scrollbar-thumb{min-height:40px;border:2px solid var(--scrollbar-track);border-radius:999px;background:var(--scrollbar-thumb)}.workspace-drawer-body::-webkit-scrollbar-thumb:hover,.tree-nav::-webkit-scrollbar-thumb:hover,.terminal-tabs::-webkit-scrollbar-thumb:hover,.terminal-host .xterm-viewport::-webkit-scrollbar-thumb:hover,.edit-dialog::-webkit-scrollbar-thumb:hover,.path-browser::-webkit-scrollbar-thumb:hover,.directory-list::-webkit-scrollbar-thumb:hover,.text-editor-area::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}button,input,select,textarea{font:inherit}button{border:0}input,select,textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--control);color:var(--text);padding:9px 10px}input:focus,select:focus,textarea:focus{border-color:color-mix(in srgb,var(--accent) 64%,var(--line));outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:0}input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 68%,transparent)}textarea{resize:vertical}label{display:grid;gap:6px;color:#c6cbda;font-size:13px;font-weight:600}.checkbox-field{grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px}.checkbox-field input{width:16px;height:16px;padding:0}.field-block{display:grid;gap:6px}.field-block>label{display:block}.loading,.auth-screen{min-height:var(--app-viewport-height);display:grid;place-items:center;padding:calc(24px + var(--safe-area-top)) calc(24px + var(--safe-area-right)) calc(24px + var(--safe-area-bottom)) calc(24px + var(--safe-area-left))}.auth-screen{background:linear-gradient(180deg,#111322eb,#111322),var(--bg)}.auth-panel{width:min(360px,100%);display:grid;gap:14px;background:color-mix(in srgb,var(--panel) 88%,#000);border:1px solid var(--line);border-radius:8px;padding:20px;box-shadow:0 14px 34px #00000042}.auth-title,.workspace-drawer-header,.pane-header,.terminal-bar{display:flex;align-items:center}.auth-title{gap:12px}.auth-title>svg{flex:0 0 auto;color:var(--muted)}.auth-title h1,.workspace-drawer-header h1,.pane-header h2{margin:0;line-height:1.1}.auth-title h1{font-size:20px;font-weight:700}.auth-title p,.workspace-drawer-header span,.pane-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.auth-secret,.recovery-code-list{display:grid;gap:8px;border:1px solid var(--line);border-radius:6px;background:var(--control);padding:10px}.auth-secret span{color:var(--muted);font-size:12px;font-weight:700}.auth-secret code,.recovery-code-list code{overflow-wrap:anywhere;color:var(--text);font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;letter-spacing:0}.recovery-code-list{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell{height:var(--app-viewport-height);display:grid;grid-template-columns:56px minmax(320px,380px) minmax(0,1fr);overflow:hidden;padding:var(--safe-area-top) var(--safe-area-right) var(--safe-area-bottom) var(--safe-area-left);background:var(--bg)}.app-shell.workspace-collapsed{grid-template-columns:56px minmax(0,1fr)}.workspace-rail,.workspace-drawer{min-height:0;border-right:1px solid var(--line);background:var(--panel)}.workspace-scrim,.terminal-mobile-keys{display:none}.workspace-rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px;background:#121628}.rail-top,.rail-bottom{display:grid;gap:8px}.rail-brand,.rail-button{width:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.rail-brand{color:var(--accent-strong)}.rail-button{background:transparent;color:var(--muted);cursor:pointer}.rail-button:hover,.rail-button.active{background:var(--accent-soft);color:var(--accent-strong)}.workspace-drawer{min-width:0;display:flex;flex-direction:column;overflow:hidden}.workspace-drawer-header{justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.workspace-drawer-header>div{min-width:0}.workspace-drawer-header h1{font-size:16px}.workspace-server-bar{padding:12px 14px;border-bottom:1px solid var(--line)}.workspace-server-bar>div{min-width:0}.workspace-header-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.workspace-drawer>.alert{margin:8px 12px 0}.workspace-drawer-body{min-height:0;flex:1;overflow:auto;padding:0 8px 12px}.workspace-drawer-body .tree-nav{overflow:visible;padding:8px 0}.tree-nav{min-height:0;overflow:auto;padding:10px 8px}.empty-tree{color:var(--muted);font-size:13px;padding:16px}.tree-line{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 32px 32px 32px 32px;align-items:center;gap:2px}.tree-line.project-line{grid-template-columns:minmax(0,1fr) 32px 32px 32px}.tree-line.session-line{grid-template-columns:minmax(0,1fr) 30px;margin-left:20px}.tree-server{display:grid;gap:3px;padding:5px 0 8px}.tree-server+.tree-server{margin-top:8px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.tree-project{position:relative;margin-left:18px;padding-left:12px}.tree-project+.tree-project{margin-top:5px}.tree-project:before{content:"";position:absolute;top:-1px;bottom:5px;left:0;width:1px;background:color-mix(in srgb,var(--line-strong) 48%,transparent)}.tree-project>.tree-line:before{content:"";position:absolute;top:50%;left:-12px;width:10px;height:1px;background:color-mix(in srgb,var(--line-strong) 48%,transparent)}.tree-row{width:100%;min-height:34px;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 8px;border-radius:6px;background:transparent;color:#d7dceb;cursor:pointer;box-shadow:inset 0 0 0 1px transparent;text-align:left}.tree-row.server{min-height:38px;color:#eef3ff;font-weight:750;background:color-mix(in srgb,var(--panel-3) 52%,transparent)}.tree-row.server svg{color:color-mix(in srgb,var(--blue) 72%,var(--text))}.tree-row.project{color:#dbe2f2;font-weight:660}.tree-row.project svg{color:color-mix(in srgb,var(--accent) 62%,var(--muted))}.tree-row.expandable{grid-template-columns:16px 18px minmax(0,1fr) auto}.tree-row svg.tree-disclosure{color:var(--muted)}.tree-action{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.tree-action:hover{background:var(--control-hover);color:var(--accent-strong)}.tree-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row small{color:var(--muted);font-size:11px}.agent-logo{width:16px;height:16px;min-width:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);overflow:visible;line-height:1}.agent-logo-md{width:18px;height:18px;min-width:18px}.agent-logo svg{width:100%;height:100%;display:block;fill:currentColor}.agent-logo.agent-logo-codex{color:var(--cyan)}.agent-logo.agent-logo-claude{color:var(--amber)}.agent-logo.agent-logo-shell{color:var(--muted)}.agent-logo-cutout{fill:var(--panel)}.tree-row:hover{background:color-mix(in srgb,var(--control-hover) 58%,transparent);color:var(--text)}.tree-row.server:hover{background:color-mix(in srgb,var(--panel-3) 82%,var(--control-hover))}.tree-row.server.active{background:color-mix(in srgb,var(--panel-3) 58%,transparent);color:#f4f8ff;box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 72%,var(--line))}.tree-row.project.active{background:transparent;color:color-mix(in srgb,var(--accent-strong) 76%,var(--text));box-shadow:inset 2px 0 color-mix(in srgb,var(--accent) 64%,var(--line))}.tree-row.server.active:hover{background:color-mix(in srgb,var(--panel-3) 72%,var(--control-hover))}.tree-row.project.active:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--text)}.tree-row.session{grid-template-columns:18px minmax(0,1fr) 20px;min-height:32px;padding-left:10px;color:color-mix(in srgb,var(--text) 76%,var(--muted));font-size:14px;font-weight:520}.tree-row.session svg:first-child{color:color-mix(in srgb,var(--muted) 82%,var(--text))}.tree-row.session.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 3px 0 0 var(--accent)}.tree-row.session.active:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-strong)}.tree-row.session .agent-logo{justify-self:end}.workspace-view-switch{display:flex;gap:4px;padding:8px 12px 0}.workspace-view-button{flex:1 1 0;min-width:0;min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border-radius:6px;background:var(--control);color:var(--muted);font-size:13px;font-weight:640;cursor:pointer;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--line) 70%,transparent)}.workspace-view-button:hover{background:var(--control-hover);color:var(--text)}.workspace-view-button.active{background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 36%,transparent)}.workspace-view-button small{min-width:18px;padding:1px 5px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);color:inherit;font-size:11px;font-weight:700;line-height:1.3;text-align:center}.session-list{display:grid;gap:3px;padding:8px 0}.session-list-line{display:grid;grid-template-columns:minmax(0,1fr) 30px 30px;align-items:center;gap:2px}.tree-row.session.session-list-row{grid-template-columns:16px minmax(0,1fr) 20px;min-height:46px;padding:6px 8px 6px 10px}.session-list-status{display:inline-flex;align-items:center;justify-content:center;width:16px;min-height:16px;overflow:visible}.session-list-main{min-width:0;display:grid;gap:2px}.session-list-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.session-list-meta{min-width:0;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11.5px;font-weight:500}.session-list-meta .project-color-dot{flex:0 0 auto}.session-list-project{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-list-age{flex:0 0 auto;margin-left:auto;padding-left:6px;font-variant-numeric:tabular-nums;white-space:nowrap}.tree-row.session.session-list-row.active .session-list-meta{color:color-mix(in srgb,var(--accent-strong) 70%,var(--muted))}.session-list-empty{display:grid;gap:10px;justify-items:start}.session-list-empty p{margin:0}.pane-header{justify-content:space-between;gap:12px;padding-bottom:14px}.pane-header h2{font-size:18px}.tool-section{border-top:1px solid var(--line);padding:12px 0}.section-toggle,.ghost-button,.primary-button,.icon-button{min-height:36px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.section-toggle{width:100%;justify-content:flex-start;background:transparent;color:var(--text);font-weight:700}.section-toggle:hover{color:var(--accent-strong)}.ghost-button{background:var(--control);color:#d9deec;border:1px solid var(--line);padding:8px 10px}.ghost-button:hover{background:var(--control-hover);border-color:var(--line-strong)}.primary-button{background:var(--accent);color:#07120d;padding:9px 12px;font-weight:700}.primary-button:hover{background:var(--accent-strong)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.icon-button{width:36px;background:var(--accent-soft);color:var(--accent-strong)}.icon-button:hover{background:color-mix(in srgb,var(--accent) 22%,var(--control))}.icon-button.tiny{width:28px;min-height:28px}.icon-button.danger{background:var(--error-bg);color:var(--error)}.danger-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:6px;background:var(--error-bg);color:var(--error);border:1px solid color-mix(in srgb,var(--error) 46%,var(--line));padding:8px 10px;font-weight:700;cursor:pointer}.danger-button:disabled{opacity:.6;cursor:not-allowed}.stack-form{display:grid;gap:12px;padding:8px 0 2px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.path-field,.path-jump,.create-folder-row,.browser-actions{display:flex;align-items:center;gap:8px}.path-field input,.path-jump input,.create-folder-row input{min-width:0;flex:1}.alert{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:6px;padding:9px 10px;font-size:13px;border:1px solid}.alert>span{min-width:0;overflow-wrap:anywhere}.alert-dismiss{width:22px;height:22px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:transparent;color:currentColor;cursor:pointer;opacity:.78}.alert-dismiss:hover{background:color-mix(in srgb,currentColor 12%,transparent);opacity:1}.alert-action{min-height:28px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid color-mix(in srgb,currentColor 36%,transparent);border-radius:6px;background:color-mix(in srgb,currentColor 10%,transparent);color:currentColor;padding:4px 8px;font-size:12px;font-weight:700;cursor:pointer}.alert-action:hover:not(:disabled){background:color-mix(in srgb,currentColor 16%,transparent)}.alert-action:disabled{cursor:wait;opacity:.62}.alert.error{color:var(--error);background:var(--error-bg);border-color:color-mix(in srgb,var(--error) 48%,var(--line))}.alert.notice{color:var(--accent-strong);background:var(--notice-bg);border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.terminal-pane{min-width:0;min-height:0;background:var(--terminal-bg)}.terminal-workspace{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:var(--terminal-bg)}.terminal-tabs{min-width:0;min-height:62px;display:flex;align-items:stretch;gap:10px;overflow-x:auto;overflow-y:hidden;padding:8px 10px 0;background:#111421;border-bottom:1px solid var(--line);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.terminal-tab-group{--project-color: var(--blue);min-width:min-content;display:grid;grid-template-rows:18px 36px;gap:2px;flex:0 0 auto}.terminal-tab-group-label{min-width:0;display:flex;align-items:center;gap:6px;padding:0 7px;color:#b6bed3;font-size:11px;font-weight:700}.terminal-tab-group-label span:last-child{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-color-dot{width:8px;height:8px;flex:0 0 auto;border-radius:999px;background:var(--project-color);box-shadow:0 0 14px color-mix(in srgb,var(--project-color) 62%,transparent)}.terminal-tab-group-tabs{display:flex;align-items:end;gap:4px}.terminal-tabs-spacer{min-width:16px;flex:1 0 16px}.terminal-tab-utilities{position:sticky;right:0;z-index:4;display:flex;align-items:end;gap:6px;align-self:end;flex:0 0 auto;box-shadow:-10px 0 14px #111421b8;background:#111421}.terminal-tab-utility{width:156px;height:36px;align-self:end;flex:0 0 156px;border:1px solid var(--line);border-bottom:0;border-top:3px solid #8fb7ff;border-radius:8px 8px 0 0;background:#20263b;color:#c2ccdf}.terminal-tab-utility.close-all{width:112px;flex-basis:112px;border-top-color:#e07a7a}.terminal-tab-utility.close-all .terminal-tab-utility-button:hover{color:#ffb4b4}.terminal-tab-utility.active{background:var(--terminal-bg);color:var(--text);border-color:color-mix(in srgb,#8fb7ff 68%,var(--line));border-top-color:#8fb7ff}.terminal-tab-utility-button{min-width:0;width:100%;height:33px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px;padding:0 10px;background:transparent;color:inherit;cursor:pointer;text-align:left}.terminal-tab-utility-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-tab{position:relative;min-width:150px;max-width:240px;height:36px;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;border:1px solid color-mix(in srgb,var(--project-color) 18%,var(--line));border-bottom:0;border-top:3px solid color-mix(in srgb,var(--project-color) 68%,#27304a);border-radius:8px 8px 0 0;background:#1d2136;color:#a8b0c4;box-shadow:inset 0 1px color-mix(in srgb,var(--project-color) 8%,transparent)}.terminal-tab.dragging{opacity:.58}.terminal-tab.drop-before:before,.terminal-tab.drop-after:after{content:"";position:absolute;top:4px;bottom:4px;z-index:2;width:3px;border-radius:999px;background:var(--project-color);box-shadow:0 0 12px color-mix(in srgb,var(--project-color) 82%,transparent);pointer-events:none}.terminal-tab.drop-before:before{left:-4px}.terminal-tab.drop-after:after{right:-4px}.terminal-tab.active{background:var(--terminal-bg);color:var(--text);border-color:color-mix(in srgb,var(--project-color) 72%,var(--line));border-top-color:var(--project-color);box-shadow:0 -1px 16px color-mix(in srgb,var(--project-color) 10%,transparent)}.terminal-tab:hover:not(.active){background:#242941;color:#d4daea;border-color:color-mix(in srgb,var(--project-color) 32%,var(--line));border-top-color:color-mix(in srgb,var(--project-color) 82%,#27304a)}.terminal-tab-button{min-width:0;height:34px;display:grid;grid-template-columns:18px minmax(0,1fr) 38px;align-items:center;gap:6px;padding:0 8px;background:transparent;color:inherit;cursor:grab;text-align:left;-webkit-user-select:none;user-select:none}.terminal-tab.dragging .terminal-tab-button{cursor:grabbing}.terminal-tab-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-tab-button small{color:var(--muted);font-size:11px}.terminal-tab-meta{justify-self:end;width:38px;display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.terminal-status-badge{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#697188;box-shadow:0 0 0 1px #ffffff14}.terminal-status-connecting{background:#6aa8ff;box-shadow:0 0 10px #6aa8ff80}.terminal-status-working{background:transparent;border:2px solid #f7c95f;border-top-color:transparent;animation:terminal-status-spin .85s linear infinite}.terminal-status-idle{background:#697188;opacity:.72}.terminal-status-waiting{background:#24d07d;animation:terminal-status-wait-pulse 1.1s ease-in-out infinite;box-shadow:0 0 0 1px #24d07d52,0 0 10px #24d07d73}.terminal-status-disconnected{background:#697188}.terminal-status-error{background:#ff7b8a;box-shadow:0 0 10px #ff7b8a80}@keyframes terminal-status-spin{to{transform:rotate(360deg)}}@keyframes terminal-status-wait-pulse{0%,to{opacity:.64;transform:scale(.92);box-shadow:0 0 0 1px #24d07d47,0 0 6px #24d07d47}50%{opacity:1;transform:scale(1.18);box-shadow:0 0 0 4px #24d07d2e,0 0 14px #24d07d9e}}@media(prefers-reduced-motion:reduce){.terminal-status-waiting{animation:none;opacity:1;transform:none}}.terminal-tab-close{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.terminal-tab-close:hover{background:var(--control-hover);color:var(--text)}.terminal-tab-panels,.terminal-tab-panel{min-height:0;height:100%}.terminal-tab-panels{position:relative;overflow:hidden}.terminal-tab-panel{display:none;position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;opacity:0;pointer-events:none}.terminal-tab-panel.active{display:block;visibility:visible;opacity:1;pointer-events:auto;z-index:1}.terminal-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr)}.terminal-bar{justify-content:space-between;gap:12px;min-height:42px;padding:8px 12px;background:var(--terminal-panel);color:var(--text);border-bottom:1px solid var(--line)}.terminal-bar-meta,.terminal-bar-actions{min-width:0;display:flex;align-items:center;gap:10px}.terminal-bar-meta{flex:1 1 auto}.terminal-bar-actions{flex:0 1 auto;justify-content:flex-start;margin-left:auto;overflow-x:auto;scrollbar-width:none}.terminal-bar-actions::-webkit-scrollbar{display:none}.terminal-bar strong,.terminal-bar-meta span,.upload-state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-bar-meta span{color:var(--muted);font-size:12px}.terminal-bar .agent-logo{min-width:18px;flex:0 0 auto;overflow:visible;white-space:normal}.upload-state{max-width:320px;color:var(--amber);font-size:12px}.upload-state.error{color:var(--error)}.terminal-action-button{width:30px;height:30px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--control);color:var(--muted);cursor:pointer}.terminal-action-button:hover:not(:disabled){background:var(--control-hover);color:var(--accent-strong)}.terminal-action-button:disabled{cursor:wait;opacity:.62}.terminal-action-button svg{pointer-events:none}.terminal-dictation-button{color:var(--accent-strong)}.terminal-host-shell{position:relative;min-height:0;width:100%;height:100%}.terminal-host{min-height:0;width:100%;height:100%;padding:8px 0 0 10px;overflow:hidden;outline:none}.terminal-host .xterm,.terminal-host .xterm-viewport,.terminal-host .xterm-screen{height:100%}.terminal-host .xterm-viewport{overscroll-behavior:contain;touch-action:pan-y}.terminal-host .xterm-screen{user-select:text;-webkit-user-select:text}.terminal-autocomplete-menu{position:absolute;left:14px;top:10px;display:grid;gap:2px;width:min(420px,calc(100% - 16px));max-height:min(240px,calc(100% - 16px));padding:4px;overflow:auto;border:1px solid rgba(247,201,95,.28);border-radius:6px;background:#151728eb;box-shadow:0 14px 34px #00000052}.terminal-autocomplete-option{width:100%;min-height:26px;padding:5px 7px;overflow:hidden;border:0;border-radius:4px;background:transparent;color:#e7ebf8b8;cursor:pointer;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap}.terminal-autocomplete-option:hover,.terminal-autocomplete-option.is-primary{background:#f7c95f24;color:#f8e7a8}.terminal-text-composer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:#05070e85}.terminal-text-composer{position:fixed;z-index:46;top:8px;left:8px;width:min(560px,calc(100% - 16px));height:min(390px,calc(100% - 16px));max-height:calc(100% - 16px);display:grid;grid-template-rows:auto minmax(88px,1fr) auto auto;gap:12px;padding:14px;overflow:auto;border:1px solid var(--line-strong);border-radius:8px;background:color-mix(in srgb,var(--panel) 96%,black);box-shadow:var(--shadow)}.terminal-text-composer-header,.terminal-text-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.terminal-text-composer-header{align-items:flex-start}.terminal-text-composer-header>div{min-width:0}.terminal-text-composer-header strong,.terminal-text-composer-header span{display:block}.terminal-text-composer-header span,.terminal-text-composer>p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.terminal-text-composer>p.error{color:var(--error)}.terminal-text-composer-close{width:30px;height:30px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--control);color:var(--muted);cursor:pointer}.terminal-text-composer-close:hover{background:var(--control-hover);color:var(--text)}.terminal-text-composer-field{gap:5px;min-height:0;grid-template-rows:auto minmax(0,1fr)}.terminal-text-composer-field textarea{min-height:88px;height:100%;resize:none;font-size:16px;line-height:1.4}.terminal-text-composer-actions{justify-content:flex-end}.terminal-text-composer.is-compact{grid-template-rows:auto minmax(72px,1fr) auto}.terminal-text-composer.is-compact .terminal-text-composer-header span{display:none}.terminal-text-composer.is-compact>p:not(.error){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.terminal-empty{height:100%;display:grid;place-content:center;gap:8px;background:var(--terminal-bg);color:var(--text);text-align:center;padding:24px}.terminal-empty h2,.terminal-empty p{margin:0}.terminal-empty p{color:var(--muted)}.agent-usage-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;padding:18px 20px;overflow:auto;background:var(--terminal-bg);color:var(--text)}.agent-usage-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.agent-usage-header h2,.agent-usage-header p,.agent-usage-title h3,.agent-usage-title span,.agent-usage-section-title,.agent-usage-details,.agent-usage-error{margin:0}.agent-usage-header h2{font-size:24px;line-height:1.1}.agent-usage-header p,.agent-usage-title span,.agent-usage-section-title,.agent-usage-details dt,.agent-usage-limit-top span,.agent-usage-limit-percent span,.agent-usage-limit-reset,.agent-usage-empty-limits span,.agent-usage-header-actions span{color:var(--muted);font-size:12px}.agent-usage-header-actions{min-width:0;display:flex;align-items:center;gap:10px}.agent-usage-header-actions>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-usage-refresh-button.is-busy svg{animation:agent-usage-spin .9s linear infinite}@keyframes agent-usage-spin{to{transform:rotate(360deg)}}.agent-usage-loading{display:grid;place-items:center;min-height:180px;color:var(--muted)}.agent-usage-grid{min-height:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:14px;align-content:start}.agent-usage-card{min-width:0;display:grid;align-content:start;gap:13px;padding:16px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 34%),var(--terminal-panel)}.agent-usage-card-header,.agent-usage-title{min-width:0;display:flex;align-items:center;gap:10px}.agent-usage-card-header{justify-content:space-between}.agent-usage-title{flex:1 1 auto}.agent-usage-title>div{min-width:0}.agent-usage-title h3,.agent-usage-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-usage-title h3{font-size:18px;line-height:1.15}.agent-usage-status{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:var(--control);color:var(--muted);font-size:12px;font-weight:700}.agent-usage-status-ready{color:#24d07d;background:#24d07d1a}.agent-usage-status-unknown,.agent-usage-status-timeout{color:#f7c95f;background:#f7c95f1a}.agent-usage-status-unavailable,.agent-usage-status-unauthenticated,.agent-usage-status-error{color:#ff7b8a;background:#ff7b8a1a}.agent-usage-section{min-width:0;display:grid;gap:8px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.agent-usage-section-title{color:#b9c1d6;font-weight:700}.agent-usage-limits{display:grid;gap:10px}.agent-usage-limit{display:grid;gap:7px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent)}.agent-usage-limit:last-child{padding-bottom:0;border-bottom:0}.agent-usage-limit-top{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.agent-usage-limit-top>div,.agent-usage-limit-percent{min-width:0;display:grid;gap:2px}.agent-usage-limit-top strong,.agent-usage-empty-limits strong{min-width:0;overflow-wrap:anywhere}.agent-usage-limit-percent{text-align:right}.agent-usage-limit-percent strong{color:var(--accent-strong);font-size:13px;font-weight:700}.agent-usage-meter{height:8px;overflow:hidden;border-radius:999px;background:#111527}.agent-usage-meter span{display:block;width:var(--agent-usage-meter-value);height:100%;border-radius:inherit}.agent-usage-limit-good .agent-usage-meter span{background:linear-gradient(90deg,#24d07d,#2dd4bf)}.agent-usage-limit-warning .agent-usage-meter span{background:linear-gradient(90deg,#f7c95f,#ffae5f)}.agent-usage-limit-danger .agent-usage-meter span{background:linear-gradient(90deg,#ff9f6e,#ff7b8a)}.agent-usage-limit-unknown .agent-usage-meter span{background:var(--line-strong)}.agent-usage-empty-limits{min-width:0;display:grid;gap:4px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.agent-usage-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}.agent-usage-details div{min-width:0}.agent-usage-details dt{margin-bottom:3px}.agent-usage-details dd{margin:0;color:var(--text);font-size:13px;line-height:1.3;overflow-wrap:anywhere}.agent-usage-detail-wide{grid-column:1 / -1}.agent-usage-summary{display:grid;gap:7px;list-style:none;margin:0;padding:0;color:#d7deef;font-size:13px}.agent-usage-summary li{min-width:0;padding:7px 9px;border-left:3px solid color-mix(in srgb,var(--cyan) 72%,var(--line));border-radius:0 6px 6px 0;background:color-mix(in srgb,var(--control) 70%,transparent);line-height:1.35;overflow-wrap:anywhere}.agent-usage-error{padding:9px 10px;border:1px solid color-mix(in srgb,var(--error) 38%,transparent);border-radius:6px;background:var(--error-bg);color:#ff9aa6;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.agent-usage-raw{min-width:0;padding-top:4px}.agent-usage-raw summary{cursor:pointer;color:var(--accent-strong);font-size:13px;font-weight:700}.agent-usage-raw pre{max-height:240px;overflow:auto;margin:8px 0 0;padding:10px;border-radius:6px;background:#0e1220;color:#ccd6e8;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}@media(max-width:760px){.agent-usage-panel{padding:12px}.agent-usage-header,.agent-usage-card-header{align-items:stretch;flex-direction:column}.agent-usage-header-actions{justify-content:space-between}.agent-usage-grid,.agent-usage-limit-top,.agent-usage-details{grid-template-columns:1fr}.agent-usage-limit-percent{text-align:left}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:calc(24px + var(--safe-area-top)) calc(24px + var(--safe-area-right)) calc(24px + var(--safe-area-bottom)) calc(24px + var(--safe-area-left));background:#05070ead}.edit-dialog{width:min(560px,100%);max-height:min(760px,calc(var(--app-viewport-height) - 48px - var(--safe-area-top) - var(--safe-area-bottom)));display:grid;gap:12px;overflow:auto;padding:16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.edit-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.edit-dialog-header h3{margin:0;font-size:17px}.edit-dialog-header span{display:block;max-width:420px;margin-top:4px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px}.modal-actions.single-action{justify-content:flex-end}.ssh-security{display:grid;gap:10px;min-width:0;border-top:1px solid var(--line);padding-top:12px}.ssh-security-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ssh-security-header h4{display:flex;align-items:center;gap:6px;margin:0;font-size:14px}.ssh-security-header span,.ssh-security-hint{display:block;margin:4px 0 0;color:var(--muted);font-size:12px}.ssh-security-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 10px;margin:0;font-size:12px}.ssh-security-facts dt{color:var(--muted)}.ssh-security-facts dd{margin:0;font-family:SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.ssh-security-list{display:grid;gap:4px;margin:0;padding:8px 10px 8px 26px;border-radius:6px;background:var(--panel-2);font-size:12px}.ssh-security-list.blockers{background:var(--error-bg);color:var(--error)}.ssh-security-list.warnings{background:color-mix(in srgb,var(--amber) 10%,transparent);color:color-mix(in srgb,var(--amber) 80%,var(--text))}.ssh-security-details summary{cursor:pointer;color:var(--muted);font-size:12px}.ssh-security-table-wrap{max-width:100%;margin-top:6px;overflow-x:auto}.ssh-security-table{width:100%;border-collapse:collapse;font-size:11px}.ssh-security-table th,.ssh-security-table td{padding:4px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere}.ssh-security-table th{color:var(--muted);font-weight:600}.ssh-security-password{color:var(--amber)}.ssh-badge{display:inline-block;margin-left:4px;padding:1px 5px;border-radius:4px;background:var(--panel-3);color:var(--muted);font-size:10px;white-space:nowrap}.ssh-security-table td:first-child .ssh-badge{margin-left:0}.ssh-badge.agent-terminal{background:var(--accent-soft);color:var(--accent-strong)}.ssh-badge.operator{background:color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue)}.ssh-security-error{margin:0;padding:8px 10px;border-radius:6px;background:var(--error-bg);color:var(--error);font-size:12px}.ssh-security-actions{display:flex;justify-content:flex-end}.tree-server-meta{display:inline-flex;align-items:center;gap:4px}.tree-row.server .tree-password-warning{flex:none;color:var(--amber)}.modal-actions>div{display:flex;align-items:center;justify-content:flex-end;gap:8px}.path-browser{width:min(720px,100%);max-height:min(760px,calc(var(--app-viewport-height) - 48px - var(--safe-area-top) - var(--safe-area-bottom)));display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.path-browser.sftp-browser{width:min(900px,100%);grid-template-rows:auto auto auto auto minmax(220px,1fr) auto}.path-browser-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.path-browser-header h3{margin:0;font-size:17px}.path-browser-header span{display:block;max-width:580px;margin-top:4px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.browser-actions{justify-content:space-between;flex-wrap:wrap}.directory-list{min-height:220px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.directory-row{width:100%;min-height:38px;display:grid;grid-template-columns:22px minmax(0,1fr) 72px;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;text-align:left}.directory-row:hover{background:var(--control-hover)}.directory-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directory-row small{color:var(--muted);font-size:11px}.directory-placeholder{padding:16px;color:var(--muted);font-size:13px}.hidden-input{display:none}.file-row{min-height:40px;display:grid;grid-template-columns:minmax(0,1fr) 78px 86px 70px;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--line)}.file-row:hover{background:var(--control-hover)}.file-open-button{min-width:0;min-height:30px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;border-radius:5px;background:transparent;color:var(--text);cursor:pointer;text-align:left}.file-open-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-actions{display:flex;justify-content:flex-end;gap:5px}.text-editor{min-height:300px;display:grid;grid-template-rows:auto minmax(240px,1fr);gap:8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);padding:10px}.text-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.text-editor-header h4{margin:0;font-size:14px}.text-editor-header span{display:block;max-width:560px;margin-top:3px;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.text-editor-actions{display:flex;align-items:center;gap:8px}.text-editor-area{min-height:240px;height:100%;resize:none;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45;white-space:pre;overflow:auto}@media(max-width:1100px){.app-shell{grid-template-columns:56px minmax(300px,34vw) minmax(0,1fr)}.app-shell.workspace-collapsed{grid-template-columns:56px minmax(0,1fr)}}@media(max-width:860px){.app-shell{height:var(--app-viewport-height);grid-template-columns:52px minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}.app-shell.workspace-open,.app-shell.workspace-collapsed{grid-template-columns:52px minmax(0,1fr)}.workspace-rail{position:relative;z-index:35;padding:8px 6px}.workspace-drawer{position:fixed;top:var(--safe-area-top);bottom:var(--safe-area-bottom);left:calc(52px + var(--safe-area-left));z-index:30;width:min(360px,calc(100vw - 52px - var(--safe-area-left) - var(--safe-area-right)));box-shadow:18px 0 38px #10121433}.rail-brand,.rail-button{width:36px;min-height:36px}.terminal-pane{min-height:0}}@media(max-width:520px){.modal-backdrop{padding:calc(12px + var(--safe-area-top)) calc(12px + var(--safe-area-right)) calc(12px + var(--safe-area-bottom)) calc(12px + var(--safe-area-left))}.edit-dialog,.path-browser{max-height:calc(var(--app-viewport-height) - 24px - var(--safe-area-top) - var(--safe-area-bottom))}.form-grid{grid-template-columns:1fr}.path-field,.path-jump,.create-folder-row,.modal-actions,.modal-actions>div{align-items:stretch;flex-direction:column}.file-row{grid-template-columns:minmax(0,1fr) 64px 54px}.file-row small:nth-of-type(2){display:none}.text-editor-header,.text-editor-actions{align-items:stretch;flex-direction:column}.workspace-drawer-header,.workspace-server-bar{padding:12px}.terminal-bar-meta,.terminal-bar-actions{gap:7px}.terminal-bar-actions{max-width:48%}.terminal-tabs{min-height:58px;gap:8px;padding:7px 8px 0}.terminal-tab-group{grid-template-rows:17px 34px}.terminal-tab{min-width:132px;max-width:188px;height:34px}.terminal-tab-button{height:32px;grid-template-columns:18px minmax(0,1fr) 30px;padding:0 7px}.terminal-tab-meta{width:30px}.terminal-tab-close{width:27px;height:27px}.terminal-tab-utility{width:132px;height:34px;flex-basis:132px}.terminal-tab-utility.close-all{width:98px;flex-basis:98px}.terminal-tab-utility-button{height:31px}.terminal-bar{padding:7px 8px}.upload-state{max-width:140px}}.app-shell.mobile-viewport,.app-shell.mobile-viewport.workspace-open,.app-shell.mobile-viewport.workspace-collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr)}.app-shell.mobile-viewport .workspace-rail{position:relative;z-index:40;min-height:48px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);padding:6px 8px}.app-shell.mobile-viewport .rail-top,.app-shell.mobile-viewport .rail-bottom{min-width:0;display:flex;align-items:center;gap:6px}.app-shell.mobile-viewport .rail-bottom{margin-left:auto}.app-shell.mobile-viewport .rail-brand,.app-shell.mobile-viewport .rail-button{width:36px;min-height:36px}.app-shell.mobile-viewport .terminal-pane{grid-row:2;min-height:0}.app-shell.mobile-viewport .workspace-scrim{position:fixed;top:calc(48px + var(--safe-area-top));right:var(--safe-area-right);bottom:var(--safe-area-bottom);left:var(--safe-area-left);z-index:28;display:block;padding:0;background:#05070e85;cursor:pointer}.app-shell.mobile-viewport .workspace-drawer{position:fixed;top:calc(48px + var(--safe-area-top));bottom:var(--safe-area-bottom);left:var(--safe-area-left);z-index:35;width:min(390px,calc(100vw - var(--safe-area-left) - var(--safe-area-right)));border-top:1px solid var(--line);box-shadow:18px 0 42px #0000006b;animation:mobile-drawer-enter .14s ease-out}.app-shell.mobile-viewport .workspace-drawer-header,.app-shell.mobile-viewport .workspace-server-bar{padding:10px 12px}.app-shell.mobile-viewport .workspace-drawer-body{padding:0 8px 10px}.app-shell.mobile-viewport .terminal-tabs{min-height:44px;gap:6px;padding:6px 7px 0}.app-shell.mobile-viewport .terminal-tab-group{grid-template-rows:34px}.app-shell.mobile-viewport .terminal-tab-group-label{display:none}.app-shell.mobile-viewport .terminal-tab{min-width:128px;max-width:176px;height:34px}.app-shell.mobile-viewport .terminal-tab-button{height:32px;grid-template-columns:18px minmax(0,1fr) 30px;padding:0 7px}.app-shell.mobile-viewport .terminal-tab-meta{width:30px}.app-shell.mobile-viewport .terminal-tabs-spacer{min-width:4px;flex-basis:4px}.app-shell.mobile-viewport .terminal-tab-close{width:27px;height:27px}.app-shell.mobile-viewport .terminal-tab-utility{width:42px;height:34px;flex-basis:42px}.app-shell.mobile-viewport .terminal-tab-utility-button{height:31px;grid-template-columns:1fr;place-items:center;padding:0}.app-shell.mobile-viewport .terminal-tab-utility-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell.mobile-viewport .terminal-shell{grid-template-rows:auto auto minmax(0,1fr)}.app-shell.mobile-viewport .terminal-bar{min-height:40px;gap:8px;padding:6px 8px}.app-shell.mobile-viewport .terminal-bar-meta,.app-shell.mobile-viewport .terminal-bar-actions{gap:7px}.app-shell.mobile-viewport .terminal-bar-meta span{display:none}.app-shell.mobile-viewport .terminal-bar-actions{max-width:min(64vw,252px);flex:0 1 auto}.app-shell.mobile-viewport .upload-state{max-width:104px}.app-shell.mobile-viewport .terminal-mobile-keys{min-width:0;display:flex;align-items:center;gap:6px;overflow-x:auto;padding:6px 8px;border-bottom:1px solid var(--line);background:#101421;-webkit-overflow-scrolling:touch}.app-shell.mobile-viewport .terminal-mobile-key{min-width:56px;min-height:34px;flex:1 0 56px;border:1px solid var(--line);border-radius:6px;background:var(--control);color:#d7ddec;font-size:12px;font-weight:750;cursor:pointer}.app-shell.mobile-viewport .terminal-mobile-key:active{background:var(--accent-soft);color:var(--accent-strong)}.app-shell.mobile-viewport .terminal-host{padding:6px 0 0 6px;touch-action:pan-y}.app-shell.mobile-viewport .terminal-host .xterm-viewport{overflow-y:auto!important;-webkit-overflow-scrolling:touch;touch-action:pan-y}@keyframes mobile-drawer-enter{0%{transform:translate(-18px);opacity:.84}to{transform:translate(0);opacity:1}}.terminal-host-shell.is-hidden{display:none}.terminal-action-button.is-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.chat-view{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;background:var(--terminal-bg);border-radius:10px;border:1px solid var(--line);overflow:hidden}.chat-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;font-size:.82rem;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel-2)}.chat-status-warning{color:var(--amber)}.chat-inline-button{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);background:var(--control);color:var(--text);font-size:.78rem;cursor:pointer}.chat-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:14px 12px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chat-empty,.chat-system{text-align:center;color:var(--muted);font-size:.82rem;padding:6px 12px}.chat-message{display:flex;flex-direction:column;max-width:92%;gap:4px}.chat-message-user{align-self:flex-end;align-items:flex-end}.chat-message-assistant{align-self:flex-start;align-items:flex-start}.chat-bubble{padding:10px 12px;border-radius:14px;line-height:1.45;font-size:.93rem;word-break:break-word;overflow-wrap:anywhere}.chat-message-user .chat-bubble{background:var(--accent-soft);border:1px solid rgba(36,208,125,.35);border-bottom-right-radius:4px}.chat-message-assistant .chat-bubble{background:var(--panel-3);border:1px solid var(--line);border-bottom-left-radius:4px}.chat-message-commentary .chat-bubble{color:var(--muted);background:transparent;border-style:dashed}.chat-bubble p{margin:0;white-space:pre-wrap}.chat-bubble p+p,.chat-bubble p+.chat-code,.chat-bubble .chat-code+p{margin-top:8px}.chat-code{margin:0;padding:10px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line);font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem;line-height:1.4;overflow-x:auto;white-space:pre}.chat-time{font-size:.7rem;color:var(--muted);padding:0 4px}.chat-activity{display:flex;align-items:baseline;gap:8px;padding:2px 8px;font-size:.8rem;color:var(--muted);min-width:0}.chat-activity-glyph{flex:none;width:1.1em;text-align:center}.chat-activity-completed .chat-activity-glyph{color:var(--accent)}.chat-activity-failed{color:var(--error)}.chat-activity-text{flex:none;color:var(--text)}.chat-activity-detail{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:.76rem}.chat-question{align-self:stretch;padding:12px;border-radius:12px;border:1px solid rgba(247,201,95,.45);background:#f7c95f14;display:flex;flex-direction:column;gap:8px}.chat-question-header{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--amber)}.chat-question-text{font-size:.93rem;white-space:pre-wrap}.chat-question-options{display:flex;flex-direction:column;gap:6px}.chat-question-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--control);color:var(--text);text-align:left;cursor:pointer;font-size:.88rem}.chat-question-option:hover:not(:disabled){background:var(--control-hover)}.chat-question-option:disabled{opacity:.55;cursor:default}.chat-question-option span{color:var(--muted);font-size:.78rem}.chat-question-note{font-size:.78rem;color:var(--muted)}.chat-composer{display:flex;align-items:flex-end;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--panel-2)}.chat-composer-input{flex:1 1 auto;min-height:40px;max-height:160px;resize:none;padding:10px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--control);color:var(--text);font:inherit;font-size:.95rem;line-height:1.35;field-sizing:content}.chat-composer-input:focus{outline:none;border-color:var(--accent)}.chat-send-button{flex:none;width:40px;height:40px;border-radius:12px;border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-strong);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-send-button:disabled{opacity:.45;cursor:default}.terminal-view-toggle{position:sticky;left:0;z-index:1;background:var(--control)}.terminal-view-toggle.is-active{background:var(--accent-soft)}
