/* 로케일별 글꼴 스택(X-05.9, contracts/i18n §6). 운영체제 글꼴 우선, CJK 대체 순서를 로케일마다 고정한다.
   lang 속성(<html lang>, dom.js)이 글리프를 고른다 — zh-Hant가 간체 글리프로 떨어지지 않게 SC 글꼴을 넣지 않는다.
   셀프 호스팅 OFL 서브셋(dist/fonts/, 같은 출처)은 아직 없다: 운영체제에 없는 CJK 글꼴은 다음 순서의 시스템 글꼴로 내려간다.
   외부 CDN 글꼴 금지(격리·헌법 V). */

:root {
  --font-ui: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", Roboto, sans-serif;
  --font-timecode: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}

:root,
:lang(en), :lang(de), :lang(fr), :lang(es) {
  font-family: var(--font-ui);
}

:lang(ko) {
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif;
  /* 한국어는 낱말 중간에서 줄을 바꾸지 않는다 */
  word-break: keep-all;
}

:lang(ja) {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", sans-serif;
}

:lang(zh-Hant) {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;
}

/* 타임코드·숫자 칸: 모든 언어 고정폭 숫자 */
.timecode, [data-numeric] {
  font-family: var(--font-timecode);
  font-variant-numeric: tabular-nums;
}

/* 줄 끝 하이픈은 풍선·도움말만(X-05.10). 컨트롤 라벨은 금지 */
.help-tag, .help-text {
  hyphens: auto;
}

button, label, [role="menuitem"], [role="tab"] {
  hyphens: manual;
}
