:root{color-scheme:light dark;--bg:#fff;--surface:#f7f8fa;--hover:#eceff2;--text:#1b1f24;--muted:#68717d;--line:#e4e7eb;--success:#247b5c;--warning:#865b1e;--danger:#b83c3c;--info:#356c9d;--code:#f4f6f8;--add:#e8f6ee;--remove:#fff0f0;--viewport-height:100dvh;--viewport-top:0px;font:15px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#151719;--surface:#202327;--hover:#2a2e33;--text:#f2f4f5;--muted:#a7afb9;--line:#34393f;--success:#67c9a3;--warning:#d6a655;--danger:#ee7777;--info:#84b5df;--code:#1b1e22;--add:#17372c;--remove:#422629}}
:root[data-theme=dark]{color-scheme:dark;--bg:#151719;--surface:#202327;--hover:#2a2e33;--text:#f2f4f5;--muted:#a7afb9;--line:#34393f;--success:#67c9a3;--warning:#d6a655;--danger:#ee7777;--info:#84b5df;--code:#1b1e22;--add:#17372c;--remove:#422629}:root[data-theme=light]{color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:transparent;padding:8px 13px;cursor:pointer;touch-action:manipulation}button:hover{background:var(--hover)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.48}a{color:var(--info);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--info);outline-offset:3px}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:11px;font-size:16px}textarea{resize:none}input[type=checkbox]{width:20px;height:20px;accent-color:var(--success)}h1,h2,h3,p{margin:0}h2{font-size:19px;line-height:1.4}h3{font-size:15px;margin-bottom:12px}p+p{margin-top:10px}pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.65}small,.hint{font-size:12px;color:var(--muted);line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--muted);margin-bottom:8px}.primary,.send-button{background:var(--text);color:var(--bg);border-color:transparent}.primary:hover,.send-button:hover{opacity:.86;background:var(--text)}.danger{color:var(--danger)}.text-button{border:0;color:var(--muted);font-size:12px;padding:8px}.icon-button{border:0;font-size:22px;min-width:44px;flex-shrink:0;padding:5px}.wide{display:block;width:100%;margin-top:10px;text-align:left}.button-row{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.button-row>*{flex:1}.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}.error{color:var(--danger);font-size:12px;overflow-wrap:anywhere}.error:empty{display:none}.notice{font-size:12px;color:var(--muted);line-height:1.7;overflow-wrap:anywhere;margin:14px 0}.banner{font-size:12px;padding:10px 14px;background:var(--surface);border-left:3px solid var(--warning);margin:0 16px 8px;max-height:100px;overflow:auto;border-radius:6px;flex-shrink:0}.banner a{display:inline-block}.pill,.badge{font-size:11px;padding:3px 8px;border:1px solid var(--line);border-radius:20px;color:var(--muted);white-space:nowrap}.good{color:var(--success)}.warning{color:var(--warning)}.bad{color:var(--danger)}
/* One viewport. Only the message pane scrolls in the main chat. */
.shell{position:fixed;top:var(--viewport-top);left:0;right:0;height:var(--viewport-height);display:grid;grid-template-rows:auto auto minmax(0,1fr);padding-top:env(safe-area-inset-top);overflow:hidden}.topbar{height:58px;display:flex;align-items:center;gap:6px;padding:0 max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:var(--bg);min-width:0}.project-title{min-width:0;flex:1;min-height:52px;border:0;border-radius:8px;padding:4px;text-align:left;overflow:hidden}.project-title [role=heading]{font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.runtime-status{display:block;min-height:0;border:0;font-size:11px;color:var(--muted);padding:2px 0;max-width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runtime-status:before{content:'●';font-size:8px;color:var(--success);margin-right:5px}.project-title.offline .runtime-status:before{color:var(--warning)}.account-trigger{min-width:55px;border-radius:24px;font-size:13px;font-weight:600;padding:8px 10px;white-space:nowrap}.quota-bar{background:var(--surface);border-bottom:1px solid var(--line);padding:4px max(16px,env(safe-area-inset-right)) 9px max(16px,env(safe-area-inset-left));font-variant-numeric:tabular-nums;min-width:0}.quota-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:30px}.quota-heading strong{font-size:12px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quota-actions{display:flex;align-items:center}.quota-actions button{font-size:11px;min-height:44px;min-width:44px;padding:5px 8px;border:0}.quota-metrics{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px}.quota-metric{min-width:0}.metric-caption{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:3px}.metric-caption strong{margin-left:auto;font-weight:600;white-space:nowrap}.metric-caption .hint{font-size:11px}.quota-metric meter{display:block;width:100%;height:5px;border:0;appearance:none;background:var(--line);border-radius:4px}.quota-metric meter::-webkit-meter-bar{background:var(--line);border:0;border-radius:4px}.quota-metric meter::-webkit-meter-optimum-value{background:var(--success);border-radius:4px}.quota-metric meter::-moz-meter-bar{background:var(--success)}.quota-bar[data-state=QuotaLow] meter::-webkit-meter-optimum-value{background:var(--warning)}.quota-bar[data-state=QuotaExhausted] meter::-webkit-meter-optimum-value{background:var(--danger)}.quota-details{font-size:12px;color:var(--muted);padding-top:9px;display:flex;gap:7px;flex-wrap:wrap;align-items:center}.quota-details p{flex-basis:100%}.quota-details button{font-size:12px}.quota-bar[data-mode=minimal]{padding-top:0;padding-bottom:0}.quota-bar[data-mode=minimal] .quota-heading{min-height:38px}.quota-bar[data-mode=minimal] .quota-heading strong{font-size:11px}.quota-bar[data-mode=minimal] .quota-actions button{min-height:44px}.quota-bar[data-mode=minimal] .quota-metrics{display:none}.workspace{min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.conversation-heading{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:8px;margin:0 auto;width:100%;max-width:850px;padding:0 16px;flex-shrink:0}.conversation-heading>span{font-size:12px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conversation-heading>div{display:flex;align-items:center;flex-shrink:0}.conversation-heading .icon-button{font-size:18px}.messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:18px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));overflow-anchor:none}.messages>*{max-width:800px;margin-left:auto;margin-right:auto}.message{margin-bottom:28px;min-width:0}.message.user{display:flex;flex-direction:column;align-items:flex-end}.message.user .message-content{max-width:88%;padding:11px 16px;background:var(--surface);border-radius:20px 20px 5px 20px;white-space:pre-wrap}.message-label{font-size:11px;display:flex;align-items:center;gap:10px;color:var(--muted);margin:6px 0 9px}.message.assistant .message-label{font-size:12px;font-weight:600}.message-label .status{font-weight:400}.message-content{font-size:16px;line-height:1.6;min-width:0;overflow-wrap:anywhere}.message-content h1,.message-content h2,.message-content h3,.message-content h4{font-size:18px;margin:22px 0 12px;line-height:1.4}.message-content h1{font-size:22px}.message-content p{margin:0 0 12px}.markdown-line{min-height:1.2em}.message-content ul,.message-content ol{padding-left:24px;margin:10px 0}.message-content li{margin-bottom:6px}.message-content blockquote{margin:12px 0;padding-left:14px;border-left:3px solid var(--line);color:var(--muted)}.message-content :not(pre)>code{font-size:.85em;background:var(--surface);border-radius:5px;padding:2px 5px}.code-block{margin:15px 0;min-width:0}.code-label{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--hover);border-radius:12px 12px 0 0;padding-left:14px;font-size:12px;color:var(--muted)}.code-label button{font-size:12px;border:0;border-radius:0 12px 0 0}.code-block pre{margin:0;border-radius:0 0 12px 12px;background:var(--code);padding:14px;font-size:13px;overflow-x:auto;max-width:100%;white-space:pre;overflow-wrap:normal}.syntax-keyword{color:var(--info)}.syntax-string{color:var(--success)}.syntax-comment{color:var(--muted)}.table-wrap{overflow-x:auto;max-width:100%;margin:14px 0;border:1px solid var(--line);border-radius:10px}.table-wrap table{border-collapse:collapse;font-size:13px;min-width:100%}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--line);padding:10px 13px;text-align:left;white-space:nowrap}.table-wrap th{background:var(--surface)}.message-actions{display:flex;align-items:center;gap:3px;margin-top:6px}.message-actions button{font-size:12px;border:0;color:var(--muted);padding:8px 10px}.system-event{font-size:11px;color:var(--muted);display:block;text-align:center;padding:8px 0;border:0;width:100%;overflow-wrap:anywhere}.empty{height:100%;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;color:var(--muted)}.empty h2{font-size:20px;color:var(--text);font-weight:600}.empty p{font-size:13px}.brand-mark{font-size:27px;width:44px;height:44px;background:var(--surface);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--text)}.composer-wrap{width:100%;max-width:850px;align-self:center;flex-shrink:0;padding:0 max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--bg)}.composer{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:11px 12px 8px}.composer textarea{display:block;border:0;background:transparent;padding:0 3px;min-height:48px;max-height:150px;line-height:1.5;resize:none;font-size:16px;outline:none}.composer-bottom{display:flex;align-items:center;gap:8px;padding-top:5px}.model-label{flex:1;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.send-button{height:44px;width:44px;border-radius:50%;font-size:24px;padding:0}.composer-note{font-size:11px;color:var(--muted);line-height:1.4;margin:6px 8px 0;max-height:46px;overflow:auto}.composer-wrap .error{margin:5px 8px;max-height:50px;overflow:auto}.jump-bottom{position:absolute;bottom:190px;left:50%;transform:translateX(-50%);border-radius:24px;background:var(--bg);font-size:12px;z-index:3;box-shadow:0 4px 14px #0001}.jump-bottom:active{transform:translateX(-50%)}
/* Native dialogs supply modal focus trapping, Escape and focus return. */
dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:20px;margin:auto;padding:22px;max-height:85%;width:min(560px,calc(100% - 24px));overflow:auto;overscroll-behavior:contain;box-shadow:0 16px 55px #0002}dialog::backdrop{background:#0006}.sheet{position:fixed;inset:auto 0 0;max-height:calc(var(--viewport-height)*.85);max-width:100%;width:min(560px,100%);margin:0 auto;border-radius:22px 22px 0 0;padding:8px 20px max(24px,env(safe-area-inset-bottom));scrollbar-width:thin}.sheet-handle{width:34px;height:4px;border-radius:4px;background:var(--line);margin:3px auto 8px;touch-action:pan-x}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;min-height:44px}.dialog-heading h2{font-size:18px}.sheet section{padding:18px 0;border-bottom:1px solid var(--line)}.sheet details{margin:14px 0}.sheet summary{min-height:44px;padding:10px 0;cursor:pointer;font-size:13px}.setting-check{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted);margin:10px 0;min-height:44px}.setting-check input{flex-shrink:0}.device-row,.notification-item,.history-item{border-bottom:1px solid var(--line);padding:12px 0}.device-row small,.notification-item small{display:block;margin:5px 0}.device-row strong,.notification-item strong{font-size:13px;font-weight:600}.history-item{font-size:12px;line-height:1.6}.history-item p{white-space:pre-line;overflow-wrap:anywhere;color:var(--muted)}.account-card{padding:16px;border:1px solid var(--line);border-radius:14px;margin-bottom:12px}.account-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;margin-bottom:5px}.account-card .quota-metric{margin-top:13px}.account-card .quota-metric .hint{margin-top:5px;font-size:11px}.account-card>p{font-size:12px;color:var(--muted);margin-top:8px}.account-card>button{width:100%;margin-top:12px;font-size:12px}.switch-steps{padding-left:23px;font-size:13px}.switch-steps li{margin:10px 0}.drawer{inset:var(--viewport-top) auto auto 0;width:min(340px,85vw);max-width:85vw;height:var(--viewport-height);max-height:var(--viewport-height);margin:0;border-radius:0;border:0;border-right:1px solid var(--line);padding:0;overflow:hidden;background:var(--surface)}.drawer>aside{height:100%;display:flex;flex-direction:column;overflow:auto;overscroll-behavior:contain;padding:env(safe-area-inset-top) 14px env(safe-area-inset-bottom)}.drawer-heading{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:8px}.drawer-heading strong{font-size:16px}.new-conversation{border:0;text-align:left;margin:0 0 12px;background:var(--hover);font-size:13px}.drawer input[type=search]{font-size:16px;background:var(--bg)}.section-label{font-size:11px;color:var(--muted);margin:18px 8px 8px}.project-row{display:flex;align-items:center;gap:2px;min-width:0}.project-row>button{border:0;padding:7px}.project-row .project-name{font-size:13px;text-align:left;min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.project-row .icon-button{font-size:17px}.project-row.selected{background:var(--hover);border-radius:10px}.project-history{margin-left:13px;border-left:1px solid var(--line);padding-left:5px}.thread-button{display:block;width:100%;text-align:left;border:0;font-size:12px;padding:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-height:44px}.thread-button.selected{background:var(--hover);font-weight:600}.thread-button small{font-size:11px;display:block;font-weight:400;overflow:hidden;text-overflow:ellipsis}.drawer-footer{margin-top:auto;flex-shrink:0;padding:22px 0 14px;display:flex;gap:5px;flex-wrap:wrap}.drawer-footer button{flex:1;text-align:left;border:0;font-size:12px}.drawer-footer p{width:100%;padding:0 8px}.project-tree:empty{display:none}.drawer .hint{padding:4px 8px}
/* Task cards contain actual event history; Diff is always single column. */
.execution-card,.diff-card,.approval-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);margin:14px 0;overflow:hidden}.execution-card>summary,.diff-card>summary{min-height:52px;padding:12px 15px;cursor:pointer;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.execution-content,.diff-content{padding:0 14px 14px}.activity-item{border-top:1px solid var(--line);padding:9px 0}.activity-item pre{font-size:12px;margin:7px 0 0}.activity-item small{font-size:11px}.activity-item button{font-size:12px}.diff-file{margin:8px 0;background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow:hidden}.diff-file summary{min-height:44px;padding:10px;font-size:12px;overflow-wrap:anywhere;cursor:pointer}.diff-lines{max-height:50dvh;overflow:auto;margin:0;padding:10px 0;font-size:12px;line-height:1.7;white-space:pre}.diff-line{display:block;padding:0 10px;min-width:max-content}.diff-line.add{background:var(--add)}.diff-line.remove{background:var(--remove)}.diff-file .text-button{margin:0 5px}.approval-card{padding:14px;border-color:var(--warning)}.approval-card h3{color:var(--warning);font-size:14px;margin:0 0 8px}.approval-card pre{padding:10px;background:var(--bg);border-radius:8px;max-height:150px;overflow:auto}.approval-card .button-row>button{min-height:44px}.approval-card p{font-size:12px;overflow-wrap:anywhere}.approval-card.resolved{border-color:var(--line)}.pair-screen{height:var(--viewport-height);overflow:auto;display:grid;place-items:center;padding:30px 20px}.pair-card{max-width:390px;width:100%}.pair-card h1{font-size:26px;margin:20px 0 12px}.pair-card label{display:block;margin:24px 0 8px;font-size:13px}.pair-card>.primary{width:100%;margin:14px 0}.pair-card .hint{margin-top:15px}.pair-card .eyebrow{margin-top:20px}.pair-card .muted{font-size:14px}
/* Keep the existing separate, localhost human-supervised switch trial usable. */
.trial-page{height:100dvh;overflow:auto;max-width:820px;margin:auto;padding:40px 22px}.trial-card{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface);margin:22px 0}.trial-card>label{display:block;margin:16px 0 8px}.trial-check{display:flex!important;align-items:flex-start;gap:10px;line-height:1.8}.trial-check input{width:auto;margin-top:5px}.trial-detail{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.8;color:var(--muted)}.trial-card button{margin:8px 5px 0 0}
@media(min-width:900px){.shell{left:280px}.topbar{height:64px;padding:0 26px}.topbar #panel-toggle{display:none}.quota-bar{padding-left:max(26px,calc((100% - 800px)/2));padding-right:max(26px,calc((100% - 800px)/2))}.quota-metrics{gap:36px}.quota-heading{min-height:35px}.drawer{width:280px;max-width:280px}.drawer-heading #panel-close{display:none}.sheet{inset:70px 24px auto auto;margin:0;border-radius:20px;max-height:calc(var(--viewport-height) - 100px);padding:18px 24px 24px}.sheet-handle{display:none}.messages{padding-top:24px}.composer-wrap{padding-bottom:14px}.conversation-heading{min-height:44px}.project-title [role=heading]{font-size:17px}}
@media(max-width:359px){.topbar{gap:1px;padding-left:4px;padding-right:4px}.account-trigger{min-width:47px;padding:7px}.project-title [role=heading]{font-size:14px}.quota-metrics{gap:9px;grid-template-columns:1fr}.quota-heading strong{font-size:11px}.message-content{font-size:15px}.conversation-heading{padding:0 12px}.sheet{padding-left:14px;padding-right:14px}.messages{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:no-preference){dialog[open]:not(.drawer){animation:sheet-in .18s ease-out}@keyframes sheet-in{from{transform:translateY(12px);opacity:.7}to{transform:translateY(0);opacity:1}}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.project-title [role=heading]{display:block}
