/* 푸른느낌 — Typography tokens
 * Latin glyphs render in Mulish; Korean falls through to IBM Plex Sans KR.
 * Humanist, warm, calm. Tight but breathable headings; relaxed body.
 */
:root {
  /* Families (bilingual stacks: Latin first, Korean fallback) */
  --font-sans: "Mulish", "IBM Plex Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* Type scale (1.200 minor third, 16px base) */
  --text-2xs: 0.6875rem;  /* 11px */
  --text-xs:  0.75rem;    /* 12px */
  --text-sm:  0.875rem;   /* 14px */
  --text-md:  1rem;       /* 16px — base */
  --text-lg:  1.125rem;   /* 18px */
  --text-xl:  1.375rem;   /* 22px */
  --text-2xl: 1.75rem;    /* 28px */
  --text-3xl: 2.25rem;    /* 36px */
  --text-4xl: 3rem;       /* 48px */
  --text-5xl: 3.75rem;    /* 60px */

  /* Line heights */
  --leading-tight: 1.12;
  --leading-snug: 1.3;
  --leading-normal: 1.55;
  --leading-relaxed: 1.7;

  /* Letter spacing */
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;   /* eyebrows / labels */

  /* Semantic roles */
  --type-display:  var(--weight-extrabold) var(--text-5xl)/var(--leading-tight) var(--font-sans);
  --type-h1:       var(--weight-bold) var(--text-3xl)/var(--leading-tight) var(--font-sans);
  --type-h2:       var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-sans);
  --type-h3:       var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --type-body-lg:  var(--weight-regular) var(--text-lg)/var(--leading-relaxed) var(--font-sans);
  --type-body:     var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);
  --type-body-sm:  var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);
  --type-label:    var(--weight-semibold) var(--text-sm)/1.2 var(--font-sans);
  --type-caption:  var(--weight-medium) var(--text-xs)/1.4 var(--font-sans);
  --type-mono:     var(--weight-regular) var(--text-sm)/1.4 var(--font-mono);
}
