/* Self-hosted fonts — served from same origin with 1-year immutable
 * cache (see server.js setHeaders). Avoids the fonts.googleapis.com
 * DNS lookup + TLS handshake + redirect to fonts.gstatic.com that
 * normally costs 200-400ms on cold visits.
 * Latin subset only; covers English + most Western European. */

@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/Barlow-400.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/Barlow-500.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/Barlow-700.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/BarlowCondensed-800.woff2') format('woff2');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/BarlowCondensed-900.woff2') format('woff2');
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/IBMPlexMono-400.woff2') format('woff2');
}

/* Inter variable font — one 48KB file covers all 5 weights used across
   the dashboards (profile, accounts, terminal). Saves 4 extra requests
   vs. static fonts. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/Inter-VAR.woff2') format('woff2-variations'),
       url('/fonts/Inter-VAR.woff2') format('woff2');
}
