/* ── SELF-HOSTED FONTS (2026-07-22) ───────────────────────────────────────────
   Replaces the Google Fonts CDN. Reason: loading from fonts.googleapis.com sends
   every visitor's IP address to Google on every page load, without consent — the
   issue behind LG München I, 3 O 17493/20 (Jan 2022). Self-hosting removes the
   third-party request entirely: no IP leak, no consent question, and one less DNS
   round-trip on first paint.

   Files are from the @fontsource packages (same upstream as Google Fonts, OFL-1.1),
   latin subset only, weights limited to the ones actually used.

   Material Symbols: the full variable font is 3.96 MB. This build is SUBSET to the
   13 icons the UI actually uses (13 KB — 300x smaller) with ligature substitution
   preserved, so existing markup keeps working unchanged:
       <span class="material-symbols-outlined">calculate</span>
   The FILL / GRAD / opsz / wght variable axes are preserved.
   ⚠ Adding a NEW icon to the HTML requires regenerating this subset — see
   tools/subset_icons.py. An unlisted icon renders as literal text, not an icon.
   Icons in this build: article calculate compare_arrows dark_mode delete_forever
   grid_view layers light_mode logout science settings star straighten
   ──────────────────────────────────────────────────────────────────────────── */

@font-face{font-family:'Rajdhani';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/rajdhani-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/rajdhani-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/rajdhani-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Rajdhani';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/rajdhani-latin-700-normal.woff2') format('woff2')}

@font-face{font-family:'Barlow';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/barlow-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/barlow-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/barlow-latin-500-normal.woff2') format('woff2')}

@font-face{font-family:'Share Tech Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/share-tech-mono-latin-400-normal.woff2') format('woff2')}

@font-face{font-family:'Material Symbols Outlined';font-style:normal;font-weight:100 700;font-display:block;src:url('/fonts/material-symbols-outlined-subset.woff2') format('woff2')}

.material-symbols-outlined{
  font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;
  font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;
  display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;
  -webkit-font-feature-settings:'liga';font-feature-settings:'liga';
  -webkit-font-smoothing:antialiased;
}
