:root{color-scheme:dark;--bg:#0a1018;--panel:#101925;--line:#243246;--muted:#94a4ba;--text:#e3ebf7;--accent:#7ce7cb;--danger:#f7a4ae;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100dvh}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#172436;color:var(--text);border-radius:7px;padding:10px 13px;transition:background .15s}button:hover{background:#263a52}button:disabled{cursor:wait;opacity:.5}button.primary{background:var(--accent);color:#08251e;border-color:var(--accent);font-weight:650}button.primary:hover{background:#a5f5df}button.danger{color:var(--danger)}button.quiet{background:transparent}a{color:var(--accent)}input,textarea,select{display:block;width:100%;background:#0a121e;border:1px solid #304158;border-radius:6px;color:var(--text);padding:11px;margin-top:7px}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:block;margin:18px 0;font-size:13px;color:#b7c6d9}label.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:auto;margin:0}.topbar{height:88px;padding:16px 32px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:18px;font-weight:650}.brand small{display:block;font-size:8px;letter-spacing:2.5px;font-weight:500;color:var(--muted);margin-top:5px}.mark{font:25px ui-monospace,monospace;background:#17392f;color:var(--accent);padding:8px;border-radius:9px}.connection-note{color:var(--muted);font-size:12px;flex:1}.topbar #account-label{font-size:12px;color:var(--accent)}#notice{padding:0 28px;white-space:pre-wrap}#notice:not(:empty){padding:13px 28px;background:#35252c;color:#ffd1d6;border-bottom:1px solid #623846}.auth-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;max-width:1120px;margin:70px auto;padding:20px 32px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:650}h1{font-size:clamp(42px,5vw,66px);line-height:1.08;letter-spacing:-3px;font-weight:600;margin:25px 0}h1 em{font-style:normal;color:var(--accent)}p{line-height:1.65;font-size:14px}.intro>p{max-width:420px;color:#aabbcf}.muted{color:var(--muted);font-size:12px;line-height:1.7}.feature-line{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.feature-line span{color:#58746d;font-size:11px;margin-right:20px}.auth-card{align-self:center;padding:34px;background:linear-gradient(145deg,#142131,#101925);border:1px solid #2a3a50;border-radius:14px;box-shadow:0 25px 80px #0003}.auth-card h2{font-size:24px;letter-spacing:-.7px;margin:16px 0 28px}.auth-card>button,.auth-card section>button{width:100%;text-align:left;display:flex;justify-content:space-between}.auth-card details{border-block:1px solid var(--line);padding:18px 0;margin-top:22px;font-size:13px}summary{cursor:pointer;color:#c8d7e9}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.workspace{display:flex;height:calc(100dvh - 112px);min-height:450px}.sidebar{width:250px;flex-shrink:0;border-right:1px solid var(--line);padding:24px 16px;display:flex;flex-direction:column;gap:20px;background:#0d1520;overflow:auto}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-head button{font-size:11px;padding:7px}.host-list{display:flex;flex-direction:column;gap:7px;max-height:45%;overflow:auto}.host-list button{text-align:left;background:transparent;border:0;border-left:2px solid #2d5c50;border-radius:0;word-break:break-word;font-size:12px}.section-nav{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:20px}.section-nav button{text-align:left;background:transparent;border:0;color:var(--muted)}.section-nav button.selected{background:#17352e;color:var(--accent)}.sidebar-foot{margin-top:auto;font-size:10px;line-height:1.8;color:#718399}.content{flex:1;min-width:0;overflow:hidden}.panel{height:100%;min-width:0}.terminal-panel{display:flex;flex-direction:column}.tab-list{display:flex;overflow:auto;background:#0d1520;min-height:47px;border-bottom:1px solid var(--line)}.tab-list button{border:0;border-right:1px solid var(--line);border-radius:0;white-space:nowrap;background:transparent;font-size:12px;color:var(--muted);padding:15px}.tab-list button.active{background:#15261f;color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.terminal-head{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #172437;flex-wrap:wrap}.terminal-head>div:first-child{display:flex;align-items:center;gap:12px;font-size:12px}.terminal-head button{font-size:11px;padding:7px 9px}.pill{color:var(--muted);border:1px solid var(--line);padding:3px 7px;border-radius:30px;font-size:10px}.pill.online{color:var(--accent);border-color:#245949}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.terminal-area{position:relative;flex:1;min-height:120px;padding:12px;background:#0a1018}.terminal-instance{height:100%;width:100%}#terminal-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8da1ba;font:14px/2 ui-monospace,monospace}#terminal-empty small{font:11px system-ui,sans-serif;color:#5f738e}.touchbar{display:flex;gap:5px;padding:8px;border-top:1px solid var(--line);overflow-x:auto;background:#101b29}.touchbar button{padding:7px 14px;font:12px ui-monospace,monospace;flex-shrink:0}.touchbar .selected{background:#275e4e;color:var(--accent)}.editor-panel,.form-panel{overflow:auto;padding:30px;max-width:1250px}.editor-panel h2,.form-panel h2{font-size:28px;letter-spacing:-1px;margin:14px 0}.code-editor{font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;resize:vertical;min-height:360px;margin-bottom:18px;white-space:pre}.code-editor.short{min-height:190px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.card{padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0}.card h3{margin:0 0 10px;font-size:16px}.wide{grid-column:1/-1}.list-row{display:flex;justify-content:space-between;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:10px 0;font-size:11px;word-break:break-all}.list-row button{font-size:10px;padding:6px}.hostkey-panel{padding:15px 22px;background:#3a3020;border-bottom:1px solid #746035;font-size:12px}.hostkey-panel p{font-size:12px;margin:8px 0}.mono{font-family:ui-monospace,monospace;word-break:break-all}dialog{max-width:500px;width:calc(100% - 32px);border:1px solid #40516a;border-radius:14px;padding:28px;background:#111d2b;color:var(--text);box-shadow:0 30px 120px #0009}dialog::backdrop{background:#03080dba;backdrop-filter:blur(5px)}footer{height:24px;font-size:9px;letter-spacing:.6px;color:#5d728c;display:flex;align-items:center;justify-content:center;border-top:1px solid #172436}@media(max-width:800px){.topbar{height:72px;padding:12px 16px;gap:10px}.connection-note{display:none}.topbar #account-label{margin-left:auto}.brand{font-size:15px}.auth-layout{gap:35px;margin:20px auto;grid-template-columns:1fr;max-width:520px;padding:20px}.intro h1{font-size:46px}.intro .feature-line,.intro>.muted{display:none}.auth-card{padding:25px}.workspace{height:calc(100dvh - 96px)}.sidebar{width:160px;padding:15px 9px;gap:15px}.sidebar-head{flex-direction:column;align-items:start}.sidebar-foot{display:none}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.editor-panel,.form-panel{padding:20px}.terminal-head{gap:6px}.terminal-head .actions{gap:4px}.terminal-head button{font-size:10px;padding:6px}.terminal-area{padding:5px}}@media(max-width:520px){.sidebar{width:58px;padding:10px 4px}.sidebar-head>.eyebrow,.host-list{display:none}.sidebar-head button{font-size:10px;padding:8px 3px}.section-nav{gap:6px;padding-top:8px}.section-nav button{font-size:9px;padding:10px 3px;word-break:break-word;text-align:center}.terminal-head #terminal-title{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-head .actions button{font-size:9px;padding:6px}.terminal-head .actions button:nth-last-child(2),.terminal-head .actions button:nth-last-child(3){display:none}.brand small{letter-spacing:1.5px}.editor-panel h2,.form-panel h2{font-size:23px}.topbar #account-label{max-width:65px;overflow:hidden}.topbar button{font-size:10px;padding:8px}.card{padding:16px}.touchbar button{padding:8px 11px}}
/* Terminal arrangements share connections; each pane routes input only to itself. */
.terminal-area{overflow:hidden;isolation:isolate}.terminal-instance{min-width:0;min-height:0;overflow:hidden}.terminal-instance.pane-focused{outline:1px solid #315749;outline-offset:2px}.terminal-area.split-columns{display:grid;grid-template-columns:minmax(0,var(--pane-ratio,50%)) 8px minmax(0,1fr);gap:0}.terminal-area.split-rows{display:grid;grid-template-rows:minmax(0,var(--pane-ratio,50%)) 8px minmax(0,1fr);gap:0}.split-columns .pane-primary{grid-column:1;grid-row:1}.split-columns .pane-secondary{grid-column:3;grid-row:1}.split-rows .pane-primary{grid-row:1;grid-column:1}.split-rows .pane-secondary{grid-row:3;grid-column:1}.pane-divider{background:#243246;touch-action:none;border-radius:4px;z-index:2}.split-columns .pane-divider{grid-column:2;grid-row:1;cursor:col-resize;margin:0 2px}.split-rows .pane-divider{grid-row:2;grid-column:1;cursor:row-resize;margin:2px 0}.pane-divider:hover,.pane-divider:focus{background:var(--accent)}.terminal-area[class*="drop-"]::after{content:'Drop to split';position:absolute;display:flex;align-items:center;justify-content:center;background:#7ce7cb22;border:2px solid var(--accent);color:var(--accent);pointer-events:none;z-index:5;inset:0;font:14px system-ui}.terminal-area.drop-left::after{right:50%}.terminal-area.drop-right::after{left:50%}.terminal-area.drop-top::after{bottom:50%}.terminal-area.drop-bottom::after{top:50%}.popout-body{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.popout-body #popout-terminal{flex:1;min-height:0;overflow:hidden;padding:10px}.popout-note{margin:0;padding:5px 12px;color:var(--muted);font-size:10px}.tab-list button[draggable=true]{cursor:grab}.tab-list button[draggable=true]:active{cursor:grabbing}@media(max-width:520px){#panel-terminal .terminal-head .actions button{display:inline-block}.terminal-area.split-columns{padding:3px}.terminal-head .actions{max-height:100px;overflow:auto}}
.settings-nav>.back-to-terminals{display:flex;align-items:center;gap:8px;margin:0 0 16px;color:var(--text);line-height:1.4}.settings-nav>.back-to-terminals:hover{background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent)}.back-to-terminals>svg{width:16px;height:16px;flex:none}
.terminal-stage{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}.terminal-stage>.terminal-area{min-width:0}.connection-terminals{width:190px;flex-shrink:0;border-left:1px solid var(--line);padding:10px 7px;background:#0d1520;overflow:auto}.connection-terminal-heading{display:flex;align-items:center;justify-content:space-between;padding:0 5px;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.connection-terminal-heading button{font-size:21px;line-height:1;padding:4px 7px;background:transparent;border:0;color:var(--accent)}.connection-terminal-host{color:var(--muted);font-size:10px;padding:8px 5px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-terminal-row{display:flex;align-items:center;border-radius:5px;margin-bottom:4px}.connection-terminal-row.selected{background:#17352e}.connection-terminal-row button{background:transparent;border:0;padding:9px 5px;font-size:12px}.connection-terminal-row .terminal-select{display:flex;align-items:center;gap:7px;flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connection-terminal-row.selected .terminal-select{color:var(--accent)}.connection-terminal-row .terminal-close{padding:7px;color:var(--muted);font-size:16px}.terminal-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#5b6a7f}.terminal-dot.online{background:var(--accent)}.terminal-list-hint{font-size:10px;color:#718399;padding:10px 5px;line-height:1.8}@media(max-width:1000px){.connection-terminals{width:150px}}@media(max-width:650px){.terminal-stage{flex-direction:column}.connection-terminals{width:100%;max-height:140px;border-left:0;border-top:1px solid var(--line);padding:4px 8px;display:grid;grid-template-columns:95px minmax(0,1fr);gap:0 8px}.connection-terminal-heading{grid-column:1;grid-row:1}.connection-terminal-host{grid-column:1;grid-row:2;padding:2px 5px}.connection-terminal-list{grid-column:2;grid-row:1/3;display:flex;gap:5px;overflow:auto;align-items:center}.connection-terminal-row{flex-shrink:0;margin:0}.terminal-list-hint{display:none}}
.terminal-layout-wrap{position:relative}.terminal-layout-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:220px;padding:6px;border:1px solid #40516a;border-radius:9px;background:#111d2b;box-shadow:0 14px 45px #0009}.terminal-head .terminal-layout-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:11px}.terminal-layout-menu button:hover{background:#263a52}.terminal-layout-menu [aria-checked=true]{color:var(--accent)}.terminal-layout-menu [aria-checked=true]::before{content:'✓ '}.terminal-head .actions{overflow:visible}@media(max-width:520px){#panel-terminal .terminal-head .actions .terminal-layout-menu button{display:block}.terminal-layout-menu{right:auto;left:0;min-width:200px}}
.connection-terminal-row.archived .terminal-select{color:var(--muted);font-style:italic}
.instance-terminal-count{display:inline-block;min-width:17px;margin-left:9px;padding:1px 5px;border-radius:9px;background:#243246;color:var(--muted);font-size:10px}.terminal-split-group{position:relative;margin-left:9px;padding-left:7px;border-left:1px solid #526377}.terminal-split-group>.connection-terminal-row{position:relative}.terminal-split-group>.connection-terminal-row::before{content:'';position:absolute;left:-8px;top:50%;width:7px;border-top:1px solid #526377}.terminal-split-group::before,.terminal-split-group::after{content:'';position:absolute;left:-2px;width:3px;background:#0d1520;height:16px}.terminal-split-group::before{top:0}.terminal-split-group::after{bottom:0}.terminal-row-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-width:15px;font:14px ui-monospace,monospace;color:#b5c7dc}.terminal-row-actions{display:flex;align-items:center;opacity:0;pointer-events:none;flex-shrink:0}.connection-terminal-row:hover .terminal-row-actions,.connection-terminal-row:focus-within .terminal-row-actions{opacity:1;pointer-events:auto}.connection-terminal-row .terminal-row-actions button{display:flex;align-items:center;justify-content:center;padding:5px 3px;font-size:14px}.terminal-select{font-size:11px!important}.terminal-context-menu{position:fixed;z-index:100;width:285px;padding:6px;border:1px solid #40516a;border-radius:7px;background:#111d2b;box-shadow:0 15px 50px #0009}.terminal-context-menu button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:10px 11px;border:0;border-radius:4px;background:transparent;text-align:left;font-size:12px}.terminal-context-menu button:hover,.terminal-context-menu button:focus{background:#263a52}.terminal-context-menu small{color:var(--muted);font-size:10px}.terminal-context-menu hr{margin:5px 0}.terminal-context-menu [aria-checked=true]::before{content:'✓'}.terminal-surface{height:100%;min-height:0;width:100%}.terminal-instance.content-width{overflow-x:auto}.connection-terminals{width:215px}@media(hover:none){.terminal-row-actions{opacity:1;pointer-events:auto}}@media(max-width:1000px){.connection-terminals{width:190px}}@media(max-width:650px){.connection-terminals{width:100%;max-height:160px}.terminal-split-group,.terminal-single-group{flex-shrink:0}.terminal-context-menu{width:min(285px,calc(100vw - 16px))}}
.terminal-instance.content-width{overflow-x:scroll}
.terminal-context-menu{max-height:calc(100dvh - 16px);overflow-y:auto}
/* The navigation rail replaces the header and the permanent host sidebar. */
body.app-shell{--rail-width:64px;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 18px;height:100dvh;min-height:0;overflow:hidden}.app-rail{grid-column:1;grid-row:1/-1;display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:max(12px,env(safe-area-inset-top)) 5px max(8px,env(safe-area-inset-bottom));border-right:1px solid var(--line);background:#0d1520;min-height:0;overflow:auto;z-index:45}.rail-brand{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;align-self:center;border-radius:10px;background:#17392f;color:var(--accent);text-decoration:none;font:23px ui-monospace,monospace}.rail-nav{display:flex;flex-direction:column;gap:5px}.rail-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:52px;width:100%;padding:7px 2px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.rail-button:hover{background:#1d2b3e;color:var(--text)}.rail-button.selected,.rail-button[aria-expanded=true]{background:#17352e;color:var(--accent)}.rail-icon{display:flex;align-items:center;justify-content:center;width:23px;height:23px;font:20px ui-monospace,monospace;flex-shrink:0}.rail-caption{font-size:9px;line-height:1.1}.rail-divider{height:1px;margin:7px;background:var(--line)}.rail-account{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:8px;padding-top:12px}.rail-account #account-label{display:block;width:100%;font-size:9px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--accent)}.rail-account #account-label:empty{display:none}.app-shell>#notice{grid-column:2;grid-row:1;min-width:0;max-height:25dvh;overflow:auto}.app-shell>#notice:empty{display:none}.app-shell>.workspace,.app-shell>.auth-layout{grid-column:2;grid-row:2;min-width:0;min-height:0;height:100%;width:100%;margin:0}.app-shell>.workspace{position:relative}.app-shell>.auth-layout{max-width:1120px;justify-self:center;align-content:safe center;overflow:auto;padding:32px;gap:60px}.app-shell>footer{grid-column:2;grid-row:3;height:18px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 8px;font-size:8px}.workspace>.hosts-drawer{position:absolute;inset:0 auto 0 0;width:230px;max-width:calc(100% - 20px);padding:20px 14px;gap:16px;box-shadow:16px 0 35px #0006;z-index:40}.hosts-drawer .sidebar-head{flex-direction:row;align-items:center}.hosts-drawer .sidebar-head button{font-size:20px;line-height:1;padding:4px 7px;background:transparent;border:0}.hosts-drawer .host-list{display:flex;max-height:none;flex:1;overflow:auto}.hosts-drawer .sidebar-foot{display:block}.app-shell .content{min-height:0}.app-shell .tab-list{min-height:40px}.app-shell .tab-list button{padding:11px 14px}@media(max-width:800px){.app-shell>.auth-layout{max-width:520px;grid-template-columns:1fr;align-content:start;padding:25px 20px;gap:25px}}@media(max-width:520px){body.app-shell{--rail-width:52px}.app-rail{padding-left:3px;padding-right:3px;gap:14px}.rail-brand{width:35px;height:35px;font-size:21px}.rail-button{min-height:48px;gap:4px}.rail-caption{font-size:8px}.rail-icon{width:21px;height:21px;font-size:18px}.app-shell>.auth-layout{padding:20px 14px}.workspace>.hosts-drawer{width:220px}.app-shell>#notice:not(:empty){padding:10px 12px;font-size:12px}.app-shell>footer{font-size:7px}.app-shell .tab-list button{padding:11px 10px}}@media(max-height:600px){.app-rail{gap:8px}.rail-nav{gap:1px}.rail-button{min-height:40px;gap:2px;padding:4px 2px}.rail-account{padding-top:4px}.rail-brand{height:32px;width:32px;font-size:19px}}
.rail-icon{white-space:nowrap}.rail-brand .shai-mark{width:31px;height:31px;flex-shrink:0}
/* File workbench and console dock. */
.remote-workbench{display:flex;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.remote-workbench-main{display:flex;flex:1;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.console-dock{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.console-tabbar{display:flex;align-items:center;flex-shrink:0;min-height:34px;border-block:1px solid var(--line);background:#0d1520;gap:3px;padding:0 8px}.console-tabbar button{border:0;border-radius:0;background:transparent;padding:10px 9px;font-size:11px;color:var(--muted);white-space:nowrap}.console-tabbar button.selected{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.console-tabbar .console-maximize{margin-left:auto;font-size:17px;padding:5px 9px}.panel-count{font-size:9px;min-width:15px;padding:1px 5px;background:#243246;border-radius:9px}.console-view{flex:1;min-height:0;min-width:0;overflow:auto}.console-terminal{display:flex;flex-direction:column;overflow:hidden}.console-terminal .terminal-stage{flex:1;min-height:0}.console-terminal .terminal-head{flex-shrink:0}.diagnostic-view,.ports-view{padding:12px 16px;background:var(--bg)}.diagnostic-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px;padding-bottom:10px;border-bottom:1px solid var(--line)}.diagnostic-heading button{font-size:10px;padding:6px 9px}.diagnostic-list{font:12px/1.7 ui-monospace,monospace;padding:10px 0;color:var(--muted)}.diagnostic-row{display:flex;gap:14px;padding:7px 0;border-bottom:1px solid #24324655;align-items:baseline;overflow-wrap:anywhere}.diagnostic-row time{color:#718399;flex-shrink:0}.diagnostic-row.error{color:var(--danger)}.diagnostic-row button{margin-left:auto;padding:5px 7px;font:10px system-ui;flex-shrink:0}.remote-status{flex-shrink:0;margin:0;padding:0 12px;font-size:11px;color:var(--muted);max-height:70px;overflow:auto}.remote-status:not(:empty){padding:6px 12px;border-top:1px solid var(--line)}.file-explorer{width:var(--explorer-width,235px);min-width:0;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:#0d1520;padding:8px;border-right:1px solid var(--line)}.explorer-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px;padding:0 4px}.explorer-heading button{padding:3px 6px;background:transparent;border:0;font-size:20px}.remote-host-label{padding:9px 4px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.folder-path-label{font-size:10px;margin:6px 0;color:var(--muted)}.file-explorer input{font-size:11px;padding:7px;margin-top:0}.explorer-actions{display:flex;flex-wrap:wrap;gap:4px;padding:8px 0}.explorer-actions button{font-size:10px;padding:6px}#file-tree{flex:1;overflow:auto;font-size:11px;min-height:0;padding:6px 0;color:var(--muted)}.remote-tree-row{display:block;text-align:left;width:100%;border:0;border-radius:3px;padding:5px 4px;font:12px/1.4 ui-monospace,monospace;background:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remote-tree-row:hover{background:#17352e;color:var(--accent)}.remote-editor-area{flex:1;min-height:100px;display:flex;flex-direction:column;overflow:hidden}.remote-file-tabs{display:flex;min-height:34px;overflow:auto;background:#0d1520;border-bottom:1px solid var(--line)}.remote-file-tab{display:flex;flex-shrink:0;align-items:center;border-right:1px solid var(--line)}.remote-file-tab button{background:transparent;border:0;border-radius:0;font-size:11px;padding:9px 10px}.remote-file-tab button.selected{color:var(--accent)}.remote-file-tab .file-tab-close{padding:8px;color:var(--muted)}.remote-editor-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-shrink:0;padding:6px 12px;border-bottom:1px solid var(--line);font-size:10px}.remote-editor-toolbar>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.remote-editor-toolbar button{font-size:10px;padding:5px 8px}.remote-text-editor{display:flex;flex:1;min-height:0;overflow:hidden}.remote-text-editor pre{margin:0;padding:12px 8px 12px 12px;min-width:40px;overflow:hidden;text-align:right;user-select:none;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;color:#61748d;background:#0d1520}.remote-text-editor textarea{margin:0;flex:1;min-width:0;resize:none;border:0;border-radius:0;outline:none;padding:12px;font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4;white-space:pre;overflow:auto;background:var(--bg)}.remote-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 10px;font-size:9px;color:var(--muted);border-top:1px solid var(--line)}.has-editor>.console-dock{flex:0 0 var(--console-size,45%);min-height:130px}.console-maximized>.remote-editor-area,.console-maximized>#editor-console-divider{display:none!important}.console-maximized>.console-dock{flex:1}.workbench-divider{flex:0 0 6px;background:#172437;touch-action:none;z-index:3}.workbench-divider:hover,.workbench-divider:focus,.workbench-divider.resizing{background:var(--accent)}.terminal-list-divider,.explorer-divider{cursor:col-resize}.editor-console-divider{cursor:row-resize;min-height:6px}.terminal-stage>.connection-terminals{width:var(--terminals-width,215px);max-width:none}.ports-table-wrap{overflow:auto}.ports-table{width:100%;border-collapse:collapse;font-size:11px;text-align:left}.ports-table th,.ports-table td{padding:9px;border-bottom:1px solid var(--line);white-space:nowrap}.ports-table th{color:var(--muted);font-weight:500}.ports-table button{font-size:10px;padding:5px 8px}.port-inspector-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.port-inspector-controls label{font-size:10px;margin:12px 0;min-width:80px;flex:1}.port-inspector-controls label:nth-last-of-type(2){max-width:110px}.port-inspector-controls input,.port-inspector-controls select{font-size:11px;padding:7px}.port-inspector-controls>button{font-size:11px;margin-bottom:12px}.port-response{font:12px/1.6 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:65dvh;overflow:auto}.theme-toggle{margin-top:auto}.rail-account{margin-top:0}.app-rail{gap:10px}@media(max-width:800px){.file-explorer{position:absolute;inset:0 auto 0 0;width:min(280px,calc(100% - 30px));z-index:20;box-shadow:15px 0 35px #0007}.explorer-divider{display:none}.console-tabbar{padding:0 3px;overflow-x:auto}.console-tabbar button{padding:10px 7px;font-size:10px}.diagnostic-row{flex-wrap:wrap;gap:4px 9px}}@media(max-width:650px){.terminal-list-divider{cursor:row-resize;min-height:6px}.terminal-stage>.connection-terminals{width:100%;height:var(--terminals-height,84px);max-height:var(--terminals-height,84px);flex-shrink:0}.console-tabbar .console-maximize{display:none}.diagnostic-view,.ports-view{padding:8px}.port-inspector-controls{gap:6px}.remote-text-editor textarea,.remote-text-editor pre{font-size:12px}}
/* Light surfaces cover the terminal, editor, menus and authentication views. */
:root[data-theme=light]{color-scheme:light;--bg:#f5f7fb;--panel:#ffffff;--line:#d4dce6;--muted:#596a7c;--text:#172536;--accent:#087f68;--danger:#b32744;background:var(--bg);color:var(--text)}[data-theme=light] body{background:var(--bg);color:var(--text)}[data-theme=light] button{background:#edf1f7;color:var(--text)}[data-theme=light] button:hover{background:#dfe8f2}[data-theme=light] button.primary{background:var(--accent);color:white}[data-theme=light] button.danger{color:var(--danger)}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{background:#fff;color:var(--text);border-color:var(--line)}[data-theme=light] .app-rail,[data-theme=light] .sidebar,[data-theme=light] .tab-list,[data-theme=light] .connection-terminals,[data-theme=light] .file-explorer,[data-theme=light] .remote-file-tabs,[data-theme=light] .console-tabbar,[data-theme=light] .touchbar,[data-theme=light] .remote-text-editor pre{background:#edf1f7}[data-theme=light] .terminal-area,[data-theme=light] .terminal-instance,[data-theme=light] .remote-text-editor textarea,[data-theme=light] .popout-body #popout-terminal{background:#fff}[data-theme=light] .auth-card{background:linear-gradient(145deg,#fff,#edf4f8);box-shadow:0 20px 70px #263a5210;border-color:var(--line)}[data-theme=light] .intro>p,[data-theme=light] label{color:var(--muted)}[data-theme=light] .rail-brand{background:#d9efe8}[data-theme=light] .rail-button{background:transparent;color:var(--muted)}[data-theme=light] .rail-button.selected,[data-theme=light] .rail-button[aria-expanded=true],[data-theme=light] .tab-list button.active,[data-theme=light] .connection-terminal-row.selected,[data-theme=light] .remote-tree-row:hover{background:#d9efe8;color:var(--accent)}[data-theme=light] .tab-list button,[data-theme=light] .connection-terminal-row button,[data-theme=light] .remote-file-tab button,[data-theme=light] .console-tabbar button{background:transparent}[data-theme=light] .tab-list button.active{background:#d9efe8}[data-theme=light] dialog,[data-theme=light] .terminal-context-menu,[data-theme=light] .terminal-layout-menu{background:#fff;color:var(--text);border-color:var(--line)}[data-theme=light] .terminal-context-menu button,[data-theme=light] .terminal-layout-menu button{background:transparent}[data-theme=light] .terminal-context-menu button:hover,[data-theme=light] .terminal-layout-menu button:hover{background:#edf1f7}[data-theme=light] .terminal-split-group::before,[data-theme=light] .terminal-split-group::after{background:#edf1f7}[data-theme=light] .panel-count,[data-theme=light] .instance-terminal-count{background:#dce3ed;color:#46596e}[data-theme=light] .workbench-divider,[data-theme=light] .pane-divider{background:#d4dce6}[data-theme=light] .workbench-divider:hover,[data-theme=light] .pane-divider:hover{background:var(--accent)}[data-theme=light] #notice:not(:empty){background:#ffefed;color:#8f2e2e;border-color:#efc7c3}[data-theme=light] .hostkey-panel{background:#fff2ce;border-color:#c6a257}[data-theme=light] .terminal-row-icon{color:#46596e}
.privacy-covered::after{content:'SHAI · Private workspace';position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:var(--bg);color:var(--muted);font:14px system-ui;pointer-events:all}@media(pointer:coarse){.workbench-divider{flex-basis:10px}.editor-console-divider{min-height:10px}}
body.app-shell{grid-template-rows:auto minmax(0,1fr) 25px}.app-shell>.app-statusbar{height:25px;display:flex;justify-content:flex-start;gap:18px;padding:0 12px;background:#11271f;color:var(--accent);font:10px ui-monospace,monospace}.app-statusbar #status-connection{margin-left:auto}.app-statusbar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-statusbar #status-tmux{color:var(--muted)}[data-theme=light] .app-statusbar{background:#d9efe8}@media(max-width:650px){.app-shell>.app-statusbar{gap:8px;padding:0 7px;font-size:8px}.app-statusbar #status-size{display:none}.app-statusbar #status-tmux{max-width:85px}}
.preview-body{display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden}.preview-toolbar{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:12px}.preview-toolbar #preview-address{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.preview-toolbar button{font-size:11px;padding:6px 9px}.preview-body>iframe{flex:1;min-height:0;width:100%;border:0;background:white}.preview-body>#preview-status{margin:0;padding:0 14px;font-size:12px;color:var(--muted)}.preview-body>#preview-status:not(:empty){padding:8px 14px}@media(max-width:650px){.preview-toolbar{flex-wrap:wrap;gap:7px}.preview-toolbar #preview-address{flex-basis:65%}.preview-toolbar button{font-size:10px}}

.preview-idle-note{padding:5px 14px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line)}
/* The opaque overlay replaces static pixels without modifying terminal output. */
.idle-screensaver{outline:0;position:fixed;inset:0;z-index:9999;overflow:hidden;background:#000;color:#70817e;cursor:none;touch-action:none;user-select:none}
.screensaver-mark{position:absolute;top:0;left:0;width:180px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;will-change:transform;animation:screensaver-drift 127s linear infinite;color:#74998d}
.screensaver-mark svg{width:54px;height:54px;opacity:.68}
.screensaver-name{font:500 10px/1.2 system-ui,sans-serif;letter-spacing:.38em;padding-left:.38em;color:#65736f}
.screensaver-hint{margin-top:7px;font:400 10px/1.4 system-ui,sans-serif;letter-spacing:.025em;color:#414b49}
@keyframes screensaver-drift{0%,100%{transform:translate(calc((100vw - 180px)*.12),calc((100dvh - 150px)*.15))}25%{transform:translate(calc((100vw - 180px)*.76),calc((100dvh - 150px)*.28))}50%{transform:translate(calc((100vw - 180px)*.64),calc((100dvh - 150px)*.82))}75%{transform:translate(calc((100vw - 180px)*.18),calc((100dvh - 150px)*.67))}}
.privacy-covered .screensaver-mark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.screensaver-mark{animation-duration:381s}}
.forward-toasts{position:fixed;right:18px;bottom:40px;z-index:9000;display:flex;flex-direction:column;gap:8px;max-width:min(460px,calc(100vw - 36px))}.forward-toast{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 6px 24px #0005;border-radius:8px;font-size:12px}.forward-toast span{flex:1;overflow-wrap:anywhere}.forward-toast button{font-size:12px;padding:6px 9px;white-space:nowrap}.privacy-covered .forward-toasts{visibility:hidden}
.diagnostic-heading .checkbox{margin:0;font-size:12px;white-space:nowrap}
.diagnostic-heading{flex-wrap:wrap}
.files-status{margin:5px 0;padding:6px 4px;font-size:11px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
:root{--syntax-keyword:#c792ea;--syntax-string:#b5d68b;--syntax-number:#f2b87e;--syntax-comment:#71849a;--syntax-type:#82cde0;--syntax-function:#82b4f0;--editor-selection:#29473f;--editor-active-line:#ffffff06}
[data-theme=light]{--syntax-keyword:#8a37a8;--syntax-string:#347b29;--syntax-number:#a25c16;--syntax-comment:#738174;--syntax-type:#116c86;--syntax-function:#2854a0;--editor-selection:#c5e9de;--editor-active-line:#00000005}
.code-editor{flex:1;min-height:0;overflow:hidden}.editor-language-label{margin:0;padding:5px 12px;display:flex;align-items:center;gap:8px;font-size:11px}.editor-language-label select{width:auto;margin:0;padding:3px 6px;font-size:11px}.cm-search input,.cm-search button{display:inline-block;width:auto;padding:4px 6px;font-size:11px}.image-viewer{display:flex;flex-direction:column;flex:1;min-height:0}.image-viewer-actions{display:flex;gap:6px;align-items:center;padding:6px 12px;border-bottom:1px solid var(--line)}.image-viewer-actions button{padding:4px 8px;font-size:11px}.image-viewer-actions span{font-size:11px;color:var(--muted);margin-left:8px}.image-canvas{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#87939812 0% 25%,transparent 0% 50%) 50%/20px 20px;padding:12px}.image-canvas img{flex-shrink:0;object-fit:contain}.files-status.loading{color:var(--text)}.files-status.loading::before{content:'';display:inline-block;width:11px;height:11px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;margin-right:7px;vertical-align:-2px;animation:folder-spin .8s linear infinite}.file-explorer.is-loading #file-tree{opacity:.45;pointer-events:none}@keyframes folder-spin{to{transform:rotate(360deg)}}
.file-context-menu{position:fixed;z-index:9500;display:flex;flex-direction:column;min-width:230px;max-height:calc(100dvh - 16px);overflow:auto;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:7px;box-shadow:0 8px 32px #0005}.file-context-menu button{border:0;border-radius:3px;background:transparent;text-align:left;font-size:12px;padding:7px 12px;white-space:nowrap}.file-context-menu button:hover{background:var(--editor-selection)}.file-context-menu hr{margin:4px 0}.shell-drop-target::after{content:'Upload file / insert remote path';position:absolute;inset:8px;z-index:30;display:grid;place-items:center;background:color-mix(in srgb,var(--panel) 90%,transparent);border:2px dashed var(--accent);pointer-events:none}.file-drop-target{outline:2px dashed var(--accent)!important;background:var(--editor-selection)!important}.transfer-toast{flex-wrap:wrap}.transfer-toast progress{flex-basis:100%;height:5px;accent-color:var(--accent)}.remote-file-dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;width:min(1000px,90vw);max-height:85dvh}.remote-file-dialog>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.remote-file-dialog>button{display:block;text-align:left;width:100%;font:12px monospace;margin:4px 0}.file-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-compare pre{overflow:auto;max-height:65dvh;padding:12px;background:var(--bg);font:12px/1.7 monospace}.remote-editor-area{position:relative}.remote-editor-area.has-side>:not(.remote-editor-side){max-width:55%}.remote-editor-side{position:absolute;right:0;top:0;bottom:0;width:45%;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--bg);overflow:auto}.remote-editor-side>div:first-child{padding:6px 10px;font-size:11px;display:flex;align-items:center;justify-content:space-between}.remote-editor-side>img{max-width:100%;object-fit:contain;flex:1;min-height:0}.side-code-editor{flex:1;min-height:0}.remote-editor-side>pre{font:12px/1.7 monospace;white-space:pre;overflow:auto}
#popout-terminal{position:relative;overflow:auto}.popout-terminal-surface{height:100%;min-width:100%;width:100%}

.workspace-folder-dialog{width:min(560px,calc(100vw - 32px));padding:26px;border-radius:16px}.workspace-folder-dialog h2{margin:7px 0}.folder-picker-tree{height:300px;max-height:40dvh;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:6px;margin-top:18px}.folder-picker-row{display:flex;align-items:center;min-width:max-content}.folder-picker-row button{border:0;background:transparent;border-radius:5px;padding:8px;color:var(--text);text-align:left}.folder-picker-row button:hover{background:var(--editor-selection)}.folder-picker-expand{width:30px;flex:none}.folder-picker-name{flex:1;font-size:13px}.folder-picker-name::before{content:'▱';margin-right:9px;color:var(--accent)}.folder-picker-name[aria-pressed=true]{background:var(--editor-selection);color:var(--accent)}.folder-picker-empty{font-size:12px;color:var(--muted);padding-left:35px}.folder-picker-selection{display:flex;flex-direction:column;gap:5px;padding:12px 0;font-size:12px}.folder-picker-selection strong{overflow-wrap:anywhere;font-weight:500}.workspace-remember{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;margin:0 0 16px;border-top:1px solid var(--line)}.workspace-remember>span:first-child{display:flex;flex-direction:column;gap:5px}.workspace-remember strong{font-size:13px;font-weight:500;color:var(--text)}.workspace-remember small{font-size:12px;color:var(--muted)}.workspace-remember input{position:absolute;right:0;width:42px;height:26px;opacity:0;margin:0;cursor:pointer}.workspace-switch{width:42px;height:24px;flex:none;border:1px solid var(--line);background:var(--bg);border-radius:20px;pointer-events:none;transition:background .15s}.workspace-switch::after{content:'';display:block;width:16px;height:16px;margin:3px;border-radius:50%;background:var(--muted);transition:transform .15s}.workspace-remember input:checked+.workspace-switch{background:var(--accent)}.workspace-remember input:checked+.workspace-switch::after{transform:translateX(18px);background:var(--bg)}.workspace-remember input:focus-visible+.workspace-switch{outline:2px solid var(--accent);outline-offset:3px}.workspace-folder-dialog .actions{justify-content:flex-end}#workspace-folder-status{min-height:18px;font-size:12px;margin:8px 0 0}
.folder-browser-navigation{display:flex;gap:8px;align-items:center;margin-top:18px}.folder-browser-navigation>button{padding:6px 12px}.folder-browser-navigation nav{display:flex;align-items:center;gap:3px;overflow:auto;white-space:nowrap}.folder-browser-navigation nav button{border:0;background:transparent;font-size:12px;padding:7px 5px}.folder-browser-navigation nav button+button::before{content:'›';color:var(--muted);margin-right:9px}.folder-browser-navigation nav button:disabled{opacity:1;color:var(--text)}.folder-browser-list{margin-top:10px;position:relative;display:flex;flex-direction:column;gap:2px}.folder-browser-item{position:relative;display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:5px;padding:10px 12px;font-size:13px;flex-shrink:0}.folder-browser-item::before{content:'▱';color:var(--accent);margin-right:10px}.folder-browser-item:hover,.folder-browser-item[aria-pressed=true]{background:var(--editor-selection)}.folder-access-denied{opacity:.45}.folder-access-denied::after{content:' 🔒';float:right}.folder-browser-item.checking::after,.folder-browser-loading::after{content:'';width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:folder-spin .8s linear infinite;position:absolute;right:14px;top:12px}.folder-browser-loading>.folder-browser-item{opacity:.5;pointer-events:none}.folder-browser-list .folder-picker-empty{margin:auto;padding:24px}.folder-browser-list[aria-busy=true]{min-height:180px}
.folder-browser-home{border-bottom:1px solid var(--line);border-radius:5px 5px 0 0;margin-bottom:4px}.folder-browser-home::before{content:'⌂'}.folder-browser-navigation nav button[aria-current=location]{color:var(--accent)}#recovery-options{margin-top:14px}#recovery-options summary{cursor:pointer;color:var(--muted);font-size:13px}
.remote-status.file-opening::before{content:'';display:inline-block;width:10px;height:10px;margin-right:7px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;vertical-align:middle;animation:folder-spin .8s linear infinite}
.remote-tree-row.folder-row-loading{opacity:1;cursor:progress;color:var(--muted)}.remote-tree-row.folder-row-loading::after{content:'';display:inline-block;vertical-align:middle;margin-left:9px;width:10px;height:10px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:folder-spin .8s linear infinite}
.app-confirm-dialog{width:min(460px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);padding:26px;box-shadow:0 20px 80px #0006}.app-confirm-dialog h2{margin:8px 0 14px}.app-confirm-dialog p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.app-confirm-dialog .actions{justify-content:flex-end;margin-top:24px}.app-confirm-dialog::backdrop{background:#020609b3;backdrop-filter:blur(4px)}.app-confirm-dialog button.danger{background:#a52c3c;border-color:#d05060;color:white}.app-confirm-dialog button.danger:hover{background:#8f2332;color:white}
.image-canvas{align-items:normal;justify-content:normal;cursor:grab;overscroll-behavior:contain}.image-canvas img{margin:auto;user-select:none;-webkit-user-drag:none}.image-canvas.image-panning{cursor:grabbing}
.remote-tree-row.file-selected{background:var(--editor-selection);color:var(--text)}
.primary-file-editor{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden}.remote-editor-area.file-editors-split{flex-direction:row;gap:1px}.remote-editor-area.file-editors-split[data-file-direction=rows]{flex-direction:column}.file-split-pane{flex:1;min-width:0;min-height:0;border-left:1px solid var(--line);overflow:hidden}.file-editor-view{display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.file-view-header{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:7px;border-bottom:1px solid var(--line);flex:none}.file-view-header>span{width:100%;font:11px monospace;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-view-header button{font-size:11px;padding:4px 7px}.file-view-content{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.file-view-content>.cm-editor{flex:1;min-height:0}.file-view-fallback{flex:1;width:100%;margin:0;resize:none;font:13px/1.7 monospace;white-space:pre;overflow:auto;border:0;border-radius:0}.file-view-content>.image-canvas{flex:1;min-height:0}.file-view-status{font-size:11px;padding:6px 9px;flex:none;color:var(--muted);border-top:1px solid var(--line)}.file-popout-page{display:block;margin:0;height:100dvh;overflow:hidden}#file-popout-host{height:100%;width:100%;display:flex;flex-direction:column}.file-popout-page.privacy-covered #file-popout-host{visibility:hidden}.file-split-pane[hidden],.primary-file-editor[hidden]{display:none!important}@media(max-width:650px){.remote-editor-area.file-editors-split{flex-direction:column}.remote-editor-toolbar .actions{flex-wrap:wrap}}
.app-confirm-dialog{max-height:90dvh}.app-confirm-dialog p{max-height:45dvh;overflow:auto}#file-popout-host{flex-direction:row}#file-popout-host[data-file-direction=rows]{flex-direction:column}.file-popout-page .file-split-pane{height:100%}@media(max-width:650px){#file-popout-host{flex-direction:column}}
.remote-editor-toolbar{flex-wrap:wrap}.remote-editor-toolbar .actions{flex-wrap:wrap;gap:4px}.remote-editor-toolbar>span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-editor-group{display:flex;flex-direction:column}.file-group-body{display:flex;flex:1;min-height:0;min-width:0}.file-group-document{flex:1;min-width:0;min-height:0;overflow:hidden}.file-group-document[hidden]{display:none!important}.file-editor-group>.remote-file-tabs{flex:none;min-height:32px;border-bottom:1px solid var(--line);overflow:auto}.file-group-focused{box-shadow:inset 0 2px var(--accent)}
.markdown-view-controls{display:flex;gap:3px;padding:6px 12px;border-bottom:1px solid var(--line)}.markdown-view-controls button{padding:5px 12px;font-size:12px}.markdown-view-controls button[aria-pressed=true],.file-view-header button[aria-pressed=true]{background:var(--editor-selection);color:var(--accent)}.markdown-content{flex:1;min-height:0;overflow:auto;padding:24px 30px;color:var(--text);background:var(--bg);font:15px/1.7 system-ui,sans-serif;overflow-wrap:anywhere}.markdown-content>:first-child{margin-top:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{line-height:1.3;margin:1.3em 0 .65em;font-weight:650}.markdown-content h1{font-size:2em}.markdown-content h2{font-size:1.5em}.markdown-content h1,.markdown-content h2{padding-bottom:.3em;border-bottom:1px solid var(--line)}.markdown-content p{margin:.8em 0}.markdown-content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.markdown-content pre{padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:auto;font:12px/1.7 ui-monospace,monospace;white-space:pre;overflow-wrap:normal}.markdown-content code{font: .88em ui-monospace,monospace;background:var(--panel);padding:2px 5px;border-radius:4px}.markdown-content pre code{padding:0;background:transparent}.markdown-content ul,.markdown-content ol{padding-left:1.8em}.markdown-content li{margin:.3em 0}.markdown-content li p{margin:.3em 0}.markdown-content blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--accent);color:var(--muted)}.markdown-content table{border-collapse:collapse;display:block;max-width:100%;overflow:auto;margin:1em 0}.markdown-content th,.markdown-content td{padding:8px 13px;border:1px solid var(--line);text-align:left}.markdown-content th,.markdown-content tbody tr:nth-child(even){background:var(--panel)}.markdown-content input[type=checkbox]{width:auto;margin:0 7px 0 0;vertical-align:middle}.markdown-content img{max-width:100%;height:auto;border-radius:5px}.markdown-content hr{border:0;border-top:1px solid var(--line);margin:1.5em 0}.file-view-content>.markdown-content{width:100%}@media(max-width:650px){.markdown-content{padding:16px;font-size:14px}}
.markdown-content em{font-style:italic;color:inherit}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{max-width:none;letter-spacing:normal}.markdown-content input[type=checkbox]{display:inline-block;padding:0;min-height:0}

.document-preview{overflow:auto;min-height:0;flex:1;padding:16px;background:var(--panel);color:var(--text)}.document-preview canvas{display:block;max-width:100%;margin:auto;background:white}.document-page-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;position:sticky;top:0;background:var(--panel);padding:8px}.document-preview-note{opacity:.7;font-size:12px}.file-view-header.remote-editor-toolbar>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-view-header.remote-editor-toolbar .actions{display:flex;gap:4px;flex-wrap:wrap}

.remote-file-tabs{position:relative;flex-shrink:0}.remote-file-tabs .open-files-toggle{position:sticky;right:0;margin-left:auto;flex-shrink:0;background:var(--panel);border-left:1px solid var(--line);min-width:30px}[data-file-drop=center]{box-shadow:inset 0 0 0 2px var(--accent)}[data-file-drop=tab]{outline:2px solid var(--accent)}#explorer-search{margin:4px 8px;width:calc(100% - 16px);font-size:12px}

.file-view-header.remote-editor-toolbar{flex-wrap:nowrap;padding:7px 10px;gap:8px}.file-view-header.remote-editor-toolbar>span{width:auto}.file-view-header.remote-editor-toolbar button{padding:5px 8px;font-size:10px}.file-view-header.remote-editor-toolbar .actions{justify-content:flex-end}.file-editor-view>.image-viewer-actions{flex:none}

.file-selection-count{display:block;padding:4px 10px;color:var(--accent);font-size:11px}.remote-tree-row.file-selected{background:var(--editor-selection,#17443c);color:var(--text);box-shadow:inset 2px 0 var(--accent)}

#config-editor{display:block;width:100%;height:clamp(320px,55dvh,760px);min-height:240px;resize:vertical;overflow:auto;white-space:pre;font:13px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:4}

.host-list>button:hover,.host-list>button:focus-visible{background:var(--editor-selection,#17352e);border-left-color:var(--accent);color:var(--accent)}.host-editor-dialog{width:min(760px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.host-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.host-editor-fields label{margin:9px 0}.host-editor-wide{grid-column:1/-1}.host-block-source{min-height:240px;max-height:50dvh;resize:vertical;overflow:auto;font:12px/1.7 ui-monospace,monospace}.host-editor-dialog details{margin:14px 0}.host-editor-dialog details summary{font-size:12px}@media(max-width:600px){.host-editor-fields{grid-template-columns:1fr}}

*{scrollbar-width:thin;scrollbar-color:#526071 transparent}*::-webkit-scrollbar{width:6px;height:5px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#526071;border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:#7b8a9b}*::-webkit-scrollbar-button{display:none;width:0;height:0}*::-webkit-scrollbar-corner{background:transparent}.file-tab-pinned{border-top:2px solid var(--accent)}

.primary-file-editor>.remote-editor-toolbar,.primary-file-editor>.markdown-view-controls,.primary-file-editor>.editor-language-label,.file-editor-view>.remote-editor-toolbar,.file-editor-view>.markdown-view-controls,.file-editor-view>.editor-language-label{display:none!important}.remote-file-tab .file-tab-close{visibility:hidden;pointer-events:none}.remote-file-tab:hover .file-tab-close,.remote-file-tab:focus-within .file-tab-close,.remote-file-tab>button.selected~.file-tab-close{visibility:visible;pointer-events:auto}.remote-file-tab:has(>button.selected){background:var(--panel);box-shadow:inset 0 -2px var(--accent)}.remote-file-tab>button.selected{color:var(--accent)}@media(hover:none){.remote-file-tab .file-tab-close{visibility:visible;pointer-events:auto}}

.remote-tree-row.file-active{background:var(--editor-selection,#17352e);color:var(--accent);box-shadow:inset 2px 0 var(--accent)}.remote-tree-row.file-selected.file-active{outline:1px solid var(--accent);outline-offset:-1px}

.primary-file-editor .image-viewer-actions,.file-editor-view>.image-viewer-actions{display:none!important}

.remote-file-tabs .open-files-toggle{display:flex;align-items:center;justify-content:center;align-self:stretch;width:32px;min-width:32px;border:0;border-left:1px solid var(--line);border-radius:0;padding:0 6px;background:var(--panel);color:var(--muted);box-shadow:-5px 0 8px var(--panel)}.open-files-toggle svg{width:19px;height:19px;flex:none}.remote-file-tabs .open-files-toggle:hover{color:var(--text);background:var(--bg)}.open-files-dialog{position:fixed;inset:clamp(44px,16vh,180px) 0 auto;width:min(620px,calc(100vw - 28px));max-height:72dvh;margin:0 auto;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 24px 80px #0008;overflow:hidden}.open-files-dialog::backdrop{background:#0005;backdrop-filter:blur(2px)}.open-files-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 7px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--muted)}.open-files-heading .open-files-dismiss{border:0;padding:1px 6px;min-height:22px;background:transparent;color:var(--muted);font-size:20px;line-height:1}.open-files-dialog .open-files-search{width:calc(100% - 24px);margin:0 12px 10px;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--bg);font-size:13px}.open-files-results{display:flex;flex-direction:column;gap:3px;max-height:45dvh;overflow:auto;padding:2px 7px 8px}.open-files-results .open-file-option{display:flex;align-items:center;gap:11px;flex:none;width:100%;min-height:54px;text-align:left;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent}.open-files-results .open-file-option.selected{background:var(--editor-selection,#17352e);border-color:var(--line)}.open-file-icon{display:flex;align-items:center;justify-content:center;flex:none;width:31px;height:32px;border:1px solid var(--line);border-radius:5px;color:var(--accent);font:9px ui-monospace,monospace}.open-file-labels{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.open-file-labels strong{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-file-labels>span{font:11px ui-monospace,monospace;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-file-state{flex:none;font-size:10px;color:var(--muted)}.open-files-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 13px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.open-files-empty{padding:14px;font-size:12px;color:var(--muted)}.primary-file-editor,.file-editor-group{position:relative}.primary-file-editor[data-file-drop]::after,.file-editor-group[data-file-drop]::after{position:absolute;z-index:5;pointer-events:none;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid var(--accent);color:var(--text);font-size:12px;border-radius:4px}.primary-file-editor[data-file-drop=left]::after,.file-editor-group[data-file-drop=left]::after{content:'Split left';inset:0 50% 0 0}.primary-file-editor[data-file-drop=right]::after,.file-editor-group[data-file-drop=right]::after{content:'Split right';inset:0 0 0 50%}.primary-file-editor[data-file-drop=top]::after,.file-editor-group[data-file-drop=top]::after{content:'Split above';inset:0 0 50% 0}.primary-file-editor[data-file-drop=bottom]::after,.file-editor-group[data-file-drop=bottom]::after{content:'Split below';inset:50% 0 0 0}@media(max-width:500px){.open-files-footer>span:last-child{display:none}.open-file-state{font-size:9px}}

#console-terminal>.terminal-head{display:none}.explorer-workspace-heading{display:flex;align-items:center;gap:4px;min-height:30px}.explorer-workspace-heading .remote-host-label{flex:1;min-width:0;padding:5px 4px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:4px;background:transparent;color:var(--text);font-size:11px;font-weight:600}.explorer-menu-toggle{display:flex;align-items:center;justify-content:center;padding:3px 5px;border:0;background:transparent;color:var(--muted);opacity:0}.explorer-workspace-heading:hover .explorer-menu-toggle,.explorer-menu-toggle:focus-visible{opacity:1}.file-explorer>.folder-path-label,.file-explorer>#remote-root,.file-explorer>.explorer-actions{display:none}.file-explorer>#explorer-search{margin:5px 0;width:100%}@media(hover:none){.explorer-menu-toggle{opacity:1}}

.explorer-search-wrap{position:relative;margin:5px 0}.explorer-search-wrap #explorer-search{width:100%;margin:0;padding-right:29px;font-size:12px}.explorer-search-wrap #explorer-search::-webkit-search-cancel-button{display:none}.explorer-search-wrap>button{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:23px;height:23px;padding:3px;border:0;background:transparent;color:var(--muted)}.explorer-search-wrap>button:hover{color:var(--text);background:var(--panel)}

.remote-file-tab>button:first-child{display:flex;align-items:center;gap:5px}.file-tab-pin{flex:none;color:var(--accent);transform:rotate(30deg)}.file-tab-pinned{border-top:0}

.terminal-disconnected-icon{display:none;flex:none;color:var(--muted)}.connection-terminal-row.disconnected .terminal-disconnected-icon{display:inline-block}.connection-terminal-row.disconnected .terminal-row-icon,.connection-terminal-row.disconnected .terminal-dot{display:none}.connection-terminal-row.disconnected .terminal-select{opacity:.5}.connection-terminal-row.disconnected:hover .terminal-select,.connection-terminal-row.disconnected:focus-within .terminal-select{opacity:.8}.forward-toast{position:relative;padding-right:35px}.forward-toast .toast-dismiss{position:absolute;right:5px;top:5px;width:22px;height:22px;padding:0;border:0;border-radius:4px;line-height:1;font-size:18px;background:transparent;color:var(--muted)}.forward-toast .toast-dismiss:hover{color:var(--text);background:var(--bg)}.forward-toast .toast-copy-path{display:flex;align-items:center;justify-content:center;align-self:flex-end;width:26px;height:24px;padding:4px;border:0;background:transparent;color:var(--muted)}.forward-toast .toast-copy-path:hover{background:var(--bg);color:var(--text)}.operation-toast{flex-direction:column;align-items:stretch;min-width:260px;gap:7px}.operation-title{font-size:12px}.operation-detail{font-size:11px;color:var(--muted)}.operation-toast progress{width:100%;height:3px}.operation-failed .operation-title{color:var(--danger)}

.remote-file-tab[data-file-drop=tab]{outline:0;box-shadow:inset 2px 0 var(--accent)}.remote-file-tab[data-file-drop=tab-after]{box-shadow:inset -2px 0 var(--accent)}.forward-toasts{max-height:70dvh;overflow:auto}

.unsaved-changes-dialog{width:min(580px,calc(100vw - 28px))}.unsaved-file-list{list-style:none;margin:18px 0;padding:0;max-height:32dvh;overflow:auto;border-block:1px solid var(--line)}.unsaved-file-list li{display:flex;flex-direction:column;gap:5px;padding:12px 3px;border-bottom:1px solid var(--line)}.unsaved-file-list li:last-child{border-bottom:0}.unsaved-file-list strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.unsaved-file-list li>span{font:11px ui-monospace,monospace;color:var(--muted);overflow-wrap:anywhere}.unsaved-changes-dialog .actions{justify-content:flex-end}
/* Consistent compact prompts with anchored action footers. */
.app-confirm-dialog{padding:0;border-radius:12px;width:min(480px,calc(100vw - 32px));box-shadow:0 24px 80px #0007;overflow:auto}.app-confirm-dialog>form{padding:24px 24px 0}.app-confirm-dialog h2{font-size:18px;line-height:1.4;letter-spacing:-.35px;font-weight:600;margin:0 0 16px;overflow-wrap:anywhere}.app-confirm-dialog .eyebrow{display:block;font-size:9px;margin-bottom:10px;letter-spacing:1.4px}.app-confirm-dialog .muted{font-size:13px}.app-confirm-dialog .actions{margin:22px -24px 0;padding:14px 20px;background:color-mix(in srgb,var(--bg) 55%,var(--panel));border-top:1px solid var(--line);gap:8px}.app-confirm-dialog .actions button{font-size:12px;min-height:34px;padding:7px 14px;border-radius:6px}.app-confirm-dialog .actions button:not(.primary):not(.danger){background:transparent;color:var(--muted)}.app-confirm-dialog .dialog-field{font-size:11px;font-weight:500;color:var(--muted);margin:20px 0 0}.app-confirm-dialog .dialog-field input{font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;padding:10px 12px;background:var(--bg);border-color:var(--line);color:var(--text);border-radius:6px;margin-top:8px}.app-confirm-dialog .dialog-field input:focus{outline:1px solid var(--accent);outline-offset:0;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.app-confirm-dialog .dialog-hint{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.5}.unsaved-changes-dialog{width:min(580px,calc(100vw - 28px))}@media(max-width:480px){.app-confirm-dialog>form{padding:20px 18px 0}.app-confirm-dialog .actions{margin-inline:-18px;padding:12px 14px;flex-wrap:wrap}.app-confirm-dialog h2{font-size:17px}}
/* Unsaved changes: one secondary escape route, three stable footer actions. */
.unsaved-changes-dialog{width:min(560px,calc(100vw - 32px));max-width:560px}.unsaved-changes-dialog>form{padding:24px 24px 0}.unsaved-changes-dialog h2{font-size:18px;letter-spacing:-.3px;margin-bottom:8px}.unsaved-changes-dialog .muted{margin:0 0 20px;font-size:12px}.unsaved-changes-dialog .unsaved-file-list{border:1px solid var(--line);border-radius:7px;margin:0 0 16px;padding:0;background:var(--bg)}.unsaved-changes-dialog .unsaved-file-list li{padding:12px 14px;gap:4px}.unsaved-changes-dialog .unsaved-file-list strong{font-size:12px;font-weight:550}.unsaved-changes-dialog .unsaved-file-list li>span{font-size:10px;line-height:1.5}.unsaved-changes-dialog .unsaved-close-saved{display:block;background:transparent;border:0;border-radius:3px;padding:3px 0;margin:0 0 18px;color:var(--muted);font-size:11px;text-align:left;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--muted) 40%,transparent)}.unsaved-changes-dialog .unsaved-close-saved:hover{color:var(--text);text-decoration-color:var(--text)}.unsaved-changes-dialog .actions{flex-wrap:nowrap;gap:8px;margin-top:20px;padding:14px 20px}.unsaved-changes-dialog .actions button{white-space:nowrap;min-width:74px}.unsaved-changes-dialog .actions .danger{background:transparent;border-color:transparent;color:var(--muted);font-weight:400}.unsaved-changes-dialog .actions .danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}@media(max-width:480px){.unsaved-changes-dialog>form{padding:20px 16px 0}.unsaved-changes-dialog .actions{margin-inline:-16px;padding:12px;gap:5px}.unsaved-changes-dialog .actions button{font-size:11px;padding:7px 9px;min-width:0}}
.file-context-menu .has-submenu{display:flex;align-items:center;justify-content:space-between;gap:24px}.file-context-menu .has-submenu::after{content:'';width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg);opacity:.6}.file-context-menu .has-submenu[aria-expanded=true]{background:var(--editor-selection)}.file-context-menu button:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
.host-editor-fields label>small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:7px}.ssm-editor{border-top:1px solid var(--line);padding-top:10px}.ssm-editor>div{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.ssm-editor>div>label:first-child,.ssm-editor .muted{grid-column:1/-1}.ssm-editor .muted{margin:0 0 12px}.host-editor-fields>details{padding:12px 0;font-size:12px}
.settings-nav{width:210px;flex:none;display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);padding:28px 12px;background:var(--panel)}.settings-nav>strong{font-size:17px;font-weight:550;padding:0 10px 18px}.settings-nav>button{background:transparent;border:0;text-align:left;font-size:12px;padding:11px 12px;color:var(--muted)}.settings-nav>button.selected{background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent)}#panel-appearance .theme-toggle{margin:14px 0;display:flex;align-items:center;gap:10px;width:auto}#panel-appearance .theme-toggle .rail-caption{display:inline;font-size:12px}#panel-appearance .theme-toggle .rail-icon{font-size:19px}.app-statusbar .status-keyboard-toggle{margin-left:auto;display:flex;align-items:center;justify-content:center;width:31px;height:22px;border:0;border-radius:3px;padding:2px 6px;background:transparent;color:var(--muted);flex:none}.status-keyboard-toggle .rail-icon{width:18px;height:18px}.app-statusbar .status-keyboard-toggle[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 15%,var(--bg));color:var(--accent)}.new-instance-button{font-size:12px;text-align:left;background:transparent}@media(max-width:650px){.settings-nav{width:145px;padding:20px 7px}.settings-nav>button{font-size:11px;padding:10px 6px}.settings-nav>strong{font-size:15px;padding-inline:6px}}@media(max-width:420px){.settings-nav{width:116px}.settings-nav>button{overflow-wrap:anywhere}}
#panel-appearance .theme-toggle{flex-direction:row;min-height:38px;padding:9px 14px;border:1px solid var(--line);border-radius:6px}
.aws-profile-dialog{width:min(620px,calc(100vw - 28px));max-width:620px}.aws-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.aws-profile-fields label{margin:10px 0;font-size:11px}.aws-profile-fields label:first-child{grid-column:1/-1}.aws-profile-fields input,.aws-profile-fields select{font-size:12px}.aws-profile-dialog .checkbox{font-size:11px;line-height:1.5}.aws-json-advanced{margin:18px 0;font-size:12px}.aws-json-advanced>.code-editor{margin-top:12px}@media(max-width:500px){.aws-profile-fields{grid-template-columns:1fr}.aws-profile-dialog>form{padding-inline:18px}}
/* Connection editor: fixed navigation/footer, one focused section at a time. */
.connection-dialog{width:min(800px,calc(100vw - 32px));max-width:800px;max-height:min(740px,calc(100dvh - 40px));padding:0;overflow:hidden}.connection-dialog>form{padding:0;display:flex;flex-direction:column;max-height:min(740px,calc(100dvh - 40px))}.connection-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 14px;flex:none}.connection-heading h2{margin:0;font-size:19px}.connection-dismiss{background:transparent;border:0;color:var(--muted);padding:0 4px;font-size:24px;line-height:1}.connection-types{display:flex;gap:10px;padding:0 24px 18px;flex:none}.connection-types .connection-type{padding:12px 22px;font-size:12px;color:var(--muted);border:1px solid var(--line);background:transparent}.connection-types .connection-type.selected{background:color-mix(in srgb,var(--accent) 9%,var(--panel));border-color:color-mix(in srgb,var(--accent) 55%,var(--line));color:var(--accent)}.connection-tabs{display:flex;gap:4px;flex:none;padding:0 20px;border-bottom:1px solid var(--line);overflow:auto}.connection-tabs button{font-size:12px;border:0;border-radius:0;background:transparent;padding:11px 13px;color:var(--muted);white-space:nowrap}.connection-tabs button.selected{color:var(--text);box-shadow:inset 0 -2px var(--accent)}.connection-body{padding:20px 24px;overflow:auto;min-height:300px;max-height:52dvh}.connection-grid,.connection-ssm{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.connection-dialog label{font-size:11px;color:var(--muted);margin:0}.connection-dialog input,.connection-dialog select{font-size:13px;padding:10px 12px;margin-top:7px;background:var(--bg);border-color:var(--line)}.connection-wide{grid-column:1/-1}.connection-ssm{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.connection-dialog .muted{font-size:11px;line-height:1.6;margin:16px 0 0}.connection-ssm .muted{margin:0}.connection-body .host-block-source{width:100%;height:260px;max-height:35dvh;resize:vertical;font-size:12px;margin:12px 0 0}.connection-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 50%,var(--panel));flex:none}.connection-dialog .connection-footer .actions{margin:0;padding:0;border:0;background:transparent;flex-wrap:nowrap;margin-left:auto}.connection-dialog .connection-remember{display:flex;gap:9px;align-items:center;font-size:11px}.connection-remember input{width:auto;margin:0}.connection-validation{font-size:11px;color:var(--danger);margin:0;padding:0 24px 12px;flex:none}.connection-validation:empty{display:none}@media(max-width:550px){.connection-dialog,.connection-dialog>form{max-height:calc(100dvh - 24px)}.connection-dialog{width:calc(100vw - 20px)}.connection-heading{padding:18px 18px 12px}.connection-types{padding:0 18px 14px}.connection-types .connection-type{padding:10px 12px;flex:1}.connection-tabs{padding:0 8px}.connection-tabs button{padding:11px 9px;font-size:11px}.connection-body{padding:18px;min-height:260px}.connection-footer{padding:12px 18px;flex-wrap:wrap}.connection-dialog .connection-remember{flex:1}.connection-grid,.connection-ssm{gap:14px 12px}}@media(max-width:370px){.connection-grid,.connection-ssm{grid-template-columns:1fr}.connection-wide{grid-column:auto}}
.connection-dialog .connection-body{flex:1 1 340px;min-height:0;max-height:52dvh}
.app-statusbar .statusbar-button{border:0;border-radius:3px;padding:3px 6px;background:transparent;color:inherit;font:inherit;white-space:nowrap;flex:none}.app-statusbar .statusbar-button:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)}.app-statusbar #status-editor-encoding,.app-statusbar #status-editor-ending{flex:none}.app-statusbar #status-editor-position{min-width:90px;text-align:left}@media(max-width:650px){.app-statusbar.has-editor-status #status-tmux,.app-statusbar.has-editor-status #status-size{display:none}.app-statusbar #status-editor-position{min-width:0}.app-statusbar #status-editor-ending{display:none}.app-statusbar.has-editor-status #status-instance{max-width:80px}}
.file-popout-page{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.file-popout-page #file-popout-host{flex:1;min-height:0;height:auto}.file-popout-statusbar{height:25px;flex:none;justify-content:flex-end;gap:14px;padding:0 12px;background:var(--panel);color:var(--muted);font:10px ui-monospace,monospace}.file-popout-statusbar .statusbar-button{background:transparent;border:0;padding:3px 6px;color:inherit;font:inherit}.file-popout-statusbar .statusbar-button:hover{background:var(--editor-selection)}
.traffic-monitor-dialog{width:min(680px,calc(100vw - 24px));max-width:680px}.traffic-monitor-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.traffic-monitor-cards>div{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--bg)}.traffic-monitor-cards span{font-size:11px;color:var(--muted)}.traffic-monitor-cards strong{font-size:24px;font-weight:550}.traffic-monitor-graph{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:7px;background:var(--bg)}#status-traffic{font-variant-numeric:tabular-nums}@media(max-width:650px){.app-statusbar.has-editor-status #status-connection{display:none}.app-statusbar #status-traffic{max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:8px}.traffic-monitor-cards{gap:8px}.traffic-monitor-cards strong{font-size:19px}}
.connection-import-key{justify-self:start;font-size:11px;padding:7px 11px;margin-top:-6px;background:transparent}.identity-import-dialog{width:min(520px,calc(100vw - 28px));max-width:520px}.identity-import-dialog input[type=file]{font-size:12px}.identity-import-dialog label{font-size:11px}
.traffic-monitor-cards>div:first-child strong{color:var(--accent)}.traffic-monitor-cards>div:last-child strong{color:#6caaf5}
.file-popout-page.file-offline #file-popout-host{visibility:hidden}.file-popout-page.file-offline::after{content:'Reconnect this instance in the main workspace to access its files.';position:fixed;inset:0 0 25px;display:grid;place-items:center;text-align:center;padding:30px;color:var(--muted);background:var(--bg);font-size:13px}.privacy-covered dialog{visibility:hidden}
.file-popout-page.file-offline #file-popout-host{display:none}

.dependency-instructions{width:min(680px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto}.dependency-instructions pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--line);border-radius:8px;user-select:text}.dependency-instructions .dialog-field{margin-block:14px}.dependency-instructions p{line-height:1.5}

.clipboard-paste-dialog textarea{width:100%;resize:vertical;min-height:90px;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:12px;margin-bottom:12px}.clipboard-paste-dialog textarea:focus{outline:1px solid var(--accent)}

/* Center the single-card session restoration state at every viewport size. */
body.app-shell > #session-restoring{max-width:none;grid-template-columns:minmax(0,1fr);align-content:safe center;justify-items:center;gap:0}
#session-restoring > .auth-card{width:min(100%,520px);text-align:center}

/* Supplied Shai logomark, framed for the navigation rail. */
.rail-brand{background:transparent;color:#58dcc1}
[data-theme=light] .rail-brand{background:transparent;color:#15b89a}
/* Workspace navigation: independent saved-list and open-tab ordering. */
.workspace-search{margin:0;display:block}.workspace-search input{margin:0;width:100%;font-size:12px;padding:9px 10px;border-radius:6px}.workspace-search .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.hosts-drawer .host-list{gap:4px;padding:3px 0;align-content:start}.workspace-list-row{position:relative;display:flex;align-items:center;border:1px solid transparent;border-radius:6px;flex-shrink:0;min-width:0}.workspace-list-row:hover,.workspace-list-row:focus-within{background:var(--editor-selection,#17352e);border-color:var(--line)}.workspace-list-row.active{background:var(--editor-selection,#17352e);border-color:var(--line)}.workspace-list-main{display:grid;grid-template-columns:18px minmax(0,1fr) 8px;gap:3px 8px;align-items:center;min-width:0;flex:1;text-align:left;border:0;border-radius:5px;background:transparent;padding:10px 7px;cursor:grab;color:var(--text)}.workspace-list-main:hover{background:transparent}.workspace-server-icon{font-size:17px;line-height:1;color:var(--muted)}.workspace-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.workspace-description{grid-column:2/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted);line-height:1.6}.workspace-state-dot{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.35;flex-shrink:0}.workspace-list-row[data-state=connected] .workspace-state-dot,.tab-list button[data-state=connected] .workspace-state-dot{background:var(--accent);opacity:1}.workspace-list-row[data-state=connecting] .workspace-state-dot,.tab-list button[data-state=connecting] .workspace-state-dot{background:#e8bd69;opacity:1}.workspace-row-menu{flex-shrink:0;padding:6px 5px;margin-right:3px;border:0;background:transparent;color:var(--muted);font-size:18px;opacity:0}.workspace-list-row:hover .workspace-row-menu,.workspace-list-row:focus-within .workspace-row-menu{opacity:1}.workspace-row-menu:hover{color:var(--text)}.workspace-list-empty{padding:10px;font-size:12px}.app-shell .tab-list button[data-instance-host]{display:flex;position:relative;align-items:center;gap:8px;min-width:115px;max-width:260px;flex-shrink:0;padding:10px 12px;border-right:1px solid var(--line);cursor:grab}.tab-list .workspace-label{font-size:11px}.tab-list .workspace-server-icon{font-size:15px}.workspace-dragging{opacity:.45}.workspace-list-main.workspace-drop-before{box-shadow:inset 0 2px var(--accent)}.workspace-list-main.workspace-drop-after{box-shadow:inset 0 -2px var(--accent)}.tab-list button.workspace-drop-before{box-shadow:inset 3px 0 var(--accent)}.tab-list button.workspace-drop-after{box-shadow:inset -3px 0 var(--accent)}.workspace-list-main:focus-visible,.workspace-row-menu:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.hosts-drawer .sidebar-foot{font-size:10px;line-height:1.5}@media(pointer:coarse){.workspace-row-menu{opacity:1;min-width:32px;min-height:36px}}
.workspace-server-icon svg{display:block;width:17px;height:17px}.host-list .workspace-list-main{border-left:0}.workspace-list-row.active .workspace-server-icon{color:var(--accent)}
.explorer-view-tabs{display:flex;gap:16px;border-bottom:1px solid var(--line);margin:0 0 8px;padding:0 2px}.explorer-view-tabs>button{padding:8px 2px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:11px;border-bottom:2px solid transparent}.explorer-view-tabs>button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.explorer-view-pane{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.explorer-view-pane[hidden]{display:none}.explorer-view-pane>.folder-path-label,.explorer-view-pane>#remote-root,.explorer-view-pane>.explorer-actions{display:none}#file-search-results{flex:1;overflow:auto;min-height:0;padding:6px 0;color:var(--muted);font-size:11px}.explorer-view-tabs button:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
.host-list .workspace-row-menu{border:0;border-radius:4px;text-align:center}.tab-list button[data-instance-host] .instance-terminal-count{margin-left:0}
.explorer-view-tabs[hidden]{display:none}.explorer-view-tabs .close-file-search{margin-left:auto;font-size:16px;padding:4px 6px;align-self:center}.explorer-view-tabs .close-file-search:hover{color:var(--text);background:var(--panel)}

/* Extensible file-sidebar view switcher: add actual views here as they ship. */
.file-navigation-header{display:flex;align-items:center;justify-content:space-between;min-height:38px;padding:0;border-bottom:1px solid var(--line);margin-bottom:6px;gap:6px}
.file-navigation-header .explorer-view-tabs{display:flex;align-items:stretch;gap:2px;flex:1;min-width:0;overflow-x:auto;margin:0;padding:0;border:0}
.file-navigation-header .explorer-view-tabs>button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:8px;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted)}
.file-navigation-header .explorer-view-tabs>button svg{width:19px;height:19px;flex-shrink:0}
.file-navigation-header .explorer-view-tabs>button:hover{color:var(--text);background:var(--panel)}
.file-navigation-header .explorer-view-tabs>button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}
.file-navigation-header>#close-file-explorer{flex-shrink:0;width:28px;height:28px;padding:3px;font-size:18px;border:0;background:transparent;color:var(--muted)}
.file-navigation-header>#close-file-explorer:hover{color:var(--text);background:var(--panel)}
@media(pointer:coarse){.file-navigation-header .explorer-view-tabs>button{width:44px;height:44px}.file-navigation-header>#close-file-explorer{width:36px;height:36px}}

/* Search input owns its focus border; no outline protrudes into clipped panes. */
#explorer-search-pane{padding:2px;gap:0}
#explorer-search-pane .explorer-search-wrap{margin:5px 0 8px;flex-shrink:0}
#explorer-search-pane #explorer-search{min-width:0;box-sizing:border-box;line-height:1.5;padding:7px 30px 7px 9px;border-radius:5px}
#explorer-search-pane #explorer-search:focus{outline:1px solid var(--accent);outline-offset:-1px;border-color:var(--accent);box-shadow:none}
.file-search-scope{flex-shrink:0;margin:6px 1px 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;line-height:1.6}
#file-search-status{flex-shrink:0;padding:2px 1px;margin:0 0 5px;font-size:10px}
#file-search-status[hidden],#file-search-empty[hidden],#file-search-results[hidden],#file-search-choose-folder[hidden]{display:none}
.file-search-empty{padding:28px 10px 20px;text-align:center;color:var(--muted);max-width:280px;align-self:center;flex-shrink:0}
.file-search-empty>svg{width:30px;height:30px;margin-bottom:10px;opacity:.5}
.file-search-empty>h3{font-size:12px;line-height:1.5;font-weight:550;margin:0 0 5px;color:var(--text)}
.file-search-empty>p{font-size:11px;line-height:1.7;margin:0;overflow-wrap:anywhere}
.file-search-empty>button{margin-top:14px;font-size:11px;padding:7px 10px}

/* Compact activity rail: tools above, account and settings below. */
body.app-shell{--rail-width:48px}
.app-rail{gap:12px;padding:max(10px,env(safe-area-inset-top)) 3px max(8px,env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden}
.app-rail .rail-brand{width:36px;height:36px;border-radius:6px;flex-shrink:0}
.app-rail .rail-brand .shai-mark{width:27px;height:27px}
.app-rail .rail-nav{gap:4px;flex-shrink:0}
.app-rail .rail-button{position:relative;min-height:40px;height:40px;min-width:40px;width:100%;padding:8px;gap:0;border-radius:5px;color:var(--muted);background:transparent;flex-shrink:0}
.app-rail .rail-button .rail-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.app-rail .rail-button .rail-icon{width:22px;height:22px;flex-shrink:0}
.app-rail .rail-button:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}
.app-rail .rail-button.selected{color:var(--accent);background:transparent}
.app-rail .rail-button.selected::before{content:'';position:absolute;left:-3px;top:9px;bottom:9px;width:2px;border-radius:2px;background:var(--accent)}
.app-rail .rail-button[aria-expanded=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.app-rail .rail-button:focus-visible,.app-rail .rail-brand:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}
.app-rail .rail-account{margin-top:auto;gap:6px;flex-shrink:0;padding-top:12px}
.app-rail .rail-account #account-label{display:flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;margin:4px 0;border-radius:50%;background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:1px solid var(--line);color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.3px;text-overflow:clip}
.app-rail .rail-account #account-label:empty{display:none}
@media(pointer:coarse){body.app-shell{--rail-width:52px}.app-rail .rail-button{height:44px;min-height:44px;min-width:44px}}
@media(max-height:450px){.app-rail{gap:6px}.app-rail .rail-account{padding-top:6px;gap:3px}}
.search-mode-row{display:flex;align-items:center;gap:6px;margin:3px 0 5px;flex-shrink:0}.search-mode-row select{font-size:11px;padding:5px 7px;margin:0;min-width:0;background:transparent;border-color:var(--line)}.search-mode-row>button{flex-shrink:0;width:28px;height:28px;padding:5px;border:0;background:transparent;color:var(--muted)}.search-mode-row svg{width:17px;height:17px}.search-query-row{display:flex;gap:4px;align-items:center;flex-shrink:0}.search-query-row .explorer-search-wrap{flex:1;min-width:0}.search-query-row>#search-toggle-replace{width:18px;flex-shrink:0;padding:2px;border:0;background:transparent;color:var(--muted)}#search-toggle-replace svg{width:15px;height:15px;transition:transform .12s}#search-toggle-replace[aria-expanded=true] svg{transform:rotate(90deg)}.search-match-options{display:flex;justify-content:flex-end;gap:3px;margin:0 0 7px;flex-shrink:0}.search-match-options button,.search-replace-row>button{padding:3px 5px;min-width:25px;min-height:25px;font:11px ui-monospace,monospace;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted)}.search-match-options button[aria-pressed=true],.search-replace-row>button[aria-pressed=true],#search-toggle-filters[aria-expanded=true]{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.search-whole-word{text-decoration:underline;text-underline-offset:3px}.search-replace-fields,.search-path-filters{flex-shrink:0;margin-bottom:9px}.search-replace-row{display:flex;gap:4px;align-items:center}.search-replace-row input{min-width:0;flex:1}.search-replace-fields>button{padding:6px 8px;font-size:10px;width:100%;margin-top:6px}.search-replace-fields>small{display:block;font-size:9px;color:var(--muted);margin-top:5px;line-height:1.5}.search-path-filters label{font-size:10px;margin:6px 0;color:var(--muted)}.search-path-filters label input{margin-top:4px}.search-path-filters label.checkbox{display:flex;align-items:center;gap:6px;font-size:10px}.search-path-filters label.checkbox input{width:auto;margin:0;flex-shrink:0}#explorer-search-pane input:focus,#explorer-search-pane select:focus{outline:1px solid var(--accent);outline-offset:-1px}.search-content-hit{display:block;width:100%;padding:7px 6px;border:0;border-radius:3px;background:transparent;text-align:left}.search-content-hit:hover{background:var(--panel)}.search-hit-path,.search-hit-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.search-hit-path{font-size:10px;color:var(--text)}.search-hit-text{font:10px/1.7 ui-monospace,monospace;color:var(--muted);margin-top:3px}.search-replacement-preview{max-height:45dvh;overflow:auto}.search-replacement-preview section{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.search-replacement-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 ui-monospace,monospace;margin:5px 0}.search-replacement-preview pre:nth-of-type(1){color:var(--danger)}.search-replacement-preview pre:nth-of-type(2){color:var(--accent)}#explorer-search-pane{overflow-y:auto}#file-search-results{flex:1 0 80px}

.archive-contents,.data-table{border-collapse:collapse;width:100%;font-size:13px}.archive-contents th,.archive-contents td,.data-table th,.data-table td{border:1px solid var(--border,#444);padding:6px 10px;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.archive-contents td:first-child{font-family:monospace}.markdown-content details{margin:4px 0 4px 16px}.markdown-content summary{cursor:pointer;font-family:monospace}.data-value{margin:4px 0 4px 16px;font-family:monospace;white-space:pre-wrap;overflow-wrap:anywhere}

.agent-state-badge{display:inline-block;font:10px/1.3 ui-monospace,monospace;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:7px;opacity:.85}.agent-state-badge[data-state=working]{color:var(--accent,#7ce7cb)}.agent-state-badge[data-state=waiting]{color:#e7c47c}.agent-state-badge[data-state=unknown]{color:var(--muted,#94a4ba)}.agent-state-badge[data-state=completed]{color:var(--accent,#7ce7cb)}

/* Structured file viewers share the editor's syntax palette. */
.data-viewer{font:12px/1.75 Menlo,Consolas,ui-monospace,monospace;color:var(--text);min-width:0}
.data-viewer-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid var(--line);font:11px/1.5 system-ui,sans-serif}
.data-viewer-title{font-size:12px;font-weight:600}.data-viewer-badge{padding:2px 7px;border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:10px}.data-viewer-stats{color:var(--muted);margin-right:auto}
.data-viewer-toolbar button{font:11px/1.5 system-ui,sans-serif;background:transparent;padding:4px 8px;border-radius:4px;color:var(--muted)}.data-viewer-toolbar button:hover{background:var(--panel);color:var(--text)}
.data-viewer .data-tree-branch{margin:0}.data-viewer .data-tree-row{position:relative;min-height:25px;padding:2px 8px 2px 22px;border-radius:3px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:21px}
.data-viewer summary.data-tree-row{list-style:none;cursor:pointer;font:inherit;line-height:21px}.data-viewer summary::-webkit-details-marker{display:none}.data-viewer summary.data-tree-row::before{content:'';position:absolute;left:6px;top:10px;width:0;height:0;border:4px solid transparent;border-left-color:var(--muted);transform-origin:2px 4px}.data-viewer details[open]>summary.data-tree-row::before{transform:rotate(90deg)}
.data-viewer .data-tree-row:hover{background:var(--editor-active-line,var(--panel))}.data-viewer summary:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}
.data-tree-children{margin-left:13px;padding-left:7px;border-left:1px solid var(--line)}.data-tree-children:hover{border-left-color:var(--muted)}.data-tree-count{font:10px/1.5 system-ui,sans-serif;margin-left:10px;opacity:.8}.data-tree-collapsed{margin-left:8px}.data-viewer details[open]>summary>.data-tree-collapsed{display:none}.data-viewer .data-tree-end{color:var(--muted)}.data-xml-attribute{display:inline-block;max-width:100%;vertical-align:top}.data-tree-text{white-space:pre-wrap}
.data-token-key,.data-token-tag{color:var(--syntax-type,#82aaff)}.data-token-attribute{color:var(--syntax-function,#f6c177)}.data-token-string{color:var(--syntax-string,#a3d6a0)}.data-token-number{color:var(--syntax-number,#f6c177)}.data-token-boolean,.data-token-null{color:var(--syntax-keyword,#c792ea)}.data-token-punctuation,.data-token-hint,.data-token-index{color:var(--muted)}.data-token-comment{color:var(--syntax-comment,var(--muted));font-style:italic}.data-viewer-error{padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--danger);border-radius:4px;color:var(--danger)}
@media(max-width:650px){.data-viewer-toolbar{gap:6px}.data-viewer .data-tree-row{padding-right:3px}.data-tree-children{margin-left:8px;padding-left:4px}}
.tmux-manager{width:min(680px,calc(100vw - 28px));max-height:85dvh;overflow:auto}.tmux-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.tmux-manager-heading h2{margin:0}.tmux-manager-heading .tmux-manager-close{border:0;background:transparent;font-size:22px;padding:4px 8px}.tmux-session-list{margin:18px 0;max-height:48dvh;overflow:auto}.tmux-session-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 0}.tmux-session-details{min-width:0}.tmux-session-details strong{display:block;overflow-wrap:anywhere;font-size:13px}.tmux-session-details p{font-size:11px;margin:6px 0 0}.tmux-session-row .actions{flex-shrink:0;gap:6px}.tmux-session-row button{font-size:11px;padding:7px 9px}@media(max-width:520px){.tmux-session-row{align-items:flex-start;flex-direction:column;gap:10px}}.app-rail .rail-button .rail-icon{aspect-ratio:1;display:block}
.encoding-picker{width:min(720px,calc(100vw - 28px));padding:16px;max-height:80dvh;overflow:hidden;display:flex;flex-direction:column;gap:12px}.encoding-picker:not([open]){display:none}.encoding-picker-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.encoding-picker-header h2{font-size:15px;margin:0}.encoding-picker-header button{padding:2px 7px;border:0;background:transparent;font-size:22px;color:var(--muted)}.encoding-picker>input{margin:0;flex-shrink:0;padding:10px 12px;font-size:13px;outline-offset:-1px}.encoding-picker-options{overflow-y:auto;min-height:100px;max-height:52dvh;border:1px solid var(--line);border-radius:6px;padding:4px}.encoding-picker-options>button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:34px;padding:7px 10px;border:0;border-radius:3px;background:transparent;text-align:left;font-size:12px}.encoding-picker-options>button.active{background:color-mix(in srgb,var(--accent) 13%,var(--panel));color:var(--text)}.encoding-picker-options small{font-size:10px;color:var(--muted);white-space:nowrap}.encoding-picker>p{margin:0;font-size:11px;line-height:1.6;flex-shrink:0}@media(pointer:coarse){.encoding-picker-options>button{min-height:42px}}@media(max-width:480px){.encoding-picker-options>button{align-items:flex-start;flex-direction:column;gap:3px}}

.agent-hook-scope-options{display:grid;gap:12px;margin:20px 0}.agent-hook-scope-options button{display:flex;flex-direction:column;gap:7px;width:100%;text-align:left;padding:16px;white-space:normal}.agent-hook-scope-options strong{font-size:14px}.agent-hook-scope-options span{color:var(--muted);font-size:12px;line-height:1.6}

.console-tabbar [data-console]{position:relative;user-select:none}.console-tabbar .console-tab-dragging{opacity:.45;cursor:grabbing}.console-tabbar .console-tab-before::before,.console-tabbar .console-tab-after::after{content:'';position:absolute;inset-block:5px;width:2px;background:var(--accent);border-radius:1px;pointer-events:none}.console-tabbar .console-tab-before::before{left:0}.console-tabbar .console-tab-after::after{right:0}

/* Session manager uses direct children rather than the shared dialog form. */
.app-confirm-dialog.tmux-manager{width:min(720px,calc(100vw - 32px));max-width:720px;padding:24px;overflow-x:hidden}
.tmux-manager .tmux-manager-heading{margin-bottom:10px;min-width:0}
.tmux-manager .tmux-manager-heading h2{margin:0}
.tmux-manager>p{margin:10px 0;max-height:none}
.tmux-manager .tmux-session-list{overflow-x:hidden;margin:20px 0 12px}
.tmux-manager .tmux-session-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 0}
.tmux-manager .tmux-session-details strong{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.tmux-manager .tmux-session-details p{font-size:12px;margin:5px 0 0;max-height:none}
.tmux-manager .tmux-session-row .actions{margin:0;padding:0;border:0;background:transparent;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}
.tmux-manager .tmux-session-row button{font-size:12px;padding:8px 11px;white-space:nowrap}
.tmux-manager-header-actions{display:flex;align-items:center;gap:8px}.tmux-manager-heading .tmux-manager-refresh{background:transparent;color:var(--muted);font-size:12px;padding:6px 9px;min-height:30px}.tmux-manager-heading .tmux-manager-refresh:hover{background:var(--bg);color:var(--text)}
@media(max-width:600px){.app-confirm-dialog.tmux-manager{padding:20px}.tmux-manager .tmux-session-row{grid-template-columns:minmax(0,1fr);gap:12px}.tmux-manager .tmux-session-row .actions{justify-content:flex-start}}
.connection-terminal-row .terminal-select{display:grid;grid-template-columns:8px 15px minmax(0,1fr);column-gap:7px;row-gap:3px}.connection-terminal-row .agent-state-badge{grid-column:2 / -1;max-width:none;margin-left:0;white-space:normal}

/* Search: choose a target, enter a query, reveal secondary tools as needed. */
#explorer-search-pane .file-search-scope{margin:8px 1px 10px;color:var(--muted)}
#explorer-search-pane .search-mode-row{margin:0 0 10px;display:block}
.search-mode-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.search-mode-switch button{flex:1;min-width:0;padding:5px 4px;font-size:11px;line-height:1.5;border:0;border-radius:3px;background:transparent;color:var(--muted);white-space:nowrap}
.search-mode-switch button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:0 1px 3px #0002}.search-mode-switch button:hover{color:var(--text)}
#explorer-search-pane .search-query-row{display:block}#explorer-search-pane .search-query-row .explorer-search-wrap{margin:0;width:100%}#explorer-search-pane #explorer-search{margin:0;min-height:34px;padding:7px 28px 7px 9px;font-size:12px;background:var(--bg);border-color:var(--line)}
.search-tools{display:flex;align-items:center;justify-content:space-between;gap:4px;flex-wrap:wrap;margin:5px 0 10px;flex-shrink:0}.search-tools .search-match-options{margin:0;gap:1px}.search-tools .search-match-options button{min-width:23px;min-height:25px;padding:3px;line-height:17px}
.search-disclosures{display:flex;gap:3px;margin-left:auto}.search-disclosures button{font:10px/17px system-ui,sans-serif;min-height:25px;padding:3px 5px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted)}.search-disclosures button:hover{background:var(--panel);color:var(--text)}.search-disclosures button[aria-expanded=true]{color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.search-disclosures button[data-active=true]::after{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--accent);margin-left:4px;vertical-align:middle}
#explorer-search-pane .search-replace-fields,#explorer-search-pane .search-path-filters{margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}#explorer-search-pane .search-replace-row{gap:3px}#explorer-search-pane .search-replace-row input{margin:0;font-size:11px;padding:7px 8px;background:var(--bg);border-color:var(--line)}#explorer-search-pane .search-replace-fields>button{margin-top:8px;padding:6px;font-size:10px;background:transparent}#explorer-search-pane .search-replace-fields>small{line-height:1.5;margin-top:7px;color:var(--muted)}#explorer-search-pane .search-path-filters label{margin:0 0 10px;font-size:10px}#explorer-search-pane .search-path-filters label:last-child{margin-bottom:0}#explorer-search-pane .search-path-filters label input{font-size:11px;padding:6px 7px;margin-top:5px;background:var(--bg);border-color:var(--line)}#explorer-search-pane .search-path-filters label.checkbox{gap:7px;line-height:1.5}#explorer-search-pane .search-path-filters input[type=checkbox]{margin:0;padding:0;flex:none}
#explorer-search-pane .file-search-empty{align-self:stretch;max-width:none;text-align:left;padding:18px 3px;border-top:1px solid var(--line)}#explorer-search-pane .file-search-empty>svg{width:22px;height:22px;margin-bottom:9px;opacity:.45}#explorer-search-pane .file-search-empty>h3{font-size:11px;font-weight:550;margin-bottom:4px}#explorer-search-pane .file-search-empty>p{font-size:10px;line-height:1.65;color:var(--muted)}#explorer-search-pane #file-search-status{margin:0 0 8px;padding:0 2px;color:var(--muted)}

/* Compact terminal rows keep application identity alongside the saved name. */
.connection-terminals{padding:7px 6px}
.connection-terminal-host{padding:5px 5px 7px}
.connection-terminal-row{margin-bottom:2px;min-height:29px}
.connection-terminal-row .terminal-select{grid-template-columns:6px 14px minmax(0,1fr) auto;gap:5px;padding:6px 4px;min-height:29px}
.terminal-row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.connection-terminal-row .agent-state-badge{grid-column:4;grid-row:1;max-width:64px;white-space:nowrap;font-size:10px;line-height:1.3;margin:0;opacity:.8}
.connection-terminal-row .terminal-row-actions{width:0;overflow:hidden;gap:0}
.connection-terminal-row:hover .terminal-row-actions,.connection-terminal-row:focus-within .terminal-row-actions{width:auto;overflow:visible}
.connection-terminal-row .terminal-row-actions button{padding:4px 3px}
@media(hover:none){.connection-terminal-row .terminal-row-actions{width:auto;overflow:visible}}

.connection-terminal-row .terminal-dot{grid-column:1;grid-row:1}.connection-terminal-row .terminal-row-icon,.connection-terminal-row .terminal-disconnected-icon{grid-column:2;grid-row:1}.connection-terminal-row .terminal-row-name{grid-column:3;grid-row:1}

.terminal-hover-card{position:fixed;z-index:180;width:320px;max-width:calc(100vw - 16px);padding:0;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);box-shadow:0 12px 36px #0004;font-size:12px;overflow:hidden}
.terminal-hover-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid var(--line)}
.terminal-hover-heading strong{font-size:12px;overflow-wrap:anywhere}.terminal-hover-heading>span{font:11px ui-monospace,monospace;color:var(--accent);flex-shrink:0}
.terminal-hover-card dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:9px 12px;padding:13px 14px;margin:0;line-height:1.45}
.terminal-hover-card dt{color:var(--muted)}.terminal-hover-card dd{margin:0;overflow-wrap:anywhere}

/* Process hover card: app identity, connection state, then readable process details. */
.terminal-hover-card{width:400px;border-radius:12px;box-shadow:0 16px 48px #0005;max-height:calc(100dvh - 16px);overflow:auto}
.terminal-hover-heading{gap:11px;padding:16px;align-items:center}
.terminal-hover-glyph{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--accent);font:16px ui-monospace,monospace;flex:none}
.terminal-hover-identity{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.terminal-hover-identity strong{font-size:14px;font-weight:600;line-height:1.3}
.terminal-hover-identity>span{color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.terminal-hover-heading>.terminal-hover-state{display:flex;align-items:center;gap:5px;font-family:inherit;font-size:10px;line-height:1.4;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:3px 7px;text-transform:capitalize}
.terminal-hover-state::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--muted)}
.terminal-hover-state[data-state=connected]::before{background:var(--accent)}
.terminal-hover-card dl{grid-template-columns:112px minmax(0,1fr);gap:12px 14px;padding:16px;font-size:11px;line-height:1.6}
.terminal-hover-card dt{font-size:11px;padding-top:2px}
.terminal-hover-card dd{color:var(--text);min-width:0}
.terminal-hover-card .terminal-hover-code{padding:5px 7px;border:1px solid var(--line);border-radius:5px;background:var(--bg);font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;max-height:100px;overflow:auto}
.terminal-hover-card .terminal-hover-pid{font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}
@media(max-width:420px){.terminal-hover-card dl{grid-template-columns:98px minmax(0,1fr);gap:10px}.terminal-hover-heading{padding:13px}.terminal-hover-state{max-width:90px}}

.console-tabbar .console-panel-actions{display:flex;align-items:center;gap:3px;margin-left:auto;flex:none}.console-panel-actions .add-shell-controls{display:flex;align-items:center;gap:0}.console-tabbar .console-panel-actions button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:5px;border:0;border-radius:4px;background:transparent;color:var(--muted);box-shadow:none}.console-tabbar .console-panel-actions button:hover{color:var(--text);background:var(--panel)}.console-tabbar .console-panel-actions button:disabled{opacity:.4;cursor:default}.console-panel-actions svg{width:18px;height:18px;pointer-events:none}.console-tabbar .console-panel-actions #new-connection-terminal-menu{width:19px;padding:3px}.console-tabbar .console-panel-actions .console-maximize{margin-left:0}.console-maximize.is-maximized svg{transform:rotate(180deg)}.console-hidden>.console-dock,.console-hidden>#editor-console-divider{display:none!important}.console-hidden>.remote-editor-area{flex:1;min-height:0}#toggle-console-panel[aria-expanded=false]{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}
@media(pointer:coarse){.console-tabbar .console-panel-actions button{width:34px;height:34px}.console-tabbar .console-panel-actions #new-connection-terminal-menu{width:28px}}

.app-confirm-dialog.external-link-dialog{width:min(600px,calc(100vw - 32px))}.external-link-dialog .external-link-host{display:block;color:var(--accent);font-size:14px;margin:18px 0 8px;overflow-wrap:anywhere}.external-link-dialog textarea,.trusted-domain-dialog textarea{font:11px/1.7 ui-monospace,monospace;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px}.external-link-dialog .external-link-trust{display:flex;flex-direction:column;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--bg);gap:3px}.external-link-trust button{border:0;background:transparent;text-align:left;font-size:12px;padding:9px}.external-link-trust button:hover{background:var(--panel)}.external-link-dialog .actions{gap:8px}.external-link-dialog .actions>button:first-child{margin-right:auto;font-size:11px}.external-link-open{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:9px 14px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:var(--bg);font-size:13px;font-weight:600}.external-link-open:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.trusted-domain-dialog{width:min(560px,calc(100vw - 32px))}

.app-statusbar .status-workspace-toggle{display:inline-flex;align-items:center;min-width:0;max-width:45%;gap:0;text-align:left}.status-workspace-toggle #status-instance,.status-workspace-toggle #status-terminal{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-workspace-toggle #status-terminal:not(:empty)::before{content:' / ';white-space:pre}.status-workspace-toggle:disabled{cursor:default;opacity:.65}

/* External-link confirmation keeps OAuth query strings out of the primary layout. */
.app-confirm-dialog.external-link-dialog{width:min(480px,calc(100vw - 32px));overflow:hidden}
.external-link-dialog>form{padding:0!important}
.external-link-content{padding:22px}
.external-link-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.external-link-heading h2{margin:0;font-size:17px;font-weight:600;letter-spacing:-.3px}
.external-link-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:var(--accent);background:var(--bg);font-size:20px}
.external-link-destination{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);min-width:0}
.external-link-dialog .external-link-host{font-size:14px;font-weight:600;color:var(--text);margin:0 0 5px;line-height:1.5}
.external-link-path{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font:11px/1.5 ui-monospace,monospace}
.external-link-disclosure{margin-top:12px}
.external-link-disclosure summary{font-size:11px;color:var(--muted);width:fit-content}
.external-link-disclosure textarea{margin-top:10px;max-height:160px;font-size:10px;line-height:1.6;resize:none}
.external-link-content>.external-link-trust{margin-top:14px}
.external-link-status{font-size:11px;color:var(--muted);margin:12px 0 0}
.external-link-status:empty{display:none}
.external-link-dialog .actions{margin:0!important;padding:13px 16px!important;border-top:1px solid var(--line);background:var(--bg);gap:7px;flex-wrap:wrap}
.external-link-dialog .actions button{font-size:12px;padding:8px 11px}
.external-link-dialog .actions>button:first-child{border:0;background:transparent;padding:8px 0;color:var(--muted);font-size:11px}
.external-link-dialog .external-link-open{font-size:12px;padding:8px 15px}
@media(max-width:380px){.external-link-content{padding:18px}.external-link-dialog .actions{padding:12px!important}.external-link-dialog .actions>button:first-child{width:100%;text-align:left;margin-bottom:4px}}

.connection-network-routing{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.connection-network-routing h3{font-size:13px;font-weight:600;margin:5px 0 10px}.connection-network-routing h3:not(:first-child){margin-top:24px}.connection-network-routing .muted{font-size:11px;line-height:1.6}.connection-gateway{display:flex;align-items:center;gap:8px;margin:8px 0}.connection-gateway>span{color:var(--muted);font-size:11px}.connection-gateway select{min-width:0;flex:1;margin:0}.connection-gateway button{padding:5px 9px;background:transparent}.connection-network-routing>button{font-size:11px;padding:6px 10px;margin-top:6px}

.workspace-workgroup{min-width:0;flex-shrink:0;margin:3px 0 7px}.workgroup-heading{display:flex;align-items:center;gap:4px;min-height:32px;border-radius:6px}.workgroup-heading:hover{background:var(--panel)}.workgroup-toggle{display:flex;align-items:center;gap:7px;min-width:0;flex:1;text-align:left;border:0;background:transparent;padding:7px 5px;font-size:11px;color:var(--muted)}.workgroup-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text)}.workgroup-chevron{font-size:17px;line-height:1;transition:transform .12s;flex:none}.workgroup-toggle.expanded .workgroup-chevron{transform:rotate(90deg)}.workgroup-count{font-size:10px;opacity:.7;margin-left:auto;font-variant-numeric:tabular-nums}.workgroup-menu{border:0;background:transparent;padding:4px 6px;opacity:0;color:var(--muted)}.workgroup-heading:hover .workgroup-menu,.workgroup-heading:focus-within .workgroup-menu{opacity:1}.workgroup-workspaces{margin-left:10px;padding-left:7px;border-left:1px solid var(--line)}.workgroup-workspaces .workspace-list-row{margin-bottom:2px}.workgroup-empty{margin:0;padding:9px 6px;color:var(--muted);font-size:10px}.workgroup-drop-target{outline:1px solid var(--accent);outline-offset:-1px;border-radius:6px;background:var(--editor-selection,var(--panel))}.host-list>.workspace-workgroup:last-child{margin-bottom:0}@media(hover:none){.workgroup-menu{opacity:1}}

.host-list .workgroup-toggle{border:0;border-radius:5px;background:transparent;font-size:11px;word-break:normal}.host-list .workgroup-menu{border:0;border-radius:4px;text-align:center}.workgroup-chevron{display:block;width:12px;height:12px}.workgroup-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}

/* Workspaces follows the Explorer's compact tree and header controls. */
.workspace>.hosts-drawer{width:260px;padding:0;gap:0;border-right:1px solid var(--line);background:var(--panel);box-shadow:12px 0 30px #0003}
.hosts-drawer .workspace-drawer-heading{height:42px;min-height:42px;padding:5px 8px 5px 14px;gap:8px;border-bottom:1px solid var(--line)}
.workspace-drawer-heading .eyebrow{font-size:10px;font-weight:500;letter-spacing:1px;color:var(--muted)}
.workspace-drawer-actions{display:flex;align-items:center;gap:1px}
.hosts-drawer .workspace-drawer-actions button{display:grid;place-items:center;width:26px;height:26px;min-width:0;margin:0;padding:5px;border:0;border-radius:4px;background:transparent;color:var(--muted);box-shadow:none}
.hosts-drawer .workspace-drawer-actions button:hover{background:var(--bg);color:var(--text)}
.workspace-drawer-actions svg{display:block;width:16px;height:16px}
.hosts-drawer .workspace-search{display:block;margin:8px 9px 6px;font-size:11px}
.hosts-drawer .workspace-search input{margin:0;padding:6px 9px;font-size:11px;line-height:1.5;background:var(--bg);border-color:var(--line);border-radius:5px}
.hosts-drawer .host-list{gap:0;padding:2px 6px 12px}
.hosts-drawer .workspace-workgroup{margin:0 0 4px}
.hosts-drawer .workgroup-heading{min-height:28px;border-radius:3px}
.hosts-drawer .host-list .workgroup-toggle{min-height:28px;padding:5px 5px;font-size:11px;gap:6px}
.hosts-drawer .workgroup-name{font-weight:500}.hosts-drawer .workgroup-count{font-size:10px;opacity:.55}
.hosts-drawer .workgroup-workspaces{margin-left:10px;padding-left:5px}
.hosts-drawer .workspace-list-row{min-height:29px;border:0;border-radius:3px;margin-bottom:1px}
.hosts-drawer .host-list .workspace-list-main{grid-template-columns:15px minmax(0,1fr) 6px;gap:7px;padding:6px 7px;min-height:29px;border:0;border-radius:3px;word-break:normal}
.hosts-drawer .workspace-label{font-size:11px;font-weight:400}.hosts-drawer .workspace-server-icon svg{width:14px;height:14px}
.hosts-drawer .workspace-description{display:none}.hosts-drawer .workspace-row-menu{padding:4px;margin-right:1px;font-size:16px}
.hosts-drawer .workgroup-empty{padding:7px 6px;font-size:10px}
[data-theme=light] .workspace>.hosts-drawer{background:#edf1f7}

.hosts-drawer .workspace-drawer-actions button:disabled{cursor:default;opacity:.35}.hosts-drawer .workspace-list-main{cursor:pointer}

/* Reserve one consistent counter column; hover actions do not move the numbers. */
.hosts-drawer .workgroup-heading{position:relative;display:block}
.hosts-drawer .host-list .workgroup-toggle{display:grid;grid-template-columns:12px minmax(0,1fr) 24px;width:100%;gap:6px}
.hosts-drawer .workgroup-name{padding-right:22px;text-align:left}
.hosts-drawer .workgroup-count{justify-self:end;min-width:24px;margin:0;text-align:right;font-variant-numeric:tabular-nums}
.hosts-drawer .workgroup-heading>.workgroup-menu{position:absolute;right:33px;top:50%;transform:translateY(-50%);width:20px;height:22px;margin:0;padding:0}

.ssh-authentication-dialog{max-height:calc(100dvh - 32px);overflow:auto}.ssh-authentication-dialog .ssh-auth-instruction{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:var(--muted)}.ssh-authentication-dialog label{white-space:pre-wrap;overflow-wrap:anywhere}.ssh-authentication-dialog input{font:14px ui-monospace,monospace;letter-spacing:.04em}.ssh-authentication-dialog .actions{margin-top:20px}

/* The status readout links to the primary controls in Networking settings. */
.app-statusbar #status-connector::before{content:'⇄';margin-right:5px}.app-statusbar #status-connector:hover{text-decoration:underline}
@media(max-width:650px){.app-shell>.app-statusbar{gap:6px}.app-statusbar #status-traffic{max-width:85px}.app-statusbar .status-workspace-toggle{flex:1;max-width:30%}}
@media(max-width:650px){.app-statusbar #status-connection{display:none}}@media(max-width:480px){.app-statusbar #status-traffic{display:none}}

/* Networking is a settings page with separate source choices and app setup. */
.networking-panel{width:100%;max-width:1120px;margin:0 auto;padding:36px 42px 48px;overflow:auto;scrollbar-gutter:stable}
.networking-heading{margin-bottom:24px}.networking-eyebrow{font-size:10px;line-height:1.5;font-weight:600;letter-spacing:1.3px;color:var(--muted)}.networking-heading h1{font-size:28px;font-weight:600;letter-spacing:-.6px;margin:7px 0 8px}.networking-heading p,.networking-section-heading p,.networking-install-heading p,.networking-connector-intro p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}
.networking-overview{padding:17px 20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.networking-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.networking-state{display:inline-flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap}.networking-state::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.networking-state[data-state=connected],.networking-state[data-state=relay]{color:var(--accent)}.networking-state[data-state=offline]{color:var(--muted)}.networking-route{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:13px;line-height:1.6}.networking-route strong{font-weight:600}.networking-route-arrow{color:var(--muted)}.networking-overview>p{margin:6px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.networking-notice{margin-top:16px;padding:14px 18px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:7px;color:var(--text);font-size:12px;line-height:1.7;background:var(--panel)}
.networking-sources{margin-top:28px}.networking-section-heading{margin-bottom:16px}.networking-section-heading h2,.networking-install h2,.networking-relays h2{font-size:16px;font-weight:600;margin:0 0 6px}.networking-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.networking-source-card{display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.networking-source-card.is-selected{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 12%,transparent)}.networking-card-top{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:15px}.networking-source-icon{display:grid;place-items:center;width:30px;height:30px;color:var(--muted)}.networking-source-icon svg{width:23px;height:23px}.is-selected .networking-source-icon{color:var(--accent)}.networking-selected{font-size:10px;font-weight:600;color:var(--accent);padding:4px 8px;border-radius:5px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.networking-selected::before{content:'✓';margin-right:5px}.networking-source-card h3{margin:0;font-size:16px;font-weight:600}.networking-source-subtitle{margin:6px 0 0;font-size:11px;color:var(--accent);line-height:1.6}.networking-source-description{margin:14px 0;font-size:12px;line-height:1.7;color:var(--muted)}.networking-source-requirement{font-size:11px;line-height:1.65;color:var(--muted);margin:auto 0 18px;padding-top:12px;border-top:1px solid var(--line)}.networking-source-card>button{width:100%;font-size:12px;padding:10px 12px;min-height:40px}.networking-source-card>button:disabled{cursor:default;opacity:1;background:transparent;border-color:var(--line);color:var(--muted);font-weight:500}.networking-switch-note{margin:12px 0 0;font-size:11px;line-height:1.7;color:var(--muted)}
.networking-relays{margin-top:28px;padding:24px 0;border-top:1px solid var(--line);scroll-margin-top:24px}.networking-relays:focus{outline:none}.networking-install-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.networking-text-button{font-size:12px;background:transparent;padding:8px 12px}.networking-relays-status{font-size:12px;color:var(--muted);line-height:1.7;margin:16px 0 0}.networking-remote-list:empty{display:none}.networking-relays .networking-remote-row{padding:15px 0;border-bottom:1px solid var(--line)}.networking-remote-label strong{font-size:13px;font-weight:600}.networking-remote-label small{font-size:11px}.networking-remote-row .actions{flex-wrap:wrap;gap:8px}.networking-remote-row button{min-height:36px;font-size:12px;padding:8px 12px}.networking-remote-row .networking-forget{background:transparent;border-color:transparent;color:var(--muted)}.networking-remote-row .networking-forget:hover{color:var(--danger,#e97676)}
.networking-help{font-size:12px;line-height:1.75;color:var(--muted);margin-top:16px}.networking-help>summary{cursor:pointer;width:fit-content;color:var(--text);font-size:12px;user-select:none;padding:4px 0;min-height:30px}.networking-help>summary:hover{color:var(--accent)}.networking-help p{max-width:72ch;margin:10px 0 0}.networking-help strong{color:var(--text);font-weight:500}
.networking-install{margin-top:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:24px}.networking-connector-intro{display:flex;align-items:center;gap:14px;margin-bottom:24px}.networking-connector-intro .networking-eyebrow{font-size:9px;letter-spacing:1px}.networking-connector-intro h2{font-size:20px;letter-spacing:-.3px;margin:4px 0 5px}.networking-connector-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--accent);flex:none}.networking-connector-mark svg{width:25px;height:25px}.networking-mobile-note{font-size:12px;line-height:1.7;color:var(--muted);padding:12px 14px;border:1px solid var(--line);border-radius:7px;margin:0 0 20px}.networking-connector-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.networking-connector-benefits h3{font-size:13px;font-weight:600;margin:0 0 12px}.networking-benefit-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.networking-benefit-list li{position:relative;padding-left:18px;font-size:12px;line-height:1.75;color:var(--muted)}.networking-benefit-list li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-size:12px}.networking-download-details{margin-top:18px}.networking-download-box{padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.networking-download-box .networking-platform-tabs{display:flex;gap:4px;padding:0 0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;flex-wrap:wrap}.networking-download-box .networking-platform-tabs button{font-size:11px;padding:7px 10px;border-radius:5px}.networking-download-box .networking-platform-tabs button[aria-selected=true]{background:var(--panel);color:var(--text);box-shadow:none}.networking-download-box .networking-platform-tabs small{font-size:9px;margin-left:3px}.networking-download-box #networking-download{width:100%;margin:16px 0 0;min-height:42px;font-size:12px}.networking-download-meta{font-size:10px;color:var(--muted);text-align:center;margin:8px 0 0;line-height:1.6}.networking-setup-steps{display:grid;grid-template-columns:1fr;gap:14px;list-style:none;margin:20px 0 0;padding:0;counter-reset:networking-step}.networking-setup-steps li{position:relative;padding-left:30px;counter-increment:networking-step}.networking-setup-steps li::before{content:counter(networking-step);position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border:1px solid var(--line);border-radius:50%;font-size:10px;color:var(--muted)}.networking-setup-steps strong{display:block;font-size:11px;line-height:20px;font-weight:600}.networking-setup-steps span{display:block;margin-top:3px;font-size:11px;color:var(--muted);line-height:1.7}.networking-setup-steps b{font-weight:500;color:var(--text)}
.networking-trust-strip{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.networking-trust-strip>span{display:inline-flex;align-items:center;gap:7px;font-size:10px;line-height:1.6;color:var(--muted)}.networking-trust-strip svg{width:15px;height:15px;color:var(--accent);flex:none}.networking-app-details{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.networking-app-details .networking-app-version{margin-top:10px;background:var(--bg)}.networking-download-limits{margin-top:18px}.networking-card-footnote{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0 0}
@media(max-width:1050px){.networking-panel{padding:28px 24px 40px}.networking-source-card{padding:16px}.networking-connector-layout{gap:20px}}
@media(max-width:850px){.networking-source-grid{grid-template-columns:1fr}.networking-source-description{margin:10px 0}.networking-card-top{margin-bottom:8px}.networking-source-requirement{margin:0 0 14px;padding-top:10px}.networking-connector-layout{grid-template-columns:1fr}.networking-trust-strip{gap:12px 18px}.networking-download-box .networking-platform-tabs button{flex:1}.networking-connector-benefits{order:1}.networking-download-box{order:0}.networking-source-card>button{max-width:100%}}
@media(max-width:480px){.networking-panel{padding:24px 16px 32px}.networking-heading h1{font-size:24px}.networking-heading p{font-size:12px}.networking-overview{padding:15px}.networking-route{gap:8px;font-size:12px}.networking-install{padding:18px}.networking-install-heading{align-items:flex-start}.networking-install-heading p{font-size:12px}.networking-connector-intro{align-items:flex-start;gap:10px}.networking-connector-mark{width:36px;height:36px;border-radius:9px;margin-top:3px}.networking-connector-intro h2{font-size:18px}.networking-connector-intro p{font-size:12px}.networking-trust-strip{flex-direction:column}.networking-download-box{padding:14px}.networking-remote-row .actions{width:100%}.networking-remote-row .actions>button:first-child{flex:1}}

.sftp-workspace .console-dock,.sftp-workspace .editor-console-divider{display:none!important}.sftp-workspace-state{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:30px;color:var(--muted)}.sftp-workspace-state>svg{width:48px;height:48px;margin-bottom:14px;opacity:.6}.sftp-workspace-state h2{font-size:18px;color:var(--text);font-weight:500;margin:0 0 8px}.sftp-workspace-state p{font-size:12px;margin:0 0 18px;text-align:center}.sftp-workspace-state button{font-size:12px;padding:8px 12px}.remote-editor-area:not([hidden])+.sftp-workspace-state{display:none}.sftp-workspace .remote-editor-area{flex:1;max-height:none;height:auto}

.sftp-workspace .console-maximized>.remote-editor-area:not([hidden]){display:flex!important}

.connector-offline-dialog{max-width:540px}.connector-offline-dialog .connector-offline-hint{font-size:12px;line-height:1.7;color:var(--muted);padding:12px 14px;border:1px solid var(--line);border-radius:6px}.connector-offline-dialog .actions{flex-wrap:wrap;gap:8px}.connector-offline-dialog .actions button{font-size:12px}

.file-info-dialog{width:min(600px,calc(100vw - 32px))}.file-info-details{display:grid;grid-template-columns:105px minmax(0,1fr);gap:12px 20px;margin:20px 0}.file-info-details dt{color:var(--muted);font-size:12px}.file-info-details dd{margin:0;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap;user-select:text}.file-info-details dd:first-of-type{font-family:monospace}@media(max-width:420px){.file-info-details{grid-template-columns:1fr;gap:5px}.file-info-details dd{margin-bottom:10px}}

.networking-app-version{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:20px;padding:13px 15px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.networking-app-version>span{font-size:12px;color:var(--muted)}.networking-app-version button{font-size:11px;padding:8px 11px;background:transparent}.networking-update-note{font-size:11px;color:var(--muted);line-height:1.7;margin:9px 0 0}@media(max-width:480px){.networking-app-version{align-items:flex-start;flex-direction:column}.networking-app-version button{width:100%}}

.networking-update-actions{display:flex;gap:8px;flex-wrap:wrap}.networking-update-startup{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:11px;color:var(--muted);line-height:1.7}.networking-update-startup input{display:inline-block;width:14px;height:14px;padding:0;margin:0;accent-color:var(--accent)}.networking-update-progress{display:block;width:100%;height:6px;margin-top:12px;accent-color:var(--accent)}

.workspace-window-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 10px;border-bottom:1px solid var(--line);min-height:32px}.workspace-window-toolbar button{font-size:12px;padding:4px 8px;background:transparent;border:0;color:var(--muted)}.workspace-window-toolbar button:hover{color:var(--text);background:var(--panel)}

.workspace-window-location{display:block;font-size:10px;color:var(--muted);margin-top:3px}.workspace-window-toolbar{flex-shrink:0}.workspace-window-toolbar #workspace-window-menu{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}

.workspace-window-notice{flex-shrink:0;margin:0;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:12px;line-height:1.5}.workspace-window-notice[hidden]{display:none}

/* Pending native saves use a padded content area and a fixed action footer. */
.app-confirm-dialog.native-save-dialog{width:min(460px,calc(100vw - 32px));overflow:hidden}
.native-save-dialog>form{padding:0!important}
.native-save-content{padding:24px}
.native-save-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.native-save-heading h2{margin:0;font-size:18px;letter-spacing:-.3px}
.native-save-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));color:var(--accent);font-size:25px;line-height:1}
.native-save-dialog .native-save-filename{box-sizing:border-box;max-height:96px;overflow:auto;overflow-wrap:anywhere;margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--text)}
.native-save-dialog .native-save-description{margin:0;font-size:13px;line-height:1.65;color:var(--muted);overflow:visible}
.native-save-dialog .native-save-status{display:flex;align-items:center;gap:8px;margin:13px 0 0;font-size:11px;color:var(--muted);overflow:visible}
.native-save-status::before{content:'';width:6px;height:6px;flex:none;border-radius:50%;background:var(--accent)}
.native-save-dialog .actions{margin:0!important;padding:14px 18px!important;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;background:color-mix(in srgb,var(--bg) 65%,var(--panel))}
@media(max-width:480px){.native-save-content{padding:20px}.native-save-dialog .actions{padding:12px 14px!important}}

/* Local relay picker */
.relay-picker{width:min(560px,calc(100vw - 32px));max-width:560px;max-height:85dvh;margin:auto;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:0 24px 80px #0006}
.relay-picker[open]{display:flex;flex-direction:column}
.relay-picker::backdrop{background:#020609a6}
.relay-picker-header{display:flex;justify-content:space-between;align-items:flex-start;flex:none;gap:20px;padding:24px 24px 20px;border-bottom:1px solid var(--line)}
.relay-picker-heading{min-width:0}.relay-picker-header h2{font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.25px;margin:0 0 6px}
.relay-picker-header p{max-width:42ch;font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.relay-picker-close{display:grid;place-items:center;flex:none;width:32px;height:32px;margin:-3px -4px 0 0;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted)}
.relay-picker-close svg{width:17px;height:17px}.relay-picker-close:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}
.relay-picker-overview{display:flex;justify-content:space-between;align-items:center;flex:none;gap:16px;padding:12px 24px 8px}
.relay-picker-summary{margin:0;min-width:0;font-size:11px;line-height:1.5;color:var(--muted)}
.relay-picker-refresh{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-width:80px;min-height:30px;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;font-size:11px;font-weight:500;color:var(--muted)}
.relay-picker-refresh:hover{background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text)}
.relay-picker-button-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:14px;height:14px}.relay-picker-button-icon svg{width:100%;height:100%}
.relay-picker-close:focus-visible,.relay-picker-refresh:focus-visible,.relay-picker-add:focus-visible,.relay-picker-connect:focus-visible,.relay-picker-forget:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.relay-picker-tools{flex:none;padding:16px 24px 0}.relay-picker-tools input{margin:0;padding:9px 11px;font-size:12px;background:var(--bg);border-color:var(--line)}
.relay-picker-list{list-style:none;min-height:0;margin:0 24px;padding:0;max-height:360px;overflow:auto;border-top:1px solid var(--line);scrollbar-gutter:stable}
.relay-picker-list:empty{border:0}
.relay-picker-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.relay-picker-row:last-child{border-bottom:0}
.relay-picker-identity{display:flex;align-items:center;gap:12px;min-width:0}
.relay-picker-icon{display:grid;place-items:center;width:22px;flex:none;color:var(--muted)}.relay-picker-icon svg{width:21px;height:21px}
.relay-picker-label{display:flex;flex-direction:column;gap:5px;min-width:0}.relay-picker-label strong{font-size:13px;font-weight:550;overflow-wrap:anywhere}
.relay-picker-state{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.4;color:var(--muted)}
.relay-picker-state::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--muted)}.relay-picker-state.is-online::before{background:var(--accent)}
.relay-picker-actions{display:flex;align-items:center;gap:8px;flex:none}
.relay-picker-connect{width:96px;min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text);font-size:11px;font-weight:500}
.relay-picker-connect:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);border-color:var(--accent)}
.relay-picker-connect:disabled{cursor:default;opacity:.5;background:transparent;border-color:var(--line)}.is-current .relay-picker-connect:disabled{opacity:1;border-color:transparent;color:var(--muted)}
.relay-picker-forget{display:grid;place-items:center;width:24px;height:32px;padding:0;background:transparent;border:0;color:var(--muted);opacity:0}
.relay-picker-forget svg{width:14px;height:14px}.relay-picker-row:hover .relay-picker-forget,.relay-picker-row:focus-within .relay-picker-forget{opacity:1}
.relay-picker-forget:hover{background:transparent;color:var(--danger)}.relay-picker-forget:disabled{cursor:default;opacity:.3}
/* Override the fixed height and tracking of the global site footer. */
.relay-picker-footer{height:auto;letter-spacing:normal;display:flex;align-items:center;justify-content:space-between;flex:none;flex-wrap:wrap;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:var(--bg)}
.relay-picker-auto{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;line-height:1.5;white-space:nowrap}.relay-picker-auto .relay-picker-button-icon{width:12px;height:12px}
.relay-picker-add{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);font-size:11px;font-weight:500}
.relay-picker-add:hover,.relay-picker-add[aria-expanded=true]{background:var(--panel);border-color:var(--muted)}
.relay-picker-help{padding:18px 24px;border-top:1px solid var(--line);max-height:240px;overflow:auto;font-size:12px;line-height:1.7;color:var(--muted)}
.relay-picker-help>strong{display:block;font-size:12px;font-weight:550;color:var(--text)}
.relay-picker-help ol{margin:12px 0;padding-left:18px}.relay-picker-help li{padding-left:4px;margin:7px 0}.relay-picker-help p{font-size:11px;line-height:1.7;margin:12px 0 0}
.relay-picker-empty{padding:28px 24px;text-align:left}.relay-picker-empty strong{font-size:13px;font-weight:550}.relay-picker-empty p{font-size:12px;line-height:1.6;color:var(--muted);max-width:44ch;margin:8px 0 0}
.relay-picker-notice{flex:none;font-size:12px;line-height:1.6;color:var(--danger);margin:0 24px 12px}
@media(hover:none){.relay-picker-forget{opacity:1}}
@media(max-width:480px){.relay-picker{width:calc(100vw - 24px);max-height:90dvh}.relay-picker-header{padding:20px 18px 18px;gap:12px}.relay-picker-header h2{font-size:17px}.relay-picker-header p{font-size:11px}.relay-picker-overview{padding:10px 18px 8px;gap:10px}.relay-picker-list{margin:0 18px;max-height:48dvh}.relay-picker-row{gap:12px;padding:16px 0}.relay-picker-connect{width:88px}.relay-picker-tools{padding:14px 18px 0}.relay-picker-footer{padding:14px 18px;gap:10px}.relay-picker-help{padding:16px 18px;max-height:30dvh}.relay-picker-empty{padding:24px 18px}.relay-picker-actions{gap:4px}.relay-picker-notice{margin:0 18px 12px}}

.networking-linux-install{font-size:12px;line-height:1.7}.networking-linux-install p{font-size:12px;color:var(--muted);margin:16px 0 12px}.networking-linux-install pre{white-space:pre;overflow-x:auto;max-width:100%;font-size:11px;line-height:1.9;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--panel)}.networking-linux-install button{font-size:11px;background:transparent;padding:7px 10px}.networking-linux-install small{display:block;margin-top:14px;font-size:10px;color:var(--muted)}

/* Support is isolated on the public-site origin. */

.networking-relay-egress{margin:auto 0 18px;padding-top:12px;border-top:1px solid var(--line)}.networking-relay-egress>span{font-size:11px;color:var(--muted)}.networking-relay-ip-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0}.networking-relay-ip-row code{font-size:14px;user-select:all;overflow-wrap:anywhere}.networking-relay-ip-row button{flex:none;font-size:11px;padding:5px 9px;min-height:30px}.networking-relay-egress p{margin:0;font-size:11px;line-height:1.65;color:var(--muted)}

.networking-relay-health{margin:0 0 16px}.networking-relay-health-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.networking-relay-health-row button{font-size:11px;padding:5px 9px;min-height:30px}.networking-relay-health>span,.networking-relay-health p{font-size:11px;color:var(--muted);line-height:1.65}.networking-relay-health>span{display:block;margin-top:6px}.networking-relay-health p{margin:6px 0 0}.networking-state[data-state="online"]{color:var(--success,#4dbb89)}.networking-state[data-state="unavailable"],.networking-state[data-state="error"]{color:var(--danger,#e27777)}

#root-mode-toggle.root-active{color:#fff;background:#9b2c2c;border-color:#c74444;font-weight:700}

.terminal-surface,.popout-terminal-surface{position:relative}.terminal-history-selection{position:absolute;inset:0;z-index:5;background:var(--panel);overflow:hidden}.terminal-history-return{position:absolute;right:12px;bottom:10px;z-index:6;font-size:11px;padding:6px 10px;opacity:.9}



.terminal-has-composer{display:flex;flex-direction:column;min-height:0}.terminal-has-composer>.terminal-surface,.terminal-has-composer>.popout-terminal-surface{flex:1;height:0;min-height:0}.terminal-command-composer{flex:none;border-top:1px solid var(--line);background:var(--panel);font-size:12px}.terminal-command-composer>summary{padding:8px 12px;color:var(--muted);user-select:none} .command-composer-body{padding:0 12px 10px}.command-composer-field{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--bg);transition:border-color .15s,box-shadow .15s}.command-composer-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}.command-composer-field textarea{display:block;margin:0;width:100%;min-width:0;min-height:68px;border:0;border-radius:0;background:transparent;resize:none;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:12px 14px 8px;user-select:text;box-shadow:none}.command-composer-field textarea:focus{outline:none;box-shadow:none}.command-composer-field textarea::placeholder{color:var(--muted);opacity:.75}.command-composer-footer{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px 16px;padding:4px 10px 10px 14px}.command-composer-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex:none}.command-composer-actions button{min-height:30px;padding:5px 12px;font-size:12px;line-height:18px;border-radius:6px;cursor:pointer}.command-composer-actions button:first-child{border-color:transparent;background:transparent;color:var(--muted)}.command-composer-actions button:first-child:hover:not(:disabled){background:var(--panel);color:var(--text)}.command-composer-actions button:last-child{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600;white-space:nowrap}.command-composer-actions button:last-child:hover:not(:disabled){filter:brightness(1.08)}.command-composer-actions button:disabled{cursor:default;opacity:.4}.command-composer-hint{flex:1;min-width:160px;margin:0;padding-bottom:5px;color:var(--muted);font-size:10px;line-height:1.5}.command-composer-hint:empty{display:none}


/* Keyboard controls belong to the visible terminal console. */
.app-statusbar #keyboard-toggle:disabled,body:has(#console-terminal[hidden]) #keyboard-toggle,body:has(#remote-workbench-main.console-hidden) #keyboard-toggle,body:has(#terminal-empty:not([hidden])) #keyboard-toggle{display:none}

.tmux-manager .tmux-manager-heading h2{display:flex;align-items:center;gap:9px}.tmux-session-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;padding:2px 7px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--muted);font-size:12px;line-height:1.4;font-weight:500;letter-spacing:0}

/* Persistent-session manager: compact header, clear rows and secondary actions. */
.app-confirm-dialog.tmux-manager{width:min(640px,calc(100vw - 32px));max-width:640px;padding:0;border-radius:12px}
.tmux-manager .tmux-manager-heading{padding:20px 24px 0;margin:0;gap:12px}
.tmux-manager .tmux-manager-heading h2{font-size:17px;line-height:1.5;letter-spacing:-.25px;min-width:0}
.tmux-manager-header-actions{flex:none;gap:6px}
.tmux-manager-heading .tmux-manager-refresh{border-color:var(--line);border-radius:6px;font-size:11px;min-height:28px;padding:4px 9px}
.tmux-manager-heading .tmux-manager-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--muted);font-size:21px;line-height:1;border-radius:5px}
.tmux-manager-heading .tmux-manager-close:hover{background:var(--bg);color:var(--text)}
.tmux-manager>p.muted{margin:7px 24px 19px;font-size:12px;line-height:1.6}
.tmux-manager .tmux-session-list{margin:0;padding:0 24px;max-height:52dvh;border-top:1px solid var(--line);overflow:auto}
.tmux-manager .tmux-session-row{padding:18px 0;gap:16px;border-bottom:1px solid var(--line)}
.tmux-manager .tmux-session-row:last-child{border-bottom:0}
.tmux-manager .tmux-session-details{position:relative;padding-left:40px}
.tmux-manager .tmux-session-details::before{content:'›_';position:absolute;top:2px;left:0;display:flex;align-items:center;justify-content:center;width:29px;height:29px;background:var(--bg);border:1px solid var(--line);border-radius:6px;color:var(--muted);font:13px ui-monospace,monospace}
.tmux-session-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tmux-manager .tmux-session-details strong{font-size:13px;line-height:1.6;font-weight:600}
.tmux-manager .tmux-session-details p{font-size:11px;line-height:1.6;margin-top:3px;color:var(--muted)}
.tmux-current-badge{border-radius:4px;padding:1px 6px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent);font-size:10px;line-height:1.6;font-weight:500}
.tmux-manager .tmux-session-row .actions{gap:7px}
.tmux-manager .tmux-session-row button{min-height:30px;font-size:11px;padding:5px 9px;border-radius:6px}
.tmux-manager .tmux-session-row .tmux-end-session{background:transparent;border-color:color-mix(in srgb,var(--danger) 30%,var(--line));color:var(--danger);font-weight:400}
.tmux-manager .tmux-session-row .tmux-end-session:hover{background:color-mix(in srgb,var(--danger) 8%,var(--panel));color:var(--danger)}
.tmux-manager>p.tmux-manager-status{margin:0;padding:10px 24px;border-top:1px solid var(--line);background:var(--bg);font-size:12px;color:var(--muted);line-height:1.6}
.tmux-manager .tmux-session-list>p{margin:0;padding:25px 0;font-size:12px;color:var(--muted)}
@media(max-width:600px){.tmux-manager .tmux-manager-heading{padding:18px 18px 0}.tmux-manager .tmux-manager-heading h2{font-size:16px;gap:6px}.tmux-manager>p.muted{margin-inline:18px}.tmux-manager .tmux-session-list{padding-inline:18px}.tmux-manager .tmux-session-row .actions{padding-left:40px}.tmux-manager>p.tmux-manager-status{padding-inline:18px}}

/* Session actions remain in the dialog's top layer, including keyboard menus. */
.tmux-manager .tmux-session-row .tmux-session-menu-toggle{width:30px;height:30px;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:22px;line-height:1}
.tmux-manager .tmux-session-row .tmux-session-menu-toggle:hover,.tmux-manager .tmux-session-row .tmux-session-menu-toggle[aria-expanded=true]{background:var(--bg);border-color:var(--line);color:var(--text)}
.tmux-manager>.file-context-menu{min-width:180px}
.tmux-manager>.file-context-menu button.danger{background:transparent;color:var(--danger)}
.tmux-manager>.file-context-menu button.danger:hover{background:color-mix(in srgb,var(--danger) 8%,var(--panel));color:var(--danger)}
.app-confirm-dialog.tmux-session-info{width:min(460px,calc(100vw - 32px));padding:22px 24px}
.tmux-session-info .tmux-manager-heading{margin-bottom:4px}.tmux-session-info .tmux-manager-heading h2{margin:0;font-size:17px}
.tmux-session-info>p.muted{margin:7px 0 20px;overflow-wrap:anywhere}
.tmux-session-info-fields{display:grid;grid-template-columns:130px minmax(0,1fr);gap:13px 18px;margin:0;padding-top:18px;border-top:1px solid var(--line);font-size:12px;line-height:1.6}
.tmux-session-info-fields dt{margin:0;color:var(--muted)}.tmux-session-info-fields dd{margin:0;color:var(--text);overflow-wrap:anywhere;user-select:text}
@media(max-width:420px){.tmux-session-info-fields{grid-template-columns:110px minmax(0,1fr);gap:11px 12px}}

/* Terminal fullscreen: preserve the live surface, composer and mobile keyboard. */
.terminal-fullscreen-capable{position:relative}
.terminal-fullscreen-enter{position:absolute;right:8px;top:8px;z-index:7;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);font-size:23px;line-height:1;opacity:.55;box-shadow:0 2px 8px #0002}
.terminal-fullscreen-enter:hover,.terminal-fullscreen-enter:focus-visible,.terminal-fullscreen-capable:hover>.terminal-fullscreen-enter{opacity:1;color:var(--text)}
.terminal-fullscreen-active{display:flex!important;flex-direction:column;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;overflow:hidden!important;background:var(--bg);color:var(--text);outline:none!important;padding:0!important}
.terminal-fullscreen-active:fullscreen{width:100vw!important;height:var(--terminal-fullscreen-height,100dvh)!important}
.terminal-fullscreen-fallback{position:fixed!important;z-index:9000;inset:auto!important;top:var(--terminal-fullscreen-top,0)!important;left:var(--terminal-fullscreen-left,0)!important;width:var(--terminal-fullscreen-width,100vw)!important;height:var(--terminal-fullscreen-height,100dvh)!important;margin:0!important}
.terminal-fullscreen-active>.terminal-surface,.terminal-fullscreen-active>.popout-terminal-surface{flex:1!important;min-width:0!important;min-height:0!important;height:0!important;width:100%;overflow:auto}
.terminal-fullscreen-header{display:flex;align-items:center;gap:10px;flex:none;min-height:50px;padding:6px max(10px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left));padding-top:max(6px,env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--panel)}
.terminal-fullscreen-title{font-size:13px;font-weight:600;white-space:nowrap}.terminal-fullscreen-status{flex:1;min-width:0;font-size:11px;color:var(--muted)}
.terminal-fullscreen-header>button{flex:none;min-height:36px;padding:7px 11px;font-size:12px;border-radius:7px}.terminal-fullscreen-exit{border-color:var(--line)}
.terminal-fullscreen-shortcuts{display:flex;flex:none;align-items:center;gap:6px;overflow-x:auto;overscroll-behavior:contain;padding:7px max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--line);background:var(--panel);scrollbar-width:thin}
.terminal-fullscreen-shortcuts>button{flex:none;min-width:42px;min-height:38px;padding:6px 10px;border-radius:7px;font-size:12px;touch-action:manipulation}.terminal-fullscreen-shortcuts>button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}
@media(pointer:coarse){.terminal-fullscreen-enter{width:42px;height:42px;opacity:1}.terminal-fullscreen-header>button{min-height:42px}.terminal-fullscreen-shortcuts>button{min-height:44px}}
@media(max-width:500px){.terminal-fullscreen-header{gap:6px;flex-wrap:wrap}.terminal-fullscreen-status{order:4;flex-basis:100%;font-size:10px}.terminal-fullscreen-title{margin-right:auto}.terminal-fullscreen-header>button{padding:6px 9px}}

.privacy-covered .terminal-fullscreen-active{visibility:hidden!important}
.terminal-fullscreen-active>.terminal-surface,.terminal-fullscreen-active>.popout-terminal-surface{overscroll-behavior:contain}

/* Keep fullscreen chrome compact; the shortcut keyboard opens on demand. */
.terminal-fullscreen-header{min-height:36px;gap:8px;padding:3px max(8px,env(safe-area-inset-right)) 3px max(10px,env(safe-area-inset-left));padding-top:max(3px,env(safe-area-inset-top));flex-wrap:nowrap}
.terminal-fullscreen-title{font-size:12px}.terminal-fullscreen-status{font-size:10px}
.terminal-fullscreen-header>button{min-height:28px;padding:4px 9px;font-size:11px;border-radius:6px}
.terminal-fullscreen-header>button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}
@media(pointer:coarse){.terminal-fullscreen-header{min-height:48px;padding-top:max(2px,env(safe-area-inset-top));padding-bottom:2px}.terminal-fullscreen-header>button{min-height:44px;min-width:44px}}
@media(max-width:500px){
 .terminal-fullscreen-header{flex-wrap:nowrap;gap:6px}.terminal-fullscreen-title{flex:1;margin:0}.terminal-fullscreen-header>button{padding:4px 9px}
 .terminal-fullscreen-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .terminal-fullscreen-shortcuts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow-x:hidden;padding:4px max(6px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left))}
 .terminal-fullscreen-shortcuts>button{min-width:0;min-height:44px;padding:4px 2px;font-size:11px}
}
@media(max-width:310px){.terminal-fullscreen-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(pointer:fine) and (max-height:450px) and (min-width:501px){.terminal-fullscreen-header{min-height:36px}.terminal-fullscreen-header>button{min-height:32px}.terminal-fullscreen-shortcuts{gap:4px;padding-top:3px;padding-bottom:max(3px,env(safe-area-inset-bottom))}.terminal-fullscreen-shortcuts>button{min-height:36px;padding:4px 8px}}
/* Match normal app typography even when fullscreen changes inheritance. */
.terminal-fullscreen-header,.terminal-fullscreen-active>.terminal-command-composer{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.terminal-fullscreen-header{line-height:1.35}.terminal-fullscreen-header>button{font-family:inherit;line-height:1.35}
.terminal-fullscreen-shortcuts{font-family:ui-monospace,monospace;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.terminal-fullscreen-shortcuts>button{font-family:inherit;line-height:1.2}

/* A dedicated tmux history rail; native xterm scrollback is empty in tmux. */
.terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.xterm,.popout-terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.xterm{padding-right:14px;box-sizing:border-box}
.terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.terminal-history-selection,.popout-terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.terminal-history-selection{right:14px}
.terminal-tmux-scrollbar{position:absolute;inset:0 0 0 auto;width:14px;z-index:8;background:color-mix(in srgb,var(--muted) 7%,var(--bg));border-left:1px solid var(--line);cursor:default;touch-action:none;user-select:none}
.terminal-tmux-scrollbar:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.terminal-tmux-scrollbar-thumb{position:absolute;left:3px;right:3px;min-height:24px;max-height:100%;border-radius:6px;background:color-mix(in srgb,var(--muted) 55%,var(--panel))}
.terminal-tmux-scrollbar:hover>.terminal-tmux-scrollbar-thumb,.terminal-tmux-scrollbar:focus-visible>.terminal-tmux-scrollbar-thumb{background:var(--muted)}
.terminal-tmux-scrollbar[aria-busy=true]>.terminal-tmux-scrollbar-thumb{background:var(--accent)}
@media(pointer:coarse){.terminal-tmux-scrollbar{width:24px}.terminal-tmux-scrollbar-thumb{left:6px;right:6px;min-height:32px}.terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.xterm,.popout-terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.xterm{padding-right:24px}.terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.terminal-history-selection,.popout-terminal-surface:has(>.terminal-tmux-scrollbar:not([hidden]))>.terminal-history-selection{right:24px}}
.terminal-fullscreen-capable:has(>.terminal-surface>.terminal-tmux-scrollbar:not([hidden]))>.terminal-fullscreen-enter,.terminal-fullscreen-capable:has(>.popout-terminal-surface>.terminal-tmux-scrollbar:not([hidden]))>.terminal-fullscreen-enter{right:22px}
@media(pointer:coarse){.terminal-fullscreen-capable:has(>.terminal-surface>.terminal-tmux-scrollbar:not([hidden]))>.terminal-fullscreen-enter,.terminal-fullscreen-capable:has(>.popout-terminal-surface>.terminal-tmux-scrollbar:not([hidden]))>.terminal-fullscreen-enter{right:32px}}

/* Workspace entry points reuse the current dialog and theme primitives. */
.new-workspace-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;padding:24px}.new-workspace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.new-workspace-heading h2{margin:0}.new-workspace-close{border:0;background:transparent;font-size:24px;padding:0 4px;color:inherit}.new-workspace-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.new-workspace-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;min-height:126px;padding:18px;border:1px solid transparent;border-radius:10px;background:transparent;color:inherit}.new-workspace-option:not(:disabled):hover,.new-workspace-option:focus-visible{background:var(--panel);border-color:var(--line)}.new-workspace-option svg{width:20px;height:20px}.new-workspace-option-label{font-size:16px;font-weight:650}.new-workspace-option-detail{font-size:13px;line-height:1.5;color:var(--muted)}.new-workspace-option:disabled{opacity:.55;cursor:default}.new-workspace-coming{position:absolute;right:14px;top:16px;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:2px 6px}.computer-access-options{border:0;padding:0;margin:20px 0}.computer-access-options legend{font-weight:600;margin-bottom:10px}.computer-access-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.computer-access-option input{width:auto;margin-top:4px}.computer-access-option span{display:grid;gap:5px}.computer-access-option .muted{font-size:13px;line-height:1.5}.computer-workspace-dialog{width:min(540px,calc(100vw - 32px))}@media(max-width:540px){.new-workspace-dialog{padding:20px}.new-workspace-options{grid-template-columns:1fr;gap:4px}.new-workspace-option{min-height:100px;padding:14px}.new-workspace-option-detail{padding-right:10px}}

.new-workspace-option:disabled:hover{background:transparent}
.terminal-history-empty{position:absolute;left:10px;right:28px;bottom:10px;z-index:9;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);box-shadow:0 4px 16px #0003;font:12px/1.4 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}.terminal-history-empty>span{flex:1;min-width:140px}.terminal-history-empty>button{font-size:11px;padding:6px 9px;min-height:32px}@media(pointer:coarse){.terminal-history-empty>button{min-height:44px}}
.computer-workspace-dialog{max-width:540px;overflow:hidden}.computer-workspace-dialog>form{padding:24px 24px 0;max-height:calc(100dvh - 48px);overflow:auto}.computer-workspace-dialog .actions{height:auto;min-height:64px;letter-spacing:normal;margin:24px -24px 0;padding:14px 20px;flex-wrap:wrap}.computer-workspace-dialog .actions button{max-width:100%;white-space:normal}.computer-workspace-dialog .computer-access-option{margin:0 0 12px}.computer-workspace-dialog .computer-access-options{margin-bottom:0}

.computer-recent-projects{margin:20px 0}.computer-recent-projects h3{font-size:13px;margin:0 0 10px}.computer-recent-project{display:grid;gap:4px;width:100%;text-align:left;background:transparent;border-color:var(--line);margin:6px 0;padding:12px}.computer-recent-project .muted{font-size:11px;overflow-wrap:anywhere}.computer-install-link{display:block;margin:16px 0 0;padding:0;border:0;background:transparent;font-size:12px;color:var(--accent)}
.computer-workspace-details{display:grid;gap:14px;margin:20px 0}.computer-workspace-details>div{display:grid;gap:4px}.computer-workspace-details dt{font-size:11px;color:var(--muted)}.computer-workspace-details dd{margin:0;font-size:13px;overflow-wrap:anywhere}

.terminal-touch-select-open,.terminal-touch-select-header{display:none}
@media(pointer:coarse){.terminal-touch-select-open,.terminal-touch-select-header{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 10px;border:1px solid var(--border,#475569);border-radius:8px;background:var(--panel,#172033);color:var(--text,#e2e8f0);font:500 12px Inter,system-ui,sans-serif}.terminal-touch-select-open{position:absolute;z-index:8;right:60px;top:8px}.terminal-fullscreen-active>.terminal-touch-select-open{display:none}.terminal-fullscreen-capable:has(.terminal-tmux-scrollbar:not([hidden]))>.terminal-touch-select-open{right:84px}}
.terminal-touch-selection{box-sizing:border-box;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;border:1px solid #475569;border-radius:14px;background:#111827;color:#e5e7eb;font:14px/1.5 Inter,system-ui,sans-serif}
.terminal-touch-selection::backdrop{background:#0009}.terminal-touch-selection h2{margin:0;font-size:18px}.terminal-touch-selection p{margin:8px 0 16px;color:#aebcd0}.terminal-touch-selection textarea{box-sizing:border-box;width:100%;height:45dvh;min-height:120px;padding:12px;border:1px solid #475569;border-radius:8px;background:#090f1c;color:#e5e7eb;font:16px/1.5 ui-monospace,monospace;white-space:pre-wrap;resize:none;user-select:text;-webkit-user-select:text;-webkit-touch-callout:default;touch-action:auto}.terminal-touch-selection>div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.terminal-touch-selection button{min-height:44px;padding:8px 14px;border:1px solid #475569;border-radius:8px;background:#1e293b;color:#e5e7eb;font:inherit}.terminal-touch-selection [role=status]{display:block;min-height:21px}

/* Keep access actions visible while long approved-folder lists scroll. */
.app-confirm-dialog.computer-workspace-dialog:has(.computer-access-body){padding:0;max-height:calc(100dvh - 32px);overflow:hidden}
.computer-workspace-dialog:has(.computer-access-body)>form{display:grid;grid-template-rows:minmax(0,1fr) auto;padding:0;max-height:calc(100dvh - 36px);overflow:hidden}
.computer-access-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px;scrollbar-gutter:stable}
.computer-workspace-dialog:has(.computer-access-body) .actions{position:static;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;height:auto;min-height:68px;margin:0;padding:14px 20px;border-top:1px solid var(--line);background:var(--panel)}
@media(max-width:540px){.computer-access-body{padding:20px}.computer-workspace-dialog:has(.computer-access-body) .actions{padding:12px 16px}.computer-workspace-dialog:has(.computer-access-body) .actions button{flex:1;min-height:42px}}

/* Keep workspace choices visually distinct at both grid sizes. */
.new-workspace-options{gap:0}.new-workspace-option{border-radius:0;border-color:transparent}.new-workspace-option:nth-child(odd){border-right-color:var(--line)}
@media(max-width:540px){.new-workspace-options{gap:0}.new-workspace-option:nth-child(odd){border-right-color:transparent}.new-workspace-option:not(:last-child){border-bottom-color:var(--line)}}

.connection-heading>.connection-back,.workspace-header-back{flex:none;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;color:inherit;font:inherit;white-space:nowrap}.computer-workspace-heading{display:flex;align-items:center;gap:14px;margin-bottom:16px}.computer-workspace-heading h2{margin:0}.connection-heading>.connection-back{margin-right:12px}

.computer-project-editor{max-height:calc(100dvh - 32px);overflow:auto}.computer-project-editor>form{display:flex;flex-direction:column;gap:20px}.computer-project-name{display:grid;gap:8px;font-weight:600}.computer-project-name input{width:100%;box-sizing:border-box;font-size:16px}.computer-project-name .muted{font-size:12px;font-weight:400}.computer-project-editor .computer-workspace-details{margin:0;display:grid;gap:12px}.computer-project-editor .computer-workspace-details>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}.computer-project-editor dt{color:var(--muted);font-size:12px}.computer-project-editor dd{margin:0;overflow-wrap:anywhere}.computer-project-sharing{border-top:1px solid var(--line);padding-top:18px}.computer-project-sharing h3{margin:0;font-size:14px}.computer-project-sharing p{margin:8px 0;font-size:12px;line-height:1.6}.computer-project-sharing ol{padding-left:20px;margin:12px 0;line-height:1.7;font-size:13px}.computer-project-route{font-size:12px;line-height:1.6;margin:0}.computer-project-status{margin:0;font-size:13px}.computer-project-status:empty{display:none}.computer-project-editor .actions{margin:0;padding-top:16px;border-top:1px solid var(--line)}

.terminal-selection-copy{position:absolute;z-index:10;top:8px;right:56px;min-height:32px;padding:5px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);font:500 12px/20px system-ui,sans-serif;box-shadow:0 2px 8px #0002;cursor:pointer}.terminal-selection-copy[hidden]{display:none}.terminal-selection-copy:hover{border-color:var(--accent)}.terminal-selection-copy:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Terminal file link action dialog. */
.file-link-dialog{width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.file-link-path{overflow-wrap:anywhere;max-height:100px;overflow:auto}.file-link-dialog fieldset{border:0;padding:0;margin:20px 0}.file-link-dialog legend{font-size:12px;color:var(--muted);margin-bottom:8px}.file-link-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;margin:8px 0}.file-link-option:has(input:checked){border-color:var(--accent)}.file-link-option input{width:auto;margin:4px 0 0;flex:none}.file-link-option>span{display:grid;gap:4px}.file-link-dialog .actions{display:flex;justify-content:flex-end;gap:8px}

/* Terminal file link action dialog. */
.file-link-dialog{width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto}.file-link-path{overflow-wrap:anywhere;max-height:100px;overflow:auto}.file-link-dialog fieldset{border:0;padding:0;margin:20px 0}.file-link-dialog legend{font-size:12px;color:var(--muted);margin-bottom:8px}.file-link-option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;margin:8px 0}.file-link-option:has(input:checked){border-color:var(--accent)}.file-link-option input{width:auto;margin:4px 0 0;flex:none}.file-link-option>span{display:grid;gap:4px}.file-link-dialog .actions{display:flex;justify-content:flex-end;gap:8px}

/* Collapsible workspace terminal list. The popover uses the existing live rows. */
.terminal-sidebar-content{display:contents}
.connection-terminal-heading .terminal-sidebar-collapse{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:3px;color:var(--muted);border-radius:4px}
.connection-terminal-heading .terminal-sidebar-collapse:hover,.terminal-sidebar-switcher:hover{background:var(--line);color:var(--text)}
.terminal-sidebar-switcher{display:flex;align-items:center;justify-content:center;width:30px;height:32px;padding:5px;border:0;background:transparent;color:var(--muted);border-radius:4px}
.terminal-sidebar-switcher[aria-expanded=true]{color:var(--accent);background:var(--line)}
.terminal-stage.terminals-collapsed{flex-direction:row}
.terminal-stage.terminals-collapsed>.terminal-list-divider{display:none}
.terminal-stage>.connection-terminals.terminals-collapsed{display:block;width:38px!important;min-width:38px!important;max-width:38px!important;max-height:none;height:auto;align-self:stretch;padding:5px 3px;border-top:0;border-left:1px solid var(--line);overflow:visible;flex:0 0 38px;box-sizing:border-box}
.terminal-sidebar-content[hidden],.terminal-sidebar-switcher[hidden]{display:none!important}
.terminal-sidebar-content.terminal-sidebar-popover{position:fixed;inset:auto;display:block;width:min(280px,calc(100vw - 64px));box-sizing:border-box;padding:10px 8px;margin:0;border:1px solid var(--line);border-radius:8px;background:var(--panel,#0d1520);color:var(--text);box-shadow:0 12px 36px #0006;overflow:auto;z-index:200}
.terminal-sidebar-popover .terminal-sidebar-collapse{transform:rotate(180deg)}
.terminal-sidebar-popover::backdrop{background:transparent}

.terminal-sidebar-popover .connection-terminal-list{display:block;overflow:visible}
.terminal-sidebar-popover .connection-terminal-row{margin-bottom:4px}

/* Files, Search and Source Control share one keyboard-accessible sidebar. */
.file-navigation-header .explorer-view-tabs>button{width:36px;padding:8px;height:36px}
.file-navigation-header .explorer-view-tabs>button[hidden]{display:none}
.source-control-pane{overflow:auto;padding:8px;gap:8px;font-size:12px}
.source-control-pane h3{font-size:12px;margin:12px 0 2px}
.source-control-pane p{margin:2px 0;line-height:1.45;overflow-wrap:anywhere}
.git-toolbar{display:flex;flex-wrap:wrap;gap:5px}.git-toolbar button,.git-file button{font-size:11px;padding:5px 7px}
.git-repository,.git-author,.git-empty,.source-control-pane details{color:var(--muted);font-size:11px}
.git-branch{font-weight:600}.git-error{color:var(--danger,#ef8989)}.git-progress{color:var(--accent)}
.git-file{display:flex;gap:4px;align-items:center}.git-file .git-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:left;white-space:nowrap;background:transparent;border:0}
.git-commit-message{box-sizing:border-box;width:100%;min-height:74px;resize:vertical;margin-top:8px;font:inherit}
.remote-tree-row[data-git-status]{display:flex;align-items:center;gap:5px}.git-explorer-badge{margin-left:auto;padding:0 5px;color:var(--accent);font-size:10px;flex-shrink:0}
.remote-tree-row[data-git-status=conflict] .git-explorer-badge{color:var(--danger,#ef8989)}
.git-diff-dialog{width:min(1100px,94vw);max-width:94vw;max-height:90dvh;padding:16px;box-sizing:border-box}.git-diff-dialog h2{font-size:14px;overflow-wrap:anywhere}.git-diff-editor{height:60dvh;overflow:auto;border:1px solid var(--line)}.git-diff-editor .cm-editor{height:100%}.git-diff-dialog .actions{margin-top:12px}
@media(pointer:coarse){.file-navigation-header .explorer-view-tabs>button{width:44px;height:44px;padding:8px}.git-file button{min-height:36px}}

/* End Source Control sidebar. */
/* Source Control pane polish */
.source-control-pane{gap:0;padding:0;font-size:12px}.git-panel-header{display:flex;align-items:center;gap:4px;padding:12px 12px 8px}.git-panel-identity{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.git-panel-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.source-control-pane svg{width:16px;height:16px;flex:none}.source-control-pane .git-icon-button{border:0;background:transparent;padding:5px;width:28px;height:28px;color:var(--muted);display:grid;place-items:center}.git-icon-button:hover{background:var(--panel);color:var(--text)}
.git-branch-row{display:flex;align-items:center;gap:8px;padding:0 12px 12px}.source-control-pane .git-branch-button{display:flex;align-items:center;gap:6px;min-width:0;border:0;background:transparent;color:var(--accent);padding:2px 0;font:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-control-pane .git-tracking{margin-left:auto;font-size:10px;color:var(--muted);white-space:nowrap}.git-commit-box{margin:0 12px 16px;display:flex;flex-direction:column;gap:7px}.source-control-pane .git-commit-message{margin:0;min-height:76px;max-height:180px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);font-size:12px;line-height:1.5}.source-control-pane .git-commit-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:33px;border-radius:6px;font-size:12px;font-weight:600}.git-commit-count{font-size:10px;padding:0 5px;border-radius:4px;background:color-mix(in srgb,currentColor 12%,transparent)}.git-commit-button:disabled{opacity:.5}
.git-change-section{padding:0 5px 12px}.source-control-pane h3.git-section-heading{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;margin:0;padding:7px 8px;color:var(--muted)}.git-section-count{font-size:10px;min-width:17px;text-align:center;padding:1px 4px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--text)}.source-control-pane .git-file{gap:0;border-radius:5px;min-height:34px}.git-file:hover{background:var(--panel)}.source-control-pane .git-file-name{display:flex;align-items:center;gap:8px;padding:7px 8px;min-height:34px;color:var(--text)}.git-file-name>svg{color:var(--muted);width:14px;height:14px}.git-file-label{display:flex;align-items:baseline;gap:7px;min-width:0;flex:1;overflow:hidden}.git-file-basename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-file-directory{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.git-file-status{font-size:10px;font-weight:600;color:var(--accent);flex:none}.git-file[data-status=conflict] .git-file-status{color:var(--danger,#ef8989)}.source-control-pane .git-file-action{border:0;background:transparent;font-size:16px;line-height:1;width:28px;height:28px;min-height:28px;padding:3px;color:var(--muted);flex:none}.git-file-action:hover{color:var(--accent);background:var(--bg)}.source-control-pane .git-empty{font-size:11px;line-height:1.6;padding:3px 8px 8px}.source-control-pane .git-show-more{margin:4px 8px;border:0;background:transparent;color:var(--accent);font-size:11px}
.git-state-card{margin:20px 14px;padding:18px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.git-state-card>svg{width:34px;height:34px;color:var(--muted);margin-bottom:3px}.source-control-pane .git-state-card h3{font-size:14px;color:var(--text);margin:0}.source-control-pane .git-state-card p{font-size:12px;color:var(--muted);line-height:1.7}.git-state-card>button{font-size:12px;margin-top:4px;max-width:100%}.source-control-pane .git-state-card .git-error{font-size:11px;color:var(--danger,#ef8989)}.git-inline-error{margin:0 12px 12px!important;padding:9px 10px;border:1px solid color-mix(in srgb,var(--danger,#ef8989) 30%,transparent);border-radius:6px;background:color-mix(in srgb,var(--danger,#ef8989) 6%,transparent);font-size:11px}.source-control-pane .git-environment{margin:auto 12px 0;padding:12px 0;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.git-environment summary{cursor:pointer;padding:3px 0 7px}.git-environment p{padding-bottom:5px;line-height:1.6}.source-control-pane .git-progress{padding:0 12px 10px;font-size:11px;color:var(--accent)}
@media(pointer:coarse){.source-control-pane .git-file-action{width:44px;height:44px}.source-control-pane .git-file-name{min-height:44px}.source-control-pane .git-icon-button{width:44px;height:44px}}
.source-control-pane .git-current-folder{font:10px ui-monospace,monospace;max-width:100%;overflow-wrap:anywhere;color:var(--muted)}
/* End Source Control pane polish */

.terminal-disconnect-host{position:relative;box-sizing:border-box}
.terminal-disconnect-host:has(>.terminal-disconnect-overlay:not([hidden])){padding-top:44px}
.terminal-disconnect-overlay{position:absolute;top:0;left:0;right:0;height:44px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;box-sizing:border-box;background:var(--panel,#0d1520);color:var(--text);border-bottom:1px solid var(--line);font-family:inherit}
.terminal-disconnect-overlay[hidden]{display:none!important}
.terminal-disconnect-label{min-width:0;font-size:12px;line-height:1.4;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.terminal-disconnect-label::before{content:'';display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--muted);vertical-align:middle}
.terminal-disconnect-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.terminal-disconnect-actions button{min-height:30px;padding:5px 12px;font-size:12px;border-radius:5px}
.terminal-disconnect-actions .terminal-disconnect-dismiss{width:28px;min-height:28px;padding:2px;border:0;background:transparent;color:var(--muted);font-size:20px}
.terminal-disconnect-dismiss:hover{color:var(--text)}
.terminal-disconnect-host>.terminal-surface{transition:opacity 120ms ease}
.terminal-disconnect-host.terminal-is-disconnected>.terminal-surface{opacity:.65}
@media(max-width:650px){.terminal-disconnect-overlay{gap:6px;padding-inline:8px}.terminal-disconnect-actions{gap:4px}}

/* A restrained signal scanner for real connection progress. */
.terminal-disconnect-overlay.terminal-is-connecting{border-bottom-color:var(--accent);background:var(--panel,#0d1520);overflow:hidden}
.terminal-is-connecting .terminal-disconnect-label{display:flex;align-items:center;gap:10px;color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.terminal-is-connecting .terminal-disconnect-label::before{width:10px;height:10px;margin-right:0;flex:0 0 10px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;background:transparent;animation:terminal-connect-spin .9s linear infinite}
.terminal-disconnect-overlay.terminal-is-connecting::after{content:'';position:absolute;bottom:0;left:-30%;width:30%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:terminal-connect-scan 2s ease-in-out infinite;pointer-events:none}
.terminal-disconnect-actions button[hidden]{display:none!important}
@keyframes terminal-connect-spin{to{transform:rotate(360deg)}}
@keyframes terminal-connect-scan{to{left:100%}}
@media(prefers-reduced-motion:reduce){.terminal-is-connecting .terminal-disconnect-label::before,.terminal-disconnect-overlay.terminal-is-connecting::after{animation:none}.terminal-disconnect-overlay.terminal-is-connecting::after{left:0;width:100%;opacity:.4}}

/* Independent vault checkpoint status */
.vault-checkpoint-notice{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:9000;width:min(640px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--panel,#101820);color:var(--text,#eee);border:1px solid var(--accent,#9ee6cf);border-radius:10px;font-size:13px;box-shadow:0 8px 30px #0006}.vault-checkpoint-notice[hidden]{display:none}.vault-checkpoint-notice span{flex:1}.vault-checkpoint-notice button{flex-shrink:0}
/* End independent vault checkpoint status */
.source-control-pane .git-discovered-repositories{padding:0 12px 16px}.git-discovered-repositories h3{font-size:11px;color:var(--muted);margin:8px 0!important}.source-control-pane .git-rescan{font-size:10px;border:0;background:transparent;color:var(--accent);padding:4px 0;margin-bottom:7px}.source-control-pane .git-repository-choice{display:flex;gap:9px;align-items:center;width:100%;text-align:left;padding:10px 8px;margin:4px 0;border:1px solid var(--line);border-radius:6px;background:transparent}.git-repository-choice:hover{background:var(--panel)}.git-repository-choice>span{min-width:0;display:flex;flex-direction:column;gap:4px}.git-repository-choice strong{font-size:12px}.git-repository-choice small{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-repository-switcher{cursor:pointer}.git-repository-switcher:focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.source-control-pane .git-open-custom{display:block;width:100%;margin-top:12px;padding:9px 12px;text-align:center;font-size:12px;border:1px dashed var(--line);border-radius:6px;background:transparent;color:var(--muted)}
.git-open-custom:hover{color:var(--text);border-color:var(--accent)}

/* Git Usability: SHAI surfaces, explicit actions, quiet hierarchy. */
.source-control-pane:not([hidden]){display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0;background:var(--panel,#0d1520);font-size:12px}
.source-control-pane .git-panel-header{display:flex;align-items:center;gap:4px;min-height:44px;padding:8px 12px 4px;flex-shrink:0}
.source-control-pane .git-panel-identity{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:4px 0;border:0;background:transparent;color:var(--text);text-align:left}
.git-panel-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:-.1px}
.git-panel-identity>svg{width:15px;height:15px;flex-shrink:0;color:var(--muted)}
.git-repository-caret{font-size:14px;color:var(--muted)}
.source-control-pane .git-icon-button{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:5px;border:0;border-radius:5px;background:transparent;color:var(--muted)}
.git-icon-button:hover{background:var(--line);color:var(--text)}
.git-repository-context{padding:0 12px 8px;flex-shrink:0;min-width:0}
.git-repository-context p{margin:0;font-size:10px;line-height:1.6;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.git-context-host{font-weight:500}.git-context-path{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;opacity:.85}
.source-control-pane .git-branch-row{display:flex;align-items:center;gap:8px;padding:0 12px 10px;flex-shrink:0}
.source-control-pane .git-branch-button{padding:2px 0;font-size:11px;color:var(--accent)}
.git-branch-button svg{width:14px;height:14px}
.source-control-pane .git-tracking{font-size:10px;color:var(--muted);margin:0 0 0 auto}
.git-sync-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 12px 12px;flex-shrink:0;border-bottom:1px solid var(--line)}
.source-control-pane .git-sync-actions button{min-height:32px;padding:6px 8px;font-size:11px;font-weight:500;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--text)}
.source-control-pane .git-sync-actions .git-publish-button{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent)}
.source-control-pane button:disabled{opacity:.45;cursor:default}
.git-changes-scroll{flex:1;min-height:72px;overflow:auto;overscroll-behavior:contain;padding:4px 0 8px}
.source-control-pane .git-change-section{margin:0;padding:4px 8px 8px}
.source-control-pane .git-section-heading{display:flex;align-items:center;gap:6px;padding:6px 4px;margin:0}
.source-control-pane .git-section-heading h3{margin:0;padding:0;font-size:11px;font-weight:600;color:var(--text);letter-spacing:0;text-transform:none}
.git-section-count{padding:1px 5px;font-size:10px;border-radius:4px;background:var(--line);color:var(--muted)}
.source-control-pane .git-stage-all{margin-left:auto;padding:3px 4px;border:0;background:transparent;color:var(--accent);font-size:10px}
.source-control-pane .git-file{display:flex;align-items:center;gap:4px;padding:2px 0;border:0;border-radius:5px;min-height:36px}
.git-file:hover{background:color-mix(in srgb,var(--muted) 7%,transparent)}
.source-control-pane .git-file-name{display:flex;align-items:center;gap:7px;flex:1;min-width:0;min-height:32px;padding:4px;background:transparent;border:0;color:var(--text);text-align:left}
.git-file-name>svg{width:13px;height:13px;flex-shrink:0;color:var(--muted)}
.git-file-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}
.git-file-basename{font-size:11px;font-weight:450;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.git-file-directory{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.git-file-directory:empty{display:none}
.source-control-pane .git-file-status{flex-shrink:0;padding:1px 3px;font-size:9px;font-weight:450;border-radius:3px;color:var(--muted);background:transparent}
.git-file[data-status=untracked] .git-file-status{color:var(--accent)}
.git-file[data-status=conflict] .git-file-status{color:var(--danger)}
.source-control-pane .git-file-action{flex-shrink:0;min-height:28px;width:auto;padding:3px 5px;font-size:10px;border:0;border-radius:4px;background:transparent;color:var(--accent)}
.git-file-action:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.source-control-pane .git-empty{margin:4px 4px 8px;color:var(--muted);font-size:11px;line-height:1.6}
.source-control-pane .git-commit-box{display:flex;flex-direction:column;gap:7px;flex-shrink:0;margin:0;padding:12px;border-top:1px solid var(--line);background:var(--panel,#0d1520)}
.git-commit-box label{font-size:11px;font-weight:500;margin:0;color:var(--text)}
.source-control-pane .git-commit-message{margin:0;width:100%;box-sizing:border-box;min-height:64px;max-height:130px;padding:9px 10px;font-size:12px;line-height:1.5;font-family:inherit;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);resize:vertical}
.git-commit-message:focus{border-color:var(--accent);outline:1px solid color-mix(in srgb,var(--accent) 20%,transparent);outline-offset:1px}
.source-control-pane .git-commit-button{min-height:34px;width:100%;margin:0;padding:7px 12px;font-size:12px;font-weight:600;border-radius:5px}
.git-commit-help{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.source-control-pane .git-environment{margin:0;padding:8px 12px;border-top:1px solid var(--line);flex-shrink:0;font-size:10px;max-height:140px;overflow:auto;color:var(--muted)}
.git-environment summary{color:var(--muted);cursor:pointer;font-size:10px;opacity:1}
.git-environment p{margin:6px 0;overflow-wrap:anywhere}
.git-help-card,.git-unsaved-card,.git-success,.source-control-pane .git-inline-error{flex-shrink:0;margin:0 12px 10px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:transparent;font-size:11px;line-height:1.5;max-height:130px;overflow:auto}
.git-help-card p,.git-unsaved-card p,.git-success p{margin:0;font-size:11px;line-height:1.6}
.git-unsaved-card{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.git-unsaved-card button,.git-help-card button{margin-top:6px;padding:4px 0;font-size:11px;border:0;background:transparent;color:var(--accent)}
.git-success{display:flex;align-items:start;gap:8px;color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}
.git-success>p{flex:1}.git-success>button{border:0;background:transparent;padding:0 2px;line-height:1.3;color:var(--muted);font-size:16px}
.source-control-pane .git-progress,.git-loading{display:flex;align-items:center;gap:8px;margin:0;padding:9px 12px;color:var(--muted);font-size:11px;border-bottom:1px solid var(--line);flex-shrink:0}
.git-progress::before,.git-loading::before{content:'';width:10px;height:10px;flex:0 0 10px;border:1.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:git-operation-spin .9s linear infinite}
@keyframes git-operation-spin{to{transform:rotate(360deg)}}
.git-conflict-note{margin:0;padding:10px 12px 2px;color:var(--danger);font-size:11px;line-height:1.5}
.source-control-pane .git-state-card{padding:22px 16px;text-align:left;display:flex;align-items:stretch;flex-direction:column;gap:10px;flex-shrink:0}
.git-state-card>svg{width:24px;height:24px;color:var(--muted);margin:0 0 4px}
.source-control-pane .git-state-card h3{margin:0;font-size:14px;color:var(--text);letter-spacing:-.2px}
.git-state-card>p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}
.git-state-card>button{min-height:34px;font-size:12px}
.source-control-pane .git-discovered-repositories{min-height:0;overflow:auto;flex:1}
.git-branch-dialog{width:min(440px,92vw)}
.git-branch-dialog input{box-sizing:border-box;width:100%;margin:0 0 10px;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px}
.git-branch-options{max-height:320px;overflow:auto;display:flex;flex-direction:column;gap:3px}
.git-branch-option{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 10px;border:0;border-radius:5px;background:transparent;color:var(--text);text-align:left;font-size:12px}
.git-branch-option:hover{background:var(--line)}.git-branch-option small{font-size:10px;color:var(--muted);white-space:nowrap}.git-branch-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-height:620px){.source-control-pane:not([hidden]){overflow:auto}.git-changes-scroll{flex:none;overflow:visible}.source-control-pane .git-commit-message{min-height:48px}.source-control-pane .git-environment{max-height:none;overflow:visible}}
@media(prefers-reduced-motion:reduce){.git-progress::before,.git-loading::before{animation:none}}
.git-identity-card{display:flex;flex-direction:column;gap:8px;flex-shrink:0;margin:0;padding:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:300px;overflow:auto;background:var(--bg)}
.git-identity-card h3{font-size:12px;font-weight:600;margin:0;color:var(--text)}
.git-identity-card>p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.git-identity-card label,.git-setup-fields label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);margin:0}
.git-identity-card input,.git-identity-card select{box-sizing:border-box;width:100%;min-height:30px;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--panel);color:var(--text);font-size:12px}
.git-identity-card>button{min-height:32px;font-size:12px}
.git-setup-dialog{width:min(460px,94vw);box-sizing:border-box}
.git-setup-dialog h2{font-size:17px;letter-spacing:-.3px}
.git-setup-dialog>form>p{font-size:12px;line-height:1.6}
.git-setup-fields{display:flex;flex-direction:column;gap:14px;margin:18px 0}
.git-setup-fields input,.git-setup-fields select{box-sizing:border-box;width:100%;min-height:38px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px}
@media(max-height:620px){.git-identity-card{max-height:none;overflow:visible}}
.git-history-dialog{width:min(580px,94vw);box-sizing:border-box}.git-history-dialog h2{font-size:16px;letter-spacing:-.2px}.git-history-dialog>p{font-size:12px;line-height:1.6}.git-history-list{max-height:55vh;overflow:auto;display:flex;flex-direction:column;gap:4px;margin:16px 0}.git-history-list>button{display:flex;flex-direction:column;gap:6px;padding:12px;text-align:left;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--text)}.git-history-list strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.git-history-list small{font-size:10px;color:var(--muted)}.git-history-list>button:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,transparent)}

@media(pointer:coarse){.source-control-pane .git-file-action{min-width:44px;min-height:44px;height:auto}.source-control-pane .git-file-name{min-height:44px}.source-control-pane .git-icon-button{width:44px;height:44px}.source-control-pane .git-stage-all{min-height:36px}.source-control-pane .git-sync-actions button{min-height:40px}}



/* Git modules: one scroll surface, three clear tasks. */
.source-control-pane:not([hidden]){display:flex;flex-direction:column;gap:10px;padding:10px 8px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain;background:var(--bg);font-size:12px}
.source-control-pane>.git-module{flex:none;min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);overflow:visible;box-sizing:border-box}
.source-control-pane .git-panel-header{padding:10px 10px 4px;min-height:0;gap:2px}
.source-control-pane .git-panel-identity{padding:2px 0;gap:7px}
.source-control-pane .git-panel-identity strong{font-size:13px;font-weight:600}
.source-control-pane .git-icon-button{width:28px;height:28px}
.source-control-pane .git-repository-context{padding:0 10px 10px}
.source-control-pane .git-repository-context p{font-size:10px;line-height:1.6}
.source-control-pane .git-repository-context .git-context-host{font-family:inherit;font-size:11px;color:var(--muted)}
.source-control-pane .git-context-path{font-family:inherit;opacity:.8}
.source-control-pane .git-branch-row{padding:9px 10px;gap:8px;border-top:1px solid var(--line);flex-wrap:wrap}
.source-control-pane .git-branch-button{font-size:12px;gap:6px;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;text-align:left}
.source-control-pane .git-tracking{font-size:10px;white-space:normal}
.source-control-pane .git-sync-actions{padding:0 10px 10px;border:0;gap:6px}
.source-control-pane .git-sync-actions button{min-height:32px;font-size:11px;border-radius:5px}
.source-control-pane .git-module-title{margin:0;padding:12px 10px 10px;color:var(--text);font-size:12px;font-weight:600;letter-spacing:0;line-height:1.4}
.git-file-tabs{display:flex;gap:4px;padding:0 8px 9px;border-bottom:1px solid var(--line)}
.source-control-pane .git-file-tabs>button{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;min-width:0;min-height:32px;padding:6px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);font-size:11px;font-weight:500}
.source-control-pane .git-file-tabs>button[aria-selected=true]{color:var(--text);background:var(--bg);border-color:var(--line)}
.source-control-pane .git-section-count{min-width:0;padding:1px 5px;border:0;border-radius:4px;background:color-mix(in srgb,var(--muted) 13%,transparent);font-size:10px;font-weight:500;color:var(--muted)}
.source-control-pane .git-file-tabs>button[aria-selected=true] .git-section-count{color:var(--accent)}
.source-control-pane .git-change-section{padding:8px 8px 10px;margin:0}
.source-control-pane .git-section-heading{padding:2px 2px 8px;gap:5px}
.source-control-pane .git-section-heading h3{font-size:10px;font-weight:400;color:var(--muted);line-height:1.4}
.source-control-pane .git-stage-all{font-size:10px;min-height:28px;padding:4px 3px;white-space:nowrap}
.source-control-pane .git-file{align-items:center;gap:6px;padding:6px 1px;min-height:46px;border-radius:4px}
.source-control-pane .git-file+.git-file{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}
.source-control-pane .git-file-name{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:start;gap:7px;min-height:0;padding:3px 1px;white-space:normal;overflow:visible;border:0;background:transparent}
.source-control-pane .git-file-name>svg{width:12px;height:14px;margin-top:1px}
.source-control-pane .git-file-label{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;overflow:visible}
.source-control-pane .git-file-basename{white-space:normal;overflow:visible;overflow-wrap:anywhere;text-overflow:clip;font-size:11px;line-height:1.4;font-weight:500}
.source-control-pane .git-file-directory{font-size:9px;line-height:1.4;color:var(--muted);white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}
.source-control-pane .git-file-status{display:none}
.source-control-pane .git-file[data-status=untracked] .git-file-name>svg{color:var(--accent)}
.source-control-pane .git-file-action{padding:5px 6px;min-width:44px;width:auto;height:auto;min-height:29px;border:1px solid var(--line);border-radius:5px;background:transparent;font-size:10px;line-height:1.3;color:var(--text)}
.source-control-pane .git-file-action:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}
.source-control-pane .git-change-section>button{margin:8px 0 0;width:100%;padding:8px;border:0;border-radius:5px;background:var(--bg);color:var(--muted);font-size:11px}
.source-control-pane .git-empty{margin:0;padding:8px 2px;font-size:11px;line-height:1.6}
.source-control-pane .git-commit-box{gap:8px;padding:0 10px 12px;border-top:1px solid var(--line)}
.source-control-pane .git-commit-box .git-module-title{padding:12px 0 2px}
.source-control-pane .git-commit-box>label{font-size:10px;font-weight:400;color:var(--muted)}
.source-control-pane .git-commit-message{min-height:72px;max-height:180px;font-size:12px;padding:9px;border-radius:5px}
.source-control-pane .git-commit-button{font-size:12px;min-height:34px}
.source-control-pane .git-commit-button:disabled{background:var(--bg);color:var(--muted);border:1px solid var(--line);opacity:.65}
.source-control-pane .git-commit-help{font-size:10px;line-height:1.6}
.source-control-pane .git-identity-card{padding:12px 10px;gap:9px;max-height:none;overflow:visible}
.source-control-pane .git-progress,.source-control-pane .git-loading{flex:none;padding:8px 4px;border:0;font-size:11px}
.source-control-pane .git-success,.source-control-pane .git-help-card,.source-control-pane .git-unsaved-card,.source-control-pane .git-inline-error{flex:none;margin:0;padding:10px;border-radius:7px;max-height:none;overflow:visible;overflow-wrap:anywhere}
.source-control-pane .git-success p,.source-control-pane .git-help-card p,.source-control-pane .git-unsaved-card p{font-size:11px;line-height:1.6}
.source-control-pane .git-state-card{flex:none;padding:16px 10px;gap:10px}
.source-control-pane .git-discovered-repositories{flex:none;overflow:visible}
.git-setup-dialog>p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}
@media(pointer:coarse){.source-control-pane .git-file-action{min-height:40px;min-width:48px}.source-control-pane .git-icon-button{width:36px;height:36px}.source-control-pane .git-file-tabs>button{min-height:40px}.source-control-pane .git-stage-all{min-height:36px}}


/* Repository header refinement */
.source-control-pane .git-panel-header{padding:12px 12px 8px;gap:6px;align-items:center}
.source-control-pane .git-panel-identity{min-height:30px;align-items:center;gap:8px}
.source-control-pane .git-panel-identity>svg:first-child{width:16px;height:16px;color:var(--muted)}
.source-control-pane .git-panel-identity strong{font-size:13px;line-height:20px;letter-spacing:-.15px}
.source-control-pane .git-panel-identity .git-repository-caret{width:14px;height:14px;flex:none;margin:0;color:var(--muted)}
.source-control-pane .git-panel-header .git-icon-button{width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--muted);padding:6px}
.source-control-pane .git-panel-header .git-icon-button:hover{color:var(--text);border-color:color-mix(in srgb,var(--muted) 50%,var(--line))}
.source-control-pane .git-panel-header .git-icon-button>svg{width:14px;height:14px;stroke-width:1.7}
.source-control-pane .git-repository-context{padding:0 12px 12px}
.source-control-pane .git-state-card{margin:0;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px 12px}
.source-control-pane .git-state-card>svg{width:20px;height:20px}
.source-control-pane .git-state-card h3{font-size:13px;line-height:1.5}
.source-control-pane .git-state-card>p{font-size:11px;line-height:1.7}

.source-control-pane .git-file-tabs>button>span:first-child{white-space:nowrap}
/* End Git modules */

/* Connection recovery alerts */
.forward-toast.disconnect-alert-group{display:block;width:min(560px,calc(100vw - 36px));max-width:100%;padding:12px;overflow-wrap:anywhere}
.disconnect-alert-group>span{display:block;font-weight:600;margin-bottom:8px}
.disconnect-alert-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.disconnect-alert-actions>button:last-child{margin-left:auto}
.disconnect-alert-details{max-height:min(50vh,360px);overflow:auto;margin-top:10px;border-top:1px solid var(--border,#34414f)}
.disconnect-alert-row{padding:10px 0;border-bottom:1px solid var(--border,#34414f);display:flex;flex-wrap:wrap;gap:6px}
.disconnect-alert-row>span{flex-basis:100%;white-space:normal}
.disconnect-alert-row>button{white-space:normal;text-align:left}
/* End connection recovery alerts */

/* Toast header controls */
.forward-toast{min-width:0;flex-shrink:0;box-sizing:border-box}
.forward-toast>span{min-width:0}
.forward-toast.toast-with-actions,.forward-toast:has(>.toast-copy-path){padding-top:38px;padding-right:12px}
.forward-toast .toast-more,.forward-toast .toast-copy-path{position:absolute;right:33px;top:5px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:20px;line-height:1}
.forward-toast .toast-more:hover,.forward-toast .toast-copy-path:hover{background:var(--bg);color:var(--text)}
.forward-toast .toast-dismiss{width:24px;height:24px}
/* End toast header controls */
