/* math-box：横スクロールのみ許可。縦は clip で「はみ出しは見せないが高さは増やさない」 */
.math-box {
  border: 1px solid #aaa;
  background: #f8f8f8;
  padding: 16px;
  margin: 1.2rem 0;
  width: 100%;
  height: 100%;
  display: block;
  box-sizing: border-box;
  border-radius: 4px;

  overflow-x: visible;
  overflow-y: visible;                  /* ← 重要：visible だと高さが増えやすい。hidden より副作用が少ない */
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges; /* スクロールバー出現でのレイアウト揺れを低減（対応ブラウザで有効） */
  overscroll-behavior: contain;      /* スクロール連鎖を抑制（任意） */
}

/* arithmatex/MathJax 側の overflow は可視化しつつ、“横幅基準”のみ強調 */
.md-typeset .arithmatex,
.math-box .arithmatex,
.math-box mjx-container {
  overflow: visible !important;      /* 内部でのクリップによる欠けを回避 */
  max-height: none !important;
}

/* ブロック数式：横方向は “内容幅” に合わせる。縦方向は箱に依存させる */
.math-box mjx-container[display="true"] {
  margin: 0 !important;
  display: block;
  overflow: visible !important;
  max-height: none !important;

  /* 以前の min-width:max-content を弱める：
     1) 中身の自然幅を優先しつつ
     2) 箱幅を超えたら横スクロール
  */
  inline-size: max-content;
  max-inline-size: 100%;
}

/* KaTeX を併用する場合の調整（MathJaxのみなら不要） */
.math-box .katex-display {
  margin: 0;
  overflow: visible !important;
  max-height: none !important;
  inline-size: max-content;
  max-inline-size: 100%;
}

/* 必要であれば、数式の過剰な改行を避ける（KaTeX は基本非改行ですが保険として） */
/* .math-box .katex-display > .katex { white-space: nowrap; } */