/* fonts.css — self-hosted, latin subset, variable where available.
   Everything is local; nothing on any page reaches a third-party origin.
   Paths are relative to the document, so the tables under play/ override them with ../fonts/. */

/* Display — Fraunces. Variable optical-size axis: the higher the opsz, the sharper and
   higher-contrast the cut, which is what large headings want. */
@font-face{
  font-family:"Fraunces";
  src:url("fonts/fraunces.woff2") format("woff2");
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
}

/* Text — Spectral. Commissioned by Google from Production Type for screen reading: sharp,
   slightly condensed, cold in a way that suits a mountain pass in winter. Static weights only,
   so each is its own file; together they still come in near a single variable face. */
@font-face{font-family:"Spectral";src:url("fonts/spectral-400.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("fonts/spectral-500.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("fonts/spectral-600.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url("fonts/spectral-400i.woff2") format("woff2");
  font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Spectral";src:url("fonts/spectral-500i.woff2") format("woff2");
  font-weight:500;font-style:italic;font-display:swap}

/* Interface — IBM Plex Sans. Tabular figures by default, so scores stop reflowing. */
@font-face{
  font-family:"IBM Plex Sans";
  src:url("fonts/plex-sans.woff2") format("woff2");
  font-weight:100 700;
  font-style:normal;
  font-display:swap;
}

/* The night's event feed. */
@font-face{
  font-family:"IBM Plex Mono";
  src:url("fonts/plex-mono.woff2") format("woff2");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
