/**
 * 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}:root{--cv-bg-base: #1e1e1e;--cv-bg-surface: #252526;--cv-bg-surface-hover: #2d2d2d;--cv-bg-surface-deep: #161616;--cv-bg-button: #3c3c3c;--cv-bg-button-hover: #4a4a4a;--cv-bg-selected: #094771;--cv-bg-input: #1e1e1e;--cv-bg-msg-user: #2a2d36;--cv-bg-error: #3a1f1f;--cv-text-primary: #e0e0e0;--cv-text-body: #d4d4d4;--cv-text-secondary: #aaa;--cv-text-muted: #888;--cv-text-onaccent: #fff;--cv-border-subtle: #1a1a1a;--cv-border-input: #3c3c3c;--cv-border-pane: #2a2a2a;--cv-border-msg: #3a3d46;--cv-accent: #007acc;--cv-accent-hover: #1080d0;--cv-success: #6cb87a;--cv-warning: #e2c08d;--cv-error: #d97077;--cv-error-bg: #3a1f1f;--cv-error-border: #5c2c2c;--cv-info: #4ec9b0;--cv-space-1: 4px;--cv-space-2: 8px;--cv-space-3: 12px;--cv-space-4: 16px;--cv-space-5: 20px;--cv-space-6: 24px;--cv-radius-sm: 3px;--cv-radius-md: 4px;--cv-radius-lg: 6px;--cv-radius-xl: 8px;--cv-transition: .15s ease;--cv-toolbar-height: 36px;--cv-statusbar-height: 22px}html,body,#root{margin:0;height:100%;background:var(--cv-bg-base);color:var(--cv-text-body);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}:focus-visible{outline:2px solid var(--cv-accent);outline-offset:1px;border-radius:var(--cv-radius-sm)}kbd,.kbd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;background:var(--cv-bg-input);border:1px solid var(--cv-border-input);border-radius:var(--cv-radius-sm);padding:1px 5px;color:var(--cv-text-secondary);white-space:nowrap}.toolbar{height:var(--cv-toolbar-height);display:flex;align-items:center;padding:0 var(--cv-space-3);background:var(--cv-bg-surface);border-bottom:1px solid var(--cv-border-subtle);gap:var(--cv-space-2);font-size:12px}.toolbar-brand{font-weight:600;color:var(--cv-text-primary);letter-spacing:.4px;margin-right:var(--cv-space-2)}.toolbar-group{display:flex;align-items:center;gap:var(--cv-space-1)}.toolbar-sep{width:1px;height:16px;background:var(--cv-border-input);margin:0 var(--cv-space-2)}.toolbar button{background:var(--cv-bg-button);color:var(--cv-text-body);border:none;padding:6px 10px;font-size:12px;border-radius:var(--cv-radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--cv-space-2);transition:background var(--cv-transition)}.toolbar button:hover{background:var(--cv-bg-button-hover)}.toolbar button .kbd{background:#00000040;border-color:#ffffff14;color:var(--cv-text-muted)}.toolbar .hint{opacity:.6;font-size:11px}.main{position:absolute;top:var(--cv-toolbar-height);left:0;right:0;bottom:var(--cv-statusbar-height);display:flex}.sidebar{background:var(--cv-bg-surface);border-right:1px solid var(--cv-border-subtle);overflow-y:auto;font-size:12px;flex:0 0 auto}.layout-host{flex:1 1 0;min-width:0;position:relative}.statusbar{position:absolute;bottom:0;left:0;right:0;height:var(--cv-statusbar-height);display:flex;align-items:center;gap:var(--cv-space-3);padding:0 var(--cv-space-3);background:var(--cv-bg-surface);border-top:1px solid var(--cv-border-subtle);font-size:11px;color:var(--cv-text-secondary);-webkit-user-select:none;user-select:none}.statusbar-section{display:inline-flex;align-items:center;gap:var(--cv-space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statusbar-section.active-title{flex:1 1 auto;justify-content:center;color:var(--cv-text-muted);min-width:0}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--cv-text-muted);display:inline-block}.status-dot.ok{background:var(--cv-success);box-shadow:0 0 4px #6cb87a99}.status-dot.warn{background:var(--cv-warning)}.status-dot.error{background:var(--cv-error)}.status-dot.checking{background:var(--cv-text-muted);animation:cv-pulse 1.2s ease-in-out infinite}@keyframes cv-pulse{0%,to{opacity:.4}50%{opacity:1}}.statusbar .kbd-hint{display:inline-flex;gap:var(--cv-space-1);align-items:center}.statusbar-sep{opacity:.35;-webkit-user-select:none;user-select:none}.statusbar-copyright{color:var(--cv-text-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filetree-root{padding:var(--cv-space-1) 0}.filetree-header{padding:6px var(--cv-space-3);color:var(--cv-text-muted);text-transform:uppercase;font-size:10px;letter-spacing:.6px;border-bottom:1px solid var(--cv-border-subtle);margin-bottom:var(--cv-space-1)}.filetree-error,.filetree-empty,.filetree-loading,.tree-error,.tree-loading{padding:var(--cv-space-1) var(--cv-space-3);color:var(--cv-text-muted);font-size:11px}.filetree-error,.tree-error{color:var(--cv-error)}.filetree,.filetree ul{list-style:none;padding:0;margin:0}.filetree ul{padding-left:14px}.tree-row{display:flex;gap:var(--cv-space-1);padding:2px var(--cv-space-3);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center}.tree-row:hover{background:var(--cv-bg-surface-hover)}.tree-row .caret{width:10px;opacity:.7}.tree-row.file .name{opacity:.85}.tree-row.dir .name{color:#cdd6f4}.pane-frame{display:flex;flex-direction:column;width:100%;height:100%;border:1px solid var(--cv-border-pane);box-sizing:border-box;background:var(--cv-bg-base);position:relative;transition:border-color var(--cv-transition)}.pane-frame.active{border-color:var(--cv-accent)}.pane-frame.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--cv-accent);pointer-events:none}.pane-header{height:22px;display:flex;align-items:center;padding:0 var(--cv-space-2);font-size:11px;background:var(--cv-bg-surface-hover);border-bottom:1px solid var(--cv-border-subtle);color:var(--cv-text-secondary);-webkit-user-select:none;user-select:none;gap:var(--cv-space-1)}.pane-header-icon{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;opacity:.7;flex-shrink:0;width:14px;text-align:center}.pane-header-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.pane-header button{background:transparent;border:none;color:var(--cv-text-secondary);cursor:pointer;font-size:14px;line-height:1;padding:0 var(--cv-space-1);border-radius:var(--cv-radius-sm);flex-shrink:0;transition:color var(--cv-transition),background var(--cv-transition)}.pane-header button:hover{color:var(--cv-text-onaccent);background:#ffffff14}.pane-content{flex:1 1 0;min-height:0;position:relative}.term-host{position:absolute;inset:var(--cv-space-1)}.viewer{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:var(--cv-space-3);overflow:auto;font-family:Menlo,Consolas,DejaVu Sans Mono,monospace;font-size:12px;line-height:1.5;color:var(--cv-text-body);white-space:pre;-moz-tab-size:4;tab-size:4}.viewer-error,.viewer-loading{padding:var(--cv-space-3);color:var(--cv-text-muted);font-size:12px}.viewer-error{color:var(--cv-error)}.splitter-h,.splitter-v{background:var(--cv-border-subtle);flex:0 0 auto;transition:background var(--cv-transition)}.splitter-h{cursor:col-resize;width:4px}.splitter-v{cursor:row-resize;height:4px}.splitter-h:hover,.splitter-v:hover{background:var(--cv-accent)}.login-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--cv-bg-base)}.login-form{background:var(--cv-bg-surface);padding:32px 40px;border:1px solid var(--cv-border-subtle);border-radius:var(--cv-radius-xl);display:flex;flex-direction:column;gap:var(--cv-space-3);width:320px}.login-form h1{margin:0 0 4px;font-size:18px;color:var(--cv-text-primary)}.login-form p{margin:0;font-size:12px;opacity:.75}.login-form .hint{opacity:.55;font-size:11px}.login-form input{background:var(--cv-bg-input);color:var(--cv-text-body);border:1px solid var(--cv-border-input);border-radius:var(--cv-radius-sm);padding:var(--cv-space-2) 10px;font-size:13px;font-family:Menlo,Consolas,monospace;transition:border-color var(--cv-transition)}.login-form input:focus{outline:none;border-color:var(--cv-accent)}.login-form button{background:var(--cv-accent);color:var(--cv-text-onaccent);border:none;border-radius:var(--cv-radius-sm);padding:var(--cv-space-2) var(--cv-space-3);font-size:13px;cursor:pointer;transition:background var(--cv-transition)}.login-form button:hover{background:var(--cv-accent-hover)}.editor-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.editor-status{height:22px;display:flex;align-items:center;padding:0 var(--cv-space-2);background:var(--cv-bg-surface-hover);border-bottom:1px solid var(--cv-border-subtle);font-size:11px;color:var(--cv-text-secondary);gap:var(--cv-space-2)}.editor-status-pill{font-weight:500}.status-clean,.status-saved{color:var(--cv-success)}.status-dirty{color:var(--cv-warning)}.status-saving{color:var(--cv-info)}.status-error{color:var(--cv-error)}.editor-hint{opacity:.55;font-size:10.5px}.editor-host{flex:1 1 0;min-height:0;position:relative}.agent-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--cv-bg-base)}.agent-messages{flex:1 1 0;min-height:0;overflow-y:auto;padding:var(--cv-space-3) var(--cv-space-4)}.agent-empty{color:var(--cv-text-muted);font-size:12.5px;padding:var(--cv-space-2) 0;line-height:1.5}.agent-msg{margin-bottom:14px;font-size:13px;line-height:1.5}.agent-msg-role{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;opacity:.6;margin-bottom:var(--cv-space-1)}.agent-msg-user .agent-msg-content{background:var(--cv-bg-msg-user);border:1px solid var(--cv-border-subtle);border-radius:var(--cv-radius-md);padding:var(--cv-space-2) 10px;white-space:pre-wrap;color:var(--cv-text-primary)}.agent-msg-assistant .agent-msg-content{color:var(--cv-text-body)}.agent-msg-assistant .agent-msg-content p{margin:0 0 var(--cv-space-2) 0}.agent-msg-assistant .agent-msg-content p:last-child{margin-bottom:0}.agent-msg-assistant .agent-msg-content code{background:var(--cv-bg-surface-hover);border-radius:var(--cv-radius-sm);padding:1px 5px;font-family:Menlo,Consolas,monospace;font-size:12px}.agent-msg-assistant .agent-msg-content pre{background:var(--cv-bg-surface-deep);border:1px solid var(--cv-border-subtle);border-radius:var(--cv-radius-md);padding:10px var(--cv-space-3);overflow-x:auto;margin:var(--cv-space-2) 0}.agent-msg-assistant .agent-msg-content pre code{background:transparent;padding:0;font-size:12px;line-height:1.5}.agent-msg-assistant .agent-msg-content ul,.agent-msg-assistant .agent-msg-content ol{margin:6px 0;padding-left:22px}.agent-msg-assistant .agent-msg-content a{color:var(--cv-info)}.agent-error{background:var(--cv-error-bg);border:1px solid var(--cv-error-border);color:#f5a3a3;padding:var(--cv-space-2) 10px;border-radius:var(--cv-radius-md);font-size:12px;margin:var(--cv-space-2) 0}.agent-input-row{display:flex;gap:var(--cv-space-2);padding:var(--cv-space-2) var(--cv-space-3);border-top:1px solid var(--cv-border-subtle);background:var(--cv-bg-surface);align-items:flex-end}.agent-input-row textarea{flex:1 1 0;background:var(--cv-bg-input);color:var(--cv-text-body);border:1px solid var(--cv-border-input);border-radius:var(--cv-radius-sm);padding:var(--cv-space-2) 10px;font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;resize:none;min-height:40px;max-height:160px;transition:border-color var(--cv-transition)}.agent-input-row textarea:focus{outline:none;border-color:var(--cv-accent)}.agent-input-row button{background:var(--cv-accent);color:var(--cv-text-onaccent);border:none;border-radius:var(--cv-radius-sm);padding:var(--cv-space-2) 14px;font-size:13px;cursor:pointer;min-width:70px;transition:background var(--cv-transition),filter var(--cv-transition)}.agent-input-row button:disabled{background:var(--cv-bg-button);color:var(--cv-text-muted);cursor:not-allowed}.agent-input-row button.agent-stop{background:#a04040}.agent-input-row button.agent-stop:hover{background:#b84747}.agent-thinking{opacity:.7;font-size:16px;letter-spacing:2px;display:inline-flex;gap:3px}.agent-thinking:after{content:"...";animation:cv-thinking 1.2s ease-in-out infinite}@keyframes cv-thinking{0%,to{opacity:.3}50%{opacity:1}}.agent-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11.5px;font-family:Menlo,Consolas,monospace;margin:var(--cv-space-1) var(--cv-space-1) var(--cv-space-1) 0;background:var(--cv-bg-msg-user);border:1px solid var(--cv-border-msg);color:#cdd6f4}.agent-pill-running{color:var(--cv-warning);border-color:#5a4a30;background:#2e2820}.agent-pill-ok{color:var(--cv-success);border-color:#2f4a35;background:#1f2a22}.agent-pill-error{color:var(--cv-error);border-color:#4a2c2c;background:#2a1f1f}.agent-pill-icon,.agent-pill-name{font-weight:600}.agent-pill-arg{opacity:.85}.agent-pill-err{opacity:.85;font-style:italic}.agent-loading{padding:var(--cv-space-4);color:var(--cv-text-muted);font-size:12px}.agent-headerbar{height:28px;display:flex;align-items:center;padding:0 10px;background:var(--cv-bg-surface-hover);border-bottom:1px solid var(--cv-border-subtle);font-size:11px;color:var(--cv-text-secondary);gap:var(--cv-space-2)}.agent-headerbar-title{flex:1 1 auto}.agent-clear{background:transparent;border:1px solid var(--cv-border-input);color:var(--cv-text-secondary);padding:2px var(--cv-space-2);border-radius:var(--cv-radius-sm);font-size:10.5px;cursor:pointer;transition:background var(--cv-transition),color var(--cv-transition)}.agent-clear:hover:not(:disabled){background:var(--cv-bg-button);color:var(--cv-text-onaccent)}.agent-clear:disabled{opacity:.4;cursor:not-allowed}.agent-pill-awaiting_approval{color:var(--cv-warning);border-color:#5a4a30;background:#2e2820}.agent-pill-approving{color:var(--cv-info);border-color:#2a4a48;background:#1e2828}.agent-pill-actions{display:inline-flex;gap:6px;margin-left:var(--cv-space-2)}.agent-pill-actions button{background:var(--cv-accent);color:var(--cv-text-onaccent);border:none;border-radius:var(--cv-radius-sm);padding:2px 9px;font-size:11px;font-family:inherit;cursor:pointer}.agent-pill-actions button.deny{background:#6c3030}.agent-pill-actions button:hover{filter:brightness(1.15)}.command-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;justify-content:center;padding-top:12vh;z-index:1000}.command-palette{background:#2a2a2a;color:var(--cv-text-primary);border:1px solid var(--cv-border-input);border-radius:var(--cv-radius-lg);width:min(640px,90vw);max-height:60vh;display:flex;flex-direction:column;box-shadow:0 12px 32px #0006;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.command-palette input{background:transparent;color:inherit;border:none;border-bottom:1px solid var(--cv-border-input);padding:var(--cv-space-3) 14px;font:inherit;font-size:14px;outline:none}.command-palette ul{list-style:none;padding:var(--cv-space-1) 0;margin:0;overflow-y:auto}.command-palette-row{display:flex;align-items:center;justify-content:space-between;gap:var(--cv-space-3);padding:var(--cv-space-2) 14px;cursor:pointer;font-size:13px}.command-palette-row.hl,.command-palette-row:hover{background:var(--cv-bg-selected)}.command-palette-row-main{display:flex;align-items:baseline;gap:var(--cv-space-2);min-width:0}.command-palette-category{color:var(--cv-text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.command-palette-title{color:var(--cv-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.command-palette-kbd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;background:var(--cv-bg-input);border:1px solid #444;border-radius:var(--cv-radius-sm);padding:2px 6px;color:var(--cv-text-secondary);white-space:nowrap}.command-palette-empty{padding:14px;color:var(--cv-text-muted);font-size:13px;text-align:center}.update-banner{position:fixed;top:calc(var(--cv-toolbar-height) + var(--cv-space-2));right:var(--cv-space-3);z-index:1100;display:inline-flex;align-items:center;gap:var(--cv-space-2);padding:var(--cv-space-2) var(--cv-space-3);background:var(--cv-bg-surface);border:1px solid var(--cv-accent);border-radius:var(--cv-radius-lg);color:var(--cv-text-primary);font-size:12px;box-shadow:0 8px 24px #0006}.update-banner-text{white-space:nowrap}.update-banner-btn{background:var(--cv-accent);color:var(--cv-text-onaccent);border:none;border-radius:var(--cv-radius-sm);padding:4px var(--cv-space-3);font-size:12px;font-weight:500;cursor:pointer;transition:background var(--cv-transition)}.update-banner-btn:hover{background:var(--cv-accent-hover)}.agent-pill{flex-direction:column;align-items:flex-start;padding:3px 9px 4px}.agent-pill-row{display:inline-flex;align-items:center;gap:6px}.agent-pill-progress{display:block;width:100%;margin:4px 0 0;padding:6px 8px;background:#00000059;border-radius:var(--cv-radius-sm);font-family:Menlo,Consolas,monospace;font-size:11px;line-height:1.45;color:#cdd6f4;white-space:pre-wrap;word-break:break-word;max-height:14em;overflow:auto}.agent-pill-deny-form input{background:#1f2129;border:1px solid var(--cv-border);color:var(--cv-text);border-radius:var(--cv-radius-sm);padding:2px 6px;font-size:11.5px;font-family:Menlo,Consolas,monospace;min-width:14em;margin-right:2px}.agent-pill-deny-form input:focus{outline:none;border-color:var(--cv-accent)}.agent-pill-deny-form button.cancel{background:#3a3a44}.statusbar{background:var(--cv-accent);color:var(--cv-text-onaccent);border-top:0}.statusbar-section.active-title{color:#ffffffd9}.statusbar-copyright{color:#ffffffb3}.statusbar .kbd{background:#00000040;color:var(--cv-text-onaccent);border-color:#fff3}.statusbar .status-dot.ok{background:#fff;box-shadow:0 0 4px #ffffffb3}.statusbar .status-dot.warn{background:#f0c674}.statusbar .status-dot.error{background:#ffb4b4}.statusbar .status-dot.checking{background:#fff9}.statusbar-section.statusbar-lang{padding:0 var(--cv-space-2);border-radius:0;font-weight:500;cursor:default}.statusbar-section.statusbar-lang:hover{background:#ffffff1f}.activitybar{width:48px;background:var(--cv-bg-surface-hover);border-right:1px solid var(--cv-border-subtle);display:flex;flex-direction:column;align-items:center;padding:var(--cv-space-1) 0;gap:2px;flex-shrink:0}.activitybar-item{width:48px;height:48px;background:transparent;border:0;color:var(--cv-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;padding:0;transition:color var(--cv-transition);border-left:2px solid transparent}.activitybar-item:hover{color:var(--cv-text-body)}.activitybar-item.active{color:var(--cv-text-primary);border-left-color:var(--cv-accent)}.activitybar-item:focus-visible{outline:1px solid var(--cv-accent);outline-offset:-2px}.sidebar-header{display:flex;align-items:center;height:22px;padding:0 var(--cv-space-3);background:var(--cv-bg-surface);border-bottom:1px solid var(--cv-border-subtle);-webkit-user-select:none;user-select:none}.sidebar-header-title{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cv-text-secondary)}.sidebar-body{flex:1 1 auto;overflow:auto;display:flex;flex-direction:column}.sidebar{display:flex;flex-direction:column}.file-viewer{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.file-viewer-editor{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.editor-tabs{display:flex;flex-direction:row;background:var(--cv-bg-surface);border-bottom:1px solid var(--cv-border-subtle);height:35px;overflow-x:auto;overflow-y:hidden;flex-shrink:0;scrollbar-width:thin}.editor-tab{display:inline-flex;align-items:center;gap:var(--cv-space-2);padding:0 var(--cv-space-3);height:35px;font-size:12px;color:var(--cv-text-muted);border-right:1px solid var(--cv-border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;transition:background var(--cv-transition)}.editor-tab:hover{background:var(--cv-bg-surface-hover);color:var(--cv-text-body)}.editor-tab.active{background:var(--cv-bg-base);color:var(--cv-text-primary);border-top:1px solid var(--cv-accent);box-shadow:inset 0 -1px 0 0 var(--cv-bg-base)}.editor-tab-name{font-weight:400}.editor-tab-close{background:transparent;border:0;color:inherit;font-size:16px;line-height:1;padding:0 2px;cursor:pointer;border-radius:var(--cv-radius-sm);opacity:.5}.editor-tab-close:hover{background:var(--cv-bg-button-hover);opacity:1}.workbench{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0;position:relative}.workbench .layout-host{flex:1 1 0;min-height:0}.resize-handle{background:transparent;flex-shrink:0;z-index:10}.resize-handle:hover,.resize-handle:active{background:var(--cv-accent);opacity:.5}.resize-handle-vertical{width:4px;cursor:col-resize;height:100%;margin-left:-2px;margin-right:-2px}.resize-handle-horizontal{height:4px;cursor:row-resize;width:100%;position:absolute;top:-2px;left:0;right:0}.bottom-panel{background:var(--cv-bg-base);border-top:1px solid var(--cv-border-subtle);display:flex;flex-direction:column;flex-shrink:0;position:relative;min-height:0}.bottom-panel.hidden{display:none}.bottom-panel-header{display:flex;align-items:center;height:26px;padding:0 var(--cv-space-3);background:var(--cv-bg-surface);border-bottom:1px solid var(--cv-border-subtle);-webkit-user-select:none;user-select:none;flex-shrink:0}.bottom-panel-title{flex:1 1 auto;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cv-text-secondary)}.bottom-panel-close{background:transparent;border:0;color:var(--cv-text-muted);cursor:pointer;font-size:16px;line-height:1;padding:2px 6px;border-radius:var(--cv-radius-sm)}.bottom-panel-close:hover{background:var(--cv-bg-button-hover);color:var(--cv-text-body)}.bottom-panel-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.bottom-panel-body .term-host{flex:1 1 auto;min-height:0}.breadcrumbs{display:flex;align-items:center;height:22px;padding:0 var(--cv-space-3);background:var(--cv-bg-base);border-bottom:1px solid var(--cv-border-subtle);font-size:12px;color:var(--cv-text-secondary);-webkit-user-select:none;user-select:none;flex-shrink:0;overflow-x:auto;scrollbar-width:thin}.breadcrumb-row{display:inline-flex;align-items:center}.breadcrumb-segment{background:transparent;border:0;color:var(--cv-text-secondary);cursor:pointer;padding:0 var(--cv-space-1);font:inherit;white-space:nowrap}.breadcrumb-segment.last{color:var(--cv-text-body)}.breadcrumb-segment:hover{color:var(--cv-text-primary)}.breadcrumb-sep{opacity:.5;padding:0 2px}.hamburger{position:relative;display:inline-flex}.hamburger-btn{background:transparent;border:0;color:var(--cv-text-body);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;border-radius:var(--cv-radius-sm)}.hamburger-btn:hover{background:var(--cv-bg-button-hover)}.hamburger-glyph{display:inline-block}.hamburger-menu{position:absolute;top:100%;left:0;margin-top:2px;min-width:240px;background:var(--cv-bg-surface);border:1px solid var(--cv-border-input);border-radius:var(--cv-radius-md);box-shadow:0 6px 18px #0006;padding:var(--cv-space-1);z-index:50}.hamburger-group+.hamburger-group{margin-top:2px;padding-top:4px;border-top:1px solid var(--cv-border-subtle)}.hamburger-group-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--cv-text-muted);padding:4px var(--cv-space-3) 2px}.hamburger-item{display:flex;align-items:center;width:100%;background:transparent;border:0;color:var(--cv-text-body);font:inherit;padding:4px var(--cv-space-3);border-radius:var(--cv-radius-sm);cursor:pointer;text-align:left}.hamburger-item:hover{background:var(--cv-bg-button-hover)}.hamburger-item-label{flex:1 1 auto}.hamburger-item-kbd{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;color:var(--cv-text-muted);margin-left:var(--cv-space-3)}.welcome-view{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--cv-space-4);padding:var(--cv-space-6);color:var(--cv-text-body)}.welcome-header h2{font-size:24px;font-weight:300;margin:0;text-align:center}.welcome-tagline{text-align:center;margin:var(--cv-space-2) 0 0;color:var(--cv-text-muted);font-size:13px}.welcome-actions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;width:min(360px,90%)}.welcome-action{width:100%;background:transparent;border:1px solid transparent;color:var(--cv-accent);font:inherit;padding:var(--cv-space-2) var(--cv-space-3);border-radius:var(--cv-radius-sm);cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:2px}.welcome-action:hover{background:var(--cv-bg-button-hover)}.welcome-action-label{font-weight:500}.welcome-action-sub{color:var(--cv-text-muted);font-size:11px}.welcome-footer{font-size:12px;color:var(--cv-text-muted);margin:0}
