/* Cardeal design tokens. Atlas palette adapted from the user's Atlas workbench.
   VS Code mode resolves the active editor tokens without changing the workbench. */
body{
 --cd-host-bg:var(--vscode-editor-background,#1e1e1e);--cd-bg:var(--cd-host-bg);--cd-sidebar:var(--vscode-sideBar-background,#252526);
 --cd-surface:var(--vscode-editorWidget-background,#252526);--cd-raised:var(--vscode-input-background,#3c3c3c);
 --cd-fg:var(--vscode-foreground,#cccccc);--cd-muted:var(--vscode-descriptionForeground,#9d9d9d);
 --cd-border:var(--vscode-panel-border,var(--vscode-contrastBorder,#454545));
 --cd-strong:var(--vscode-editorWidget-border,var(--cd-border));--cd-soft:var(--vscode-toolbar-hoverBackground,#ffffff15);
 --cd-accent:var(--vscode-button-background,#0078d4);--cd-accent-fg:var(--vscode-button-foreground,#fff);
 --cd-primary-text:var(--vscode-textLink-foreground,#4daafc);--cd-focus:var(--vscode-focusBorder,#007fd4);
 --cd-access-full:#f6b94d;--cd-danger:var(--vscode-errorForeground,#f48771);--cd-success:var(--vscode-testing-iconPassed,#73c991);
 --cd-link:var(--vscode-textLink-foreground,#4daafc);--cd-code:var(--vscode-textCodeBlock-background,var(--cd-sidebar));
 --cd-selected:var(--vscode-list-activeSelectionBackground,#094771);--cd-selected-fg:var(--vscode-list-activeSelectionForeground,var(--cd-fg));
 --cd-shadow:var(--vscode-widget-shadow,#0005);--cd-font:var(--vscode-font-family,"Segoe UI",sans-serif);--cd-heading:var(--cd-font);
 --cd-mono:var(--vscode-editor-font-family,Consolas,monospace);--cd-size:var(--vscode-font-size,13px);
 --bg:var(--cd-bg);--surface:var(--cd-sidebar);--raised:var(--cd-raised);--fg:var(--cd-fg);--muted:var(--cd-muted);
 --border:var(--cd-border);--accent:var(--cd-accent);--accent-fg:var(--cd-accent-fg);--focus:var(--cd-focus);--danger:var(--cd-danger);--success:var(--cd-success);--ui-size:var(--cd-size);
 background:var(--cd-bg);color:var(--cd-fg);font:400 var(--cd-size)/1.5 var(--cd-font);color-scheme:dark;
}
body[data-palette=light]{color-scheme:light;--cd-access-full:#8a4b00}
body[data-template=atlas-dark],body[data-template=atlas-light]{
 --cd-font:Inter,var(--vscode-font-family,"Segoe UI"),sans-serif;--cd-heading:"Space Grotesk",Inter,var(--vscode-font-family,"Segoe UI"),sans-serif;
 --cd-mono:"IBM Plex Mono",var(--vscode-editor-font-family,Consolas),monospace;
 --cd-accent:#e4fa70;--cd-accent-fg:#20250d;--cd-shadow:#0005;
}
body[data-template=atlas-dark]{
 --cd-bg:#111214;--cd-sidebar:#151619;--cd-surface:#191b1e;--cd-raised:#24272b;
 --cd-fg:#f0f2f5;--cd-muted:#8e98a7;--cd-border:#30343b;--cd-strong:#454c56;--cd-soft:#24272b;
 --cd-primary-text:#e4fa70;--cd-focus:#60a5fa;--cd-link:#80b7ff;--cd-danger:#fb8093;--cd-success:#34d399;
 --cd-code:#191b1e;--cd-selected:#2b3020;--cd-selected-fg:#e4fa70;
}
body[data-template=atlas-light]{
 --cd-bg:#f4f5f7;--cd-sidebar:#fafbfc;--cd-surface:#fff;--cd-raised:#f0f2f5;
 --cd-fg:#18202c;--cd-muted:#667181;--cd-border:#dce1e8;--cd-strong:#c4ccd7;--cd-soft:#e9edf2;
 --cd-primary-text:#526516;--cd-focus:#2563c8;--cd-link:#2563c8;--cd-danger:#b7354a;--cd-success:#087d59;
 --cd-code:#f0f2f5;--cd-selected:#f0f6d7;--cd-selected-fg:#526516;--cd-shadow:#18202c1c;
}
body[data-template=vscode-dark]{
 --cd-bg:#1e1e1e;--cd-sidebar:#252526;--cd-surface:#252526;--cd-raised:#3c3c3c;--cd-fg:#cccccc;--cd-muted:#9d9d9d;
 --cd-border:#454545;--cd-strong:#454545;--cd-soft:#ffffff15;--cd-accent:#0e639c;--cd-accent-fg:#fff;--cd-primary-text:#4daafc;
 --cd-focus:#007fd4;--cd-link:#3794ff;--cd-selected:#094771;--cd-selected-fg:#fff;--cd-code:#252526;--cd-shadow:#0005;--cd-danger:#f48771;--cd-success:#73c991;
}
body[data-template=vscode-light]{
 --cd-bg:#fff;--cd-sidebar:#f3f3f3;--cd-surface:#f3f3f3;--cd-raised:#fff;--cd-fg:#333333;--cd-muted:#616161;
 --cd-border:#cecece;--cd-strong:#b8b8b8;--cd-soft:#0000000a;--cd-accent:#007acc;--cd-accent-fg:#fff;--cd-primary-text:#006ab1;
 --cd-focus:#0090f1;--cd-link:#006ab1;--cd-selected:#0060c0;--cd-selected-fg:#fff;--cd-code:#f3f3f3;--cd-shadow:#0003;--cd-danger:#b5200d;--cd-success:#388a34;
}
h1,h2,h3,.brand{font-family:var(--cd-heading);letter-spacing:-.025em}
button,input,select,textarea{font-family:inherit;color:var(--cd-fg)}
input,textarea,select{background:var(--cd-raised);border-color:var(--cd-border)}
input::placeholder,textarea::placeholder{color:var(--cd-muted);opacity:1}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cd-focus);outline-offset:2px}
.app.is-dock-layout{border:0;border-radius:0;margin:0;padding:0;width:100%;height:100%;min-height:0}
.is-dock-layout .topbar{background:var(--cd-surface)}
.is-dock-layout .sidebar{padding:18px 12px 8px;background:var(--cd-sidebar)}
.is-dock-layout .nav-item{border:1px solid transparent;border-radius:6px;height:36px}
.is-dock-layout .nav-item.active{background:var(--cd-selected);color:var(--cd-selected-fg);border-color:color-mix(in srgb,var(--cd-primary-text) 20%,transparent)}
.is-dock-layout .recent-header{font-family:var(--cd-mono);letter-spacing:.09em;font-size:10px;margin-top:24px}
.is-dock-layout .new-chat{background:var(--cd-surface);border-color:var(--cd-border);height:38px;border-radius:6px}
.is-dock-layout .new-chat:hover{border-color:var(--cd-strong)}
.welcome .eyebrow{color:var(--cd-primary-text);font-family:var(--cd-mono);letter-spacing:.1em}
.welcome h1{font-family:var(--cd-heading);font-weight:650;letter-spacing:-.045em}
.suggestions button{background:var(--cd-surface);border-radius:7px;border-color:var(--cd-border)}
.suggestions button:hover{border-color:var(--cd-primary-text)}
.dock-tabs{background:var(--cd-sidebar);min-height:29px}.dock-tab{font-family:var(--cd-font);font-size:11px}
.dock-tab[aria-selected=true]{background:var(--cd-bg);box-shadow:inset 0 2px var(--cd-accent)}
.dock-sash{background:var(--cd-border);flex-basis:4px}
.dock-sash:hover,.dock-sash:focus-visible{background:var(--cd-focus)}
.dock-group,.is-dock-layout .composer-area{background:var(--cd-bg)}
.is-dock-layout .composer{background:var(--cd-surface);border-color:var(--cd-border);border-radius:13px}
.is-dock-layout .composer:focus-within{border-color:var(--cd-strong)}
.is-dock-layout .composer textarea{font-family:var(--cd-font);color:var(--cd-fg)}
.is-dock-layout .send-button{background:var(--cd-accent);color:var(--cd-accent-fg)}
.primary-button{background:var(--cd-accent);color:var(--cd-accent-fg);border-radius:5px;font-weight:600}
.secondary-button{background:var(--cd-surface);border:1px solid var(--cd-strong);border-radius:5px;color:var(--cd-fg)}
.secondary-button:hover{background:var(--cd-soft)}
.settings-card,.agent-account-card,.profile-card,.gateway-card{background:var(--cd-surface);border:1px solid var(--cd-border);border-radius:7px;box-shadow:none}
.settings-group .group-title{font-size:12px;color:var(--cd-muted);font-family:var(--cd-mono);letter-spacing:.02em}
.setting-row{border-color:var(--cd-border);gap:16px}
.setting-info p,.settings-note,.settings-disclaimer{color:var(--cd-muted)}
.history-card{background:var(--cd-surface);border:1px solid var(--cd-border);border-radius:7px;padding:13px 15px;margin-bottom:7px}
.history-card:hover{border-color:var(--cd-strong);background:var(--cd-surface)}
.conversation-title{font-size:12px;font-weight:550}
.conversation-path,.conversation-dates{font-size:10px;line-height:1.6;color:var(--cd-muted)}
.recent-session{border:1px solid transparent;border-radius:6px;margin:2px 0;padding:9px 8px}
.recent-session.active{background:var(--cd-surface);border-color:var(--cd-border)}
.recent-session:hover{background:var(--cd-soft)}
.native-date-heading{font:500 10px var(--cd-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--cd-muted)}
.origin-badge,.origin-filter{--tag-bg:var(--cd-accent);--tag-fg:var(--cd-accent-fg);font-family:var(--cd-font);letter-spacing:0;text-transform:none}
.origin-cardeal{--tag-bg:#e4fa70;--tag-fg:#20250d}
.origin-codex-vscode{--tag-bg:#176da4;--tag-fg:#fff}
.origin-cursor-ide{--tag-bg:#7650b8;--tag-fg:#fff}
.origin-codex-cli{--tag-bg:#087e78;--tag-fg:#fff}
.origin-codex-app{--tag-bg:#a44772;--tag-fg:#fff}
.origin-unknown{--tag-bg:#596474;--tag-fg:#fff}
.origin-badge{display:inline-flex;align-items:center;gap:4px;color:var(--tag-fg);background:var(--tag-bg);border:1px solid transparent;border-radius:4px;font-size:9px;font-weight:600;line-height:15px;padding:1px 6px;white-space:nowrap}
.origin-filters{gap:5px}
.origin-filter{border-radius:5px;padding:4px 7px;font-size:10px;line-height:16px;background:var(--cd-surface);color:var(--cd-muted);border:1px solid var(--cd-border)}
.origin-filter:hover{background:var(--cd-soft);color:var(--cd-fg)}
.origin-filter[aria-pressed=true]{background:var(--tag-bg);border-color:var(--tag-bg);color:var(--tag-fg);font-weight:600}
.status-badge,.feature-badge{background:var(--cd-raised);color:var(--cd-muted);border:1px solid var(--cd-border);border-radius:4px;padding:2px 6px;font-size:10px}
.status-badge.available{color:var(--cd-success);background:color-mix(in srgb,var(--cd-success) 12%,var(--cd-surface))}
body[data-palette=dark] .provider-mark-dark,body[data-palette=light] .provider-mark-light{display:block}
body[data-palette=light] .provider-mark-dark,body[data-palette=dark] .provider-mark-light{display:none}
body[data-palette=dark] .light-mark{display:none}body[data-palette=dark] .dark-mark{display:block}
body[data-palette=light] .light-mark{display:block}body[data-palette=light] .dark-mark{display:none}
/* Styled select controls keep the native form/value boundary and replace OS popups. */
.cardeal-select{position:relative;display:inline-flex;vertical-align:middle;min-width:90px;max-width:100%}
.cardeal-select>select{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;pointer-events:none;z-index:-1}
.cardeal-select-button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%;min-height:31px;padding:6px 10px;background:var(--cd-raised);color:var(--cd-fg);border:1px solid var(--cd-border);border-radius:5px;font:inherit;cursor:pointer;text-align:left}
.cardeal-select-button .select-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.cardeal-select-button .select-arrow{font-size:12px;color:var(--cd-muted);flex:none}
.cardeal-select-button[aria-expanded=true]{border-color:var(--cd-focus)}
.cardeal-select-popup{position:fixed;z-index:100;display:flex;flex-direction:column;overflow:hidden;min-width:150px;padding:5px;background:var(--cd-surface);color:var(--cd-fg);border:1px solid var(--cd-strong);border-radius:7px;box-shadow:0 8px 26px var(--cd-shadow);font:400 var(--cd-size)/1.5 var(--cd-font)}
.cardeal-select-search{width:100%;flex:none;border-radius:4px;font-size:12px;padding:7px 8px;margin-bottom:5px;background:var(--cd-raised)}
.cardeal-select-options{overflow:auto;min-height:0;overscroll-behavior:contain}
.cardeal-select-option{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:30px;padding:6px 9px;cursor:pointer;border-radius:4px;font-size:12px;overflow-wrap:anywhere}
.cardeal-select-option[aria-selected=true]{font-weight:600;color:var(--cd-primary-text)}
.cardeal-select-option[data-active=true],.cardeal-select-option:hover{background:var(--cd-selected);color:var(--cd-selected-fg)}
.cardeal-select-option[aria-disabled=true]{opacity:.45;cursor:default}
.cardeal-select-empty{padding:12px;font-size:11px;color:var(--cd-muted)}
.field .cardeal-select,.gateway-field .cardeal-select,.profile-form .cardeal-select{display:flex;width:100%}
.setting-row>.cardeal-select{width:240px;min-width:150px}
.history-toolbar>.cardeal-select{max-width:260px}
.is-dock-layout .composer .cardeal-select{min-width:60px;max-width:180px}
.is-dock-layout .composer .cardeal-select-button{min-height:27px;padding:3px 5px;background:transparent;border-color:transparent;font-size:11px;gap:6px}
.is-dock-layout .composer .cardeal-select-button:hover{background:var(--cd-soft)}
.workspace-context>.cardeal-select{flex:1;min-width:0;max-width:none}
.workspace-context .cardeal-select-button{min-height:24px;font-size:11px;background:transparent;border:0;padding:2px 4px;color:var(--cd-muted)}
.model-picker{position:fixed;z-index:80;width:360px;max-width:calc(100vw - 16px);max-height:330px;background:var(--cd-surface);border-color:var(--cd-strong);box-shadow:0 8px 26px var(--cd-shadow)}
#model-options{display:flex;flex-direction:column}.model-option{width:100%;border:0;padding:8px;border-radius:4px;font-size:12px}
.model-option[aria-pressed=true]{background:var(--cd-selected);color:var(--cd-selected-fg)}
.model-option small{font-size:10px;color:var(--cd-muted)}
.toolbar-popover{background:var(--cd-surface);color:var(--cd-fg);border-color:var(--cd-strong)}
.message-text code{font-family:var(--cd-mono)}
body[class*=vscode-high-contrast] .origin-badge,body[class*=vscode-high-contrast] .origin-filter,body[class*=vscode-high-contrast] .cardeal-select-button{border:1px solid var(--cd-fg)}
body[class*=vscode-high-contrast] .is-dock-layout{border-top-color:var(--cd-focus)}
@container cardeal-pane (max-width:550px){
 .setting-row>.cardeal-select{width:100%;max-width:none}
 .history-toolbar>.cardeal-select{max-width:100%;flex:1}
 .is-dock-layout .composer .cardeal-select{max-width:145px}
}

.cardeal-select[hidden]{display:none!important}
.cardeal-select-option>span:first-child{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* A chat is one movable block: transcript, activity and composer share its lifetime. */
.is-dock-layout .conversation-pane{flex-direction:column;height:100%;overflow:hidden}
.is-dock-layout .conversation{height:auto;min-height:0;flex:1 1 0;scroll-behavior:auto}
.is-dock-layout .composer-area{height:auto;flex:0 0 180px;min-height:120px;max-height:55%;overflow:auto;padding:8px 14px 10px}
.chat-composer-sash{flex:0 0 4px;cursor:row-resize;touch-action:none;background:transparent}
.chat-composer-sash:hover,.chat-composer-sash:focus-visible{background:var(--cd-focus)}
body[data-editor-block]:not([data-editor-block=""]):not([data-editor-block="app"]) .topbar{display:none}
body[data-editor-block]:not([data-editor-block=""]):not([data-editor-block="app"]) .app{border-top-width:0}
.cardeal-icon{display:block;width:16px;height:16px;min-width:16px;flex:none;vertical-align:middle}
.icon-button,.dock-controls button,.send-button,.stop-button{display:inline-flex!important;align-items:center;justify-content:center;line-height:1;padding:0}
.icon-button .cardeal-icon,.dock-controls .cardeal-icon{width:15px;height:15px;min-width:15px}
.dock-controls button{width:25px;height:25px}
.is-dock-layout .composer-toolbar{align-items:center;gap:6px;min-height:32px}
.is-dock-layout .composer-selects,.is-dock-layout .composer-models{align-items:center;gap:4px}
.is-dock-layout .composer-add>summary{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-size:inherit}
.is-dock-layout .send-button,.is-dock-layout .stop-button{width:30px;height:30px}
.is-dock-layout .composer .provider-icon{width:17px;height:17px;vertical-align:middle}
.select-arrow .cardeal-icon{width:12px;height:12px;min-width:12px}
.dock-context-menu{position:fixed;z-index:120;min-width:240px;border:1px solid var(--cd-strong);border-radius:7px;padding:5px;background:var(--cd-surface);box-shadow:0 8px 25px var(--cd-shadow)}
.dock-context-menu button{display:block;width:100%;text-align:left;padding:9px;border-radius:4px;font-size:12px}
.dock-context-menu button:hover,.dock-context-menu button:focus-visible{background:var(--cd-selected);color:var(--cd-selected-fg)}
.message-text p{white-space:normal;margin:0 0 12px;line-height:1.65}
.message-text ul,.message-text ol{margin:8px 0 14px;padding-left:24px}
.message-text li{margin:5px 0;line-height:1.65}.message-text li>p{margin:4px 0}
.message-text blockquote{border-left:3px solid var(--cd-strong);margin:12px 0;padding:4px 14px;color:var(--cd-muted)}
.message-text table{border-collapse:collapse;width:100%;margin:14px 0;font-size:12px}
.message-text th,.message-text td{border:1px solid var(--cd-border);padding:8px;text-align:left}
.message-text th{background:var(--cd-surface)}.message-text hr{border:0;border-top:1px solid var(--cd-border);margin:18px 0}
.message-text details{margin:12px 0;border:1px solid var(--cd-border);padding:8px;border-radius:5px}
.message-text .task-list-item{list-style:none}.message-text .task-list-item-checkbox{width:13px;height:13px;margin-right:7px}
.message-text a{color:var(--cd-link);cursor:pointer;text-decoration:none}.message-text a:hover{text-decoration:underline}
.message-text pre code{font-size:12px;line-height:1.6;display:block}
.hljs-keyword,.hljs-selector-tag{color:var(--vscode-symbolIcon-keywordForeground,var(--cd-syntax-keyword,#c792ea))}
.hljs-string,.hljs-attr{color:var(--vscode-debugTokenExpression-string,var(--cd-syntax-string,#a8c988))}
.hljs-number,.hljs-literal{color:var(--vscode-debugTokenExpression-number,var(--cd-syntax-number,#f4ba70))}
.hljs-comment{color:var(--cd-muted);font-style:italic}
.hljs-title,.hljs-function{color:var(--cd-link)}
.message-activity,.agent-activity-card{border:1px solid var(--cd-border);border-radius:6px;padding:7px 10px;margin:5px 0 12px;font-size:11px;color:var(--cd-muted)}
.message-activity summary,.agent-activity-card summary{cursor:pointer;line-height:1.6}
.activity-summary{padding:7px 0;border-bottom:1px solid var(--cd-border)}
.activity-summary strong{font-size:11px;font-weight:500}
.activity-summary code,.activity-detail pre{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 var(--cd-mono);color:var(--cd-fg);padding:7px 0}
.activity-detail{padding-top:8px}.activity-detail:empty{display:none}
@media(max-width:550px){.is-dock-layout .composer-area{padding:7px}.composer-footnote{display:none}}

.send-button.hidden,.stop-button.hidden{display:none!important}
.native-editor-button{font-size:10px;white-space:nowrap;padding:3px 6px}

body:not(.has-native-codex) .dock-native-editor{display:none!important}

.is-dock-layout .composer-area{min-height:160px}
.is-dock-layout .composer{min-height:0}
.is-dock-layout .composer textarea{min-height:30px}
.is-dock-layout .composer-toolbar{flex-shrink:0}

.is-dock-layout .composer-toolbar,.is-dock-layout .composer-selects,.is-dock-layout .composer-models{flex-wrap:nowrap}
.is-dock-layout .composer-selects{flex:0 1 auto}
.is-dock-layout .composer-models{flex:1;justify-content:flex-end}
@container cardeal-pane (max-width:550px){
 .is-dock-layout .composer-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:4px}
 .is-dock-layout .composer-selects,.is-dock-layout .composer-models{width:100%;min-width:0;margin:0}
 .is-dock-layout .composer-selects .cardeal-select[data-for=provider]{flex:1;max-width:none;min-width:50px}
 .is-dock-layout .composer-selects .cardeal-select[data-for=mode]{flex:none;width:80px}
 .is-dock-layout .composer-models #model{flex:1;width:0;min-width:50px}
 .is-dock-layout .composer-models .cardeal-select[data-for=effort]{flex:none;width:80px}
 .is-dock-layout .composer-footnote{display:none!important}
}

.native-features{position:fixed;z-index:90;width:min(450px,calc(100vw - 16px));max-height:min(340px,calc(100vh - 24px));margin:0;box-shadow:0 12px 32px #0005}

/* Cardeal 0.9: navigation is anchored to its button; Recents belongs to Conversations. */
body[data-editor-block] .topbar{display:flex!important}
#menu.cardeal-menu-popup{position:fixed;z-index:500;display:flex;flex-direction:column;gap:8px;width:min(310px,calc(100vw - 16px));min-width:0;max-height:calc(100vh - 24px);height:auto;padding:13px;overflow:auto;background:var(--cd-surface);color:var(--cd-fg);border:1px solid var(--cd-border);border-radius:14px;box-shadow:0 16px 45px #0006}
#menu[hidden]{display:none!important}
#menu .brand{display:flex;gap:10px;align-items:center;padding:3px 4px 10px;font-size:14px}
#menu .brand small{font-size:8px;letter-spacing:.5px;display:block}
#menu .brand-mark{width:28px;height:28px;display:flex;align-items:center}
#menu .brand-mark .cardeal-mark{width:28px;height:28px}
#menu .new-chat{margin:0 0 4px;padding:7px 9px;min-height:32px}
#menu .main-nav{display:grid;gap:3px}
.menu-entry{display:flex;align-items:center;gap:3px;border-radius:7px}
.menu-entry:hover{background:var(--cd-soft)}
#menu .nav-item{display:flex;flex:1;min-width:0;font-size:12px;height:34px;padding:4px 8px;gap:8px}
#menu .menu-target{display:flex;align-items:center;justify-content:center;flex:none;width:27px;height:28px;padding:4px;border-radius:5px;color:var(--cd-muted)}
#menu .menu-target:hover{background:var(--cd-soft);color:var(--cd-accent)}
#menu .menu-target .cardeal-mark{height:16px;width:16px}
#menu .sidebar-bottom{display:flex;padding:10px 4px 0;margin:0;border-top:1px solid var(--cd-border);gap:8px}
#menu .sidebar-bottom strong{font-size:10px}
#menu .sidebar-bottom small{font-size:9px}
.menu-float{padding:8px 9px;text-align:left;font-size:11px;border-radius:6px;border-top:1px solid var(--cd-border);color:var(--cd-muted)}
.menu-float:hover{background:var(--cd-soft);color:var(--cd-fg)}
.conversation-tools{display:flex;align-items:center;flex:none;height:31px;border-bottom:1px solid var(--cd-border);padding:0 8px}
.recents-toggle{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--cd-muted);padding:3px 5px;border-radius:5px}
.recents-toggle[aria-expanded=true]{color:var(--cd-accent)}
.conversation-recents{display:flex;flex-direction:column;flex:0 0 215px;min-width:0;min-height:0;border-right:1px solid var(--cd-border);background:var(--cd-bg);overflow:hidden}
.conversation-recents[hidden]{display:none!important}
.conversation-recents .recent-header{margin:0;padding:8px 10px;display:flex;align-items:center;gap:5px;font-size:9px}
.conversation-recents .recent-header .icon-button:first-of-type{margin-left:auto}
.conversation-recents .recent-origin-filters{padding:0 9px 7px;flex:none;gap:3px}
.conversation-recents .recent-sessions{display:block;overflow:auto;min-height:0;flex:1;padding:0 5px 10px}
.conversation-recents .recent-session{width:100%;max-width:none;font-size:11px}
.conversation-recents .conversation-meta,.conversation-recents .conversation-path,.conversation-recents .conversation-dates{font-size:9px}
.conversation-recents .sidebar-empty{font-size:10px;padding:12px;color:var(--cd-muted)}

.is-dock-layout .model-trigger,.is-dock-layout .effort-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:5px;padding:4px 5px;min-width:0;height:29px;border-radius:6px;font-size:11px;color:var(--cd-fg)}
.is-dock-layout .model-trigger:hover,.is-dock-layout .effort-trigger:hover{background:var(--cd-soft)}
.model-trigger #model-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.model-trigger .model-chevron{display:flex;flex:none}
.is-dock-layout .model-trigger{width:auto;max-width:210px;flex:0 1 auto}
.is-dock-layout .effort-trigger{max-width:110px;flex:none}
#effort-trigger.hidden{display:none!important}
#model-search{width:100%;font-size:11px;margin:5px 0 7px}
.effort-picker{position:fixed;z-index:120;width:min(288px,calc(100vw - 16px));padding:12px 15px 13px;border-radius:17px;border:1px solid var(--cd-border);background:var(--cd-surface);box-shadow:0 12px 35px #0006}
.effort-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}
.effort-heading>span{font-size:20px;color:var(--cd-muted)}
#effort-value{color:var(--cd-accent);font-size:14px;font-weight:550}
.effort-model-label{text-align:center;font-size:11px;color:var(--cd-fg);margin-top:1px}
.effort-track{position:relative;margin:21px 9px 14px;height:12px}
#effort-range{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:7px;min-height:0;margin:0;padding:0;border:0;border-radius:9px;background:linear-gradient(to right,var(--cd-accent) 0 var(--effort-progress,0%),var(--cd-soft) var(--effort-progress,0%) 100%);cursor:pointer}
#effort-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:25px;height:25px;border:0;border-radius:50%;background:var(--cd-fg);box-shadow:0 0 1px #0008}
#effort-range:disabled{opacity:.7}
#effort-stops{position:absolute;inset:0;height:7px;pointer-events:none}
.effort-stop{position:absolute;top:50%;transform:translate(-50%,-50%);width:20px;height:24px;pointer-events:auto;padding:0;border-radius:50%}
.effort-stop:after{content:'';display:block;width:4px;height:4px;border-radius:50%;background:var(--cd-muted);margin:auto}
.effort-stop[aria-pressed=true]{pointer-events:none}
.effort-stop[aria-pressed=true]:after{display:none}
#effort-description{font-size:9px;color:var(--cd-muted);line-height:1.4;text-align:center;max-height:42px;overflow:auto}
@container cardeal-pane (max-width:650px){
 #chat-workspace{position:relative}
 .conversation-recents{position:absolute;top:0;left:0;bottom:0;z-index:30;width:min(260px,calc(100% - 20px));box-shadow:8px 0 20px #0004}
}
@container cardeal-pane (max-width:550px){
 .is-dock-layout .composer-models .model-trigger{flex:0 1 auto;width:auto;max-width:210px}
 .is-dock-layout .composer-models .effort-trigger{max-width:105px}
}
.chat-workspace-info{border:1px solid var(--cd-border);border-radius:7px;padding:8px 11px;margin:0 0 18px;color:var(--cd-muted);font-size:11px}.chat-workspace-info summary{cursor:pointer;color:var(--cd-muted)}.chat-workspace-info p{font-size:10px;overflow-wrap:anywhere;margin-top:6px}.chat-workspace-info small{display:block;margin-top:7px;font-size:10px}.conversation-workspace{display:block;font-size:9px;color:var(--cd-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
/* Compact model settings and an intentional gap after Add context. */
.is-dock-layout #selected-provider-icon{margin-inline-start:8px}
.is-dock-layout .context-control{display:inline-flex;flex:none;min-width:0}
.is-dock-layout .context-control .cardeal-select{width:auto;min-width:0;max-width:85px}
.is-dock-layout .context-control .cardeal-select-button{height:29px;padding:4px 5px;font-size:11px;gap:5px}
#chat-page[data-recents-position=right] .conversation-tools{justify-content:flex-end}
#chat-page[data-recents-position=right] .conversation-recents{order:1;border-right:0;border-left:1px solid var(--cd-border)}
@container cardeal-pane (max-width:650px){
 #chat-page[data-recents-position=right] .conversation-recents{left:auto;right:0;box-shadow:-8px 0 20px #0004}
 .is-dock-layout .composer-models{gap:3px}
 .is-dock-layout .composer-models .model-trigger{max-width:min(210px,48cqi)}
 .is-dock-layout .composer-models .effort-trigger{max-width:85px}
}

.is-dock-layout .model-toggle{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:none;padding:5px;border-radius:6px;color:var(--cd-muted)}
.is-dock-layout .model-toggle:hover{background:var(--cd-soft);color:var(--cd-fg)}
.is-dock-layout .model-toggle[aria-checked=true]{color:var(--cd-accent);background:var(--cd-soft);box-shadow:inset 0 0 0 1px var(--cd-border)}
.is-dock-layout .model-toggle .cardeal-icon{width:16px;height:16px}
@container cardeal-pane (max-width:550px){
 .is-dock-layout .composer-models .model-trigger{flex-shrink:1;max-width:150px;min-width:28px}
 .is-dock-layout .context-control .cardeal-select{max-width:64px}
 .is-dock-layout .composer-models .effort-trigger{max-width:75px}
}

@container cardeal-pane (max-width:350px){
 .is-dock-layout .composer-models{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;align-items:center;gap:3px;width:100%}
 .is-dock-layout .composer-models .model-trigger{grid-column:1/5;grid-row:1;justify-self:start;max-width:100%}
 .is-dock-layout .composer-models .effort-trigger{grid-column:1;grid-row:2;justify-self:start}
 .is-dock-layout #fast-toggle{grid-column:2;grid-row:2}
 .is-dock-layout #thinking-toggle{grid-column:3;grid-row:2}
 .is-dock-layout .composer-models .context-control{grid-column:4;grid-row:2}
 .is-dock-layout .composer-models .send-button,.is-dock-layout .composer-models #stop-button{grid-column:5;grid-row:1/3;align-self:end}
}

/* One header, one conversation block, and a quiet empty state. */
.is-dock-layout .welcome{position:relative;display:flex;align-items:center;justify-content:center;flex:1;width:100%;max-width:none;min-height:0;height:100%;margin:0}
.is-dock-layout .welcome-mark{margin:0;width:60px;height:60px}
.is-dock-layout .conversation:has(> .welcome:not(.hidden)){display:flex;flex-direction:column}
.is-dock-layout .conversation:has(> .welcome:not(.hidden)) #messages{display:none}
.conversation-inline-tools{display:flex;align-items:center;justify-content:flex-end;height:30px;flex:none;padding:0 8px}
#chat-page[data-recents-position=left] .conversation-inline-tools{justify-content:flex-start}
.conversation-inline-tools .recents-toggle{width:26px;height:26px;padding:5px}
#conversation-recents .recent-header{height:30px;padding-top:0;padding-bottom:0;flex:none}
.access-control{padding:4px 1px 0;flex:none}
.access-trigger{display:inline-flex;align-items:center;gap:6px;font-size:10px;border:0;border-radius:10px;padding:3px 7px;color:var(--cd-muted)}
.access-trigger:hover{background:var(--cd-soft);color:var(--cd-fg)}
.access-trigger[data-access=full],.is-dock-layout .access-trigger[data-access=full]{color:var(--cd-access-full)}
.access-icon{display:flex}.access-icon svg{width:13px;height:13px}
.access-picker{position:fixed;z-index:140;width:min(380px,calc(100vw - 16px));max-height:calc(100vh - 20px);overflow:auto;padding:8px;border:1px solid var(--cd-border);border-radius:14px;background:var(--cd-surface);box-shadow:0 8px 30px #0006}
.access-picker p{font-size:10px;color:var(--cd-muted);padding:4px 7px;margin:0}
.access-picker button{position:relative;display:block;width:100%;text-align:left;padding:7px 28px 7px 9px;border-radius:7px}
.access-picker strong{display:block;font-size:11px;font-weight:500}
.access-picker small{display:block;font-size:10px;color:var(--cd-muted);line-height:1.4}
.access-picker button:hover{background:var(--cd-soft)}
.access-picker button[aria-pressed=true]{color:var(--cd-accent)}
.access-picker button[data-access=full][aria-pressed=true]{color:var(--cd-access-full)}
.access-picker button[aria-pressed=true]:after{content:'✓';position:absolute;right:9px;top:8px}
.origin-cursor-cli{--tag-bg:#986323;--tag-fg:#fff}

@container cardeal-pane (max-width:650px){
 .conversation-recents{top:30px}
}

.is-dock-layout .composer{flex-shrink:0}
@container cardeal-pane (max-width:550px){.is-dock-layout .composer{min-height:108px}}
@container cardeal-pane (max-width:350px){.is-dock-layout .composer-area{min-height:225px}.is-dock-layout .composer{min-height:135px}}

/* Conversation controls share one quiet, aligned outline icon system. */
.conversation-menu-trigger{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:5px;background:transparent;color:var(--cd-muted);cursor:pointer}
.conversation-menu-trigger:hover,.conversation-menu-trigger[aria-expanded=true]{background:var(--cd-soft);color:var(--cd-fg)}
.dock-tab{min-width:28px;max-width:320px;flex:0 1 auto}.dock-controls{flex:none}.dock-tabs{min-width:0}
.conversation-menu{position:fixed;z-index:150;width:260px;max-width:calc(100vw - 12px);max-height:calc(100vh - 12px);overflow:auto;padding:5px;border:1px solid var(--cd-strong);border-radius:12px;background:var(--cd-surface);color:var(--cd-fg);box-shadow:0 10px 28px var(--cd-shadow);font:12px var(--cd-font)}
.conversation-menu[hidden]{display:none}.conversation-menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:inherit;text-align:left;cursor:pointer}.conversation-menu-item:hover{background:var(--cd-soft)}.conversation-menu-item>span:not(.provider-icon){flex:1;min-width:0}.conversation-menu-item:last-of-type{border-top:1px solid var(--cd-border);margin-top:4px}.conversation-menu-item [viewBox]:last-child:not(:first-child){width:12px;height:12px;transform:rotate(-90deg)}.conversation-menu-note{font-size:10px;color:var(--cd-muted);margin:6px 10px 4px}.conversation-menu-note:empty{display:none}
.recent-header .icon-button{width:26px;height:26px;border-radius:6px;color:var(--cd-muted);background:transparent}.recent-header .icon-button:hover{background:var(--cd-soft);color:var(--cd-fg)}.recent-header .cardeal-icon{width:16px;height:16px;min-width:16px;stroke-width:1.6}.main-nav .nav-item>span:first-child{display:inline-flex;align-items:center;vertical-align:middle}.icon-button:disabled,.conversation-menu-trigger:disabled{opacity:.4;cursor:default}
/* A real inset stroke keeps every edge inside the viewport, without a masked
   compositing layer that can lose a side while resizing or scrolling. */
.conversation-border{display:none;position:fixed;inset:0;width:100%;height:100%;z-index:1000;pointer-events:none;overflow:hidden}
body.conversation-running>.conversation-border{display:block}
.conversation-border rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:url(#cardeal-running-gradient);stroke-width:2;vector-effect:non-scaling-stroke}
.conversation-border stop{animation:cardeal-flow-color 5s linear infinite}
.conversation-border stop:nth-child(2){animation-delay:-1s}.conversation-border stop:nth-child(3){animation-delay:-2s}.conversation-border stop:nth-child(4){animation-delay:-3s}.conversation-border stop:nth-child(5){animation-delay:-4s}.conversation-border stop:nth-child(6){animation-delay:-5s}
@keyframes cardeal-flow-color{0%,100%{stop-color:#79dac8}20%{stop-color:#7ea9ff}40%{stop-color:#c396ff}60%{stop-color:#f19eb8}80%{stop-color:#e7ed93}}
@media(prefers-reduced-motion:reduce){.conversation-border stop{animation:none}}
body.vscode-high-contrast .conversation-border rect,body.vscode-high-contrast-light .conversation-border rect{stroke:var(--cd-focus)}
body[class*=vscode-high-contrast] .conversation-border stop{animation:none}
@media(forced-colors:active){.conversation-border rect{stroke:Highlight;forced-color-adjust:none}.conversation-border stop{animation:none}}

.settings-link{display:flex;align-items:center;gap:9px}.settings-link .cardeal-icon{width:15px;height:15px;min-width:15px}

/* Sized chat surfaces: the composer never collapses around its controls. */
#chat-page{min-width:280px}.dock-group:has(#chat-page:not(.hidden)){min-width:280px;min-height:280px}.conversation-pane{container-type:inline-size;container-name:cardeal-conversation}
.is-dock-layout .composer-area{--composer-min-height:150;min-height:150px;max-height:none;overflow:auto;flex-shrink:0}
.is-dock-layout .composer{min-height:100px;flex:1 0 auto;overflow:hidden;box-sizing:border-box}
.is-dock-layout .composer textarea{min-height:54px;line-height:1.5;overflow:auto;flex:1 1 auto;resize:none;box-sizing:border-box;max-width:100%}
.is-dock-layout .composer-toolbar{position:static;flex:0 0 auto;min-height:36px;padding:3px 0;gap:8px;box-sizing:border-box}
.is-dock-layout .composer-selects{gap:7px;flex-wrap:wrap;min-width:0}.is-dock-layout .composer-models{gap:6px;flex-shrink:1;min-width:0}
.is-dock-layout .access-control{padding:0;display:flex;align-items:center;flex:none}.is-dock-layout .access-trigger{width:28px;height:28px;padding:5px;border-radius:7px}.access-trigger #access-label{display:none}
.is-dock-layout .composer-footnote{display:flex!important;align-items:center;gap:8px;min-height:22px;flex-wrap:wrap;flex:none}.composer-footnote #usage-trigger{font-size:10px;color:var(--cd-muted);white-space:nowrap;border:0;background:transparent;padding:3px 0}.composer-footnote #usage-trigger:hover{color:var(--cd-fg)}.composer-footnote #provider-note{flex:1}
@container cardeal-conversation (max-width:650px){
 .is-dock-layout .composer-area{--composer-min-height:180;min-height:180px}.is-dock-layout .composer{min-height:130px}.is-dock-layout .composer-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:7px}.is-dock-layout .composer-selects,.is-dock-layout .composer-models{display:flex;flex-wrap:wrap;width:100%;margin:0}.is-dock-layout .composer-models{justify-content:flex-end}.is-dock-layout .composer-models .model-trigger{max-width:180px;flex:0 1 auto}.is-dock-layout .composer-models .send-button,.is-dock-layout .composer-models #stop-button{margin-left:auto}.composer-footnote>span{display:none}
}
@container cardeal-conversation (max-width:350px){
 .is-dock-layout .composer-area{--composer-min-height:210;min-height:210px}.is-dock-layout .composer{min-height:160px}.is-dock-layout .composer-selects .cardeal-select{max-width:130px}.is-dock-layout .composer-models{display:flex;grid-template-columns:none}.is-dock-layout .composer-models .model-trigger{max-width:160px}.is-dock-layout .composer-models .send-button,.is-dock-layout .composer-models #stop-button{align-self:center}
}
/* Sidebar width is independent of the conversation and survives reload. */
.conversation-recents{position:relative;flex:0 0 var(--recents-width,240px);width:var(--recents-width,240px);padding:0 8px;box-sizing:border-box}
.recents-sash{position:absolute;left:-3px;top:0;bottom:0;width:7px;cursor:col-resize;touch-action:none;z-index:35;border-radius:2px}.recents-sash:hover,.recents-sash:focus-visible{background:var(--cd-focus)}
#chat-page[data-recents-position=left] .recents-sash{left:auto;right:-3px}.recent-search{width:100%;min-width:0;box-sizing:border-box;margin:5px 0 7px;font-size:11px;padding:6px 8px;border:1px solid var(--cd-border);background:var(--cd-surface);border-radius:6px;color:var(--cd-fg);flex:none}
.origin-filter-menu{margin:0 0 7px;flex:none;color:var(--cd-muted);font-size:11px}.origin-filter-menu>summary{padding:6px;cursor:pointer;user-select:none}.origin-filter-menu[open]{border:1px solid var(--cd-border);border-radius:7px;background:var(--cd-surface)}
.origin-filter-menu .origin-filters{display:flex;flex-direction:column;align-items:stretch;padding:3px;margin:0;gap:2px;max-height:240px;overflow:auto}.origin-filter-menu .origin-filter{display:flex;align-items:center;gap:8px;border:0;border-radius:5px;width:100%;padding:7px 9px;font-size:11px;background:transparent;color:var(--cd-fg);text-align:left}.origin-filter-menu .origin-filter::before{content:'';width:12px;height:12px;box-sizing:border-box;border:1px solid var(--cd-muted);border-radius:3px;flex:none}.origin-filter-menu .origin-filter[aria-checked=true]::before{content:'✓';line-height:10px;text-align:center;font-size:11px;border-color:var(--cd-accent);background:var(--cd-accent);color:var(--cd-accent-fg)}.origin-filter-menu .origin-filter:hover{background:var(--cd-soft)}.history-filter-menu{max-width:300px;margin-bottom:16px}
@container cardeal-pane (max-width:650px){.conversation-recents{position:absolute;width:min(var(--recents-width,240px),calc(100% - 32px));top:30px}}
/* Title actions are siblings of the opening button, never nested buttons. */
.conversation-list-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;position:relative;min-width:0;align-items:start;gap:0}
.conversation-list-card>.recent-session,.conversation-list-card>.history-open{grid-row:1;grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box}.conversation-list-card .recent-title,.conversation-list-card .conversation-title{display:block;box-sizing:border-box;padding-right:var(--row-actions-width,60px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.conversation-row-actions{grid-row:1;grid-column:2;display:flex;align-items:center;justify-content:flex-end;gap:1px;z-index:1;margin:6px 2px 0 0}.conversation-row-actions .icon-button{width:25px;height:25px;border:0;background:transparent;border-radius:5px;color:var(--cd-muted)}.conversation-row-actions .icon-button:hover{color:var(--cd-fg);background:var(--cd-soft)}.conversation-row-actions .cardeal-mark{width:15px;height:15px}.conversation-row-actions .provider-icon{width:16px;height:16px}.conversation-list-card.recent-card{border-radius:7px;margin:3px 0}.recent-card:hover{background:var(--cd-soft)}
/* Equal bubble padding and stable hover/focus tools outside the bubble. */
.is-dock-layout .message.user{padding:0;background:transparent;border-radius:0}.is-dock-layout .message.user .message-text{padding:16px;border-radius:16px;background:var(--cd-raised)}.message-text>:first-child{margin-top:0}.message-text>:last-child{margin-bottom:0}
.message-actions{display:flex;align-items:center;gap:5px;margin-top:5px;min-height:25px;opacity:0;pointer-events:none;transition:opacity .12s;color:var(--cd-muted)}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1;pointer-events:auto}.message-actions .icon-button{width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:inherit}.message-actions .icon-button:hover{background:var(--cd-soft);color:var(--cd-fg)}.message-time{font-size:10px;white-space:nowrap}.message.user .message-actions{justify-content:flex-end}.message.assistant .message-time{margin-right:auto}
@media(hover:none){.message-actions{opacity:1;pointer-events:auto}}@media(prefers-reduced-motion:reduce){.message-actions{transition:none}}
.usage-picker,.memory-picker{position:fixed;z-index:155;width:340px;max-width:calc(100vw - 12px);max-height:calc(100vh - 12px);overflow:auto;padding:12px;box-sizing:border-box;border:1px solid var(--cd-strong);border-radius:12px;background:var(--cd-surface);color:var(--cd-fg);box-shadow:0 10px 28px var(--cd-shadow);font:12px var(--cd-font)}.usage-picker header,.memory-picker header{display:flex;align-items:center;gap:6px;margin-bottom:10px}.usage-picker header strong,.memory-picker header strong{flex:1}.usage-picker header .icon-button,.memory-picker header .icon-button{width:25px;height:25px}.usage-window{padding:10px 0;border-top:1px solid var(--cd-border)}.usage-window>div{display:flex;gap:8px;justify-content:space-between}.usage-window small,.usage-updated{display:block;font-size:10px;color:var(--cd-muted);margin-top:6px}.usage-window progress{appearance:none;display:block;width:100%;height:4px;margin:8px 0;border:0;border-radius:3px;overflow:hidden}.usage-window progress::-webkit-progress-bar{background:var(--cd-soft)}.usage-window progress::-webkit-progress-value{background:var(--cd-focus)}.usage-amount{font-size:17px;margin:7px 0}.usage-picker footer{display:flex;flex-direction:column;align-items:stretch;border-top:1px solid var(--cd-border);margin-top:10px;padding-top:6px;gap:3px}.usage-picker footer button{text-align:left;font-size:11px;padding:7px 4px;background:transparent;border:0;color:var(--cd-muted)}.usage-picker footer button:hover{color:var(--cd-fg);background:var(--cd-soft)}.memory-picker article{padding:8px 0;border-top:1px solid var(--cd-border);overflow-wrap:anywhere}.memory-picker article p{margin:0 0 5px}.memory-picker small{color:var(--cd-muted);font-size:10px}

.dock-workspace{overflow:auto}.dock-controls button.hidden{display:none!important}

.attachment-list{max-height:60px;overflow:auto;flex:none}.conversation-row-actions .cardeal-mark{width:15px!important;height:15px!important;max-width:15px}.dock-native-editor .provider-icon{width:16px;height:16px}

.is-dock-layout .message.user .message-text{width:fit-content;max-width:100%;box-sizing:border-box;margin-left:auto}

/* Content-based composer minimum: two text lines plus the visible controls. */
.is-dock-layout .composer-area>.workspace-context,.is-dock-layout .composer-area>.composer-footnote{margin-top:0;margin-bottom:0}
.is-dock-layout .composer-area>.attachment-list:empty{display:none}
.is-dock-layout .composer{flex:1 1 0}

/* Conversation cards show only title, origin and recent interaction until expanded. */
.conversation-list-card{align-items:center;row-gap:3px!important;padding:7px 8px!important}
.conversation-list-card>.recent-session,.conversation-list-card>.history-open{grid-row:1;grid-column:1;padding:0!important;margin:0;align-self:center}
.conversation-list-card .recent-title,.conversation-list-card .conversation-title{padding-right:0;margin:0;line-height:1.5}
.conversation-list-card>.conversation-row-actions{grid-column:2;grid-row:1;margin:0;align-self:center}
.conversation-card-meta{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:6px;min-width:0;min-height:22px}
.conversation-card-meta .origin-badge{min-width:0;max-width:calc(100% - 70px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.conversation-last-used{font-size:10px;white-space:nowrap;flex:none;color:var(--cd-muted);margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}
.conversation-card-meta .conversation-expand{flex:none;width:21px;height:21px;padding:3px;color:var(--cd-muted);border:0;background:transparent;border-radius:4px}
.conversation-expand .cardeal-icon{width:14px;height:14px;transition:transform .15s}.conversation-expand[aria-expanded=true] .cardeal-icon{transform:rotate(180deg)}
.conversation-info{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:4px 0 0;padding:8px 0 0;border-top:1px solid var(--cd-border);min-width:0;font-size:10px}
.conversation-info[hidden]{display:none}.conversation-info dt{color:var(--cd-muted);margin-top:5px}.conversation-info dt:first-child{margin-top:0}
.conversation-info dd,.conversation-info .conversation-path,.conversation-info .conversation-workspace,.conversation-info .conversation-dates,.conversation-info .conversation-age{display:block;font-size:10px;line-height:1.5;color:var(--cd-fg);margin:0;padding:0;white-space:normal;overflow-wrap:anywhere;min-width:0}
@media(prefers-reduced-motion:reduce){.conversation-expand .cardeal-icon{transition:none}}

/* Clear editor/new-chat/float affordances with a consistent stroke and hit area. */
.dock-controls{gap:2px}.dock-controls button{width:26px;height:26px;border-radius:5px}
.dock-controls .cardeal-icon{width:18px;height:18px;min-width:18px;stroke-width:1.75}
.conversation-row-actions .cardeal-icon{width:17px;height:17px;min-width:17px;stroke-width:1.75}
.dock-controls button:focus-visible,.conversation-row-actions button:focus-visible,.conversation-expand:focus-visible{outline:1px solid var(--cd-focus);outline-offset:1px}

.delivery-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:7px;font-size:10px;color:var(--cd-muted)}
.delivery-status>.cardeal-icon{width:13px;height:13px;flex:none}.delivery-status[data-status=failed]>.cardeal-icon{color:var(--cd-danger)}
.delivery-status button{background:transparent;border:0;border-radius:4px;padding:3px 5px;color:var(--cd-link);font-size:10px;cursor:pointer}
.delivery-status button:hover{background:var(--cd-soft)}.delivery-status button:disabled{opacity:.5;cursor:default}.delivery-status button:focus-visible{outline:1px solid var(--cd-focus)}

/* Reading surface: calm typography and horizontal table rules, inspired by native chat. */
.message.assistant .message-text{font-size:var(--ui-size,13px);line-height:1.7;font-weight:400;color:var(--cd-fg)}
.message-text p{color:inherit;line-height:1.7;margin-bottom:14px}.message-text strong{font-weight:600}
.message-text h1,.message-text h2,.message-text h3{line-height:1.35;margin:24px 0 12px;letter-spacing:-.015em}
.message-text h1{font-size:1.55em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.12em}
.message-text a{font-weight:500}.message-text li{margin:5px 0;line-height:1.7}
.chat-table{position:relative;max-width:100%;min-width:0;margin:18px 0;padding-right:25px}
.chat-table-scroll{overflow-x:auto;max-width:100%;scrollbar-width:thin}
.message-text .chat-table table{margin:0;width:100%;font:inherit;line-height:1.6;border:0}
.message-text .chat-table th,.message-text .chat-table td{border:0;border-bottom:1px solid color-mix(in srgb,var(--cd-border) 55%,transparent);padding:8px 12px 8px 0;text-align:left;vertical-align:top;min-width:100px}
.message-text .chat-table th{font-weight:600;background:transparent;color:var(--cd-fg);border-bottom-color:var(--cd-border)}
.message-text .chat-table tr:last-child td{border-bottom:0}.message-text .chat-table td:last-child,.message-text .chat-table th:last-child{padding-right:0}
.chat-table-copy{position:absolute;right:0;top:4px;width:24px;height:26px;display:grid;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--cd-muted);opacity:0;cursor:pointer}
.chat-table:hover .chat-table-copy,.chat-table:focus-within .chat-table-copy{opacity:1}.chat-table-copy:hover{background:var(--cd-soft);color:var(--cd-fg)}
.chat-table-copy svg{width:16px;height:16px}.origin-codex,.origin-api,.origin-gateway{--tag-bg:#176da4;--tag-fg:#fff}
@media(hover:none){.chat-table-copy{opacity:1}}
body[class*=vscode-high-contrast] .chat-table th,body[class*=vscode-high-contrast] .chat-table td{border-bottom-color:var(--cd-fg)}

/* Selection belongs to the whole card, never to an input-looking title button. */
.conversation-list-card.active{background:var(--cd-surface);border-color:var(--cd-border)}
.conversation-list-card>.recent-session,.conversation-list-card>.history-open,
.conversation-list-card>.recent-session.active,.conversation-list-card>.history-open.active,
.conversation-list-card>.recent-session:hover,.conversation-list-card>.history-open:hover{background:transparent!important;border:0!important;border-radius:0;box-shadow:none;color:inherit}
.conversation-list-card>.recent-session:focus-visible,.conversation-list-card>.history-open:focus-visible{outline:0}
.conversation-list-card:has(>.recent-session:focus-visible),.conversation-list-card:has(>.history-open:focus-visible){outline:2px solid var(--cd-focus);outline-offset:1px}

.provider-fork-info{border:1px solid var(--cd-border);border-radius:9px;padding:12px 14px;margin:0 0 22px;display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;color:var(--cd-fg)}
.provider-fork-info>.cardeal-icon{width:18px;height:18px;flex:none;margin-top:2px;color:var(--cd-muted)}.provider-fork-info>div{flex:1;min-width:120px}.provider-fork-info strong{font-size:12px}.provider-fork-info p{font-size:11px;color:var(--cd-muted);margin-top:4px;overflow-wrap:anywhere}.provider-fork-info button{font-size:11px;color:var(--cd-link);margin-left:auto}
.provider-fork-divider{display:flex;align-items:center;gap:9px;color:var(--cd-muted);font-size:11px;margin:18px 0 24px}.provider-fork-divider:after{content:'';height:1px;background:var(--cd-border);flex:1}.provider-fork-divider .cardeal-icon{width:16px;height:16px;flex:none}

/* Compact, translucent provider/model menus; preserve theme contrast. */
.cardeal-select-popup[data-for=provider]{width:max-content;min-width:180px;max-width:min(260px,calc(100vw - 16px));background:color-mix(in srgb,var(--cd-surface) 94%,transparent);backdrop-filter:blur(14px)}
.cardeal-select-popup[data-for=provider] .cardeal-select-option{gap:10px;padding:5px 8px;min-height:29px}
.model-picker{width:300px;background:color-mix(in srgb,var(--cd-surface) 94%,transparent);backdrop-filter:blur(14px)}
#model-options{gap:1px}.model-option{flex-direction:row;align-items:center;justify-content:space-between;gap:10px;min-height:29px;padding:5px 8px;line-height:1.45}
.model-option>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-option>.cardeal-icon{width:16px;height:16px;flex:none}
.model-option[aria-selected=true]{background:var(--cd-selected);color:var(--cd-selected-fg);font-weight:600}
.access-icon svg{width:18px;height:18px;stroke-width:1.9}.is-dock-layout .access-trigger{width:30px;height:30px;padding:6px;color:var(--cd-fg)}
.provider-fork-context{border:1px solid var(--cd-border);border-radius:8px;margin:0 0 20px;color:var(--cd-fg);font-size:11px}
.provider-fork-context>summary{padding:10px 12px;cursor:pointer;color:var(--cd-muted);overflow-wrap:anywhere}
.provider-fork-context>button{margin:5px 12px 10px;color:var(--cd-link);font-size:11px}.provider-fork-messages{max-height:420px;overflow:auto;padding:14px;border-top:1px solid var(--cd-border)}
.provider-fork-context .message{margin-bottom:22px}.provider-fork-divider{margin:8px 0 10px}

.composer-prediction{display:flex;align-items:center;gap:7px;min-height:25px;flex:none;padding:2px 5px;color:var(--cd-muted);font-size:11px;min-width:0}
.composer-prediction>#prediction-accept{background:transparent;border:0;text-align:left;min-width:0;flex:1;color:var(--cd-muted);font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;padding:3px}
.composer-prediction>#prediction-accept:hover{color:var(--cd-fg)}.composer-prediction kbd{font:10px var(--cd-font);padding:1px 4px;border:1px solid var(--cd-border);border-radius:4px}.composer-prediction .icon-button{width:21px;height:21px;font-size:16px}

.transcript-copy-menu{min-width:150px;z-index:300}.transcript-copy-menu button{display:flex;align-items:center;gap:9px}

.dependency-state{display:flex;align-items:center;gap:6px;margin-top:7px;font-size:11px;color:var(--cd-muted)}.dependency-state .cd-icon{width:14px;height:14px;flex:none}.dependency-state[data-status=available]{color:var(--vscode-textLink-foreground)}.dependency-state[data-status=current]{color:var(--vscode-testing-iconPassed,var(--cd-muted))}.dependency-update-note{margin-top:6px!important}

.dependency-card .setting-row{flex-wrap:wrap}.dependency-card .setting-info{flex:1 1 250px;min-width:0}.dependency-card .profile-actions{margin-left:auto;flex-wrap:wrap}

.activity-live-heading{display:flex;align-items:center;flex-wrap:nowrap;gap:7px}.activity-live-heading>.work-label{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-bulk-actions{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:5px 0}.activity-live-heading>[data-work-toggle]{margin-left:1px}.activity-bulk-button{font-size:11px;padding:4px 7px;border:1px solid var(--cd-border);border-radius:5px;color:var(--cd-muted)}.activity-bulk-button:hover{background:var(--cd-soft);color:var(--cd-fg)}.activity-bulk-button:disabled{opacity:.45}.message-activity>.activity-bulk-actions{margin:8px 0}

/* Retain the editor warning color when its high-contrast palette supplies one. */
body[class*=vscode-high-contrast]{--cd-access-full:var(--vscode-editorWarning-foreground,#f6b94d)}
body.vscode-high-contrast-light{--cd-access-full:var(--vscode-editorWarning-foreground,#8a4b00)}

.activity-bulk-actions.activity-bulk-footer{justify-content:flex-start;margin-top:8px}
.activity-bulk-footer[hidden]{display:none}

/* Readable content uses the conversation width, including detached/split panes. */
.is-dock-layout .conversation{padding:16px clamp(10px,1.5cqi,22px)}
.is-dock-layout .messages,.is-dock-layout .activity,.is-dock-layout .approvals,.is-dock-layout #live-message{width:100%;max-width:none;margin-left:0;margin-right:0}
.activity-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin:7px 0}
.activity-filters{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;flex:1}
.activity-filter-glyph{display:inline-flex;flex:none}.activity-filter-glyph svg{width:15px;height:15px}
.activity-filter{font-size:11px;padding:4px 6px;min-width:0;max-width:235px;height:29px;flex:1;border:1px solid var(--cd-border);border-radius:6px;background:var(--cd-surface);color:var(--cd-fg)}
.activity-filter-count{font-size:10px;color:var(--cd-muted);white-space:nowrap}
.activity-bulk-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:2px;flex:none;border:0;border-radius:3px;background:transparent}.activity-toolbar>.activity-bulk-actions{order:-1;margin:0}.activity-bulk-button:focus-visible{outline:1px solid var(--cd-focus);outline-offset:2px}
.activity-bulk-button svg,.activity-bulk-footer .cardeal-icon{width:14px;height:14px}
.activity-bulk-button[data-work-toggle] svg{transform:rotate(-90deg)}.activity-bulk-button[data-work-toggle][data-open=true] svg{transform:none}
.activity-toolbar[hidden],.activity-bulk-actions[hidden],.activity-bulk-button[hidden],.agent-activity-card[hidden]{display:none!important}
.activity-bulk-footer{color:var(--cd-muted)}
@container cardeal-conversation (max-width:350px){.activity-toolbar{gap:5px}.activity-filter{max-width:185px}.activity-filter-count{display:none}}

.activity-filters>.cardeal-select{min-width:0;max-width:235px;flex:1}.activity-filters .cardeal-select-button{font-size:11px;min-height:29px;padding:4px 6px;background:var(--cd-surface)}
.activity-bulk-button[aria-pressed=true]{background:transparent;color:var(--cd-fg);border-color:transparent}

/* Persistent execution status sits outside the scrolling transcript. */
.conversation-execution{flex:none;display:flex;justify-content:center;align-items:center;padding:4px 10px 3px;min-width:0}.conversation-execution[hidden]{display:none}.execution-pill{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:5px 13px;border-radius:16px;max-width:100%;background:var(--cd-surface,var(--surface));color:var(--cd-fg,var(--fg));font-size:11px;line-height:1.4;white-space:nowrap}.execution-outline{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.execution-outline rect{width:calc(100% - 2px);height:calc(100% - 2px);fill:none;stroke:url(#cardeal-running-gradient);stroke-width:1.5;vector-effect:non-scaling-stroke}.execution-spinner,.conversation-spinner{display:inline-flex;flex:none;align-items:center;justify-content:center;color:var(--cd-focus,var(--focus))}.execution-spinner .cardeal-icon{width:14px;height:14px;animation:conversation-spin 1.15s linear infinite}.conversation-spinner{width:15px;height:15px;margin-right:6px}.conversation-spinner .cardeal-icon{width:14px;height:14px;animation:conversation-spin 1.15s linear infinite}#execution-elapsed{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--cd-muted,var(--muted));margin-left:-3px}.conversation-list-card .recent-session.running:before,.history-open.running:before{content:none}.conversation-list-card :is(.recent-session,.history-open).running{display:flex;flex-direction:row;align-items:center;min-width:0;gap:6px}.conversation-list-card .conversation-spinner{margin-right:0}.conversation-list-card .recent-session.running .recent-title:before{content:none}.conversation-list-card :is(.recent-title,.conversation-title){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes conversation-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.execution-spinner .cardeal-icon,.conversation-spinner .cardeal-icon{animation:none}}
body[class*=vscode-high-contrast] .execution-outline rect{stroke:var(--cd-focus,var(--focus))}@media(forced-colors:active){.execution-outline rect{stroke:Highlight;forced-color-adjust:none}.execution-spinner,.conversation-spinner{color:Highlight}}
@container cardeal-pane (max-width:350px){.execution-pill{font-size:10px;gap:5px;padding:5px 9px}.conversation-execution{padding-inline:5px}}@container cardeal-pane (max-width:280px){.execution-pill{flex-wrap:wrap;white-space:normal;gap:2px 5px;border:1px solid var(--cd-focus,var(--focus));border-radius:10px}#execution-elapsed{margin-left:0}.execution-outline{display:none}}

/* A trace tree preserves event order; each event discloses its own nested details. */
.activity-live-heading>.activity-count,.work-summary>.activity-count{margin-left:0}
.agent-activity-list{border-left:0;padding-left:0}
.agent-activity-card{position:relative;--activity-node-y:14px}
.agent-activity-card:before{content:'';position:absolute;left:6px;top:0;bottom:0;border-left:1px solid var(--cd-border,var(--border));pointer-events:none}
.agent-activity-card.activity-tree-first:before{top:var(--activity-node-y)}
.agent-activity-card.activity-tree-last:before{bottom:calc(100% - var(--activity-node-y))}
.agent-activity-card:after{content:'';position:absolute;left:6px;top:var(--activity-node-y);width:12px;border-top:1px solid var(--cd-border,var(--border));pointer-events:none}
.agent-activity-card>summary{position:relative;gap:5px;padding-left:0!important}
.agent-activity-card>summary :is(.activity-chevron,.activity-glyph){position:relative;z-index:1;background:var(--cd-bg,var(--bg))}
.agent-activity-card>summary .activity-chevron{order:-1;width:12px;height:16px;justify-content:center;transform:rotate(-90deg);flex:none}
.agent-activity-card>summary .activity-chevron .cardeal-icon{width:11px;height:11px}
.agent-activity-card[open]>summary .activity-chevron{transform:none}
.agent-activity-card>summary .activity-glyph{width:14px;height:16px;justify-content:center}
.agent-activity-card>.activity-detail{position:relative;margin:1px 0 10px 34px;padding:7px 11px;border:0;border-left:1px solid var(--cd-border,var(--border));border-radius:0;background:transparent;color:var(--cd-fg,var(--fg))}
body[class*=vscode-high-contrast] .agent-activity-card:before,body[class*=vscode-high-contrast] .agent-activity-card:after,body[class*=vscode-high-contrast] .agent-activity-card>.activity-detail{border-color:var(--cd-muted,var(--muted))}

/* Keep viewport positions under the tail controllers, including nested work logs. */
#conversation,#activity{overflow-anchor:none;scroll-behavior:auto;}
@media(forced-colors:active){.conversation-spinner .rainbow-spinner{stroke:Highlight;forced-color-adjust:none;}}
body[class*=vscode-high-contrast] .conversation-spinner .rainbow-spinner{stroke:var(--cd-focus,var(--focus));}

/* Compact attachment menu; one entry handles text files and images. */
#add-menu .toolbar-popover{width:224px;gap:1px;padding:5px;max-height:min(310px,calc(100dvh - 36px));}
#add-menu .composer-menu-item{display:flex;align-items:center;gap:9px;min-height:29px;padding:5px 8px;font-size:12px;line-height:1.4;border-radius:4px;white-space:nowrap;}
#add-menu .composer-menu-item>span{flex:1;min-width:0;}
#add-menu .composer-menu-item .cardeal-icon{width:16px;height:16px;color:var(--cd-muted);}
#add-menu .composer-menu-item:is(:hover,:focus-visible){font-weight:650;background:var(--cd-soft);color:var(--cd-fg);}
#add-menu .composer-menu-item:is(:hover,:focus-visible) .cardeal-icon{color:var(--cd-fg);}
#add-menu hr{border:0;border-top:1px solid var(--cd-border);width:100%;margin:4px 0;}
.composer-attach{flex:none;width:28px;height:30px;border-radius:50%;color:var(--cd-muted);}
.composer-attach .cardeal-icon{width:18px;height:18px;min-width:18px;}
.composer-attach:hover{color:var(--cd-fg);}
.conversation-attention{display:inline-flex;align-items:center;gap:4px;font-size:10px;line-height:1.4;min-width:0;grid-column:1/-1;padding:2px 0;}
.conversation-attention .cardeal-icon{width:12px;height:12px;min-width:12px;}
.conversation-attention.attention-waiting{color:var(--vscode-editorWarning-foreground,#e6b05e);}
.conversation-attention.attention-unread{color:var(--vscode-textLink-foreground,#78caff);}
.conversation-list-card[data-attention=waiting]{box-shadow:inset 2px 0 var(--vscode-editorWarning-foreground,#e6b05e);}
.conversation-list-card[data-attention=unread]{box-shadow:inset 2px 0 var(--vscode-textLink-foreground,#78caff);}
body[class*=vscode-high-contrast] .conversation-attention{color:var(--cd-fg);}

.composer-send-actions{display:inline-flex;align-items:center;gap:4px;flex:none;white-space:nowrap;}

.conversation-card-meta{flex-wrap:wrap;row-gap:1px;}
.conversation-attention{flex:0 0 100%;order:1;}

/* The footer hides work upward; the header keeps its normal disclosure arrow. */
.activity-bulk-footer .activity-bulk-button[data-work-toggle][data-open=true] svg{transform:rotate(180deg)}


/* Compact surfaces: shared rhythm for preferences, catalog lists and menus.
   Rainbow outlines/spinners remain owned by their existing animation rules. */
body{--cd-control-height:30px;--cd-row-gap:10px;--cd-surface-radius:10px;user-select:text;-webkit-user-select:text}
body :is(.dock-tabs,.origin-filter-menu>summary,button,summary,label,legend,.cardeal-select-option){user-select:text;-webkit-user-select:text}
.cardeal-icon,.provider-mark,.cardeal-mark,.resizer,.dock-sash,.queue-drag{user-select:none;-webkit-user-select:none}
:is(button,a,input,textarea,select,summary){touch-action:manipulation}
.settings-page{background:var(--cd-bg)}
.is-dock-layout .settings-nav{flex:0 0 184px;min-width:160px;padding:22px 12px;background:var(--cd-bg)}
.settings-nav-heading{display:none}
.settings-link{min-height:32px;padding:6px 9px;margin:2px 0;gap:10px;border-radius:7px;color:var(--cd-muted)}
.settings-link span{font-size:12px;line-height:1.45;white-space:normal}
.settings-link .cardeal-icon{width:16px;height:16px;min-width:16px}
.settings-link.active{background:var(--cd-soft);color:var(--cd-fg)}
.settings-link:is(:hover,:focus-visible){background:var(--cd-soft);color:var(--cd-fg)}
.settings-nav-footer{gap:10px;margin-top:20px;padding:14px 7px 0}
.settings-nav-footer button{font-size:11px;line-height:1.5;white-space:normal}
.is-dock-layout .settings-content{padding:28px clamp(18px,3vw,44px);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.settings-content>.settings-heading,.settings-content>#settings-body,.settings-content>.settings-disclaimer{width:min(100%,880px);margin-left:auto;margin-right:auto}
.settings-heading{align-items:flex-start;gap:16px;margin-bottom:20px}
.settings-heading .eyebrow{display:none}
.settings-heading h1{font-family:var(--cd-font);font-size:24px;line-height:1.25;font-weight:550;letter-spacing:-.035em}
.settings-heading p{font-size:12px;line-height:1.5;margin-top:6px}
.settings-heading>.primary-button{min-height:30px;margin-top:2px}
.settings-group{margin-bottom:18px}
.settings-group .group-title{font-family:var(--cd-font);font-size:12px;letter-spacing:0;font-weight:500;margin:0 0 7px 2px}
.settings-card{border-radius:var(--cd-surface-radius);background:transparent;box-shadow:none}
.setting-row{min-height:51px;gap:16px;padding:9px 13px}
.setting-info label,.setting-info strong{font-size:12px;font-weight:500;line-height:1.45}
.setting-info p{font-size:11px;line-height:1.5;margin-top:3px;max-width:560px}
.setting-row>input:not([type=checkbox]),.setting-row>select{font-size:12px;padding:5px 8px;min-height:var(--cd-control-height)}
.setting-row.stacked{padding:11px 13px}
.setting-row.stacked>textarea,.setting-row.stacked>input{font-size:12px;margin-top:7px;padding:7px 9px;line-height:1.55}
.setting-row.stacked>textarea{min-height:72px}
.settings-page :is(.cardeal-select-button,input:not([type=checkbox]),select){min-height:var(--cd-control-height);font-size:12px}
.settings-page .cardeal-select-button{padding:5px 8px;border-radius:6px}
.settings-page :is(input,select,textarea){border-color:var(--cd-border);border-radius:6px}
.settings-page :is(input,select,textarea):hover{border-color:var(--cd-strong)}
.settings-note{border:0;background:transparent;padding:0 2px;margin:0 0 14px;font-size:11px;line-height:1.55;color:var(--cd-muted)}
.settings-disclaimer{font-size:10px;line-height:1.55;padding-top:12px;margin-top:20px}
.settings-page .profile-list{display:block;border:1px solid var(--cd-border);border-radius:var(--cd-surface-radius);overflow:hidden;background:transparent;margin-bottom:14px}
.settings-page .profile-list:empty{display:none}
.settings-page .profile-card{border:0;border-bottom:1px solid var(--cd-border);border-radius:0;background:transparent;padding:10px 12px;gap:12px;min-width:0;box-shadow:none}
.settings-page .profile-card:last-child{border-bottom:0}
.settings-page .profile-card>div:first-child{min-width:0;flex:1}
.settings-page .profile-card strong{font-size:12px;font-weight:550;line-height:1.45}
.settings-page .profile-card p{font-size:11px;line-height:1.5;margin-top:3px}
.settings-page .profile-actions{gap:3px;flex-shrink:0;align-items:center}
.settings-page .profile-actions button{min-height:27px;font-size:11px;line-height:1.4;padding:4px 7px;border-radius:5px}
.settings-page .profile-actions button:not(.danger-button){border:1px solid transparent}
.settings-page .profile-actions button:is(:hover,:focus-visible){background:var(--cd-soft)}
.settings-page .profile-actions .danger-button{border-color:transparent}
.settings-page .profile-actions .cardeal-icon{width:14px;height:14px;min-width:14px}
.profile-form{padding:14px;border-radius:var(--cd-surface-radius);box-shadow:none;background:transparent}
.profile-form h2{font-size:13px;font-weight:550;margin-bottom:13px}
.form-grid{gap:10px 12px;align-items:start}
.field{gap:5px}
.field label,.field>label{font-size:11px;line-height:1.4}
.field input,.field select,.field textarea{padding:6px 8px;font-size:12px;line-height:1.45}
.form-grid>.settings-note{align-self:center;margin:0;line-height:1.5}
.form-actions{gap:8px;flex-wrap:wrap;margin-top:12px}
.form-actions p{font-size:11px;line-height:1.5}
.gateway-tabs{display:flex;gap:3px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:0;border:0}
.gateway-tabs button{min-height:29px;padding:5px 10px;border:1px solid transparent!important;border-radius:7px;background:transparent;color:var(--cd-muted);font-size:12px;font-weight:400;box-shadow:none}
.gateway-tabs button.primary-button{background:var(--cd-soft);color:var(--cd-fg);font-weight:550}
.gateway-tabs button:is(:hover,:focus-visible){background:var(--cd-soft);color:var(--cd-fg)}
.gateway-members{padding:8px 10px;margin:0;border-radius:7px;border-color:var(--cd-border);font-size:11px;min-width:0}
.gateway-members legend{font-size:11px;color:var(--cd-muted);padding:0 4px}
.gateway-binding{gap:8px!important;padding:3px 0}
.gateway-test-result{font-size:11px;line-height:1.5}
#menu.cardeal-menu-popup{width:min(288px,calc(100vw - 16px));gap:5px;padding:8px;border-radius:11px;box-shadow:0 10px 30px var(--cd-shadow)}
#menu .brand{padding:4px 6px 8px;gap:9px;font-size:13px}
#menu .brand small{font-size:8px;letter-spacing:.25px;margin-top:1px}
#menu .brand-mark,#menu .brand-mark .cardeal-mark{width:25px;height:25px}
#menu .new-chat{min-height:30px;height:32px;padding:5px 8px;margin:0 0 3px;border-color:transparent;background:var(--cd-soft)}
#menu .main-nav{gap:1px}
#menu .menu-entry{border-radius:6px;gap:2px}
#menu .nav-item{height:30px;font-size:12px;gap:9px;padding:4px 8px}
#menu :is(.main-nav,.menu-entry,.nav-item,.new-chat,.menu-float){justify-content:flex-start;text-align:left}
#menu .main-nav{align-items:stretch}
#menu .nav-item.active{border-color:transparent;background:var(--cd-soft);color:var(--cd-fg)}
#menu .nav-item>.cardeal-icon{width:16px;height:16px;min-width:16px}
#menu .menu-target{width:26px;height:26px;padding:5px}
#menu .sidebar-bottom{padding:8px 5px 2px;gap:8px}
#menu .menu-float{padding:6px 8px;border-radius:5px;font-size:11px}
#menu :is(.nav-item,.menu-float):is(:hover,:focus-visible){font-weight:550}
.conversation-menu{padding:5px;border-radius:9px;box-shadow:0 8px 28px var(--cd-shadow)}
.conversation-menu-item{min-height:29px;padding:5px 8px;gap:9px;border-radius:5px;font-size:12px;line-height:1.5}
.conversation-menu-item:is(:hover,:focus-visible){background:var(--cd-soft);font-weight:550}
.conversation-menu-note{font-size:10px;line-height:1.45;margin:5px 8px 3px}
.cardeal-select-popup{border-radius:9px;padding:5px;box-shadow:0 8px 26px var(--cd-shadow)}
.cardeal-select-option{min-height:28px;padding:5px 8px;font-size:12px;line-height:1.45;border-radius:5px}
.cardeal-select-option:is(:hover,:focus-visible){font-weight:550}
:is(.model-picker,.native-features,.attachment-source,.access-picker){border-radius:10px;box-shadow:0 8px 26px var(--cd-shadow)}
@media(min-width:901px){.settings-page .profile-actions{max-width:56%}}
@media(max-width:900px){.settings-page .profile-card{flex-wrap:wrap}.settings-page .profile-actions{margin-left:auto;max-width:100%}}
@media(max-width:700px){
 .is-dock-layout .settings-nav{flex:0 0 144px;min-width:126px;padding:16px 8px}
 .settings-link{padding:6px 7px;gap:7px}.settings-link span{font-size:11px}
 .is-dock-layout .settings-content{padding:20px 14px}
 .settings-heading h1{font-size:22px}.settings-heading{gap:10px;margin-bottom:16px}
 .setting-row{padding:9px 11px;gap:10px}.settings-page .profile-card{padding:9px 10px}
}
@media(max-width:540px){
 .is-dock-layout .settings-page{flex-direction:column;overflow:hidden}
 .is-dock-layout .settings-nav{flex:0 0 auto;min-width:0;width:100%;padding:7px 9px;display:flex;gap:3px;overflow:auto;border-right:0;border-bottom:1px solid var(--cd-border);scrollbar-width:thin}
 .settings-link{flex:0 0 auto;width:auto;min-height:30px;margin:0;padding:5px 8px;gap:6px}
 .settings-link span{font-size:11px;white-space:nowrap}
 .settings-link .cardeal-icon{width:14px;height:14px;min-width:14px}
 .settings-nav-footer{display:none}
 .is-dock-layout .settings-content{padding:18px 11px;min-height:0;width:100%}
 .settings-heading h1{font-size:21px}.settings-heading p{font-size:11px}.settings-heading>.primary-button{font-size:10px;padding:5px 8px}
 .setting-row{flex-wrap:wrap;gap:8px}.setting-row .setting-info{flex-basis:100%}
 .setting-row>input:not([type=checkbox]),.setting-row>select,.setting-row>.cardeal-select{width:100%;max-width:none}
 .setting-row>input[type=checkbox]{margin-left:auto}.settings-page .profile-actions{margin-left:0;justify-content:flex-start}
 .profile-form{padding:11px}.form-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .field.wide{grid-column:auto}.gateway-tabs{gap:1px}.gateway-tabs button{padding:5px 8px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.settings-page :is(button,input,textarea,select),#menu{transition:none;scroll-behavior:auto}}
@media(forced-colors:active){.settings-link.active,.gateway-tabs button.primary-button{outline:1px solid Highlight;outline-offset:-1px}.settings-card,.settings-page .profile-list,.profile-form{border-color:CanvasText}}
body[class*=vscode-high-contrast] :is(.settings-card,.settings-page .profile-list,.profile-form){border-color:var(--cd-muted)}

/* Catalog management keeps the list primary; forms open on an explicit action. */
.gateway-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 12px;min-width:0}
.gateway-toolbar>.settings-note{flex:1;min-width:0;margin:4px 0 0}
.gateway-toolbar>button{flex:none;min-height:29px;font-size:11px;padding:5px 9px}
.gateway-action{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.gateway-action>.cardeal-icon{width:14px;height:14px;min-width:14px}
.form-grid>.settings-note{grid-column:1/-1}
@media(max-width:540px){.gateway-toolbar{flex-wrap:wrap;gap:8px}.gateway-toolbar>.settings-note{flex-basis:100%}.gateway-toolbar>button{margin-left:auto}}

/* Questions retain the transcript renderer and expose a compact Q/A history. */
.question-card .question-prompt{font-size:13px;font-weight:400;line-height:1.65;white-space:normal;margin:12px 0 8px;color:var(--cd-fg)}
.question-card .question-prompt p:last-child{margin-bottom:0}
.question-prompt :is(pre,blockquote,table),.question-history-prompt :is(pre,blockquote,table){max-width:100%;overflow:auto}
.question-prompt .chat-code-bar button,.question-prompt .code-heading button{opacity:1;font-size:11px}
.question-submitting{display:flex;align-items:center;gap:8px;min-height:38px;padding:9px 13px;color:var(--cd-muted);font-size:12px;line-height:1.5}
.question-submitting .cardeal-icon{width:15px;height:15px;min-width:15px}
.question-history{border-left:1px solid var(--cd-border);padding:3px 11px;margin:8px 0 12px;color:var(--cd-muted);font-size:12px;min-width:0}
.question-history>summary{display:flex;align-items:center;gap:7px;min-height:27px;list-style:none;font-size:11px;line-height:1.5;cursor:pointer}
.question-history>summary::-webkit-details-marker{display:none}
.question-history>summary::before{content:'';display:inline-block;flex:none;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg);margin-right:2px}
.question-history[open]>summary::before{transform:rotate(45deg)}
.question-history>summary .cardeal-icon,.question-history>summary .provider-icon{width:14px;height:14px;min-width:14px;margin:0}
.question-history>summary span:last-child{min-width:0;overflow-wrap:anywhere}
.question-history-prompt{margin-top:9px;color:var(--cd-fg);font-size:12px}
.question-history-options{margin:7px 0 12px;padding-left:22px;line-height:1.55;color:var(--cd-muted)}
.question-history-options li{padding:3px 0;overflow-wrap:anywhere}
.question-history-options small{display:block;font-size:11px;line-height:1.5}
.question-choice-selected{font-weight:550;color:var(--cd-fg)}
.question-choice-marker{font-size:10px;font-weight:400;color:var(--cd-muted)}
.question-history-answer{margin-top:5px;color:var(--cd-fg);font-size:12px}
.question-answer{margin:9px 0 13px;padding:9px 12px;border:1px solid var(--cd-border);border-radius:9px;background:var(--cd-surface);min-width:0}
.question-answer-label{font-size:11px;font-weight:550;line-height:1.5;color:var(--cd-muted);margin-bottom:6px}
.question-answer-text{font-size:13px;line-height:1.65;color:var(--cd-fg)}
.question-answer-text p:last-child{margin-bottom:0}
.is-dock-layout .message.user.question-response .message-label{display:block!important;font-size:11px!important;font-weight:500;line-height:1.5;color:var(--cd-muted);margin:0 0 7px}
@media(max-width:540px){.question-card .question-prompt{font-size:12px}.question-answer{padding:8px 10px}.question-submitting{padding:8px 10px}.question-history{padding-left:8px}}

/* Copy is an interaction with any surface, including menus and nested popovers. */
.transcript-copy-menu{z-index:10000!important}
#save-settings[hidden]{display:none!important}

/* Agent accounts and history use the same compact surface vocabulary. */
.settings-page .agent-account-card{padding:12px 14px;margin-top:9px;border-radius:10px;background:transparent}
.agent-account-header{justify-content:flex-start;gap:8px;flex-wrap:wrap}
.agent-account-header>strong{font-size:12px;font-weight:550;margin-right:auto;min-width:0}
.agent-account-header .provider-icon{width:17px;height:17px}
.agent-status{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.5;margin:7px 0}
.agent-account-card>.settings-note{margin:6px 0;font-size:11px;line-height:1.5}
.settings-page .agent-account-card .profile-actions{justify-content:flex-start;max-width:none;margin:9px 0 0;gap:4px}
.agent-provider-form{padding:14px;gap:9px;margin:12px 0;border-radius:10px;background:transparent}
.agent-provider-form .gateway-field{font-size:11px;gap:5px}
.history-heading h1{font-size:24px;font-weight:550;letter-spacing:-.035em}
.history-heading>p{font-size:12px;line-height:1.5;margin-top:6px}
.history-toolbar :is(input:not([type=checkbox]),select,.cardeal-select-button){min-height:30px;font-size:12px;padding:5px 8px}
.history-toolbar{gap:7px}
@media(max-width:540px){.settings-page .agent-account-card{padding:10px 11px}.agent-provider-form{padding:11px}.history-heading h1{font-size:22px}}

/* Tab titles are content; only the separate grip starts a panel drag. */
.dock-tabs{cursor:default;touch-action:auto}
.dock-tab{display:inline-flex;align-items:center;gap:4px;cursor:default;min-width:0;user-select:text;-webkit-user-select:text}
.dock-tab-title{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:text;user-select:text;-webkit-user-select:text}
.dock-tab-grip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:12px;height:18px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;color:var(--cd-muted)}
.dock-tab-grip .cardeal-icon{width:11px;height:15px;stroke-width:2}
.dock-tab-grip:active{cursor:grabbing}
.dock-grip{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:24px;padding:4px;user-select:none;-webkit-user-select:none}
.dock-grip .cardeal-icon{width:14px;height:17px;stroke-width:2}

/* The floating resize handle stays above the compact Recents overlay and sash. */
.dock-floating .dock-float-resize{z-index:50}

.menu-item-label{min-width:0;user-select:text;-webkit-user-select:text;cursor:inherit}

#menu .nav-item>.menu-item-label,#menu .new-chat>.menu-item-label,#menu .menu-float>.menu-item-label{display:inline!important}

/* Question receipts share the activity tree; only their details are expanded. */
.question-activity > summary > .provider-icon{flex:0 0 auto;width:14px;height:14px}
.question-activity .activity-detail.question-history{margin:0;padding:8px 12px;border:0}
.question-activity .question-history-options{margin-top:6px}

/* Mermaid stays in a contained drawing surface; labels and source remain selectable. */
.chat-mermaid{margin:14px 0;border:1px solid var(--cd-border);border-radius:12px;background:var(--cd-surface);color:var(--cd-fg);overflow:hidden;min-width:0;max-width:100%;font-size:12px}
.mermaid-bar{display:flex;align-items:center;gap:10px;padding:8px 11px;border-bottom:1px solid var(--cd-border);min-width:0}
.mermaid-title{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--cd-muted);white-space:nowrap}.mermaid-title .cardeal-icon{width:14px;height:14px}
.mermaid-views{display:flex;gap:2px;margin-left:auto;padding:2px;border-radius:7px;background:var(--cd-soft)}
.mermaid-view,.mermaid-copy,.mermaid-control{border:0;background:transparent;color:var(--cd-muted);font:inherit;font-size:11px;cursor:pointer;border-radius:5px}
.mermaid-view{padding:4px 9px}.mermaid-view[aria-pressed=true]{background:var(--cd-surface);color:var(--cd-fg);box-shadow:0 1px 3px #0002}.mermaid-view:disabled{opacity:.4;cursor:default}
.mermaid-copy{color:var(--cd-link);padding:4px 5px;white-space:nowrap}.mermaid-copy:hover,.mermaid-control:hover{background:var(--cd-soft);color:var(--cd-fg)}
.mermaid-viewport{overflow:auto;max-width:100%;max-height:440px;min-height:88px;padding:18px 14px;scrollbar-width:thin;user-select:text}
.mermaid-viewport svg{display:block;margin:auto;max-width:none!important;user-select:text}.mermaid-viewport svg text,.mermaid-viewport svg tspan{user-select:text;cursor:text}
.mermaid-tools{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:5px 9px;border-top:1px solid var(--cd-border)}
.mermaid-control{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px}.mermaid-control .cardeal-icon{width:14px;height:14px}.mermaid-percent{font-size:10px;color:var(--cd-muted);min-width:35px;text-align:center;font-variant-numeric:tabular-nums}
.mermaid-status{padding:16px 12px;color:var(--cd-muted);font-size:12px;line-height:1.6}.chat-mermaid[data-state=loading] .mermaid-status::before{content:'';display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;border:1.5px solid var(--cd-muted);border-top-color:transparent;animation:spin .8s linear infinite}
.mermaid-source.chat-code{margin:0;padding:10px 12px;border:0;border-radius:0}.mermaid-source pre{margin:0;max-height:420px;overflow:auto;user-select:text}.mermaid-source pre code{white-space:pre;font-size:12px}
.mermaid-measure{position:fixed;left:-100000px;top:0;width:1600px;visibility:hidden;pointer-events:none}
.mermaid-dialog{width:min(1200px,calc(100vw - 40px));max-width:calc(100vw - 24px);height:min(880px,calc(100vh - 48px));max-height:calc(100vh - 24px);padding:0;border:1px solid var(--cd-border);border-radius:12px;background:var(--cd-surface);color:var(--cd-fg);box-shadow:0 18px 80px #0008}
.mermaid-dialog[open]{display:flex;flex-direction:column}.mermaid-dialog::backdrop{background:#0009}.mermaid-dialog .mermaid-viewport{flex:1;max-height:none;min-height:0}.mermaid-dialog .mermaid-tools{flex:none}
.mermaid-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--cd-border);font-size:12px}
@media(max-width:540px){.mermaid-bar{gap:5px;padding:7px}.mermaid-title{font-size:10px;gap:4px}.mermaid-view{padding:4px 6px}.mermaid-copy{font-size:10px}.mermaid-viewport{max-height:350px;padding:12px 8px}.mermaid-dialog{width:calc(100vw - 24px);height:calc(100vh - 24px)}}
@media(prefers-reduced-motion:reduce){.chat-mermaid .mermaid-status::before{animation:none}}

/* Settings respond to their own pane width, including a narrow split in a wide window. */
.settings-compact-bar,.settings-nav-backdrop{display:none}
.is-dock-layout .settings-page{position:relative;display:flex;flex-flow:row nowrap;align-items:stretch;min-width:0;min-height:0;overflow:hidden}
.is-dock-layout .settings-page .settings-nav{display:flex;flex-direction:column;flex:0 0 184px;min-width:184px;width:184px;gap:0;overflow-x:hidden;overflow-y:auto;padding:18px 10px;border-bottom:0;border-right:1px solid var(--cd-border)}
.settings-page .settings-link{flex:none;width:100%;min-height:34px;height:auto;justify-content:flex-start;margin:1px 0;padding:7px 9px;text-align:left}
.settings-page .settings-link span{font-size:12px;white-space:normal;line-height:1.45}
.is-dock-layout .settings-page .settings-content{width:auto;min-width:0;min-height:0;flex:1 1 0}
.settings-page .settings-nav-footer{display:flex;flex-direction:column}
.is-dock-layout .settings-page[data-compact=true]{flex-direction:column}
.settings-page[data-compact=true] .settings-compact-bar{display:flex;align-items:center;gap:9px;height:39px;min-height:39px;padding:4px 10px;border-bottom:1px solid var(--cd-border);background:var(--cd-bg)}
.settings-compact-bar strong{font-size:12px;font-weight:550;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.is-dock-layout .settings-page[data-compact=true] .settings-nav{display:none;position:absolute;z-index:18;top:43px;left:8px;width:min(270px,calc(100% - 16px));min-width:0;max-height:calc(100% - 51px);padding:9px;flex:none;border:1px solid var(--cd-border);border-radius:9px;background:var(--cd-surface);box-shadow:0 8px 28px var(--cd-shadow)}
.is-dock-layout .settings-page[data-compact=true][data-nav-open=true] .settings-nav{display:flex}
.settings-page[data-compact=true][data-nav-open=true] .settings-nav-backdrop{display:block;position:absolute;inset:39px 0 0;z-index:17;background:#00000030}
.is-dock-layout .settings-page[data-compact=true] .settings-content{width:100%;flex:1;min-height:0;padding:18px clamp(12px,3vw,24px)}
.settings-page[data-compact=true] .settings-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
.settings-page[data-compact=true] .settings-heading h1{font-size:23px}
.settings-page[data-compact=true] .settings-heading p{font-size:12px;line-height:1.5}
.settings-page[data-compact=true] .settings-heading>.primary-button{font-size:12px;padding:7px 11px}
.settings-page .provider-dependencies{margin-top:12px;padding-top:9px;border-top:1px solid var(--cd-border);min-width:0}
.provider-dependency-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}
.settings-page .provider-dependency-heading button{font-size:11px;min-height:26px;padding:4px 7px}
.settings-page .provider-dependencies .setting-row{padding:8px 0;flex-wrap:wrap;gap:8px;border-bottom:0}
.settings-page .provider-dependencies .setting-info{min-width:0;flex:1 1 190px}
.settings-page .provider-dependencies .setting-info p{overflow-wrap:anywhere;font-size:11px}
.settings-page .provider-dependencies .profile-actions{margin:0;max-width:100%}
.settings-page .provider-dependencies>.settings-note{display:block;font-size:11px;line-height:1.5}
.settings-page[data-compact=true] .setting-row{flex-wrap:wrap}
.settings-page[data-compact=true] .setting-row>.setting-info{flex:1 1 100%}
.settings-page[data-compact=true] .setting-row>:is(input:not([type=checkbox]),select,.cardeal-select){width:100%;max-width:none}
.settings-page[data-compact=true] :is(.form-grid,.gateway-form-grid){grid-template-columns:minmax(0,1fr)}

/* Compact attachments and an accessible, local image lightbox. */
.attachment-image{position:relative;display:inline-flex;flex:none;width:112px;height:96px;padding:0;border:1px solid var(--cd-border);border-radius:10px;overflow:hidden;background:var(--cd-surface)}
.attachment-image-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.attachment-image img{width:100%;height:100%;object-fit:contain;display:block}
.attachment-image>.icon-button{position:absolute;right:4px;top:4px;width:20px;height:20px;padding:3px;border:0;border-radius:50%;background:var(--vscode-editor-background,#222);color:var(--cd-fg);opacity:.95}
.attachments-clear{display:inline-flex;align-items:center;gap:5px;align-self:center;background:transparent;border:0;color:var(--cd-muted);font:inherit;font-size:11px;padding:5px 7px;border-radius:6px;cursor:pointer}.attachments-clear:hover{background:var(--cd-soft);color:var(--cd-fg)}.attachments-clear .cardeal-icon{width:13px;height:13px}
.message-attachments{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0}.message-attachment.attachment-image{width:136px;height:112px;cursor:zoom-in}.message-attachment.attachment-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border:1px solid var(--cd-border);border-radius:8px;background:var(--cd-surface);color:var(--cd-fg);font:inherit;font-size:12px;cursor:pointer}.message-attachment span{overflow:hidden;text-overflow:ellipsis}
.image-viewer{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.9);color:#eee;display:flex;align-items:center;justify-content:center;outline:none}.image-viewer-stage{position:absolute;inset:62px 0 76px;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-viewer-stage img{max-width:none;max-height:none;flex:none;object-fit:contain;transform-origin:center;user-select:none;touch-action:none;border-radius:8px;will-change:transform}
.image-viewer-top{position:absolute;inset:12px 14px auto;display:flex;align-items:center;gap:8px;z-index:2}.image-viewer-caption{margin-right:auto;font-size:12px}.image-viewer-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #ffffff18;border-radius:50%;color:#eee;background:#292929;cursor:pointer}.image-viewer-button:hover{background:#444}.image-viewer-button:focus-visible{outline:2px solid var(--cd-focus,#007acc);outline-offset:2px}.image-viewer-button .cardeal-icon{width:17px;height:17px}.image-viewer-nav{position:absolute;top:50%;z-index:2}.image-viewer-nav.previous{left:14px;transform:rotate(180deg)}.image-viewer-nav.next{right:14px}.image-viewer-nav[hidden]{display:none}.image-viewer-zoom{position:absolute;bottom:18px;display:flex;align-items:center;gap:12px;border-radius:30px;padding:5px;background:#292929}.image-viewer-percent{min-width:40px;text-align:center;font-size:12px}

.work-changes{border:1px solid var(--cd-border);border-radius:10px;padding:8px 10px;margin-bottom:8px;background:var(--cd-surface);font-size:12px}.work-changes>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none}.work-changes>summary>.cardeal-icon{width:14px;height:14px}.work-changes-show{margin-left:auto;color:var(--cd-muted);font-size:11px}.work-changes[open] .work-changes-show{font-size:0}.work-changes[open] .work-changes-show:after{content:'Ocultar alterações';font-size:11px}.work-changes-list{max-height:240px;overflow:auto;scrollbar-width:thin}.work-change{border-top:1px solid var(--cd-border);margin-top:8px;padding-top:8px}.work-change>summary{display:flex;gap:6px;align-items:center;cursor:pointer}.work-change-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-change small{flex:none;color:var(--cd-muted)}.work-change-actions{display:flex;gap:7px;margin:8px 0;flex-wrap:wrap}.work-change-diff{font:11px/1.6 var(--vscode-editor-font-family,monospace);white-space:pre;overflow:auto;max-height:240px;padding:8px;background:var(--cd-bg);border-radius:6px}.work-change-diff span{display:inline;min-height:1em;white-space:pre}.diff-added{color:var(--vscode-gitDecoration-addedResourceForeground,#65bb86)}.diff-removed{color:var(--vscode-gitDecoration-deletedResourceForeground,#ee8181)}

.dock-external-drop{outline:2px solid var(--cd-focus);outline-offset:-3px}

.attachment-list,.message-attachments{align-items:center}.attachment-list .file-attachment{display:inline-flex;align-items:center;align-self:center;gap:6px;max-width:100%;height:auto;min-height:30px;padding:4px 8px;border-radius:8px}.file-attachment>span{min-width:0;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attachment>.cardeal-icon{flex:none;width:15px;height:15px}

/* One model control, with its supported options grouped in the same picker. */
#model-picker{background:var(--cd-surface);width:320px;max-height:calc(100dvh - 16px);margin:0;padding:8px;backdrop-filter:none}
#model-picker #model-options{max-height:190px;overflow:auto;overscroll-behavior:contain;flex:none}
#model-picker #model-status:empty{display:none}
#model-picker #model-status{font-size:11px;color:var(--cd-muted)}
#model-picker .picker-heading{gap:5px;font-size:12px;padding:2px 3px}
#model-picker .picker-heading strong{margin-right:auto;font-weight:550}
#model-picker .model-option{font-size:12px;min-height:30px}
#model-picker #effort-picker{position:static;width:100%;border:0;border-top:1px solid var(--cd-border);border-radius:0;box-shadow:none;padding:10px 5px 8px;margin:7px 0 0;background:transparent}
#model-picker .effort-heading{gap:6px}
#model-picker .effort-heading-label{color:var(--cd-muted);font-size:12px;margin-right:auto}
#model-picker #effort-value{font-size:12px}
#model-picker .effort-track{margin:18px 12px 12px}
#model-picker #effort-range::-webkit-slider-thumb{width:19px;height:19px}
#model-picker #effort-description{font-size:11px;text-align:left;max-height:56px;line-height:1.4}
#model-picker .model-settings{display:flex;flex-direction:column;gap:3px}
#model-picker .model-settings:not(:has(> :not(.hidden))){display:none}
#model-picker .model-toggle{width:100%;height:32px;display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:5px;color:var(--cd-fg);font-size:12px}
#model-picker .model-toggle:hover{background:var(--cd-soft)}
#model-picker .model-setting-label{margin-right:auto}
#model-picker .model-toggle>.cardeal-icon{width:16px;height:16px;color:var(--cd-muted)}
.model-setting-switch{width:26px;height:15px;border-radius:10px;background:var(--cd-soft);border:1px solid var(--cd-strong);padding:2px;flex:none}
.model-setting-switch:after{content:'';display:block;width:9px;height:9px;background:var(--cd-muted);border-radius:50%}
[aria-checked=true]>.model-setting-switch{background:var(--cd-accent);border-color:var(--cd-accent)}
[aria-checked=true]>.model-setting-switch:after{transform:translateX(11px);background:var(--cd-surface)}
#model-picker .context-control{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 6px;font-size:12px}
#model-picker .context-control .cardeal-select{max-width:130px}
.is-dock-layout .composer-models .model-trigger{gap:5px;max-width:260px}
.model-effort-label,.model-fast-indicator{flex:none;color:var(--cd-muted)}
.model-fast-indicator{display:flex;color:var(--cd-accent)}
.model-fast-indicator .cardeal-icon{width:13px;height:13px}
.model-effort-label[hidden],.model-fast-indicator[hidden]{display:none}
@container cardeal-pane (max-width:550px){.is-dock-layout .composer-models .model-trigger{max-width:min(260px,100cqi - 105px)}}
@container cardeal-pane (max-width:350px){.is-dock-layout .composer-models{display:flex;flex-wrap:nowrap;width:100%;justify-content:flex-end}.is-dock-layout .composer-models .model-trigger{min-width:0;max-width:100%;flex:0 1 auto}.is-dock-layout .composer-send-actions{flex:none}}
.conversation-viewport{position:relative;display:flex;flex:1;min-width:0;min-height:0}
.conversation-latest{position:absolute;z-index:8;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:8px;border-radius:50%;border:1px solid var(--cd-strong);background:var(--cd-surface);color:var(--cd-fg);box-shadow:0 2px 8px var(--cd-shadow)}
.conversation-latest:hover{background:var(--cd-soft)}
.conversation-latest[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){.conversation-latest{transition:background-color .12s}}

.context-usage-trigger{flex:none;width:26px;height:28px;padding:5px;color:var(--cd-muted)}
.context-usage-trigger svg{width:18px;height:18px;fill:none;stroke-width:2;overflow:visible;transform:rotate(-90deg)}
.context-ring-track{stroke:var(--cd-strong)}
#context-ring-used{stroke:var(--cd-muted);stroke-linecap:round}
.context-usage-unknown .context-ring-track{stroke-dasharray:2 2}
.context-usage-picker{position:fixed;z-index:120;width:280px;max-width:calc(100vw - 16px);padding:12px;background:var(--cd-surface);border:1px solid var(--cd-strong);border-radius:12px;box-shadow:0 6px 20px var(--cd-shadow);text-align:center}
.context-usage-picker .picker-heading{font-size:12px;text-align:left}
.context-usage-picker .picker-heading strong{margin-right:auto}
#context-usage-percent{display:block;margin-top:7px;font-size:13px;font-weight:550}
#context-usage-tokens{margin-top:3px;font-size:12px;color:var(--cd-fg)}
#context-usage-note{display:block;margin-top:8px;color:var(--cd-muted);font-size:11px;line-height:1.5}

/* Compact session history: one multi-select and an inline search action. */
#history-page{padding:18px clamp(12px,3vw,40px)}
#history-page .history-heading h1{font-size:14px;font-weight:650;letter-spacing:0;line-height:1.4;margin:0}
#history-page .history-toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));align-items:end;gap:8px 12px;margin:14px 0 10px}
.history-source-field{min-width:0;display:grid;gap:4px}
#history-filter-label{font-size:11px;color:var(--cd-muted);line-height:1.4}
#history-filter-menu{position:relative;width:100%;max-width:none;margin:0;border:0;background:none}
#history-filter-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;padding:7px 10px;min-height:34px;border:1px solid var(--cd-border);border-radius:6px;background:var(--cd-raised);color:var(--cd-fg);font-size:12px}
#history-filter-menu>summary::-webkit-details-marker{display:none}
#history-filter-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.history-filter-chevron{display:flex;flex:none;color:var(--cd-muted)}
#history-source-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:40;display:flex;flex-direction:column;max-height:min(330px,60dvh);overflow:auto;overscroll-behavior:contain;padding:5px;gap:1px;border:1px solid var(--cd-strong);border-radius:8px;background:var(--cd-surface);box-shadow:0 8px 24px var(--cd-shadow)}
#history-source-options .origin-filter{min-height:30px;padding:5px 8px;font-size:12px}
#history-source-options hr{width:100%;margin:4px 0;border:0;border-top:1px solid var(--cd-border)}
#history-search-form{position:relative;min-width:0;align-self:end}
#history-search{display:block;width:100%;min-height:34px;font-size:12px;padding:7px 38px 7px 10px}
#history-refresh{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:28px;height:28px;padding:6px;color:var(--cd-muted);border-radius:5px}
#history-refresh:hover{background:var(--cd-soft);color:var(--cd-fg)}
#history-total{grid-column:1/-1;text-align:right;font-size:11px;color:var(--cd-muted);line-height:1.4}
#history-page .history-list{gap:5px}
#history-page .history-card{padding:10px 11px;margin:0}
#history-page .native-date-heading{margin:16px 2px 2px;font-size:11px;color:var(--cd-muted);font-weight:500}
#history-page .native-date-heading:first-child{margin-top:3px}
.history-archive-badge{display:inline-flex;align-items:center;padding:1px 5px;border:1px solid var(--cd-border);border-radius:4px;font-size:10px;line-height:16px;color:var(--cd-muted);white-space:nowrap;flex:none}
#history-page .history-more{justify-self:start;font-size:12px;margin-top:8px}

/* Shared session-list filtering and selection. */
.recent-header{display:flex;align-items:center;justify-content:space-between;padding:10px 10px 6px;gap:8px;letter-spacing:0;text-transform:none}
.recent-header strong{font-size:12px;font-weight:650;color:var(--cd-fg)}.recent-header-actions{display:flex;align-items:center;gap:2px}.recent-header-actions .icon-button{width:25px;height:25px;padding:5px}
.recent-source-field{display:grid;gap:4px;margin:2px 9px 7px;min-width:0}#recent-filter-label{font-size:11px;color:var(--cd-muted)}
#recent-filter-menu{position:relative;max-width:none;width:100%;margin:0;border:0;background:none}
#recent-filter-menu>summary{display:flex;align-items:center;gap:6px;list-style:none;padding:6px 8px;min-height:32px;border:1px solid var(--cd-border);border-radius:6px;background:var(--cd-raised);color:var(--cd-fg);font-size:12px}
#recent-filter-menu>summary::-webkit-details-marker{display:none}#recent-filter-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-filter-chevron{display:flex;flex:none}
#recent-source-options{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:45;display:flex;flex-direction:column;max-height:min(330px,60dvh);overflow:auto;padding:5px;gap:1px;border:1px solid var(--cd-strong);border-radius:8px;background:var(--cd-surface);box-shadow:0 8px 24px var(--cd-shadow)}
#recent-source-options .origin-filter{padding:5px 7px;min-height:30px;font-size:12px}#recent-source-options hr{width:100%;margin:4px 0;border:0;border-top:1px solid var(--cd-border)}
#recent-search-form{position:relative;flex:none;margin:0 9px 8px;min-width:0}#recent-search{width:100%;margin:0;min-height:32px;padding:6px 35px 6px 9px;font-size:12px}
#recent-refresh{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:27px;height:27px;padding:6px;border-radius:5px;color:var(--cd-muted)}#recent-refresh:hover{background:var(--cd-soft);color:var(--cd-fg)}
.history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-heading>.icon-button{width:26px;height:26px;padding:5px}
.session-selection-bar{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 0;font-size:12px;color:var(--cd-muted);flex:none}.session-selection-bar[hidden],.session-batch-result[hidden]{display:none}
#recent-selection,#recent-batch-result{margin:0 10px;font-size:11px}.session-selection-bar>input{width:14px;height:14px;flex:none;margin:0}.selection-count{min-width:0;flex:1}
.session-batch-actions{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:4px 6px;border-radius:5px;color:var(--cd-fg)}.session-batch-actions:hover{background:var(--cd-soft)}.session-batch-actions .cardeal-icon{width:12px;height:12px}.session-selection-bar>.icon-button{width:24px;height:24px;padding:5px;flex:none}
.session-batch-result{font-size:12px;color:var(--cd-muted);padding:4px 0 9px;overflow-wrap:anywhere;flex:none}.session-batch-result p{font-size:11px;margin:3px 0}.session-batch-result summary{cursor:pointer;padding:4px 0}
.conversation-list-card{grid-template-columns:16px minmax(0,1fr) auto!important;column-gap:6px!important}.conversation-list-card>.session-select{grid-column:1;grid-row:1;align-self:center;width:14px;height:14px;margin:0;cursor:pointer}
.conversation-list-card>.recent-session,.conversation-list-card>.history-open{grid-column:2}.conversation-list-card>.conversation-row-actions{grid-column:3}.conversation-list-card>.conversation-card-meta{grid-column:2/-1}
:is(#recent-sessions,#history-list):not(.is-selecting) .conversation-list-card:not(:hover):not(:focus-within):not(.selected-session)>.session-select{opacity:0}.conversation-list-card.selected-session{box-shadow:inset 0 0 0 1px var(--cd-accent);background:var(--cd-soft)}
.batch-menu-title{display:block;font-size:12px;font-weight:600;padding:6px 9px;color:var(--cd-muted)}.dock-context-menu button{display:flex;align-items:center;gap:9px}.dock-context-menu .cardeal-icon,.dock-context-menu .provider-icon{width:16px;height:16px;flex:none}
.recents-toggle-icon{display:flex}.recents-toggle-icon .cardeal-icon{width:18px;height:18px}.recents-toggle-icon:before,.recents-toggle-icon:after{display:none!important}
/* Actual conversation-column width controls the compact one-line composer. */
.conversation-pane{container:composer-pane / inline-size}.select-control-icon,.model-control-icon{display:none}
@container composer-pane (max-width:820px){
 .is-dock-layout .composer-toolbar{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:4px}
 .is-dock-layout .composer-selects{flex:none;display:flex;align-items:center;flex-wrap:nowrap;width:auto;gap:3px;margin:0}
 .is-dock-layout .composer-models{flex:1;display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end;width:auto;gap:3px;margin:0;min-width:0}
 .composer-toolbar #selected-provider-icon{display:none}.is-dock-layout .composer-selects .cardeal-select[data-for]{flex:none;width:28px;max-width:28px;min-width:0}
 .composer-toolbar .cardeal-select-button{width:28px;height:28px;min-height:28px;padding:5px;justify-content:center}.composer-toolbar .cardeal-select .select-label,.composer-toolbar .cardeal-select .select-arrow{display:none}
 .composer-toolbar .select-control-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:none}.select-control-icon .provider-icon,.select-control-icon .cardeal-icon{width:17px;height:17px}
 .is-dock-layout .composer-models .model-trigger{flex:0 1 auto;max-width:200px;min-width:0}.composer-toolbar .composer-send-actions{margin:0;gap:3px;align-items:center}
 .composer-toolbar .stop-label{display:none}.composer-toolbar #stop-button{width:32px;min-width:32px;padding:7px;margin:0}
}
@container composer-pane (max-width:550px){
 .is-dock-layout .composer-selects,.is-dock-layout .composer-models{gap:2px}.composer-toolbar #model-label,.composer-toolbar #model-effort-label,.composer-toolbar #model-fast-indicator,.composer-toolbar .model-chevron{display:none}
 .composer-toolbar .model-control-icon{display:flex;align-items:center;justify-content:center}.is-dock-layout .composer-models .model-trigger{flex:none;width:27px;max-width:27px;height:28px;padding:5px}
 .composer-toolbar #context-usage-trigger{width:24px;padding:4px}.composer-toolbar .composer-attach,.composer-toolbar .composer-redirect{width:26px;height:28px;padding:5px}
 .composer-toolbar #send-button,.composer-toolbar #stop-button{width:30px;height:30px;min-width:30px}.composer-toolbar #add-menu>summary{width:28px;height:28px;padding:5px}.composer-toolbar #access-trigger{width:27px;min-width:27px;height:28px;padding:5px}
}
.composer-toolbar .cardeal-select[hidden]{display:none!important}

.recents-toggle-icon{border:0;background:none;width:18px;height:18px;border-radius:0}

/* Host surfaces stay transparent in native mode. Painting the same alpha token
   on every nested layout would compound opacity and hide the host background. */
body{--cd-menu-bg:var(--cd-surface);--cd-menu-fg:var(--cd-fg);--cd-menu-border:var(--cd-strong);--cd-menu-hover:var(--cd-selected);--cd-menu-hover-fg:var(--cd-selected-fg);--cd-menu-separator:var(--cd-border)}
body[data-presentation=sidebar]{--cd-host-bg:var(--vscode-sideBar-background,var(--vscode-editor-background,#1e1e1e))}
body[data-presentation=panel]{--cd-host-bg:var(--vscode-panel-background,var(--vscode-editor-background,#1e1e1e))}
body[data-template=vscode]{
 background:transparent;
 --cd-menu-bg:var(--vscode-menu-background,var(--vscode-editorWidget-background,var(--cd-host-bg)));
 --cd-menu-fg:var(--vscode-menu-foreground,var(--vscode-foreground,#cccccc));
 --cd-menu-border:var(--vscode-menu-border,var(--vscode-contrastBorder,var(--cd-border)));
 --cd-menu-hover:var(--vscode-menu-selectionBackground,var(--vscode-list-activeSelectionBackground,#094771));
 --cd-menu-hover-fg:var(--vscode-menu-selectionForeground,var(--vscode-list-activeSelectionForeground,var(--cd-fg)));
 --cd-menu-separator:var(--vscode-menu-separatorBackground,var(--cd-border));
}
body[data-template=vscode] :is(.app,.main,.dock-root,.dock-split,.dock-branch,.dock-group,.dock-content,.chat-page,.chat-workspace,.conversation-pane,.conversation,.composer-area,.settings-page,.settings-content,.settings-nav,.history-page,.topbar,.dock-tabs,.dock-controls){background:transparent}
body[data-template=vscode] .dock-tab[aria-selected=true]{background:transparent}
body[data-template=vscode][data-presentation=editor] .dock-tabs{background:var(--vscode-editorGroupHeader-tabsBackground,transparent)}
body[data-template=vscode][data-presentation=editor] .dock-tab[aria-selected=true]{background:var(--vscode-tab-activeBackground,transparent);color:var(--vscode-tab-activeForeground,var(--cd-fg))}
body[data-template=vscode] .settings-page[data-compact=true] .settings-compact-bar{background:transparent}
body[data-template=vscode] .is-dock-layout .composer{background:var(--vscode-input-background,var(--cd-surface));border-color:var(--vscode-input-border,var(--cd-border))}
body[data-template=vscode] .is-dock-layout .composer:focus-within{border-color:var(--cd-focus)}
body[data-template=vscode] .message.user .message-text{background:var(--vscode-chat-requestBubbleBackground,var(--vscode-chat-requestBackground,var(--cd-raised)))}
/* Only the small, visible popup gets blur, never the conversation or workbench. */
body[data-template=vscode] :is(#menu.cardeal-menu-popup,.conversation-menu,.dock-context-menu,.cardeal-select-popup,.toolbar-popover,#model-picker,.effort-picker,.access-picker,.usage-picker,.memory-picker,.context-usage-picker,.slash-picker,#recent-source-options,#history-source-options,.attachment-source){background:var(--cd-menu-bg);color:var(--cd-menu-fg);border-color:var(--cd-menu-border);box-shadow:0 8px 26px var(--cd-shadow);backdrop-filter:blur(12px)}
body[data-template=vscode] :is(#menu,.conversation-menu,.dock-context-menu,.cardeal-select-popup,.toolbar-popover,#model-picker,.effort-picker,.access-picker,.usage-picker,.memory-picker,.context-usage-picker,.slash-picker,#recent-source-options,#history-source-options,.attachment-source) button{color:inherit}
body[data-template=vscode] :is(.conversation-menu-item,.dock-context-menu button,.cardeal-select-option,.slash-option,.origin-filter,.toolbar-popover button,#menu .nav-item,.access-picker button):is(:hover,:focus-visible),body[data-template=vscode] .cardeal-select-option[data-active=true],body[data-template=vscode] .slash-option[aria-selected=true]{background:var(--cd-menu-hover);color:var(--cd-menu-hover-fg)}
body[data-template=vscode] :is(#menu .sidebar-bottom,#menu .menu-float,.conversation-menu-item:last-of-type,.usage-picker footer,.memory-picker article){border-color:var(--cd-menu-separator)}
body[data-template=vscode] #menu .new-chat{color:var(--cd-accent-fg)}
body[data-template=vscode] ::selection{background:var(--vscode-editor-selectionBackground,var(--vscode-selection-background,#264f78))}
body[data-template=vscode] ::-webkit-scrollbar-track,body[data-template=vscode] ::-webkit-scrollbar-corner{background:transparent}
body[data-template=vscode] ::-webkit-scrollbar-thumb{background:var(--vscode-scrollbarSlider-background,#79797966)}
body[data-template=vscode] ::-webkit-scrollbar-thumb:hover{background:var(--vscode-scrollbarSlider-hoverBackground,#646464b3)}
body[class*=vscode-high-contrast] :is(#menu.cardeal-menu-popup,.conversation-menu,.dock-context-menu,.cardeal-select-popup,.toolbar-popover,#model-picker,.effort-picker,.access-picker,.usage-picker,.memory-picker,.context-usage-picker,.slash-picker,#recent-source-options,#history-source-options,.attachment-source){backdrop-filter:none;border-color:var(--vscode-contrastBorder,var(--cd-focus))}

/* Readable fallbacks when a theme does not expose syntax colors to webviews. */
body[data-palette=light]{--cd-syntax-keyword:#8000a0;--cd-syntax-string:#a31515;--cd-syntax-number:#098658}
body[class*=vscode-high-contrast] :is(.hljs-keyword,.hljs-selector-tag,.hljs-string,.hljs-attr,.hljs-number,.hljs-literal,.hljs-comment,.hljs-title,.hljs-function){color:var(--cd-fg)}

body[data-template=vscode] #model-picker .effort-picker{background:transparent;backdrop-filter:none;box-shadow:none}
body[data-template=vscode] #model-picker .model-option[aria-pressed=true]{background:var(--cd-menu-hover);color:var(--cd-menu-hover-fg)}
body[data-template=vscode] :is(#recent-source-options hr,#history-source-options hr){border-color:var(--cd-menu-separator)}

/* Recentes can overlay the transcript in a narrow pane. Flatten the themed
   color onto a solid backing so underlying messages never bleed through. */
body{--cd-opaque-base:#1e1e1e}
body[data-palette=light]{--cd-opaque-base:#ffffff}
body.vscode-high-contrast{--cd-opaque-base:#000000}
body.vscode-high-contrast-light{--cd-opaque-base:#ffffff}
body[data-template=vscode] .conversation-recents{background:linear-gradient(var(--cd-bg),var(--cd-bg)),var(--cd-opaque-base);backdrop-filter:none}

/* One opaque host-colored canvas; inner layout layers remain transparent. */
body[data-template=vscode]{background:linear-gradient(var(--cd-host-bg),var(--cd-host-bg)),var(--cd-opaque-base)}
body[data-template=vscode] :is(#menu.cardeal-menu-popup,.conversation-menu,.dock-context-menu,.cardeal-select-popup,.toolbar-popover,#model-picker,.effort-picker,.access-picker,.usage-picker,.memory-picker,.context-usage-picker,.slash-picker,#recent-source-options,#history-source-options,.attachment-source){background:linear-gradient(var(--cd-menu-bg),var(--cd-menu-bg)),var(--cd-opaque-base);backdrop-filter:none}
body[data-template=vscode] #model-picker .effort-picker{background:transparent;backdrop-filter:none;box-shadow:none}
#composer .composer-rich-text :is(p,li,blockquote,h1,h2,h3){color:inherit}
#composer textarea::placeholder,#composer .composer-rich-text p.is-editor-empty:first-child:before{color:var(--vscode-input-placeholderForeground,var(--cd-muted))}
.conversation-menu-item>.provider-icon{flex:0 0 16px;width:16px;height:16px;min-width:16px;max-width:16px}
.conversation-menu-item>.provider-icon .provider-mark{width:16px;height:16px;max-width:16px;object-fit:contain}
#history-page .history-card{border:0;border-radius:6px;background:transparent;box-shadow:none;padding:9px 8px;margin:2px 0}
#history-page .history-card:hover{background:var(--cd-soft)}
#history-page .conversation-title{font-weight:500}
.conversation-list-card.active,#history-page .history-card.active{background:var(--vscode-list-inactiveSelectionBackground,var(--cd-soft));box-shadow:inset 2px 0 var(--cd-focus)}
.conversation-list-card.open-elsewhere,#history-page .history-card.open-elsewhere{background:color-mix(in srgb,var(--cd-focus) 8%,transparent);box-shadow:inset 2px 0 color-mix(in srgb,var(--cd-focus) 55%,transparent)}
.session-open-badge{font-size:9px;color:var(--cd-link);padding:0 4px;border:1px solid color-mix(in srgb,var(--cd-link) 45%,transparent);border-radius:4px;line-height:15px;white-space:nowrap}
#chat-page,.dock-group:has(#chat-page:not(.hidden)){min-width:0}
.is-dock-layout .composer-toolbar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;min-width:0}
.is-dock-layout .composer-selects{flex:none;flex-wrap:nowrap;width:auto;gap:3px}
.is-dock-layout .composer-models{flex:1;flex-wrap:nowrap;justify-content:flex-end;width:auto;min-width:0;gap:3px}
#selected-provider-icon.in-overflow{display:none}
.composer-overflow[hidden]{display:none!important}.composer-overflow-heading{display:block;font-size:10px;font-weight:500;color:var(--cd-muted);padding:5px 7px}
#composer-overflow-controls{display:flex;flex-direction:column;gap:3px}.composer-overflow-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;min-height:30px;padding:2px 7px}.composer-overflow-label{font-size:11px;white-space:nowrap;color:var(--cd-muted)}
#add-menu .toolbar-popover{width:min(330px,calc(100vw - 16px));max-height:calc(100dvh - 20px);overflow:auto}
#composer-overflow .cardeal-select[data-for]{display:block;flex:1;width:auto;max-width:200px;min-width:0}
#composer-overflow .cardeal-select-button{width:100%;height:29px;min-height:29px;padding:3px 5px;justify-content:space-between}
#composer-overflow .cardeal-select .select-label,#composer-overflow .cardeal-select .select-arrow{display:block}
#composer-overflow .cardeal-select .select-control-icon{display:none}
#composer-overflow #model-trigger{display:flex;width:auto;max-width:200px;height:29px;padding:3px 5px}
#composer-overflow :is(#model-label,#model-effort-label,.model-chevron){display:inline}
#composer-overflow .model-control-icon{display:none}
#composer-overflow #model-effort-label[hidden]{display:none}
#composer-overflow #access-trigger{width:auto;max-width:200px}#composer-overflow #access-label{display:inline}
body[data-native-editor-header=true] .dock-root>.dock-group>.dock-tabs{display:none}

/* Header chrome: one selected underline, compact panel menu and centered editor mark. */
.dock-tab-shell[data-active=true]{background:var(--vscode-tab-activeBackground,var(--cd-bg));box-shadow:inset 0 2px var(--cd-accent);}
.dock-tab-shell[data-active=true]>.dock-tab[aria-selected=true]{box-shadow:none;}
.conversation-inline-tools{position:relative;justify-content:flex-end;min-height:30px;overflow:visible;}
.conversation-inline-controls{display:flex;align-items:center;gap:1px;flex:none;}
.conversation-inline-brand{display:none;pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:21px;height:21px;align-items:center;justify-content:center;opacity:.78;}
.conversation-inline-brand .cardeal-mark{width:20px;height:20px;object-fit:contain;}
.conversation-options{display:none;width:26px;height:26px;padding:5px;}
body[data-presentation=editor] .conversation-inline-brand,body[data-presentation=editor] .conversation-options{display:flex;}
body:not([data-presentation=editor]) .conversation-inline-tools .conversation-options{display:none!important;}
body[data-presentation=editor] .dock-tabs>.conversation-menu-trigger{display:none;}
#chat-page[data-recents-position=left] .conversation-inline-controls{margin-right:auto;}
#chat-page[data-recents-position=left] .recents-toggle-icon .cardeal-icon{transform:scaleX(-1);}
.dock-panel-menu{position:fixed;z-index:180;width:240px;min-width:0;max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);overflow:auto;}
.dock-panel-menu button{display:flex;align-items:center;gap:9px;text-align:left;justify-content:flex-start;min-height:29px;padding:5px 8px;font-size:12px;line-height:1.5;}
.dock-panel-menu .cardeal-icon,.dock-panel-menu .provider-icon{width:16px;height:16px;min-width:16px;flex:none;}
@media(max-width:140px){body[data-presentation=editor] .conversation-inline-brand{display:none;}}

/* Hierarchical provider picker: one control, only levels with actual choices. */
.cardeal-select-popup.provider-menu-popup{min-width:220px;max-width:min(300px,calc(100vw - 16px));background:var(--cd-surface)}
.provider-menu-header{display:flex;align-items:center;gap:6px;min-height:29px;padding:3px 5px 6px;border-bottom:1px solid var(--cd-border);margin-bottom:3px;flex-shrink:0}
.provider-menu-heading{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--cd-muted)}
.provider-menu-back{display:flex;align-items:center;justify-content:center;width:25px;height:25px;padding:4px;border:0;border-radius:4px;background:transparent;color:inherit;flex-shrink:0}
.provider-menu-back[hidden]{display:none}
.provider-menu-back:hover{background:var(--cd-selected)}
.provider-menu-back-icon{display:flex;transform:rotate(180deg)}
.provider-menu-back-icon svg,.provider-menu-arrow svg{width:14px;height:14px}
.provider-menu-option .provider-menu-label{display:flex;flex-direction:column;min-width:0;overflow:hidden;white-space:normal}
.provider-menu-name,.provider-menu-description{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.provider-menu-description{display:block;font-size:10px;font-weight:400;color:var(--cd-muted)}
.provider-menu-option[data-active=true] .provider-menu-description{color:inherit;opacity:.8}
.provider-menu-marks{display:flex;align-items:center;gap:6px;flex-shrink:0}
.provider-menu-arrow{display:flex}

/* Session selection is a modifier gesture, with compact actions in the list header. */
.session-selection-inline{display:inline-flex;align-items:center;gap:5px;min-width:0;flex:none;color:var(--cd-muted);font-size:11px}
#recent-selection.session-selection-inline{margin:0;font-size:11px}
.session-selection-inline>input{width:14px;height:14px;margin:0 3px;accent-color:var(--cd-accent);cursor:pointer}
.session-selection-inline .selection-count{flex:none;font-variant-numeric:tabular-nums}
.session-selection-inline>.icon-button{width:24px;height:24px;padding:4px;flex:none}
.conversation-list-card{grid-template-columns:minmax(0,1fr) auto!important}
.conversation-list-card>:is(.recent-session,.history-open){grid-column:1!important}
.conversation-list-card>.conversation-row-actions{grid-column:2!important}
.conversation-list-card>:is(.conversation-card-meta,.conversation-info){grid-column:1 / -1!important}
.conversation-list-card.selected-session{box-shadow:inset 0 0 0 1px var(--cd-accent);background:var(--cd-soft)}

body #history-list .conversation-list-card.selected-session,body #recent-sessions .conversation-list-card.selected-session{background:var(--cd-soft);box-shadow:inset 0 0 0 1px var(--cd-focus);border-radius:5px}

/* One code surface shared by replies, questions and their activity history. */
.message-text,.question-prompt,.question-history-prompt{min-width:0;max-width:100%}
.chat-code-card{min-width:0;max-width:100%;width:100%;margin:14px 0 16px;overflow:hidden;border:1px solid var(--cd-border);border-radius:14px;background:color-mix(in srgb,var(--cd-surface) 65%,var(--cd-raised));color:var(--cd-fg);text-align:left}
.chat-code-card>.chat-code-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:42px;margin:0;padding:8px 12px 3px 16px;color:inherit;font:600 12px/1.4 var(--cd-font)}
.chat-code-language{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}
.chat-code-language>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-code-language>.cardeal-icon{width:16px;height:16px;min-width:16px;flex:none;opacity:.85}
.chat-code-actions{display:flex;align-items:center;gap:3px;flex:none}
.chat-code-card .chat-code-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:6px;border:0;border-radius:6px;background:transparent;color:inherit;flex:none;cursor:pointer}
.chat-code-card .chat-code-action .cardeal-icon{width:16px;height:16px;min-width:16px}
.chat-code-card .chat-code-action:is(:hover,:focus-visible),.chat-code-card .chat-code-action[aria-pressed=true]{background:var(--cd-soft);color:inherit}
.chat-code-card .chat-code-action:focus-visible{outline:1px solid var(--cd-focus);outline-offset:1px}
.chat-code-card>.chat-code-body{box-sizing:border-box;min-width:0;max-width:100%;width:100%;padding:12px 16px 18px}
body .message-text .chat-code-card>.chat-code-body>pre{display:block;box-sizing:border-box;min-width:0;max-width:100%;width:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;overflow:auto;overscroll-behavior-x:contain;white-space:pre;overflow-wrap:normal;word-break:normal;font:12px/1.7 var(--cd-mono);tab-size:4;text-align:left}
body .message-text .chat-code-card>.chat-code-body>pre>code{display:block;box-sizing:border-box;width:max-content;min-width:100%;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;white-space:pre;overflow-wrap:normal;word-break:normal;font:inherit;tab-size:inherit}
body .message-text .chat-code-card.is-wrapped>.chat-code-body>pre,body .message-text .chat-code-card.is-wrapped>.chat-code-body>pre>code{width:100%;min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
body[class*=vscode-high-contrast] .chat-code-card{border-color:var(--vscode-contrastBorder,var(--cd-focus))}
@media(max-width:420px){.chat-code-card{border-radius:11px}.chat-code-card>.chat-code-bar{gap:8px;padding-left:12px;padding-right:8px}.chat-code-card>.chat-code-body{padding:10px 12px 14px}}

/* Attachment sources are navigation rows, with a quiet keyboard focus state. */
body #attachment-source{width:min(284px,calc(100vw - 16px));padding:5px;border-radius:10px;max-height:calc(100vh - 12px);overflow:auto}
body #attachment-source .picker-heading{gap:8px;min-height:25px;padding:0 5px 3px 7px;color:var(--cd-muted)}
body #attachment-source .picker-heading strong{font-size:11px;font-weight:500;line-height:1.4}
body #attachment-source .picker-heading .icon-button{width:22px;height:22px;padding:4px;border-radius:5px;background:transparent;color:var(--cd-muted)}
body #attachment-source .picker-heading .icon-button:is(:hover,:focus-visible){background:var(--cd-soft);color:var(--cd-fg)}
body #attachment-source>.attachment-source-option{display:flex;align-items:center;gap:10px;min-height:46px;width:100%;padding:7px 9px;border:0;border-radius:6px;background:transparent;color:var(--cd-menu-fg);text-align:left;outline-offset:-2px}
body #attachment-source>.attachment-source-option:is(:hover,:focus-visible){background:var(--cd-soft);color:var(--cd-menu-fg)}
body #attachment-source>.attachment-source-option:focus-visible{outline:1px solid var(--cd-focus)}
body #attachment-source .attachment-source-icon{display:flex;flex:0 0 18px;align-items:center;justify-content:center;color:var(--cd-muted)}
body #attachment-source .attachment-source-icon .cardeal-icon{width:17px;height:17px}
body #attachment-source .attachment-source-copy{display:block;min-width:0;flex:1}
body #attachment-source .attachment-source-copy strong{display:block;font-size:12px;font-weight:500;line-height:1.5}
body #attachment-source .attachment-source-copy small{display:block;margin-top:1px;color:var(--cd-muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}
body #attachment-source>.attachment-source-option:hover strong{font-weight:600}
body #attachment-source .attachment-source-arrow{display:flex;flex:none;color:var(--cd-muted);opacity:.65}
body #attachment-source .attachment-source-arrow .cardeal-icon{width:12px;height:12px}

/* Update notices share the error/info strip without covering an existing message. */
.notice #notice-text{min-width:0;overflow-wrap:anywhere;flex:1}
.notice .notice-action{flex:none;padding:3px 7px;border-radius:4px;font-size:12px;font-weight:600;color:var(--cd-link);white-space:nowrap;background:transparent}
.notice .notice-action:is(:hover,:focus-visible){background:var(--cd-soft)}
.dependency-preference-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;padding:8px 12px}
.dependency-preferences input[type=number]{width:100px;max-width:100%}
@media(max-width:340px){.notice{flex-wrap:wrap}.notice #notice-text{flex-basis:calc(100% - 32px)}.notice .notice-action{order:1;margin-right:auto}}
