/* Self-hosted latin web fonts for the appearance picker.

   Production CSP blocks fonts.googleapis.com / fonts.gstatic.com, so a remote <link> would silently
   fall back to system-ui and the picker would be dead weight. We ship the latin woff2 subsets locally
   instead. prefs.font_stylesheet_href() points every bundled font choice at this one sheet; base.html
   emits a single <link> to it.

   Inter, Roboto, and Source Sans 3 ship as a single variable woff2 that covers the whole weight axis,
   so their 400 and 700 faces reference the same file (this mirrors Google's own css2 output). Lato is
   a static family, so its two weights are two files. font-display: swap on every face — text paints in
   the fallback immediately and re-renders once the woff2 arrives, so a slow font never blocks content.

   MedievalSharp (the wordmark/brand face) is also declared here for completeness; app.css declares the
   same face independently so the brand font loads on every page regardless of the picker. */

/* ---- Inter (variable: 400 + 700 from one file) ---- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/inter-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/inter-latin.woff2') format('woff2');
}

/* ---- Roboto (variable: 400 + 700 from one file) ---- */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/roboto-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/roboto-latin.woff2') format('woff2');
}

/* ---- Lato (static: one file per weight) ---- */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/lato-latin-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/lato-latin-700.woff2') format('woff2');
}

/* ---- Source Sans 3 (variable: 400 + 700 from one file) ---- */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/source-sans-3-latin.woff2') format('woff2');
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/static/fonts/source-sans-3-latin.woff2') format('woff2');
}

/* ---- MedievalSharp (brand/wordmark; also declared in app.css) ---- */
@font-face {
  font-family: 'MedievalSharp';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/static/fonts/medievalsharp.woff2') format('woff2');
}
