/* ══════════════════════════════════════════════════════════════════════════
   🀄 한자 = 오직 하나의 글꼴 (2026-08-04 사장님 지시)
       "모든 게임에서 중국어 글자 폰트를 하나로, 반드시 한 개의 폰트로만"

   ── 왜 이 파일이 필요한가 ─────────────────────────────────────────────
   예전에는 각 화면이 제각각 글꼴 목록을 적어 뒀다:
     speaking-quiz     : 'Noto Sans SC','PingFang SC','Microsoft YaHei',…
     language-ace/tank : 'Segoe UI','Microsoft YaHei','微软雅黑',…
     suspect-mystery   : 'Noto Sans SC','Malgun Gothic'(한국어!)
     speak-cycle 모듈  : 'Malgun Gothic'(한국어)만
   그래서 **같은 PC에서도 게임마다 다른 폰트**가 선택됐고, 목록에 있는 폰트가
   하나도 안 깔린 기기에서는 한국어 폰트로 떨어져 한자가 한국식 자형이 됐다.
   게다가 간체자 전용 글자(连·谱·时·顺 등)는 한국 폰트에 아예 없어서
   **한 단어 안에서 글자마다 다른 폰트로 대체**되는 일까지 생겼다.

   ── 어떻게 보장하는가 ────────────────────────────────────────────────
   local() 로 '기기에 깔린 폰트'를 빌려 쓰면 기기마다 달라져 보장이 안 된다.
   그래서 **우리가 폰트 파일을 직접 실어 보낸다**(self-host). 어떤 기기든,
   어떤 게임이든 한자는 이 한 파일로만 그려진다.
     · 파일: /fonts/mangoi-han-sc.woff2  (Noto Sans SC Regular 부분집합, 983KB)
     · 글자: GB2312 한자 6,763 + 병음 성조부호 + 라틴/문장부호 = 7,575자
       → 교재·게임에 나오는 중국어는 사실상 전부 덮는다(폴백이 일어나지 않는다).
     · 라이선스: SIL OFL 1.1 (fonts/mangoi-han-sc.LICENSE.txt)

   ── 무게 걱정 안 해도 되는 이유 ──────────────────────────────────────
   unicode-range 를 걸어 뒀기 때문에 브라우저는 **한자가 실제로 화면에 나올 때만**
   이 파일을 내려받는다. 영어 게임만 하는 학생은 1바이트도 받지 않는다.
   한 번 받으면 1년간 캐시된다(immutable).

   ⚠️ 굵기 파일은 일부러 하나만 둔다(Regular). 굵게는 브라우저가 합성한다.
      굵기별 파일을 더 실으면 "한 개의 폰트" 라는 요구와 용량이 함께 흔들린다.
   ⚠️ 이 파일을 지우거나 화면별 글꼴 목록에 다른 중국어 폰트를 다시 넣지 말 것.
      그 순간 화면마다 글꼴이 갈리는 예전 문제로 돌아간다.

   ══════════════════════════════════════════════════════════════════════════
   🪶 2026-08-17 (사장님 지시) — 범위에서 «문장부호·전각» 을 뺐다
   ══════════════════════════════════════════════════════════════════════════
   [무엇이 문제였나] 위 «무게 걱정 안 해도 되는 이유» 가 **사실이 아니었다.**
     범위에 U+3000-303F(「」『』、。【】)와 U+FF00-FFEF(（）！，：？＋)가 들어 있었는데,
     이 두 묶음은 **중국어만 쓰는 글자가 아니다.** 한국어 UI 가 강조 따옴표로 「 」 를,
     괄호로 （ ）를 아주 흔하게 쓴다.
     전수 조사(2026-08-17, 주석 제외 290개 파일):
       · U+3000-303F  740자 / 39개 파일   ← 대부분 한국어 UI
       · U+FF00-FFEF  142자 / 20개 파일   ← 대부분 한국어 UI
     그래서 **한자가 한 글자도 없는 화면에서도** 983KB 를 받고 있었다.
     실측: 관리자 화면은 열고 1.8초에 요청됐고, 관리자 하위 페이지 13개
     (급여·경영지표·마이페이지·진단 등)는 한자가 **0개** 인데도 매번 받았다.

   [무엇을 지키고 무엇을 뺐나]
     남김 — U+3400-4DBF · U+4E00-9FFF · U+F900-FAFF (한자 본체. 9,672자 사용 중)
            U+0100-017F · U+01CD-01DC (병음 ā ē ǎ ǒ. 1,919자 사용 중 — 중국어 전용이다)
            U+2E80-2EFF (CJK 부수. 지금 0자지만 중국어 전용이라 남긴다 — 안 쓰이면 안 받는다)
     뺌   — U+3000-303F · U+FF00-FFEF (한국어·중국어가 **함께** 쓰는 문장부호)

   [무엇이 달라지나 — 정직하게]
     중국어 문장 속 、。《》「」（）！ 가 이 글꼴이 아니라 뒤 글꼴(한글 글꼴)로 그려진다.
     이 파일이 막으려던 사고는 «한자가 화면마다 다른 글꼴» 이고(위 1·2·3차 재발 기록 참조),
     그 세 번 모두 **한자** 문제였다. 문장부호는 한글 글꼴에도 다 들어 있고 모양도 거의 같다.
     한자 자체는 예전과 똑같이 이 한 글꼴로만 그려진다 — 규칙은 그대로다.

   ⚠️ 되돌리려면 아래 두 줄을 범위에 다시 넣으면 된다. 다만 그 순간
      한자 없는 화면들이 983KB 를 다시 받는다는 것을 알고 넣을 것.
   ══════════════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'MangoiHanSC';
  src: url('/fonts/mangoi-han-sc.woff2') format('woff2');
  font-weight: 100 900;      /* 모든 굵기를 이 한 파일이 담당 (굵게는 합성) */
  font-style: normal;
  font-display: swap;        /* 폰트 오기 전에도 글자는 보인다(빈 화면 금지) */
  /* 한자(통합·확장A·호환) + CJK 부수 + 병음 성조부호.
     ⛔ U+3000-303F(CJK 문장부호)·U+FF00-FFEF(전각)는 **넣지 말 것** —
        한국어 UI 가 「 」（ ）를 흔히 써서, 한자 없는 화면까지 983KB 를 받게 된다. */
  unicode-range: U+2E80-2EFF, U+3400-4DBF, U+4E00-9FFF,
                 U+F900-FAFF, U+0100-017F, U+01CD-01DC;
}
