/* X-Wrt palette: orange #f7971d, dark navigation #231815, neutral surfaces.
   Reference: x-wrt/luci themes/luci-theme-x-wrt/htdocs/luci-static/x-wrt/cascade.css */
:root{
 color-scheme:light dark;--bg:#f5f5f5;--surface:#fff;--surface-soft:#f0f0f0;--surface-hover:#e6e6e6;
 --ink:#333;--muted:#666;--line:#dedede;--nav:#231815;--nav-text:#fff;--nav-muted:#ded6d1;--nav-hover:#40312b;
 --accent:#f7971d;--accent-hover:#e8870a;--accent-text:#231815;--accent-ink:#8a4800;--accent-soft:#fff3df;--accent-line:#e7b977;--focus:#b85e00;
 --success:#16824a;--success-soft:#eaf7ef;--warning:#875600;--warning-soft:#fff5da;
 --danger:#b42318;--danger-hover:#8e1b13;--danger-soft:#fff1ef;--danger-line:#e6b5ad;
 --radius:16px;font-family:Inter,"Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--bg)
}
@media(prefers-color-scheme:dark){:root{
 --bg:#222;--surface:#2b2b2b;--surface-soft:#333;--surface-hover:#404040;--ink:#eee;--muted:#b8b8b8;--line:#525252;
 --accent:#f7971d;--accent-hover:#ffad44;--accent-ink:#ffc477;--accent-soft:#403021;--accent-line:#916331;--focus:#f7971d;
 --success:#70d9a3;--success-soft:#173e2a;--warning:#f5cf7c;--warning-soft:#47391b;
 --danger:#ffb4a9;--danger-hover:#ffc9c0;--danger-soft:#4d211e;--danger-line:#8f4940
}}
*{box-sizing:border-box}body{margin:0;min-height:100dvh}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;transition:background .15s,opacity .15s}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}h1,h2,p{margin:0}code{font:12px "SFMono-Regular",Consolas,monospace;overflow-wrap:anywhere}.muted{color:var(--muted);line-height:1.7}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.brand{display:flex;align-items:center;gap:11px;font-size:17px;font-weight:650;white-space:nowrap}.brand-light{font-weight:400;opacity:.65}.primary{background:var(--accent);color:var(--accent-text);border-radius:10px;min-height:44px;padding:11px 20px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:22px}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--surface-soft);color:var(--ink);border-radius:9px;padding:9px 15px;min-height:40px}.secondary:hover{background:var(--surface-hover)}.quiet{background:transparent;color:var(--muted);padding:10px 12px;border-radius:8px;min-height:40px}.quiet:hover{background:var(--surface-soft);color:var(--ink)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);margin-right:7px}.error{color:var(--danger);font-size:13px;min-height:24px;line-height:1.5}
.login-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.intro{background:var(--nav);color:#f5f5f5;min-height:100dvh;padding:44px 56px;display:flex;flex-direction:column;position:relative;overflow:hidden}.intro::after{content:"";position:absolute;width:440px;height:440px;border:1px solid #ffffff0b;border-radius:50%;bottom:100px;right:-180px;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff02;pointer-events:none}.intro .brand img{border-radius:8px}.intro-copy{margin:auto 0;position:relative;z-index:1}.intro-copy .eyebrow{color:var(--accent)}.intro h1{font-size:clamp(36px,4.2vw,62px);font-weight:480;line-height:1.35;letter-spacing:-1.5px;margin:25px 0}.intro-copy p{font-size:16px;line-height:1.9;color:#c8c1bd}.intro-bottom{color:#c8c1bd;font-size:12px;letter-spacing:.4px}.login-side{display:flex;align-items:center;justify-content:center;padding:40px;position:relative}.login-card{width:min(100%,340px)}.card-icon{background:var(--accent-soft);color:var(--accent-ink);width:48px;height:48px;display:grid;place-items:center;font-size:27px;border-radius:14px;margin-bottom:24px}.login-card h2{font-size:27px;font-weight:600;margin-bottom:9px}.login-card>p.muted{margin-bottom:34px}.login-card label{display:block;font-weight:550;font-size:12px;margin:20px 0 9px}.login-card input{width:100%;height:48px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:0 14px;color:var(--ink);font-size:16px}.login-card .error{margin-top:13px}.login-card .primary{width:100%;margin-top:8px;justify-content:space-between}.login-note{font-size:11px;color:var(--muted);line-height:1.9;text-align:center;margin-top:25px}.login-note code{font-size:11px}.login-footer{position:absolute;bottom:30px;color:var(--muted);font-size:11px}
.workspace{height:100dvh;display:flex;flex-direction:column;max-width:1800px;margin:0 auto;padding:0 32px 12px}.topbar{flex-shrink:0;height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-right{display:flex;align-items:center;gap:8px}.user-label{font-size:12px;color:var(--muted);margin-right:6px}.desktop-card{display:flex;flex-direction:column;flex:1 0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 40px #00000008}.desktop-toolbar{flex-shrink:0;min-height:54px;padding:7px 15px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}.desktop-title{display:flex;align-items:center;gap:10px;min-width:0}.desktop-title strong{font-size:12px;font-weight:600;white-space:nowrap}.monitor-icon{font-size:22px;color:var(--accent-ink)}.connection-status{display:inline-flex;align-items:center;gap:6px;font-size:10px;background:var(--success-soft);color:var(--success);border-radius:20px;padding:5px 9px;white-space:nowrap}.connection-status i{width:5px;height:5px;border-radius:50%;background:currentColor}.connection-status.offline{background:var(--warning-soft);color:var(--warning)}.desktop-actions{display:flex;gap:2px}.desktop-actions .quiet{font-size:11px;padding:8px 10px;min-height:36px}.desktop-stage{flex:1;min-height:320px;background:#222222;position:relative}.desktop-stage:fullscreen{height:100%;background:#222222}#desktop-frame{width:100%;height:100%;border:0;display:block}.desktop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#f0f0f0;padding:30px;background:radial-gradient(ellipse at 50% 30%,#353535,#222222 75%)}.desktop-orbit{width:66px;height:66px;display:grid;place-items:center;border:1px solid #666666;border-radius:18px;color:var(--accent);font-size:30px;margin-bottom:22px}.desktop-overlay h2{font-size:19px;font-weight:500;margin-bottom:12px}.desktop-overlay p{font-size:12px;line-height:1.8;color:#bdbdbd;max-width:340px}.desktop-overlay .primary{margin-top:24px}.input-dock{flex-shrink:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:16px;padding:15px 19px 12px}.dock-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.dock-heading strong{font-size:12px;font-weight:600}.dock-heading .muted{font-size:10px;margin-left:12px}.target-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;white-space:nowrap}.target-label select{background:var(--surface-soft);border:0;color:var(--ink);font-size:11px;padding:7px 22px 7px 9px;border-radius:7px;min-height:32px}.composer{display:flex;align-items:flex-end;gap:14px}.composer textarea{resize:vertical;width:100%;border:0;border-radius:8px;background:var(--surface-soft);padding:12px;line-height:1.6;min-height:64px;max-height:200px;font-size:14px;color:var(--ink)}.composer textarea::placeholder{color:var(--muted)}.composer .primary{flex-shrink:0;min-width:124px;height:44px;font-size:12px;margin-bottom:1px}.dock-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px}.keys{display:flex;gap:6px;flex-wrap:wrap}.keys button{white-space:nowrap;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);min-width:33px;min-height:31px;font-family:Consolas,monospace;font-size:10px;padding:4px 10px}.keys button:hover{background:var(--surface-hover)}.keys .enter-key{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}.dock-note{color:var(--muted);font-size:10px}.workspace-footer{flex-shrink:0;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);padding:13px 3px}.workspace-footer .status-dot{height:5px;width:5px}
.files-dialog{border:1px solid var(--line);border-radius:20px;max-width:min(92vw,520px);width:520px;padding:25px;color:var(--ink);box-shadow:0 30px 100px #0002}.files-dialog::backdrop{background:#23181588;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.dialog-heading .eyebrow{color:var(--accent-ink);font-size:9px}.dialog-heading h2{font-size:22px;margin-top:8px}.files-dialog>.muted{font-size:12px}.upload-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:140px;border:1px dashed var(--accent-line);border-radius:12px;background:var(--accent-soft);margin:22px 0;cursor:pointer}.upload-zone>span{font-size:24px;color:var(--accent-ink)}.upload-zone strong{font-size:13px}.upload-zone small{color:var(--muted);font-size:11px}.file-list{margin:10px 0 20px;max-height:35dvh;overflow:auto}.file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 1px;border-bottom:1px solid var(--line)}.file-row span{overflow-wrap:anywhere;min-width:0;font-size:12px}.file-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.file-row a{color:var(--accent-ink);text-decoration:none;flex-shrink:0;font-size:12px;padding:8px}.empty-files{font-size:12px;color:var(--muted);padding:20px 0}.toast{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--nav);color:#fff;border-radius:10px;padding:13px 20px;box-shadow:0 8px 40px #0003;max-width:90vw;width:max-content;font-size:12px;z-index:20}.toast.failure{background:var(--danger)}
@media(max-width:700px){.login-layout{display:block}.intro{min-height:auto;padding:28px 26px 34px}.intro .brand{font-size:16px}.intro .brand img{width:30px;height:30px}.intro-copy{margin:36px 0 0}.intro-copy .eyebrow{font-size:8px}.intro h1{font-size:34px;line-height:1.3;margin:16px 0 12px}.intro-copy p{font-size:12px;line-height:1.7}.intro-bottom{display:none}.intro::after{width:220px;height:220px;right:-100px;bottom:-100px}.login-side{padding:32px 26px 65px;display:block}.login-card{margin:auto;max-width:400px;width:100%}.card-icon{display:none}.login-card h2{font-size:22px}.login-card>p.muted{font-size:12px;margin-bottom:23px}.login-card label{margin-top:16px}.login-footer{bottom:18px;left:0;right:0;text-align:center;font-size:10px}.login-note{margin-top:18px}.workspace{padding:0 9px max(4px,env(safe-area-inset-bottom))}.topbar{height:62px;gap:8px;padding:0 5px}.topbar .brand{font-size:14px;gap:7px}.topbar .brand img{width:26px;height:26px}.user-label{display:none}.topbar-right{gap:0}.topbar-right button{font-size:11px;padding:8px 10px;min-height:40px}.desktop-card{border-radius:11px}.desktop-toolbar{padding:6px 8px;min-height:48px}.desktop-title{gap:6px}.desktop-title strong{font-size:11px}.monitor-icon{display:none}.connection-status{font-size:9px;padding:4px 7px}.desktop-actions .quiet{padding:7px;font-size:10px;min-height:36px}.desktop-stage{min-height:240px}.input-dock{padding:13px 12px;margin-top:9px;border-radius:11px}.dock-heading .muted{display:none}.dock-heading{margin-bottom:9px}.dock-heading strong{font-size:11px}.target-label{font-size:9px}.target-label select{font-size:10px;min-height:35px}.composer{gap:8px}.composer textarea{font-size:16px;min-height:78px;line-height:1.5;resize:none;padding:9px}.composer .primary{min-width:76px;height:44px;padding:8px 10px;font-size:11px;gap:4px}.composer .primary span{display:none}.dock-bottom{display:block;margin-top:9px}.keys{display:flex;justify-content:space-between;gap:5px}.keys button{min-height:42px;flex:1;padding:6px 5px;font-size:10px}.dock-note{display:block;font-size:9px;margin-top:9px}.workspace-footer{font-size:9px;padding:10px 4px}.workspace-footer #version-label{display:none}.files-dialog{padding:20px}.desktop-overlay{padding:20px}.desktop-overlay h2{font-size:17px}.desktop-overlay p{font-size:11px}}
@media(max-height:540px) and (orientation:landscape){.topbar{height:48px}.workspace{padding:0 10px}.desktop-stage{min-height:210px}.input-dock{margin-top:8px}.workspace-footer{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.display-controls{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--surface-soft)}
.zoom-controls,.view-actions{display:flex;align-items:center;gap:5px}
.view-button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:11px;white-space:nowrap}
.view-button:hover{background:var(--accent-soft)}
.view-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent-line)}
.view-button:disabled{cursor:default}
.zoom-step{min-width:40px;font-size:17px;padding:4px 8px}
.zoom-label{min-width:46px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}
.desktop-card:fullscreen{width:100%;height:100%;border:0;border-radius:0;flex:none}
.desktop-card:fullscreen .desktop-stage{min-height:0}
.connection-details{margin:15px 0 20px}.connection-details>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:12px 0}.connection-details dt{color:var(--muted);font-size:12px}.connection-details dd{margin:0;text-align:right;font-size:12px;overflow-wrap:anywhere}.connection-dialog #diag-note{font-size:11px;line-height:1.7;margin-bottom:18px}
.connection-dialog{max-height:90dvh;overflow:auto}.direct-hints{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.direct-hints summary{cursor:pointer}.direct-hints p{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.direct-hints form{display:grid;gap:12px}.direct-hints label{display:grid;gap:6px;font-size:12px}.direct-hints input{width:100%;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface-soft);color:var(--ink);font-size:16px}
.desktop-settings-dialog{max-height:90dvh;overflow:auto}.settings-label{display:block;font-size:12px;margin:17px 0 8px}.desktop-settings-dialog select,.desktop-settings-dialog input[type=number]{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-size:16px;color:var(--ink)}.settings-dimensions{display:flex;gap:10px;align-items:flex-end;margin-top:14px}.settings-dimensions label{flex:1;min-width:0;font-size:12px}.settings-dimensions input{margin-top:7px}.settings-dimensions>span{padding-bottom:12px;color:var(--muted)}.settings-help{font-size:11px;line-height:1.7;margin:12px 0}.terminal-display-actions{display:flex;flex-wrap:wrap;gap:7px}.terminal-display-actions button{font-size:11px}.desktop-apply-section{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.desktop-apply-section>p{font-size:11px;overflow-wrap:anywhere}.restart-confirmation{display:flex;gap:9px;font-size:11px;line-height:1.7;margin:14px 0;color:var(--warning)}.restart-confirmation input{flex-shrink:0;margin-top:4px;accent-color:var(--accent)}.desktop-settings-dialog .primary{font-size:12px;width:100%}
@media(max-width:700px){.display-controls{flex-wrap:wrap;padding:7px 8px;gap:6px}.zoom-controls{flex:1;justify-content:space-between;gap:4px}.view-actions{width:100%;justify-content:space-between}.view-button{padding:7px 9px;min-height:40px}.zoom-step{min-width:40px}.zoom-label{min-width:42px}}
.input-status{margin:8px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere;color:var(--muted)}.input-status[data-outcome="unknown"],.input-status[data-outcome="rejected"]{color:var(--warning)}.input-status[data-outcome="success"]{color:var(--success)}
.clipboard-entry{min-height:44px;white-space:nowrap}.clipboard-dialog{max-height:90dvh;overflow:auto}.clipboard-dialog select,.clipboard-dialog textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--surface-soft);color:var(--ink)}.clipboard-dialog select{min-height:44px}.clipboard-dialog textarea{margin-top:7px;min-height:140px;max-height:40dvh;resize:vertical;font:13px/1.6 ui-monospace,Consolas,monospace;white-space:pre;overflow:auto}.clipboard-dialog>.settings-label{margin-top:14px}.clipboard-actions{display:flex;flex-wrap:wrap;gap:8px}.clipboard-actions button{min-height:44px}#clipboard-status,#clipboard-meta{overflow-wrap:anywhere}#clipboard-status{min-height:2.8em;line-height:1.5}
.desktop-toolbar{flex-wrap:wrap}.desktop-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.controls-toggle{min-height:44px;font-size:11px;white-space:nowrap}.desktop-card.controls-collapsed .desktop-toolbar{min-height:44px;padding-top:0;padding-bottom:0}
.workspace{max-width:none;padding-left:12px;padding-right:12px}.desktop-card{flex:1 1 0;min-height:0}.desktop-stage{min-height:240px}.viewport-option{display:flex;gap:9px;align-items:flex-start;margin:15px 0;font-size:12px;line-height:1.7}.viewport-option input{margin-top:4px;accent-color:var(--accent)}
.topbar-right{gap:8px}.topbar-right button,.desktop-actions .quiet{min-width:44px;min-height:44px}.topbar-right .logout-entry{margin-left:8px;border-left:1px solid var(--line);border-radius:0 8px 8px 0}.desktop-actions{gap:8px}.keys{gap:8px}.keys button{min-width:44px;min-height:44px}.keys .interrupt-key{margin-left:8px;color:var(--danger);border-color:var(--danger-line);background:var(--danger-soft)}.action-confirmation{max-width:min(92vw,420px)}.action-confirmation h2{font-size:20px;margin-bottom:14px}.action-confirmation>.muted{line-height:1.8}.confirmation-actions{display:flex;justify-content:flex-end;gap:16px;margin-top:26px}.confirmation-actions button{min-width:100px;min-height:48px}.action-confirmation[data-kind="logout"] #accept-confirmation,.action-confirmation[data-kind="interrupt"] #accept-confirmation{background:var(--danger)}.action-confirmation[data-kind="logout"] #accept-confirmation:hover,.action-confirmation[data-kind="interrupt"] #accept-confirmation:hover{background:var(--danger-hover)}@media(max-width:420px){.topbar .brand-light{display:none}.topbar-right{gap:6px}.topbar-right button{padding-left:8px;padding-right:8px}.view-actions{flex-wrap:wrap;gap:6px}.view-actions .view-button{flex:1}.keys button{flex:1 0 36px}}
.view-button{min-width:44px;min-height:44px}.zoom-adjustments{display:inline-flex;align-items:center;gap:4px;flex:none}@media(max-width:420px){.zoom-controls{flex-wrap:wrap;justify-content:flex-start;row-gap:8px}.zoom-controls>.view-button{padding-left:7px;padding-right:7px}.zoom-step{min-width:44px}}
.keys{flex-wrap:wrap}.keys .shortcuts-entry{flex:0 0 auto;min-width:100px;white-space:nowrap;color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-line)}.shortcuts-menu{position:fixed;inset:auto;margin:0;width:min(370px,calc(100vw - 24px));max-height:min(520px,calc(100dvh - 24px));overflow:auto;overscroll-behavior:contain;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 12px 40px #00000030;z-index:50}.shortcuts-menu[hidden]{display:none!important}.shortcuts-title{margin:0 0 7px;font-weight:700;font-size:14px}.shortcuts-help{margin:0 0 10px;font-size:11px;line-height:1.7;color:var(--muted)}.shortcuts-group-title{margin:12px 0 5px;padding-top:9px;border-top:1px solid var(--line);font-size:11px;font-weight:700;color:var(--muted)}.shortcut-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:3px 0;padding:9px 10px;border:1px solid transparent;border-radius:7px;background:var(--surface-soft);color:var(--ink);text-align:left;font-size:12px}.shortcut-option:hover,.shortcut-option:focus-visible{background:var(--accent-soft);border-color:var(--accent-line);outline:2px solid var(--focus);outline-offset:-2px}.shortcut-option kbd{font:11px ui-monospace,Consolas,monospace;white-space:nowrap;color:var(--accent-ink)}.shortcut-option[data-confirm=true]{color:var(--danger);background:var(--danger-soft)}.shortcut-option[data-confirm=true] kbd{color:inherit}.action-confirmation[data-kind=shortcut] #accept-confirmation{background:var(--danger)}@media(max-width:420px){.keys .shortcuts-entry{flex:1 0 100px}}
.terminal-destination{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:8px 0 12px}.terminal-destination label{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}.terminal-destination select{min-width:0;max-width:100%;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font-size:14px}.terminal-destination>.muted{font-size:11px;line-height:1.6}.terminals-dialog{max-height:90dvh;overflow:auto}.terminals-dialog>.muted{font-size:12px;line-height:1.7}.terminal-list{display:grid;gap:12px;margin:16px 0}.terminal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border:1px solid var(--line);border-radius:10px}.terminal-row strong,.terminal-row p{grid-column:1/-1;overflow-wrap:anywhere;margin:0}.terminal-row p{font-size:11px}.terminal-row input,.terminal-create input{min-width:0;width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:8px;font-size:16px;font-family:inherit;color:var(--ink)}.terminal-row>.primary{grid-column:1/-1}.terminal-row button,.terminal-create button{min-height:44px;font-size:12px}.terminal-create{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;border-top:1px solid var(--line);padding-top:16px}.terminal-create label{flex:1;min-width:130px;font-size:12px}.terminal-create input{margin-top:7px}#terminals-status{overflow-wrap:anywhere;min-height:2em}@media(max-width:420px){.dock-heading{flex-wrap:wrap}.terminal-destination label{width:100%}.terminal-destination select{flex:1}.terminal-create button{width:100%}}
.mode-switch{display:flex;gap:4px;flex-shrink:0}.mode-switch button{white-space:nowrap;font-size:12px}.mode-switch button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.terminal-view-controls{display:flex;align-items:center;gap:8px;min-width:0}.terminal-view-controls[hidden]{display:none}.terminal-view-controls label{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}.terminal-view-controls select{min-width:0;max-width:240px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:14px}.terminal-mode .desktop-stage{background:#222222}.terminal-mode #desktop-frame{width:100%;height:100%}@media(max-width:700px){.mode-switch{margin-left:auto}.terminal-view-controls{flex:1;width:100%;flex-wrap:wrap}.terminal-view-controls label{flex:1}.terminal-view-controls select{width:100%}.desktop-header-actions{width:100%}}
.desktop-header-actions{margin-left:auto}.terminal-mode{flex:1 0 auto;min-height:min-content}.terminal-mode .desktop-stage{flex:1 0 240px;min-height:240px}.terminal-mode:fullscreen{min-height:0}.terminal-mode:fullscreen .desktop-stage{flex:1 1 0;min-height:0}@media(max-width:700px){.desktop-header-actions{width:auto}.terminal-view-controls select{max-width:100%}.terminal-view-controls label{flex-basis:180px}}
.terminal-view-controls label{white-space:nowrap}
.forward-recent{margin:16px 0}.forward-recent>strong{font-size:12px}.forward-recent>p{margin-top:8px;font-size:11px;overflow-wrap:anywhere}
.forward-download.recommended{padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft)}.forward-mac-help{font-size:12px;line-height:1.7;overflow-wrap:anywhere}.forward-mac-help summary{cursor:pointer;padding:12px 0;min-height:44px;box-sizing:border-box}.forward-mac-help[hidden]{display:none}
.forward-dialog{max-height:90dvh;overflow:auto}.forward-dialog>.muted{font-size:12px;line-height:1.7}.forward-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:16px 0}.forward-form label{flex:1;min-width:150px;font-size:12px}.forward-form input,.forward-form select,.forward-pair input{box-sizing:border-box;width:100%;min-height:44px;margin-top:7px;padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);font:inherit;font-size:16px}.forward-form button,.forward-dialog button{min-height:44px}.forward-download{display:grid;gap:6px;margin:10px 0}.forward-download small{overflow-wrap:anywhere;font-size:10px;color:var(--muted)}.forward-pair{padding:12px;background:var(--accent-soft);border-radius:8px}.forward-pair[hidden]{display:none}.forward-pair label{display:block;font-size:12px}.forward-pair input{font:13px ui-monospace,Consolas,monospace}.forward-pair button{margin-top:8px}.forward-list{display:grid;gap:10px;margin:14px 0}.forward-row{padding:12px;border:1px solid var(--line);border-radius:10px}.forward-row strong{font-size:13px;overflow-wrap:anywhere}.forward-row p{font-size:11px;overflow-wrap:anywhere}#forward-status{min-height:1.7em;overflow-wrap:anywhere}@media(max-width:700px){.forward-form label,.forward-form button{flex-basis:100%}}

