
/* Conversation column: the chat shell is the only full-column stroke. User turns keep the petrol bubble; assistant answers are plain markdown. */
.ai-messages{flex:1;min-height:0;min-width:0;overflow:auto;padding:var(--space-6);scrollbar-width:thin;overflow-wrap:anywhere}
.ai-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);color:var(--foreground-secondary);padding:var(--space-6) 0;font:400 var(--type-body)/var(--leading-body) var(--sans)}
.ai-empty p{margin:0}.ai-suggestion{min-height:40px;padding:8px 12px;text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);font:400 var(--type-body)/var(--leading-body) var(--sans)}.ai-suggestion:hover{background:var(--surface-subtle)}
.ai-message{position:relative;margin:0 auto var(--space-6);max-width:724px;font:400 var(--type-body)/1.65 var(--sans)}
.ai-message-role{font:500 var(--type-caption)/var(--leading-caption) var(--sans);color:var(--foreground-secondary);margin-bottom:var(--space-2)}
.ai-message-text{white-space:pre-wrap;overflow-wrap:anywhere}
.ai-assistant{display:grid;justify-items:stretch;align-content:start;width:100%;max-width:724px;min-width:0;padding:0;background:none;border:0;border-radius:0;container:ai-turn/inline-size}
.ai-assistant .ai-message-role{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ai-user{display:flex;flex-direction:column;align-items:flex-end}.ai-user .ai-message-role{display:none}.ai-user .ai-message-text{max-width:92%;padding:10px 15px;border:0;border-radius:var(--radius-lg);background:var(--accent);color:var(--on-accent)}.ai-assistant .ai-message-text{white-space:normal}.ai-assistant .ai-message-text>:first-child{margin-top:0}.ai-assistant .ai-message-text>:last-child{margin-bottom:0}.ai-message-text p{margin:0 0 var(--space-4)}.ai-message-text h1,.ai-message-text h2,.ai-message-text h3,.ai-message-text h4{font-size:1.08em;line-height:1.5;margin:var(--space-6) 0 var(--space-2);font-weight:600}.ai-message-text ul,.ai-message-text ol{padding-left:1.5em;margin:var(--space-3) 0 var(--space-4)}.ai-message-text li{padding-left:2px;margin:var(--space-2) 0}.ai-message-text li p{margin:var(--space-1) 0}.ai-message-text blockquote{border-left:2px solid var(--divider);padding-left:var(--space-4);margin:var(--space-4) 0;color:var(--foreground-secondary)}.ai-message-text code{font-size:.9em;padding:1px 4px;background:var(--surface-group);border-radius:4px}.ai-message-text pre{white-space:pre;max-width:100%;overflow:auto;margin:8px 0;background:var(--surface-group);padding:8px 10px;border-radius:var(--radius-sm);font-size:12px;line-height:1.5;color:var(--foreground-secondary)}.ai-message-text pre code{padding:0;background:none}.ai-message-text a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}.ai-table-scroll{max-width:100%;overflow:auto;margin:8px 0 4px;border:1px solid var(--divider);border-radius:var(--radius-sm);background:var(--surface)}.ai-message-text table{border-collapse:collapse;font-size:12px;width:100%}.ai-message-text th,.ai-message-text td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line);white-space:normal;min-width:80px}.ai-message-text th{font-weight:500;color:var(--ink2);background:var(--input)}.ai-message-text hr{border:0;border-top:1px solid var(--divider);margin:var(--space-5) 0}.ai-error{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%;border:1px solid color-mix(in srgb,var(--negative) 18%,transparent);background:color-mix(in srgb,var(--negative) 7%,var(--surface));border-radius:var(--radius-md);padding:10px 12px;margin-top:8px;color:var(--foreground-secondary);font:400 var(--type-caption)/var(--leading-caption) var(--sans)}.ai-error p{margin:0;min-width:0}.ai-error .wb-button{margin:0 0 0 auto;font-size:var(--type-caption)}.ai-error .wb-button+.wb-button{margin-left:0}
.wb-stage.chat-only .ai-empty{max-width:724px;margin:auto}
.ai-user .ai-message-text{max-width:85%;padding:12px 16px;border-radius:16px 16px 6px 16px}
/* Process entry: one subtle capsule above the answer. Collapsed hugs the line.
   Expanded width is the assistant column (container ai-turn), never the chat shell: min(100cqi, 520px). */
