/* Desktop source: src/styles.css */
:root{font-family:'Segoe UI','Microsoft YaHei UI',system-ui,sans-serif;color:#e4e8ee;background:#15191e;font-synthesis:none;--bg:#15191e;--sidebar:#1d232a;--surface:#20252c;--raised:#282f37;--hover:#2e363f;--text:#e4e8ee;--secondary:#a1abb8;--muted:#8b96a5;--line:#ffffff0c;--line-strong:#ffffff12;--accent:#b4e8ce;--accent-ink:#172e24;--selected:#b4e8ce0e;--danger:#ee9295;--terminal:#15191e;color-scheme:dark}
:root[data-theme=graphite]{--bg:#202124;--sidebar:#28292d;--surface:#2b2c30;--raised:#35363c;--hover:#3b3c42;--line:#ffffff0d;--terminal:#202124}
:root[data-theme=light]{color-scheme:light;--bg:#fafbfc;--sidebar:#edf0f2;--surface:#f0f2f4;--raised:#e4e9ed;--hover:#dde4e9;--text:#303b46;--secondary:#586675;--muted:#627181;--line:#303b460c;--line-strong:#303b461c;--accent:#277b5a;--accent-ink:#ffffff;--selected:#277b5a10;--danger:#ac3545;--terminal:#fafbfc;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.45;cursor:wait}input,select{color:var(--text)}button,input,select{outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus-visible,select:focus-visible{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--selected)}::selection{background:#6aa78855;color:var(--text)}::-webkit-scrollbar{width:6px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}
.app-shell{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;color:var(--text)}
.titlebar{height:32px;flex-shrink:0;display:flex;align-items:center;background:var(--sidebar);border-bottom:1px solid var(--line);-webkit-app-region:drag;position:relative;user-select:none;padding:0 18px;gap:23px}
.titlebar button{-webkit-app-region:no-drag}.traffic-lights{display:flex;gap:8px;align-items:center}.traffic{width:12px;height:12px;border-radius:50%;padding:0;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #0000000d}.traffic svg{opacity:0;color:#322323}.traffic-lights:hover svg{opacity:.65}.traffic.close{background:#ff6058}.traffic.minimize{background:#febc2e}.traffic.maximize{background:#29c840}.window-title{position:absolute;left:50%;transform:translateX(-50%);font-size:12px;font-weight:550;letter-spacing:.01em;color:var(--secondary)}
.workspace{flex:1;min-height:0;display:flex}.sidebar{width:244px;flex-shrink:0;background:var(--sidebar);border-right:1px solid var(--line-strong);display:flex;flex-direction:column;min-height:0;user-select:none}

.sidebar-actions{padding:16px 17px 14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:7px;font-size:12px;font-weight:550;transition:background .15s,color .15s;white-space:nowrap}.connect-button{width:100%;background:var(--surface);color:var(--secondary);border:1px solid var(--line-strong);min-height:34px;justify-content:flex-start;padding:8px 12px}.connect-button:hover,.button.primary:hover{filter:brightness(1.06)}.connect-button:hover{background:var(--hover);color:var(--text)}.button.primary{background:var(--accent);color:var(--accent-ink)}.button.subtle{background:var(--raised);color:var(--text)}.button.subtle:hover{background:var(--hover)}.button.danger{background:#ee92951a;color:var(--danger)}.button.danger:hover{background:#ee92952e}
.sidebar-section{padding:9px 13px 5px}.section-label{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.02em;font-weight:550;color:var(--muted);padding:0 10px 10px}.section-label .icon-button{margin-left:auto}.section-counter{font-size:9px;opacity:.7}.icon-button{height:29px;min-width:29px;padding:5px;display:inline-flex;align-items:center;justify-content:center;color:var(--secondary);border-radius:6px;transition:background .15s,color .15s}.icon-button:hover{background:var(--hover);color:var(--text)}.icon-button.small{height:22px;min-width:22px;padding:3px}.icon-button.is-active{background:var(--selected);color:var(--accent)}
.local-shell{width:100%;text-align:left;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:5px}.local-shell:hover{background:var(--raised)}.shell-symbol{color:var(--secondary);display:grid;place-items:center;width:20px;height:28px}.local-shell strong{display:block;font-size:12px;font-weight:500}.local-shell small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.status-dot.muted{background:var(--muted)}.remote-section{flex:1;min-height:0;display:flex;flex-direction:column}.sidebar-hosts{min-height:0;overflow:auto}.hosts-empty{padding:10px 11px 16px;font-size:11px;color:var(--muted)}.host-search{display:flex;align-items:center;background:var(--bg);padding:6px 9px;gap:6px;border:1px solid var(--line);border-radius:6px;margin:0 7px 14px;color:var(--muted)}.host-search input{min-width:0;width:100%;background:none;border:0;font-size:10px;height:18px}.host-search input::placeholder{color:var(--muted)}kbd{font:9px 'Segoe UI','Microsoft YaHei UI',sans-serif;white-space:nowrap;color:var(--muted)}.host-group{margin-bottom:17px}.host-group-title{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;padding:0 11px 7px}.host-group-title span:last-child{margin-left:auto;opacity:.7}.host-item{display:flex;align-items:center;border-radius:7px;padding-right:4px;position:relative}.host-item:hover{background:var(--raised)}.host-connect{display:flex;align-items:center;gap:10px;text-align:left;padding:9px 10px;flex:1;min-width:0}.host-connect strong{display:block;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.host-connect small{display:block;font-size:9px;color:var(--muted);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.host-color{width:28px;height:29px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;background:#b4e8ce10;color:#b4e8ce}.host-color.cyan{color:#9accdf;background:#9accdf10}.host-color.rose{color:#dda8b5;background:#dda8b510}.host-color.amber{color:#dbbf8d;background:#dbbf8d10}.host-edit{opacity:0}.host-item:hover .host-edit,.host-item:focus-within .host-edit{opacity:1}.no-matches{font-size:11px;color:var(--muted);padding:12px}
.sidebar-bottom{margin-top:auto;flex-shrink:0;padding:12px 13px 0}.settings-link{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:7px;font-size:11px;color:var(--secondary)}.settings-link:hover,.settings-link.selected{background:var(--raised);color:var(--text)}.settings-link kbd{margin-left:auto;font-size:9px;border:1px solid var(--line-strong);padding:2px 4px;border-radius:4px}
.main-content{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.tabs-bar{height:44px;display:flex;align-items:center;flex-shrink:0;border-bottom:1px solid var(--line-strong);background:var(--bg);padding:0 15px 0 10px;gap:5px}.tabs{display:flex;align-items:stretch;overflow:auto;flex-shrink:1;height:100%;gap:4px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.terminal-tab{display:flex;align-items:center;margin:6px 0;border-radius:5px;min-width:148px;max-width:220px;flex-shrink:0;padding-right:6px;position:relative;border:1px solid transparent}.terminal-tab.active{background:var(--surface);border-color:var(--line)}.terminal-tab:hover{background:var(--surface)}.tab-select{display:flex;align-items:center;gap:8px;padding:7px 9px;color:var(--muted);min-width:0;flex:1;text-align:left;font-size:11px}.active .tab-select{color:var(--text)}.active .tab-select>svg{color:var(--accent)}.tab-select span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-close{width:21px;height:21px;color:var(--muted);display:grid;place-items:center;border-radius:4px;opacity:0}.terminal-tab.active .tab-close,.terminal-tab:hover .tab-close,.terminal-tab:focus-within .tab-close{opacity:1}.tab-close:hover{background:var(--hover);color:var(--text)}.new-tab{display:flex;align-items:center;position:relative;margin-left:2px}.new-tab>.small{min-width:15px;padding:1px}.dropdown{position:absolute;top:37px;left:0;width:212px;background:var(--surface);box-shadow:0 10px 35px #00000040;border:1px solid var(--line-strong);padding:6px;border-radius:9px;z-index:30}.dropdown.right{left:auto;right:0;width:288px}.dropdown button{width:100%;text-align:left;display:flex;align-items:center;gap:9px;font-size:11px;padding:9px 8px;border-radius:5px}.dropdown button:hover{background:var(--hover)}.dropdown button svg{color:var(--secondary)}.dropdown kbd{margin-left:auto;font-size:9px}.menu-separator{height:1px;background:var(--line-strong);margin:5px}
.terminal-workspace{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.route-hidden{display:none}.toolbar-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.toolbar-divider{width:1px;height:13px;background:var(--line-strong);margin:0 7px}.more-menu{position:relative}.search-bar{display:flex;align-items:center;gap:7px;background:var(--surface);margin:10px 27px 0;padding:8px 10px;border-radius:7px;border:1px solid var(--line-strong);color:var(--secondary);flex-shrink:0}.search-bar input{flex:1;min-width:0;background:none;border:0;font-size:11px;height:22px}.search-bar input::placeholder{color:var(--muted)}.search-hint{font-size:9px;color:var(--muted)}.search-empty{font-size:10px;color:var(--danger);white-space:nowrap}
.terminal-panes{flex:1;min-height:0;position:relative;display:flex;margin:0 10px 12px 27px;overflow:hidden;background:var(--terminal)}.terminal-surface{display:none;flex:1;min-width:0;position:relative;min-height:0;background:var(--terminal)}.terminal-surface.is-visible{display:flex;flex-direction:column}.terminal-canvas{flex:1;min-height:0;padding-right:8px;height:100%;overflow:hidden}.terminal-panes.split{gap:19px}.terminal-panes.split .terminal-surface:first-of-type{border-right:1px solid var(--line-strong);padding-right:12px}.xterm{height:100%;padding-bottom:0}.xterm .xterm-viewport{background:transparent!important;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.session-notice{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 4px;font-size:11px;border-top:1px solid var(--line-strong);color:var(--secondary)}.session-notice .button{margin-left:auto;padding:6px 10px;font-size:10px}.session-notice.error{display:block;color:var(--danger)}.session-notice.error p{font-size:11px;line-height:1.7;word-break:break-word}.session-notice.error .button{margin-left:0}.preview-message{position:absolute;inset:80px 0 auto;text-align:center;color:var(--muted)}.preview-message>svg{color:var(--accent)}.preview-message h2{font-size:16px;color:var(--text);font-weight:500;margin-top:16px}.preview-message p{font-size:12px;margin-bottom:24px}.preview-message code{font-family:'JetBrains Mono Variable',monospace;font-size:11px;background:var(--surface);padding:9px 14px;border-radius:6px}.app-loading{display:flex;align-items:center;justify-content:center;gap:9px;position:absolute;inset:0;color:var(--muted);font-size:12px}.loading-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.3}}

.toast{position:fixed;bottom:47px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:var(--raised);box-shadow:0 8px 25px #00000035;padding:12px 14px;border-radius:9px;color:var(--text);font-size:11px;z-index:70;animation:toast-in .18s ease-out}.toast>svg{color:var(--accent)}.toast button{display:grid;place-items:center;padding:2px;margin-left:8px;color:var(--secondary)}@keyframes toast-in{from{translate:0 6px;opacity:0}to{translate:0 0;opacity:1}}
/* Management surfaces share compact macOS-inspired form and row conventions. */
.panel-page{flex:1;min-height:0;overflow:auto;padding:34px 38px 30px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:24px}.panel-title{font-size:20px;font-weight:600;margin:0;line-height:1.4}.panel-description{font-size:11px;line-height:1.8;color:var(--muted);margin:11px 0 0}.panel-close{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--secondary)}.panel-heading-actions{display:flex;gap:10px;align-items:center}.host-manager{display:grid;grid-template-columns:minmax(170px,1fr) minmax(300px,420px);gap:31px}.host-list{display:flex;flex-direction:column;gap:8px}.host-card{background:transparent;border:1px solid transparent;border-radius:5px;padding:11px;display:flex;align-items:center;gap:10px;position:relative;cursor:pointer}.host-card:hover{background:var(--raised)}.host-card.selected{border-color:var(--accent);background:var(--selected)}.host-card-icon{height:34px;width:34px;border-radius:8px;display:grid;place-items:center;background:var(--raised);color:var(--accent);flex-shrink:0}.host-card-body{min-width:0;flex:1}.host-card-title{font-size:12px;font-weight:550;display:block}.host-card-address{font-size:10px;color:var(--muted);display:block;margin-top:5px;word-break:break-all}.host-card-group{font-size:9px;color:var(--muted);margin-top:8px}.host-card .button{font-size:10px;padding:6px 9px}.host-editor{padding:0 0 0 24px;background:transparent;border-left:1px solid var(--line-strong);align-self:start;min-width:0}.host-editor h2{font-size:15px;font-weight:550;margin:0 0 23px}.host-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}.host-editor-heading h2{margin:0}.host-editor form{display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field>label,.field-label{font-size:11px;font-weight:500;color:var(--secondary)}.field-input,.field-select{width:100%;height:37px;border:1px solid var(--line-strong);background:var(--bg);border-radius:6px;padding:8px 10px;font-size:11px;transition:border-color .15s,box-shadow .15s}.field-input::placeholder{color:var(--muted);opacity:1}.field-input[aria-invalid=true]{border-color:var(--danger)}.form-row{display:grid;grid-template-columns:1fr 85px;gap:12px}.field-hint{font-size:10px;color:var(--muted);line-height:1.8;margin:0}.field-error{font-size:10px;line-height:1.6;color:var(--danger);margin:0}.key-picker{display:flex;gap:7px}.key-picker .button{padding:8px 10px}.key-picker .field-input{min-width:0}.color-options{display:flex;gap:8px}.color-option{height:22px;width:22px;border:2px solid transparent;border-radius:50%;padding:3px;background:none}.color-option.selected{border-color:var(--secondary)}.color-option span{display:block;width:100%;height:100%;border-radius:50%}.color-option.mint span{background:#b4e8ce}.color-option.cyan span{background:#9accdf}.color-option.rose span{background:#dda8b5}.color-option.amber span{background:#dbbf8d}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px}.delete-host{margin-top:21px;padding-top:17px;border-top:1px solid var(--line-strong)}.delete-confirm{font-size:10px;line-height:1.8;color:var(--secondary);display:flex;flex-wrap:wrap;gap:7px;align-items:center}.delete-confirm p{width:100%;margin:0 0 5px}.security-note{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:10px;line-height:1.9;margin:19px 0 0}.security-note svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.empty-state{padding:28px 12px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;color:var(--muted)}.empty-state>svg{color:var(--secondary);margin-bottom:20px}.empty-state h3{font-size:14px;font-weight:500;color:var(--text);margin:0 0 9px}.empty-state p{font-size:11px;line-height:1.9;margin:0 0 20px}.empty-state .button{margin-top:5px}
.settings-page{max-width:860px;width:100%;margin:0 auto}.settings-section{margin-bottom:30px;padding-bottom:26px;border-bottom:1px solid var(--line-strong)}.settings-section:last-child{border-bottom:0}.settings-section h2{font-size:13px;font-weight:550;margin:0 0 18px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.theme-option{border:1px solid var(--line-strong);border-radius:9px;padding:9px;text-align:left;position:relative}.theme-option.selected{border-color:var(--accent);background:var(--selected)}.theme-option:hover{background:var(--line)}.theme-preview{height:87px;border-radius:5px;overflow:hidden;display:flex;background:#15191e;margin-bottom:11px;border:1px solid #ffffff0a;position:relative}.theme-preview.graphite{background:#202124}.theme-preview.light{background:#fafbfc}.theme-preview-sidebar{width:24%;background:#272e36;padding:12px 6px}.theme-preview.graphite .theme-preview-sidebar{background:#313237}.theme-preview.light .theme-preview-sidebar{background:#e6ebef}.theme-preview-sidebar span{display:block;width:100%;height:3px;border-radius:2px;background:#b4e8ce44;margin-bottom:7px}.theme-preview-terminal{padding:17px 12px;flex:1}.theme-preview-terminal span{display:block;height:3px;width:70%;background:#c8d5e24d;border-radius:2px;margin-bottom:8px}.theme-preview-terminal span:nth-child(2){width:53%;background:#b4e8ce9c}.theme-preview-terminal span:nth-child(3){width:80%}.theme-preview.light .theme-preview-terminal span{background:#55697f66}.theme-preview.light .theme-preview-terminal span:nth-child(2){background:#277b5a99}.theme-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.theme-label svg{color:var(--accent)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row-label{font-size:12px;font-weight:500}.setting-row-description{font-size:10px;line-height:1.8;color:var(--muted);margin-top:5px}.setting-row .field-select{width:180px;flex-shrink:0}.font-size-control{display:flex;align-items:center;gap:13px;font-size:11px}.font-size-control>span{min-width:36px;text-align:center;font-variant-numeric:tabular-nums}.font-size-control button{background:var(--raised)}.cursor-options{display:flex;padding:3px;border-radius:7px;background:var(--surface);gap:3px}.cursor-options button{font-size:10px;padding:7px 11px;color:var(--muted);border-radius:5px}.cursor-options button.selected{background:var(--raised);color:var(--text)}.switch{width:33px;height:19px;border-radius:15px;background:var(--raised);position:relative;padding:3px;flex-shrink:0}.switch[aria-checked=true],.switch.enabled{background:var(--accent)}.switch span{display:block;width:13px;height:13px;background:var(--text);border-radius:50%;transition:transform .15s}.switch[aria-checked=true] span,.switch.enabled span{transform:translateX(14px);background:var(--accent-ink)}.shortcut-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 28px}.shortcut-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;font-size:11px;color:var(--secondary)}.shortcut-row kbd{font-size:10px;background:var(--surface);padding:3px 6px;border:1px solid var(--line-strong);border-radius:4px}.settings-version{font-size:10px;color:var(--muted);text-align:center;padding:3px 0 10px}.settings-feedback{font-size:10px;color:var(--accent);display:flex;align-items:center;gap:6px}.inline-success{font-size:11px;color:var(--accent);line-height:1.7}.settings-error{margin:10px 0;color:var(--danger);font-size:11px;line-height:1.7}
@media(max-width:1100px){.sidebar{width:220px}.panel-page{padding:28px}.host-manager{gap:20px;grid-template-columns:minmax(140px,1fr) minmax(290px,370px)}.host-card{flex-wrap:wrap}.host-card .button{margin-left:auto}}
@media(max-width:900px){.sidebar{width:204px}.sidebar-actions{padding-left:14px;padding-right:14px}.panel-page{padding:25px}.host-manager{grid-template-columns:1fr;gap:20px}.host-list{max-height:180px;overflow:auto}.host-editor{max-width:none;padding:20px 0 0;border-left:0;border-top:1px solid var(--line-strong)}.hosts-empty{padding-left:0;padding-right:0}.shortcut-grid{grid-template-columns:1fr}.theme-preview{height:65px}}
@media(max-width:720px){.sidebar{display:none}.titlebar{gap:15px}.window-title{font-size:11px}.terminal-panes{margin-left:18px}.panel-heading-actions{flex-direction:column}.theme-grid{gap:8px}.theme-preview{height:60px}.theme-preview-terminal{padding:16px 8px}.setting-row{gap:12px}.setting-row .field-select{width:130px}.search-bar{margin-left:18px;margin-right:18px}.search-hint{display:none}.terminal-panes.split{gap:10px}.terminal-panes.split .terminal-surface:first-of-type{padding-right:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.button.compact{padding:7px 10px;font-size:10px}.host-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted);margin-bottom:8px}.host-list .host-search{margin:0;padding:7px 10px;gap:8px}.host-list .host-search input{font-size:11px}.host-list-content{min-height:220px}.host-empty h2{font-size:14px;font-weight:500;color:var(--text);margin:0 0 10px}.host-select{display:flex;gap:10px;align-items:center;text-align:left;min-width:0;flex:1;padding:0}.host-avatar{width:24px;height:32px;display:grid;place-items:center;flex-shrink:0;color:#b4e8ce}.host-avatar.color-cyan{color:#9accdf}.host-avatar.color-rose{color:#dda8b5}.host-avatar.color-amber{color:#dbbf8d}.host-details{display:flex;flex-direction:column;min-width:0;gap:7px}.host-details strong{font-size:12px;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.host-details>span{font-size:10px;color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.host-card>.host-connect{flex:0;padding:5px;min-width:26px}.host-list-note{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;margin-top:12px;line-height:1.7}.host-list-note svg{flex-shrink:0;color:var(--accent)}.editor-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.editor-heading h2{margin:0}.host-fields{border:0;min-width:0;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.field-input.mono{font-family:'JetBrains Mono Variable','Microsoft YaHei UI',monospace;font-size:10px}.optional-label{font-size:9px;color:var(--muted);margin-left:4px;font-weight:400}.key-input{position:relative;display:flex;align-items:center;gap:6px}.key-input>svg{position:absolute;left:10px;color:var(--muted);pointer-events:none}.key-input>.field-input{min-width:0;padding-left:32px}.key-input>.button{padding:9px}.color-option{display:grid;place-items:center}.color-option[aria-label=薄荷绿]{background:#b4e8ce}.color-option[aria-label=海雾蓝]{background:#9accdf}.color-option[aria-label=玫瑰粉]{background:#dda8b5}.color-option[aria-label=琥珀黄]{background:#dbbf8d}.color-option.selected{outline:1px solid var(--secondary);outline-offset:3px;border-color:var(--bg)}.color-option svg{color:#24332a}.connection-note{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:10px;line-height:1.9;margin:16px 0}.connection-note svg{flex-shrink:0;margin-top:2px;color:var(--accent)}.connection-note p{margin:0}.editor-actions{display:flex;align-items:center;gap:10px;justify-content:space-between;margin-top:20px}.editor-save-actions{display:flex;gap:7px;margin-left:auto}.editor-actions .button{font-size:10px;padding:9px 11px}.editor-actions .delete-host{padding:7px;background:none;margin:0;border:0}.panel-error{font-size:11px;color:var(--danger);line-height:1.7;padding:10px;background:#ee92950d;border-radius:6px}.save-status{color:var(--accent);font-size:10px;display:flex;gap:6px;align-items:center;margin:12px 0}.delete-confirm{border-top:1px solid var(--line-strong);margin-top:16px;padding-top:13px}.delete-confirm>div{display:flex;gap:8px}.settings-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.settings-section-heading h2{margin:0}.settings-save-status{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.setting-description label,.setting-description>span{font-size:12px;font-weight:500}.setting-description p{font-size:10px;line-height:1.8;color:var(--muted);margin:6px 0 0}.theme-preview.preview-graphite{background:#202124}.theme-preview.preview-light{background:#fafbfc}.theme-preview{display:block;position:relative;padding-top:17px}.preview-titlebar{position:absolute;top:0;left:0;right:0;height:16px;background:#2d333b;display:flex;gap:3px;align-items:center;padding-left:6px}.preview-titlebar i{width:3px;height:3px;border-radius:50%;background:#ff6058}.preview-titlebar i:nth-child(2){background:#febc2e}.preview-titlebar i:nth-child(3){background:#29c840}.preview-graphite .preview-titlebar{background:#38393e}.preview-light .preview-titlebar{background:#e6ebef}.preview-terminal{padding:10px 9px;font-family:'JetBrains Mono Variable',monospace;line-height:1.9;font-size:6px;color:#9ca7b7}.preview-terminal span{display:block;white-space:nowrap}.preview-terminal b{color:#b4e8ce;font-weight:400}.preview-terminal i{width:1px;height:7px;background:#b4e8ce;display:inline-block}.preview-light .preview-terminal{color:#627181}.preview-light .preview-terminal b{color:#277b5a}.preview-light .preview-terminal i{background:#277b5a}.theme-option-label{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px}.theme-option-label strong{font-weight:500}.theme-option-label svg{color:var(--accent)}.theme-description{display:block;font-size:9px;color:var(--muted);margin-top:5px}.font-stepper{display:flex;align-items:center;border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;font-size:10px;color:var(--muted);padding:3px;gap:2px}.font-stepper input{width:27px;appearance:textfield;-moz-appearance:textfield;background:none;border:0;text-align:center;font-size:11px;padding:0;color:var(--text)}.font-stepper input::-webkit-inner-spin-button,.font-stepper input::-webkit-outer-spin-button{-webkit-appearance:none}.font-stepper>span{margin:0 7px 0 1px}.toggle-switch{width:33px;height:19px;border-radius:15px;background:var(--raised);padding:3px;flex-shrink:0}.toggle-switch.on{background:var(--accent)}.toggle-switch span{width:13px;height:13px;border-radius:50%;background:var(--secondary);display:block;transition:transform .15s}.toggle-switch.on span{transform:translateX(14px);background:var(--accent-ink)}.section-description{font-size:10px;color:var(--muted);margin:0 0 11px}.shortcut-keys{display:flex;gap:4px;align-items:center}.settings-footer{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--secondary);padding:0 0 10px}.settings-footer .version{font-size:10px;color:var(--muted);margin-left:7px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-transparency:reduce){.sidebar{background:var(--sidebar)}}

.group-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:12px}.group-empty p{margin:0}

/* Local shells and WSL discovery live in the new-tab menu. */
.sidebar-actions{flex-shrink:0}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.local-shell-list{max-height:264px;overflow-y:auto;overflow-x:hidden}.shell-symbol{flex-shrink:0}.shell-symbol.wsl{color:var(--secondary)}.local-shell-details{flex:1;min-width:0}.local-shell-details strong,.local-shell-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-tags{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.shell-tag{font-size:8px;white-space:nowrap;border:1px solid var(--line-strong);border-radius:4px;padding:2px 4px;color:var(--secondary)}.shell-default{font-size:8px;color:var(--muted)}.wsl-discovery-note{font-size:10px;color:var(--muted);line-height:1.7;padding:8px 10px 2px;overflow-wrap:anywhere}.wsl-discovery-note.error{color:var(--danger)}.local-shell-menu{width:254px;max-height:calc(100dvh - 130px);overflow:auto}.local-menu-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);padding:2px 8px 5px}.dropdown .local-menu-heading button{width:22px;height:22px;min-width:22px;padding:3px}.dropdown .local-shell{gap:9px;padding:9px 8px}.local-shell-menu .local-shell strong{font-size:11px}.local-shell-menu .local-shell small{font-size:9px;margin-top:4px}.local-shell-menu .shell-symbol{width:25px;height:27px}.local-shell-menu .local-shell-list{max-height:300px}


/* Desktop source: src/host-tree.css */
.host-tree{min-width:0;width:100%;font-size:11px;--host-row-height:36px;--host-inset:10px}
.host-tree-sidebar{padding:9px 13px 5px;min-height:100%}.host-tree-panel{--host-row-height:40px;--host-inset:8px}
.host-tree-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 8px 10px;color:var(--muted);font-size:10px;font-weight:550}
.host-tree-heading>span{white-space:nowrap}.host-tree-heading>div{display:flex;gap:1px;flex-shrink:0;margin-left:auto}
.host-tree-icon{height:25px;width:25px;flex-shrink:0;padding:4px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:var(--secondary)}
.host-tree-icon:hover{color:var(--text);background:var(--hover)}.host-tree-icon.active{color:var(--accent);background:var(--selected)}
.host-tree-search{display:flex;align-items:center;gap:7px;min-height:31px;margin:0 7px 12px;padding:5px 8px;border:1px solid var(--line-strong);border-radius:6px;background:var(--bg);color:var(--muted)}
.host-tree-search>svg{flex-shrink:0}.host-tree-search input{width:100%;min-width:0;padding:0;border:0;background:none;font-size:10px;height:19px;color:var(--text)}
.host-tree-search input::placeholder{color:var(--muted)}.host-tree-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--selected)}.host-tree-search input:focus-visible{box-shadow:none}
.host-tree-search>.host-tree-icon{width:19px;height:19px;padding:3px;margin-right:-3px}
.host-tree-panel .host-tree-heading{padding-inline:0;font-size:11px}.host-tree-panel .host-tree-search{margin-inline:0}.host-tree-panel .host-tree-search input{font-size:11px}
.host-tree-content{min-width:0;min-height:64px;flex:1;border-radius:5px}.host-tree-row{display:flex;align-items:center;position:relative;min-width:0;height:calc(var(--host-row-height) + 2px);padding-right:2px;border-radius:5px;border:1px solid transparent}
.host-tree-row:hover{background:var(--raised)}.host-tree-row.selected{background:var(--selected);border-color:var(--line-strong)}
.host-tree-row.dragging,.host-tree-folder.dragging{opacity:.45}
.host-tree-select{display:flex;align-items:center;gap:9px;flex:1;min-width:0;height:var(--host-row-height);padding:4px var(--host-inset);text-align:left;border-radius:5px}
.host-tree-avatar{display:grid;place-items:center;flex-shrink:0;width:24px;height:27px;color:var(--host-color,var(--accent))}
.host-tree-details{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.host-tree-name-line{display:flex;align-items:center;gap:5px;min-width:0;height:1.35em;font-size:11px}
.host-tree-details strong{flex:0 1 auto;min-width:0;font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
.host-tree-details small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}
.host-tree-panel .host-tree-name-line,.host-tree-panel .host-tree-details strong{font-size:12px}.host-tree-panel .host-tree-details small{font-size:10px}
.host-tree-tags{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:3px;min-width:0;max-width:45%;height:14px;overflow:hidden;white-space:nowrap}
.host-tree-tags>span{flex:0 0 auto;min-width:0;padding:1px 4px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--secondary);background:var(--line-strong);border-radius:3px;font-size:8px;line-height:12px}
.host-tree-row-actions{display:flex;align-items:center;flex-shrink:0;gap:0}.host-tree-row-actions .host-tree-icon{width:22px;height:24px;padding:4px}
.host-tree-mark:not(.marked),.host-tree-more,.host-tree-connect,.host-tree-folder-more{opacity:0}
.host-tree-row:hover .host-tree-row-actions>.host-tree-icon,.host-tree-row:focus-within .host-tree-row-actions>.host-tree-icon,.host-tree-folder-header:hover .host-tree-folder-more,.host-tree-folder-header:focus-within .host-tree-folder-more{opacity:1}
.host-tree-mark.marked{color:var(--accent)}
.host-tree-folder{position:relative;min-width:0;margin-top:4px;margin-bottom:4px;border-radius:5px}
.host-tree-folder-header{display:flex;align-items:center;min-width:0;min-height:26px;padding-right:2px;border-radius:5px}
.host-tree-folder-header:hover{background:var(--line)}
.host-tree-folder-add{width:22px;height:22px;padding:4px;color:var(--muted)}
.host-tree-folder-header:hover .host-tree-folder-add,.host-tree-folder-header:focus-within .host-tree-folder-add{color:var(--text)}
.host-tree-icon:focus-visible,.host-tree-folder-toggle:focus-visible,.host-tree-menu-item:focus-visible{outline:1px solid var(--accent);outline-offset:1px}
.host-tree-folder-toggle{display:flex;align-items:center;min-width:0;flex:1;gap:6px;color:var(--secondary);text-align:left;font-size:10px;padding:4px 7px}
.host-tree-folder-toggle>svg{flex-shrink:0}.host-tree-folder-toggle>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;line-height:1.5}
.host-tree-panel .host-tree-folder-toggle{font-size:11px}
.host-tree-folder-content{min-height:10px;margin-inline-start:8px;border-inline-start:1px solid var(--line-strong);padding-inline-start:3px;padding-bottom:3px}
.host-tree-root{min-height:8px;position:relative;border-radius:5px}
.host-tree-folder-end{height:8px;border-radius:4px}
.host-tree.drop-inside,.host-tree-content.drop-inside,.host-tree-root.drop-inside,.host-tree-folder.drop-inside,.host-tree-folder-end.drop-inside{background:var(--selected);outline:1px solid var(--accent);outline-offset:-1px}
.host-tree [data-drop-edge=before]::before,.host-tree [data-drop-edge=after]::after{content:'';position:absolute;left:4px;right:4px;height:2px;background:var(--accent);border-radius:2px;z-index:2;pointer-events:none}
.host-tree [data-drop-edge=before]::before{top:-2px}.host-tree [data-drop-edge=after]::after{bottom:-2px}
.host-tree-filter{display:flex;align-items:center;gap:5px;margin:0 8px 9px;color:var(--secondary);font-size:10px;min-width:0}
.host-tree-filter>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host-tree-filter>svg,.host-tree-filter>button{flex-shrink:0}.host-tree-filter>button{display:grid;place-items:center;width:22px;height:22px;border-radius:4px}.host-tree-filter>button:hover{background:var(--hover)}
.host-tree-empty{margin:8px 10px 16px;color:var(--muted);font-size:11px;line-height:1.8}.host-tree-empty>button{display:block;color:var(--accent);font-size:11px;padding:4px 0;margin-top:4px}
.host-tree-error{font-size:10px;line-height:1.7;color:var(--danger);margin:8px 7px;padding:7px 8px;border-radius:5px;background:color-mix(in srgb,var(--danger) 7%,transparent);overflow-wrap:anywhere}
.host-tree-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.host-tree-popup{position:fixed;z-index:100;width:224px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow:auto;padding:5px;background:var(--surface);border:1px solid var(--line-strong);border-radius:7px;box-shadow:0 8px 28px #00000040;color:var(--text);font-size:11px;-webkit-app-region:no-drag}
.host-tree-menu-item{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:7px 9px;text-align:left;border-radius:4px;font-size:11px}
.host-tree-menu-item>svg{flex-shrink:0;color:var(--secondary)}.host-tree-menu-item>span{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.host-tree-menu-item:hover{background:var(--hover)}.host-tree-menu-item.danger,.host-tree-menu-item.danger>svg{color:var(--danger)}
.host-tree-menu-divider{height:1px;background:var(--line-strong);margin:4px 6px}
.host-tree-popup-heading{color:var(--muted);font-size:10px;padding:7px 9px 5px}
.host-tree-form-popup{width:270px;padding:13px}
.host-tree-form-popup form>label{display:block;font-size:11px;font-weight:550;margin-bottom:10px}
.host-tree-form-popup input{width:100%;min-width:0;height:33px;padding:7px 9px;border:1px solid var(--line-strong);border-radius:5px;background:var(--bg);color:var(--text);font-size:11px}
.host-tree-form-popup input::placeholder{color:var(--muted)}
.host-tree-theme-heading{display:flex;flex-direction:column;gap:3px;margin-bottom:12px;font-weight:550}
.host-tree-theme-heading>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px;font-weight:400}
.host-tree-theme-form>label{margin:10px 0 5px;font-weight:400}
.host-tree-theme-form>select{display:block;width:100%;min-width:0;height:33px;padding:6px 8px;border:1px solid var(--line-strong);border-radius:5px;background:var(--bg);color:var(--text);font-size:11px}
.host-tree-theme-form>select:focus-visible{outline:1px solid var(--accent);outline-offset:1px}
.host-tree-popup-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}
.host-tree-popup .button.compact{font-size:11px;padding:7px 10px}.host-tree-popup>.host-tree-error{margin:10px 0 0}
.host-tree-tag-editor{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:9px}
.host-tree-tag-editor>span{display:flex;align-items:center;gap:4px;padding:3px 4px 3px 7px;border-radius:4px;background:var(--raised);color:var(--secondary);font-size:10px;max-width:100%;overflow-wrap:anywhere}
.host-tree-tag-editor button{width:18px;height:18px;display:grid;place-items:center;border-radius:3px;flex-shrink:0}.host-tree-tag-editor button:hover{color:var(--text);background:var(--hover)}
.host-tree-tag-input{display:flex;align-items:center;gap:6px}.host-tree-tag-input>.button{flex-shrink:0}
.host-tree-popup-note{font-size:10px;line-height:1.7;color:var(--muted);margin:9px 3px 0}
.host-tree-confirm-copy{font-size:11px;line-height:1.8;margin:0;color:var(--secondary);overflow-wrap:anywhere}
@media (forced-colors:active){.host-tree-row.selected,.host-tree-content.drop-inside,.host-tree-root.drop-inside,.host-tree-folder.drop-inside,.host-tree-popup{border:1px solid CanvasText}.host-tree-mark.marked{color:Highlight}.host-tree [data-drop-edge]::before,.host-tree [data-drop-edge]::after{background:Highlight}.host-tree-icon:focus-visible{outline:2px solid Highlight}}


/* Desktop source: src/profile-host-colors.css */
[data-host-color="mint"]{--host-color:#b4e8ce}
[data-host-color="cyan"]{--host-color:#9accdf}
[data-host-color="rose"]{--host-color:#dda8b5}
[data-host-color="amber"]{--host-color:#dbbf8d}
[data-host-color="blue"]{--host-color:#91b9eb}
[data-host-color="purple"]{--host-color:#c6a5df}
[data-host-color="red"]{--host-color:#ed8e92}
[data-host-color="orange"]{--host-color:#e9ad80}
[data-host-color="lime"]{--host-color:#c2d98b}
[data-host-color="teal"]{--host-color:#89c6b4}
[data-host-color="indigo"]{--host-color:#a2afe5}
[data-host-color="gray"]{--host-color:#adb4be}
.host-editor .profile-color-options{flex-wrap:wrap;gap:10px;padding:3px 0}
.host-editor .profile-color-options .color-option{width:24px;height:24px;flex-shrink:0;background:var(--host-color);border:2px solid transparent}
.host-editor .profile-color-options .color-option svg{color:var(--host-ink,#24332a)}
.host-editor .profile-color-options .color-option.selected{border-color:var(--bg);outline:1px solid var(--secondary);outline-offset:3px}
.host-editor .profile-color-options .color-option:focus-visible{outline:2px solid var(--text);outline-offset:4px}
.host-editor .profile-color-current{font-size:10px;color:var(--muted);line-height:1.7}
.profile-password-actions{display:flex;justify-content:flex-end;margin-top:7px}
.profile-password-actions .button.compact{font-size:10px;padding:5px 8px}


/* Desktop source: src/sidebar.css */
.sidebar{position:relative}
.sidebar .sidebar-actions{padding:10px 12px 6px}
.sidebar .connect-button{min-height:30px;padding:6px 10px;font-size:11px;gap:7px}
.sidebar .host-tree-sidebar{--host-row-height:32px;--host-inset:8px;padding:4px 12px}
.sidebar .host-tree-heading{padding:0 2px 5px}
.sidebar .host-tree-heading .host-tree-icon,.sidebar .host-tree-folder-more{width:24px;height:24px}
.sidebar .host-tree-search{min-height:29px;margin:0 0 6px;padding:4px 8px}
.sidebar .host-tree-select{gap:7px;padding-block:2px}
.sidebar .host-tree-folder{margin-block:2px}
.sidebar .host-tree-folder-header{min-height:24px}
.sidebar .host-tree-folder-toggle{padding:3px 6px}
.sidebar .host-tree-filter{margin:0 2px 6px}
.sidebar .sidebar-bottom{padding:6px 12px 8px}
.sidebar .settings-link{padding:7px 8px;gap:8px}
.sidebar-resizer{position:absolute;top:0;bottom:0;right:-5px;width:10px;z-index:5;cursor:col-resize;touch-action:none;-webkit-app-region:no-drag;outline:none}
.sidebar-resizer::after{content:'';position:absolute;top:0;bottom:0;left:4px;width:2px;background:transparent;transition:background .12s}
.sidebar-resizer:hover::after,.sidebar-resizer:focus-visible::after,.sidebar.is-resizing .sidebar-resizer::after{background:var(--accent)}
.sidebar-resizer:focus-visible{outline:none}
:root[data-sidebar-resizing] *{cursor:col-resize!important;user-select:none!important}
@media(prefers-reduced-motion:reduce){.sidebar-resizer::after{transition:none}}


/* Desktop source: src/tab-bar.css */
.tab-navigation{flex-shrink:0;min-width:0;background:var(--bg);user-select:none}
.tab-navigation .tabs{flex:1;min-width:0;position:relative;gap:9px;overflow-y:hidden}
.tab-navigation .new-tab{flex-shrink:0}
.tab-free-region{display:flex;align-items:stretch;gap:4px;min-width:0;flex-shrink:0;position:relative}
.tab-free-region.empty{margin-right:-9px}
.tab-free-drop-end{width:8px;flex-shrink:0;align-self:stretch;position:relative}
.tab-free-region.empty .tab-free-drop-end{width:8px}
.tab-free-region.empty.accepting-tabs .tab-free-drop-end{width:24px}
.tab-free-region.drop-receiving .tab-free-drop-end::after,.tab-free-drop-end.drop-group-start::after{content:'';position:absolute;left:3px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}
[data-group-color=yellow]{--group-color:#ffd75e;--group-ink:#202124}
[data-group-color=blue]{--group-color:#8ab4f8;--group-ink:#202124}
[data-group-color=green]{--group-color:#81c995;--group-ink:#202124}
[data-group-color=pink]{--group-color:#f28bca;--group-ink:#202124}
[data-group-color=purple]{--group-color:#c58af9;--group-ink:#202124}
[data-group-color=red]{--group-color:#f28b82;--group-ink:#202124}
[data-group-color=cyan]{--group-color:#78d9ec;--group-ink:#202124}
[data-group-color=gray]{--group-color:#b4b8bf;--group-ink:#202124}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color]{--group-ink:#fff}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=yellow]{--group-color:#926506}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=blue]{--group-color:#336cc1}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=green]{--group-color:#2c7751}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=pink]{--group-color:#9d427b}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=purple]{--group-color:#8750ad}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=red]{--group-color:#a93e3a}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=cyan]{--group-color:#117b89}
:root:is([data-color-scheme=light],[data-theme=light]) [data-group-color=gray]{--group-color:#5d6672}
.tab-group-section{flex-shrink:0;display:flex;align-items:center;gap:2px;min-width:0;height:100%;position:relative}
.tab-group-rail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.tab-group-rail path{fill:none;stroke:var(--group-color);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tab-group-section.is-dragging-group,.tab-navigation .terminal-tab.is-dragging{opacity:.45}
.group-item{flex-shrink:0;display:flex;align-items:center;position:relative;max-width:168px;min-width:46px;height:23px;margin:0 8px 0 3px;border-radius:6px;background:var(--group-color);color:var(--group-ink);z-index:1}
.group-nav-button{display:flex;align-items:center;min-width:0;flex:1;padding:3px 8px;height:23px;font-size:11px;font-weight:550;white-space:nowrap;text-align:left;color:inherit;cursor:grab}
.group-nav-button:active,.tab-group-section.is-dragging-group{cursor:grabbing}
.group-nav-button>span{overflow:hidden;text-overflow:ellipsis}
.group-item:hover{filter:brightness(1.04)}
.group-item.selected .group-nav-button{font-weight:650}
.group-item.drop-receiving{outline:2px solid var(--group-color);outline-offset:3px}
.group-options{display:grid;place-items:center;flex-shrink:0;width:20px;height:21px;padding:0;margin-right:2px;border-radius:4px;color:inherit;opacity:0}
.group-item:hover .group-options,.group-item:focus-within .group-options,.group-options[aria-expanded=true]{opacity:1}
.group-options:hover{background:color-mix(in srgb,var(--group-ink) 12%,transparent)}
.tab-group-section .terminal-tab{height:37px;margin:4px 0 3px;border:0;border-radius:12px 12px 0 0;z-index:1}
.tab-group-section .terminal-tab.active{background:var(--surface)}
.tab-group-section .active .tab-select>svg{color:var(--group-color)}
.tab-group-section .tab-select{padding:7px 10px}
.tab-group-tail{width:14px;flex-shrink:0;align-self:stretch;position:relative;cursor:grab}
.tab-group-drop-end{position:absolute;top:10px;bottom:8px;left:7px;width:2px;border-radius:2px;background:var(--group-color);opacity:0}
.tab-group-section.drop-appending .tab-group-drop-end{opacity:1}
.tab-navigation [data-drop-edge]::after{content:'';position:absolute;z-index:3;top:7px;bottom:7px;width:2px;background:var(--accent);border-radius:2px;pointer-events:none}
.tab-navigation [data-drop-edge=before]::after{left:-3px}
.tab-navigation [data-drop-edge=after]::after{right:-3px}
.tab-navigation .drop-at-end::after{content:'';width:2px;align-self:center;height:22px;background:var(--accent);flex-shrink:0;border-radius:2px}
.tab-live-region{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tab-popover{position:fixed;z-index:90;width:244px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 10px 30px #00000040;padding:6px;font-size:11px}
.tab-popover>button,.tab-menu-groups>button{display:flex;align-items:center;gap:7px;width:100%;text-align:left;padding:7px 9px;min-height:29px;border-radius:4px;color:var(--secondary)}
.tab-popover>button:hover:not(:disabled),.tab-menu-groups>button:hover:not(:disabled){background:var(--hover);color:var(--text)}
.tab-popover button:disabled{cursor:default}
.tab-popover button:focus-visible{outline-offset:-2px}
.tab-popover kbd,.tab-menu-groups small{margin-left:auto;font-size:9px;flex-shrink:0}
.tab-menu-heading{padding:5px 9px 7px;color:var(--text);font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab-menu-label{padding:5px 9px;color:var(--muted);font-size:10px}
.tab-menu-divider{height:1px;background:var(--line-strong);margin:5px 3px}
.tab-menu-groups{max-height:212px;overflow:auto}
.tab-menu-groups button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tab-menu-color{width:7px;height:7px;flex-shrink:0;background:var(--group-color);border-radius:50%}
.group-name-popover{width:264px;padding:9px}
.group-name-popover label{display:block;margin:5px 4px 7px;color:var(--secondary)}
.group-name-popover input{display:block;width:100%;height:32px;border-radius:5px;border:1px solid var(--line-strong);background:var(--bg);padding:7px 9px;font-size:12px}
.group-name-popover input[aria-invalid=true]{border-color:var(--danger)}
.group-name-error{font-size:10px;line-height:1.6;color:var(--danger);margin:6px 4px 0}
.group-color-options{display:flex;align-items:center;justify-content:space-between;gap:5px;margin:14px 1px 0}
.group-color-swatch{width:24px;height:24px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:var(--group-color);color:var(--group-ink);border:2px solid transparent}
.group-color-swatch[aria-checked=true]{border-color:var(--group-ink)}
.group-color-swatch:hover{filter:brightness(1.06)}
.group-form-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}
.group-form-actions button{min-width:50px;min-height:30px;padding:6px 11px;font-size:11px;border-radius:5px;color:var(--secondary)}
.group-form-actions button:hover:not(:disabled){background:var(--hover);color:var(--text)}
.group-form-actions button.group-submit{background:var(--accent);color:var(--accent-ink)}
.group-form-actions button.group-submit:hover:not(:disabled){filter:brightness(1.06)}

.tab-group-section[data-group-collapsed=true] .group-item{margin-right:0}
.tab-group-section[data-group-collapsed=true] .tab-group-tail{width:4px}


/* Desktop source: src/terminal-panes.css */
.terminal-panes{display:block;isolation:isolate}
.terminal-panes.split{gap:0}
.terminal-pane{display:none;position:absolute;min-width:0;min-height:0;overflow:hidden;background:var(--terminal)}
.terminal-pane.is-visible{display:flex;flex-direction:column}
/* Keep the viewport inset outside xterm's clearable buffer and fit container. */
.terminal-pane>.terminal-surface{flex:1;min-height:0;width:100%;padding-top:12px}
.terminal-panes.split .terminal-surface:first-of-type{border-right:0;padding-right:0}
.pane-heading{height:28px;min-height:28px;display:flex;align-items:center;gap:4px;padding:2px 5px 2px 8px;background:var(--surface);border-bottom:1px solid var(--line-strong);color:var(--muted);user-select:none}
.pane-heading[hidden]{display:none}
.pane-title{display:flex;align-items:center;gap:6px;min-width:0;flex:1;font-size:10px}
.pane-title>svg{flex-shrink:0}.pane-title>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pane-heading>.icon-button{height:22px;min-width:22px;width:22px;padding:3px;flex-shrink:0}
.terminal-pane[data-pane-active=true]>.pane-heading{color:var(--text);border-bottom-color:var(--accent)}
.terminal-pane[data-pane-active=true]>.pane-heading .pane-title>svg{color:var(--accent)}
.terminal-pane-empty.is-visible{align-items:center;justify-content:center}
.pane-empty-hint{max-width:100%;padding:16px;text-align:center;font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;pointer-events:none;user-select:none}
.is-tab-dragging .terminal-pane.is-visible{outline:1px dashed var(--line-strong);outline-offset:-1px}
.pane-drop-target{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:12px}
.pane-drop-target>span{max-width:100%;padding:6px 9px;border-radius:5px;background:var(--surface);color:var(--text);font-size:11px;line-height:1.6;text-align:center;overflow-wrap:anywhere;opacity:0;pointer-events:none}
.terminal-pane[data-pane-drop-active=true]{outline:1px solid var(--accent);outline-offset:-1px}
.terminal-pane[data-pane-drop-active=true]>.pane-drop-target{background:color-mix(in srgb,var(--accent) 8%,transparent)}
.terminal-pane-empty[data-pane-drop-active=true]{background:color-mix(in srgb,var(--accent) 8%,var(--terminal))}
.terminal-pane[data-pane-drop-active=true]>.pane-drop-target>span{opacity:1}
.terminal-pane-empty[data-pane-drop-active=true]>.pane-empty-hint{color:var(--accent)}
@media(forced-colors:active){.is-tab-dragging .terminal-pane.is-visible{outline-color:CanvasText}.terminal-pane[data-pane-drop-active=true]{outline:2px solid Highlight}.pane-empty-hint{color:CanvasText}}
.split-menu-wrap{position:relative}
.split-menu{left:auto;right:0;width:208px;z-index:35;max-height:calc(100dvh - 160px);overflow:auto}
.split-menu>button{min-height:34px}
.split-menu>button:disabled{cursor:default}
.split-menu-note{padding:5px 8px;font-size:10px;color:var(--muted);line-height:1.6}


/* Desktop source: src/remote-files.css */
.remote-files{container:remote-files/inline-size;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:hidden;padding:24px 28px 20px;color:var(--text)}
.remote-files-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:19px;border-bottom:1px solid var(--line-strong);flex-shrink:0}
.remote-files-identity{min-width:0}
.remote-files-identity h1{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;font-size:19px;font-weight:600;line-height:1.4;margin:0}
.remote-files-identity h1 span{font-size:12px;font-weight:500;color:var(--secondary);overflow-wrap:anywhere}
.remote-files-identity p{font-family:'JetBrains Mono Variable',monospace;font-size:10px;line-height:1.7;color:var(--muted);margin:7px 0 0;overflow-wrap:anywhere}
.remote-files-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;flex-shrink:0;max-width:100%;margin-top:2px}
.remote-files-heading-actions .remote-files-disconnect{color:var(--secondary)}
.remote-files-heading-actions .remote-files-disconnect:hover{color:var(--text);background:var(--hover)}
.remote-files-connect-scroll{flex:1;min-height:0;overflow:auto;padding:28px 2px 8px}
.remote-files-connect,.remote-files-verification{max-width:520px;min-width:0}
.remote-files-connect h2,.remote-files-verification h2{font-size:14px;line-height:1.5;font-weight:550;margin:0 0 12px}
.remote-files-auth-note,.remote-files-verification>p{font-size:11px;line-height:1.85;color:var(--secondary);margin:0 0 18px}
.remote-files-key-path{font-family:'JetBrains Mono Variable',monospace;color:var(--muted);font-size:10px;line-height:1.8;overflow-wrap:anywhere;margin:-7px 0 22px}
.remote-files-credential-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 13px}
.remote-files-connect-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px;margin-top:23px}
.remote-files-connect-actions .button{min-height:34px}
.remote-files-error{font-size:11px;line-height:1.8;color:var(--danger);overflow-wrap:anywhere;margin:12px 0}
.remote-files-verification>svg{color:var(--accent);margin-bottom:12px}
.remote-files-verification.is-changed>svg,.remote-files-verification.is-changed h2{color:var(--danger)}
.remote-files-verification dl{margin:21px 0 0;padding:16px 0;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);font-size:11px;line-height:1.8}
.remote-files-verification dl>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;margin-bottom:10px}
.remote-files-verification dl>div:last-child{margin-bottom:0}
.remote-files-verification dt{color:var(--muted)}
.remote-files-verification dd{margin:0;overflow-wrap:anywhere;user-select:text}
.remote-files-verification code{font-family:'JetBrains Mono Variable',monospace;font-size:10px}
.remote-files-browser{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;overflow:auto;padding-top:16px}
.remote-files-warnings{font-size:10px;color:var(--secondary);line-height:1.8;margin:0 0 10px;overflow-wrap:anywhere}
.remote-files-warnings p{margin:0}
.remote-files-path{display:flex;align-items:center;gap:6px;min-width:0;margin:0 0 12px}
.remote-files-path .field-input{font-family:'JetBrains Mono Variable',monospace;font-size:11px;height:34px;min-width:0;flex:1}
.remote-files-path .icon-button{flex-shrink:0}
.remote-files-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:30px}
.remote-files-clear-selection{font-size:10px;color:var(--secondary);padding:7px 3px}
.remote-files-clear-selection:hover{color:var(--text)}
.remote-files-picker-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}
.remote-files-transfer-hint{font-size:10px;line-height:1.8;color:var(--muted);margin:9px 0 15px}
.remote-files-action-error{margin:0 0 10px}
.remote-files-table-scroll{flex:1;min-height:105px;overflow:auto;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.remote-files-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left;font-size:11px}
.remote-files-table th{position:sticky;top:0;background:var(--bg);z-index:1;height:35px;font-weight:500;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line-strong)}
.remote-files-table th,.remote-files-table td{padding:9px 12px}
.remote-files-table td{height:44px;border-bottom:1px solid var(--line);color:var(--secondary)}
.remote-files-table tr:last-child td{border-bottom:0}
.remote-files-table tbody tr[data-file-name]:hover{background:var(--surface)}
.remote-files-table tbody tr.is-selected{background:var(--selected)}
.remote-files-table .remote-files-checkbox{width:30px;padding:9px 6px 9px 2px;text-align:center}
.remote-files-table input[type=checkbox]{width:13px;height:13px;accent-color:var(--accent);vertical-align:middle;cursor:pointer;margin:0}
.remote-files-table .remote-files-size{width:92px;font-variant-numeric:tabular-nums;white-space:nowrap}
.remote-files-table .remote-files-modified{width:158px;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:2px}
.remote-files-name-line{display:flex;align-items:center;gap:9px;min-width:0}
.remote-files-name-line>svg{color:var(--muted);flex-shrink:0}
.remote-files-name-line>svg.is-directory{color:var(--accent)}
.remote-files-name-body{min-width:0;flex:1}
.remote-files-name-body>span:first-child,.remote-files-name-body>button{display:block;font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;text-align:left;padding:3px 0}
.remote-files-name-body>button:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.remote-files-mobile-meta{display:none;font-size:9px;line-height:1.6;color:var(--muted);gap:10px;margin-top:3px}
.remote-files-mobile-meta .remote-files-mobile-size{display:none}
.remote-files-list-state{display:flex;justify-content:center;align-items:center;gap:8px;min-height:130px;padding:22px 10px;font-size:11px;color:var(--muted);line-height:1.8}
.remote-files-list-state.is-error{flex-direction:column;align-items:flex-start;gap:10px;justify-content:flex-start}
.remote-files-list-state p{margin:0;color:var(--danger);overflow-wrap:anywhere;max-width:100%}
.remote-files-directory-summary{font-size:10px;line-height:1.6;color:var(--muted);padding-top:9px;flex-shrink:0}
.remote-files-transfer{flex-shrink:0;min-width:0;margin-top:15px;padding-top:12px;border-top:1px solid var(--line-strong)}
.remote-files-transfer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--text);min-height:25px}
.remote-files-transfer.is-error .remote-files-transfer-heading>span{color:var(--danger)}
.remote-files-progress{height:3px;background:var(--raised);overflow:hidden;border-radius:2px;margin:10px 0}
.remote-files-progress>span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transition:transform .12s linear}
.remote-files-progress.is-indeterminate>span{animation:remote-files-progress 1.4s ease-in-out infinite}
@keyframes remote-files-progress{0%{transform:translateX(-100%)}100%{transform:translateX(340%)}}
.remote-files-transfer-detail{display:flex;justify-content:space-between;gap:14px;font-size:10px;color:var(--muted);line-height:1.8;margin-top:5px}
.remote-files-transfer-detail>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.remote-files-transfer-detail>span:last-child{flex-shrink:0;font-variant-numeric:tabular-nums}
.remote-files-transfer-errors{font-size:10px;line-height:1.8;color:var(--danger);margin:9px 0 0;padding-left:17px;max-height:88px;overflow:auto;overflow-wrap:anywhere}
@container remote-files (max-width:620px){.remote-files-table .remote-files-modified{width:132px;font-size:10px}.remote-files-table th,.remote-files-table td{padding-left:8px;padding-right:8px}.remote-files-table .remote-files-size{width:74px}}
@container remote-files (max-width:520px){.remote-files-table .remote-files-modified{display:none}.remote-files-mobile-meta{display:flex}.remote-files-credential-fields{grid-template-columns:1fr;gap:16px}.remote-files-identity h1{gap:7px}.remote-files-heading{gap:10px}.remote-files-heading-actions>.button{padding:7px 8px}.remote-files-table .remote-files-size{width:80px}}
@container remote-files (max-width:390px){.remote-files-table .remote-files-size{display:none}.remote-files-mobile-meta .remote-files-mobile-size{display:inline}.remote-files-heading{flex-wrap:wrap}.remote-files-heading-actions{margin-left:auto}.remote-files-path{gap:3px}.remote-files-path .icon-button{min-width:25px;width:25px}.remote-files-table th,.remote-files-table td{padding-left:5px;padding-right:5px}.remote-files-verification dl>div{grid-template-columns:1fr;gap:3px}.remote-files-transfer-detail{flex-wrap:wrap;gap:3px 10px}}
@media(max-width:1000px){.remote-files{padding:20px 19px 16px}}
@media(prefers-reduced-motion:reduce){.remote-files-progress>span{transition:none}.remote-files-progress.is-indeterminate>span{animation:none}}
.remote-files{padding:18px 20px 14px}
.remote-files-heading{padding-bottom:12px;gap:10px}.remote-files-identity h1{font-size:16px;gap:9px}.remote-files-identity p{margin-top:4px}
.file-pane-tabs{display:none;gap:3px;padding:8px 0;border-bottom:1px solid var(--line-strong);flex-shrink:0}
.file-pane-tabs>button{font-size:11px;color:var(--secondary);padding:7px 12px;border-radius:4px}.file-pane-tabs>button[aria-pressed=true]{color:var(--text);background:var(--selected)}
.file-workspace{display:grid;grid-template-columns:minmax(0,27fr) minmax(0,31fr) minmax(0,42fr);flex:1;min-width:0;min-height:0;padding-top:12px}
.file-pane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:0 12px}
.file-pane:first-child{padding-left:0}.file-pane:last-child{padding-right:0}.file-pane+.file-pane{border-left:1px solid var(--line-strong)}
.file-pane-heading{display:flex;align-items:center;gap:7px;min-height:31px;flex-shrink:0;margin-bottom:9px;min-width:0}
.file-pane-heading h2{font-size:11px;font-weight:550;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-pane-heading .button.compact{font-size:10px;padding:5px 7px;min-height:27px;flex-shrink:0}
.file-pane-heading>span{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:var(--muted);white-space:nowrap}
.file-pane .remote-files-path{gap:3px;margin-bottom:8px}.file-pane .remote-files-path .field-input{height:29px;font-size:10px;padding:5px 7px}
.file-pane .remote-files-path .icon-button{width:24px;height:26px;flex-shrink:0}
.file-pane .remote-files-actions{gap:5px;min-height:28px;margin-bottom:8px}.file-pane .remote-files-actions>.button{padding:5px 7px;font-size:10px}
.file-pane .remote-files-actions>.icon-button{width:24px;height:25px}
.file-pane .remote-files-table-scroll{min-height:100px;flex:1}.file-pane .remote-files-table{font-size:10px}
.file-pane .remote-files-table th{height:28px;font-size:9px}.file-pane .remote-files-table td{height:33px;font-size:10px;padding-block:4px}
.file-pane .remote-files-table th,.file-pane .remote-files-table td{padding-left:4px;padding-right:4px}
.file-pane .remote-files-table .remote-files-checkbox{width:23px;padding-inline:2px}.file-pane .remote-files-table .remote-files-size{width:57px;font-size:9px}
.file-pane .remote-files-name-line{gap:4px;min-width:0}.file-pane .remote-files-name-body>button,.file-pane .remote-files-name-body>span:first-child{font-size:10px;line-height:1.4;padding:3px 0}
.file-tree-toggle,.file-tree-spacer{display:inline-flex;align-items:center;justify-content:center;width:16px;height:23px;flex-shrink:0;padding:0;border-radius:3px}
.file-tree-toggle:hover{background:var(--hover);color:var(--text)}.file-tree-state{font-size:9px;color:var(--muted);line-height:1.5}
.file-tree-retry{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;border-radius:3px;color:var(--danger)}
.file-tree-retry:hover{background:var(--hover)}.file-tree-retry:disabled{opacity:.5;cursor:default}
.file-pane .remote-files-list-state{min-height:110px;font-size:10px;padding:15px 8px;text-align:center}.file-pane .remote-files-list-state.is-error{text-align:left}
.file-pane-hint{font-size:9px;line-height:1.7;color:var(--muted);margin:7px 0 0;flex-shrink:0;overflow-wrap:anywhere}
.file-pane .remote-files-directory-summary{font-size:9px;padding-top:6px}
.file-pane .remote-files-connect{max-width:none;flex-shrink:0;padding:10px 0 12px;border-bottom:1px solid var(--line-strong);margin-bottom:10px}
.file-pane .remote-files-auth-note{font-size:10px;line-height:1.7;margin:0 0 8px}.file-pane .remote-files-credential-fields{grid-template-columns:1fr;gap:8px;margin:9px 0 0}
.file-pane .remote-files-credential-fields .form-field{margin:0}.file-pane .remote-files-credential-fields label{font-size:10px;margin-bottom:5px}.file-pane .remote-files-credential-fields input{height:29px;font-size:11px;padding:6px 8px}
.file-pane .remote-files-connect-actions{gap:6px;margin-top:9px}.file-pane .remote-files-connect-actions .button{min-height:28px;padding:5px 8px;font-size:10px}
.file-pane .remote-files-verification{max-width:none;flex-shrink:0;margin:0 0 10px;padding:10px 0;border-bottom:1px solid var(--line-strong);font-size:10px;min-width:0}
.file-pane .remote-files-verification h3{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:550;margin:0 0 7px}.file-pane .remote-files-verification p{font-size:10px;line-height:1.7;margin:5px 0;overflow-wrap:anywhere}
.file-pane .remote-files-verification code{display:block;max-width:100%;overflow-wrap:anywhere;font-size:9px;line-height:1.7}
.file-pane .remote-files-error{font-size:10px;line-height:1.7;margin:6px 0}.file-pane .remote-files-warnings{font-size:9px;margin-bottom:7px}
.file-editor-path{font-family:'JetBrains Mono Variable',monospace;font-size:9px;color:var(--muted);line-height:1.7;margin:0 0 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex-shrink:0}
.remote-file-editor{display:block;width:100%;flex:1;min-width:0;min-height:130px;resize:none;padding:10px;border:1px solid var(--line-strong);border-radius:4px;background:var(--bg);color:var(--text);font-family:'JetBrains Mono Variable',Consolas,monospace;font-size:11px;line-height:1.7;white-space:pre;overflow:auto;tab-size:2;outline:none}
.remote-file-editor:focus{border-color:var(--accent)}.file-editor-footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.7;color:var(--muted);padding-top:7px;flex-shrink:0}
.file-editor-empty{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px 8px;font-size:11px;line-height:1.8;color:var(--secondary);text-align:center}.file-editor-empty>span{font-size:10px;color:var(--muted)}
.file-editor-message{font-size:10px;color:var(--muted);line-height:1.7;margin:8px 0}.file-editor-dirty{color:var(--secondary)!important}.file-editor-saved{color:var(--accent)!important}
.is-drop-target{outline:1px solid var(--accent);outline-offset:-1px;background:var(--selected)!important}
.remote-files-transfer{margin-top:10px;padding-top:9px}.remote-files-transfer-heading{font-size:10px;min-height:22px}.remote-files-transfer .button.compact{font-size:10px;padding:5px 8px}.remote-files-transfer-detail{font-size:9px}.remote-files-progress{margin:7px 0}
.file-status-bar{box-sizing:border-box;display:flex;align-items:center;gap:7px;flex-shrink:0;min-width:0;height:28px;min-height:28px;max-height:28px;margin-top:8px;border-top:1px solid var(--line-strong);color:var(--muted);font-size:10px;line-height:1.4;overflow:hidden}
.file-status-log{display:flex;align-items:center;gap:7px;flex:1;min-width:0;opacity:1}
.file-status-log.is-fading{opacity:0;pointer-events:none;transition:opacity .2s ease-out}
.file-status-icon{flex-shrink:0}.file-status-message{display:block;min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text}
.file-status-bar.is-error .file-status-icon,.file-status-bar.is-error .file-status-message{color:var(--danger)}.file-status-bar.is-warning .file-status-icon{color:var(--warning,var(--secondary))}
.file-status-transfer{flex-shrink:0;font-size:9px;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--secondary)}
.file-status-action{flex-shrink:0;min-height:22px;padding:2px 6px;border-radius:3px;font-size:10px;color:var(--secondary);white-space:nowrap}
.file-status-action:hover{background:var(--hover);color:var(--text)}.file-status-action:disabled{opacity:.5;cursor:default}
.file-status-action:focus-visible,.file-tree-retry:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.file-status-progress{flex-shrink:0;width:58px;height:2px;overflow:hidden;background:var(--raised);border-radius:2px}
.file-status-progress>span{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left;transition:transform .12s linear}.file-status-progress.is-indeterminate>span{animation:remote-files-progress 1.4s ease-in-out infinite}
@container remote-files (max-width:430px){.file-status-bar,.file-status-log{gap:5px}.file-status-progress{display:none}.file-status-action{padding-inline:4px}}
@media(prefers-reduced-motion:reduce){.file-status-log.is-fading,.file-status-progress>span{transition:none}.file-status-progress.is-indeterminate>span{animation:none}}
.file-unsaved-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#0006;-webkit-app-region:no-drag}
.file-unsaved-dialog{width:420px;max-width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line-strong);border-radius:8px;padding:21px;box-shadow:0 12px 40px #0005;min-width:0}
.file-unsaved-dialog h2{font-size:14px;margin:0 0 11px;font-weight:550}.file-unsaved-dialog>p{font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:var(--secondary);margin:0 0 15px}
.file-unsaved-dialog>div{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px}.file-unsaved-dialog .button{font-size:11px}
@container remote-files (max-width:900px){.file-pane-tabs{display:flex}.file-workspace{grid-template-columns:minmax(0,1fr)}.file-pane{padding:0!important;border-left:0!important}.remote-files[data-file-pane=local] .file-pane:not(.file-local-pane),.remote-files[data-file-pane=remote] .file-pane:not(.file-remote-pane),.remote-files[data-file-pane=editor] .file-pane:not(.file-editor-pane){display:none}.file-pane .remote-files-credential-fields{grid-template-columns:1fr 1fr}.file-pane .remote-files-table .remote-files-size{display:table-cell;width:70px}.file-pane .remote-files-name-body>button,.file-pane .remote-files-name-body>span:first-child{font-size:11px}.file-pane .remote-files-table td{height:35px}}
@container remote-files (max-width:430px){.file-pane .remote-files-credential-fields{grid-template-columns:1fr}.remote-files-heading .button{font-size:10px}.remote-files-heading{flex-wrap:wrap}.remote-files-heading-actions{margin-left:auto}.file-pane-tabs>button{padding-inline:10px}.file-pane .remote-files-table .remote-files-size{width:60px}}


/* Desktop source: src/settings-navigation.css */
.settings-page.settings-navigation-page{display:flex;flex-direction:column;min-width:0;min-height:0;max-width:1100px;padding:24px 26px 18px;overflow:clip;container:settings-page/inline-size}
.settings-navigation-page>.settings-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;flex:0 0 auto;position:relative;z-index:1;background:var(--bg);margin-bottom:20px}
.settings-header>.panel-close{align-self:start;justify-self:end;flex-shrink:0}
.settings-heading-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:9px 16px;min-width:0}
.settings-heading-copy .settings-save-status{min-height:16px}
.settings-navigation-layout{display:grid;grid-template-columns:148px minmax(0,1fr);gap:24px;flex:1;min-width:0;min-height:0;overflow:hidden}
.settings-navigation{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 12px 8px 0;border-right:1px solid var(--line-strong)}
.settings-navigation-button{flex-shrink:0;display:block;width:100%;min-width:0;min-height:33px;padding:8px 10px;text-align:left;font-size:11px;font-weight:500;line-height:1.45;color:var(--secondary);border-radius:5px;overflow-wrap:anywhere}
.settings-navigation-button:hover{background:var(--line);color:var(--text)}
.settings-navigation-button[aria-current=page]{background:var(--raised);color:var(--text)}
.settings-navigation-button:focus-visible{outline-offset:-2px}
.settings-page.settings-navigation-page .settings-content{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;padding:2px 8px 12px 2px;scrollbar-gutter:stable}
.settings-category{min-width:0}
.settings-category[hidden]{display:none!important}
.settings-category>.settings-section{margin:0;padding:0;border-bottom:0;min-width:0}
.settings-category .settings-section-heading{flex-wrap:wrap}
.settings-category .setting-description{min-width:0;overflow-wrap:anywhere}
.settings-category .field-select{min-width:0;max-width:100%}
.settings-category .settings-section h2{line-height:1.5}
.settings-navigation-page .settings-footer{margin-top:28px;gap:12px;flex-wrap:wrap}
.settings-navigation-page>.settings-navigation-error{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:12px;margin:0 0 15px;font-size:11px}
.settings-navigation-error>p{min-width:0;overflow-wrap:anywhere;margin:0}
.settings-navigation-error>.button{flex-shrink:0}
@container settings-page (max-width:650px){.settings-navigation-layout{grid-template-columns:110px minmax(0,1fr);gap:16px}.settings-navigation{padding-right:8px}.settings-navigation-button{padding:8px}}
@container settings-page (max-width:450px){.settings-navigation-layout{grid-template-columns:88px minmax(0,1fr);gap:12px}.settings-navigation-button{padding:8px 6px;font-size:10px}.settings-navigation-page>.settings-navigation-error{align-items:flex-start;flex-direction:column}}
@container appearance-settings (max-width:440px){.settings-category .setting-row{align-items:flex-start;flex-wrap:wrap;gap:10px}.settings-category .setting-row>.field-select{width:100%;flex-basis:100%}.settings-category .appearance-font-setting{flex-direction:column}.settings-category .shortcut-grid{grid-template-columns:minmax(0,1fr)}.settings-category .proxy-auth-row,.settings-category .proxy-connection-fields>.address-row{grid-template-columns:minmax(0,1fr)}.settings-category .mcp-setting-row .setting-description{width:100%;max-width:none}.settings-category .mcp-port-control{flex-wrap:wrap}.settings-category .license-key-control{align-items:stretch;flex-direction:column}.settings-category .license-key-control>.field-input{flex:none}.settings-category .mcp-token-actions,.settings-category .mcp-config-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:900px){.settings-page.settings-navigation-page{padding:20px 18px 14px}}


/* Desktop source: src/mcp-panel.css */
.mcp-section{min-width:0}
.mcp-service-state{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);white-space:nowrap}
.mcp-service-state.running{color:var(--accent)}
.mcp-service-state.error{color:var(--danger)}
.mcp-setting-row .setting-description{min-width:0;max-width:65ch}
.mcp-port-control{display:flex;align-items:center;gap:8px;flex-shrink:0}
.mcp-port-control .field-input{width:84px;font-variant-numeric:tabular-nums}
.mcp-field-error{margin:7px 0 0}
.mcp-error p{margin:0 0 8px;overflow-wrap:anywhere}
.mcp-connection-fields{display:flex;flex-direction:column;gap:16px;margin-top:20px;min-width:0}
.mcp-copy-field{display:flex;align-items:center;gap:6px;min-width:0}
.mcp-copy-field .field-input{flex:1;min-width:0}
.mcp-copy-field .icon-button{flex-shrink:0;width:30px;height:32px}
.mcp-token-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mcp-config-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mcp-config-heading label{font-size:11px;font-weight:500;color:var(--secondary)}
.mcp-config-code{height:auto;min-height:133px;resize:vertical;font-family:'JetBrains Mono Variable','Microsoft YaHei UI',monospace;font-size:10px;line-height:1.7;white-space:pre;overflow:auto;tab-size:2}
.mcp-copy-status{min-height:16px;font-size:10px;color:var(--accent);margin:10px 0 18px}
.mcp-copy-error{margin:-10px 0 18px;overflow-wrap:anywhere}
.mcp-recent-calls h3{font-size:11px;font-weight:500;color:var(--secondary);margin:0 0 10px}
.mcp-call-list{list-style:none;padding:0;margin:0}
.mcp-call-list li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:10px}
.mcp-call-list li:last-child{border-bottom:0}
.mcp-call-list time{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.mcp-call-detail{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.mcp-call-detail code{font-family:'JetBrains Mono Variable',monospace;color:var(--secondary);font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mcp-call-detail>span{color:var(--muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mcp-call-outcome{flex-shrink:0;color:var(--secondary)}
.mcp-call-outcome.error{color:var(--danger)}
@media(max-width:960px){.mcp-setting-row{gap:16px}.mcp-setting-row .setting-description p{max-width:43ch}}
@media(max-width:600px){.mcp-config-heading,.mcp-token-actions{align-items:flex-start;flex-wrap:wrap}.mcp-port-control{gap:6px}.mcp-port-control .field-input{width:72px}.mcp-section .settings-section-heading{gap:10px}}
