/* =====================================================================
   GameVerse — Design Tokens
   دیزاین سیستم مرکزی پروژه (رنگ، تایپوگرافی، فاصله، سایه، گرادیان)
   تمام مقادیر از این فایل خوانده می‌شود؛ برای تغییر تم فقط اینجا را ویرایش کنید.
   ===================================================================== */

/* =====================================================================
   فونت ایران‌سنس ایکس (نسخه SemiPro — لوکال)

   نسخه استاندارد استفاده شده، نه نسخه FaNum؛ چون ارقام در کد پروژه
   به‌صورت صریح با GVPricing.toFa() به فارسی تبدیل می‌شوند. با این
   انتخاب، جاهایی که عمداً باید لاتین بمانند (شماره کارت، آیدی دیسکورد،
   ورودی شماره موبایل) لاتین می‌مانند.

   فایل‌های اصلی خریداری‌شده در docs/fonts/IranSansX(SemiPro) نگهداری می‌شوند؛
   اینجا فقط وزن‌های مورد استفاده با نام‌گذاری عددی کپی شده‌اند تا مسیرها
   بدون فاصله و پرانتز باشند.
   ===================================================================== */
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-300.woff2') format('woff2');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-500.woff2') format('woff2');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-800.woff2') format('woff2');
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'IRANSansX';
  src: url('../vendor/iransansx/IRANSansX-900.woff2') format('woff2');
  font-weight: 900; font-style: normal; font-display: swap;
}

