/* PINK SLIP — the self-hosted type. NOTHING HERE IS FETCHED AT RUNTIME.
   Every face is a woff2 sitting next to this file; index.html links this
   stylesheet and nothing else. That is a pre-submit item in CLAUDE.md ("No
   external font/image fetches at runtime"), so a Google Fonts <link> must
   never come back.

   ---------------------------------------------------------------------------
   THE VOICES THE GAME SPEAKS (2026-09-10, fonts lane; display folded into the
   HUD voice 2026-09-13)
   ---------------------------------------------------------------------------
   The stack this file used to serve came across from the sibling game `split`,
   whose world is bureaucratic horror: a typeset office form (Inter) stamped
   over by hand (Luckiest Guy, Bangers, Lilita One), with Rajdhani doing the
   numbers. None of that reasoning survives the reskin. PINK SLIP is a
   risograph screen print — a gig poster and a typed vehicle title — so the
   type is chosen to look like it came off the same press as the art:

     Bangers     the display AND the HUD voice since 2026-09-13 — the
                 tachometer's face, which the operator asked to carry every
                 display line too (starting with the BONUS button). Type is
                 only the fallback for a line the drawn pack cannot set (see
                 spriteGlyphs.ts), and at 0.721em of cap it lands within 6 % of
                 the pack's own 0.68em cell, so a fallback no longer reads as a
                 size jump. It held the display job for three days before this
                 (Anton, 0.859em of cap — every type size in the game was
                 multiplied by 1.19 when it left, to hold the same cap).
                 SIL Open Font License 1.1 — Vernon Adams / Google Fonts.
     Archivo     the working gothic: body copy, button caps, and the figures.
                 A revival of the 19th-century American gothics, drawn for
                 text at small sizes. Shipped as ONE variable file per subset
                 covering 400-700, which is why it replaces four static Inter
                 weights and costs less than one of them.
                 CRITICAL: it has real tabular figures (`tnum`, and its digits
                 are already uniform width — 575/576 units). Rajdhani has
                 neither (`1` is 334 units, `8` is 542), so every
                 `font-variant-numeric: tabular-nums` in this codebase was a
                 no-op. Measured live in Chrome at 19px/700 with
                 tabular-nums asked for: "1,111.11" vs "8,888.88" is
                 45.83px vs 69.55px in Rajdhani — a 23.7px jitter inside a
                 ch-locked box — and 79.87px vs 79.87px in Archivo.
                 That is the bug this swap fixes.
                 SIL Open Font License 1.1 — Omnibus-Type.
     Space Mono  the caption voice. A pink slip is a TYPED document, so the
                 small tracked labels (STAKE, BALANCE, TOTAL WIN) are set on a
                 typewriter rather than in a code editor. Space Mono is an
                 editorial mono with display weight, so it still holds colour
                 at 9px on a halftone ground where JetBrains Mono went spindly
                 and Courier Prime went too small.
                 SIL Open Font License 1.1 — Colophon Foundry.

   ---------------------------------------------------------------------------
   THE FOUR FACES THAT ARE STILL HERE, AND WHY
   ---------------------------------------------------------------------------
   Bangers, Lilita One, Luckiest Guy and Rajdhani are NOT part of the token
   stacks any more (see --rs-font-* in src/styles/theme.css). They stay
   bundled because components outside the fonts lane still name them in a
   literal `font-family:` — GamePanel.svelte (14 of them), FsTriggerOverlay,
   WinOverlay, SymbolTile, ClusterPopupOverlay, OrderCarBody, App.svelte.
   Delete a face here and those components fall through to sans-serif.
   `.scratch/pinkslip-fonts-requests.md` lists every line to move; when they
   are on the tokens, all four families and 127.5 KB leave this directory
   (Rajdhani 63.0, Bangers 28.9, Luckiest Guy 23.9, Lilita One 11.8) and the
   game is down to the three faces above.

   Inter is gone. Its only remaining mention was as a fallback AFTER Rajdhani
   in GamePanel's `.ht` rule, which Rajdhani always wins, so nothing on screen
   changed — and Inter was 855 KB (4 weights × 7 subsets), more than half of
   this directory.

   ---------------------------------------------------------------------------
   SUBSETS: latin + latin-ext, AND NOTHING ELSE
   ---------------------------------------------------------------------------
   game/i18n.ts ships exactly two dictionaries, `en` and `enSocial`. Every
   cyrillic / greek / vietnamese / devanagari subset in here was dead weight —
   `unicode-range` meant a browser never downloaded them, but they were still
   uploaded to Stake in every build. 1057 KB of them are gone. latin-ext STAYS:
   the drawn glyph pack cuts Polish, Turkish and Czech accents, so the type
   fallback has to be able to set the same alphabet.

   ---------------------------------------------------------------------------
   REGENERATING
   ---------------------------------------------------------------------------
   These blocks are the Google Fonts css2 output with the gstatic URLs
   rewritten to point at the local copies. To refresh a face, fetch the CSS
   with a modern-Chrome UA (an old UA gets you ttf instead of woff2):

     https://fonts.googleapis.com/css2?family=Archivo:wght@400..700&display=swap
     https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap
     https://fonts.googleapis.com/css2?family=Bangers&family=Lilita+One&family=Luckiest+Guy&family=Rajdhani:wght@400;500;600;700&display=swap

   then keep only the latin and latin-ext blocks, download each woff2 next to
   this file as <family>-<weight>-<subset>.woff2, and point `src:` at it.

   IF YOU ARE RUNNING THE PRE-SUBMIT SWEEP: the three URLs above and the one in
   index.html's <head> comment are the ONLY occurrences of "googleapis" or
   "gstatic" anywhere in dist/, and all four are inside comments — they are the
   recipe for rebuilding this file by hand, not something the page fetches.
   Every `src:` below is a relative `./` path to a file in this directory, and
   index.html links no stylesheet but this one. To confirm it mechanically,
   grep dist/ for a `src:` whose url() opens with a scheme, and for a <link>
   whose href does — both come back empty. */

