/* ════════════════════════════════════════════════════════════════════
   village-typography.css — 도깨비 마을 공통 타이포그래피 토큰
   ────────────────────────────────────────────────────────────────────
   2026-09-10 사람 지시 [사주집/도사집 공통 타이포그래피 개선] §0·§7 —
   "존재하지 않는 font-family 를 임의로 작성하지 않는다 · 기존 폰트를
   우선 재사용한다 · 가능하면 화면마다 하드코딩하지 말고 공통 토큰을
   재사용하도록 정리한다"에 따라 만든 자리다.

   ★ 새 폰트가 아니다 — 고민해결소(worry.css)가 먼저 번들한 Cafe24
   Ssurround(OFL·상업용 무료) 같은 woff2 파일을 가리킨다. worry.css 는
   이미 확정된 화면이라 그 파일의 자체 @font-face 는 손대지 않았다 —
   같은 파일을 가리키는 선언이 두 곳에 있어도 브라우저는 URL 기준으로
   캐시를 공유해 비용이 늘지 않는다(중복 다운로드 없음).

   ── 역할별 토큰(§7 "NPC Name·Conversation·Card Title·Card Description·
   CTA·Small Label") ──
   두 폰트 패밀리만 쓴다(§6 "2계열 이내"):
     --vt-font-display : Rounded Korean Font(Cafe24 Ssurround) — 이름표·
                          카드 제목·CTA·작은 라벨처럼 [보고 고르는] 글자.
     --vt-font-body     : 시스템 고딕(Segoe UI/맑은 고딕) — 대화 본문처럼
                          [읽는] 글자. 본문은 장식 폰트를 쓰지 않는다(§5·§6).
   무게는 역할별로 변수 하나씩 — 화면마다 같은 값을 다시 안 적어도 된다.
   ════════════════════════════════════════════════════════════════════ */

/* ★ unicode-range 를 한글 자리로만 좁힌다 — 이 폰트에 "‹"(U+2039) 글자가 없어 [‹ 마을]
   버튼의 화살표가 통째로 안 보이는 사고가 났다(2026-09-10 412px 실측 — "마을"만 남고
   "‹"가 사라짐). 범위를 한글(완성형·자모·호환자모)로만 묶으면, 그 범위 밖 글자(‹›·숫자·
   ✦ 같은 기호)는 자동으로 스택의 다음 글꼴(맑은 고딕)로 넘어가 빠지는 글자가 안 생긴다 —
   한글이 화면 글자 수의 대부분이라 룩은 거의 그대로다. */
@font-face{
  font-family:"Cafe24 Ssurround";
  src:url("assets/fonts/Cafe24Ssurround.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+AC00-D7A3, U+1100-11FF, U+3130-318F;
}

/* ★ 2026-10-02 #342(WO-17) — (OTF 판으로 교체: 같은 글꼴 · TTF 3.3MB → OTF 0.85MB · TTF 는 자산\구버전\2026-10-02_폰트_TTF판) UI 폰트를 '학교안심 둥근미소'(KERIS 배포 · 앱 안 로컬 파일)로 통일한다. 외부 웹폰트에 기대지 않는다.
   두 파일 모두 글꼴 안 이름의 굵기가 'Regular' 라서 시스템 이름에 기대지 않고 @font-face 두 개로 400 = R · 700 = B 를 직접 짝지었다.
   한글이 아닌 글자(‹ › ✦ 같은 기호)가 이 글꼴에 없으면 브라우저가 스택의 다음 글꼴로 글자 하나씩 넘긴다.
   위 Cafe24 Ssurround 선언은 지우지 않았다(worry.css 와 같은 파일 · 이제 안 쓴다 — 지울지는 보고). */
@font-face{
  font-family:"DunggeunMiso";
  src:url("assets/fonts/HakgyoansimDunggeunmisoR.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"DunggeunMiso";
  src:url("assets/fonts/HakgyoansimDunggeunmisoB.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}

/* ★ 2026-10-02 사람 지시 "간판 — 나눔스퀘어라운드로 적용" — 지도의 간판 글자(이름표·나무 이름판·화면 밖 장소 표시)만 NanumSquareRound Regular(네이버 · OFL · 파일 그대로). */
@font-face{
  font-family:"NanumSquareRound";
  src:url("assets/fonts/NanumSquareRoundR.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"NanumSquareRound";
  src:url("assets/fonts/NanumSquareRoundB.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}
:root{
  --font-sign:"NanumSquareRound","DunggeunMiso","Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  --font-ui:"DunggeunMiso","Malgun Gothic","Apple SD Gothic Neo",sans-serif;
  --vt-font-display:var(--font-ui);
  --vt-font-body:var(--font-ui);

  --vt-w-npc-name:400;      /* NPC 이름표 — Rounded Bold */
  --vt-w-convo:400;         /* 대화 본문 — Soft Rounded Medium(500~600 안) */
  --vt-w-card-title:400;    /* 카드 제목 — 600~700 안 */
  --vt-w-card-desc:400;     /* 카드 설명 — 400~500 안, 제목보다 가볍게 */
  --vt-w-cta:400;           /* CTA(가장 적극적) — 600~700 상단 */
  --vt-w-small-label:400;   /* 작은 라벨(오늘 무료 1회 등) — 500~600 안, CTA보다 한 단 가볍게 */

  /* 방마다 다른 것은 포인트 색뿐이다(§5) — 폰트 패밀리는 위 두 줄로 고정, 방을 바꿔도 안 바뀐다. */
  --vt-accent-saju:#5c4430;    /* warm cocoa / muted brown */
  --vt-accent-tarot:#4a3564;   /* deep muted violet */
  --vt-accent-dosa:#1f3450;    /* deep navy / blue charcoal */
}

/* 기본 = Regular · 폼 요소는 브라우저가 글꼴을 안 물려받으므로 같이 지정한다 */
html, body, button, input, select, textarea{ font-family:var(--font-ui); font-weight:400; }
h1, h2, h3, h4, strong, b, th, legend{ font-weight:700; }

/* ★ 2026-10-02 #342 · 전체계획 0-20 "앱에 폰트 가는걸로 변경" — 앱 전체 = 둥근미소 Regular(400).
   Bold(700)는 화면 이름 큰 제목 한 줄(h1 · 옷장 .wd-title)만. 이름표·이름판·버튼·탭·메뉴명·아이템 이름·NPC 이름은 400.
   가짜 굵기 금지 — font-synthesis 를 끄고, JS 가 문자열 CSS 로 심은 굵기(600~900)도 이 규칙이 덮는다. 글자 테두리(stroke)는 쓰는 곳이 없다. */
html{ font-synthesis:none; }
html body *, html body *::before, html body *::after{ font-weight:400 !important; }
html body h1, html body h1 *, html body .wd-title, html body .sn-note h4{ font-weight:700 !important; }


/* 지도 위 HUD(.vm-top/.vm-bottom) · 말풍선만 나눔스퀘어라운드 · 그 위에 열리는 화면(옷장·가게·내 방·카드 등)은 앱 기본 둥근미소(--font-ui) — 2026-10-02 수신함 옷장글꼴 */
html body #vm-root .vm-top, html body #vm-root .vm-top *, html body #vm-root .vm-bottom, html body #vm-root .vm-bottom *, html body .vl-bubble{ font-family:var(--font-sign); }
html body #vm-root .h2-plate, html body #vm-root .h2-plate *{ font-family:var(--font-sign); font-weight:400 !important; }      /* 이름판(내 방·옷장·내 캐릭터)도 가늘게 — 2026-10-02 사람 지시(0-20 · 수신함 이름판글씨) */
