/* Shared prose styles for streamed answers, stored history and PDF export.
   Limit reading width on prose blocks, never on the table/chart container. */
:is(.message-row.assistant .message-body, .message.assistant .content) {
    font-size: 15px;
    line-height: 1.9;
    color: #1e293b;
    text-align: start;
    overflow-wrap: anywhere;
}
:is(.message-row.assistant .message-body, .message.assistant .content) :is(p, h1, h2, h3, h4, h5, h6, ul, ol, blockquote) {
    max-inline-size: 800px;
    text-align: start;
}
:is(.message-row.assistant .message-body, .message.assistant .content) p { margin: 0 0 12px; }
:is(.message-row.assistant .message-body, .message.assistant .content) strong {
    font-weight: 700;
    color: #315f94;
    background: none;
}
:is(.message-row.assistant .message-body, .message.assistant .content) :is(h1, h2, h3, h4, h5, h6) {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.8;
    color: #315f94;
    margin: 24px 0 10px;
    break-after: avoid;
}
:is(.message-row.assistant .message-body, .message.assistant .content) :is(h1, h2, h3, h4, h5, h6):first-child { margin-block-start: 0; }
:is(.message-row.assistant .message-body, .message.assistant .content) :is(ul, ol) {
    margin: 0 0 12px;
    padding-inline-start: 24px;
    padding-inline-end: 0;
}
:is(.message-row.assistant .message-body, .message.assistant .content) li { padding-inline-start: 3px; margin-block: 6px; }
:is(.message-row.assistant .message-body, .message.assistant .content) li::marker { color: #526a85; }
:is(.message-row.assistant .message-body, .message.assistant .content) li > p { margin-block: 0 6px; }
:is(.message-row.assistant .message-body, .message.assistant .content) li > :is(ul, ol) { margin-block: 6px; }
/* Legacy inline-code years/numbers remain intact, without code-style chips.
   Genuine code blocks keep an explicit monospaced, horizontally scrollable style. */
:is(.message-row.assistant .message-body, .message.assistant .content) :not(pre) > code {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    direction: ltr;
    unicode-bidi: isolate;
}
:is(.message-row.assistant .message-body, .message.assistant .content) pre {
    margin: 12px 0;
    padding: 12px 14px;
    overflow-x: auto;
    max-inline-size: 100%;
    background: #f5f7fa;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    direction: ltr;
    text-align: left;
    white-space: pre;
}
:is(.message-row.assistant .message-body, .message.assistant .content) pre code {
    display: inline;
    font-family: ui-monospace, Consolas, monospace !important;
    font-size: 13px;
    line-height: 1.7;
    color: #334155;
    background: none;
    padding: 0;
}
:is(.message-row.assistant .message-body, .message.assistant .content) blockquote {
    margin: 12px 0;
    padding-inline-start: 14px;
    border-inline-start: 3px solid #d9e3ef;
    color: #475569;
}
:is(.message-row.assistant, .message.assistant) .answer-clarifications {
    font-size: 13px;
    line-height: 1.9;
    color: #475569;
}
:is(.message-row.assistant, .message.assistant) .answer-clarifications-title { font-size: 13px; font-weight: 600; }
:is(.message-row.assistant, .message.assistant) .answer-clarifications p { max-inline-size: 800px; }
@media print {
    :is(.message-row.assistant .message-body, .message.assistant .content) p { orphans: 3; widows: 3; }
}
