/* 日本語版だけの上書き。en/base.css は 5 つの版が共有しているので触らない。
   このファイルは base.css より後ろで読み込む。

   1. 行分割
      base.css の body は word-break: keep-all を持つ。これは韓国語のための
      設定で、CJK の文字列を「ひとつの語」として扱い、その内側では折り返さない。
      韓国語は分かち書きをするので語の外側で折り返せるが、日本語は分かち書きを
      しないため、一文がまるごと分割不能の塊になる。同じ body の
      overflow-wrap: break-word が非常手段として無理やり折り返すので画面から
      はみ出しはしないが、折り返し位置は禁則を無視する——行頭に 。や 」が
      落ちる。base.css の :lang(...) リセットには ja が入っていないので、
      ここで戻す。line-break: strict は小書き仮名や長音符の禁則まで見る。

   2. 書体
      base.css の --font-family-ko は Inter が先頭で、Inter に仮名も漢字も
      ない。body:lang(ko) しか見ていないので日本語ページには当たらず、
      日本語は --font-family-latin（system-ui, Segoe UI, Roboto…）に落ちる。
      Segoe UI にも仮名はないため、実際の描画はブラウザ既定の CJK 書体任せに
      なり、環境ごとに揃わない。
      ここでは日本語書体を明示するが、ウェブフォントは読み込まない。数 MB の
      日本語フォントを配るより OS 同梱の書体を指名するほうが速く、韓国語版が
      Pretendard 2MB で抱えている問題を持ち込まずに済む。CSP も font-src を
      増やさない。 */

:root {
  --font-family-ja:
    -apple-system, BlinkMacSystemFont,
    "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", YuGothic,
    Meiryo, "MS PGothic", system-ui, sans-serif;
}

html:lang(ja),
body:lang(ja) {
  font-family: var(--font-family-ja);
}

:lang(ja) {
  word-break: normal;
  line-break: strict;
  /* 日本語に自動ハイフネーションは要らない。base.css は ja を
     :lang(...) の一覧に入れていないので既定のままだが、将来 ja が
     その一覧に加わっても影響が出ないよう明示しておく。 */
  hyphens: none;
}

/* 縦に詰まって見えるのを避ける。ラテン文字より字面が大きいぶん、
   共有トークンのままだと行が近い。 */
body:lang(ja) {
  line-height: 1.85;
}
