/* Mermaid 结构图：保持正文配色、超宽时在容器内横向滚动，不撑破正文栏。
   Mermaid 11 会把 <pre class="mermaid"> 替换成 <div class="mermaid">，两种容器都要覆盖。 */
.md-typeset pre.mermaid,
.md-typeset div.mermaid {
  background: none;
  border: none;
  padding: 0;
  width: 100%;        /* 锁住容器宽度：否则会被内部宽图撑开 */
  max-width: 100%;
  overflow-x: auto;   /* 超宽结构图内部滚动，不挤压页面 */
}

.md-typeset pre.mermaid svg,
.md-typeset div.mermaid svg {
  /* Mermaid 会在 svg 上写内联 max-width:<固有宽度>px，必须 !important 才能按栏宽缩放 */
  max-width: 100% !important;
  height: auto;
}

/* 公式：窄屏下超宽公式在容器内横向滚动，避免被裁切或撑破正文栏。
   MathJax 输出 mjx-container，display 公式同时带 display="true"。 */
.md-typeset mjx-container {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

.md-typeset mjx-container[display="true"] {
  display: block;
  padding-bottom: 0.15rem;
}

/* 关键：公式 SVG 的固有宽度用 ex 单位书写（如 width="60.03ex"），
   一旦被 max-width 压缩会塌成 1px，整块行间公式就“消失”。
   这里放开，让超宽部分交给容器的横向滚动。 */
.md-typeset mjx-container[display="true"] svg {
  max-width: none;
}
