:root{color-scheme:dark;--bg:#10130f;--panel:#191e16;--line:#30372a;--text:#f1f5e9;--muted:#939e88;--lime:#cef86b;--red:#ffb0a1;--mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--visible-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.companion{min-height:var(--visible-height);position:relative}.topbar{height:52px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px}.brand strong{font-size:20px;letter-spacing:-.7px}.logo{width:25px;height:25px;border-radius:6px;background:var(--lime);color:var(--bg);font-size:19px;font-weight:800;text-align:center}.status{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.status>span,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#6c795f}.status.connected>span,.live-dot{background:var(--lime)}.status.pending>span{background:#e9c673}
.home{max-width:570px;margin:0 auto;padding:24px 20px}.home-heading,.card-heading,.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.home h1{font-size:29px;font-weight:600;letter-spacing:-1px;margin:5px 0 25px}.home-heading .text-button{align-self:flex-start;margin-top:3px}.empty-computers{color:var(--muted);font-size:14px;padding:24px 0 30px;margin:0}.text-button{min-height:34px;border:0;background:none;color:var(--lime);font-size:13px;padding:6px 8px}.add-actions{display:flex;gap:10px}.primary,.secondary,.danger{min-height:45px;border-radius:10px;padding:12px 17px;font-size:14px;font-weight:550}.primary{background:var(--lime);color:#171d10;border:1px solid var(--lime)}.secondary{background:#232a1d;border:1px solid #424d37}.danger{background:#512e27;border:1px solid #966152;color:#ffd4c8}.add-actions .primary,.add-actions .secondary{flex:1}.pair-card{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:15px;margin-top:24px}.card-heading{margin-bottom:16px}.card-heading h2{margin:0;font-size:18px;font-weight:550}.card-heading .text-button,.dialog-heading .text-button{font-size:23px}.pair-card .primary{width:100%;margin-top:20px}label{display:block;font-size:12px;color:#c6d0ba;margin:16px 0 8px}input{width:100%;min-width:0;border:1px solid #46523a;border-radius:9px;background:#10160c;color:var(--text);font-size:16px;padding:12px}input::placeholder{color:#737f68}.code-field{position:relative}.code-field input{font:16px var(--mono);padding-right:62px;min-height:46px}.paste{position:absolute;right:5px;top:5px;bottom:5px;background:#303e22;color:var(--lime);border:0;border-radius:6px;font-size:12px;padding:0 10px}.field-help,.storage-note{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0 0}.storage-note{margin-top:24px}.saved-section{margin-bottom:22px}.section-heading{font-size:10px;color:var(--muted);margin-bottom:12px}.computers{display:grid;gap:9px}.computer-card{display:flex;border:1px solid var(--line);border-radius:12px;background:#1a2016;overflow:hidden}.computer-connect{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:16px 12px;border:0;background:none;text-align:left}.computer-symbol{color:var(--lime);font-size:27px;line-height:1}.computer-info{flex:1;min-width:0}.computer-info strong{display:block;font-size:15px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.computer-info small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.computer-arrow{color:var(--lime);font-size:20px}.forget-button{border:0;background:none;color:var(--muted);font-size:20px;min-height:45px;min-width:35px}
.waiting{max-width:450px;margin:0 auto;padding:48px 24px;text-align:center}.waiting h1{font-size:27px;font-weight:550;letter-spacing:-.8px}.eyebrow{font:9px var(--mono);letter-spacing:1.3px;color:var(--muted);margin:0 0 12px}.lede{font-size:14px;color:var(--muted);line-height:1.6}.orbit{width:64px;height:64px;border:1px solid #475735;border-radius:18px;display:grid;place-items:center;margin:0 auto 28px}.orbit span{font-size:35px;font-weight:600;color:var(--lime)}.approval-note{font-size:13px;color:#c9d7ba;line-height:1.6;background:#1c2516;border:1px solid #3f512f;padding:16px;border-radius:12px;margin:23px 0}.waiting .secondary{margin-top:18px}
.workspace{height:calc(var(--visible-height) - 52px);min-height:0;display:flex;flex-direction:column;max-width:1500px;margin:auto;overflow:hidden}.workspace-top{display:flex;align-items:center;gap:8px;padding:6px 10px;flex:none;min-height:43px}.workspace-top h2{flex:1;min-width:0;font-size:14px;font-weight:550;letter-spacing:-.2px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon-button{width:30px;height:30px;background:none;border:0;font-size:20px;padding:0;flex:none}.permission{font:9px var(--mono);color:#b5c1a8;padding:5px 6px;border:1px solid #3c4534;border-radius:5px;white-space:nowrap}.permission.control{color:var(--lime);border-color:#627540}.workspace-top .text-button{font-size:11px;max-width:88px;padding:3px 4px}.pane-bar{padding:0 10px 7px;display:flex;align-items:center;gap:10px;flex:none}.pane-bar select{min-width:0;flex:1;min-height:31px;color:#e2ead8;background:#1b2117;border:1px solid #37412e;border-radius:7px;padding:5px 9px;font-size:12px}.pane-state{font-size:10px;color:var(--lime);max-width:65px;text-align:right}.terminal-wrap{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border-top:1px solid #303829;border-bottom:1px solid #303829;background:#11140f;padding:8px;-webkit-overflow-scrolling:touch}#terminal{width:max-content;min-width:100%;height:max-content}#terminal .xterm{padding:0}.terminal-caption{height:29px;padding:2px 12px;display:flex;gap:7px;align-items:center;font:9px var(--mono);color:var(--muted);flex:none}.font-controls{display:flex;gap:4px;margin-left:auto}.font-controls button{font-size:10px;min-width:30px;min-height:25px;background:none;border:0;border-radius:5px}.readonly-note{display:none}.keyboard-toolbar{padding:6px 7px max(7px,env(safe-area-inset-bottom));display:flex;gap:5px;overflow-x:auto;background:#191f14;border-top:1px solid var(--line);flex:none}.keyboard-toolbar button{flex:none;min-width:34px;min-height:35px;border:1px solid #414d35;border-radius:6px;background:#252f1c;color:#d4e0c5;font:12px var(--mono)}.keyboard-toolbar .keyboard-toggle{color:var(--lime);padding:0 9px;font:10px var(--mono);border-color:#718e45}.empty-panes{padding:30px 20px;text-align:center;color:var(--muted);font-size:13px}
.notice{position:fixed;z-index:20;bottom:16px;left:14px;right:14px;max-width:540px;margin:auto;padding:12px 14px;border:1px solid #6b6442;border-radius:11px;background:#302d20;box-shadow:0 8px 40px #0008;color:#f0e3ba;display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.5}.notice button{border:0;background:none;color:inherit;font-size:22px;margin-left:auto;min-width:25px}dialog{max-width:360px;width:calc(100vw - 36px);max-height:calc(var(--visible-height) - 36px);overflow:auto;border:1px solid #48523d;border-radius:15px;background:#1c2316;color:var(--text);padding:22px}dialog::backdrop{background:#000b}dialog h2{font-size:21px;font-weight:550;letter-spacing:-.5px;margin:0 0 12px}.dialog-heading h2{margin:0}dialog p{font-size:13px;color:var(--muted);line-height:1.6}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}#account-form .primary,#preview-form .primary{width:100%;margin-top:22px}#account-mode{width:100%;margin-top:12px}#account-workspaces{padding-left:18px;color:var(--muted);font-size:13px;line-height:1.8}.form-error{color:#ffc0ae;min-height:0;margin-bottom:0}.native .topbar{display:none}.native .workspace{height:var(--visible-height)}.native .home{padding-top:20px}
@media(min-width:900px){.workspace{padding:0 24px 18px}.terminal-wrap{border:1px solid var(--line);border-radius:10px 10px 0 0}.keyboard-toolbar{border-radius:0 0 10px 10px}.home{padding-top:40px}}@media(max-width:360px){.home{padding-inline:14px}.workspace-top{gap:5px}.permission{font-size:8px}.keyboard-toolbar{gap:4px}.keyboard-toolbar button{min-width:31px}.workspace-top .text-button{max-width:68px}}

.destructive{color:#ffb0a1;margin-left:8px}#account-delete-confirmation{border-top:1px solid var(--line);margin-top:20px;padding-top:4px}#account-delete-confirmation .danger{width:100%;font-size:13px}
.harness-toolbar{display:flex;align-items:center;gap:7px;padding:3px 10px 6px;flex:none;overflow-x:auto}.harness-toolbar span{font:9px var(--mono);color:var(--muted);margin-right:3px}.harness-toolbar button{min-width:45px;min-height:30px;border:1px solid #465337;border-radius:6px;background:#222c19;color:var(--lime);font:12px var(--mono)}
.apple-section{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.apple-section h3{font-size:15px;font-weight:550;margin:0 0 10px}.apple-section .primary{width:100%;font-size:12px;line-height:1.5}.apple-actions,.apple-legal{display:flex;gap:8px;margin-top:8px}.apple-actions .text-button{font-size:11px;padding:6px 0}.apple-legal{margin-top:0}.apple-legal .text-button{font-size:10px;color:var(--muted);padding:2px 0;min-height:28px}
.keyboard-toolbar,.harness-toolbar{touch-action:pan-x}
.pair-scan{width:100%;margin:0 0 20px;min-height:44px;color:var(--lime)}
/* Let the terminal consume all remaining space; history gestures belong to the
   remote viewport, not xterm's empty snapshot buffer. */
.terminal-wrap{min-width:0}.terminal-wrap.remote-scroll{touch-action:pan-x}
.terminal-caption{height:36px;padding-inline:8px;gap:5px}.terminal-caption>span{white-space:nowrap}
.scroll-controls{display:flex;align-items:center;gap:2px;margin-left:auto}.scroll-controls button{min-width:32px;min-height:32px;padding:3px;border:0;background:none;color:var(--lime);font:12px var(--mono)}
.font-controls{margin-left:auto;flex:none}.font-controls button{min-width:32px;min-height:32px}.scroll-controls:not([hidden])+.font-controls{margin-left:4px}
