/* The faces a theme may be played in — see Themes::Base.game_font_family,
   which is what actually chooses one, and app/assets/fonts/README.md for
   where these files came from and how they were made.

   Declared here rather than in the Tailwind sources because a @font-face is
   plain CSS with nothing to compile, and because Propshaft resolves the url()
   below against its own load path: app/assets/fonts is one of those, so a
   bare filename here finds the digested font there. Loaded by the same
   stylesheet_link_tag :app that loads everything else in this directory.

   A face declared costs nothing until something asks for it, so design mode
   carries these declarations and downloads none of them. */

/* Nunito is the plain themes' font and every other theme's first fallback, so
   a character a display face has no glyph for is still drawn in something the
   page chose. Variable, 200-1000 in one file: the browser cuts whatever weight
   is asked for out of it, which is 400 and 500 and 600 here. */
@font-face {
  font-family: 'Nunito';
  src: url("/assets/Nunito-Variable-5ba1122b.woff2") format("woff2");
  font-weight: 200 1000;
  font-style: normal;
  font-display: swap;
}

/* Fantasy. A hand-drawn face, and the only one of these with any wobble in it. */
@font-face {
  font-family: 'Macondo';
  src: url("/assets/Macondo-Regular-e00846a8.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Old West. A wood-type display serif — a playbill nailed to a post. */
@font-face {
  font-family: 'Maiden Orange';
  src: url("/assets/MaidenOrange-Regular-b20c9f6e.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Science Fiction. Variable like Nunito, 100-900 in the one file.

   Set 22% larger than it asks to be. Genos is drawn small in its em: rendered
   at 100px its x-height measures 40px and its caps 46px, where the other four
   faces here all land within a few percent of Nunito's 49 and 71. Left alone,
   a screen in this theme reads a size smaller than the same screen in any
   other one, at the same font-size in the same markup — which is a theme
   changing how big the game's type is, and no theme's business.

   Matched on the x-height rather than on the caps, that being what decides how
   big a line of mostly-lowercase reads: 49/40 is 122%. Matching the caps would
   want 154%, and would take a line of body text from 348px wide to 536px on a
   704px board — wider than any of the other four. At 122% it sets 425px, which
   is between Nunito's 394 and Special Elite's 446. The caps stay short, which
   is the face and not a fault.

   Safari before 17 ignores size-adjust and gets the face unscaled, which is
   what every browser would have shown without this. */
@font-face {
  font-family: 'Genos';
  src: url("/assets/Genos-Variable-fda66624.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 122%;
}

/* Secret Agent. A struck typewriter, ink uneven — a dossier rather than a screen. */
@font-face {
  font-family: 'Special Elite';
  src: url("/assets/SpecialElite-Regular-bb832f1f.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
