/* 原生 MathML 与数学表达式的排版。修改时保留页面中样式表的加载顺序。 */
/* Shared rules for authored mathematical notation. */
math {
  font-family: "Cambria Math", "STIX Two Math", math;
  font-size: 1em;
  flex: 0 0 auto;
}
.math-expression {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: baseline;
  column-gap: .35em;
  row-gap: .15em;
  max-width: 100%;
  vertical-align: baseline;
  line-height: 1.65;
}
.math-expression math { margin-block: .12em; }
.math-expression > mjx-container { margin:0; vertical-align:baseline; }
.math-line > .math-expression { flex-wrap: wrap; }
.math-step {
  display: inline-flex;
  align-items: baseline;
  column-gap: .22em;
  white-space: nowrap;
}
.worked-equation { display:block; margin-block:.2em; }
.worked-equation .math-fallback { display:block; line-height:1.5; }
.math-expression.worked-equation mjx-container[jax="CHTML"][display="true"] {
  text-align:center;
  margin:.25em 0;
}
.worked-equation .math-fallback math[display="block"] {
  display:block math;
  margin:0;
  text-align:center;
}
/* Native MathML Core uses CSS alignment; columnalign alone is not portable. */
.math-fallback mtable[columnalign="right left"] > mtr > mtd {
  padding:.1em 0;
}
.math-fallback mtable[columnalign="right left"] > mtr > mtd:first-child { text-align:right; }
.math-fallback mtable[columnalign="right left"] > mtr > mtd:nth-child(2) { text-align:left; }
.math-fallback mtable[columnalign="right left right left"] > mtr > mtd { padding:.1em 0; }
.math-fallback mtable[columnalign="right left right left"] > mtr > mtd:nth-child(odd) { text-align:right; }
.math-fallback mtable[columnalign="right left right left"] > mtr > mtd:nth-child(even) { text-align:left; }
.math-check { display:block; margin-top:.65em; }
.math-fallback .fraction { display:inline-grid; grid-template-rows:auto auto; text-align:center; vertical-align:-.65em; margin-inline:.18em; line-height:1.2; }
.math-fallback .numerator { padding:0 .18em .12em; border-bottom:1px solid currentColor; }
.math-fallback .denominator { padding:.12em .18em 0; }
.math-expression > mjx-container,
.math-line > mjx-container,
.math-expression.is-typeset,
.math-line.is-typeset { visibility:visible; }
.function-transform-example { font-size: clamp(19px, 6vw, 25px); }
.compact-equation { font-size: clamp(16px, 5vw, 25px); }
.math-line { display:block; overflow-x:auto; overflow-y:hidden; overflow-wrap:normal; padding-block:.12em; scrollbar-width:thin; text-align:center; }
.display-equation { text-align:center; }
.math-line > .math-expression:not(.worked-equation),
.display-equation > .math-expression { justify-content:center; }
.math-line > .math-expression,.math-line > mjx-container[display="true"] { max-width:100%; }
.worked-equation mjx-mtable { margin-inline:auto; }
/* 独立公式和答案选项使用完整分数字号，避免分子、分母过小。 */
.math-line math, .answer-option math { math-style: normal; }
@media(max-width:620px) {
  body.playful-site.academic-site .math-line { font-size:22px; line-height:1.65; }
  body.playful-site.academic-site .feedback .math-line { font-size:clamp(16px,4vw,22px); }
}
.unit-layout { grid-template-columns: 290px minmax(0, 1fr); }
.unit-detail { min-width: 0; }
@media (max-width: 1000px) {
  .unit-layout { grid-template-columns: 240px minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .unit-layout { grid-template-columns: 1fr; }
}
