/* ---------------------------------------------------------------------------
   PostLane typography tokens
   ---------------------------------------------------------------------------
   Sans = Figtree (workhorse), Display = Space Grotesk (marketing headlines
   only), Mono = JetBrains Mono (job codes ONLY — timestamps and decimal
   hours use the sans with tabular figures). Type does most of the hierarchy
   work: size + weight
   contrast >=1.25 ratio between steps ABOVE body (Title -> Heading ->
   Display). Below body the ratio relaxes (11/13/14) because dense editor UI
   legitimately lives there.

   Font families come from tokens/fonts.css (--font-sans / --font-mono).
   --------------------------------------------------------------------------- */

:root {
  /* Type scale (rem / px) */
  --text-tiny: 0.6875rem;        /* 11px — uppercase labels, chip captions */
  --text-tiny-lh: 1rem;          /* 16px */
  --text-small: 0.8125rem;       /* 13px — table cells, secondary text */
  --text-small-lh: 1.125rem;     /* 18px */
  --text-body: 0.875rem;         /* 14px — the UI default */
  --text-body-lh: 1.25rem;       /* 20px */
  --text-title: 1.125rem;        /* 18px — card titles, section headers */
  --text-title-lh: 1.75rem;      /* 28px */
  --text-heading: 1.5rem;        /* 24px — h1 page titles */
  --text-heading-lh: 2rem;       /* 32px */
  --text-display: 2rem;          /* 32px — page-level hero number, one per page */
  --text-display-lh: 2.5rem;     /* 40px */

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

  /* Letter-spacing — Inter reads tighter at UI sizes */
  --tracking-tight: -0.01em;     /* display / heading / title */
  --tracking-body: -0.005em;     /* body */
  --tracking-normal: 0;          /* small / tiny / mono */
  --tracking-label: 0.06em;      /* uppercase micro-labels */
}

/* ---------------------------------------------------------------------------
   Micro-label utilities — three distinct levels of the uppercase-tracked
   label pattern, split by role (one hat for three jobs reads as "AI made
   this"). All inherit uppercase + --fg-muted.
   --------------------------------------------------------------------------- */
.section-eyebrow {
  font-size: 0.6875rem;          /* 11px — sits above a content block */
  font-weight: 500;
  line-height: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.tile-caption {
  font-size: 0.625rem;           /* 10px — inside tiles */
  font-weight: 500;
  line-height: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fg-muted);
}
.column-label {
  font-size: 0.5625rem;          /* 9px — table-header role */
  font-weight: 600;
  line-height: 0.875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-subtle);
}

/* Tabular figures so decimal hours, capacity %, budget cents line up. */
.tabular-nums {
  font-variant-numeric: tabular-nums;
}
.font-mono {
  font-family: var(--font-mono);
}
