/* =====================================================================
   EasyChef の数字と小数点だけを等幅にする (2026-09-04)

   ⚖️ 利用者報告:「小数点が見づらく、`1.000` `2.500` が `1000` `2500` と
   判読しづらい。桁の理解が変わってしまう」

   ## 実測 (dev の実画面 · canvas で字幅を測った)

       フォント            ピリオドの幅 ÷ 数字の幅
       Kiwi Maru (いま)          0.302   ← 小数点が数字の 3 割しかない
       システム UI 系            0.402
       等幅                      1.000   ← 小数点が数字 1 個分の幅を持つ

   等幅なら `1.000` は 5 マス・`1000` は 4 マスになり、**混同が原理的に起きない**。

   ## 🔴 なぜ文字列を変えないのか

   「3 桁区切り (`1,000`)」と「末尾ゼロ除去」は採らなかった。
   `formatWeight` / `formatSalt` の出力は**計算過程の文字列 (コピー / TXT 出力)** に流れ、
   そこは「Content Contract の逐語」として文言回帰テストで固定されている。
   区切りを入れると**コピーした値を表計算に貼ったときに壊れる**。
   末尾ゼロも `easychef-calc.js` のコメントが「UI モックが 50.00g / 0.720g の書式」として
   意図的に残している。**字形だけを変えれば、文字列は 1 文字も変わらない。**

   ## 🔴 なぜ `unicode-range` なのか

   スタックの先頭に等幅を置くと**ラテン文字まで等幅**になり、`kcal` や `EasyChef` が
   コードのように見える。`unicode-range` で**数字・小数点・桁区切りだけ**に絞る。
   日本語は下の `Kiwi Maru` へ落ちる (ブラウザは字ごとにフォントを選ぶ)。

   🔴 **見つからなくても悪化はしない。** `local()` がどれも当たらなければ、
   数字は今までどおり日本語フォントの字形で出るだけ。

   ## 🔴 なぜ 1 本のファイルなのか

   EasyChef のページは 3 つあり、読む CSS が違う
   (トップと計算ツールは `easychef.css` / マニュアルは `easychef-manual.css`)。
   `@font-face` を各ファイルに書くと、`unicode-range` を直したとき片方だけになる
   (`docs/incidents/README.md`「同一事実の写しのうち一部だけ直した」)。
   固定 = `tests/unit/test_easychef_numerals_are_legible.py`
   ===================================================================== */

@font-face {
    font-family: 'EC Numerals';
    /* OS ごとに入っている等幅を並べる。Windows / macOS / Linux / 最後の砦。 */
    src: local('Consolas'), local('Menlo'), local('DejaVu Sans Mono'), local('Courier New');
    /* 数字 (0-9) · 小数点 (.) · 桁区切り (,) だけ。日本語は下のフォントへ落ちる。 */
    unicode-range: U+0030-0039, U+002E, U+002C;
    font-display: swap;
}

/* 🔴 **`font-family` を上書きするのではなく、先頭に足す。**
   各ページの既存のスタックをそのまま後ろに残さないと、日本語の見た目が変わる。 */
.easychef-page,
.ecm {
    font-family: 'EC Numerals', 'Kiwi Maru', system-ui, -apple-system, BlinkMacSystemFont,
        'Segoe UI', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Yu Gothic', sans-serif;
    /* 桁を縦に揃える (等幅と組み合わせると表の数字が読みやすくなる)。 */
    font-variant-numeric: tabular-nums lining-nums;
}