.ai-process{
  display:block;justify-self:start;min-width:0;width:max-content;max-width:min(85%,520px);max-width:min(85cqi,520px);
  margin:0 0 var(--space-4);padding:0 var(--space-3);
  border:0;border-radius:var(--radius-lg);background:var(--surface-subtle);
  color:var(--foreground-muted);font:400 var(--type-table)/var(--leading-table) var(--sans);
  interpolate-size:allow-keywords;
  transition:width var(--motion-panel) var(--ease-standard);
}
details.ai-process[open]{width:min(100%,520px);width:min(100cqi,520px);max-width:min(100%,520px);max-width:min(100cqi,520px)}
.ai-process::details-content{
  block-size:0;overflow:clip;opacity:0;
  transition:content-visibility var(--motion-panel) allow-discrete,block-size var(--motion-panel) var(--ease-standard),opacity var(--motion-panel) var(--ease-standard);
}
.ai-process[open]::details-content{block-size:auto;opacity:1}
details.ai-process:hover{box-shadow:inset 0 0 0 1px var(--border)}
details.ai-process:focus-within{outline:none}
details.ai-process:has(:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.ai-process>summary,.ai-process-line-row{
  position:relative;display:flex;align-items:center;gap:var(--space-2);
  width:max-content;max-width:100%;min-height:var(--control-sm);margin:0;padding:0;
  list-style:none;background:none;color:inherit;font-weight:400;
}
.ai-process>summary{cursor:pointer}
.ai-process-pending,.ai-process-line-row{cursor:default}
.ai-process[open]>summary{width:100%;padding-right:4em}
.ai-process>summary::-webkit-details-marker{display:none}
.ai-process>summary::marker{content:''}
.ai-process>summary:focus,.ai-process>summary:focus-visible,
details.ai-process .ai-process-collapse:focus,details.ai-process .ai-process-collapse:focus-visible{outline:none}
.ai-process-mark{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none;color:currentColor}
.ai-process-mark .wb-icon{display:block;width:20px;height:20px}
.ai-process.is-running .ai-process-mark{transform-origin:center;animation:ai-process-pulse 1.6s var(--ease-standard) infinite}
@keyframes ai-process-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.94)}}
.ai-process-line{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-process-collapse{
  display:none;position:absolute;top:0;right:0;height:var(--control-sm);
  align-items:center;justify-content:flex-end;margin:0;padding:0 0 0 var(--space-2);
  border:0;background:none;color:var(--accent);font:500 var(--type-caption)/var(--leading-caption) var(--sans);cursor:pointer;
}
.ai-process[open]>summary .ai-process-collapse{display:inline-flex}
.ai-process-collapse:hover{color:var(--accent-hover)}
.ai-process-body{
  width:0;min-width:100%;max-height:320px;margin:0;padding:var(--space-2) 0;overflow:auto;overscroll-behavior:contain;
  border:0;border-top:1px solid var(--divider);border-radius:0;background:transparent;
  font-size:var(--type-caption);line-height:var(--leading-caption);color:var(--foreground-muted);scrollbar-width:thin;
}
.ai-process-step+.ai-process-step{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--divider)}
.ai-process-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}
.ai-process-title{min-width:0;overflow-wrap:anywhere}
.ai-process-state{flex:none;margin-left:auto;white-space:nowrap;font-weight:400;cursor:default;color:color-mix(in srgb,var(--foreground-muted) 68%,transparent)}
.ai-process-thinking{margin:var(--space-1) 0 0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--foreground-secondary)}
.ai-process-thinking[hidden],.ai-process-note[hidden]{display:none}
.ai-process-note{display:block;margin-top:var(--space-1);color:var(--foreground-muted)}
.ai-message-enter{animation:ai-message-in var(--motion-message) ease-out}
@keyframes ai-message-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ai-message-enter,.ai-process.is-running .ai-process-mark{animation:none!important;opacity:1;transform:none}}
/* One place for account/model controls and display preferences. */
.wb-more{padding:6px;width:256px;border-radius:12px}.wb-menu-section+.wb-menu-section{border-top:1px solid var(--line2);margin-top:5px;padding-top:6px}.wb-menu-section>button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 11px;text-align:left;font-size:13px;border-radius:7px}.wb-menu-section>button .wb-icon{width:18px;height:18px;color:var(--ink2)}.wb-menu-chevron{margin-left:auto}.wb-menu-chevron .wb-icon{width:16px!important;height:16px!important}.wb-preference{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 11px;font-size:12px}.wb-segments{display:flex;gap:2px;background:var(--input);border:1px solid var(--line2);border-radius:7px;padding:2px}.wb-segments button{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:28px;border-radius:5px;padding:4px 7px;font-size:11px;color:var(--ink2)}.wb-segments .wb-icon{width:18px;height:18px}.wb-segments button[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #00000012}.wb-language{position:static;margin:0}.wb-preferences{padding-bottom:3px}
/* Reserved action space prevents hover reflow; keyboard and touch have equal access. */
#asset-d-detail-fix .asset-quote-head{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;height:auto}#asset-d-detail-fix .asset-quote{margin-left:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;min-width:24px;height:24px;min-height:24px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--accent);opacity:0;pointer-events:none;transition:opacity .12s}#asset-d-detail-fix .asset-quote svg{width:16px;height:16px;flex-shrink:0}#asset-d-detail-fix :is(.bd-panel,.bd-holdings,.pf-panel,.pf-metric-card,.pf-sources,.pf-contribution,.ac-card,.ac-table-panel,.st-card,.rs-article):is(:hover,:focus-within) .asset-quote,#asset-d-detail-fix .asset-quote:focus-visible{opacity:1;pointer-events:auto}#asset-d-detail-fix .asset-quote:is(:hover,:focus-visible){background:color-mix(in srgb,var(--foreground) 8%,transparent);color:var(--accent)}#asset-d-detail-fix .asset-quote:focus-visible{outline:2px solid var(--acc);outline-offset:2px}#asset-d-detail-fix .asset-quote-head>.asset-quote+*{margin-left:auto}
@media(hover:none),(pointer:coarse){#asset-d-detail-fix .asset-quote{opacity:1;pointer-events:auto}.wb-segments button{min-height:40px}.wb-menu-section>button{min-height:44px}}
@media(max-width:600px){.ai-messages{padding:16px}.ai-message{font-size:14px}.ai-user .ai-message-text{max-width:96%}#asset-d-detail-fix .asset-quote span{display:none}.wb-more{max-width:calc(100vw - var(--nav-w) - 22px)}}
@media(prefers-reduced-motion:reduce){#asset-d-detail-fix .asset-quote{transition:none}}

#asset-d-detail-fix .ai-message-text :is(th,td){height:auto;font:400 var(--type-table)/var(--leading-table) var(--sans);padding:8px 10px;border-top:0;border-bottom:1px solid var(--line);white-space:normal;text-align:left;line-height:1.6}#asset-d-detail-fix .asset-quote:disabled{opacity:.25;cursor:wait;pointer-events:none}@media(hover:none),(pointer:coarse){#asset-d-detail-fix .wb-more .wb-segments button{min-height:40px}}

.ai-references{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.ai-references:empty{display:none}.ai-reference{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--accent);font:400 var(--type-caption)/var(--leading-caption) var(--sans)}.ai-reference button{padding:5px 8px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-reference button:first-child:hover{text-decoration:underline;text-underline-offset:3px}.ai-reference-remove{border-left:1px solid var(--line);color:var(--muted)}.ai-reference button:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.ai-user-copy:empty{display:none}.ai-user .ai-message-text .ai-sent-references{justify-content:flex-start;width:100%;margin:0 0 8px}.ai-user .ai-message-text .ai-sent-references .ai-reference,.ai-user .ai-message-text .ai-sent-references .ai-reference button{border-color:transparent;background:var(--accent-soft);color:var(--accent)}

/* One quiet source disclosure; original articles stay readable and grouped. */
.ai-news-sources{display:grid;gap:6px;width:100%;margin-top:14px;padding:8px 10px;border:0;border-radius:var(--radius-md);background:var(--surface-subtle)}
.ai-sources-summary{display:flex;align-items:center;gap:10px;min-height:34px;list-style:none;cursor:pointer;border-radius:6px;padding:3px 5px;color:var(--ink2);font-size:12px;line-height:1.5}
.ai-sources-summary::-webkit-details-marker{display:none}
.ai-sources-summary::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);flex:none;margin:0 3px 3px auto}
.ai-news-sources[open]>.ai-sources-summary::after{transform:rotate(225deg);margin-top:4px;margin-bottom:0}
.ai-sources-summary:hover{background:var(--input);color:var(--ink)}
.ai-sources-label{flex:none;white-space:nowrap}
.ai-sources-preview{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--muted)}
.ai-sources-list{max-height:360px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:4px 5px 0}
.ai-source-group+.ai-source-group{border-top:1px solid var(--line2);margin-top:10px;padding-top:10px}
.ai-source-heading{display:flex;align-items:center;gap:8px;margin:0 0 3px;font-size:12px;font-weight:500;line-height:1.5;color:var(--ink2)}
.ai-source-publisher{min-width:0;overflow-wrap:anywhere}
.ai-source-count{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}
.ai-source-official{font-size:10px;font-weight:400;color:var(--acc);background:var(--input);padding:1px 5px;border-radius:4px;white-space:nowrap}
.ai-source-articles{list-style:none;margin:0;padding:0}
.ai-news-source{display:flex;align-items:flex-start;gap:12px;padding:7px 0;font-size:12px;line-height:1.6;color:var(--ink2);text-decoration:none;border-radius:4px}
.ai-source-title{flex:1;min-width:0;overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.ai-source-date{flex:none;font-size:10px;color:var(--muted);padding-top:2px;white-space:nowrap}
.ai-source-retrieved{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin:0 0 3px;overflow-wrap:anywhere}
.ai-news-source:hover{color:var(--acc)}
.ai-news-source:hover .ai-source-title{text-decoration:underline;text-underline-offset:3px}
.ai-sources-summary:focus-visible,.ai-sources-list:focus-visible,.ai-news-source:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
@media(max-width:600px){.ai-sources-summary{min-height:40px}.ai-news-source{gap:2px 8px;padding:9px 0;flex-wrap:wrap}.ai-source-date{flex:0 0 100%;white-space:normal;padding-top:0}.ai-sources-list{max-height:320px}}

.ai-source-scope{font-size:11px;color:var(--muted);white-space:nowrap}
@media(max-width:480px){.ai-source-scope{white-space:normal}}

/* Scope variants: title slots do not increase summary typography; row slots stay local. */
#asset-d-detail-fix .asset-quote-row-anchor{display:inline-flex;align-items:center;gap:6px;min-width:0}
#asset-d-detail-fix :is(.bd-holdings,.pf-sources):is(:hover,:focus-within) .asset-quote-row{opacity:0;pointer-events:none}
#asset-d-detail-fix :is(#bd-table-body tr,.pf-share-row):is(:hover,:focus-within) .asset-quote-row,#asset-d-detail-fix .asset-quote-row:focus-visible{opacity:1;pointer-events:auto}
#asset-d-detail-fix .pf-share-identity{display:flex;align-items:center;gap:6px;min-width:0}
@media(hover:none),(pointer:coarse){#asset-d-detail-fix :is(.bd-holdings,.pf-sources) button.asset-quote-row{opacity:1;pointer-events:auto}}
