.desktop-client .app-shell{display:flex;min-height:100dvh}.desktop-client .sidebar{position:fixed;inset:0 auto 0 0;background:#151b17;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:18px 17px 0;z-index:30;transform:translate(-100%);width:260px;visibility:hidden}.desktop-client .sidebar-brand{padding-left:8px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.desktop-client .nav-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 9px;color:#829186;font-size:11px;letter-spacing:.5px}.desktop-client .project-nav{overflow:auto}.desktop-client .project-item{display:flex;align-items:center;gap:11px;width:100%;padding:12px 11px;text-align:left;background:transparent;color:#98a99c;border-radius:7px;min-width:0;margin-bottom:5px}.desktop-client .project-item:hover{background:#1d2821}.desktop-client .project-item.selected{background:#24362a;color:#c8e9d0}.desktop-client .project-item>span:first-of-type{min-width:0;flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis}.desktop-client .project-item small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#809385;margin-top:6px;font-family:monospace}.desktop-client .selected-dot{height:5px;width:5px;background:var(--green);border-radius:50%}.desktop-client .nav-empty{font-size:12px;color:#77857b;line-height:1.9;padding:0 10px}.desktop-client .sidebar-bottom{margin-top:auto;padding-top:25px;padding-bottom:16px}.desktop-client .sidebar-link{display:flex;align-items:center;gap:10px;background:transparent;color:#89998e;padding:11px 9px;font-size:11px;width:100%;text-align:left}.desktop-client .sidebar-link svg:last-child:not(:first-child){margin-left:auto}.desktop-client .sidebar-link:hover{color:var(--green)}.desktop-client .main-shell{flex:1;min-width:0;margin-left:0}.desktop-client .topbar{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 16px;gap:12px}.desktop-client .breadcrumbs{display:flex;align-items:center;color:#75837b;font-size:11px;min-width:0;flex:1;gap:10px}.desktop-client .breadcrumbs strong{color:#b7c4ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;font-size:13px;font-weight:550}.desktop-client .server-status{display:flex;gap:7px;align-items:center;font-size:10px;color:#ae9e7a;background:#201f18;border:1px solid #373526;border-radius:5px;padding:6px 8px;flex-shrink:0}.desktop-client .server-status.healthy{background:#17271c;color:#a1c4a7;border-color:#2b3a2e}.desktop-client .server-status i,.desktop-client .state i,.desktop-client .live-dot{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%}.desktop-client .workspace{margin:auto;max-width:none;padding:12px 16px}.desktop-client .session-strip{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:10px;margin-bottom:10px;min-height:34px}.desktop-client .session-tabs{display:flex;gap:5px;overflow:auto;min-width:0}.desktop-client .session-tabs>button{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;background:transparent;color:#829389;position:relative;padding:8px 12px 10px}.desktop-client .session-tabs>button.active{color:#c0e5c8}.desktop-client .session-tabs>button.active:after{content:"";height:2px;background:#a9dcb4;position:absolute;bottom:0;left:2px;right:2px}.desktop-client .tab-hidden{font-size:8px;color:#7d826b}.desktop-client .terminal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.desktop-client .input-deck{margin-top:21px}.desktop-client .empty-state{min-height:490px;border:1px dashed #2c3d32;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;background:radial-gradient(ellipse at center,#1d2b2190,transparent 65%)}.desktop-client .empty-art{display:grid;place-items:center;background:#203527;width:90px;height:90px;border-radius:22px;color:#9bc3a5;transform:rotate(-5deg);border:1px solid #3b5542}.desktop-client .empty-state h2{font-size:21px;font-weight:500;letter-spacing:-.5px;margin-top:28px;color:#c5dacc}.desktop-client .empty-state p{color:#7f9a88;font-size:12px;line-height:1.9;margin:0 0 25px}.desktop-client .project-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;font-size:11px}.desktop-client .workspace-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.desktop-client .sidebar.open{visibility:visible;transform:translate(0)}.desktop-client .workbench-entry{display:flex;align-items:center;gap:6px;white-space:nowrap;background:transparent;color:#b4c9bb;font-size:11px;padding:6px 8px;border-radius:5px}.desktop-client .workbench-entry:hover{background:#24362a}.desktop-client .workbench-nav{display:flex;align-items:center;gap:10px;width:100%;padding:11px;margin-bottom:18px;border-radius:7px;background:transparent;text-align:left;color:#a9beb0;font-size:12px}.desktop-client .workbench-nav.selected{background:#24362a;color:#c8e9d0}.desktop-client .workbench-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;margin-bottom:10px;color:#8fa697;font-size:11px;flex-shrink:0}.desktop-client .workbench-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;min-height:320px;color:#8fa697;text-align:center;padding:24px}.desktop-client .workbench-empty h2{font-size:18px;color:#c5dacc;font-weight:500;margin:0}.desktop-client .workbench-empty p{font-size:12px;line-height:1.8;margin:0 0 8px}.desktop-client .workbench-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(340px,1fr);gap:12px;flex:1;min-height:340px;min-width:0}.desktop-client .workbench-grid.single{grid-template-columns:minmax(0,1fr)}@media(max-width:1050px){.desktop-client .keyboard-label{display:none}}.desktop-client .app-shell{height:100dvh;min-height:0}.desktop-client .sidebar{position:relative;inset:auto;display:none;flex:0 0 260px;height:100%;transform:none;z-index:auto}.desktop-client .sidebar.open{display:flex}.desktop-client .project-nav{flex:1;min-height:0}.desktop-client .sidebar-brand,.desktop-client .sidebar-bottom{flex-shrink:0}.desktop-client .main-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.desktop-client .topbar{flex-shrink:0}.desktop-client .workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;margin:0}.desktop-client .session-strip{flex-shrink:0}.desktop-client .terminal-grid{flex:1;min-height:360px;grid-template-rows:minmax(320px,1fr);gap:10px}.desktop-client .main-pane .terminal-viewport{height:auto;flex:1;min-height:240px}.desktop-client .input-deck{display:none;flex-shrink:0;margin-top:10px}.desktop-client .input-deck.expanded{display:block}.desktop-client .empty-state{flex:1;min-height:320px}.desktop-client .fullscreen .terminal-viewport{height:auto;flex:1}@media(max-width:1050px){.desktop-client .workbench-pane .pane-header{padding:0 9px}.desktop-client .workbench-pane .pane-tools .icon-button{width:24px}}.mobile-client .app-shell{display:flex;height:var(--mobile-height,100dvh);min-height:0;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left)}.mobile-client .sidebar{position:fixed;inset:0 auto 0 0;background:#151b17;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top)) 17px env(safe-area-inset-bottom) max(17px,env(safe-area-inset-left));z-index:30;transform:translate(-100%);width:260px;visibility:hidden}.mobile-client .sidebar.open{visibility:visible;transform:translate(0)}.mobile-client .sidebar-brand{padding-left:8px;display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.mobile-client .nav-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 9px;color:#829186;font-size:11px;letter-spacing:.5px}.mobile-client .project-nav{overflow:auto;min-height:0}.mobile-client .project-item{display:flex;align-items:center;gap:11px;width:100%;padding:12px 11px;text-align:left;background:transparent;color:#98a99c;border-radius:7px;min-width:0;margin-bottom:5px}.mobile-client .project-item:hover{background:#1d2821}.mobile-client .project-item.selected{background:#24362a;color:#c8e9d0}.mobile-client .project-item>span:first-of-type{min-width:0;flex:1;font-size:12px;overflow:hidden;text-overflow:ellipsis}.mobile-client .project-item small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#809385;margin-top:6px;font-family:monospace}.mobile-client .selected-dot{height:5px;width:5px;background:var(--green);border-radius:50%}.mobile-client .nav-empty{font-size:12px;color:#77857b;line-height:1.9;padding:0 10px}.mobile-client .sidebar-bottom{margin-top:auto;padding-top:25px;padding-bottom:16px;flex-shrink:0}.mobile-client .sidebar-link{display:flex;align-items:center;gap:10px;background:transparent;color:#89998e;padding:11px 9px;font-size:11px;width:100%;text-align:left}.mobile-client .sidebar-link svg:last-child:not(:first-child){margin-left:auto}.mobile-client .sidebar-link:hover{color:var(--green)}.mobile-client .sidebar-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29;background:#0008}.mobile-client .main-shell{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.mobile-client .topbar{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;height:36px;flex-shrink:0;padding:0 6px;gap:6px}.mobile-client .breadcrumbs{display:flex;align-items:center;color:#75837b;min-width:0;flex:1;gap:5px}.mobile-client .breadcrumbs>span{display:none}.mobile-client .breadcrumbs strong{color:#b7c4ba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:550}.mobile-client .server-status{display:flex;align-items:center;color:#ae9e7a;flex-shrink:0;font-size:0;padding:6px}.mobile-client .server-status.healthy{color:#a1c4a7}.mobile-client .server-status i,.mobile-client .state i,.mobile-client .live-dot{display:inline-block;width:5px;height:5px;background:currentColor;border-radius:50%}.mobile-client .workspace-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.mobile-client .workspace{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;padding:2px 4px max(2px,env(safe-area-inset-bottom));gap:2px}.mobile-client .session-recovery{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:4px;min-height:29px;flex-shrink:0}.mobile-client .session-tabs{display:flex;flex:1;gap:3px;overflow:auto;min-width:0;scrollbar-width:none;overscroll-behavior-x:contain}.mobile-client .session-tabs>button{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;background:transparent;color:#829389;position:relative;padding:5px 8px 7px}.mobile-client .session-tabs>button.active{color:#c0e5c8}.mobile-client .session-tabs>button.active:after{content:"";height:2px;background:#a9dcb4;position:absolute;bottom:0;left:2px;right:2px}.mobile-client .tab-hidden,.mobile-client .desktop-only,.mobile-client .keyboard-label{display:none}.mobile-client .terminal-grid{display:grid;flex:1;min-height:0;min-width:0;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(140px,1fr);grid-auto-rows:84px;gap:4px}.mobile-client .terminal-pane{min-height:0;border-radius:4px}.mobile-client .pane-header{padding:0 7px;height:30px;border-radius:4px 4px 0 0}.mobile-client .pane-name{gap:5px;font-size:10px;flex:1}.mobile-client .pane-name>svg{width:13px}.mobile-client .tiny-label{font-size:7px}.mobile-client .pane-tools{gap:2px}.mobile-client .state{font-size:8px}.mobile-client .pane-tools .icon-button{width:24px;height:27px}.mobile-client .terminal-viewport{height:auto;flex:1;min-height:0;padding:4px}.mobile-client .pane-footer{font-size:8px;padding:0 7px;height:20px}.mobile-client .text-button{font-size:9px}.mobile-client .monitor-pane .pane-header{padding:0 5px;height:28px;gap:3px}.mobile-client .monitor-pane .pane-name{font-size:9px;gap:4px}.mobile-client .monitor-pane .pane-name>svg{display:none}.mobile-client .monitor-pane .state{font-size:7px;gap:3px}.mobile-client .monitor-pane .pane-tools{gap:0}.mobile-client .monitor-pane .pane-tools .icon-button{width:18px;height:24px}.mobile-client .monitor-pane .pane-tools .icon-button svg{width:12px}.mobile-client .monitor-pane .terminal-viewport{height:auto;min-height:0;flex:1;padding:3px}.mobile-client .monitor-promote{display:none}.mobile-client .terminal-overlay{top:31px;right:0;bottom:20px;left:0}.mobile-client .terminal-overlay p{font-size:10px}.mobile-client .monitor-pane .terminal-overlay{top:28px;right:0;bottom:0;left:0}.mobile-client .monitor-pane .terminal-overlay p{font-size:8px;line-height:1.5;margin:0}.mobile-client .monitor-pane .terminal-overlay button{font-size:8px;padding:4px}.mobile-client .mobile-shortcuts{flex-shrink:0;min-width:0}.mobile-client .keybar{flex-wrap:nowrap;gap:3px;margin:0;min-width:0}.mobile-client .key{flex:1 1 0;min-width:0;height:32px;font-size:10px;padding:0 3px}.mobile-client .enter-key{flex:1.35 1 0;min-width:0;margin-left:0;gap:2px;justify-content:center}.mobile-client .enter-key>span{display:none}.mobile-client .shortcut-composer{padding:4px 0}.mobile-client .shortcut-composer output{font-size:10px;margin-bottom:4px}.mobile-client .shortcut-composer .composer{gap:6px;padding:4px 6px}.mobile-client .shortcut-composer .composer input{font-size:16px}.mobile-client .shortcut-composer .button{height:28px}.mobile-client .shortcut-composer .composer-help{font-size:8px;margin-top:3px}.mobile-client .empty-state{flex:1;min-height:0;overflow:auto;border:1px dashed #2c3d32;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:radial-gradient(ellipse at center,#1d2b2190,transparent 65%)}.mobile-client .empty-art{display:grid;place-items:center;background:#203527;width:75px;height:75px;border-radius:22px;color:#9bc3a5;transform:rotate(-5deg);border:1px solid #3b5542}.mobile-client .empty-state h2{font-size:18px;font-weight:500;letter-spacing:-.5px;margin-top:20px;color:#c5dacc}.mobile-client .empty-state p{color:#7f9a88;font-size:11px;line-height:1.9;margin:0 0 20px}.mobile-client .modal{padding:22px}.mobile-client .modal input{font-size:16px}.mobile-client .login-page{padding:26px 20px}.mobile-client .login-card{padding:28px}.mobile-client .login-card input{font-size:16px}.mobile-client .fullscreen{top:4px;right:4px;bottom:4px;left:4px}.mobile-client .fullscreen .terminal-viewport{height:auto;flex:1}.mobile-client .workbench-entry{display:flex;align-items:center;white-space:nowrap;background:transparent;color:#b4c9bb;padding:5px;border-radius:5px}.mobile-client .workbench-entry>span{display:none}.mobile-client .workbench-entry:hover{background:#24362a}.mobile-client .workbench-nav{display:flex;align-items:center;gap:10px;width:100%;padding:11px;margin-bottom:18px;border-radius:7px;background:transparent;text-align:left;color:#a9beb0;font-size:12px}.mobile-client .workbench-nav.selected{background:#24362a;color:#c8e9d0}.mobile-client .workbench-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:29px;color:#8fa697;font-size:10px;flex-shrink:0}.mobile-client .workbench-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;min-height:0;overflow:auto;color:#8fa697;text-align:center;padding:20px}.mobile-client .workbench-empty h2{font-size:18px;color:#c5dacc;font-weight:500;margin:0}.mobile-client .workbench-empty p{font-size:12px;line-height:1.8;margin:0 0 8px}.mobile-client .workbench-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(200px,1fr);gap:4px;flex:1;min-height:0;min-width:0;overflow:auto}.mobile-client .workbench-grid.single{grid-template-rows:minmax(0,1fr);grid-auto-rows:auto}.mobile-client .workbench-pane{min-height:0}.mobile-client .workbench-pane .terminal-viewport{height:auto;flex:1;min-height:0}.mobile-client .workbench-pane .pane-name{font-size:10px}.mobile-client .workbench-pane .pane-tools .icon-button{width:24px}@media(max-width:480px){.mobile-client .selection-toolbar>span{display:none}.mobile-client .selection-toolbar{right:5px}}/**
 * 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}.desktop-client,.mobile-client{display:contents}.project-nav{scrollbar-width:thin;scrollbar-color:#314639 transparent;scrollbar-gutter:stable}.project-nav:hover{scrollbar-color:#48614f transparent}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif;color:#dce5df;background:#101412;font-synthesis:none;font-size:14px;--bg:#101412;--panel:#151b18;--line:#28312c;--muted:#829087;--green:#b4e6bd;--green-dark:#203d2b}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible{outline:2px solid var(--green);outline-offset:3px}input,textarea{color:inherit}svg{flex-shrink:0}button{border:0}button:active:not(:disabled){transform:translateY(1px)}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:650;letter-spacing:-.6px;color:#edf5ef}.brand-mark{width:33px;height:33px;background:var(--green);color:#16341e;border-radius:8px;display:grid;place-items:center}.version{font-size:9px;letter-spacing:.6px;color:#91a397;border:1px solid #39453b;border-radius:4px;padding:3px 4px;font-weight:500;margin-left:1px}.icon-button{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;background:transparent;color:#92a095;flex-shrink:0}.icon-button:hover{background:#ffffff0b;color:#d7e8dc}.button{height:36px;border:1px solid #37463b;background:#222e26;border-radius:6px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:550;white-space:nowrap}.primary{color:#1d3524;background:var(--green);border-color:var(--green);box-shadow:0 1px #ffffff16 inset}.primary:hover{background:#c4f0cd}.terminal-pane{position:relative;background:#101614;border:1px solid #303e34;border-radius:8px;overflow:visible;min-width:0;display:flex;flex-direction:column}.main-pane{grid-column:1 / -1;order:-1;box-shadow:0 4px 20px #0000000c}.pane-header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#19221c;border-radius:8px 8px 0 0;border-bottom:1px solid #2a372e;gap:5px;flex-shrink:0}.pane-name,.pane-tools{display:flex;align-items:center;gap:9px;min-width:0}.pane-name{color:#a3b7a9;font-size:11px}.pane-name strong{color:#d8e6db;font-weight:500;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.tiny-label{font-size:8px;color:#7f9d87;border:1px solid #344b3a;background:#203225;padding:2px 4px;border-radius:3px;white-space:nowrap}.pane-tools{gap:7px}.state{font-size:9px;display:flex;gap:5px;align-items:center;color:#9fa389;white-space:nowrap}.state-online{color:#9acaab}.state-exited,.state-error{color:#d59181}.state-reconnecting,.state-occupied{color:#d4b880}.terminal-viewport{height:clamp(270px,39dvh,460px);padding:14px 16px 7px;overflow:hidden;position:relative;min-width:0}.terminal-mount{height:100%;width:100%;transform-origin:0 0}.xterm{padding:0}.xterm .xterm-viewport{scrollbar-width:thin;scrollbar-color:#314639 transparent}.xterm .xterm-scrollable-element>.scrollbar>.slider{background:#314639!important}.pane-footer{display:flex;align-items:center;justify-content:space-between;height:29px;flex-shrink:0;border-top:1px solid #233028;padding:0 13px;font-size:9px;color:#6f8b78}.pane-footer>span{display:flex;align-items:center;gap:6px}.control-owned{color:#a0c7aa}.text-button{background:transparent;color:#c1c79b;font-size:9px;padding:5px 0}.monitor-pane{border-color:#29362e;overflow:hidden}.monitor-pane .pane-header{height:34px;padding:0 11px;background:#171f1a}.monitor-pane .pane-name{font-size:10px;gap:7px}.monitor-pane .pane-tools{gap:3px}.monitor-pane .pane-tools .icon-button{width:22px;height:24px}.monitor-pane .terminal-viewport{height:145px;padding:9px 10px 0;opacity:.8}.monitor-pane .terminal-mount{pointer-events:none}.monitor-promote{position:absolute;bottom:7px;right:9px;display:flex;align-items:center;gap:5px;font-size:8px;color:#a2b5a8;background:#17281de8;padding:5px 6px;border:1px solid #2b4534;border-radius:4px;opacity:0;transition:opacity .15s}.monitor-pane:hover .monitor-promote{opacity:1}.terminal-overlay{position:absolute;top:43px;right:0;bottom:30px;left:0;background:#101614ec;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;gap:8px;z-index:3;border-radius:0 0 6px 6px}.terminal-overlay p{font-size:11px;color:#8eaa98;max-width:400px;line-height:1.7}.terminal-overlay button{font-size:10px;display:flex;gap:7px;align-items:center;color:#bdd8c2;background:#24372b;border:1px solid #3b5944;padding:7px 10px;border-radius:4px}.monitor-pane .terminal-overlay{top:34px;right:0;bottom:0;left:0;padding:10px}.monitor-pane .terminal-overlay p{font-size:9px}.monitor-pane .terminal-overlay button{font-size:9px;padding:5px 7px}.menu-anchor{position:relative}.popup-menu{position:absolute;right:0;top:31px;padding:5px;background:#223027;border:1px solid #405445;border-radius:7px;z-index:15;box-shadow:0 8px 24px #0005;min-width:138px}.popup-menu button{width:100%;text-align:left;padding:10px 11px;background:transparent;font-size:11px;border-radius:4px;white-space:nowrap;display:flex;align-items:center;gap:8px}.popup-menu button:hover{background:#ffffff0a}.danger-text{color:#e8a294}.keybar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.keyboard-label{display:flex;align-items:center;gap:6px;font-size:9px;color:#768c7d;margin-right:5px}.key{border:1px solid #35463b;border-radius:4px;background:#1c2720;min-width:30px;height:27px;font-family:monospace;font-size:10px;color:#a6b9ac;padding:0 8px;box-shadow:0 1px #0008}.key:hover{background:#2a3d30}.key.toggled{background:#496143;color:#e6f5df;border-color:#829e79}.enter-key{margin-left:auto;min-width:76px;color:#b7d8bf;background:#23392a;border-color:#3b5a43;display:flex;align-items:center;justify-content:space-between;gap:14px}.composer{border:1px solid #35463b;background:#18231c;display:flex;gap:11px;align-items:center;padding:9px 10px 9px 13px;border-radius:7px;color:#789581;min-width:0}.composer:focus-within{border-color:#78977d;box-shadow:0 0 0 2px #9fc4a50a}.composer textarea{resize:vertical;max-height:180px;min-height:24px;flex:1;min-width:0;outline:none;background:transparent;border:0;font-size:12px;line-height:24px;color:#c8dfcf;padding:0}.composer textarea::placeholder{color:#6d8575;font-size:11px}.send-button{height:29px;font-size:10px;background:#accfb3;color:#213f29;border:0;padding:0 10px;border-radius:4px}.composer-help{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#647b6c;margin-top:9px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040b07b8;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:#1a241d;border:1px solid #435748;border-radius:12px;max-width:450px;width:100%;padding:24px;box-shadow:0 18px 80px #0005;max-height:90dvh;overflow:auto}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal h2{font-size:19px;font-weight:550;margin:0}.modal-description{color:#8fa497;font-size:12px;line-height:1.8;margin-bottom:22px}.modal label,.login-card label{display:block;font-size:11px;color:#bdcdc1;margin:18px 0 8px}.modal input,.login-card input{width:100%;border:1px solid #405347;background:#131c16;border-radius:5px;height:41px;padding:0 11px;font-size:12px;outline:none}.modal input:focus,.login-card input:focus{border-color:#a1c7a8;box-shadow:0 0 0 2px #a8d4b012}.modal input::placeholder,.login-card input::placeholder{color:#5e7968}.field-help{color:#768e7f;font-size:10px;line-height:1.8;margin-top:8px}.modal form>.button{width:100%;margin-top:20px;height:40px}.form-error{color:#e0a091!important;font-size:11px!important;line-height:1.7!important}.help-content{color:#a5bbad;font-size:12px;line-height:1.9}.help-content>svg{color:#a1c5ac}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);background:#2e3f33;color:#d7e9dd;border:1px solid #627d68;border-radius:7px;padding:12px 12px 12px 18px;max-width:min(600px,90vw);display:flex;align-items:center;gap:12px;box-shadow:0 5px 25px #0004;z-index:150;font-size:12px}.login-page{min-height:100dvh;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 40%,#243a2860,transparent 60%);padding:calc(36px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.login-brand{align-self:stretch;display:flex;align-items:center;gap:24px}.login-card{max-width:400px;width:100%;margin:auto;padding:36px;background:#19231c;border:1px solid #3b5142;border-radius:13px;box-shadow:0 20px 100px #0002}.login-icon{width:47px;height:47px;display:grid;place-items:center;color:#b4d6bb;background:#2b4331;border:1px solid #45614b;border-radius:11px;margin-bottom:25px}.login-card h1{font-size:26px;letter-spacing:-.8px;font-weight:500;margin:12px 0}.login-card .primary{width:100%;margin-top:18px;height:42px;font-size:12px}.login-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#70957a;border-top:1px solid #314837;padding-top:20px;margin-top:26px}.loading-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:28px;color:#7d9f87;font-size:11px}.fullscreen{position:fixed!important;top:20px;right:20px;bottom:20px;left:20px;z-index:90;display:flex;flex-direction:column}.fullscreen .terminal-viewport{height:auto;flex:1}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.main-pane .terminal-viewport{touch-action:none;-webkit-touch-callout:none}.selection-enabled{color:#c2f1ce;background:#354e3c}.selection-toolbar{position:absolute;top:5px;right:8px;z-index:24;display:flex;align-items:center;gap:4px;background:#263f30;border:1px solid #779d80;border-radius:7px;box-shadow:0 3px 15px #0008;padding:4px;-webkit-user-select:none;user-select:none;touch-action:none}.selection-toolbar>span{font-size:10px;color:#bad2c1;padding:0 7px}.selection-toolbar button{display:flex;align-items:center;justify-content:center;gap:5px;background:#3b5c45;border-radius:4px;min-height:36px;padding:0 10px;font-size:11px;color:#e2f4e6}.selection-handle{position:absolute;width:40px;height:42px;transform:translate(-50%);background:transparent;z-index:23;padding:0;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.selection-handle:before{content:"";position:absolute;top:-5px;left:19px;height:14px;width:2px;background:#b4e6bd}.selection-handle:after{content:"";position:absolute;left:10px;top:7px;width:20px;height:23px;border-radius:4px 14px 14px;background:#b4e6bd;border:1px solid #e0f8e5;box-shadow:0 2px 5px #0007}.selection-start:after{border-radius:14px 4px 14px 14px}.selection-handle:active:not(:disabled){transform:translate(-50%);cursor:grabbing}.selection-manual{position:absolute;top:8px;right:8px;bottom:8px;left:8px;z-index:26;border:1px solid #668970;background:#1e3024;padding:14px;border-radius:7px;display:flex;flex-direction:column;gap:10px;font-size:12px}.selection-manual p{margin:0}.selection-manual textarea{flex:1;min-height:50px;resize:none;background:#111b14;color:#dcebe0;border:1px solid #49644f;border-radius:4px;padding:10px;font-size:16px;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;touch-action:auto}.selection-manual button{align-self:flex-end;border-radius:4px;background:#b4e6bd;color:#193523;padding:9px 16px}.file-transfer .transfer-caption{font-size:11px;color:#bdcdc1;margin:0 0 6px}.transfer-directory{padding:10px;border:1px solid #405347;border-radius:5px;background:#131c16;color:#d8e6db;font-family:monospace;overflow-wrap:anywhere;font-size:12px;-webkit-user-select:text;user-select:text}.transfer-hint{font-size:11px;color:#8fa497;line-height:1.7;margin:9px 0}.transfer-status{font-size:12px;color:#bdcdc1;overflow-wrap:anywhere;min-height:18px}.file-transfer input[type=file]{height:auto;padding:12px 8px}.transfer-files{display:flex;flex-direction:column;gap:6px;max-height:45dvh;overflow:auto}.transfer-file{display:flex;align-items:center;gap:9px;width:100%;padding:12px 10px;text-align:left;border:1px solid #405347;border-radius:5px;background:#233327;color:#d8e6db}.transfer-file>svg{flex-shrink:0}.transfer-file>span{flex:1;overflow-wrap:anywhere;min-width:0;font-size:12px}.transfer-file>small{flex-shrink:0;color:#8fa497;font-size:10px}.workbench-pane{min-height:340px}.workbench-pane.active-pane{border-color:#86b994;box-shadow:0 0 0 1px #86b99433}.workbench-pane .terminal-viewport{height:auto;flex:1;min-height:240px;touch-action:none;-webkit-touch-callout:none}.workbench-pane .pane-name{flex:1}.workbench-pane .pane-tools{gap:3px}.shortcut-composer output{display:block;margin:0 0 8px;color:#c8dfcf;font-size:12px;overflow-wrap:anywhere}.shortcut-composer .composer input{flex:1;min-width:0;background:transparent;border:0;outline:none;color:#c8dfcf;font-size:12px;height:28px}.key{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.install-login{width:100%;margin-top:12px}
