/* ═══════════════════════════════════════════════════════════════════════════
   fonts-mobile.css — self-hosted latin-subset WOFF2 for the mobile app-shell
   surface portal/m.html (both trees). Replaces the Google Fonts CDN <link> in
   m.html so ZERO Google CDN link remains anywhere after this wave (Design Review
   18 Jul 2026 — Build Order P1.1; closes D1 open-item #2, Archivo+Spline, WITHOUT
   a brand change).

   m.css declares --m-font:'Archivo' and --m-mono:'Spline Sans Mono'. These are
   NOT North-Star faces; the eventual migration of m.html to Hanken/IBM Plex Mono
   (review "phone becomes an app", phase 3) is a DESIGN call. Self-hosting here
   keeps m.html pixel-identical while killing its CDN link today, and does not
   foreclose that migration.

   The SW scope is /portal/, m.html is at /portal/, but this file is served at the
   web root (beside tokens.css). Link it root-absolute (`/fonts-mobile.css`);
   url() resolves relative to THIS file (root), so 'assets/fonts/…' → /assets/fonts/… .
   Subset = Google's official /* latin */ cut (U+0000-00FF core).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Archivo — variable 400–800, m.html UI face (--m-font) */
@font-face{
  font-family:'Archivo'; font-style:normal; font-weight:400 800; font-display:swap;
  src:url('assets/fonts/Archivo-400-800-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Spline Sans Mono — variable 500–600, m.html instrument face (--m-mono) */
@font-face{
  font-family:'Spline Sans Mono'; font-style:normal; font-weight:500 600; font-display:swap;
  src:url('assets/fonts/SplineSansMono-500-600-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
