/* ============================================================
 *  fonts.css — the product's typeface, shipped BY US.
 *
 *  WHY THIS FILE EXISTS. Two defects, found by counting rather than looking:
 *
 *  1. THE FIRST PAGE ANYONE SEES HAD NO WEBFONT AT ALL. Seven of twenty
 *     pages — login, index, console, dashboard, desk — loaded none, so the
 *     first typographic impression of a Persian-first product was whatever
 *     the visitor's OS happened to have. And the one @font-face that did
 *     exist (dashboard.css) declared `src: local('Vazirmatn')` with no file
 *     behind it, which does nothing on a machine that lacks the font while
 *     reading as if the matter were handled.
 *
 *  2. THE OTHER THIRTEEN LEANED ON GOOGLE. `fonts.googleapis.com` is a
 *     third-party dependency on the critical render path of a product whose
 *     users are in Iran — an availability question first, and a privacy leak
 *     second: every page load told Google who was reading.
 *
 *  ONE FILE, ALL WEIGHTS. The variable font covers 100–900 in a single
 *  request, so 500 and 600 are REAL weights rather than the nearest static
 *  one wearing their name. It is 111 KB against 102 KB for the two statics it
 *  replaced — smaller than the two together, one request instead of two, and
 *  no weight that silently isn't the weight it claims.
 *
 *  font-display: swap, deliberately. For Persian a flash of the fallback is
 *  far better than a flash of NOTHING — invisible text is unreadable text,
 *  and the fallback is still Persian.
 * ============================================================ */

@font-face {
  font-family: Vazirmatn;
  src: url("/fonts/Vazirmatn-Variable.woff2") format("woff2");
  /* The RANGE is what makes every weight real. A static face declared at
     `font-weight: 500` while serving the 400 file is a lie the renderer
     cannot catch — it just draws 400 and nobody notices until a heading
     looks wrong next to its body text. */
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