/* X-Wrt navigation colors. */
.topbar{background:var(--nav);color:var(--nav-text);border-bottom:2px solid var(--accent);padding-inline:14px}
.topbar .quiet,.topbar .user-label{color:var(--nav-muted)}.topbar .quiet:hover{background:var(--nav-hover);color:var(--nav-text)}
.topbar .logout-entry{color:#ffb4a9;background:#3d211c;border-color:#805042}.topbar .logout-entry:hover{color:#ffd0c8;background:#572b24}.topbar .brand-light{color:var(--nav-muted)}
a{color:var(--accent-ink)}.files-dialog{background:var(--surface)}
.action-confirmation[data-kind="logout"] #accept-confirmation,.action-confirmation[data-kind="interrupt"] #accept-confirmation,.action-confirmation[data-kind=shortcut] #accept-confirmation{color:#fff;background:#b42318}
.action-confirmation[data-kind="logout"] #accept-confirmation:hover,.action-confirmation[data-kind="interrupt"] #accept-confirmation:hover,.action-confirmation[data-kind=shortcut] #accept-confirmation:hover{background:#8e1b13}
.toast.failure{background:#b42318}

/* Compact header; keep every action at least 44px high. */
@media(max-width:700px){
 .topbar{height:54px;min-height:54px;padding:4px 6px;align-items:center}
 .topbar .brand{min-height:0;flex-shrink:0}
 .topbar-right{display:flex;flex-wrap:nowrap;align-items:center;gap:4px;flex-shrink:0}
 .topbar-right button{padding-inline:6px;white-space:nowrap}
}
@media(max-width:360px){
 .topbar .brand>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 .topbar .brand img{width:24px;height:24px}
}
@media(max-height:540px) and (orientation:landscape){.topbar{height:48px;min-height:48px;padding-top:1px;padding-bottom:1px}}

.forward-dialog>.dialog-heading{position:sticky;top:0;z-index:2;background:var(--surface);padding-bottom:8px}.forward-form .forward-wide{flex-basis:100%;width:100%;min-width:0}.forward-device-fields{display:flex;flex-wrap:wrap;gap:10px}.forward-device-fields[hidden],.forward-device-actions[hidden]{display:none}.forward-device-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.forward-device-row{padding:12px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.forward-device-row strong{font-size:13px}.forward-device-row p{font-size:12px}.forward-device-row button,.forward-row button{margin-right:8px;margin-top:8px}#forward-devices>summary{cursor:pointer;min-height:44px;padding:12px 0;box-sizing:border-box}#forward-connection-text{box-sizing:border-box;width:100%;min-height:150px;resize:vertical;margin-top:8px;padding:10px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:13px ui-monospace,Consolas,monospace}

.access-dialog, #unlock-dialog { max-height: min(calc(var(--workspace-visible-height, 100dvh) - 24px), 900px); overflow-y: auto; }
.access-dialog > .dialog-heading { position: sticky; top: 0; z-index: 1; background: var(--surface); padding-bottom: 8px; }
.access-form { display: grid; gap: 8px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.access-form h3 { margin: 0 0 4px; }
.access-form input:not([type="checkbox"]), .access-form select, #temporary-share, #unlock-password { width: 100%; min-width: 0; min-height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 16px; }
.access-checkbox { display: flex; align-items: center; gap: 8px; min-height: 44px; }
.access-checkbox input { width: auto; }
#unlock-form { display: grid; gap: 10px; }
.terminal-row .terminal-close { grid-column: 1 / -1; color: var(--danger); }
.terminal-tab[data-available="true"] { color: var(--muted); border-style: dashed; }

#forward-serial-fields{box-sizing:border-box;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:8px;padding:12px}#forward-serial-fields[hidden]{display:none}#forward-serial-fields label{min-width:0}#forward-serial-fields p{grid-column:1/-1}#forward-serial-fields input[type=checkbox]{width:auto;min-height:0}#forward-diagnostics-text{box-sizing:border-box;width:100%;min-height:180px;resize:vertical;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:10px;font:12px ui-monospace,Consolas,monospace}

/* Keep the inactive viewer measurable without accepting focus or pointer input. */
#standby-frame{position:absolute;inset:0;width:100%;height:100%;border:0;visibility:hidden;pointer-events:none}
#mode-standby-note{display:block}

.connection-trace-list{max-height:280px;overflow:auto;padding-left:24px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.connection-trace-list li{padding:4px 0}#connection-trace-copy{width:100%;max-height:240px;box-sizing:border-box;margin-top:12px;resize:vertical}

.connection-trace{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.connection-trace summary{cursor:pointer;font-size:13px;font-weight:600}

.file-conflict-name{overflow-wrap:anywhere;font-size:14px;font-weight:600}#file-conflict-dialog .confirmation-actions{flex-wrap:wrap}#file-conflict-dialog button{min-height:44px}
