/* ============================================================================
   KMU80 웹폰트 — 국민대학교 사이버역사관 프로토타입
   ----------------------------------------------------------------------------
   출처   : 국민대학교 개교 80주년 전용서체 「성곡·해공」(KMU80)
            https://80.kookmin.ac.kr  (80주년 사이트 서체 안내)
   라이선스: CC BY-ND (저작자표시-변경금지). 서체 파일 자체를 고치거나
            파생 서체를 만들 수 없다. 웹 사용을 위한 포맷 변환(TTF→WOFF2)은
            글리프·디자인을 바꾸지 않는 무손실 컨테이너 변환이므로 허용 범위로
            보고 진행했다. 재배포 시 출처 표기를 유지할 것.
   원본   : ~/Library/Fonts/KMU80TTF{SungkokSerif,SungkokSemiSerif,
            HaeongSemiSans,HaeongSans}.ttf  (Version 1.010, Build 20260511)
            ~/Library/Fonts/KMU80SungkokHaeong-VF.otf (Version 1.020, CFF2 가변)
   변환   : fontTools — TTFont(src).flavor = "woff2"; save(dst)
            서브셋 없음(글리프 12,113자 전체 유지). 현대 한글 11,172자 완비.

   ── 중요: 이 서체는 "굵기"가 아니라 "세리프" 축이다 ────────────────────────
   4종은 굵기가 사실상 같고 획 맺음(세리프 강도)만 다르다. 가변 원본의 축도
   wght 가 아니라 SERF(300~900) 하나뿐이다.

     Sungkok Serif      SERF 300  usWeightClass 300   가장 강한 세리프(디스플레이)
     Sungkok Semi-Serif SERF 500  usWeightClass 500
     Haeong Semi-Sans   SERF 700  usWeightClass 700
     Haeong Sans        SERF 900  usWeightClass 900   세리프 없음(본문·UI)

   정적 TTF 4종의 usWeightClass 가 300/500/700/900 으로 "굵기처럼" 인코딩돼
   있지만 실제 굵기는 동일하다. 따라서 4종을 하나의 family 에 font-weight 로
   묶으면 안 된다. 그렇게 하면
     (a) font-weight:bold → 의도치 않게 Haeong Sans 로 바뀌고,
     (b) 400·600 같이 파일이 없는 값에서 브라우저가 합성 볼드를 얹으며,
     (c) 굵기로 위계를 만들 수단이 아예 사라진다.
   → 4종을 **각각 별도 family 이름**으로 선언하고 font-weight 는 400 고정으로
     쓴다. 위계는 굵기가 아니라 **세리프 강도 + 크기 + 자간**으로 만든다.

   ── 한자 ──────────────────────────────────────────────────────────────────
   KMU80 에는 한자가 0자다(CJK Unified 4E00–9FFF: 0개, 확장·호환 영역도 0개).
   「省谷」「海公」「實事求是」 같은 표기는 반드시 폴백 서체로 떨어진다.
   폴백은 Noto Serif KR / Noto Sans KR 을 쓴다. HTML <head> 에 아래를 넣는다:

     <link rel="preconnect" href="https://fonts.googleapis.com">
     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
     <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700&family=Noto+Serif+KR:wght@400;600&display=swap">

   Google Fonts 는 unicode-range 로 잘게 서브셋해 배포하므로, 한자가 실제로
   쓰인 페이지에서만 해당 조각을 내려받는다. 한자 몇 자 때문에 전체를 받지
   않는다. (교외 CDN을 못 쓰는 환경이면 Noto 도 self-host 로 바꿀 것.)

   폴백 스택 예시 — 아래 --font-* 커스텀 속성을 쓰면 된다.
     "KMU80 Sungkok Serif", "Noto Serif KR", serif
     "KMU80 Haeong Sans",   "Noto Sans KR",  sans-serif
   ============================================================================ */

/* ── 정적 4종 (기본) ─────────────────────────────────────────────────────── */

/* 제목을 제외한 본문·내비게이션·UI에 사용하는 단일 굵기.
   Pretendard 공식 배포판의 Light 원본을 글리프 변경 없이 WOFF2로 변환했다. */
@font-face {
  font-family: "Pretendard Light";
  src: local("Pretendard Light"),
       url("./Pretendard-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KMU80 Sungkok Serif";
  src: url("./KMU80SungkokSerif.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KMU80 Sungkok SemiSerif";
  src: url("./KMU80SungkokSemiSerif.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KMU80 Haeong SemiSans";
  src: url("./KMU80HaeongSemiSans.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "KMU80 Haeong Sans";
  src: url("./KMU80HaeongSans.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── 가변 1종 (선택) ─────────────────────────────────────────────────────────
   KMU80SungkokHaeong-VF.woff2 (263KB) 하나로 SERF 300~900 전 구간을 낸다.
   정적 4종 합계 889KB 대비 3분의 1이고, 중간값(예: SERF 620)도 쓸 수 있다.
   다만 CFF2 가변 폰트라 구형 브라우저에서 렌더가 불안정할 수 있어 기본으로는
   쓰지 않는다. @supports 로 감싸 점진적 향상으로만 얹는 것을 권한다.
   font-variation-settings: "SERF" 300;  ← 값이 클수록 세리프가 사라진다.

@supports (font-variation-settings: "SERF" 500) {
  @font-face {
    font-family: "KMU80 VF";
    src: url("./KMU80SungkokHaeong-VF.woff2") format("woff2-variations"),
         url("./KMU80SungkokHaeong-VF.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
}
────────────────────────────────────────────────────────────────────────────── */

/* ── 역할별 토큰 ───────────────────────────────────────────────────────────
   세리프가 강할수록 격식·역사성, 약할수록 정보·UI. 굵기는 건드리지 않는다. */

:root {
  /* 대제목·시대 표제 — 가장 강한 세리프 */
  --font-display: "KMU80 Sungkok Serif", "Noto Serif KR", "Apple SD Gothic Neo", serif;
  /* 소제목·인용·연표 표제 */
  --font-title:   "KMU80 Sungkok SemiSerif", "Noto Serif KR", "Apple SD Gothic Neo", serif;
  /* 본문·UI·캡션·메타 — 요청에 따라 Pretendard Light 단일 굵기 */
  --font-body:    "Pretendard Light", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  --font-ui:      "Pretendard Light", Pretendard, "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;

  /* KMU80 은 굵기 축이 없다. 아래 두 값 외의 굵기를 쓰지 말 것. */
  --font-weight-normal: 400;
}

/* KMU80 계열에는 합성 볼드/이탤릭을 절대 얹지 않는다.
   (합성 볼드는 한글 획을 뭉개고, 이 서체의 세리프 위계를 무너뜨린다.) */
.kmu80,
[class*="kmu80"] {
  font-synthesis: none;
  font-weight: 400;
}
