/* Self-hosted Spectral (display) + Figtree (interface) + General Sans (labels).
   Same-origin, no third-party font CDN — the same policy as teletonicmd.com.
   Latin subsets only, generated from Google Fonts CSS2; woff2 in ./fonts/. */

/* ---- Spectral — display, deks, episode titles ------------------------- */
@font-face{font-family:'Spectral';font-style:normal;font-weight:200;font-display:swap;
  src:url(../fonts/spectral-200.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;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:300;font-display:swap;
  src:url(../fonts/spectral-300.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;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/spectral-400.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;}
@font-face{font-family:'Spectral';font-style:normal;font-weight:500;font-display:swap;
  src:url(../fonts/spectral-500.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;}
@font-face{font-family:'Spectral';font-style:italic;font-weight:300;font-display:swap;
  src:url(../fonts/spectral-300-italic.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;}
@font-face{font-family:'Spectral';font-style:italic;font-weight:400;font-display:swap;
  src:url(../fonts/spectral-400-italic.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;}

/* ---- Figtree — the interface voice, carried over from TeleTonicMD ----- */
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/figtree-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;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/figtree-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;}
@font-face{font-family:'Figtree';font-style:italic;font-weight:300 700;font-display:swap;
  src:url(../fonts/figtree-italic-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;}
@font-face{font-family:'Figtree';font-style:italic;font-weight:300 700;font-display:swap;
  src:url(../fonts/figtree-italic-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;}

/* ---- General Sans — every label, number, timestamp and caption ---------
   Indian Type Foundry, from Fontshare, under the ITF Free Font License 2.0
   (GeneralSans-LICENSE-FFL.txt, beside the file): self-hosting on our own
   site is granted in section 01. The same licence forbids subsetting or
   converting the file, so it ships exactly as downloaded -- one variable
   woff2, 200-700. Its DEFAULT instance is Bold (700), so every rule that
   uses --label names its weight; nothing here may rely on the default.

   It replaced Archivo on 25 Sep 2026. Its caps are 4.7% taller and 4.2%
   narrower than Archivo's at the same size -- a finer, more upright
   capital -- so the tracking on every label was re-set for it rather than
   inherited.

   The three overrides are its vertical metrics, set in CSS -- the file is
   untouched. Natively it reports ascent 1010, descent 240 and a 100 line
   gap: a 1.35em box, where Archivo's was 1.088em (878 + 210, no gap). Left
   alone, every padded inline label -- the neighbour chips, the filter
   buttons, the tags -- grew 2px taller, and its capitals sat 0.26em-units low
   in the box. 90.3% + 18.5% is Archivo's box height exactly, so nothing on
   the site moves, and ascent minus descent is General Sans's cap height
   (718), so a line of capitals is centred in whatever line box holds it.
   Descenders (g, p, y reach -204) fall 0.2px outside at label sizes. */
@font-face{font-family:'General Sans';font-style:normal;font-weight:200 700;font-display:swap;
  src:url(../fonts/GeneralSans-Variable.woff2) format('woff2');
  ascent-override:90.3%;descent-override:18.5%;line-gap-override:0%;}

/* ---- Label Figures — tabular digits for the places numbers line up -----
   General Sans has no 'tnum' and proportional digits (its 1 is 35% narrower
   than its 0), and the label slot's one hard requirement is tabular figures
   wherever numbers line up or tick: the player clock, the transcript's
   timestamps, the source table's number columns and the numbered source
   list. Those, and only those, take their digits and colon from Archivo,
   whose figures are uniform. Every letter in them is still General Sans:
   this face covers U+0030-0039 and U+003A and nothing else, so the browser
   only fetches it (5.8 KB) on a page that sets digits in --label-figures.
   Archivo is SIL OFL 1.1 with no Reserved Font Name, which permits the
   subset (tools: pyftsubset --unicodes=U+0030-0039,U+003A). */
@font-face{font-family:'Label Figures';font-style:normal;font-weight:100 900;font-display:swap;
  src:url(../fonts/archivo-figures.woff2) format('woff2');
  unicode-range:U+0030-0039,U+003A;}