:root {
  color-scheme: dark;
  /* ================= پالت پایه ================= */
  /* پس‌زمینه‌ها — از تیره‌ترین به روشن‌ترین */
  --gv-bg:            #050D0A;   /* پس‌زمینه اصلی صفحه */
  --gv-bg-soft:       #08130F;   /* نوارهای متناوب */
  --gv-surface:       #0C1A15;   /* کارت‌ها */
  --gv-surface-2:     #12241D;   /* کارت روی کارت / هاور */
  --gv-surface-3:     #193026;   /* اینپوت‌ها و چیپ‌ها */

  /* رنگ‌های برند */
  --gv-primary:       #10B981;
  --gv-primary-600:   #059669;
  --gv-primary-400:   #34D399;
  --gv-primary-soft:  #14B8A6;

  --gv-blue:          #2E9BFF;
  --gv-blue-600:      #1D7FE0;
  --gv-blue-400:      #6BB8FF;

  --gv-pink:          #FF2D78;
  --gv-pink-600:      #E0195F;
  --gv-pink-400:      #FF6BA0;

  /* رنگ‌های وضعیت */
  --gv-success:       #4ADE80;
  --gv-warning:       #F0B429;
  --gv-danger:        #F43F5E;
  --gv-info:          #38BDF8;
  --gv-gold:          #E0A64A;

  /* متن */
  --gv-text:          #E7F4EE;   /* متن اصلی */
  --gv-text-soft:     #A6C2B6;   /* متن ثانویه */
  --gv-muted:         #7B9488;   /* متن کم‌رنگ */
  --gv-text-invert:   #08130F;

  /* خطوط و مرزها */
  --gv-border:        rgba(255, 255, 255, .07);
  --gv-border-strong: rgba(255, 255, 255, .13);
  --gv-border-primary: rgba(16, 185, 129, .35);
  --gv-border-blue:   rgba(46, 155, 255, .35);
  --gv-border-pink:   rgba(255, 45, 120, .35);

  /* ================= گرادیان‌ها ================= */
  --gv-grad-primary:   linear-gradient(135deg, #10B981 0%, #047857 100%);
  --gv-grad-blue:     linear-gradient(135deg, #3BA5FF 0%, #1554C0 100%);
  --gv-grad-pink:     linear-gradient(135deg, #FF3D8B 0%, #C0126A 100%);
  --gv-grad-gold:     linear-gradient(135deg, #F6C56B 0%, #C98A25 100%);
  --gv-grad-hero:     linear-gradient(135deg, #0A3D2E 0%, #08201A 55%, #050D0A 100%);
  --gv-grad-text:     linear-gradient(90deg, #6EE7B7 0%, #10B981 45%, #38BDF8 100%);

  /* هاله‌های محیطی پشت کارت‌ها */
  --gv-glow-primary:   radial-gradient(60% 60% at 50% 0%, rgba(16, 185, 129, .28), transparent 70%);
  --gv-glow-blue:     radial-gradient(60% 60% at 50% 0%, rgba(46, 155, 255, .26), transparent 70%);
  --gv-glow-pink:     radial-gradient(60% 60% at 50% 0%, rgba(255, 45, 120, .26), transparent 70%);

  /* ================= سایه‌ها ================= */
  --gv-shadow-sm:     0 2px 8px rgba(0, 0, 0, .35);
  --gv-shadow:        0 8px 28px rgba(0, 0, 0, .45);
  --gv-shadow-lg:     0 22px 60px rgba(0, 0, 0, .6);
  --gv-shadow-primary: 0 12px 34px rgba(5, 150, 105, .35);
  --gv-shadow-blue:   0 12px 34px rgba(29, 127, 224, .32);
  --gv-shadow-pink:   0 12px 34px rgba(224, 25, 95, .32);

  /* ================= شعاع گوشه ================= */
  --gv-radius-xs:  8px;
  --gv-radius-sm:  12px;
  --gv-radius:     16px;
  --gv-radius-lg:  22px;
  --gv-radius-xl:  28px;
  --gv-radius-pill: 999px;

  /* ================= فاصله‌گذاری ================= */
  --gv-space-1: 4px;
  --gv-space-2: 8px;
  --gv-space-3: 12px;
  --gv-space-4: 16px;
  --gv-space-5: 24px;
  --gv-space-6: 32px;
  --gv-space-7: 48px;
  --gv-space-8: 64px;
  --gv-space-9: 96px;

  /* ================= تایپوگرافی ================= */
  --gv-font: 'IRANSansX', system-ui, 'Segoe UI', Tahoma, sans-serif;
  --gv-fs-xs:   .75rem;    /* 12 */
  --gv-fs-sm:   .8125rem;  /* 13 */
  --gv-fs-base: .875rem;   /* 14 */
  --gv-fs-md:   1rem;      /* 16 */
  --gv-fs-lg:   1.125rem;  /* 18 */
  --gv-fs-xl:   1.375rem;  /* 22 */
  --gv-fs-2xl:  1.75rem;   /* 28 */
  --gv-fs-3xl:  2.25rem;   /* 36 */
  --gv-fs-4xl:  3rem;      /* 48 */
  --gv-lh-tight: 1.35;
  --gv-lh:       1.85;

  /* ================= حرکت ================= */
  --gv-t-fast: .15s cubic-bezier(.4, 0, .2, 1);
  --gv-t:      .25s cubic-bezier(.4, 0, .2, 1);
  --gv-t-slow: .45s cubic-bezier(.4, 0, .2, 1);

  /* ================= لایه‌ها ================= */
  --gv-z-header:  1030;
  --gv-z-mega:    1035;
  --gv-z-drawer:  1045;
  --gv-z-toast:   1090;

  /* ================= اندازه‌های ساختاری ================= */
  --gv-header-h: 72px;
  --gv-container: 1320px;

  /* ---------- نگاشت متغیرهای بوت‌استرپ روی تم ---------- */
  --bs-body-bg: var(--gv-bg);
  --bs-body-color: var(--gv-text);
  --bs-body-font-family: var(--gv-font);
  --bs-body-font-size: var(--gv-fs-base);
  --bs-body-line-height: var(--gv-lh);
  --bs-primary: var(--gv-primary);
  --bs-primary-rgb: 16, 185, 129;
  --bs-border-color: var(--gv-border);
  --bs-border-radius: var(--gv-radius-sm);
  --bs-link-color: var(--gv-primary-400);
  --bs-link-hover-color: var(--gv-primary-soft);
  --bs-emphasis-color: var(--gv-text);
  --bs-secondary-color: var(--gv-text-soft);
  --bs-tertiary-color: var(--gv-muted);
  --bs-heading-color: var(--gv-text);
}

/* ============================= تم روشن =============================
   تم تیره بالا منبع پیش‌فرض است. تم روشن فقط توکن‌ها را عوض می‌کند تا
   تمام صفحات، پنل کاربر/بوستر، فرم‌ها و چت بدون CSS موازی هماهنگ بمانند. */
:root[data-theme='light'] {
  color-scheme: light;

  --gv-bg:            #F4FAF7;
  --gv-bg-soft:       #E9F5F0;
  --gv-surface:       #FFFFFF;
  --gv-surface-2:     #EEF9F4;
  --gv-surface-3:     #E0F1E9;

  --gv-primary:       #059669;
  --gv-primary-600:   #047857;
  --gv-primary-400:   #047857;
  --gv-primary-soft:  #0D9488;
  --gv-blue:          #0284C7;
  --gv-blue-600:      #0369A1;
  --gv-blue-400:      #0369A1;
  --gv-pink:          #DB2777;
  --gv-pink-600:      #BE185D;
  --gv-pink-400:      #BE185D;

  --gv-success:       #15803D;
  --gv-warning:       #A16207;
  --gv-danger:        #BE123C;
  --gv-info:          #0369A1;
  --gv-gold:          #A16207;

  --gv-text:          #0E1F17;
  --gv-text-soft:     #42574C;
  --gv-muted:         #697F73;
  --gv-text-invert:   #FFFFFF;

  --gv-border:        rgba(16, 48, 36, .10);
  --gv-border-strong: rgba(16, 48, 36, .18);
  --gv-border-primary: rgba(4, 120, 87, .34);
  --gv-border-blue:   rgba(3, 105, 161, .32);
  --gv-border-pink:   rgba(190, 24, 93, .30);

  --gv-grad-primary:   linear-gradient(135deg, #10B981 0%, #047857 100%);
  --gv-grad-blue:     linear-gradient(135deg, #38BDF8 0%, #0369A1 100%);
  --gv-grad-pink:     linear-gradient(135deg, #F472B6 0%, #BE185D 100%);
  --gv-grad-gold:     linear-gradient(135deg, #F8D477 0%, #B7791F 100%);
  --gv-grad-hero:     linear-gradient(135deg, #E4F7EF 0%, #F2FBF7 55%, #FFFFFF 100%);
  --gv-grad-text:     linear-gradient(90deg, #047857 0%, #059669 48%, #0369A1 100%);

  --gv-glow-primary:   radial-gradient(60% 60% at 50% 0%, rgba(5, 150, 105, .16), transparent 72%);
  --gv-glow-blue:     radial-gradient(60% 60% at 50% 0%, rgba(2, 132, 199, .13), transparent 72%);
  --gv-glow-pink:     radial-gradient(60% 60% at 50% 0%, rgba(219, 39, 119, .12), transparent 72%);

  --gv-shadow-sm:     0 2px 10px rgba(14, 40, 30, .07);
  --gv-shadow:        0 10px 30px rgba(14, 40, 30, .10);
  --gv-shadow-lg:     0 24px 64px rgba(14, 40, 30, .15);
  --gv-shadow-primary: 0 12px 32px rgba(4, 120, 87, .20);
  --gv-shadow-blue:   0 12px 32px rgba(3, 105, 161, .18);
  --gv-shadow-pink:   0 12px 32px rgba(190, 24, 93, .17);

  --bs-primary-rgb: 5, 150, 105;
}
