/* Neutral surfaces; interface accents and agent states have separate colors. */
:root{
  color-scheme:dark;
  --bg:#14161a;
  --panel:#1c1f26;
  --selected:#292f3a;
  --line:#363d49;
  --line-strong:#66758c;
  --text:#eef0f4;
  --muted:#aeb6c4;
  --secondary:#c7ced9;
  --accent:#8ab4ff;
  --accent-ink:#10213b;
  --accent-surface:#263a58;
  --active:#f5d76e;
  --active-ring:#f5d76e26;
  --waiting:#ffd078;
  --waiting-border:#856c3c;
  --danger:#ff8f9d;
  --idle:#63e6a4;
  --inactive:#909aaa;
  --code-bg:#101216;
  --message-bg:#272d38;
  --notice-bg:#2c2720;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--panel);min-height:44px;padding:9px 14px;touch-action:manipulation}button:hover{border-color:var(--line-strong)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:650}button.quiet,button.icon{border-color:transparent;background:transparent}input,textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px;width:100%}input:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.mobile{display:none}#app{display:grid;grid-template-columns:300px minmax(0,1fr);height:100vh;height:100dvh}#sidebar{display:flex;flex-direction:column;padding:20px 16px;gap:16px;border-right:1px solid var(--line);min-height:0}.brand{display:flex;align-items:center;gap:10px;min-height:40px}.brand strong{flex:1}#threads{flex:1;overflow:auto;min-height:0}#threads button{display:block;width:100%;text-align:left;border:0;margin:4px 0;background:transparent;padding:12px}#threads button.selected{background:var(--selected)}#threads strong{display:block;font-size:14px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#threads small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}#connection:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--inactive);margin-right:7px}#connection.online:before{background:var(--idle)}main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}header{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:16px 24px;min-height:79px}.heading{flex:1;min-width:0}header h1{font-size:16px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:0 0 5px}header p{font-size:12px;color:var(--muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#activity{font-size:12px;color:var(--active);white-space:nowrap}#notice{padding:12px 24px;background:var(--notice-bg);font-size:14px;line-height:1.5;white-space:pre-wrap}#conversation{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px max(24px,calc((100% - 800px)/2));overflow-anchor:none}#messages{display:flex;flex-direction:column;gap:22px}.message{min-width:0;line-height:1.65;font-size:15px;overflow-wrap:anywhere;content-visibility:auto;contain-intrinsic-size:auto 100px}.message.user{align-self:flex-end;max-width:90%;background:var(--message-bg);border-radius:18px 18px 4px 18px;padding:12px 17px}.message.agent{width:100%}.message .label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 6px}.body{white-space:pre-wrap}.body.rich{white-space:normal}.rich p{margin:0 0 12px;white-space:pre-wrap}.rich h2,.rich h3{font-size:17px;margin:16px 0 8px}.rich ul{padding-left:22px}.rich li{margin:5px 0}.rich a{color:var(--accent)}pre{font-size:12px;line-height:1.55;overflow:auto;max-height:360px;background:var(--code-bg);border:1px solid var(--line);border-radius:10px;padding:14px;white-space:pre}code{font-family:ui-monospace,Consolas,monospace}.rich :not(pre)>code{background:var(--selected);padding:1px 5px;border-radius:4px;font-size:.9em}.tool{color:var(--muted);font-size:13px;border-left:2px solid var(--line-strong);padding:4px 12px}.tool summary{cursor:pointer;min-height:32px}.tool pre{white-space:pre-wrap}.empty{text-align:center;padding:14vh 12px;color:var(--muted)}.empty h2{font-size:22px;color:var(--text);font-weight:550}#older{display:block;margin:0 auto 24px}#composer{margin:8px max(24px,calc((100% - 800px)/2)) max(18px,env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:8px}#prompt{border:none;background:transparent;resize:none;min-height:48px;max-height:180px;outline:none;padding:10px 12px;line-height:1.5}.composer-actions{display:flex;align-items:center;gap:8px;padding:0 4px 4px}.composer-actions span{flex:1;padding-left:8px;font-size:11px;color:var(--muted)}#send{font-size:23px;width:44px;padding:0;line-height:1}#stop{color:var(--danger)}#approvals{max-height:40vh;overflow:auto;margin:0 max(24px,calc((100% - 800px)/2))}.approval{padding:16px;background:var(--panel);border:1px solid var(--waiting-border);border-radius:14px;margin-top:10px;font-size:14px}.approval p{white-space:pre-wrap;overflow-wrap:anywhere}.approval button{margin:8px 8px 0 0}.approval label{display:block;margin:14px 0 6px}.approval .option{display:block;width:100%;text-align:left;font-size:13px}.approval .option.chosen{border-color:var(--accent)}#to-bottom{position:absolute;bottom:145px;right:24px;box-shadow:0 4px 15px #0006;font-size:12px}#login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:380px}.login-card h1{font-size:28px;font-weight:600}.login-card p{color:var(--muted);line-height:1.5}.login-card label{display:block;margin:32px 0 8px;font-size:13px}.login-card button{margin-top:14px;width:100%}#login-error{color:var(--danger)}
@media(max-width:760px){.mobile{display:block}#app{grid-template-columns:1fr}#sidebar{position:fixed;top:0;bottom:0;left:0;width:min(86vw,330px);z-index:4;background:var(--bg);transform:translateX(-100%);transition:transform .15s ease}body.sidebar-open #sidebar{transform:translateX(0)}#backdrop{position:fixed;inset:0;z-index:3;border:0;border-radius:0;background:#0009}header{padding:10px 12px;min-height:69px}#conversation{padding:20px 16px}#composer{margin:6px 10px max(10px,env(safe-area-inset-bottom));border-radius:16px}#approvals{margin:0 10px}#notice{padding:10px 16px;font-size:13px}.message{font-size:15px}.message.user{max-width:94%}#subtitle{max-width:60vw}#activity{max-width:80px;white-space:normal;text-align:right}#to-bottom{right:16px}input,textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
#threads .thread-heading{display:flex;align-items:center;gap:10px}#threads .thread-heading strong{flex:1;min-width:0}.thread-indicator{width:10px;height:10px;flex-shrink:0;border-radius:50%;background:var(--inactive)}#threads .thread-meta{display:flex;align-items:baseline;gap:8px;min-width:0;margin-top:5px}.thread-status{flex-shrink:0;color:var(--muted);font-size:12px;font-weight:600}.thread-date{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}#threads [data-status=active] .thread-indicator{background:var(--active);box-shadow:0 0 0 3px var(--active-ring)}#threads [data-status=active] .thread-status{color:var(--active)}#threads [data-status=waiting] .thread-indicator{background:var(--waiting)}#threads [data-status=waiting] .thread-status{color:var(--waiting)}#threads [data-status=error] .thread-indicator{background:var(--danger)}#threads [data-status=error] .thread-status{color:var(--danger)}#threads [data-status=idle] .thread-indicator{background:var(--idle)}#threads [data-status=idle] .thread-status{color:var(--idle)}#threads [data-status=saved] .thread-indicator{background:transparent;border:1px solid var(--inactive)}#threads [data-status=offline] .thread-indicator,#threads [data-status=unknown] .thread-indicator{background:var(--inactive)}
#work{margin:8px max(24px,calc((100% - 800px)/2)) 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel);flex-shrink:0;font-size:13px}.work-heading{display:flex;align-items:center;gap:8px;min-width:0}#work-title{font-size:13px;font-weight:550;flex:1;min-width:0;overflow-wrap:anywhere}#work-elapsed{color:var(--muted);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}#work-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);flex-shrink:0}.working #work-dot{background:var(--active);box-shadow:0 0 0 4px var(--active-ring)}.waiting #work-dot{background:var(--waiting)}#work-update{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}#work-quiet{display:block;margin-top:7px;font-size:11px;color:var(--muted)}#work-details{margin-top:4px;color:var(--muted)}#work-details summary{cursor:pointer;padding:7px 0;min-height:32px;font-size:12px}#work-details[open]{max-height:24vh;overflow-y:auto}#work-details ol{list-style:none;padding:0;margin:2px 0 8px}#work-details li{display:flex;gap:9px;font-size:12px;line-height:1.5;padding:4px 0;overflow-wrap:anywhere}#work-details .step-mark{width:14px;flex-shrink:0;color:var(--idle)}#work-details .inProgress .step-mark{color:var(--active)}#work-details .failed .step-mark{color:var(--danger)}#work-details .inProgress{color:var(--text)}#work-plan{border-bottom:1px solid var(--line);padding-bottom:8px!important}.message.commentary{border-left:2px solid var(--line-strong);padding-left:12px;color:var(--secondary)}.message.commentary .label{color:var(--accent)}@media(max-width:760px){#work{margin:6px 10px 0;padding:10px 12px}#work-details[open]{max-height:20vh}}
.attachments{display:grid;gap:12px;margin-top:12px;white-space:normal}.attachment{margin:0;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.image-open{display:block;text-align:center;color:var(--accent);background:var(--code-bg);min-height:44px}.attachment img{display:block;width:100%;max-height:360px;object-fit:contain}.attachment figcaption{display:flex;align-items:center;gap:12px;padding:12px}.attachment figcaption>div{min-width:0;flex:1}.attachment strong{display:block;font-size:13px;overflow-wrap:anywhere}.attachment small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.file-download{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:9px;color:var(--accent);font-size:13px;text-decoration:none;flex-shrink:0}.file-download:hover{border-color:var(--accent)}

.rich h1{font-size:24px;margin:22px 0 14px}.rich h2{font-size:20px;margin:24px 0 12px}.rich h3{font-size:17px}.rich h4,.rich h5,.rich h6{font-size:15px;margin:16px 0 8px}.rich> :first-child{margin-top:0}.rich ol{padding-left:25px}.rich li p{margin-bottom:6px}.rich blockquote{margin:16px 0;padding:3px 0 3px 16px;border-left:3px solid var(--line-strong);color:var(--muted)}.rich blockquote p:last-child{margin-bottom:0}.rich hr{border:0;border-top:1px solid var(--line);margin:24px 0}.markdown-table{overflow-x:auto;max-width:100%;margin:14px 0 20px;overscroll-behavior-x:contain}.markdown-table table{border-collapse:collapse;width:100%;font-size:14px}.markdown-table th,.markdown-table td{border:1px solid var(--line);padding:9px 12px;min-width:95px;vertical-align:top}.markdown-table th{background:var(--panel);font-weight:600}.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}.rich .task-item{list-style:none;display:flex;align-items:flex-start;gap:8px;margin-left:-22px}.task-item input{width:16px;height:16px;flex-shrink:0;margin:5px 0 0;accent-color:var(--accent);opacity:1}.task-item>div{min-width:0}.attachment figcaption>.file-actions{display:flex;flex:0 0 auto;gap:8px}.file-actions button{font-size:13px;padding:8px 10px;border-radius:9px}
#file-preview{padding:0;width:min(880px,calc(100vw - 40px));height:min(900px,calc(100dvh - 40px));max-width:none;max-height:none;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 20px 80px #0008}#file-preview[open]{display:flex;flex-direction:column}#file-preview::backdrop{background:#000a}.preview-heading{display:flex;align-items:center;gap:16px;padding:16px 20px 10px}.preview-heading>div{flex:1;min-width:0}.preview-heading span{font-size:11px;color:var(--muted)}#preview-title{font-size:16px;line-height:1.4;margin:3px 0 0;overflow-wrap:anywhere;max-height:70px;overflow:auto}#preview-close{font-size:28px;line-height:1;flex-shrink:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px 14px;border-bottom:1px solid var(--line)}.preview-toolbar>div{display:flex;gap:4px}.preview-toolbar button{font-size:13px;padding:8px 12px;border-color:transparent;background:transparent}.preview-toolbar button[aria-pressed=true]{color:var(--accent);background:var(--panel);border-color:var(--line)}#preview-scroll{overflow:auto;min-height:0;flex:1;padding:28px 32px;overscroll-behavior:contain;line-height:1.65;overflow-wrap:anywhere}#preview-content{font-size:16px;min-width:0}#preview-content pre{max-height:none}#preview-message{color:var(--muted);font-size:14px;white-space:pre-wrap;margin:0 0 20px}#preview-source{margin:0;max-height:none;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:transparent;border:0;padding:0}#preview-scroll:focus-visible,.markdown-table:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:760px){#file-preview{width:100%;height:100vh;height:100dvh;margin:0;border:0;border-radius:0}.preview-heading{padding:12px 12px 10px;padding-top:max(12px,env(safe-area-inset-top))}.preview-toolbar{padding:0 12px 12px;gap:6px}#preview-scroll{padding:22px 16px max(24px,env(safe-area-inset-bottom))}.attachment figcaption{flex-wrap:wrap}.attachment figcaption>.file-actions{margin-left:auto}}

select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:10px;min-height:44px;padding:8px;width:100%}.source-label{font-size:12px;color:var(--muted);margin-bottom:-10px}.thread-provider{display:block;color:var(--muted);font-size:11px;margin-top:4px}.approval fieldset{border:0;padding:0;margin:16px 0;min-width:0}.approval legend{line-height:1.5;padding:0;font-weight:550}.approval textarea{margin-top:10px;resize:vertical}.approval .option[aria-pressed=true]{background:var(--accent-surface);border-color:var(--accent)}#choose-profile{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 16px;font-size:13px}#new-session{max-width:420px;width:calc(100% - 32px);color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:22px}#new-session::backdrop{background:#000a}.new-session-form h2{font-size:20px;margin-top:0}.new-session-form label{display:block;margin-bottom:8px;font-size:13px}.new-session-form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
/* Session launch remains reachable while reading a conversation on a phone. */
#new-chat-header{flex:none;font-size:25px}
.new-session-hint{font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 20px}
#new-session-error{color:var(--danger);font-size:14px;line-height:1.5;white-space:pre-wrap}
.new-session-form .new-folder-label{margin-top:20px}
#new-folder-hint{font-size:12px;margin:8px 0 0}
#new-session{max-height:calc(100dvh - 32px);overflow-y:auto}

input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}

