/* ═══════════════════════════════════════════════════════════
   رزرونو — لایه‌ی فونت (منبعِ واحد)
   این فایل منبعِ حقیقت است؛ tools/sync-design-system.sh آن را به اپ‌ها کپی
   می‌کند، همراهِ خودِ فایلِ فونت در `shared/fonts/`.

   ⚠️ چرا این فایل ساخته شد (یافته‌ی P0، ممیزیِ UI/UX ۲۰۲۶-۰۸-۲۴):
   هر سه پنل فونت را با یک <link> از `https://fonts.googleapis.com` می‌گرفتند.
   سه پیامدِ واقعی:
     ۱. **بسته‌ی آفلاینِ تک‌فایلی هیچ فونتِ فارسی نداشت.** روی `file://`
        درخواست به CDN شکست می‌خورد و کلِ UI با فونتِ پیش‌فرضِ سیستم رندر
        می‌شد — همان بسته‌ای که README به کاربر می‌گوید بازش کند.
     ۲. وابستگیِ زمانِ اجرا به یک سرورِ ثالث (در ایران غالباً غیرقابلِ دسترس).
     ۳. FOUT/پرشِ چیدمان در هر بارِ اول، چون فونت روی مسیرِ بحرانیِ شبکه بود.

   حالا فونت **self-host** است: یک فایلِ variableِ ۱۰۸KB که کلِ بازه‌ی وزنِ
   ۱۰۰..۹۰۰ را می‌پوشاند (به‌جایِ ۷ فایلِ جداگانه‌ی استاتیک).
   مجوز: SIL OFL 1.1 — متنِ کامل در `shared/fonts/Vazirmatn-OFL.txt`.
   ═══════════════════════════════════════════════════════════ */

/* ── Piyade (فونتِ اصلیِ برند) ──
   ⚠️ فایل‌هایِ Piyade در این مخزن **نیستند**: یک فونتِ تجاری است و بدونِ
   فایلِ دارایِ مجوز نمی‌شود توزیعش کرد. به‌جایِ اعلانِ یک @font-face که به
   فایلِ ناموجود اشاره کند (۴۰۴ در هر بارگذاری + ادعایِ نادرستِ «فونت وصل
   است»)، نامِ خانوادگی در ابتدایِ پشته می‌ماند و مرورگر خودش به Vazirmatn
   می‌افتد. یعنی امروز چیزی نمی‌شکند و فردا با افزودنِ فایل‌ها، Piyade
   بدونِ هیچ تغییرِ کدی فعال می‌شود.
   دستورِ فعال‌سازی: `shared/fonts/README.md` */

@font-face {
  font-family: 'Vazirmatn';
  /* یک `url()` و نه دو تا: نوشتنِ `format('woff2-variations')` به‌عنوانِ
     fallback نحوِ قدیمی است و هر مرورگری که variable را می‌فهمد با
     `format('woff2')` + بازه‌ی `font-weight` هم می‌فهمد. مهم‌تر: در بسته‌ی
     تک‌فایلی هر `url()` یک بلوکِ base64 جدا می‌شود — دو تا یعنی ~۲۹۰KB
     به‌جایِ ~۱۴۵KB، بی‌هیچ سودی. */
  src: url('../fonts/vazirmatn-variable.woff2') format('woff2');
  /* بازه‌ی وزنِ فونتِ variable — یک فایل، همه‌ی وزن‌ها */
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;   /* متن بلافاصله با fallback دیده می‌شود، نه نامرئی */
  /* زیرمجموعه‌ی یونیکد اعلام نمی‌شود: UI فارسی/لاتین/عدد را با هم دارد و
     unicode-range اشتباه باعثِ رندرِ بخشی از متن با فونتِ دیگر می‌شود. */
}

/* ── پشته‌ی فونت — منبعِ واحد برایِ هر سه اپ ──
   `--font-ui` تنها جایی است که خانواده‌ی فونت اعلام می‌شود؛ بقیه‌ی CSS باید
   `font-family: inherit` یا همین توکن را به‌کار ببرد، نه نامِ خانوادگیِ خام.
   (پیش از این `panel.css` و `app.css` هرکدام رشته‌ی 'Vazirmatn',… را دستی
   تکرار می‌کردند — یعنی افزودنِ Piyade باید در چند فایل انجام می‌شد.) */
:root {
  --font-ui: 'Piyade', 'Vazirmatn', -apple-system, BlinkMacSystemFont,
             'Segoe UI', system-ui, 'Noto Sans Arabic', sans-serif;
  /* اعداد و کدها (کدِ رزرو، شماره‌ی تلفن، مبلغ) — عرضِ ثابت برایِ هم‌ترازی */
  --font-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace;
}
