/** Rubik — loaded ONCE for every page in the app.
 *
 *  WHY THIS FILE EXISTS SEPARATELY FROM _shell.css
 *  `_shell.css` is only included by dashboard.html and analytics.html. The other pages (chat, users,
 *  login, guide, usage, sources, glossary) each declare the font stack themselves and included no
 *  @font-face at all — so they fell back to whatever the machine had. An @font-face declaration is
 *  document-scoped but has to be *present* in the document, so it lives here, in one place, linked by
 *  every template's <head>. Do not inline a copy per page: the stack would then drift per page.
 *
 *  The stack every page declares is:
 *      font-family: 'Rubik', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
 *  Before this file existed, no @font-face anywhere delivered Rubik, so the first entry never matched
 *  and each machine substituted its own default (this VM the headless probes run on -> DejaVu Sans,
 *  Conte's Windows box -> Segoe UI, a Mac -> SF Pro). Card-header icons are FIXED 15px boxes while the
 *  label's baseline comes from the font's own metrics, so those substitutions moved the text against
 *  the icon — the header misalignment that measured "fine" on the VM because DejaVu happens to round to
 *  the same strut. Pinning the font is what makes one measurement valid everywhere.
 *
 *  Provenance / licence: static/fonts/PROVENANCE.txt and static/fonts/OFL.txt (SIL OFL 1.1).
 *  Do NOT delete this as a duplicate — it is the only @font-face in the app.
 */
@font-face {
  font-family: 'Rubik';
  src: url('/static/fonts/rubik-variable.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
