:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-synthesis:none;color-scheme:dark;--bg:#101418;--surface:#171d22;--field:#12181d;--fg:#e3e9ed;--muted:#9ba9b2;--line:#303b43;--accent:#62d3b8;--accent-ink:#062c24;--active:#213b35;--good:#63d7a2;--bad:#f2817c;--warn:#e9b967;--topbar-height:calc(44px + env(safe-area-inset-top));--bottom-bar-height:calc(60px + env(safe-area-inset-bottom));color:var(--fg);background:var(--bg)}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--surface:#f1f4f5;--field:#fff;--fg:#17262e;--muted:#596b75;--line:#cdd7dc;--accent:#136d61;--accent-ink:#fff;--active:#dfefe8;--good:#167747;--bad:#ac342e;--warn:#8a5d18}
*{box-sizing:border-box;border-radius:0!important}body{margin:0;min-height:100dvh}button,input,textarea,select{font:inherit}button,.action-link{cursor:pointer;border:1px solid transparent;padding:8px 12px;min-height:38px;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:600;text-decoration:none}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.secondary{background:var(--surface);border-color:var(--line);color:var(--fg)}.link{background:none;color:var(--muted);padding:8px 0;font-size:12px}.action-link{display:inline-flex;align-items:center}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;height:var(--topbar-height);padding:env(safe-area-inset-top) 12px 0;border-bottom:1px solid var(--line);background:var(--bg)}
#connection{display:flex;gap:10px;align-items:center;font-size:11px;white-space:nowrap}#connection span{display:inline-flex;align-items:center;gap:5px}#connection span::before{content:"";width:6px;height:6px;background:var(--muted);flex-shrink:0}#connection [data-state=online]::before{background:var(--good)}#connection [data-state=offline]::before{background:var(--bad)}#connection [data-state=connecting]::before{background:var(--warn)}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0}.permission-pair{display:flex;gap:9px;padding:4px 6px;background:none;color:var(--muted);margin-left:2px}.permission-pair span{display:flex}.permission-pair svg{width:18px;height:18px}.permission-pair [data-state=online]{color:var(--good)}.permission-pair [data-state=offline]{color:var(--bad)}.version-label{margin-left:auto;white-space:nowrap;padding:4px 0;background:none;color:var(--muted);font-size:11px;font-weight:500}.update-link{position:relative;color:var(--muted);display:flex;align-items:center;justify-content:center;width:34px;height:38px}.update-link svg{width:19px;height:19px}.update-link i{position:absolute;right:1px;top:5px;width:5px;height:5px;display:none;background:var(--accent)}.update-link[data-state=available]{color:var(--accent)}.update-link[data-state=available] i{display:block}.update-link[data-state=error]{color:var(--warn)}
.mobile-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;height:var(--bottom-bar-height);padding:0 8px env(safe-area-inset-bottom);background:var(--bg);border-top:1px solid var(--line);display:flex;align-items:stretch;justify-content:space-evenly}.mode-tabs{display:contents}.mobile-bar button{flex:1;max-width:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;color:var(--muted);padding:5px 4px;font-size:10px;font-weight:500;min-width:0;border-top:2px solid transparent}.mobile-bar button.active{color:var(--accent);border-top-color:var(--accent);background:var(--active)}.mobile-bar svg{width:23px;height:23px}
main{max-width:1440px;margin:auto;padding:12px 12px calc(var(--bottom-bar-height) + 18px)}h1{font-size:18px;font-weight:650;letter-spacing:-.4px;margin:0;line-height:1.3}h2{font-size:15px;line-height:1.4;margin:0}p{line-height:1.5}.muted{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 0}.panel{padding:12px 0;margin:0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.section-title button{min-height:34px;padding:5px 10px}.task-config{display:flex;gap:12px;align-items:flex-start}.task-config>label{flex:1;min-width:0}.model-settings{padding-top:20px;position:relative}.model-settings[open]{flex:1;min-width:0;padding-top:0}.model-settings[open] summary{margin-bottom:5px}.model-settings label{font-size:11px}summary{cursor:pointer;font-size:12px;color:var(--muted);min-height:28px;line-height:28px}label{display:block;font-size:11px;font-weight:600;margin:0 0 10px}input,textarea,select{display:block;width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);background:var(--field);color:var(--fg);font-size:16px;line-height:1.4;min-height:38px}textarea{resize:vertical}.inline{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400}.inline input{width:18px;height:18px;min-height:0;margin:0}.row{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}.row button{padding:6px 9px;min-height:36px;font-size:12px}.task{border-top:1px solid var(--line);padding:14px 0}.task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.task-head h2{overflow-wrap:anywhere}.badge{font-size:10px;font-weight:600;color:var(--accent);background:var(--active);padding:4px 6px;white-space:nowrap}.task pre{font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0}.task details{margin:6px 0;color:var(--muted);font-size:12px}.task .error{color:var(--bad)}.approval{padding:12px;border:1px solid var(--warn);background:var(--surface)}.approval pre{font-size:12px;max-height:220px;overflow:auto}.approval label{margin-top:10px}.question-options{display:flex;gap:4px;flex-wrap:wrap;margin:5px 0}.approval>button{margin-top:8px}
.desktop-connect-row{display:flex;align-items:center;gap:5px}.desktop-connect-row select{flex:1;min-width:0;margin:0;font-size:12px;padding:7px 4px}.desktop-connect-row button{padding:7px 9px;font-size:12px;white-space:nowrap}.desktop-info{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin:2px 0 4px;font-size:11px;color:var(--muted);min-height:28px}#desktop-status{line-height:28px}.desktop-settings{max-width:70%;text-align:right}.desktop-settings[open]{flex:1;text-align:left}.desktop-settings summary{text-align:right}.desktop-settings p{margin:4px 0}.desktop-settings .inline{margin:5px 0}
#screen-wrap{overflow:hidden;position:relative;background:#0a0f12;aspect-ratio:16/10;touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}#screen{position:absolute;left:0;top:0;display:block;max-width:none;transform-origin:0 0;pointer-events:none;color:var(--muted);font-size:12px}#text-form{padding-top:6px}.composer-row{display:flex;align-items:stretch;gap:5px}.composer-row textarea{min-width:0;flex:1;margin:0;min-height:38px;max-height:80px;resize:none}.composer-row button{flex-shrink:0}.desktop-tools{padding-top:6px}.keyboard-bar{display:none}body.desktop-typing{position:fixed;width:100%;overflow:hidden;overscroll-behavior:none}.desktop-typing #desktop-stage{position:fixed;z-index:20;top:calc(var(--keyboard-top,0px) + var(--topbar-height));left:0;right:0;height:calc(var(--keyboard-height,100dvh) - var(--topbar-height) - var(--bottom-bar-height));margin:0;padding:6px 8px;background:var(--bg);display:flex;flex-direction:column;gap:6px;overflow:hidden}.desktop-typing .keyboard-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;font-size:11px;color:var(--muted)}.keyboard-bar button{padding:5px 8px;font-size:11px;min-height:30px}.desktop-typing #screen-wrap{flex:1;min-height:0;aspect-ratio:auto!important}.desktop-typing #text-form{padding:0;flex-shrink:0}
.settings-group{border-top:1px solid var(--line);padding:18px 0}.settings-group h2{margin-bottom:12px}.settings-group label{max-width:360px}.settings-group p{overflow-wrap:anywhere}#pairing{max-width:400px;margin:24px auto}#pair-code{letter-spacing:2px;text-transform:uppercase}#notice{position:fixed;bottom:calc(var(--bottom-bar-height) + 8px);left:8px;right:8px;max-width:650px;margin:auto;padding:12px 14px;background:var(--surface);border:1px solid var(--line);color:var(--fg);z-index:40;font-size:13px}.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}[hidden]{display:none!important}
@media(max-width:500px){.topbar{padding-left:8px;padding-right:8px;gap:7px}#connection{gap:8px;font-size:10px}.permission-pair{gap:7px;padding:4px}.version-label{font-size:10px}main{padding-left:8px;padding-right:8px}.desktop-tools .row{gap:3px}.row button{padding:6px 8px}}
.desktop-typing .topbar{position:fixed;left:0;right:0;top:0}
#connection .connection-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font:inherit;background:none;color:var(--fg);padding:0;min-height:38px;border:0}#connection .connection-status::before{content:"";width:6px;height:6px;background:var(--muted);flex-shrink:0}#connection .connection-status[data-state=online]::before{background:var(--good)}#connection .connection-status[data-state=offline]::before{background:var(--bad)}#connection .connection-status[data-state=connecting]::before{background:var(--warn)}.attention-status{display:flex;align-items:center;gap:3px;min-width:28px;padding:4px;background:none;color:var(--warn);font-size:12px}.attention-status::before{content:"!";font-weight:800}.icon-button{display:flex;align-items:center;justify-content:center;min-width:38px}.task,.approval{scroll-margin-top:calc(var(--topbar-height) + 10px)}body.desktop-fullscreen{position:fixed;inset:0;overflow:hidden}.desktop-fullscreen .topbar,.desktop-fullscreen .mobile-bar{display:none}.desktop-fullscreen #desktop-stage{position:fixed;inset:0;z-index:50;background:#0a0f12;margin:0;padding:0}.desktop-fullscreen #screen-wrap{position:absolute;inset:0;aspect-ratio:auto}.desktop-fullscreen #text-form,.desktop-fullscreen .keyboard-bar{display:none}#fullscreen-exit{position:absolute;z-index:2;right:calc(8px + env(safe-area-inset-right));top:calc(8px + env(safe-area-inset-top));width:44px;height:44px;background:var(--surface);color:var(--fg);border:1px solid var(--line)}#measure-latency{margin:0 0 8px}.settings-group .action-link{margin-top:4px}
.desktop-fullscreen #screen-wrap{width:100%;height:100%;aspect-ratio:auto!important}