/* ===========================================================================
   ARCHIVO — body, button caps, figures. ONE variable file per subset spans
   400-700, so asking for 500 or 650 costs no extra download. A component that
   asks for 800 gets clamped to 700 rather than faux-bolded.
   =========================================================================== */

/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./archivo-400-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(./archivo-400-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===========================================================================
   SPACE MONO — the tracked caption voice. 400 for the captions that inherit a
   normal weight, 700 for the tracked micro-labels (`.rs-kicker` asks for 600
   and CSS font matching hands it 700, so nothing is ever synthetically
   emboldened).
   =========================================================================== */

/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./space-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./space-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./space-mono-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./space-mono-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ===========================================================================
   THE HUD VOICE — WHICH IS ALSO THE DISPLAY VOICE SINCE 2026-09-13.
   Bangers is --rs-font-hud (the instrument faces: tachometer, fuel bars, track
   numbers, order card) AND, by the alias in theme.css, --rs-font-display —
   every title, stamp and pack fallback in the game (operator, 2026-09-13:
   the BONUS button takes the tachometer's face «и везде в игре»). It was under
   a "LEGACY FACES — do not add one of these to a --rs-font-* stack" banner
   until 2026-09-13, when the font audit found 21 components hard-coding it
   anyway; naming it made the dial's voice one line instead of a sweep.
   ANTON left with the same change — it was the display face for three days
   and is no longer bundled or preloaded.
   JetBrains Mono + Libre Franklin are --rs-font-readout-*: the three wallet
   readouts, split's voice, by the operator's request of 2026-09-12.
   Luckiest Guy, Lilita One and Rajdhani were dropped in the same pass — their
   last call sites moved to the drawn pack or onto a token. JetBrains Mono 600
   went with them: only the 700 is asked for.
   =========================================================================== */

/* latin-ext */
@font-face {
  font-family: 'Bangers';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./bangers-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Bangers';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./bangers-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./jetbrains-mono-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./jetbrains-mono-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------------------------------------------------------------------------
   Libre Franklin — the wallet readouts' figure face (2026-09-12).
   Carried over from split with the readout repaint: BALANCE / STAKE / WIN are
   set in split's own pair (JetBrains Mono caption + Libre Franklin figure), so
   the family has to ship here too. Google serves it as a VARIABLE font — the
   css2 endpoint hands back a distinct URL per weight but every one of them is
   byte-identical, so two files (latin, latin-ext) cover the whole 100-900 axis,
   and declaring the range is what makes 700/800 render as real weights instead
   of two copies of one. Not preloaded: index.html primes Archivo and Bangers
   only, and `font-display: swap` covers the first paint of a readout.
   SIL Open Font License 1.1 — Impallari Type.
   --------------------------------------------------------------------------- */
/* latin-ext */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(./libre-franklin-var-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Libre Franklin';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(./libre-franklin-var-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