#work[data-status=completed]:not(.waiting) #work-dot{background:var(--idle)}
#work[data-status=failed]:not(.waiting) #work-dot{background:var(--danger)}
#pwa-open{font-size:13px;text-align:left;color:var(--muted);padding:8px 4px}
#pwa-dialog{width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:22px}
#pwa-dialog::backdrop{background:#000a}
.pwa-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pwa-heading h2{font-size:20px;margin:0}
#pwa-close{font-size:26px}
#pwa-dialog h3{font-size:16px;margin:26px 0 8px}
#pwa-dialog p{font-size:14px;line-height:1.55;color:var(--muted)}
.pwa-actions{display:flex;gap:8px;flex-wrap:wrap}
#pwa-status{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}
.turn-error{border-left:3px solid var(--danger);padding:10px 14px;background:var(--notice-bg);border-radius:8px;font-size:13px;overflow-wrap:anywhere}.turn-error strong{color:var(--danger)}.turn-error p{margin:6px 0 0;white-space:pre-wrap}
#usage-open{font-size:13px;text-align:left;color:var(--muted);padding:8px 4px}
#usage-dialog{width:calc(100% - 28px);max-width:480px;max-height:calc(100dvh - 28px);overflow:auto;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:18px;padding:20px}
#usage-dialog::backdrop{background:#000a}#usage-dialog h2{font-size:18px}#usage-close{font-size:26px}#usage-dialog .source-label{display:block;margin:20px 0 8px}#usage-dialog select{width:100%}#usage-dialog p{font-size:14px;line-height:1.5;color:var(--muted)}#usage-status:empty{display:none}
.usage-card{padding:16px;border:1px solid var(--line);border-radius:14px;margin-top:16px;background:var(--panel)}.usage-card h3{font-size:15px;margin:0 0 14px}.usage-window+.usage-window{margin-top:20px}.usage-label{display:flex;justify-content:space-between;gap:10px;font-size:13px}.usage-window small{display:block;color:var(--muted);line-height:1.5;font-size:12px;margin-top:6px}
.usage-window progress{display:block;appearance:none;width:100%;height:8px;margin-top:9px;border:0;border-radius:6px;overflow:hidden;background:var(--line);color:var(--accent);accent-color:var(--accent)}.usage-window progress::-webkit-progress-bar{background:var(--line)}.usage-window progress::-webkit-progress-value{background:var(--accent)}.usage-window progress::-moz-progress-bar{background:var(--accent)}.usage-window progress.near-limit::-webkit-progress-value{background:var(--active)}.usage-window progress.near-limit::-moz-progress-bar{background:var(--active)}.usage-window progress.exhausted::-webkit-progress-value{background:var(--danger)}.usage-window progress.exhausted::-moz-progress-bar{background:var(--danger)}
.usage-totals{display:grid;grid-template-columns:1fr auto;gap:10px;font-size:14px;margin:0}.usage-totals dt{color:var(--muted)}.usage-totals dd{margin:0;text-align:right}.usage-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.usage-footer small{color:var(--muted);font-size:12px}#usage-dialog .usage-warning{color:var(--danger)}
#notice{display:flex;align-items:flex-start;gap:10px}#notice>span{flex:1;min-width:0;overflow-wrap:anywhere}#notice>button{flex-shrink:0;margin:-8px -8px -8px 0;font-size:22px;padding:4px 10px}
#backdrop{display:none}@media(max-width:760px){#backdrop{display:block}}

#session-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 24px;border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}
#session-controls>div{min-width:0;flex:1}
#session-status{color:var(--muted)}
#session-reason{display:block;color:var(--muted);font-size:11px;line-height:1.4;margin-top:4px}
#session-power{flex:none;min-height:44px;padding:8px 12px;font-size:13px;color:var(--accent)}
#session-controls[data-state=connected] #session-power{color:var(--danger)}
#session-controls[data-state=stopping] #session-status{color:var(--active)}
@media(max-width:760px){#session-controls{padding:6px 16px}}
