@font-face{font-family:"Atkinson Hyperlegible";src:url("/desk/assets/fonts/AtkinsonHyperlegible-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("/desk/assets/fonts/AtkinsonHyperlegible-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("/desk/assets/fonts/AtkinsonHyperlegible-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url("/desk/assets/fonts/AtkinsonHyperlegible-BoldItalic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}
:root{color-scheme:dark;font:15px/1.6 "Atkinson Hyperlegible",system-ui,sans-serif;background:#14171c;color:#d9dfe7;--line:#2c3540;--muted:#929eae;--panel:#1b2027;--accent:#b8cbe3}
*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
button,.button,input,textarea,select{font:inherit}button,.button{border:0;background:transparent;color:inherit;cursor:pointer;border-radius:5px;min-height:44px;padding:8px 12px;touch-action:manipulation}
button:hover,.button:hover{background:#27292e}button:disabled{opacity:.35;cursor:default}
input,textarea,select{background:transparent;border:1px solid var(--line);border-radius:5px;padding:9px 12px;color:inherit;min-width:0;font-size:16px}
input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;margin:0;flex:none}textarea{resize:none}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
a{color:#adc9e5;text-decoration:none}a:hover{text-decoration:underline}
.icon{width:20px;height:20px;display:block;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
button:has(>.icon),.button:has(>.icon){display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.25}
button:has(>.icon:only-child){width:44px;height:44px;padding:0;flex:none}
header{display:flex;align-items:center;gap:6px;flex:none;height:60px;padding:6px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));border-bottom:1px solid var(--line)}
#session-picker{display:flex;gap:12px;align-items:center;justify-content:flex-start;text-align:left;flex:1;min-width:0;padding:0 4px;height:44px}
#session-picker:hover{background:transparent}#session-picker>.icon{color:#a2a6ae}
.heading{min-width:0;line-height:1.35}.heading strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:550}
.heading small{display:block;color:var(--muted);font-size:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:3px}
#connection{width:6px;height:6px;border-radius:50%;background:var(--muted);flex:none}#connection.connected{background:#a6c7b3}
main{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}
#history{flex:1;min-height:0;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;padding:8px 16px 20px;scrollbar-width:thin}
#items{max-width:760px;margin:auto}.history-chunk{display:flow-root;overflow-anchor:none}
.item{padding:10px 0;overflow-wrap:anywhere;display:flow-root}
.item.userMessage{padding:8px 0}.userMessage>.body{margin-left:auto;padding:9px 13px;background:#242c36;border-radius:7px;max-width:92%;width:fit-content;min-width:0}
.item p{margin:7px 0}.item p:first-child{margin-top:0}.item p:last-child{margin-bottom:0}
.item pre{overflow:auto;background:#0f1319;padding:12px;border:1px solid var(--line);font:12px/1.6 ui-monospace,monospace;white-space:pre;max-width:100%;tab-size:2;margin:8px 0}
.item code{font-family:ui-monospace,monospace;font-size:.88em}.item details>summary{cursor:pointer;color:#a1a8b2;font-size:12px;padding:8px 0;min-height:36px}
.item table{border-collapse:collapse;display:block;overflow:auto;font-size:13px}.item td,.item th{border:1px solid var(--line);padding:6px 10px;text-align:left}
.item blockquote{border-left:2px solid #555;padding-left:14px;margin-left:0;color:#aaa}.item img{max-width:100%;max-height:420px;cursor:pointer;display:block}.item video{max-width:100%}
.activity-card{border-left:2px solid #373c44;padding-left:10px;color:#b7bcc5;margin:4px 0}.activity-title{font-size:11px;color:#969da8;margin-bottom:4px;line-height:1.5}
.item .activity-preview,.item .activity-full{white-space:pre-wrap;overflow-wrap:anywhere;background:transparent;border:0;padding:0;margin:0;font-size:12px;line-height:1.5;max-height:none}
.activity-card:has(details[open])>.activity-preview{display:none}.activity-card details{margin-top:3px}.delivery{display:block;font-size:10px;color:#9ba99f;text-align:right;margin-top:5px}.delivery.unconfirmed{color:#d3ae83}
.jump{height:0;display:flex;justify-content:center;position:relative;z-index:2}#latest{position:absolute;bottom:10px;border:1px solid #44484e;border-radius:50%;background:#26292e;box-shadow:0 2px 10px #0006}
#empty{color:var(--muted);text-align:center;margin-top:25vh;font-size:14px}#older{display:block;margin:0 auto;width:100%;height:16px;min-height:16px;padding:0;font-size:11px;color:var(--muted)}#older:empty{background:transparent}
.composer{flex:none;padding:6px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));background:#14171c}
.compose-row{display:flex;align-items:flex-end;gap:2px;border:1px solid #36383e;background:#1e242c;border-radius:8px;padding:2px;max-width:800px;margin:auto}
#prompt{border:0;outline:none;font-size:16px;line-height:24px;min-height:44px;height:44px;max-height:148px;padding:10px 6px;flex:1;overflow-y:auto;border-radius:0;scrollbar-width:thin}
#add,#send{width:44px;height:44px;min-height:44px;margin:0;padding:0;flex:none}#send{background:#b8cbe3;color:#192433;border-radius:5px}#send:disabled{opacity:.4}
#attachments{display:flex;flex-wrap:wrap;gap:5px;max-width:800px;margin:auto}#attachments button{font-size:11px;min-height:36px;max-width:100%;background:#24272b;padding:5px 8px;margin-bottom:6px}#attachments span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#attachments .icon{width:14px;height:14px}
#outbox{max-height:90px;overflow:auto;font-size:11px;color:#abb5ae;padding:0 14px}#outbox>div{display:flex;gap:10px;align-items:center;max-width:800px;margin:auto}#outbox span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}#outbox button{min-height:36px;font-size:11px}
dialog{background:var(--panel);border:1px solid #3b3e45;color:inherit;border-radius:10px;width:calc(100% - 16px);max-width:950px;max-height:92dvh;padding:12px;overscroll-behavior:contain;overflow:auto}
dialog::backdrop{background:#0009}.sheet{position:fixed;inset:auto 0 0;margin:0 auto;border-radius:12px 12px 0 0;border-bottom:0;width:100%;max-width:600px;padding:12px 14px max(16px,env(safe-area-inset-bottom));max-height:88dvh}.compact{max-width:450px}
.sheet-heading{display:flex;gap:6px;align-items:center;margin-bottom:10px;min-width:0;min-height:44px}.sheet-heading strong{flex:1;font-size:14px;font-weight:550;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sheet-heading button{flex:none}.sheet-heading a{min-height:44px;display:inline-flex;align-items:center;padding:4px 8px;font-size:13px}
.compact>button,.compact>.button{display:block;width:100%;text-align:left;border-top:1px solid #292c31;border-radius:0}.option{display:flex!important;justify-content:space-between;align-items:center;gap:14px;min-height:48px}.compact>input{width:100%;margin-bottom:8px}
.session-filters{display:flex;gap:5px;padding:8px 0}.session-filters button,nav button{font-size:12px;min-height:44px}.selected{background:#303339}#search{width:100%}#session-list{max-height:55dvh;overflow:auto;overscroll-behavior:contain}
.session{width:100%;display:block;text-align:left;border-radius:0;padding:11px 8px;border-top:1px solid var(--line)}.session.active{background:#293545}.session strong{display:block;font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
nav{display:flex;gap:5px;margin-bottom:10px}#path-form{display:flex;gap:6px;margin:10px 0}#path{width:100%}#up{font-size:13px}
#file-list button{display:flex;width:100%;align-items:center;justify-content:flex-start;text-align:left;border-top:1px solid var(--line);border-radius:0;font-size:13px;gap:10px;min-width:0}
#file-list .icon{width:16px;height:16px;color:#929ba7}#file-list .file-name{min-width:0;overflow-wrap:anywhere}#file-list small{margin-left:auto;color:var(--muted);white-space:nowrap;font-size:11px}
#skill-list button{display:block;width:100%;text-align:left;border-top:1px solid var(--line);border-radius:0;font-size:13px}#skill-list small{display:block;color:var(--muted);font-size:11px}
#preview-body{min-height:160px;display:grid;place-items:center}#preview-body img,#preview-body video{max-width:100%;max-height:68dvh}#preview-body iframe{width:100%;height:68dvh;border:0}
#handoff-dialog textarea,#handoff-dialog select{display:block;width:100%;margin:12px 0}
#toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%);padding:10px 16px;background:#32363d;border:1px solid #50565f;max-width:90vw;border-radius:6px;z-index:10;font-size:12px}
[hidden]{display:none!important}

@media(min-width:800px){header{padding-left:max(18px,calc((100vw - 800px)/2));padding-right:max(18px,calc((100vw - 800px)/2))}#history{padding:16px 24px 28px}.composer{padding-bottom:16px}.sheet{inset:8vh 0 auto;border-radius:10px;border-bottom:1px solid #3b3e45;max-height:84dvh}#session-list{max-height:54dvh}}
@media(max-height:500px){.sheet{max-height:96dvh}.sheet-heading{margin-bottom:6px}#session-list{max-height:40dvh}.session-filters{padding:4px 0}}
/* Full-screen menus retain native modal focus/Escape behavior. */
main,header,.drawer{touch-action:pan-y pinch-zoom}
.item pre,.item table{touch-action:pan-x pan-y pinch-zoom}
dialog.drawer{inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overflow-y:auto;}
dialog.drawer[open]{display:flex;flex-direction:column}
.drawer::backdrop{background:#0006}.drawer.dragging{will-change:transform;user-select:none}
.drawer>.sheet-heading,.drawer>#search,.drawer>.session-filters{flex:none}
#session-dialog #session-list{flex:1;min-height:0;max-height:none;overflow:auto;margin-top:4px}
#session-dialog .session{padding:14px 8px}
.session .session-meta{display:flex;gap:12px;justify-content:space-between;font-size:11px;margin-bottom:4px}
.session-meta>span{overflow:hidden;text-overflow:ellipsis}.session-meta time{flex:none}
.session strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4}
.session-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}
.title-label{font-size:12px;color:var(--muted);margin-bottom:6px}
#options>button,#options>label,#options>input{flex:none}#options .sheet-heading{flex:none}
.drawer.dragging{z-index:5;box-shadow:0 0 0 100vmax #0006}
#history,#session-list{touch-action:pan-y pinch-zoom}
.empty-sessions>summary{padding:16px 8px;color:var(--muted);font-size:12px;cursor:pointer;border-top:1px solid var(--line)}
#run-state{flex:none;min-height:24px;padding:2px 16px;font-size:12px;line-height:20px;color:var(--muted)}
#run-state.running{color:#a6c7b3}
#run-label{display:inline-block}
#run-state.running>#run-label{animation:running-breathe 2.8s ease-in-out infinite;animation-play-state:inherit}
@keyframes running-breathe{0%,100%{opacity:1}50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){#run-state.running>#run-label{animation:none}}
#history button,#history a,.drawer button,.drawer a,.drawer summary,header button{touch-action:pan-y pinch-zoom}
.message-content.sending{opacity:.5}
.drawer:focus{outline:none}
html,body{overscroll-behavior-x:none}
.item .activity-preview,.item .activity-full{touch-action:pan-y pinch-zoom;overflow:visible}
/* Full-screen panels reveal the chat directly during dragging, without scrim flashes. */
.drawer::backdrop{background:transparent}
.drawer.dragging{box-shadow:none}
#weekly-usage{display:flex;justify-content:space-between;align-items:center;gap:12px;flex:none;min-height:44px;border-top:1px solid var(--line);padding:10px 8px 0;font-size:12px;color:var(--muted)}
#weekly-remaining{font-size:14px;color:var(--accent);font-weight:700}
#options>select{flex:none;width:100%;min-height:44px;margin-bottom:10px;background:var(--panel)}
#model-settings-note{flex:none;font-size:11px;color:var(--muted);margin:0 0 10px}
.terminal-dialog{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden}
.terminal-dialog[open]{display:flex;flex-direction:column;gap:5px}.terminal-dialog .sheet-heading{margin:0;flex:none}
.terminal-controls{display:flex;flex:none;gap:4px;flex-wrap:wrap}.terminal-controls button{font-size:12px}
.terminal-policy{display:flex;gap:8px;align-items:center;font-size:12px;flex:none;flex-wrap:wrap}.terminal-policy select{font-size:14px;padding:6px;flex:1}#sudo-grant-until{color:var(--muted)}
#terminal-screen{flex:1;min-height:0;overflow:hidden}#terminal-status{font-size:11px;color:var(--muted);flex:none}#terminal-setup{font-size:12px;overflow-wrap:anywhere}#terminal-setup pre{white-space:pre-wrap;font-size:11px}
.terminal-keys{display:flex;flex:none;gap:8px}.terminal-keys button{font-size:12px;border:1px solid var(--line)}
#sudo-requests{flex:none;width:100%;max-width:800px;margin-inline:auto;padding:0 10px;max-height:28dvh;overflow:auto}
#sudo-requests section{padding:8px 10px;border:1px solid #665d44;background:#24241f;margin:4px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:5px}
#sudo-requests pre{flex:1;min-width:100px;font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;max-height:100px;overflow:auto}
#sudo-requests section>div{display:flex;gap:4px;flex:none}#sudo-requests button{font-size:13px;min-width:44px;border:1px solid var(--line)}
#sudo-requests small{width:100%;font-size:11px;color:var(--muted)}#sudo-requests .sudo-error{color:#e4bda5}
#agent-approvals{flex:none;max-height:35dvh;overflow:auto;padding:0 12px}#agent-approvals:empty{display:none}#agent-approvals section{padding:8px;border:1px solid #665d44;margin:4px 0;font-size:12px}#agent-approvals pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;max-height:120px;overflow:auto;font-size:11px}#agent-approvals button{font-size:12px;border:1px solid var(--line);margin-right:6px}#agent-approvals label,#agent-approvals input{display:block;width:100%}
.terminal-dialog{height:var(--visual-height,100dvh);max-height:var(--visual-height,100dvh)}
#terminal-history{flex:1;min-height:0;overflow:auto;font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#14171c;padding:10px;margin:0}
.question-card{border:1px solid var(--line);padding:12px;border-radius:5px;margin:8px 0}
.question-card fieldset{border:0;padding:0;margin:0 0 12px;min-width:0}.question-card legend{font-weight:700;font-size:15px;padding:0;margin-bottom:8px;white-space:normal;overflow-wrap:anywhere}
.question-choice{display:flex;gap:10px;align-items:center;min-height:44px;padding:6px 0;cursor:pointer;font-size:14px}.question-choice input{flex:none;width:18px;height:18px;accent-color:var(--accent);margin:0}.question-choice span{min-width:0;overflow-wrap:anywhere}
.question-card textarea{display:block;width:100%;font-size:15px;margin-top:6px;min-height:44px;line-height:24px;resize:vertical;max-height:150px}
.question-submit{border:1px solid var(--line);font-size:13px;background:#293645}
.question-answer{color:var(--accent);font-size:14px;white-space:pre-wrap}
/* Status follows the same centered reading column as messages and composer. */
#run-state{width:100%;max-width:800px;margin-inline:auto;padding-inline:12px}
/* Mouse users open compact panels with clicks; touch layouts keep full-screen drawers. */
@media (min-width:900px) and (pointer:fine){
 dialog.drawer{inset:68px auto 12px 12px;width:360px;height:auto;max-height:calc(100dvh - 80px);border:1px solid var(--line);border-radius:6px;padding:12px}
 dialog.drawer[data-side=right]{inset:68px 12px 12px auto;width:320px}
 header{padding-inline:max(18px,calc((100% - 800px)/2))}
 button,.button{min-height:36px}input,textarea,select{font-size:14px}
 .session-filters button,.sheet-heading{min-height:36px}
}
body.desktop-layout{display:grid;grid-template-columns:0 minmax(0,1fr) 0;grid-template-rows:60px minmax(0,1fr)}
body.desktop-layout.left-panel{grid-template-columns:300px minmax(0,1fr) 0}
body.desktop-layout.right-panel{grid-template-columns:0 minmax(0,1fr) 280px}
body.desktop-layout.left-panel.right-panel{grid-template-columns:300px minmax(0,1fr) 280px}
.desktop-layout>header{grid-column:2;grid-row:1;padding-inline:18px;min-width:0}
.desktop-layout>main{grid-column:2;grid-row:2;min-width:0;overflow:hidden}
.desktop-layout>dialog.docked{position:static;inset:auto;grid-row:1 / -1;width:auto;height:auto;max-height:none;min-height:0;min-width:0;margin:0;border:0;border-radius:0;padding:12px;background:#191e25;overflow-y:auto;touch-action:auto}
.desktop-layout>#session-dialog.docked{grid-column:1;border-right:1px solid var(--line)}
.desktop-layout>#options.docked{grid-column:3;border-left:1px solid var(--line)}
.desktop-layout #session-list{max-height:none}
.desktop-layout dialog.docked:focus{outline:none}
.desktop-layout .drawer>.sheet-heading{margin-bottom:8px}
.desktop-layout .docked .sheet-heading button{min-width:32px;height:32px;min-height:32px}
.chat-error{border-left:2px solid #a77c67;padding:10px 12px;background:#29221f;font-size:13px;white-space:pre-wrap}
.chat-error>button{float:right;min-width:32px;min-height:32px;width:32px;height:32px;margin:-6px -8px 0 8px}
.chat-error strong{color:#e4bda5;font-weight:500}.chat-error p{color:#c9bdb6}
#toast{cursor:pointer}
#history>#run-state{max-width:760px;margin:8px auto 0;padding-inline:0}
@font-face{font-family:"JetBrains Mono";src:url("/desk/assets/fonts/JetBrainsMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
select,select option{background:#1b2027;color:#d9dfe7;color-scheme:dark}
.terminal-dialog{max-width:1100px;margin-inline:auto;background:#14171c}
.terminal-policy select{background:#1b2027;color:#d9dfe7;min-width:0}
#terminal-screen{background:#14171c;padding:8px;border:1px solid var(--line);border-radius:4px}
#terminal-screen .xterm{height:100%}
#terminal-history{font-family:"JetBrains Mono",monospace;font-size:13px}
@media(min-width:900px) and (pointer:fine){
 .terminal-dialog{inset:24px 0;height:calc(var(--visual-height,100dvh) - 48px);max-height:calc(var(--visual-height,100dvh) - 48px);width:calc(100% - 48px);border:1px solid var(--line);border-radius:6px;padding:16px}
}
.terminal-policy{width:100%;max-width:640px}
#memory-dialog{max-width:480px}#memory-dialog .memory-scope{color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:12px;margin:12px 0 0}
#memories-status,#memories-thread-note{font-size:12px;color:var(--muted)}#memories-error{font-size:12px;color:#e4bda5;white-space:pre-wrap}
.desk-embed{margin:12px 0;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#191b1f}
.embed-heading{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid var(--line);font-size:12px;min-height:40px}
.embed-heading>span{margin-right:auto}.embed-heading button{font-size:12px;min-height:32px;padding:5px 10px;border:1px solid var(--line)}.embed-heading small{color:var(--muted);font-size:11px}
.embed-frame{display:block;width:100%;height:280px;border:0;background:#191b1f}
.desk-embed>details{padding:0 10px}.desk-embed .embed-output{white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;margin:0;border:0;border-radius:0}

.desk-embed[data-embed-kind=app] .embed-mount{height:280px}

#quick-switcher{position:fixed;inset:10vh 0 auto;margin-inline:auto;width:min(600px,calc(100% - 24px));max-height:75dvh;padding:0;border-radius:6px;overflow:hidden;background:var(--panel)}
.quick-search{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line)}
#quick-query{flex:1;min-width:0;border:0;background:transparent;outline:none;padding:10px;font-size:16px}
.quick-search button{color:var(--muted);font-size:12px;padding:6px;min-width:40px}
#quick-results{max-height:55dvh;overflow-y:auto;overscroll-behavior:contain;padding:5px}
.quick-option{padding:10px 12px;cursor:pointer;border-radius:3px;min-height:56px}
.quick-option strong,.quick-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quick-option strong{font-size:14px;font-weight:400}.quick-option small{color:var(--muted);font-size:11px;margin-top:4px}
.quick-option[aria-selected=true]{background:#30363c;outline:1px solid #56616b;outline-offset:-1px}
#quick-switcher footer{font-size:11px;color:var(--muted);padding:9px 14px;border-top:1px solid var(--line)}
#quick-switcher>p{padding:18px;color:var(--muted);font-size:13px}
@media(max-width:600px){#quick-switcher{inset:12px 0 auto;max-height:calc(var(--visual-height,100dvh) - 24px)}#quick-results{max-height:calc(var(--visual-height,100dvh) - 140px)}}

/* The switcher owns its focus scope without a native dialog focus-restoration cycle. */
#quick-overlay{position:fixed;inset:0;z-index:1000;background:#0008}
#quick-overlay[hidden]{display:none}
#quick-switcher{border:1px solid var(--line);box-sizing:border-box;color:var(--text)}
/* Desktop stream stays above the scrolling history, within the chat column. */
#desktop-preview{flex:none;border-bottom:1px solid var(--line);background:#17181b;padding:0 12px 8px;max-height:24dvh;overflow:hidden}
#desktop-preview[hidden],#desktop-viewer[hidden],#desktop-keybar[hidden]{display:none}
.desktop-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:760px;margin:auto;height:34px}
#desktop-status{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#desktop-stop{min-height:32px!important;width:32px!important;height:32px!important}
#desktop-thumbnails{display:flex;gap:8px;justify-content:center;max-width:760px;margin:auto}
.desktop-thumbnail{position:relative;flex:1;min-width:0;padding:0;overflow:hidden;border-radius:2px;height:clamp(60px,13dvh,130px);background:#0c0d0f}
.desktop-thumbnail video{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.desktop-thumbnail span{position:absolute;bottom:3px;left:6px;font-size:10px;background:#14171cc9;padding:0 4px;border-radius:2px;pointer-events:none}
#desktop-viewer{position:fixed;inset:0;z-index:2000;isolation:isolate;overflow:hidden;background:#090a0b;color:#e1e4e7;touch-action:none;user-select:none;overscroll-behavior:none}
#desktop-viewer:fullscreen{width:100%;height:100%;background:#090a0b}
#desktop-landscape{position:absolute;inset:0}
#desktop-viewer.rotate-landscape #desktop-landscape{inset:auto;left:100%;top:0;width:var(--desktop-width);height:var(--desktop-height);transform:rotate(90deg);transform-origin:0 0}
#desktop-stage{position:absolute;left:50%;top:50%;transform-origin:center;pointer-events:none;background:#090a0b}
#desktop-video{width:100%;height:100%;object-fit:fill;display:block}
#desktop-cursor{position:absolute;width:12px;height:16px;clip-path:polygon(0 0,0 100%,32% 73%,53% 100%,72% 88%,50% 61%,93% 61%);background:#b5ffd0;filter:drop-shadow(1px 1px 1px #000);transform-origin:top left}
#desktop-trackpad{position:absolute;inset:0;touch-action:none;outline:none;cursor:none}
.desktop-toolbar{position:absolute;z-index:2;top:max(6px,env(safe-area-inset-top));left:max(6px,env(safe-area-inset-left));right:max(6px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:start;pointer-events:none}
.desktop-toolbar button,.desktop-mousebar button,#desktop-keybar button{pointer-events:auto;background:#14171cd9;color:#d9dfe7;border-radius:4px;min-height:40px;touch-action:manipulation}
#desktop-swap{font-size:12px;gap:6px;max-width:60%;height:40px}
#desktop-monitor-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desktop-mousebar{position:absolute;bottom:max(6px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:5px;font-size:12px;z-index:2;white-space:nowrap}
#desktop-viewer [aria-pressed=true]{background:#375344;color:#d8f4e1}
#desktop-keybar{position:absolute;z-index:3;bottom:50px;left:50%;transform:translateX(-50%);display:flex;gap:4px;font-size:12px}
#desktop-keybar button{padding:6px 10px}
#desktop-input{position:absolute;width:2px;height:2px;min-height:0;padding:0;border:0;opacity:.01;left:50%;bottom:0;pointer-events:none;resize:none;font-size:16px}
@media(min-width:1000px){.desktop-thumbnail{height:110px;max-width:280px}#desktop-preview{padding-bottom:10px}}

#client-actions:empty{display:none}
#client-actions{width:100%;max-width:860px;margin:0 auto;font-size:13px;padding:0 12px;box-sizing:border-box}
#client-actions>div{display:flex;align-items:center;gap:10px;padding:6px 0}
#client-actions span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a6c9b0}
#client-actions button{padding:4px 10px;min-height:32px}
/* Chat background DOM and message-specific surfaces. */
main{isolation:isolate;background:var(--chat-background,#14171c);color:var(--chat-text,#d9dfe7);--line:var(--chat-line,#2c3540);--muted:var(--chat-muted,#929eae);--accent:var(--chat-accent,#b8cbe3)}
#session-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;contain:strict}
.session-background-layer{position:absolute;inset:0;pointer-events:none}
main .composer{background:transparent}
main .compose-row{background:var(--chat-composer,#1e242c);border-color:var(--chat-line,#36383e)}
main .userMessage>.body{background:var(--chat-user,#242c36)}
main .item pre{background:var(--chat-code,#0f1319)}
main #send{background:var(--chat-accent,#b8cbe3)}
main a{color:var(--chat-accent,#adc9e5)}
main .item details>summary,main .activity-title{color:var(--chat-muted,#969da8)}
main .activity-card{color:var(--chat-text,#b7bcc5);border-color:var(--chat-line,#373c44)}
main #run-state.running{color:var(--chat-accent,#a6c7b3)}
#session-logo{height:32px;max-width:800px;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
#session-logo img{display:block;height:32px;max-width:min(320px,100%);object-fit:contain}
#theme-dialog{max-width:600px}#theme-dialog>label{display:block}#theme-dialog select,#theme-dialog textarea{width:100%;margin:4px 0 12px}#theme-dialog textarea{font:12px/1.5 ui-monospace,monospace;min-height:80px;resize:vertical}
.theme-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.theme-colors label{font-size:12px;min-width:0}.theme-colors input{width:100%;font-family:ui-monospace,monospace;font-size:14px}
#theme-dialog details{margin:12px 0}#theme-dialog summary{cursor:pointer;min-height:44px;padding:8px 0}#theme-dialog small{display:block;color:var(--muted);font-size:12px}
.theme-actions{display:flex;gap:8px;justify-content:flex-end;position:sticky;bottom:0;background:var(--panel);padding:8px 0}.theme-actions .primary{background:var(--accent);color:#192433}
#theme-status{font-size:12px;color:var(--muted)}
/* Session colors follow the selected conversation throughout the application.
   Background DOM remains confined to the scrolling chat/composer surface. */
:root[data-session-theme]{background:var(--chat-background,#14171c);color:var(--chat-text,#d9dfe7);--line:var(--chat-line,#2c3540);--muted:var(--chat-muted,#929eae);--accent:var(--chat-accent,#b8cbe3);--panel:var(--chat-composer,#1b2027);--text:var(--chat-text,#d9dfe7)}
[data-session-theme] body{background:var(--chat-background,#14171c)}
[data-session-theme] header,[data-session-theme] dialog,[data-session-theme] #quick-switcher,[data-session-theme] #desktop-preview{background:var(--panel);color:var(--chat-text,#d9dfe7);border-color:var(--line)}
[data-session-theme] select,[data-session-theme] select option{background:var(--panel);color:var(--chat-text,#d9dfe7)}
[data-session-theme] button:hover,[data-session-theme] .button:hover,[data-session-theme] .selected,[data-session-theme] .session.active,[data-session-theme] .quick-option[aria-selected=true]{background:var(--chat-user,#242c36)}
[data-session-theme] .quick-option[aria-selected=true]{outline-color:var(--line)}
[data-session-theme] a,[data-session-theme] #session-picker>.icon{color:var(--accent)}
[data-session-theme] .compact>button,[data-session-theme] .compact>.button{border-color:var(--line)}
[data-session-theme] #toast{background:var(--panel);color:var(--chat-text,#d9dfe7);border-color:var(--line)}
[data-session-theme] .desktop-layout>dialog.docked,[data-session-theme] #weekly-usage{background:var(--panel);color:var(--chat-text,#d9dfe7)}
[data-session-theme] #terminal-history,[data-session-theme] .desk-embed,[data-session-theme] .embed-frame{background:var(--chat-code,#0f1319)}
[data-session-theme] #attachments button,[data-session-theme] .question-submit,[data-session-theme] #sudo-requests section{background:var(--chat-user,#242c36);color:var(--chat-text,#d9dfe7);border-color:var(--line)}
[data-session-theme] ::placeholder{color:var(--muted);opacity:.85}
[data-session-theme] input,[data-session-theme] textarea{caret-color:var(--accent)}
:root[data-session-theme],[data-session-theme] *{scrollbar-color:color-mix(in srgb,var(--muted) 45%,var(--panel)) transparent}
/* Keep list content padded while its scrollbar meets the panel edge. */
#session-dialog{--session-edge:max(16px,env(safe-area-inset-right));padding-right:0;overflow:hidden}
#session-dialog>.sheet-heading,#session-dialog>.session-filters,#session-dialog>#weekly-usage{margin-right:var(--session-edge)}
#session-dialog>#search{width:calc(100% - var(--session-edge))}
#session-dialog #session-list{padding-right:var(--session-edge);scrollbar-width:thin}
#session-list::-webkit-scrollbar{width:6px}
#session-list::-webkit-scrollbar-track{background:transparent}
#session-list::-webkit-scrollbar-thumb{background:var(--muted);border-radius:3px}
@media(min-width:900px) and (pointer:fine){#session-dialog{--session-edge:12px}}
/* Composer controls sit beside the input rather than inside its surface. */
main .compose-row{gap:8px;padding:0;border:0;border-radius:0;background:transparent}
.compose-row #prompt{border:1px solid var(--chat-line,#36383e);border-radius:7px;background:var(--chat-composer,#1e242c);padding:9px 10px}
main #send{color:var(--chat-background,#192433)}
#send .icon{stroke-width:2.6}
#send[data-action=stop] .icon{fill:currentColor;stroke:currentColor}
#add .icon{stroke-width:2.3}
.compose-input{display:flex;align-items:flex-end;flex:1;min-width:0;border:0;box-shadow:inset 0 0 0 1px var(--chat-line,#36383e);border-radius:7px;background:var(--chat-composer,#1e242c)}
.compose-input #prompt{border:0;background:transparent;min-width:0;border-radius:0 7px 7px 0;padding:10px 8px 10px 2px}
.compose-input #add{margin-bottom:0}

#send[data-action=stop] .icon{stroke:none}

#send[data-action=send] .icon{stroke-width:3.2}
#session-dialog .session:hover{background:rgb(255 255 255 / 4%)}
#session-dialog .session.active{background:rgb(255 255 255 / 8%)}
.compose-input{padding:2px}
#latest{background:var(--chat-composer,#1e242c);border-color:var(--chat-line,#3b4655);color:var(--chat-accent,#b8cbe3)}
#latest:hover{background:var(--chat-user,#293545)}
/* One scrollbar treatment for all native scrollable surfaces. */
*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 45%,var(--panel)) transparent}
*::-webkit-scrollbar{width:6px;height:6px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 45%,var(--panel));border-radius:3px}
.web-search-card{padding:8px 10px;border:1px solid var(--line);border-radius:5px;font-size:12px;background:var(--chat-code,#0f1319)}
.web-search-heading{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px;line-height:1.4}
.web-search-heading>.icon{width:14px;height:14px;stroke-width:2}.web-search-status{margin-left:auto}
.web-search-query{margin-top:5px;color:var(--chat-text,#d9dfe7);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.item .web-search-card details>summary{font-size:11px;min-height:32px;padding:6px 0;color:var(--muted)}
.web-search-domains{opacity:.8}.web-search-results>ul{list-style:none;margin:0;padding:0}
.web-search-results li{padding:9px 0;border-top:1px solid var(--line)}
.web-search-results li>a{display:block;line-height:1.4}.web-source-title{display:block;font-size:13px}
.web-source-domain{display:flex;gap:4px;align-items:center;font-size:11px;color:var(--muted);margin-top:3px}.web-source-domain .icon{width:12px;height:12px}
.item .web-search-results li>p{color:var(--muted);font-size:12px;line-height:1.5;margin:5px 0 0}
.item .web-search-raw pre{font-size:11px;line-height:1.5}
.web-search-card{padding-inline:0;border:0;border-radius:0;background:transparent}
.web-search-card{border:0;border-left:2px solid var(--chat-line,#373c44);padding:8px 0 8px 10px;border-radius:0;background:transparent}
.web-search-heading>span:first-of-type{order:-1}
#items .agentMessage a.external-link-chip{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:1px 5px;border:1px solid var(--line);border-radius:4px;background:color-mix(in srgb,var(--panel) 75%,transparent);color:var(--accent);font-size:.9em;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
#items .agentMessage a.external-link-chip::before{content:'';display:inline-block;width:.9em;height:.9em;margin-right:.35em;vertical-align:-.08em;background:currentColor;mask:url('/desk/assets/external-link.svg') center/contain no-repeat}
#items .agentMessage a.external-link-chip:hover{background:var(--chat-user,#293545);border-color:var(--accent);text-decoration:none}
#items .agentMessage a.external-link-chip{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:baseline;box-decoration-break:slice;-webkit-box-decoration-break:slice;overflow-wrap:normal}
#items .agentMessage a.external-link-chip{vertical-align:middle}
#items .agentMessage a.external-link-chip{font-size:.82em;padding:0 4px;line-height:1.5}

/* A quiet empty canvas; connection health remains in the navigation. */
#empty[data-state="ready"]{margin:clamp(56px,22dvh,200px) auto 32px;padding:0 24px;max-width:420px;font-size:20px;font-weight:400;line-height:1.5;color:var(--chat-text,#d9dfe7)}
#empty[data-state="ready"]::after{content:"Send a message to get started.";display:block;margin-top:8px;font-size:14px;font-weight:400;color:var(--chat-muted,var(--muted))}
