/* ============================================================================
   MOOV TYPE — تایپوگرافی
   ----------------------------------------------------------------------------
   سه مسئله اینجا حل می‌شود:

   ۱. وزنِ تقلبی. کد از وزن ۸۰۰ و ۹۰۰ استفاده می‌کرد ولی فقط تا ۷۰۰ بارگذاری
      می‌شد. مرورگر آن را با کشیدنِ مصنوعیِ حروف می‌سازد و نتیجه‌اش روی خط
      فارسی، لکه‌ی سیاه است. حالا بازه‌ی کامل بار می‌شود.

   ۲. وابستگی به شبکه. Google Fonts همیشه در دسترس نیست. ترتیب اینجا:
      اول فونتِ نصب‌شده روی خودِ دستگاه، بعد فایلِ کنارِ افزونه، و اگر
      هیچ‌کدام نبود CDN. اولی صفر بایت شبکه می‌خواهد.

   ۳. فاصله‌ی حروف. خط فارسی به هم می‌چسبد؛ tracking منفی که برای لاتین
      خوب است، اینجا حروف را روی هم می‌اندازد. پس روی متن فارسی صفر است.
   ========================================================================== */

/* ---------- فونت محلی، اگر کنار افزونه گذاشته شده باشد ----------
   فایل‌ها را در assets/fonts/ بگذار با همین نام‌ها. اگر نبودند، این
   قاعده‌ها بی‌صدا رد می‌شوند و نوبت به CDN می‌رسد. */
@font-face{
  font-family:'Vazirmatn';
  src:local('Vazirmatn'),
      url('../fonts/Vazirmatn[wght].woff2') format('woff2-variations'),
      url('../fonts/Vazirmatn-Variable.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:local('Inter'),
      url('../fonts/Inter[opsz,wght].woff2') format('woff2-variations'),
      url('../fonts/Inter-Variable.woff2') format('woff2');
  font-weight:100 900; font-style:normal; font-display:swap;
}

/* ---------- پشته‌ی فونت ---------- */
:root{
  --moov-font-fa:'Vazirmatn','Estedad','Sahel','IRANSansX','IRANSans',
                 'Segoe UI',Tahoma,system-ui,sans-serif;
  --moov-font-en:'Inter','SF Pro Text','Segoe UI',system-ui,-apple-system,
                 'Helvetica Neue',Arial,sans-serif;
  --moov-font-num:'Inter','SF Mono',ui-monospace,'Vazirmatn',system-ui,sans-serif;
}

/* ---------- کیفیت رندر ----------
   دو خط اول، لبه‌های حروف را نرم می‌کنند؛ روی زمینه‌ی تیره تفاوتش زیاد
   است چون رندرِ زیرپیکسلی روی تیره، حروف را چاق و رنگی نشان می‌دهد. */
.moov-app,.moov-page,.moov-dash,.moov-studio,.md-form{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-kerning:normal;
  /* ضخیمِ مصنوعی عمداً خاموش نشده. حالا که بازه‌ی کامل وزن بار می‌شود،
     تقریباً هیچ‌وقت لازم نمی‌آید؛ ولی اگر مدیر یک فونتِ تک‌وزنی آپلود
     کند، همین مصنوعی تنها چیزی است که تیتر را ضخیم نگه می‌دارد.
     خاموش کردنش، مشکلی را حل می‌کرد که حل شده و مشکلی می‌ساخت که نشده. */
  font-variant-ligatures:common-ligatures contextual;
}

/* ---------- متن فارسی ----------
   letter-spacing صفر و line-height بازتر: خط فارسی کشیده و متصل است و
   با فاصله‌ی سطرِ لاتین، به هم می‌چسبد. */
[dir="rtl"],.rtl,
.moov-page [dir="rtl"],.moov-post .sp-head,.moov-post .sp-card-title,
.moov-post .sp-label,.moov-post .sp-group,.moov-post .sp-design-title,
.moov-post .sp-feat-text,.moov-post .sp-project-text,.moov-post .sp-side-title,
.moov-post .sp-step-label,.moov-post .sp-textarea,.moov-post .sp-placeholder{
  font-family:var(--moov-font-fa);
  letter-spacing:normal;
  font-feature-settings:"kern" 1,"liga" 1;
}

/* ---------- متن لاتین و عدد ---------- */
.moov-page .mv-brand-name,.moov-page .mv-nav-item:not([dir="rtl"]),
.moov-page .mv-upgrade,.moov-page .mv-user-text,
.moov-post .sp-who-text,.moov-post .sp-stage-count,.moov-post .sp-font select{
  font-family:var(--moov-font-en);
}

/* عددها روی داشبورد باید هم‌عرض باشند، وگرنه هنگام تغییر مقدار می‌لرزند */
.moov-dash .md-kpi-value,.moov-dash .md-stat-value,.moov-dash .md-ring-score,
.moov-dash .md-note-big,.moov-dash .md-delta b,.moov-dash .md-yaxis,
.moov-dash .md-axis,.moov-dash .md-channel-list b,.moov-dash .md-funnel-values{
  font-family:var(--moov-font-en);
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1,"kern" 1;
}

/* ---------- وزن‌ها ----------
   نام‌گذاری صریح، تا جایی که وزن ۸۰۰ خواسته شده واقعاً ۸۰۰ بیاید. */
.moov-dash .md-kpi-value,.moov-dash .md-ring-score,.moov-dash .md-note-big{font-weight:700}
.moov-page .mv-brand-name{font-weight:600}
.moov-post .sp-head h1{font-weight:700;letter-spacing:normal}

/* ---------- ورودی‌ها ----------
   مرورگر برای فیلدها فونت خودش را می‌گذارد؛ ارث بردن، صفحه را یک‌دست می‌کند. */
.moov-page input,.moov-page select,.moov-page textarea,.moov-page button,
.moov-dash input,.moov-dash select,.moov-dash button,
.moov-studio input,.moov-studio select,.moov-studio button{font-family:inherit}
