/* Neutral workbench palette. Both themes use the same contrast hierarchy. */
:root{--canvas:#181818;--surface:#1f1f1f;--surface-2:#252525;--raised:#2d2d2d;--hover:#353535;--line:#3b3b3b;--text:#eeeeee;--muted:#aaaaaa;--strong:#ffffff;--inverse:#161616;--blue:#dddddd;--accent:#eeeeee;color:var(--text);background:var(--canvas);color-scheme:dark}
:root[data-theme="light"]{--canvas:#f5f5f5;--surface:#ffffff;--surface-2:#f1f1f1;--raised:#e8e8e8;--hover:#dedede;--line:#cecece;--text:#242424;--muted:#606060;--strong:#111111;--inverse:#ffffff;--blue:#333333;--accent:#222222;color-scheme:light}
body,.layout{color:var(--text);background:var(--canvas)}
button,input,textarea,select{color:var(--text);border-color:var(--line);background:var(--surface-2)}
button:hover{background:var(--hover)}
.primary,.composer-bottom .primary{background:var(--strong);color:var(--inverse);border-color:var(--strong)}
.primary:hover{background:var(--text);color:var(--inverse)}
.titlebar,.activity-bar,aside,header,.statusbar,.group-tools{background:var(--canvas);border-color:var(--line)}
main,.editor-group,.tab.active{background:var(--surface);border-color:var(--line)}
.group-bar{background:var(--canvas)}.focused .group-bar{border-top-color:var(--strong)}
.command-title,.tab{background:var(--surface-2);border-color:var(--line);color:var(--muted)}
.tab.active .tab-select,.message .text strong,.message .text h3{color:var(--strong)}
.tab-select,.tab-close,.thread-split,.group-tools button,.tab-icon,.tab-select i,.server-label,#connection,#split-editor,.breadcrumb h1{color:var(--text)}
.tab-select,.tab-select:hover,.tab-close,.thread-split,.group-tools button,.thread-button,.thread-button:hover{background:transparent}
.group-tools button:hover{background:var(--hover)}
.activity-bar button{color:var(--muted)}.activity-bar button.active{background:var(--raised);border-left-color:var(--strong);color:var(--strong)}.activity-bar button:hover{color:var(--strong)}
.brand-icon{background:var(--strong);color:var(--inverse);border-radius:5px}
.sidebar-heading,.sidebar-section,footer,footer small,.thread-button small,.text-button,.pane-caption,.pane-caption .run-clock,.run-clock,.composer-hint,.statusbar,.intro p,.panel p,.panel li,.chat-event,.chat-event time,.chat-summary .role,.chat-summary .text,.message.commentary .text,.breadcrumb{color:var(--muted)}
footer,.pane-caption{border-color:var(--line)}#search{background:var(--surface);border-color:var(--line)}
.thread-row.selected{background:var(--raised);box-shadow:inset 2px 0 var(--strong)}.thread-row:hover{background:var(--hover)}
.transcript{scrollbar-color:var(--line) transparent}.tabs{scrollbar-color:var(--line) transparent}
.message .role,.message.user .role{color:var(--muted)}.message .text,.note-text{color:var(--text)}
.message.user .text{background:var(--surface-2);border-color:var(--line);border-radius:10px}
.message .text code,.chat-summary .text code,.reasoning-summary code{color:var(--text);background:var(--raised)}
.message .text pre,.chat-summary .text pre,.reasoning-summary pre{background:var(--canvas);border-color:var(--line)}
.message .text pre code,.reasoning-summary pre code{background:none}
.chat-summary{border-color:var(--line)}
.run-plan li span,.plan-completed{color:var(--muted)}.event-dot,.event-dot.running,.event-dot.failed,.event-dot.interrupted{background:var(--muted);box-shadow:none}
.welcome-mark{background:var(--surface-2);color:var(--text);border-color:var(--line);box-shadow:none;border-radius:12px}
.welcome h2{color:var(--strong)}.welcome p{color:var(--muted)}
.welcome button{background:var(--surface-2);border-color:var(--line);color:var(--text)}.welcome button:hover{background:var(--hover);border-color:var(--muted);color:var(--strong)}
.composer{background:var(--surface-2);border-color:var(--line);box-shadow:none;border-radius:10px}
.composer:focus-within{border-color:var(--muted);box-shadow:none}.composer textarea{background:none;color:var(--text)}.composer textarea::placeholder{color:var(--muted)}
.composer-bottom{flex-wrap:wrap}.composer-bottom select{background:var(--surface-2);color:var(--text);flex:1 1 120px;max-width:100%}
.composer-project{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted);padding:0 5px 6px}
.composer-project select{background:transparent;border:0;padding:3px;min-width:0;font-size:11px;flex:1;color:var(--muted)}
.panel,.login-card,dialog{background:var(--surface);border:1px solid var(--line);color:var(--text)}
.login{background:var(--canvas)}#device-code{background:var(--surface-2)}
.run-status,.run-status.error,#notice,#network-banner,#network-banner p,#login-error,.last-event,#project-error,#reset-status{color:var(--text)}
#notice,#network-banner{background:var(--raised);border-color:var(--line)}#network-banner button{background:var(--surface);color:var(--text);border-color:var(--line)}
.status,.status.running,.status.starting,.status.failed,.status.interrupted{background:var(--raised);color:var(--text)}
.pane-resizer::after{background:var(--muted)}.pane-resizer:hover::after,.pane-resizer:focus-visible::after,.resizing-panes .pane-resizer::after{background:var(--strong)}
.project-section{display:flex;justify-content:space-between;align-items:center;padding-top:15px}.project-section button{padding:0 5px;border:0;background:none;font-size:18px}
.project-tree{margin:3px 0 14px}.project-tree-heading{display:flex;align-items:center;gap:2px;padding:0 10px}
.project-tree-heading button{border:0;background:none;padding:7px 4px;font-size:12px}
.project-tree-heading button:first-child{flex:1;min-width:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-tree-heading button:hover{background:var(--hover)}.project-tree-heading small{margin-left:4px}.project-tree-heading.selected{background:var(--surface-2)}
.project-tree .thread-row{margin-left:18px}.project-empty{font-size:11px;color:var(--muted);padding:0 30px;margin:8px 0}
.project-card{display:flex;justify-content:space-between;gap:20px}.project-card>div:first-child{min-width:0}.project-card p{margin:12px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.project-path{font-family:ui-monospace,monospace;font-size:11px}
.project-card-actions{display:flex;flex-direction:column;flex-shrink:0}.project-card-actions button{margin:0 0 8px}
.usage-summary{display:block;width:100%;text-align:left;padding:8px 0;background:none;border:0;line-height:1.6;font-size:12px}
.limit-window{margin:22px 0}.limit-window>div{display:flex;justify-content:space-between;gap:16px}.limit-window b{font-variant-numeric:tabular-nums}.limit-window progress{display:block;width:100%;height:5px;margin:12px 0;accent-color:var(--strong);border:0;border-radius:4px;background:var(--raised)}
.limit-window progress::-webkit-progress-bar{background:var(--raised);border-radius:4px}.limit-window progress::-webkit-progress-value{background:var(--strong);border-radius:4px}.limit-window progress::-moz-progress-bar{background:var(--strong);border-radius:4px}
.limits-panel .settings-row button{margin:0}.limits-panel #reset-status{font-size:12px;line-height:1.7;margin:18px 0 0}#limits-age{font-size:11px;line-height:1.7}
dialog{width:min(580px,calc(100vw - 32px));max-height:85vh;overflow:auto;border-radius:12px;padding:28px;box-shadow:0 20px 90px #0006}dialog::backdrop{background:#0008}dialog p{line-height:1.7;font-size:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}
@media(max-width:700px){.project-card{flex-direction:column}.project-card-actions{flex-direction:row;gap:8px}.limits-panel .settings-row{display:flex;align-items:flex-start;flex-direction:column}.limit-window>div{font-size:12px}.composer-bottom select{flex-basis:100px}dialog{padding:20px}}

/* A quiet, conversation-first shell. Workbench tools are progressively disclosed. */
:root{--canvas:#181818;--surface:#212121;--surface-2:#2b2b2b;--raised:#303030;--hover:#373737;--line:#393939;--muted:#a5a5a5}
:root[data-theme="light"]{--canvas:#f8f8f8;--surface:#fff;--surface-2:#f4f4f4;--raised:#ededed;--hover:#e9e9e9;--line:#e5e5e5;--muted:#737373}
.layout{grid-template-columns:252px minmax(0,1fr);grid-template-rows:56px minmax(0,1fr)}
.titlebar{grid-column:1/-1;grid-row:1;border:0;background:var(--surface);padding:0 18px;gap:14px}
.titlebar .app-name{font-size:17px;font-weight:550;letter-spacing:-.4px;display:block}
.titlebar button{width:34px;height:34px;padding:0;border-radius:9px;font-size:20px;color:var(--muted)}
.titlebar #split-editor{margin-left:auto;font-size:24px;color:var(--muted)}
aside{grid-column:1;grid-row:2;border:0;padding-top:8px;background:var(--canvas)}
main{grid-column:2;grid-row:2;background:var(--surface)}
.layout.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}
.sidebar-new-chat{display:flex;align-items:center;gap:10px;margin:0 10px 12px;padding:10px 12px;border:0;background:transparent;text-align:left;font-size:14px}
.sidebar-new-chat>span{font-size:22px;line-height:18px}
#search{border:0;background:var(--surface-2);padding:10px 12px;border-radius:9px;width:calc(100% - 28px);margin:0 14px;font-size:12px}
.activity-bar{display:flex;flex-direction:column;gap:2px;background:none;border:0;padding:14px 10px 0}
.activity-bar button{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-radius:9px;height:37px;padding:8px 12px;font-size:13px;color:var(--text);background:transparent}
.activity-bar button>span{font-size:18px;width:18px;text-align:center;color:var(--muted)}
.activity-bar button.active{background:var(--raised);border:0;color:var(--text)}
.activity-bar button:hover{background:var(--hover);color:var(--text)}
.sidebar-section{font-size:11px;letter-spacing:0;padding:26px 20px 8px;color:var(--muted)}
.project-tree{margin-bottom:8px}.project-tree-heading{padding:0 14px}.project-tree-heading button{font-size:12px}.project-tree-heading small{display:none}
.project-tree .thread-row{margin:2px 10px;padding:0 8px}.thread-row.selected{box-shadow:none;background:var(--raised)}
.thread-button{padding:11px 2px}.thread-button span{font-size:12px}.thread-button small{display:none}
.thread-split{opacity:0;transition:opacity .15s}.thread-row:hover .thread-split,.thread-row:focus-within .thread-split{opacity:1}
.project-empty{font-size:11px;padding:0 20px}
footer{padding:10px 14px 12px;border:0}.usage-summary{font-size:11px;color:var(--muted);padding:8px 6px}
.sidebar-account{display:flex;align-items:center;gap:4px}.sidebar-account button{border:0;background:none;padding:9px 7px;color:var(--muted);font-size:14px}.sidebar-account button:first-child{flex:1;text-align:left}.sidebar-account span{font-size:12px;margin-left:5px}
main>header{height:48px;border:0;background:var(--surface);padding:0 28px}.breadcrumb h1{font-size:17px;font-weight:550}.breadcrumb #section-label{display:none}
.layout[data-view="chats"] main>header{display:none}
.editor-group{background:var(--surface);border-color:var(--line);container-type:inline-size}
.group-bar,.focused .group-bar{background:var(--surface);border:0;height:42px;padding:0 10px;gap:8px}
.editor-group:not(.multiple-tabs) .group-bar{display:none}
.multiple-panes .editor-group .group-bar{display:flex}
.tab{background:transparent;border:0;border-radius:8px;height:34px;align-self:center;max-width:220px}
.tab.active{background:var(--surface-2)}.tab-icon{display:none}.tab-icon.working{display:inline}.tab-close{font-size:16px}.group-tools{background:transparent}.group-tools button{color:var(--muted)}
.pane-caption{border:0;justify-content:center;gap:8px;padding:4px 20px;min-height:28px;font-size:11px;color:var(--muted)}
.pane-caption>span{flex:0 1 auto}.pane-caption .run-clock{font-size:11px}
.transcript{padding:24px max(24px,calc((100% - 760px)/2));scrollbar-width:thin;scrollbar-gutter:auto}
.message{padding:12px 0 26px}.message .role{display:none}.message .text{font-size:15px;line-height:1.8}
.message.user{display:flex;justify-content:flex-end;padding-top:10px}.message.user .text{max-width:85%;padding:12px 18px;border:0;border-radius:22px;background:var(--raised)}
.chat-event{font-size:11px}.chat-summary{border-left:1px solid var(--line);padding-left:14px}.chat-summary .role{letter-spacing:0;font-size:11px}.chat-summary .text{font-size:13px}
.composer{position:relative;margin:12px auto 24px;width:calc(100% - 48px);max-width:760px;border:1px solid transparent;border-radius:24px;padding:12px 14px;background:var(--surface-2);box-shadow:0 2px 12px #00000005}
.composer:focus-within{border-color:var(--line)}.composer textarea{font-size:15px;min-height:56px;max-height:150px;resize:vertical;padding:5px 5px 10px}
.composer-hint{display:none}.composer-bottom{flex-wrap:nowrap;gap:8px;justify-content:flex-end}.composer-bottom .primary{border-radius:50%;width:34px;height:34px;padding:0;font-size:24px;line-height:1}.composer-bottom [data-action="stop"]{border-radius:18px;padding:7px 12px}
.composer-options{position:relative;margin-right:auto;min-width:0;max-width:calc(100% - 90px)}
.composer-options>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;border-radius:16px;padding:7px 9px;color:var(--muted);font-size:12px;user-select:none}
.composer-options>summary::-webkit-details-marker{display:none}.composer-options>summary:hover{background:var(--hover);color:var(--text)}.model-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.composer-options-panel{position:absolute;bottom:calc(100% + 12px);left:0;z-index:10;width:280px;max-width:calc(100cqw - 66px);max-height:50dvh;overflow:auto;padding:16px;border:1px solid var(--line);background:var(--surface);border-radius:16px;box-shadow:0 12px 40px #0003}
.composer-options-panel label{display:block;font-size:11px;color:var(--muted);margin:0 0 14px}.composer-options-panel select{display:block;width:100%;font-size:12px;background:var(--surface-2);color:var(--text);padding:9px;border:1px solid var(--line);border-radius:8px;margin-top:6px}
.composer-project{padding:0;display:block;font-size:11px}.composer-project select{margin-top:6px;font-size:12px;color:var(--text)}
.empty-chat .transcript{flex:0 0 auto;padding:0 20px;overflow:visible;margin-top:clamp(60px,20dvh,230px)}
.welcome{max-width:none;text-align:center;margin:0 0 26px}.welcome h2{font-size:30px;font-weight:500;letter-spacing:-.8px;margin:0;line-height:1.3}
.empty-chat .composer{margin-top:0;margin-bottom:20px}.empty-chat .run-status:empty{display:none}
.run-status:not(:empty){max-width:760px;width:calc(100% - 48px);margin:0 auto;padding:8px 4px}
.pane-resizer::after{width:1px;opacity:.5}.pane-resizer:hover::after,.pane-resizer:focus-visible::after,.resizing-panes .pane-resizer::after{width:3px}
.intro .eyebrow{display:none}.content-view{padding-top:20px}.panel{border-radius:16px}.intro h2{font-weight:500}
.connection-details>summary{cursor:pointer;color:var(--muted)}.connection-details .statusbar{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0 6px;border:0;background:none;white-space:normal;font-size:12px}.connection-details .server-label{display:block}.connection-details .text-button{padding:10px 0}
@container(max-width:480px){.welcome h2{font-size:25px}.transcript{padding:20px}.message .text{font-size:14px}.composer{width:calc(100% - 28px);margin-bottom:16px}.composer-options-panel{width:260px}}
@media(max-width:900px){.layout{grid-template-columns:220px minmax(0,1fr)}.layout.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}}
@media(max-width:700px){.layout,.layout.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}aside{position:fixed;left:0;top:56px;bottom:0;width:252px;z-index:20;box-shadow:12px 0 28px #0002;visibility:hidden}.layout.sidebar-hidden aside{visibility:visible}.titlebar{padding:0 12px}.editor-group{min-width:min(340px,100vw)}.empty-chat .transcript{margin-top:clamp(30px,15dvh,110px)}.welcome h2{font-size:26px}.thread-split{opacity:1}.content-view{padding:20px}.connection-details #sync-info,.connection-details #execution-status{display:block}}
@media(max-height:620px){.empty-chat .transcript{margin-top:24px}.welcome{margin-bottom:18px}.composer{margin-bottom:12px}.composer-options-panel{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-height:70dvh;max-width:calc(100vw - 40px);z-index:30}}
@media(prefers-reduced-motion:reduce){.thread-split{transition:none}}

/* Real activity stays in the conversation; no simulated percentages or hidden reasoning. */
.live-activity{padding:14px 0 22px;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.activity-line{display:flex;align-items:center;gap:12px;min-height:28px}.activity-phase{font-size:13px;color:var(--text)}
.live-activity .run-clock{font-size:11px;color:var(--muted);margin-left:2px}.activity-pulse{display:flex;align-items:center;justify-content:center;gap:3px;width:26px;height:24px;flex-shrink:0;font-size:17px}
.activity-pulse i{width:4px;height:4px;border-radius:50%;background:var(--text);animation:activity-breathe 1.4s ease-in-out infinite}
.activity-pulse i:nth-child(2){animation-delay:.16s}.activity-pulse i:nth-child(3){animation-delay:.32s}
.activity-step{margin:8px 0 0 38px;line-height:1.65;color:var(--muted);font-size:12px}
.activity-plan{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 0 38px;font-size:10px}.plan-ticks{display:flex;gap:4px;flex-wrap:wrap;max-width:220px}
.plan-ticks i{width:16px;height:3px;border-radius:2px;background:var(--line)}.plan-ticks .completed{background:var(--text)}.plan-ticks .inProgress{background:var(--muted);animation:step-breathe 1.6s ease-in-out infinite}
.activity-wait{display:block;margin:9px 0 0 38px;line-height:1.6;color:var(--muted)}.activity-wait:empty{display:none}
.is-finished .activity-phase{font-size:12px;color:var(--muted)}.is-finished{padding-top:8px}
.offline-phase{display:none}.layout[data-connection="waiting"] .is-live .online-phase{display:none}.layout[data-connection="waiting"] .is-live .offline-phase{display:inline}
.streaming .text::after{content:'';display:inline-block;width:6px;height:6px;margin-left:7px;margin-bottom:2px;border-radius:50%;background:var(--text);animation:step-breathe 1.2s ease-in-out infinite}
.layout[data-connection="waiting"] .activity-pulse i,.layout[data-connection="waiting"] .plan-ticks .inProgress,.layout[data-connection="waiting"] .streaming .text::after{animation-play-state:paused}
.layout[data-connection="waiting"] .streaming .text::after{display:none}
@keyframes activity-breathe{0%,65%,100%{transform:translateY(0) scale(.8)}30%{transform:translateY(-4px) scale(1)}}
@keyframes step-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.activity-pulse i,.plan-ticks .inProgress,.streaming .text::after{animation:none}}

/* Chat-style model menu and a separate thinking chip. */
.composer-bottom>.composer-options{margin-right:0;max-width:45%}.composer-bottom>.thinking-options{margin-right:auto;max-width:38%}
.composer-options>summary{font-size:12px;gap:6px;padding:7px 8px}.effort-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-picker{width:330px;padding:6px}.picker-heading{padding:12px 12px 9px;font-size:11px;color:var(--muted);font-weight:500}
.model-choices{display:flex;flex-direction:column;gap:2px}
.composer-bottom .picker-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:10px;background:transparent;padding:10px 12px;text-align:left;font-size:13px}
.picker-option>span:first-child{min-width:0}.picker-option strong{display:block;font-weight:550;font-size:13px}.picker-option small{display:block;font-size:11px;color:var(--muted);line-height:1.5;margin-top:3px;overflow-wrap:anywhere}
.composer-bottom .picker-option:hover,.composer-bottom .picker-option:focus-visible{background:var(--surface-2)}.choice-check{flex-shrink:0;width:16px;color:var(--text);font-size:14px}
.picker-option[aria-checked="true"]{background:var(--surface-2)}
.model-picker .composer-project{border-top:1px solid var(--line);margin:7px 6px 3px;padding:12px 6px 5px}
.thinking-options{position:static}.thinking-options .effort-picker{width:330px;padding:6px;left:14px;right:auto;bottom:62px;max-width:calc(100% - 28px)}.effort-choices{display:flex;flex-direction:column;gap:2px}
.picker-footnote{font-size:11px;color:var(--muted);line-height:1.5;padding:8px 12px 6px;margin:0}
@container(max-width:480px){.composer-bottom>.composer-options{max-width:42%}.composer-bottom>.thinking-options{max-width:36%}.composer-options>summary{font-size:11px;padding:7px 4px}}
@media(max-height:620px){.thinking-options .composer-options-panel{left:50%;right:auto;bottom:20px;max-width:calc(100vw - 40px)}}
.composer-bottom .attach-button{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:50%;padding:0;background:transparent;color:var(--text);font-size:26px;font-weight:300;line-height:1}
.composer-bottom .attach-button:hover{background:var(--hover)}
.draft-attachments,.message-attachments{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 10px;max-height:160px;overflow:auto}
.message-attachments{margin:10px 0 0;max-height:none}.draft-attachments[hidden]{display:none}
.attachment-chip{display:flex;align-items:center;gap:10px;max-width:100%;padding:9px 12px;border:1px solid var(--line);background:var(--surface);border-radius:12px;font-size:12px;line-height:1.4;min-width:0}
.attachment-name{min-width:0;overflow-wrap:anywhere}.attachment-name small{display:block;color:var(--muted);font-size:10px;margin-top:3px}
.attachment-chip button{background:transparent;border:0;border-radius:50%;padding:3px 6px;font-size:18px}.attachment-chip button:hover{background:var(--hover)}
.thread-archive{border:0;background:transparent;padding:6px;color:var(--muted);opacity:0;flex-shrink:0}
.jump-latest-rail{position:relative;flex:0 0 0;height:0;z-index:4;pointer-events:none}
.jump-latest{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:38px;height:38px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--text);box-shadow:0 3px 12px #0002;pointer-events:auto;cursor:pointer;transition:background .16s,box-shadow .16s}
.jump-latest[hidden]{display:none}.jump-latest:hover{background:var(--surface-2);box-shadow:0 4px 16px #0003}.jump-latest:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.jump-arrow{width:20px;height:20px}.jump-dots{display:none;align-items:center;justify-content:center;gap:3px}.jump-dots i{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;animation:jump-dot 1.2s ease-in-out infinite}
.jump-dots i:nth-child(2){animation-delay:.15s}.jump-dots i:nth-child(3){animation-delay:.3s}.jump-latest.working .jump-arrow{display:none}.jump-latest.working .jump-dots{display:flex}
.jump-latest.paused .jump-dots i{animation-play-state:paused}
.jump-latest.working{animation:none}.jump-latest:active:not(:disabled){transform:translateX(-50%) translateY(1px)}
@keyframes jump-dot{0%,65%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}
@media(prefers-reduced-motion:reduce){.jump-dots i{animation:none}.jump-latest{transition:none}}
@media(pointer:coarse){.jump-latest{width:44px;height:44px}}
.thread-row:hover .thread-archive,.thread-row:focus-within .thread-archive{opacity:1}
.thread-archive:disabled{opacity:.3;cursor:not-allowed}
.archive-card{display:flex;align-items:center;justify-content:space-between;gap:20px}
.archive-card>div:first-child{min-width:0;overflow-wrap:anywhere}.archive-card h3{margin:0 0 8px}.archive-card p,.archive-card small{color:var(--muted)}
.archive-actions{display:flex;gap:8px;flex-shrink:0}.danger-button{color:#e87575;border-color:#974d4d;background:transparent}
#delete-chat-dialog{max-width:480px;width:calc(100% - 32px)}#delete-chat-dialog p{line-height:1.6;overflow-wrap:anywhere}
.rename-button{border:0;background:transparent;padding:6px;color:var(--muted);flex-shrink:0;font-size:16px}
.thread-row .rename-button{opacity:0;transition:opacity .15s}
.thread-row:hover .rename-button,.thread-row:focus-within .rename-button{opacity:1}
#rename-dialog{max-width:460px}#rename-dialog h2{font-size:21px}#rename-error{margin-top:12px}
.editor-group.tab-drop-target{outline:2px solid var(--strong);outline-offset:-3px}.tab-select[draggable=true]{cursor:grab}.tab-select[draggable=true]:active{cursor:grabbing}
#move-chat-dialog{max-width:460px}.move-targets{display:flex;flex-direction:column;gap:8px}.move-targets button{text-align:left;overflow-wrap:anywhere}
@media(hover:none){.thread-row .rename-button{opacity:1}}
@media(hover:none){.thread-archive{opacity:1}}
@media(max-width:700px){.archive-card{align-items:flex-start;flex-direction:column}}
@container(max-width:480px){.composer-bottom{gap:3px}.composer-bottom>.composer-options{max-width:38%}.composer-bottom>.thinking-options{max-width:30%}.composer-bottom .attach-button{flex-basis:28px;width:28px}}
/* Scoped controls: no transcript reflow and no extra task-status banner. */
.permission-options summary{font-size:12px}.permission-options .composer-options-panel{width:300px;left:auto;right:0;max-width:calc(100vw - 48px)}
.voice-button{display:grid;place-items:center;border:0;background:transparent;color:inherit;padding:8px;border-radius:50%}
.voice-button.recording{color:#c33434;background:rgba(210,40,40,.12);animation:voice-pulse 1.4s ease-in-out infinite}
@keyframes voice-pulse{50%{box-shadow:0 0 0 5px rgba(210,40,40,.08)}}
.approval-box{max-height:35vh;overflow:auto;margin:0 18px 8px}.approval-request{padding:14px;border:1px solid #9996;border-radius:16px;background:var(--panel)}
.approval-request pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font-size:12px}.approval-request p{font-size:13px}.approval-request label{display:block;margin:12px 0}.approval-request input{display:block;width:100%}
.privacy-panel label{display:block;margin:12px 0}.privacy-panel input[type=password]{display:block;width:min(100%,420px);margin-top:6px}.privacy-panel details{margin:18px 0}.privacy-panel li{margin:8px 0}.privacy-panel .dialog-actions{justify-content:flex-start;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.voice-button.recording{animation:none}}
/* Chat-style editing and a compact, independently scrolling message queue. */
.message.user{flex-direction:column;align-items:flex-end;position:relative}
.message-actions{display:flex;gap:4px;margin-top:5px;opacity:0;transition:opacity .15s}
.message:hover .message-actions,.message:focus-within .message-actions{opacity:1}
.message-actions button,.queue-actions button,.version-navigation button{display:grid;place-items:center;background:transparent;border:0;border-radius:50%;width:30px;height:30px;padding:5px;color:var(--muted)}
.message-actions button:hover,.queue-actions button:hover,.version-navigation button:hover{background:var(--hover);color:var(--text)}
.message-edit{width:100%;background:var(--surface-2);padding:16px;border-radius:22px}
.message-edit textarea{display:block;width:100%;min-height:100px;max-height:260px;resize:vertical;background:transparent;border:0;outline:none;color:var(--text);font:inherit;line-height:1.6}
.message-edit small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin:8px 0}
.edit-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.edit-actions button{border-radius:20px;padding:8px 16px}
.is-editing>.text,.is-editing>.message-actions,.is-editing>.queued-content,.is-editing>.queue-actions{display:none}
.queue-rail{flex-shrink:0;max-width:760px;width:calc(100% - 48px);margin:4px auto -3px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:18px}
.queue-heading{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;min-height:26px}
.queue-heading button{background:none;border:0;color:var(--text);padding:4px 8px;font-size:12px}
.queue-list{max-height:160px;overflow:auto;overscroll-behavior:contain}
.queued-message{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid var(--line)}
.queued-content{flex:1;min-width:0}.queued-content p{margin:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queued-content small{display:block;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.queue-actions{display:flex;flex-shrink:0;gap:2px}.queue-actions button:disabled{opacity:.3;cursor:default}
.queued-message .message-edit{padding:5px}.queued-message .message-edit textarea{min-height:50px}
.composer [data-action=stop]{border:0;border-radius:50%;width:34px;height:34px;padding:0;background:var(--text);color:var(--inverse);font-size:16px;flex-shrink:0}
.version-navigation{display:flex;justify-content:center;align-items:center;gap:6px;font-size:12px;color:var(--muted);flex-shrink:0}
.queue-rail[hidden],.version-navigation[hidden],.composer .send[hidden],.composer [data-action=stop][hidden]{display:none}
@media(hover:none){.message-actions{opacity:1}}
@container(max-width:480px){.queue-rail{width:calc(100% - 28px)}.queue-list{max-height:120px}}
@media(prefers-reduced-motion:reduce){.message-actions{transition:none}}
/* One editor uses 85% of its work area; split panes retain their own spacing. */
.rules-proposal{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 24px;padding:14px;border:1px solid var(--border);border-radius:14px;font-size:13px}
#workspace-rules-dialog{width:min(760px,92vw);max-height:90dvh;overflow:auto}
#workspace-rules-dialog label{display:block;margin:16px 0 8px}
#workspace-rules-dialog textarea{width:100%;min-height:200px;resize:vertical}
#workspace-rules-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}
#workspace-rules-dialog select{width:100%}
#workspace-rules-dialog [role=alert]{color:#d55}
@media(min-width:701px){
 #editors:not(.multiple-panes) .transcript{padding-inline:7.5%}
 #editors:not(.multiple-panes) .composer,
 #editors:not(.multiple-panes) .queue-rail,
 #editors:not(.multiple-panes) .run-status:not(:empty),
 #editors:not(.multiple-panes) .approval-box{width:85%;max-width:none;margin-inline:auto}
}
