/* ════════════════════════════════════════════════════════════════════════
   MS Sans Serif — the Windows 2000 appearance's period GUI typeface
   ────────────────────────────────────────────────────────────────────────
   Separate from fonts.css because that file is machine-generated by
   tools/fetch-fonts.mjs and rewritten wholesale on every run — anything
   hand-added there is lost. The font files here come from a different
   source and their own tool, tools/fetch-pixel-font.mjs.

   WHY A FILE AT ALL: naming 'MS Sans Serif' in a font stack does not get
   you the font in the screenshots. Modern Windows substitutes the
   antialiased OUTLINE descendant (Microsoft Sans Serif); macOS and iOS
   fall back to Geneva. Both have the wrong glyph shapes. Self-hosting the
   bitmap recreation is the only way the appearance renders the same on
   every OS. CSP is font-src 'self' (index.html), so it must be local.

   ATTRIBUTION — required, do not remove:
     “MS Sans Serif” and “MS Sans Serif Bold” by “lou”, made with FontStruct
       https://fontstruct.com/fontstructions/show/1384746   (regular)
       https://fontstruct.com/fontstructions/show/1384862   (bold)
     Licensed CC BY-SA 3.0 — http://creativecommons.org/licenses/by-sa/3.0/
     woff2 conversions via the 98.css package (MIT, github.com/jdan/98.css).
   FontStruct requires a redistributed font to travel with the rest of its
   archive, so src/fonts/ms-sans-serif*.{LICENSE,README}.txt ship alongside
   the woff2 files. Do not delete them.

   SIZING: this is a bitmap face traced to outlines. It is designed for
   11px and only stays crisp at 11px and integer multiples of it — the
   FontStruct readme says so outright. The Windows 2000 type ramp in
   win2000.css is built on that grid (11 / 22), which is also what
   Windows itself did: 8pt everywhere, hierarchy from weight and title
   bars rather than from size.

   Loaded by index.html AND auth/index.html — the sign-in page applies the
   saved appearance too (src/js/auth-theme.js) and links only fonts.css,
   variables.css and base.css, so it needs this one explicitly.
   ════════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'MS Sans Serif Web';
  src: url(../fonts/ms-sans-serif.woff2) format('woff2');
  font-weight: 400;
  font-style: normal;
  /* block, not swap: a swap would flash the fallback sans and then snap to
     pixels, which reads as a bug. The file is 6 KB — the block window is
     imperceptible, and it is only fetched when Windows 2000 is active. */
  font-display: block;
}

/* A real bold face, so nothing is synthetically emboldened. Bold is doing
   most of the hierarchy work in this appearance, so it has to be the
   genuine article — a smeared fake bold at 11px is unreadable. */
@font-face {
  font-family: 'MS Sans Serif Web';
  src: url(../fonts/ms-sans-serif-bold.woff2) format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
