/* Self-hosted Persian + Latin fonts (Mehdi 2026-05-30 launch fix):
   Google Fonts CDN is blocked/throttled in Iran. These woff2 files are
   served from the Sazito origin so the platform + generated apps render
   correctly for Iranian users. Vendored from fontsource. */
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/vazirmatn-300.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/vazirmatn-400.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/vazirmatn-500.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/vazirmatn-600.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/vazirmatn-700.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/vazirmatn-800.woff2') format('woff2');}
@font-face{font-family:'Estedad';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/estedad-500.woff2') format('woff2');}
@font-face{font-family:'Estedad';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/estedad-600.woff2') format('woff2');}
@font-face{font-family:'Estedad';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/estedad-700.woff2') format('woff2');}
@font-face{font-family:'Estedad';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/estedad-800.woff2') format('woff2');}
@font-face{font-family:'Estedad';font-style:normal;font-weight:900;font-display:swap;src:url('/fonts/estedad-900.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/sora-400.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/sora-600.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/sora-700.woff2') format('woff2');}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/sora-800.woff2') format('woff2');}

/* 2026-07-27 — Mehdi: «everything looks so android like even though it's an
   iPhone … the font I believe also has a problem». We shipped exactly THREE
   families (Vazirmatn / Estedad / Sora), so every app we ever generated was
   restricted to the same typefaces — repetition guaranteed by us, escapable
   by no model. These add a real Latin UI face and two more Persian options.

   Inter is the standard SF-Pro substitute (SIL OFL): it is what the industry
   uses when it wants an iOS system-font feel without Apple's licence, and its
   absence is why Latin numerals and labels never looked native. */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/inter-800.woff2') format('woff2');}

/* Noto Sans Arabic — a neutral, lower-contrast Persian face. Vazirmatn is
   excellent but it is not the right voice for every product; a model that
   wants a quieter or more editorial tone now has somewhere to go. */
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/notosansarabic-400.woff2') format('woff2');}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/notosansarabic-500.woff2') format('woff2');}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/notosansarabic-600.woff2') format('woff2');}
@font-face{font-family:'Noto Sans Arabic';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/notosansarabic-700.woff2') format('woff2');}

/* Lalezar — a Persian DISPLAY face. Headlines had no option but body type at
   a larger size, which is a large part of why builds read as flat. */
@font-face{font-family:'Lalezar';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/lalezar-400.woff2') format('woff2');}

/* 2026-07-27 — ALIAS FACES. Mehdi, looking at a finished build: «did it use
   other fonts available? Still seems like 100% vazirmatn which is wrong.»
   He was right, and the cause was ours.

   The app HAD picked a second typeface — 12 uses of Estedad — but it wrote
   the EXPORT CONSTANT as a literal string:

       fontFamily: 'Estedad_800ExtraBold'

   Our @font-face families are named `Estedad` / `Vazirmatn` / `Inter`, so
   `Estedad_800ExtraBold` matched nothing and every weighted name fell back to
   one default face. The model made the right choice and our CSS threw it away.

   Rather than fight the models over a naming convention they will keep using,
   register the constant names as real families too. Both spellings now work. */

@font-face{font-family:'Vazirmatn_300Light';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/vazirmatn-300.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn_400Regular';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/vazirmatn-400.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn_500Medium';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/vazirmatn-500.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn_600SemiBold';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/vazirmatn-600.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn_700Bold';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/vazirmatn-700.woff2') format('woff2');}
@font-face{font-family:'Vazirmatn_800ExtraBold';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/vazirmatn-800.woff2') format('woff2');}
@font-face{font-family:'Estedad_500Medium';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/estedad-500.woff2') format('woff2');}
@font-face{font-family:'Estedad_600SemiBold';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/estedad-600.woff2') format('woff2');}
@font-face{font-family:'Estedad_700Bold';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/estedad-700.woff2') format('woff2');}
@font-face{font-family:'Estedad_800ExtraBold';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/estedad-800.woff2') format('woff2');}
@font-face{font-family:'Estedad_900Black';font-style:normal;font-weight:900;font-display:swap;src:url('/fonts/estedad-900.woff2') format('woff2');}
@font-face{font-family:'Sora_400Regular';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/sora-400.woff2') format('woff2');}
@font-face{font-family:'Sora_600SemiBold';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/sora-600.woff2') format('woff2');}
@font-face{font-family:'Sora_700Bold';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/sora-700.woff2') format('woff2');}
@font-face{font-family:'Sora_800ExtraBold';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/sora-800.woff2') format('woff2');}
@font-face{font-family:'Inter_400Regular';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter_500Medium';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter_600SemiBold';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter_700Bold';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2');}
@font-face{font-family:'Inter_800ExtraBold';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/inter-800.woff2') format('woff2');}
@font-face{font-family:'Lalezar_400Regular';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/lalezar-400.woff2') format('woff2');}
@font-face{font-family:'NotoSansArabic_400Regular';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/notosansarabic-400.woff2') format('woff2');}
@font-face{font-family:'NotoSansArabic_500Medium';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/notosansarabic-500.woff2') format('woff2');}
@font-face{font-family:'NotoSansArabic_600SemiBold';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/notosansarabic-600.woff2') format('woff2');}
@font-face{font-family:'NotoSansArabic_700Bold';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/notosansarabic-700.woff2') format('woff2');}
