/* Native UI fonts. The Latin face falls back to the operating system's local script face. */
:root {
  --hg-font-latin: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell;
  --hg-font-local: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "WenQuanYi Micro Hei";
  --hg-font-scripts: "Geeza Pro", "Noto Sans Arabic", "Noto Sans Thai", "Nirmala UI";
  --hg-font-tail: "Helvetica Neue", Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  --hg-font-native: var(--hg-font-latin), var(--hg-font-local), var(--hg-font-scripts), var(--hg-font-tail);
}
:lang(zh-Hant), :lang(zh-TW), :lang(zh-HK) { --hg-font-local: "PingFang TC", "Microsoft JhengHei UI", "Microsoft JhengHei", "Noto Sans CJK TC", "Source Han Sans TC"; }
:lang(ja) { --hg-font-local: "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans CJK JP", "Noto Sans JP"; }
:lang(ko) { --hg-font-local: "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", "Noto Sans KR"; }
:lang(ar), :lang(fa) { --hg-font-local: "Geeza Pro", "Segoe UI", "Noto Sans Arabic", Tahoma; }
:lang(he) { --hg-font-local: "Arial Hebrew", "Segoe UI", "Noto Sans Hebrew", Arial; }
:lang(th) { --hg-font-local: "Thonburi", "Leelawadee UI", "Noto Sans Thai", Tahoma; }
:lang(hi) { --hg-font-local: "Kohinoor Devanagari", "Nirmala UI", "Noto Sans Devanagari", Mangal; }

/* Prefer hinted Windows UI faces even if Apple fonts were installed manually. */
:where([data-os="windows"]):lang(zh-CN) { --hg-font-local: "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", "WenQuanYi Micro Hei"; }
:where([data-os="windows"]):is(:lang(zh-Hant), :lang(zh-TW), :lang(zh-HK)) { --hg-font-local: "Microsoft JhengHei UI", "Microsoft JhengHei", "Noto Sans CJK TC", "Source Han Sans TC"; }
:where([data-os="windows"]):lang(ja) { --hg-font-local: "Yu Gothic UI", "Meiryo UI", Meiryo, "Noto Sans CJK JP", "Noto Sans JP"; }
:where([data-os="windows"]):lang(ko) { --hg-font-local: "Malgun Gothic", "Noto Sans CJK KR", "Noto Sans KR"; }

/* Recompute the stack for explicitly tagged passages in mixed-language content. */
:where([lang]) {
  --hg-font-native: var(--hg-font-latin), var(--hg-font-local), var(--hg-font-scripts), var(--hg-font-tail);
  font-family: var(--hg-font-native);
}
