/* ==========================================================================
   Advennt v5 typography layer
   T3 of docs/briefs/BRIEF-2026-09-01-V5-SITEWIDE-CHROME.md §4.3
   Landed 2026-09-01, session arti-17fcf3a5.

   WHY THIS FILE EXISTS RATHER THAN LINKING v5.css
   ------------------------------------------------
   §4.3 specifies rebasing type onto --ui / --read, and notes the rebase "only
   works if v5.css is linked". Linking v5.css sitewide was assessed and rejected
   for this purpose: v5.css is a complete 17 KB design system that redefines the
   whole :root palette (--bg, --ink, --line, --accent ...) and ships its own
   .hdr / .nav (8 rules) / .ft / .btn / .card / .chip / .wrap. Those class names
   are all live in components.css (60 KB) and are the classes nav.js and
   footer.js inject chrome into, so linking it would restyle every element on
   every surface at once — a visual redesign, unverifiable without rendering,
   and far beyond a type rebase.

   This file therefore carries ONLY the typography contract from v5.css: the two
   webfonts and the --ui / --read / --mono family tokens, copied verbatim so the
   two cannot drift.

   WHERE v5.css LIVES NOW
   ----------------------
   /assets/v5.css was RETIRED from the production bundle on 2026-09-01 (session
   arti-17fcf3a5). It shipped 17,258 B to every reader on every page and was
   linked by exactly zero of them: no HTML under site/ referenced it, no worker,
   function or JS referenced it, and the homepage, the jurisdictions register and
   a live JID page each returned zero references.

   The design system of record is now docs/briefs/fe-v5-mockups/assets/v5.css,
   which is NOT served (docs/ sits outside the published site/ root and returns
   404). The values cited by this file live there at lines 9-10 (the two @import
   rules mirrored below) and lines 27-29 (the family tokens). Those line numbers
   differ from the retired copy's 3-4 and 21-23 only because the surviving file
   carries a 7-line provenance banner; the declarations themselves are
   byte-identical between the two copies.

   FONT LOADING
   ------------
   The @import pairs with a <link rel="preconnect"> on each consuming page.
   Using @import is serialising by nature (parse this file, then fetch the fonts);
   preconnect covers the TLS handshake so the cost is the request, not the
   connection. Both font URLs carry display=swap, so text paints immediately in
   the fallback and never blocks on the webfont.
   ========================================================================== */

@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;1,6..72,400&display=swap');

:root{
  /* verbatim from docs/briefs/fe-v5-mockups/assets/v5.css lines 27-29 */
  --ui:'Satoshi',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --read:'Newsreader',Georgia,serif;

  /* Repoint the estate's existing token at --ui rather than rewriting the 60 KB
     components.css: every current var(--sans) consumer picks up Satoshi with no
     further edit. tokens.css defines --sans and --font-sans: var(--sans); this
     file must load AFTER tokens.css for the repoint to take effect. */
  --sans:var(--ui);
}

/* Long-form reading copy takes the serif. §4.3 names .prose and its list items;
   the register's Georgia,serif and the theme pages' -apple-system stack both
   resolve here instead of carrying their own hardcoded families. */
.prose,
.prose p,
.prose li,
.prose blockquote{ font-family:var(--read); }

/* --mono is already defined by tokens.css ('IBM Plex Mono','Fira Code',monospace)
   and is deliberately NOT overridden here: v5.css would replace it with a
   ui-monospace/SF Mono stack, which is a separate decision from this rebase and
   has no reader-visible defect behind it. */
