/* AI answer typography is intentionally consistent across every reading flow. */
:root {
  --ai-answer-body: #000;
  --ai-answer-heading: var(--ink, #211e35);
}

/* Keep stale or restored dark-theme documents readable as well. */
:root[data-theme="dark"] {
  --ai-answer-body: var(--ink, #f1ede6);
  --ai-answer-heading: var(--ink, #f1ede6);
}

/*
 * Keep these as a selector list rather than a single :is(). An ID inside
 * :is() would raise every branch to ID specificity and flatten each page's
 * heading, emphasis, quote, code and action-control styles.
 */
#readingPanel .markdown,
.report-panel .markdown,
.result-text,
.ai-reading-text,
.followup-message.assistant .markdown,
.reading-followup-message.assistant .reading-followup-message-body,
.yaogua-followup-message.assistant .yaogua-followup-message-body,
.shared-report-body {
  width: 100%;
  max-width: 76ch;
  margin-inline: auto;
  color: var(--ai-answer-body);
  font-family: "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  font-size: clamp(16px, calc(15px + .35vw), 17px);
  line-height: 1.9;
  letter-spacing: 0;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: auto;
  overflow-wrap: anywhere;
}

#readingPanel .markdown :is(h1, h2, h3, h4),
.report-panel .markdown :is(h1, h2, h3, h4),
.result-text :is(h1, h2, h3, h4),
.ai-reading-text :is(h1, h2, h3, h4),
.followup-message.assistant .markdown :is(h1, h2, h3, h4),
.reading-followup-message.assistant .reading-followup-message-body :is(h1, h2, h3, h4),
.yaogua-followup-message.assistant .yaogua-followup-message-body :is(h1, h2, h3, h4),
.shared-report-body :is(h1, h2, h3, h4) {
  font-family: var(--serif, "Noto Serif SC", "Songti SC", serif);
  font-weight: 700;
  line-height: 1.45;
  text-wrap: balance;
}

#readingPanel .markdown h1,
.report-panel .markdown h1,
.result-text h1,
.ai-reading-text h1,
.followup-message.assistant .markdown h1,
.reading-followup-message.assistant .reading-followup-message-body h1,
.yaogua-followup-message.assistant .yaogua-followup-message-body h1,
.shared-report-body h1 { font-size: clamp(24px, 2.4vw, 30px); }

#readingPanel .markdown h2,
.report-panel .markdown h2,
.result-text h2,
.ai-reading-text h2,
.followup-message.assistant .markdown h2,
.reading-followup-message.assistant .reading-followup-message-body h2,
.yaogua-followup-message.assistant .yaogua-followup-message-body h2,
.shared-report-body h2 { font-size: clamp(21px, 2vw, 25px); }

#readingPanel .markdown h3,
.report-panel .markdown h3,
.result-text h3,
.ai-reading-text h3,
.followup-message.assistant .markdown h3,
.reading-followup-message.assistant .reading-followup-message-body h3,
.yaogua-followup-message.assistant .yaogua-followup-message-body h3,
.shared-report-body h3 { font-size: clamp(18px, 1.6vw, 21px); }

#readingPanel .markdown h4,
.report-panel .markdown h4,
.result-text h4,
.ai-reading-text h4,
.followup-message.assistant .markdown h4,
.reading-followup-message.assistant .reading-followup-message-body h4,
.yaogua-followup-message.assistant .yaogua-followup-message-body h4,
.shared-report-body h4 { font-size: clamp(16.5px, 1.3vw, 18px); }
