/* ===================================================================
   math.css — KaTeX 公式在学习站里的排版细则
   目标：与原卷 PDF 的视觉效果一致，且在手机窄屏上不溢出
   =================================================================== */

/* ---------- 行内公式 ---------- */
.m-inline {
  white-space: nowrap;           /* 行内公式不拆行 */
}
.m-inline .katex {
  font-size: 1.06em;             /* 略大于正文，视觉上更清楚 */
  margin: 0 .06em;
  vertical-align: baseline;
}

/* ---------- 独立公式块 ---------- */
.formula-block {
  display: block;
  text-align: center;
  margin: var(--sp-3) 0;
  padding: 2px 0;
  overflow-x: auto;              /* 超宽公式可横向滑动 */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.formula-block .katex-display {
  margin: 0;
}
.formula-block .katex {
  font-size: 1.12em;
}
.formula-block .katex-display > .katex {
  white-space: nowrap;
}
/* 长公式允许内部换行，避免手机上横向溢出 */
.formula-block .katex-display > .katex > .katex-html {
  white-space: normal;
}

/* ---------- 段落里的块级公式（markdown 用 span 包裹的情形） ---------- */
.m-block {
  display: block;
  text-align: center;
  margin: var(--sp-2) 0;
  overflow-x: auto;
  overflow-y: hidden;
}
.m-block .katex-display { margin: 0; }
.m-block .katex { font-size: 1.1em; }

/* ---------- 兜底纯文本 ---------- */
.m-fallback {
  font-family: var(--math-font, "Cambria Math", Cambria, Georgia, "Times New Roman", serif);
  font-size: 1.02em;
  padding: 0 .1em;
  border-bottom: 1px dotted var(--c-border);
}

/* ---------- 段落间距微调（公式块上下不要挤在一起） ---------- */
.m-para { line-height: 1.85; }
.m-para .katex { line-height: 1.2; }
.m-gap { height: var(--sp-2); }

/* ---------- 题卡：公式与文字混排时的行高 ---------- */
.q-stem { line-height: 2.05; }
.answer-box { line-height: 1.95; }
.answer-box .katex { font-size: 1.04em; }
.blk-text, .blk-example .ex-body { line-height: 1.9; }

/* ---------- 让 KaTeX 的公式颜色跟随主题 ---------- */
.katex { color: var(--c-text); }
.katex .mord.text { color: var(--c-text); }
.katex .mathnormal { font-style: italic; }

/* ---------- 小屏：缩小独立公式，减少横向滚动 ---------- */
@media (max-width: 420px) {
  .formula-block .katex { font-size: 1.04em; }
  .m-block .katex { font-size: 1.02em; }
  .m-inline .katex { font-size: 1.03em; }
  .q-stem { line-height: 2; }
}

/* ---------- 选项里的公式 ---------- */
.opt .katex { font-size: 1.02em; }
.opt { line-height: 1.75; }

/* ---------- 深色主题下 KaTeX 的分数线、根号颜色 ---------- */
html[data-theme="dark"] .katex .frac-line,
html[data-theme="dark"] .katex .sqrt > .root,
html[data-theme="dark"] .katex .hline,
html[data-theme="dark"] .katex .rule {
  border-color: currentColor;
  background-color: currentColor;
}
