/* Rich answers use the application's inherited theme and stay within the chat width. */
.ereo-answer-body { min-width: 0; overflow-wrap: anywhere; line-height: 1.65; }
.ereo-answer-body > :first-child { margin-top: 0; }
.ereo-answer-body > :last-child { margin-bottom: 0; }
.ereo-answer-body p { margin: .7em 0; }
.ereo-answer-body h1, .ereo-answer-body h2, .ereo-answer-body h3, .ereo-answer-body h4, .ereo-answer-body h5, .ereo-answer-body h6 { line-height: 1.3; margin: 1.2em 0 .5em; font-weight: 650; }
.ereo-answer-body h1 { font-size: 1.45em; }.ereo-answer-body h2 { font-size: 1.3em; }.ereo-answer-body h3 { font-size: 1.15em; }
.ereo-answer-body ul, .ereo-answer-body ol { padding-left: 1.6em; margin: .65em 0; }
.ereo-answer-body li + li { margin-top: .25em; }
.ereo-answer-body blockquote { border-left: 3px solid currentColor; padding: .15em 0 .15em 1em; margin: 1em 0; opacity: .88; }
.ereo-answer-body a, .ereo-sources a { color: var(--accent, #2663c7); text-underline-offset: 3px; }
.ereo-answer-body code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .88em; }
.ereo-answer-body :not(pre) > code { padding: .1em .28em; border-radius: 4px; background: color-mix(in srgb, currentColor 7%, transparent); white-space: break-spaces; }
.ereo-code-block { max-width: 100%; margin: 1em 0; border: 1px solid color-mix(in srgb, currentColor 20%, transparent); border-radius: 10px; overflow: hidden; background: color-mix(in srgb, currentColor 3%, transparent); }
.ereo-code-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: .65em; padding: .5em .85em; font-size: .8em; border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); }
.ereo-code-toolbar > span:first-child { margin-right: auto; }
.ereo-copy-code { color: inherit; border: 1px solid color-mix(in srgb, currentColor 25%, transparent); border-radius: 6px; padding: .35em .65em; background: transparent; font: inherit; cursor: pointer; }
.ereo-copy-code:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
.ereo-copy-code:focus-visible, .ereo-table-scroll:focus-visible, .ereo-sources summary:focus-visible { outline: 2px solid var(--accent, #2663c7); outline-offset: 3px; }
.ereo-copy-status { font-size: .95em; }
.ereo-answer-body .ereo-code-block pre { margin: 0; padding: 1em; max-width: 100%; overflow-x: auto; background: transparent; line-height: 1.55; white-space: pre; }
.ereo-code-block pre code { white-space: pre; overflow-wrap: normal; word-break: normal; }
.ereo-table-scroll { width: 100%; overflow-x: auto; margin: 1em 0; border: 1px solid color-mix(in srgb, currentColor 20%, transparent); border-radius: 6px; }
.ereo-answer-body table { border-collapse: collapse; min-width: 100%; font-size: .95em; }
.ereo-answer-body th, .ereo-answer-body td { border-bottom: 1px solid color-mix(in srgb, currentColor 15%, transparent); padding: .55em .8em; text-align: left; min-width: 5em; }
.ereo-answer-body th { background: color-mix(in srgb, currentColor 6%, transparent); font-weight: 650; }
.ereo-answer-body tr:last-child td { border-bottom: 0; }
.ereo-math-display { max-width: 100%; overflow-x: auto; overflow-y: hidden; padding: .25em 0; }
.ereo-math-source { overflow-wrap: normal; }.ereo-math-source .katex { font-size: 1.08em; }.ereo-math-source .katex-display { margin: .5em 0; }
.ereo-citation { display: inline; margin: 0 .15em; font-size: .78em; font-weight: 600; vertical-align: super; white-space: nowrap; text-decoration: none; }
.ereo-sources { margin-top: 1.1em; border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent); padding-top: .7em; font-size: .9em; }
.ereo-sources summary { cursor: pointer; font-weight: 600; padding: .15em 0; }
.ereo-sources ol { padding-left: 1.7em; margin: .7em 0 0; }.ereo-sources li { margin: .7em 0; overflow-wrap: anywhere; }.ereo-source-domain { display: block; font-size: .85em; opacity: .7; }.ereo-sources li p { margin: .2em 0; font-size: .9em; }
.ereo-answer-plain { white-space: pre-wrap; }.ereo-format-note, .ereo-source-references { font-size: .88em; opacity: .8; }
/* Highlight.js emits only these inert spans; hues remain readable on both application themes. */
.hljs-keyword, .hljs-selector-tag, .hljs-literal { color: #9b59ce; }.hljs-string, .hljs-regexp, .hljs-addition { color: #23855b; }.hljs-number, .hljs-attr, .hljs-symbol { color: #bc6a1d; }.hljs-comment, .hljs-quote { color: #7d8491; font-style: italic; }.hljs-title, .hljs-section, .hljs-built_in { color: #3889cc; }.hljs-variable, .hljs-template-variable, .hljs-deletion { color: #cb5963; }.hljs-emphasis { font-style: italic; }.hljs-strong { font-weight: bold; }
@media (max-width: 600px) { .ereo-code-toolbar { gap: .4em; }.ereo-answer-body th, .ereo-answer-body td { padding: .45em .6em; }.ereo-copy-code { min-height: 34px; }.ereo-copy-status { flex-basis: 100%; }.ereo-copy-status:empty { display: none; } }
/* Override the legacy inline-code treatment inside a fenced block. */
.msg.assistant .ereo-code-block pre code { display: block; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: .88em; }
.msg.assistant .ereo-answer-body { min-width: 0; }

.ereo-source-time { display: block; font-size: .85em; opacity: .75; }.ereo-sources li .ereo-source-coverage { font-size: .85em; opacity: .8; }
