.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;inset: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;inset: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{color-scheme:var(--color-scheme);font-family:IBM Plex Sans,Aptos,Segoe UI,sans-serif;background:var(--color-bg-page);color:var(--color-text);--color-scheme: dark;--color-bg-page: #293136;--color-bg-page-rgb: 41, 49, 54;--color-bg-grid-strong: rgba(167, 192, 128, .06);--color-bg-grid-soft: rgba(167, 192, 128, .035);--color-bg-wash: rgba(127, 187, 179, .06);--color-bg-shell: rgba(41, 49, 54, .96);--color-surface: #333c43;--color-surface-rgb: 51, 60, 67;--color-surface-soft: #333c43;--color-surface-alt: #3a464c;--color-surface-muted: #293136;--color-surface-raised: #3a464c;--color-surface-selected: #48584e;--color-surface-hover: #3a464c;--color-surface-active: #434f55;--color-surface-sunken: #293136;--color-surface-deep: #293136;--color-terminal-bg: #293136;--color-terminal-fg: #d3c6aa;--color-terminal-selection: #5d6b66;--color-editor-bg: #293136;--color-editor-gutter: #333c43;--color-editor-minimap: #293136;--color-editor-monaco-bg: #333c43;--color-border-subtle: #3a464c;--color-border-soft: #434f55;--color-border-panel: #4d5960;--color-border-control: #555f66;--color-border-input: #4d5960;--color-border-muted: #434f55;--color-border-deep: #555f66;--color-border-strong: #5d6b66;--color-border-hover: #7a8478;--color-border-mobile: #555f66;--color-border-chip: #555f66;--color-text: #d3c6aa;--color-text-strong: #e2d7bd;--color-text-bright: #f0e4c8;--color-text-terminal: #d3c6aa;--color-text-muted: #9da9a0;--color-text-subtle: #859289;--color-text-dim: #7a8478;--color-text-empty: #859289;--color-text-toolbar: #d3c6aa;--color-text-status: #9da9a0;--color-accent: #a7c080;--color-accent-soft: #d3c6aa;--color-accent-border: #48584e;--color-info: #7fbbb3;--color-info-soft: #d3eee9;--color-focus: #7fbbb3;--color-danger: #e67e80;--color-danger-text: #f0a0a0;--color-danger-soft: #f5c6c8;--color-danger-bg: #5c3f4f;--color-danger-bg-strong: #543a48;--color-danger-border: #e67e80;--color-warning: #dbbc7f;--color-overlay: rgba(35, 42, 46, .72);--color-modal-shadow: rgba(0, 0, 0, .42);--color-popover-shadow: rgba(0, 0, 0, .32);--color-backdrop-soft: rgba(35, 42, 46, .36);--color-direction-bg: rgba(41, 49, 54, .88);--color-toast-bg: rgba(51, 60, 67, .94);--color-floating-gradient: linear-gradient(90deg, rgba(67, 79, 85, 0), #434f55 16px);--color-cpu-frame-fill: rgba(127, 187, 179, .08);--color-cpu-frame-stroke: rgba(127, 187, 179, .34);--color-cpu-bar-fill: rgba(127, 187, 179, .72);--color-cpu-bar-stroke: rgba(211, 238, 233, .68);--color-accent-shadow: rgba(167, 192, 128, .12);--color-accent-shadow-strong: rgba(167, 192, 128, .35);--terminal-frame-padding: 12px;--daemon-status-cpu-width: 148px;--daemon-status-memory-width: 188px;--daemon-status-network-width: 236px;--daemon-status-disk-width: 188px;--daemon-status-load-width: 142px;--daemon-status-uptime-width: 132px}:root[data-theme=light]{--color-scheme: light;--color-bg-page: #e5dfc5;--color-bg-page-rgb: 229, 223, 197;--color-bg-grid-strong: rgba(130, 145, 129, .13);--color-bg-grid-soft: rgba(130, 145, 129, .06);--color-bg-wash: rgba(53, 167, 124, .08);--color-bg-shell: rgba(234, 228, 202, .96);--color-surface: #f3ead3;--color-surface-rgb: 243, 234, 211;--color-surface-soft: #f3ead3;--color-surface-alt: #eae4ca;--color-surface-muted: #e5dfc5;--color-surface-raised: #f8f0d9;--color-surface-selected: #e1e7c7;--color-surface-hover: #e7e2c7;--color-surface-active: #ddd8be;--color-surface-sunken: #eae4ca;--color-surface-deep: #d8d3ba;--color-terminal-bg: #eae4ca;--color-terminal-fg: #5c6a72;--color-terminal-selection: #d3c6aa;--color-editor-bg: #eae4ca;--color-editor-gutter: #e5dfc5;--color-editor-minimap: #ddd8be;--color-editor-monaco-bg: #f3ead3;--color-border-subtle: #d8d3ba;--color-border-soft: #cfd3b5;--color-border-panel: #c5c9ad;--color-border-control: #b9c0ab;--color-border-input: #c5c9ad;--color-border-muted: #cfd3b5;--color-border-deep: #b6bea7;--color-border-strong: #a6b0a0;--color-border-hover: #829181;--color-border-mobile: #b9c0ab;--color-border-chip: #b6bea7;--color-text: #5c6a72;--color-text-strong: #46535a;--color-text-bright: #272e33;--color-text-terminal: #5c6a72;--color-text-muted: #6f7f86;--color-text-subtle: #829181;--color-text-dim: #939f91;--color-text-empty: #829181;--color-text-toolbar: #46535a;--color-text-status: #5c6a72;--color-accent: #8da101;--color-accent-soft: #4f5b1a;--color-accent-border: #a7c080;--color-info: #3a94c5;--color-info-soft: #286983;--color-focus: #3a94c5;--color-danger: #f85552;--color-danger-text: #c02e2a;--color-danger-soft: #8b2c29;--color-danger-bg: #f5dfd6;--color-danger-bg-strong: #efd1c7;--color-danger-border: #e67e80;--color-warning: #dfa000;--color-overlay: rgba(39, 46, 51, .42);--color-modal-shadow: rgba(39, 46, 51, .2);--color-popover-shadow: rgba(39, 46, 51, .16);--color-backdrop-soft: rgba(92, 106, 114, .18);--color-direction-bg: rgba(234, 228, 202, .9);--color-toast-bg: rgba(243, 234, 211, .94);--color-floating-gradient: linear-gradient(90deg, rgba(221, 216, 190, 0), #ddd8be 16px);--color-cpu-frame-fill: rgba(58, 148, 197, .08);--color-cpu-frame-stroke: rgba(58, 148, 197, .3);--color-cpu-bar-fill: rgba(58, 148, 197, .64);--color-cpu-bar-stroke: rgba(40, 105, 131, .58);--color-accent-shadow: rgba(141, 161, 1, .14);--color-accent-shadow-strong: rgba(141, 161, 1, .28)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;background:linear-gradient(90deg,var(--color-bg-grid-strong) 1px,transparent 1px),linear-gradient(180deg,var(--color-bg-grid-soft) 1px,transparent 1px),var(--color-bg-page);background-size:26px 26px}button,input,select,textarea{font:inherit}button{border:1px solid var(--color-border-control);border-radius:6px;min-height:34px;padding:0 11px;background:var(--color-surface-raised);color:var(--color-text-strong);display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent-soft)}.icon-button{width:32px;min-height:30px;padding:0}.icon-button.danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger-soft)}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{width:100%;border:1px solid var(--color-border-input);border-radius:6px;min-height:34px;padding:7px 9px;background:var(--color-surface-sunken);color:var(--color-text-bright)}textarea{min-height:70px;resize:vertical}select{cursor:pointer}label{display:grid;gap:5px;color:var(--color-text-subtle);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.admin-shell{height:100%;min-height:0;display:grid;grid-template-rows:52px minmax(0,1fr) 30px;background:linear-gradient(180deg,var(--color-bg-wash),transparent 240px),var(--color-bg-shell)}.admin-topbar{min-width:0;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex;align-items:center;gap:12px;padding:0 16px}.admin-brand{min-width:0;display:flex;align-items:center;gap:8px;color:var(--color-accent);font-weight:700}.admin-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.admin-main{min-width:0;min-height:0;overflow:auto;padding:18px;display:grid;align-content:start;gap:14px}.admin-summary-band{min-width:0;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface-soft);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px}.admin-summary-main{min-width:0;display:grid;gap:4px}.admin-summary-main span{color:var(--color-text-subtle);font-size:12px}.admin-summary-main strong{min-width:0;color:var(--color-text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-summary-main code{min-width:0;color:var(--color-info);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.protocol-error-alert{min-width:0;border:1px solid var(--color-danger-border);border-radius:8px;background:var(--color-danger-bg);color:var(--color-danger-soft);display:grid;gap:8px;padding:10px 12px}.protocol-error-alert-title{min-width:0;display:flex;align-items:center;gap:8px;color:var(--color-danger-text);font-size:13px;font-weight:700}.protocol-error-refresh{margin-left:auto;min-height:30px}.protocol-error-alert-detail{min-width:0;display:flex;align-items:baseline;gap:8px;color:var(--color-danger-text);font-size:12px}.protocol-error-alert-detail code{flex:0 0 auto;color:var(--color-warning);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.protocol-error-alert-detail span{min-width:0;overflow-wrap:anywhere}.admin-grid{min-width:0;display:grid;grid-template-columns:minmax(280px,400px) minmax(0,1fr);align-items:start;gap:14px}.app-shell{height:100%;min-height:0;display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.app-shell.sidebar-is-collapsed{grid-template-columns:58px minmax(0,1fr)}.sidebar{border-right:1px solid var(--color-border-subtle);background:var(--color-bg-shell);padding:14px;display:grid;align-content:start;gap:12px;overflow:auto}.collapsed-sidebar{position:relative;padding:10px 8px;gap:10px;justify-items:center;grid-template-rows:auto auto minmax(0,1fr);overflow:visible}.brand-row,.toolbar-title{display:flex;align-items:center;gap:8px;min-width:0}.brand-row{position:relative;justify-content:space-between;min-height:32px;color:var(--color-accent);font-weight:700;letter-spacing:0}.brand-title{min-width:0;display:flex;align-items:center;gap:8px}.sidebar-collapse-toggle{margin-left:auto}.clients-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(310px,calc(100vw - 28px));color:var(--color-text);box-shadow:0 18px 42px var(--color-popover-shadow)}.clients-popover .daemon-clients{max-height:min(420px,calc(100vh - 120px));overflow:auto}.rail-brand,.rail-actions,.collapsed-session-list{width:100%;display:grid;justify-items:center;gap:8px}.rail-brand{position:relative;padding-bottom:10px;border-bottom:1px solid var(--color-border-subtle);color:var(--color-accent)}.rail-actions{padding-bottom:10px;border-bottom:1px solid var(--color-border-subtle)}.collapsed-session-list{align-content:start;min-height:0;overflow:auto}.collapsed-session-list .icon-button,.rail-actions .icon-button,.rail-brand .icon-button{width:38px;min-height:38px}.selected-session-dot{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-surface-selected)}.collapsed-session-list .icon-button.has-new-output{position:relative;border-color:var(--color-border-control);color:var(--color-info-soft);background:var(--color-surface-raised)}.collapsed-session-list .icon-button.has-new-output:after{content:"";position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:999px;background:var(--color-info);box-shadow:0 0 0 3px var(--color-accent-shadow)}.collapsed-session-list .icon-button.selected-session-dot.has-new-output{border-color:var(--color-accent);color:var(--color-accent-soft);background:var(--color-surface-selected)}.rail-popover{top:56px;left:calc(100% + 8px);right:auto}.panel{border:1px solid var(--color-border-muted);border-radius:8px;padding:11px;display:grid;gap:10px;background:var(--color-surface)}.server-url,.empty-list{color:var(--color-text-empty);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.connection-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:8px}.connection-address-summary{min-width:0;border:1px solid var(--color-border-muted);border-radius:6px;background:var(--color-surface-alt);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px}.connection-address-summary div{min-width:0;display:grid;gap:4px}.connection-address-summary span{color:var(--color-text-subtle);font-size:12px}.connection-address-summary code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-bright);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.daemon-switcher{gap:6px}.daemon-manager{gap:8px}.daemon-manager-row{min-width:0;display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--color-border-soft)}.daemon-manager-row:first-of-type{border-top:0;padding-top:0}.panel-title+.daemon-manager-row{border-top:0;padding-top:0}.daemon-manager-row.active{border-color:var(--color-accent-border)}.daemon-manager-main{min-width:0;display:grid;gap:4px}.daemon-manager-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-strong);font-size:12px}.daemon-manager-main span{min-width:0;color:var(--color-text-muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.daemon-manager-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.daemon-manager-actions button:not(.icon-button){min-width:72px}.daemon-rename-form{min-width:0}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:var(--color-overlay)}.qr-scanner-dialog{width:min(420px,100%);border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface-soft);box-shadow:0 24px 70px var(--color-modal-shadow);display:grid;gap:12px;padding:12px}.qr-scanner-header,.qr-scanner-title{min-width:0;display:flex;align-items:center;gap:8px}.qr-scanner-header{justify-content:space-between}.qr-scanner-title{color:var(--color-accent);font-weight:700;font-size:13px}.qr-scanner-video-wrap{position:relative;aspect-ratio:1;min-height:240px;overflow:hidden;border:1px solid var(--color-border-deep);border-radius:8px;background:var(--color-surface-deep)}.qr-scanner-video{width:100%;height:100%;object-fit:cover;display:block}.qr-scanner-frame{position:absolute;inset:18%;border:2px solid var(--color-accent);border-radius:8px;box-shadow:0 0 0 999px var(--color-backdrop-soft)}.qr-scanner-status{min-height:20px;color:var(--color-text-muted);font-size:12px}.qr-scanner-status.error{color:var(--color-danger-text)}.qr-scanner-fallbacks{display:grid;gap:8px}.qr-scanner-fallbacks textarea{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.qr-scanner-actions{display:flex;gap:8px}.qr-scanner-actions button{flex:1 1 0;min-width:0}.settings-dialog{width:min(430px,100%);border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface-soft);color:var(--color-text);box-shadow:0 24px 70px var(--color-modal-shadow);display:grid;gap:12px;padding:12px}.settings-header,.settings-title-group,.settings-fieldset legend{min-width:0;display:flex;align-items:center;gap:9px}.settings-header{justify-content:space-between}.settings-title-group{color:var(--color-accent)}.settings-title-group h2{margin:0;color:var(--color-text-strong);font-size:14px;line-height:1.25}.settings-title-group span,.settings-fieldset p{color:var(--color-text-subtle);font-size:12px}.settings-body{display:grid;gap:12px}.settings-fieldset{min-width:0;margin:0;border:1px solid var(--color-border-muted);border-radius:8px;background:var(--color-surface);display:grid;gap:10px;padding:10px}.settings-fieldset legend{padding:0 4px;color:var(--color-accent);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.settings-fieldset p{margin:0}.settings-segmented{min-width:0;border:1px solid var(--color-border-soft);border-radius:8px;background:var(--color-surface-sunken);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px}.settings-segmented label{min-width:0;display:block;cursor:pointer}.settings-segmented input{position:absolute;opacity:0;pointer-events:none}.settings-segmented span{min-height:32px;border:1px solid transparent;border-radius:6px;color:var(--color-text-muted);display:grid;place-items:center;padding:0 8px;font-size:12px;font-weight:700;text-align:center;white-space:nowrap}.settings-segmented label:hover span{background:var(--color-surface-hover);color:var(--color-text-strong)}.settings-segmented input:checked+span{border-color:var(--color-border-hover);background:var(--color-surface-selected);color:var(--color-accent)}.settings-segmented input:focus-visible+span{outline:2px solid var(--color-focus);outline-offset:2px}.settings-shortcuts-textarea{width:100%;min-height:92px;resize:vertical;border:1px solid var(--color-border-input);border-radius:6px;background:var(--color-surface-sunken);color:var(--color-text);padding:8px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45}.settings-shortcuts-textarea:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 1px var(--color-focus)}.connection-status{gap:8px}.connection-status-main{display:flex;align-items:center;gap:8px;color:var(--color-accent)}.connection-status-main strong{font-size:13px;letter-spacing:0;flex:1}.panel-title{color:var(--color-accent);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.session-create button{width:100%}.session-list{display:grid;gap:8px}.session-row{width:100%;min-height:52px;display:block;text-align:left;padding:8px;border:1px solid var(--color-border-control);border-radius:6px;background:var(--color-surface-raised);cursor:pointer}.session-row:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.session-row.selected{border-color:var(--color-accent);background:var(--color-surface-selected)}.session-row.has-new-output{border-color:var(--color-border-control);background:var(--color-surface-raised)}.session-row.selected.has-new-output{border-color:var(--color-accent);background:var(--color-surface-selected)}.session-row.dragging{border-color:var(--color-info);opacity:.72;cursor:grabbing;transform:translateY(1px)}.session-row.drag-target{border-color:var(--color-info);box-shadow:inset 0 2px 0 var(--color-info),0 0 0 1px var(--color-accent-shadow)}.session-main,.session-row strong,.status-bar,.toolbar{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.session-row-heading{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px}.session-drag-handle{cursor:grab;color:var(--color-text-subtle);touch-action:none}.session-drag-handle:hover:not(:disabled),.session-drag-handle:focus-visible{border-color:var(--color-info);color:var(--color-info-soft)}.session-drag-handle:active{cursor:grabbing}.session-row strong{display:block;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.session-row.has-new-output strong{color:var(--color-info)}.session-main{min-width:0;display:grid;gap:3px}.session-row span{color:var(--color-text-muted);font-size:12px}.session-main span{overflow-wrap:anywhere}.session-actions{flex:0 0 auto;display:flex;align-items:center;gap:6px}.session-rename-form{min-width:0}.daemon-clients{gap:8px}.client-row{grid-template-columns:minmax(0,1fr) auto;border-top:1px solid var(--color-border-soft);padding-top:8px;display:grid;gap:5px}.client-row:first-of-type{border-top:0;padding-top:0}.client-row-main,.client-row-meta{min-width:0;display:flex;align-items:center;gap:7px}.client-row-main strong,.client-row-meta{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.client-row-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-strong);font-size:12px}.client-row-main span:last-child,.client-row-meta{color:var(--color-text-muted);font-size:12px}.client-row-meta{grid-column:1;flex-wrap:wrap}.client-forget-button{grid-column:2;grid-row:1 / span 2;align-self:center}.status-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.status-dot.online{background:var(--color-accent)}.status-dot.offline{background:var(--color-text-dim)}.workspace{min-width:0;min-height:0;display:grid;grid-template-rows:46px minmax(420px,1fr) 30px}.workspace-body{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 286px}.workspace-body.files-panel-hidden{grid-template-columns:minmax(0,1fr) 42px}.workspace-body.has-error{grid-template-rows:auto minmax(0,1fr)}.workspace-body.has-error>.protocol-error-alert{grid-column:1 / -1;grid-row:1;margin:10px}.workspace-body.has-error>.terminal-pane,.workspace-body.has-error>.files-panel,.workspace-body.has-error>.files-resizer,.workspace-body.has-error>.files-rail{grid-row:2}.workspace-body.has-error>.terminal-pane[aria-label="terminal unavailable"]{grid-column:1 / -1}.toolbar{min-width:0;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex;align-items:center;gap:14px;padding:0 14px;color:var(--color-text-toolbar);font-size:12px;overflow:hidden}.toolbar-title{min-width:0;max-width:48vw;display:flex;align-items:center;gap:8px}.toolbar-title-button{border:0;min-height:0;padding:0;background:transparent;color:inherit;justify-content:flex-start}.toolbar-title-button:hover:not(:disabled){border-color:transparent;color:inherit}.toolbar-title-button:focus-visible{outline:1px solid var(--color-accent);outline-offset:4px}.toolbar-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-strong);font-weight:700}.toolbar-title small{flex:0 0 auto;border:1px solid var(--color-border-chip);border-radius:999px;padding:2px 7px;color:var(--color-text-muted);background:var(--color-surface-raised);font-size:11px;line-height:1.2}.toolbar-actions{flex:0 0 auto;margin-left:auto;position:relative;display:flex;align-items:center;gap:8px}.toolbar-admin-button,.toolbar-clients-button{flex:0 0 auto}.toolbar-clients-popover{top:calc(100% + 8px);right:0}.daemon-status-panel{border:1px solid var(--color-border-panel);border-radius:8px;background:var(--color-surface-alt);display:grid;gap:10px;padding:10px}.daemon-status-strip{width:100%;min-width:0;min-height:30px;border:0;border-top:1px solid var(--color-border-subtle);border-radius:0;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;padding:0 10px}.daemon-status-header,.daemon-status-title{min-width:0;display:flex;align-items:center;gap:8px}.daemon-status-header{justify-content:space-between}.daemon-status-strip .daemon-status-header{min-height:30px;justify-content:flex-start}.daemon-status-title{color:var(--color-text-strong);font-size:12px;font-weight:500}.daemon-status-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daemon-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.daemon-status-strip .daemon-status-grid{width:100%;min-width:0;display:flex;flex-wrap:nowrap;gap:0;align-items:center;justify-content:start;overflow:hidden}.daemon-status-metric{min-width:0;border:1px solid var(--color-border-soft);border-radius:6px;background:var(--color-surface-sunken);display:grid;gap:4px;padding:8px}.daemon-status-strip .daemon-status-metric{width:auto;flex:0 0 var(--daemon-status-memory-width);min-height:30px;border:0;border-left:1px solid var(--color-border-subtle);border-radius:0;background:transparent;display:flex;align-items:center;gap:6px;padding:0 10px}.daemon-status-network{min-width:0}.daemon-status-strip .daemon-status-network{flex-basis:var(--daemon-status-network-width)}.daemon-status-metric span,.daemon-status-error{color:var(--color-text-subtle);font-size:12px}.daemon-status-metric strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-strong);font-size:13px;white-space:nowrap}.daemon-status-strip .daemon-status-metric strong{font-size:12px}.daemon-status-cpu{min-width:0}.daemon-status-strip .daemon-status-cpu{flex-basis:var(--daemon-status-cpu-width);gap:5px}.daemon-status-strip .daemon-status-disk{flex-basis:var(--daemon-status-disk-width)}.daemon-status-strip .daemon-status-load{flex-basis:var(--daemon-status-load-width)}.daemon-status-strip .daemon-status-uptime{flex-basis:var(--daemon-status-uptime-width)}.daemon-cpu-bar-chart{flex:0 0 42px;width:42px;height:18px;min-width:38px;color:var(--color-info)}.daemon-cpu-bar-frame{fill:var(--color-bg-wash);stroke:var(--color-cpu-frame-stroke);stroke-width:1}.daemon-cpu-bar{fill:var(--color-cpu-bar-fill);stroke:var(--color-cpu-bar-stroke);stroke-width:.45}.daemon-status-error{display:grid;gap:4px;color:var(--color-danger-text)}.session-operators{min-width:0;margin-left:0;display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow:hidden}.session-operators-title,.session-operator{min-width:0;min-height:26px;border:1px solid var(--color-border-panel);border-radius:6px;background:var(--color-surface-alt);display:inline-flex;align-items:center;gap:6px;padding:0 8px}.session-operators-title{flex:0 0 auto;color:var(--color-accent)}.session-operator{max-width:min(360px,45vw);color:var(--color-text-toolbar);font-size:12px}.session-operator span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-operator-cursor{color:var(--color-accent)}.focus-chip{flex:0 0 auto;color:var(--color-info-soft)}.focus-chip.focused{color:var(--color-accent)}.session-operator.muted{color:var(--color-text-dim)}.terminal-pane{position:relative;min-width:0;min-height:0;background:var(--color-terminal-bg);display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.terminal-pane-viewer{grid-template-rows:38px minmax(0,1fr)}.terminal-viewer-toolbar{min-width:0;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-alt);display:flex;align-items:center;gap:6px;padding:0 8px}.terminal-viewer-size,.terminal-viewer-scale{min-width:0;color:var(--color-text-toolbar);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;white-space:nowrap}.terminal-viewer-size{color:var(--color-accent)}.terminal-viewer-scale{width:42px;text-align:center}.terminal-scrollport{position:relative;min-width:0;min-height:0;overflow:hidden}.terminal-pane-viewer .terminal-scrollport{overflow:auto}.terminal-viewer-canvas,.terminal-viewer-frame{position:relative;min-width:100%;min-height:100%;width:100%;height:100%}.terminal-pane-viewer .terminal-viewer-frame{min-width:0;min-height:0;overflow:hidden;border:1px dashed var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-shadow);background:var(--color-terminal-bg)}.terminal-host{position:absolute;inset:var(--terminal-frame-padding);min-width:0;min-height:0;padding:0}.terminal-pane-viewer .terminal-host{inset:var(--terminal-frame-padding);overflow:hidden}.terminal-mobile-scroll-track,.terminal-mobile-shortcuts,.terminal-direction-pad{display:none}.terminal-search-control{position:absolute;top:8px;right:10px;z-index:8;display:flex;align-items:center}.terminal-search-button{background:var(--color-toast-bg)}.terminal-search-popover{min-width:min(420px,calc(100vw - 28px));border:1px solid var(--color-border-panel);border-radius:8px;background:var(--color-toast-bg);box-shadow:0 12px 30px var(--color-popover-shadow);display:grid;grid-template-columns:minmax(0,1fr) repeat(3,28px) minmax(54px,max-content) 28px;align-items:center;gap:5px;padding:6px}.terminal-search-popover input{width:100%;min-width:0;height:28px;border:1px solid var(--color-border-input);border-radius:6px;background:var(--color-surface-sunken);color:var(--color-text);padding:0 8px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.terminal-search-popover .icon-button{width:28px;min-height:28px}.terminal-search-count{min-width:54px;color:var(--color-text-muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:11px;text-align:right;white-space:nowrap}.terminal-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--color-text-dim);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.terminal-copy-toast{position:absolute;right:18px;bottom:18px;z-index:4;border:1px solid var(--color-accent-shadow-strong);border-radius:6px;background:var(--color-toast-bg);color:var(--color-terminal-fg);padding:6px 10px;font-size:12px;pointer-events:none}.files-panel{position:relative;min-width:0;min-height:0;width:100%;border-left:1px solid var(--color-border-subtle);background:var(--color-surface-muted);display:grid;grid-template-rows:46px minmax(0,1fr)}.files-panel-edge-resizer{position:absolute;z-index:5;top:0;bottom:0;left:-5px;width:10px;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.files-panel:has(.files-panel-edge-resizer:hover),.files-panel:has(.files-panel-edge-resizer:focus-visible),.files-panel-resizing .files-panel{border-left-color:var(--color-accent)}.files-panel-edge-resizer:focus-visible{outline:none;box-shadow:inset 5px 0 0 -4px var(--color-accent)}.files-panel-resizing .terminal-pane,.files-panel-resizing .files-panel{cursor:col-resize}.files-panel-header{min-width:0;border-bottom:1px solid var(--color-border-subtle);padding:0 8px 0 12px;display:flex;align-items:center;gap:8px}.files-tabs{min-width:0;display:flex;align-items:center;gap:4px}.files-tab{min-width:0;min-height:30px;border:1px solid transparent;border-radius:6px;padding:0 8px;background:transparent;color:var(--color-text-subtle);display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.files-tab:hover{color:var(--color-text);background:var(--color-surface-hover)}.files-tab[aria-selected=true]{border-color:var(--color-border-hover);background:var(--color-surface-active);color:var(--color-accent)}.files-hide-button{margin-left:auto;flex:0 0 auto}.files-rail{min-width:0;min-height:0;border-left:1px solid var(--color-border-subtle);background:var(--color-surface-muted);display:grid;align-content:start;justify-items:center;padding-top:8px}.files-rail .icon-button{width:32px;min-height:34px}.files-tab-body{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.files-toolbar{min-width:0;border-bottom:1px solid var(--color-border-subtle);padding:8px;display:grid;grid-template-columns:32px minmax(0,1fr) 32px 32px 32px;gap:6px;align-items:center}.files-path-field{min-width:0}.files-path-field input{min-height:30px;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.files-go-button{width:32px;min-height:30px;padding:0;font-size:11px;font-weight:700}.files-upload-input{width:1px;height:1px;opacity:0;pointer-events:none;position:absolute}.files-list{min-height:0;overflow:auto;padding:8px;display:grid;align-content:start;gap:4px}.file-row{min-width:0;min-height:32px;display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:7px;border-radius:6px;padding:0 6px;color:var(--color-text)}.file-row:hover{background:var(--color-surface-hover)}.file-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-empty)}.file-icon.directory{color:var(--color-accent)}.file-icon.symlink{color:var(--color-info)}.file-name,.file-size,.files-empty{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px}.file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--color-text-subtle);white-space:nowrap}.file-actions{display:inline-flex;align-items:center;gap:4px}.file-actions .icon-button{width:28px;min-height:28px}.files-empty{min-height:80px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--color-text-dim)}.files-follow-footer{min-width:0;border-top:1px solid var(--color-border-subtle);padding:8px 10px;background:var(--color-surface-deep)}.files-follow-toggle{min-width:0;display:flex;align-items:center;gap:8px;color:var(--color-text-toolbar);font-size:12px;-webkit-user-select:none;user-select:none}.files-follow-toggle input{width:14px;height:14px;min-height:14px;margin:0;accent-color:var(--color-accent)}.git-panel{--git-tree-row-height: 24px;min-width:0;min-height:0;overflow:auto;display:grid;align-content:start;grid-template-rows:auto auto auto}.git-panel.git-files-collapsed,.git-panel.git-graph-collapsed{grid-template-rows:auto auto}.git-panel.git-files-collapsed.git-graph-collapsed{align-content:start;grid-template-rows:auto auto}.git-panel.git-panel-split-overridden{overflow:hidden;align-content:stretch;grid-template-rows:minmax(var(--git-tree-row-height),var(--git-changes-pane-height)) 6px minmax(var(--git-tree-row-height),1fr)}.git-status-pane,.git-graph-pane{min-width:0;min-height:0;overflow:visible;display:grid;grid-template-rows:auto auto;align-content:start;gap:0;padding:0 6px}.git-status-pane{border-bottom:0}.git-section-header{min-width:0;height:var(--git-tree-row-height);min-height:var(--git-tree-row-height);display:flex;align-items:center;gap:8px;border-radius:4px;padding:0 4px}.git-section-header:hover,.git-worktree-header:hover,.git-change-section h3:hover,.git-change-row:hover,.git-graph-row:hover{background:var(--color-surface-active)}.git-section-toggle,.git-worktree-toggle{min-width:0;border:0;padding:0;background:transparent;color:var(--color-text);display:inline-flex;align-items:center;gap:5px;font:inherit;text-align:left}.git-section-toggle{flex:0 0 auto;min-height:var(--git-tree-row-height);color:var(--color-text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.git-section-toggle:hover,.git-worktree-toggle:hover{color:var(--color-accent)}.git-section-toggle:focus-visible,.git-worktree-toggle:focus-visible{outline:none;border-radius:4px;box-shadow:0 0 0 1px var(--color-accent)}.git-section-body,.git-status-body{min-width:0;min-height:0;overflow:auto;display:grid;align-content:start;gap:0}.git-status-body{padding-left:12px}.git-panel-split-overridden .git-status-pane,.git-panel-split-overridden .git-graph-pane{overflow:hidden;grid-template-rows:auto minmax(0,1fr);align-content:stretch}.git-panel-split-overridden .git-graph-lines{overflow:auto}.git-repo-label{min-width:0;overflow:hidden;color:var(--color-text);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.git-section-header .icon-button{margin-left:auto;width:22px;min-height:22px}.git-worktree{min-width:0;margin-left:0;border:0;border-radius:0;background:transparent;padding:0;display:grid;gap:0}.git-worktree-header{position:relative;min-width:0;height:var(--git-tree-row-height);min-height:var(--git-tree-row-height);display:flex;align-items:center;gap:6px;border-radius:4px;padding:0 4px;overflow:hidden}.git-worktree-toggle{flex:1 1 auto;width:100%;min-height:var(--git-tree-row-height);justify-content:flex-start}.git-worktree-branch,.git-worktree-head,.git-worktree-current,.git-change-section h3,.git-change-status,.git-change-path,.git-change-empty,.git-graph-title,.git-graph-commit{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.git-worktree-branch{min-width:0;overflow:hidden;color:var(--color-text-toolbar);font-size:11px;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.git-worktree-head,.git-worktree-current{border:0;border-radius:4px;padding:0 4px;color:var(--color-text-subtle);font-size:10px;line-height:16px;background:var(--color-surface-hover)}.git-worktree-floating-meta{position:absolute;top:50%;right:4px;display:inline-flex;align-items:center;gap:4px;padding-left:18px;background:var(--color-floating-gradient);opacity:0;pointer-events:none;transform:translateY(-50%);transition:opacity .12s ease}.git-worktree-header:hover .git-worktree-floating-meta,.git-worktree-header:focus-within .git-worktree-floating-meta{opacity:1}.git-worktree-current{color:var(--color-info)}.git-worktree-path{min-width:0;overflow:hidden;min-height:20px;display:flex;align-items:center;color:var(--color-text-muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap;padding:0 4px 0 22px}.git-worktree-body{min-width:0;display:grid;gap:0;margin-left:8px;padding-left:10px;border-left:1px solid var(--color-border-soft)}.git-graph-resizer{position:relative;min-width:0;height:6px;min-height:6px;margin:0 6px;cursor:row-resize;touch-action:none;-webkit-user-select:none;user-select:none}.git-graph-resizer:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:transparent;transform:translateY(-50%)}.git-graph-resizer:hover:before,.git-graph-resizer:focus-visible:before,.git-graph-resizing .git-graph-resizer:before{background:var(--color-accent)}.git-graph-resizer:focus-visible{outline:none}.git-change-section{min-width:0;display:grid;gap:0}.git-change-section h3{margin:0;min-height:var(--git-tree-row-height);display:flex;align-items:center;border-radius:4px;padding:0 4px;color:var(--color-text-subtle);font-size:10px;font-weight:700;text-transform:uppercase}.git-change-list{min-width:0;display:grid;gap:0}.git-change-row{position:relative;min-width:0;height:var(--git-tree-row-height);min-height:var(--git-tree-row-height);border-radius:4px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:6px;padding:0 4px;overflow:hidden}.git-change-status{color:var(--color-info);font-size:10px;white-space:pre}.git-change-path{min-width:0;overflow:hidden;color:var(--color-text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.git-change-empty{color:var(--color-text-dim);font-size:11px}.git-change-actions{display:inline-flex;align-items:center;gap:2px;opacity:0;transition:opacity .12s ease}.git-change-floating-actions{position:absolute;top:50%;right:2px;padding-left:18px;background:var(--color-floating-gradient);pointer-events:none;transform:translateY(-50%)}.git-change-row:hover .git-change-actions,.git-change-row:focus-within .git-change-actions{opacity:1;pointer-events:auto}.git-change-actions .icon-button{width:22px;min-height:22px}.git-graph-pane{background:var(--color-surface-deep)}.git-graph-title{color:var(--color-text-muted);font-size:11px;font-weight:700}.git-graph-lines{min-width:0;min-height:0;overflow:visible;display:grid;align-content:start;gap:0}.git-graph-row{min-width:0;height:var(--git-tree-row-height);min-height:var(--git-tree-row-height);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border-radius:4px;padding:0 6px 0 2px}.git-graph-lanes{min-width:max-content;display:inline-grid;grid-auto-flow:column;grid-auto-columns:12px;align-items:center;padding-left:2px}.git-graph-lane{position:relative;width:12px;height:var(--git-tree-row-height);display:inline-block}.git-graph-node:before{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border:2px solid var(--git-graph-color, var(--color-info));border-radius:50%;background:var(--color-surface-deep);transform:translate(-50%,-50%);box-shadow:0 0 0 2px color-mix(in srgb,var(--git-graph-color, var(--color-info)) 18%,transparent)}.git-graph-rail:before,.git-graph-diagonal-left:before,.git-graph-diagonal-right:before,.git-graph-horizontal:before{content:"";position:absolute;top:50%;left:50%;width:2px;height:var(--git-tree-row-height);border-radius:2px;background:var(--git-graph-color, var(--color-text-subtle));transform-origin:center}.git-graph-diagonal-left:before{transform:translate(-50%,-50%) rotate(32deg)}.git-graph-diagonal-right:before{transform:translate(-50%,-50%) rotate(-32deg)}.git-graph-horizontal:before{width:12px;height:2px;transform:translate(-50%,-50%)}.git-graph-commit{min-width:0;overflow:hidden;color:var(--color-text-toolbar);font-size:11px;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.git-graph-hash{color:var(--color-info)}.git-graph-message{margin-left:7px;color:var(--color-text)}.git-graph-ref{margin-left:7px;border:1px solid var(--color-border-panel);border-radius:999px;padding:1px 5px;color:var(--color-accent);background:var(--color-surface-hover)}.file-editor-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px;background:var(--color-overlay)}.file-editor-dialog{width:min(960px,calc(100vw - 32px));height:min(720px,calc(100vh - 32px));min-height:0;overflow:hidden;border:1px solid var(--color-border-panel);border-radius:8px;background:var(--color-surface-alt);color:var(--color-text);box-shadow:0 24px 70px var(--color-modal-shadow);display:grid;grid-template-areas:"header" "error" "editor" "footer";grid-template-rows:auto auto minmax(260px,1fr) 46px}.file-editor-header,.file-editor-title-group,.file-editor-actions,.file-editor-footer{min-width:0;display:flex;align-items:center}.file-editor-header{grid-area:header;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border-subtle);padding:10px 12px}.file-editor-title-group{gap:9px;color:var(--color-accent)}.file-editor-title-text{min-width:0;display:grid;gap:3px}.file-editor-title-text h2{min-width:0;margin:0;overflow:hidden;color:var(--color-text-strong);font-size:14px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.file-editor-title-text span,.file-editor-status{min-width:0;overflow:hidden;color:var(--color-text-subtle);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.file-editor-actions{flex:0 0 auto;gap:8px}.file-editor-error{grid-area:error;border-bottom:1px solid var(--color-danger-border);background:var(--color-danger-bg-strong);color:var(--color-danger-text);padding:8px 12px;font-size:12px}.file-editor-shell{grid-area:editor;min-width:0;min-height:0;overflow:hidden;background:var(--color-terminal-bg)}.file-editor-monaco,.file-editor-monaco-host,.file-editor-shell>section,.file-editor-shell>div{min-width:0;min-height:0;width:100%;height:100%}.file-editor-monaco{display:block;overflow:hidden;background:var(--color-editor-monaco-bg)}.file-editor-monaco-host{position:relative;overflow:hidden}.file-editor-fallback{min-width:0;min-height:0;height:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 78px;background:var(--color-terminal-bg)}.file-editor-line-numbers{min-height:0;overflow:hidden;border-right:1px solid var(--color-surface-active);background:var(--color-surface-deep);color:var(--color-text-dim);display:grid;align-content:start;padding:8px 7px 8px 0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55;text-align:right;-webkit-user-select:none;user-select:none}.file-editor-line-numbers span{height:20px}.file-editor-shell textarea{width:100%;height:100%;min-height:260px;border:0;border-radius:0;outline:none;resize:none;background:var(--color-terminal-bg);color:var(--color-terminal-fg);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.55}.file-editor-fallback textarea{min-height:0}.file-editor-minimap{min-width:0;min-height:0;overflow:hidden;border-left:1px solid var(--color-surface-active);background:var(--color-editor-minimap);display:grid;align-content:start;gap:2px;padding:8px 7px}.file-editor-minimap span{height:3px;border-radius:999px;background:var(--color-terminal-selection)}.file-editor-loading{height:100%;min-height:260px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--color-text-subtle);font-size:12px}.file-editor-footer{grid-area:footer;justify-content:flex-end;gap:8px;border-top:1px solid var(--color-border-subtle);min-height:46px;padding:6px 12px}.file-editor-footer.single-row{height:46px}.file-editor-footer button{min-height:32px}.file-editor-save{border-color:var(--color-accent);background:var(--color-surface-selected);color:var(--color-accent-soft)}.mobile-backdrop,.mobile-menu-toggle,.mobile-menu-popover,.mobile-panel{display:none}.status-bar{border-top:1px solid var(--color-border-subtle);display:flex;align-items:center;gap:12px;padding:0 12px;color:var(--color-text-status);background:var(--color-surface);font-size:12px;overflow:hidden}.status-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-error{color:var(--color-danger-text)}@media(min-width:761px)and (max-width:1100px){.app-shell{grid-template-columns:280px minmax(0,1fr)}}@media(min-width:761px)and (max-width:1180px){.daemon-status-strip{--daemon-status-cpu-width: 96px;--daemon-status-memory-width: 178px;--daemon-status-network-width: 206px;--daemon-status-disk-width: 178px;--daemon-status-load-width: 136px}.daemon-status-strip .daemon-status-metric{gap:5px;padding:0 8px}.daemon-status-strip .daemon-cpu-bar-chart,.daemon-status-strip .daemon-status-uptime{display:none}}@media(min-width:761px)and (max-width:1040px){.daemon-status-strip .daemon-status-load{display:none}}@media(min-width:761px)and (max-width:900px){.daemon-status-strip .daemon-status-network{display:none}}@media(max-width:760px){.admin-shell{height:100dvh;grid-template-rows:48px minmax(0,1fr) 30px}.admin-topbar{padding:0 10px}.admin-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-main{padding:10px;gap:10px}.admin-summary-band{grid-template-columns:1fr;align-items:stretch}.protocol-error-alert-detail{display:grid;gap:5px}.admin-grid{grid-template-columns:1fr;gap:10px}.app-shell{position:relative;top:var(--termd-visual-viewport-offset-top, 0px);width:min(100vw,100dvw);max-width:min(100vw,100dvw);height:var(--termd-visual-viewport-height, 100dvh);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app-shell.connection-ready{grid-template-rows:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--color-border-subtle)}.app-shell.connection-ready .sidebar{position:fixed;z-index:70;inset:0 auto 0 0;width:min(88vw,340px);max-width:340px;border-right:1px solid var(--color-border-panel);border-bottom:0;box-shadow:22px 0 50px var(--color-modal-shadow);transform:translate(-104%);visibility:hidden;pointer-events:none;transition:transform .16s ease,visibility .16s ease}.sidebar-collapse-toggle{display:none}.mobile-backdrop{position:fixed;inset:0;z-index:74;display:block;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.mobile-menu-backdrop{background:var(--color-backdrop-soft)}.mobile-menu-toggle{display:inline-flex;flex:0 0 auto}.toolbar{min-height:42px;padding:0 10px;gap:8px}.toolbar .mobile-menu-toggle{margin-left:0}.toolbar-title{max-width:34vw}.toolbar-actions,.toolbar-admin-button{display:none}.mobile-menu-popover{position:fixed;top:46px;left:10px;z-index:75;width:min(220px,calc(100vw - 20px));border:1px solid var(--color-border-panel);border-radius:8px;background:var(--color-surface-alt);box-shadow:0 20px 46px var(--color-popover-shadow);padding:8px;display:grid;gap:6px}.mobile-menu-popover button{min-width:0;min-height:42px;justify-content:flex-start;padding:0 10px;background:var(--color-surface)}.workspace{width:100%;max-width:100%;min-height:0;height:var(--termd-visual-viewport-height, 100%);grid-template-rows:42px minmax(0,1fr) 30px}.app-shell.mobile-keyboard-open .workspace{grid-template-rows:42px minmax(0,1fr)}.app-shell.mobile-keyboard-open .daemon-status-strip{display:none}.workspace-body{width:100%;max-width:100%;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.workspace-body-mobile{position:relative;overflow:hidden}.app-shell.connection-ready .files-rail{display:none}.mobile-panel{position:fixed;inset:42px 0 30px;z-index:76;min-height:0;display:grid;grid-template-rows:46px minmax(0,1fr);background:var(--color-surface-muted);border-top:1px solid var(--color-border-subtle)}.mobile-panel-header{min-width:0;border-bottom:1px solid var(--color-border-subtle);padding:0 10px 0 12px;display:flex;align-items:center;gap:8px}.mobile-panel-title{min-width:0;display:flex;align-items:center;gap:7px;color:var(--color-accent);font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.mobile-panel-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-panel-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.mobile-panel-actions .icon-button{width:34px;min-height:34px}.mobile-panel-body{min-width:0;min-height:0;overflow:auto;padding:8px;display:grid;align-content:start}.mobile-connection-panel .mobile-panel-body{gap:10px}.mobile-connection-panel .connection-status,.mobile-connection-panel .daemon-manager{width:100%}.mobile-sessions-panel .session-list{gap:8px}.mobile-sessions-panel .session-row{min-height:52px}.mobile-files-panel .files-panel{grid-row:1 / -1;position:relative;inset:auto;width:100%;height:100%;min-height:0;z-index:auto;border-left:0;border-top:0;border-radius:0;box-shadow:none;transform:none;visibility:visible;pointer-events:auto}.mobile-files-panel .files-panel-header{min-height:46px}.mobile-files-panel .files-list,.mobile-files-panel .git-status-pane,.mobile-files-panel .git-graph-pane{padding-bottom:16px}.session-operators{gap:4px}.session-operator{max-width:38vw;padding:0 6px}.terminal-pane{width:100%;max-width:100%;min-height:0;grid-template-rows:minmax(0,1fr)}.terminal-pane-viewer{grid-template-rows:36px minmax(0,1fr)}.app-shell.mobile-keyboard-open .terminal-pane{grid-template-rows:minmax(0,1fr) 42px}.app-shell.mobile-keyboard-open .terminal-pane-viewer{grid-template-rows:36px minmax(0,1fr) 42px}.daemon-status-strip{width:100%;max-width:100%;min-height:30px;grid-template-columns:minmax(0,1fr);padding:0}.daemon-status-strip .daemon-status-grid{width:100%;max-width:100%;display:grid;grid-template-columns:68px 96px 112px 88px;justify-content:stretch;overflow-x:auto;scrollbar-width:none}.daemon-status-strip .daemon-status-grid::-webkit-scrollbar{display:none}.daemon-status-strip .daemon-status-metric{min-height:30px;width:auto;justify-content:center;gap:4px;padding:0 4px}.daemon-status-network,.daemon-status-cpu{min-width:0}.daemon-cpu-bar-chart{display:none}.daemon-status-strip .daemon-status-metric span,.daemon-status-strip .daemon-status-metric strong{font-size:11px}.terminal-scrollport{overflow:hidden}.terminal-mobile-shortcuts{width:100%;max-width:100%;position:relative;z-index:7;min-width:0;border-top:1px solid var(--color-border-subtle);background:var(--color-surface-alt);display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;padding:5px 8px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.terminal-mobile-shortcuts::-webkit-scrollbar{display:none}.terminal-mobile-shortcut-button{flex:0 0 64px;min-width:64px;min-height:30px;padding:0 8px;border-color:var(--color-border-mobile);border-radius:6px;background:var(--color-surface-raised);color:var(--color-terminal-fg);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:12px;display:inline-flex;align-items:center;justify-content:center;gap:3px;touch-action:manipulation;-webkit-user-select:none;user-select:none}.terminal-mobile-paste-button{flex-basis:82px;min-width:82px;font-family:IBM Plex Sans,Aptos,Segoe UI,sans-serif;font-weight:700}.terminal-mobile-shortcut-button:active{border-color:var(--color-accent);background:var(--color-surface-selected);color:var(--color-accent-soft)}.terminal-direction-pad{position:absolute;top:48px;right:10px;z-index:8;width:74px;height:74px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);place-items:center;border:1px solid var(--color-accent-shadow-strong);border-radius:8px;background:var(--color-direction-bg);box-shadow:0 18px 34px var(--color-popover-shadow);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.terminal-direction-pad span{width:22px;height:22px;border:1px solid var(--color-border-strong);border-radius:6px;display:grid;place-items:center;color:var(--color-text-muted);font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1}.terminal-direction-pad span:nth-child(1){grid-column:2;grid-row:1}.terminal-direction-pad span:nth-child(2){grid-column:1;grid-row:2}.terminal-direction-pad span:nth-child(3){grid-column:2;grid-row:3}.terminal-direction-pad span:nth-child(4){grid-column:3;grid-row:2}.terminal-direction-pad span.active{border-color:var(--color-accent);background:var(--color-surface-selected);color:var(--color-accent-soft)}.terminal-mobile-scroll-track{position:absolute;top:56px;right:6px;bottom:56px;z-index:6;display:block;width:36px;min-height:96px;pointer-events:none}.terminal-pane-viewer .terminal-mobile-scroll-track{top:52px}.terminal-mobile-scroll-thumb{position:absolute;right:0;width:34px;min-height:52px;padding:0;border-color:var(--color-border-control);border-radius:8px;background:var(--color-toast-bg);color:var(--color-accent);box-shadow:0 12px 26px var(--color-popover-shadow),inset 0 0 0 1px var(--color-accent-shadow);pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.terminal-mobile-scroll-track.dragging .terminal-mobile-scroll-thumb,.terminal-mobile-scroll-thumb:active{border-color:var(--color-accent);background:var(--color-direction-bg);color:var(--color-accent-soft)}.terminal-host{min-width:0;overflow:hidden}.terminal-pane:not(.terminal-pane-viewer) .terminal-host{max-width:100%}.terminal-pane:not(.terminal-pane-viewer) .terminal-host .xterm,.terminal-pane:not(.terminal-pane-viewer) .terminal-host .xterm-screen,.terminal-pane:not(.terminal-pane-viewer) .terminal-host .xterm-viewport,.terminal-pane:not(.terminal-pane-viewer) .terminal-host .xterm-rows{max-width:100%}.terminal-host .xterm .xterm-helper-textarea{position:fixed!important;inset:0 auto auto 0!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;opacity:0;overflow:hidden;resize:none;font-size:16px;transform:translateZ(0)}.terminal-viewer-toolbar{overflow-x:auto}.status-bar{min-width:0;gap:8px;padding:0 8px;font-size:11px}}
