/* ============================================================
   LanguageTracker — Typography tokens
   One family (Nunito) carries display + body; contrast comes from
   WEIGHT and SIZE, not multiple typefaces. Non-Latin scripts fall
   back to the matching Noto face automatically via the stacks below.
   ============================================================ */

:root {
  /* --- Families --- */
  --font-sans: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  /* Display = same face, just used at heavy weights / tight tracking */
  --font-display: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Script-specific stacks — apply on elements that render that script */
  --font-ja: "Noto Sans JP", "Nunito", sans-serif;             /* 日本語 */
  --font-ar: "Noto Naskh Arabic", "Nunito", serif;             /* العربية / اردو */
  --font-hi: "Noto Sans Devanagari", "Nunito", sans-serif;     /* हिन्दी */

  /* --- Weights --- */
  --fw-light:    300; /* @kind font */
  --fw-regular:  400; /* @kind font */
  --fw-medium:   500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:     700; /* @kind font */
  --fw-extra:    800; /* @kind font */
  --fw-black:    900; /* @kind font */

  /* --- Type scale (rem; 1rem = 16px) ---
     Editorial: large, confident display sizes; comfortable body. */
  --text-2xs:  0.6875rem;  /* 11px — micro labels, only when needed */
  --text-xs:   0.75rem;    /* 12px — meta, captions */
  --text-sm:   0.8125rem;  /* 13px — secondary UI text */
  --text-base: 0.9375rem;  /* 15px — default UI text */
  --text-md:   1rem;       /* 16px — body copy */
  --text-lg:   1.125rem;   /* 18px — lead / large body */
  --text-xl:   1.375rem;   /* 22px — card titles */
  --text-2xl:  1.75rem;    /* 28px — section headings */
  --text-3xl:  2.25rem;    /* 36px — page titles */
  --text-4xl:  3rem;       /* 48px — display */
  --text-5xl:  3.875rem;   /* 62px — hero display */
  --text-6xl:  5rem;       /* 80px — marketing hero */

  /* --- Line heights --- */
  --leading-tight:   1.08;  /* display */
  --leading-snug:    1.22;  /* headings */
  --leading-normal:  1.5;   /* UI */
  --leading-relaxed: 1.65;  /* body copy */

  /* --- Letter spacing --- */
  --tracking-tighter: -0.022em;  /* large display */
  --tracking-tight:   -0.013em;  /* headings */
  --tracking-normal:  0;
  --tracking-wide:    0.04em;    /* small caps labels */
  --tracking-wider:   0.12em;    /* eyebrow / overline */

  /* --- Semantic roles --- */
  --type-eyebrow-size:    var(--text-xs);
  --type-eyebrow-weight:  var(--fw-bold);
  --type-eyebrow-track:   var(--tracking-wider);

  --type-display-weight:  var(--fw-extra);
  --type-heading-weight:  var(--fw-bold);
  --type-body-weight:     var(--fw-regular);
  --type-ui-weight:       var(--fw-semibold);
}
