/* fonts.css — self-hosted webfonts.
 *
 * Why: loading fonts from fonts.googleapis.com sends every visitor's IP to Google before
 * they consent to anything. LG München fined a site operator for exactly that in Jan 2022.
 * Serving the files ourselves removes the transfer — and removes a DNS lookup plus a TLS
 * handshake from first paint.
 *
 * STATUS: Counter-Strike is self-hosted here. Rajdhani and Share Tech Mono are still
 * loaded from Google in the page <head> — see fonts/README.md for the two files to drop
 * in and the single line to delete. Their @font-face rules are deliberately NOT written
 * yet: declaring a family whose file is missing makes the browser fail the load and fall
 * through to a system font, which would look worse than the situation we are fixing.
 */

/* Display face — the wordmark and section headings only.
 *
 * Counter-Strike is a caps-heavy game face: no lowercase refinement, almost no diacritics.
 * Using it for body text would break Romanian ăâîșț, Russian, Arabic and Hungarian
 * mid-sentence, so the unicode-range below confines it to basic Latin and anything outside
 * that falls straight through to Rajdhani instead of rendering as a box. */
@font-face{
  font-family:'Counter-Strike';
  src:url('fonts/cs_regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
  unicode-range:U+0020-007F,U+00A0-00FF;
}

/* Opt-in through this variable, never inherited by body text. Rajdhani is the fallback
   inside the stack, so a heading with diacritics stays legible rather than half-styled. */
:root{--display:'Counter-Strike','Rajdhani',sans-serif}

/* Where the display face is actually used. Kept to a short, deliberate list: a game face
   loses its impact if everything is set in it, and it cannot carry the languages. */
.brand-text b,.wordmark{font-family:var(--display);letter-spacing:1px}
.login-h,.page-head h1{font-family:var(--display);letter-spacing:.6px}
