
:root{color-scheme:light;--bg:#f4f4f4;--panel:#fff;--line:#dedfe1;--text:#171a20;--muted:#656970;--blue:#3e6ae1;--red:#b33434;--rail:0px;--dock:88px;font:20px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);height:100dvh;overflow:hidden}button{font:inherit;cursor:pointer;min-width:64px;min-height:64px;border:0;border-radius:8px;background:#e8e9eb;color:var(--text);padding:12px 24px;touch-action:manipulation}button:active{background:#d4d7dd}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:600}h2{font-size:26px;font-weight:600;line-height:1.2}h3{font-size:21px}svg{display:block}.icon{display:block;width:28px;height:28px}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.muted{color:var(--muted)}
.rail{position:fixed;inset:auto 0 0;height:var(--dock);display:flex;justify-content:center;align-items:center;gap:clamp(8px,2vw,32px);padding:8px 24px;background:#101112;color:#fff;z-index:30;box-shadow:0 -1px 0 #26282b}.nav-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:94px;min-height:70px;padding:8px 12px;background:transparent;color:#e4e5e7;font-size:13px;border-radius:8px}.nav-button.selected{background:#303236;color:#fff}.voice-button{background:var(--blue);color:#fff;min-width:120px}.stop-button{color:#ff9b9b}.connection{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);max-width:180px}.connection i{width:9px;height:9px;border-radius:50%;background:#bb8636;flex-shrink:0}.connection.ready i{background:#418b64}.connection.offline i{background:var(--red)}#approval-count{background:var(--blue);color:#fff;border-radius:4px;padding:1px 5px}
.main{height:calc(100dvh - var(--dock));display:flex;flex-direction:column}.masthead{height:80px;flex-shrink:0;padding:10px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.title-group,.header-controls{display:flex;align-items:center;gap:24px}.wordmark{font-size:17px;font-weight:600;letter-spacing:5px}.title-group h1{padding-left:24px;border-left:1px solid #c9cbcf}.workspace{font-size:13px;color:var(--muted)}.header-controls button{font-size:15px;padding:10px 18px}.notice{padding:8px 28px;background:#fff0d4;color:#704d16;font-size:15px;flex-shrink:0}.canvas{padding:20px 28px;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.workspace-layout{height:100%;min-height:0;display:flex;gap:24px}.visual-canvas{flex:1;min-width:0;min-height:0;height:100%;position:relative}.canvas-frame{display:block;width:100%;height:100%;border:0;background:transparent}.task-plan{width:220px;flex-shrink:0;padding-right:20px;border-right:1px solid var(--line);overflow:auto}.task-plan h2{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 20px}.task-step{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-size:16px;min-height:40px}.step-icon{width:19px;height:19px;border:2px solid #b8bbc0;border-radius:50%;flex-shrink:0}.task-step.inProgress{font-weight:600}.inProgress .step-icon{border-color:var(--blue);border-top-color:transparent;animation:spin 1s linear infinite}.completed .step-icon{background:#171a20;border-color:#171a20}.task-state{font-size:14px;color:var(--muted);margin-top:22px}.task-state.failed{color:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}
.empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:20px;max-width:820px;margin:auto}.empty-mark{font-size:12px;letter-spacing:3px;color:var(--muted)}.empty h2{font-size:clamp(32px,4vw,48px);letter-spacing:-1px;font-weight:500;white-space:pre-line}.empty>p:not(.empty-mark){color:var(--muted);font-size:18px;max-width:480px}.empty .primary{min-width:230px}.home-orb{width:116px;height:116px;border-radius:50%;background:#e3e8f6;display:flex;align-items:center;justify-content:center;color:var(--blue)}.home-orb .icon{width:46px;height:46px}.status-grid{display:flex;gap:28px;margin-top:16px}.status-cell span{display:block;font-size:13px;color:var(--muted)}.status-cell strong{font-size:16px;font-weight:500}
.composer{padding:12px 28px;background:#fff;border-top:1px solid var(--line);flex-shrink:0}.prompt-row{display:flex;gap:24px;align-items:center}.dictation-transcript{flex:1;min-width:0;min-height:56px;max-height:90px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;align-self:center}.dictation-transcript.empty{color:var(--muted);margin:0}.send-button{background:var(--blue);color:#fff;min-width:110px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:17px}.composer-foot{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-top:8px}.review-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.review-actions button{font-size:15px}.context{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.context button{font-size:14px;padding:10px 16px;background:#eef1f8}.thread-list{display:flex;flex-direction:column;gap:12px}.thread-row{width:100%;text-align:left;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;background:#fff}.thread-row strong,.thread-row span{display:block}.thread-row strong{font-size:22px;font-weight:500}.thread-row span{font-size:14px;color:var(--muted);margin-top:4px}.hidden-row{display:flex;gap:12px}.error-panel{padding:16px;color:var(--red);background:#fff3f3}.primary{background:var(--blue);color:#fff;font-weight:500}.quiet{background:transparent}.danger{color:var(--red);background:#fce8e8}
.overlay{position:fixed;inset:0 0 var(--dock);background:#0005;display:flex;align-items:center;justify-content:center;padding:24px;z-index:20;backdrop-filter:blur(5px)}.sheet{width:min(880px,100%);max-height:100%;overflow:auto;background:#fff;border-radius:12px;padding:28px;box-shadow:0 12px 80px #0003}.sheet>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.sheet p{margin-bottom:16px}.sheet .muted{font-size:17px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-grid button{min-height:86px;text-align:left;font-size:21px}.menu-grid small{display:block;font-size:14px;margin-top:6px;opacity:.75}.menu-divider{margin:20px 0;border:0;border-top:1px solid var(--line)}.source,.approval-detail{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f4f4;border-radius:6px;padding:16px;font-size:14px;max-height:240px;overflow:auto}.approval-card{border-top:1px solid var(--line);padding:20px 0}.approval-card h3{margin-bottom:14px}.approval-actions,.options,.history-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.question{margin:16px 0}.answer-transcript{min-height:56px;white-space:pre-wrap;color:var(--muted);padding:12px 0}.voice-display{text-align:center;padding:20px}.voice-orb{width:110px;height:110px;display:flex;align-items:center;justify-content:center;background:#eef1f9;color:var(--blue);border-radius:50%;margin:0 auto 24px}.voice-orb .icon{width:42px;height:42px}.voice-display h3{font-size:32px;margin-bottom:12px}.voice-display .primary{min-width:260px}.recording .voice-orb{animation:breathe 1.5s ease-in-out infinite}@keyframes breathe{50%{box-shadow:0 0 0 14px #3e6ae114}}

@media(max-height:650px){:root{--dock:80px}.masthead{height:68px}.canvas{padding:16px 22px}.nav-button{min-height:64px}.task-step{margin-bottom:14px;font-size:15px}.sheet{padding:20px}.empty{gap:16px}.empty h2{font-size:36px}.home-orb{width:84px;height:84px}.status-grid{margin:0}}
@media(max-width:950px){.workspace{display:none}.connection{max-width:120px;font-size:12px}.header-controls,.title-group{gap:14px}.wordmark{font-size:14px}.title-group h1{padding-left:14px;font-size:24px}.task-plan{width:185px}.nav-button{min-width:82px}.rail{gap:8px}}
@media(max-width:700px){:root{--dock:80px}.rail{padding:6px;gap:2px}.nav-button{flex:1;min-width:0;padding:6px;font-size:11px}.voice-button{min-width:0}.masthead{padding:6px 16px}.wordmark,.workspace,.connection span{display:none}.header-controls button{font-size:13px;padding:8px}.canvas{padding:16px}.workspace-layout{flex-direction:column;gap:12px}.task-plan{width:100%;max-height:110px;border:0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px;padding:0}.task-plan h2{display:none}.task-step{font-size:13px;margin-bottom:8px}.task-state{margin:0}.composer{padding:10px 16px}.review-actions button{padding:10px 12px;font-size:13px}.sheet{padding:18px}.status-grid{display:none}.overlay{padding:12px}.menu-grid{gap:10px}.menu-grid button{padding:12px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.inProgress .step-icon{border-style:dashed}}

.task-plan.paused .inProgress .step-icon{animation:none;border-color:#b8bbc0;border-style:dashed}

.history-canvas{height:380px;margin-top:20px}

.live-source{font-size:12px;color:#418b64;max-width:170px;line-height:1.25}.live-source.disconnected{color:var(--red)}@media(max-width:950px){.live-source{max-width:110px}.header-controls{gap:10px}}@media(max-width:700px){.live-source{display:none}}

.saved-canvas-view{height:100%;display:flex;flex-direction:column;gap:16px;min-height:0}.saved-canvas-view>.workspace-layout{flex:1;height:auto;min-height:0}.saved-canvas-picker{display:flex;gap:10px;overflow:auto;flex-shrink:0}.saved-canvas-picker button{white-space:nowrap}.saved-canvas-picker button[aria-pressed=true]{background:#e3eafa;color:#244da8}
.render-feedback{padding:10px 28px;background:#fff2da;color:#70521d;font-size:16px;flex-shrink:0}.render-feedback[hidden]{display:none}

.rail{display:grid;grid-template-columns:.85fr .85fr .85fr 1.2fr 1.05fr 1fr .8fr .95fr;gap:6px;padding:8px 16px}.rail .nav-button{width:100%;min-width:64px;padding:6px;min-height:70px}.rail .voice-button{min-width:64px}.inference-button{border:1px solid #45484e;gap:3px;font-size:14px}.inference-button small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:11px;line-height:1.2;color:#bcc7df}.inference-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inference-choice{text-align:left;min-height:84px;padding:15px 18px;border:2px solid transparent;background:#f1f2f4}.inference-choice strong{font-size:20px;font-weight:600;display:block}.inference-choice small{display:block;font-size:14px;line-height:1.35;color:var(--muted);margin-top:5px}.inference-choice[aria-pressed=true]{border-color:var(--blue);background:#edf2ff}.inference-choice[aria-pressed=true] strong:after{content:' ✓';color:var(--blue)}.inference-footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.inference-footer button{font-size:16px}.inference-error{color:var(--red);margin:12px 0 0!important;min-height:0}.execution-progress{flex-shrink:0;padding:12px 28px;border-bottom:1px solid #c8d6f2;background:#eaf0fb;max-height:170px;overflow:auto}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:17px}.progress-heading strong{font-weight:600}.progress-clock{font-size:14px;font-variant-numeric:tabular-nums;color:#4a5d7c;flex-shrink:0}.progress-commentary{font-size:16px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}.progress-model{font-size:12px;color:#5d6b83;display:block;margin-top:4px}
@media(max-width:950px){.rail{padding:8px 12px}.rail .nav-button{font-size:12px}.inference-button small{font-size:10px}.execution-progress{padding:10px 22px}}
@media(max-width:700px){.rail{display:flex;justify-content:flex-start;overflow-x:auto;padding:6px;gap:4px}.rail .nav-button{width:74px;min-width:74px;flex:0 0 74px;min-height:64px}.rail .inference-button{width:106px;flex-basis:106px}.inference-choices{grid-template-columns:1fr}.execution-progress{padding:10px 16px}.progress-commentary{font-size:15px}}

/* Keep frequent touch actions close to the driver; passive status sits right. */
.rail{grid-template-columns:1.1fr .8fr .85fr .85fr .85fr .95fr 1.2fr 1.05fr}
.header-actions{gap:8px;flex-shrink:0}.title-group{flex:1;min-width:0;justify-content:center}.title-group h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-status{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-shrink:0}.masthead{gap:12px}.task-plan{order:2;border-right:0;border-left:1px solid var(--line);padding:0 0 0 20px}.empty{align-items:flex-start;text-align:left}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:240px;flex:0 0 240px;margin:0}.review-actions .send-button{grid-column:1/-1;min-height:64px}.review-actions button{padding:10px 12px}.prompt-row{align-items:flex-start;gap:20px}.dictation-transcript{min-height:136px;max-height:136px;padding:10px 14px;align-self:stretch;background:#f4f5f7;border-radius:8px}.composer-foot{justify-content:flex-end;text-align:right}.sheet>header h2{margin-left:auto;text-align:right}.voice-display{padding:12px;text-align:right}.voice-display.has-action{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(0,1.4fr);gap:24px;align-items:center}.voice-status{min-width:0}.voice-display.has-action .voice-status{grid-column:2;grid-row:1}.voice-display.has-action>button{grid-column:1;grid-row:1;min-width:0;min-height:96px}.voice-orb{margin:0 0 18px auto}.execution-progress{text-align:right}
@media(max-width:950px){.title-group{justify-content:flex-end}.wordmark{display:none}.title-group h1{padding-left:0;border:0;font-size:21px}.header-actions button{padding:10px 12px;font-size:14px}.header-status{gap:8px}.masthead{padding:8px 20px}.review-actions{width:216px;flex-basis:216px}.header-status .live-source{max-width:95px}}
@media(max-width:700px){.masthead{padding:6px 12px;gap:8px}.header-actions{gap:2px}.header-actions button{font-size:12px;padding:8px}.title-group h1{font-size:18px}.header-status{gap:0}.review-actions{width:176px;flex-basis:176px}.review-actions button{font-size:13px;padding:8px}.prompt-row{gap:12px}.task-plan{border-left:0;border-top:1px solid var(--line);padding:8px 0 0}.voice-display.has-action{grid-template-columns:minmax(120px,.8fr) minmax(0,1.2fr);gap:12px}.voice-display h3{font-size:25px}.voice-display .muted{font-size:15px}}

.threads-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}.workspace-picker{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:230px;text-align:left;background:#e7edf9}.workspace-picker small{font-size:12px;color:#50617c}.workspace-picker strong{font-size:20px;font-weight:600}.threads-toolbar>span{margin-left:auto;font-size:14px}.workspace-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace-choice{text-align:left;min-height:88px;padding:14px 18px;border:2px solid transparent}.workspace-choice strong{display:block;font-size:20px}.workspace-choice small{display:block;font-size:13px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere;margin-top:5px}.workspace-choice[aria-pressed=true]{border-color:var(--blue);background:#edf2ff}.workspace-error{color:var(--red);margin-top:12px}.workspace.non-default{display:block;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.workspace-choices{grid-template-columns:1fr}.workspace-picker{min-width:200px}.threads-toolbar{gap:8px}.threads-toolbar .primary{font-size:15px;padding:12px}.workspace.non-default{max-width:70px;font-size:11px}}
.threads-empty{height:auto;min-height:220px;margin:0}
.next-prompt-choice{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;width:100%;min-height:76px;padding:10px 16px;text-align:left;background:#edf2ff;color:#244da8}.next-prompt-choice small{font-size:12px;line-height:1.25;color:#50617c}.next-prompt-choice span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:17px;line-height:1.35}
