/* ══════════════════════════════════════════════════════════════════════════
   openai-scale.css — THE LEGIBILITY PASS. Loads LAST, after topnav.css.

   WHY THIS FILE EXISTS. density.css took the type DOWN to match Paradex:
   --t-sm 15->12, --t-md 16->13, --t-xs 11->10. Measured on the live page that
   produced NINE distinct sizes with 10px on 54 of 134 text nodes, which is
   40% of all text. The owner's reference is now the OpenAI enterprise page,
   which runs roughly a 16px base. A census of both surfaces says the gap is
   not clutter, it is size: the discipline is already good (two families, two
   weights, letter-spacing normal on 109 of 134 nodes, six text colours).

   So this file moves ONE thing: the scale. It re-points the same four tokens
   density.css owns rather than restyling any component, because instrument.css
   pins `font-size: var(--t-sm) !important` on a near-universal selector and
   re-pointing the token moves the whole site in one declaration. That is
   density.css's own finding, used in the opposite direction.

   It edits NO existing stylesheet. instrument.css is untouched.

   THE SCALE
     11px  micro labels, uppercase tags, row counts
     14px  the base, and the near-universal token
     15px  a value, a name, anything a reader looks for
     26px  section and hero headings
   Two weights, 400 and 500. Nothing bolder.
   ══════════════════════════════════════════════════════════════════════════ */

:root, :root:root {
  /* was 10 / 12 / 13 / 13 / 20 */
  --t-xs:    11px;
  --t-sm:    14px;
  --t-md:    15px;
  --t-dense: 14px;
  --t-lg:    26px;

  /* Softer corners read as the reference surface. density.css set 2/4/4/4 to
     match a terminal; these are one step up, still not consumer-round. */
  --r-mark: 4px;
  --r-ctl:  8px;
  --r-card: 10px;
  --r-pill: 8px;
}

/* Line-height is the other half of the feel. A 12px type at 1.2 reads cramped
   no matter what size it is; the reference page runs roughly 1.5 on body. */
:root:root body { line-height: 1.55; letter-spacing: normal; }

/* Tracking. The census found -0.26px and -0.4px on 21 nodes, which at 14px is
   a tighten nobody asked for. Headings keep a small optical tighten; body does
   not get one. */
:root:root body h1,
:root:root body h2,
:root:root body h3 { letter-spacing: -0.02em; line-height: 1.25; }

/* Nothing bolder than 500, matching the reference and the existing census. */
:root:root body b,
:root:root body strong { font-weight: 500; }

/* The dense tape is the one surface that must NOT inherit the full jump: it
   renders 2,000 rows and a 14px row would push the fold off the screen. It
   gets the middle of the ladder, not the base. */
:root:root body .tw-row,
:root:root body .tw-c { font-size: 13px; line-height: 1.45; }
