/* ═══════════════════════════════════════════════════════════════
   GQ Exam Pro — Design Tokens v1.0
   المصدر: نموذج المصمم المعتمد (تصميم نظام تعليمي شامل v2)

   هذا الملف يحتوي التوكينات فقط. لا قواعد تخطيط ولا مكوّنات.
   يُحمَّل قبل أي ملف ستايل آخر.

   قاعدة: لا تكتب قيمة لونية أو مسافة مباشرة في أي ملف آخر.
   استخدم المتغيّر دائماً، وإلا انكسر الوضع الداكن.
   ═══════════════════════════════════════════════════════════════ */

/* ── الخطوط ──────────────────────────────────────────────────────
   IBM Plex Sans للاتيني والسيريلي · IBM Plex Sans Arabic للعربي والفارسي
   نفس البنية الهندسية وارتفاع سينيّ متقارب.
   يُحمَّل عبر wp_enqueue_style في Assets.php وليس بـ @import (حاجب للعرض).
─────────────────────────────────────────────────────────────── */

:root,
.gqep-scope,
[data-gqep-theme]{
  --gqep-font:'IBM Plex Sans','IBM Plex Sans Arabic',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gqep-font-mono:'IBM Plex Mono','IBM Plex Sans Arabic',ui-monospace,monospace;

  /* ── السُّلَّم النصّي — الحجم / ارتفاع السطر / الوزن ── */
  --gqep-fs-display:56px;  --gqep-lh-display:1.05; --gqep-fw-display:700;
  --gqep-fs-h1:34px;       --gqep-lh-h1:1.2;       --gqep-fw-h1:700;
  --gqep-fs-h2:24px;       --gqep-lh-h2:1.3;       --gqep-fw-h2:600;
  --gqep-fs-h3:18px;       --gqep-lh-h3:1.4;       --gqep-fw-h3:600;
  --gqep-fs-body-l:17px;   --gqep-lh-body-l:1.75;  --gqep-fw-body-l:400;
  --gqep-fs-body-m:15px;   --gqep-lh-body-m:1.6;   --gqep-fw-body-m:400;
  --gqep-fs-body-s:13px;   --gqep-lh-body-s:1.55;  --gqep-fw-body-s:400;
  --gqep-fs-caption:11.5px;--gqep-lh-caption:1.4;  --gqep-fw-caption:500;

  /* ── المسافات — أساس 4px ── */
  --gqep-sp-1:4px;   --gqep-sp-2:8px;   --gqep-sp-3:12px;  --gqep-sp-4:16px;
  --gqep-sp-5:20px;  --gqep-sp-6:24px;  --gqep-sp-8:32px;  --gqep-sp-10:40px;
  --gqep-sp-12:48px; --gqep-sp-16:64px; --gqep-sp-20:80px;

  /* ── أنصاف الأقطار ── */
  --gqep-r-sm:8px; --gqep-r-md:12px; --gqep-r-lg:16px; --gqep-r-xl:24px; --gqep-r-full:999px;

  /* ── الحركة ── */
  --gqep-ease:cubic-bezier(.2,0,0,1);
  --gqep-dur-fast:120ms; --gqep-dur-base:200ms; --gqep-dur-slow:320ms;

  /* ── أهداف اللمس — الحد الأدنى الملزم ── */
  --gqep-tap-min:44px;      /* أي عنصر تفاعلي */
  --gqep-tap-choice:56px;   /* خيار الإجابة */
  --gqep-tap-rate:76px;     /* أزرار تقييم الفلاش كارد */
  --gqep-tap-gap:8px;       /* الفاصل بين أي هدفَي لمس */

  /* ── ميزانية المساحة الرأسية في وضع الامتحان (360×640) ── */
  --gqep-player-header-h:56px;
  --gqep-player-footer-h:69px;
  --gqep-player-jump-h:48px;
  --gqep-player-audio-collapsed-h:52px;
  --gqep-safe-bottom:env(safe-area-inset-bottom,0px);
}

/* ── الوضع الفاتح ──────────────────────────────────────────── */
:root,
[data-gqep-theme="light"]{
  /* الأساسي — سايج */
  --gqep-p50:#F1F7F5;  --gqep-p100:#DDEBE7; --gqep-p200:#BBD7D0; --gqep-p300:#8FBCB1;
  --gqep-p400:#5F9C8D; --gqep-p500:#3F7F6F; --gqep-p600:#326657; --gqep-p700:#2A5347;
  --gqep-p800:#23443B; --gqep-p900:#1C3630;

  /* اللكنة — كهرماني */
  --gqep-a50:#FDF4EC;  --gqep-a100:#FAE3CE; --gqep-a300:#F0B383;
  --gqep-a500:#E08544; --gqep-a600:#C46C2F; --gqep-a700:#9E5525;

  /* الدلالات */
  --gqep-ok:#2E8B5E;   --gqep-ok-bg:#E7F4ED;   --gqep-ok-text:#1F6B45;
  --gqep-err:#C24A4A;  --gqep-err-bg:#FBEAEA;  --gqep-err-text:#A33A3A;
  --gqep-warn:#B8801A; --gqep-warn-bg:#FBF3E2; --gqep-warn-text:#8A5E10;
  --gqep-info:#3B6FA8; --gqep-info-bg:#EAF1F8; --gqep-info-text:#2C5885;

  /* الأسطح والحدود والنص */
  --gqep-bg:#F5F8F7;   --gqep-sf:#FFFFFF;  --gqep-sf2:#EEF3F1; --gqep-sf3:#E6ECEA;
  --gqep-bd:#E1E8E6;   --gqep-bd2:#C6D2CE;
  --gqep-tx:#151A19;   --gqep-tx2:#57615E; --gqep-tx3:#636C6A;

  /* المستويات */
  --gqep-lvl-a2:#3F7F6F; --gqep-lvl-b1:#2E6F94; --gqep-lvl-b2:#7A5490; --gqep-lvl-c1:#C46C2F;
  --gqep-lvl-a2-text:#2F6A5C;  --gqep-lvl-b1-text:#255C7C;
  --gqep-lvl-b2-text:#644378;  --gqep-lvl-c1-text:#8F4E1D;
  --gqep-lvl-a2-badge:#336354; --gqep-lvl-b1-badge:#2E6F94;
  --gqep-lvl-b2-badge:#7A5490; --gqep-lvl-c1-badge:#9E5525;

  /* الظلال — في الفاتح ظلال حقيقية */
  --gqep-sh1:0 1px 2px rgba(21,34,30,.06);
  --gqep-sh2:0 2px 4px rgba(21,34,30,.05),0 8px 20px rgba(21,34,30,.07);
  --gqep-sh3:0 8px 16px rgba(21,34,30,.08),0 24px 56px rgba(21,34,30,.14);

  --gqep-focus:#3F7F6F;
  --gqep-scrim:rgba(15,26,23,.42);
  --gqep-on-primary:#FFFFFF;
}
/* color-scheme يُطبَّق على جذر المشغّل فقط.
   وضعه على :root يغيّر مظهر عناصر النموذج في قالب ووردبريس كله. */
[data-gqep-theme="light"]{color-scheme:light}

/* ── الوضع الداكن ──────────────────────────────────────────────
   الظلال تُستبدل بحدود مضيئة لأن الظل لا يُقرأ على خلفية داكنة.
─────────────────────────────────────────────────────────────── */
[data-gqep-theme="dark"]{
  --gqep-p50:#16221F;  --gqep-p100:#1C2C28; --gqep-p200:#254039; --gqep-p300:#33594F;
  --gqep-p400:#4B8574; --gqep-p500:#63A894; --gqep-p600:#7FBFAC; --gqep-p700:#9CD2C1;
  --gqep-p800:#BCE2D5; --gqep-p900:#DCF0E9;

  --gqep-a50:#2A1D12;  --gqep-a100:#3A2717; --gqep-a300:#8A5628;
  --gqep-a500:#D68A4F; --gqep-a600:#E5A472; --gqep-a700:#F0C29B;

  --gqep-ok:#4FB783;   --gqep-ok-bg:#12291F;   --gqep-ok-text:#6FCC9B;
  --gqep-err:#E07373;  --gqep-err-bg:#2B1616;  --gqep-err-text:#F09292;
  --gqep-warn:#D9A63F; --gqep-warn-bg:#2A2110; --gqep-warn-text:#E5B759;
  --gqep-info:#6FA3D6; --gqep-info-bg:#131F2B; --gqep-info-text:#8FBCE6;

  --gqep-bg:#0D1312;   --gqep-sf:#141C1A;  --gqep-sf2:#1B2523; --gqep-sf3:#222E2B;
  --gqep-bd:#293633;   --gqep-bd2:#3A4A46;
  --gqep-tx:#E7EDEB;   --gqep-tx2:#A3AFAB; --gqep-tx3:#94A19D;

  --gqep-lvl-a2:#63A894; --gqep-lvl-b1:#66A3C8; --gqep-lvl-b2:#AE8BC4; --gqep-lvl-c1:#E5A472;
  --gqep-lvl-a2-text:#7FC0AC;  --gqep-lvl-b1-text:#8CBEDB;
  --gqep-lvl-b2-text:#C4A5D6;  --gqep-lvl-c1-text:#EFBB8D;
  --gqep-lvl-a2-badge:#63A894; --gqep-lvl-b1-badge:#66A3C8;
  --gqep-lvl-b2-badge:#AE8BC4; --gqep-lvl-c1-badge:#E5A472;

  --gqep-sh1:0 0 0 1px rgba(255,255,255,.04);
  --gqep-sh2:0 0 0 1px rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.5);
  --gqep-sh3:0 0 0 1px rgba(255,255,255,.09),0 24px 56px rgba(0,0,0,.62);

  --gqep-focus:#7FBFAC;
  --gqep-scrim:rgba(0,0,0,.62);
  --gqep-on-primary:#0B1211;
  color-scheme:dark;
}

/* اتباع تفضيل النظام حين لا يختار المستخدم وضعاً صراحةً */
@media (prefers-color-scheme:dark){
  [data-gqep-theme="auto"]{
    --gqep-p50:#16221F;  --gqep-p100:#1C2C28; --gqep-p200:#254039; --gqep-p300:#33594F;
    --gqep-p400:#4B8574; --gqep-p500:#63A894; --gqep-p600:#7FBFAC; --gqep-p700:#9CD2C1;
    --gqep-p800:#BCE2D5; --gqep-p900:#DCF0E9;
    --gqep-a50:#2A1D12;  --gqep-a100:#3A2717; --gqep-a300:#8A5628;
    --gqep-a500:#D68A4F; --gqep-a600:#E5A472; --gqep-a700:#F0C29B;
    --gqep-ok:#4FB783;   --gqep-ok-bg:#12291F;   --gqep-ok-text:#6FCC9B;
    --gqep-err:#E07373;  --gqep-err-bg:#2B1616;  --gqep-err-text:#F09292;
    --gqep-warn:#D9A63F; --gqep-warn-bg:#2A2110; --gqep-warn-text:#E5B759;
    --gqep-info:#6FA3D6; --gqep-info-bg:#131F2B; --gqep-info-text:#8FBCE6;
    --gqep-bg:#0D1312;   --gqep-sf:#141C1A;  --gqep-sf2:#1B2523; --gqep-sf3:#222E2B;
    --gqep-bd:#293633;   --gqep-bd2:#3A4A46;
    --gqep-tx:#E7EDEB;   --gqep-tx2:#A3AFAB; --gqep-tx3:#94A19D;
    --gqep-lvl-a2:#63A894; --gqep-lvl-b1:#66A3C8; --gqep-lvl-b2:#AE8BC4; --gqep-lvl-c1:#E5A472;
    --gqep-lvl-a2-text:#7FC0AC;  --gqep-lvl-b1-text:#8CBEDB;
    --gqep-lvl-b2-text:#C4A5D6;  --gqep-lvl-c1-text:#EFBB8D;
    --gqep-lvl-a2-badge:#63A894; --gqep-lvl-b1-badge:#66A3C8;
    --gqep-lvl-b2-badge:#AE8BC4; --gqep-lvl-c1-badge:#E5A472;
    --gqep-sh1:0 0 0 1px rgba(255,255,255,.04);
    --gqep-sh2:0 0 0 1px rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.5);
    --gqep-sh3:0 0 0 1px rgba(255,255,255,.09),0 24px 56px rgba(0,0,0,.62);
    --gqep-focus:#7FBFAC;
    --gqep-scrim:rgba(0,0,0,.62);
    --gqep-on-primary:#0B1211;
    color-scheme:dark;
  }
}

/* ── أساسيات مشتركة ────────────────────────────────────────── */

/* حلقة تركيز موحّدة — إلزامية لإمكانية الوصول */
.gqep-scope :focus-visible,
.gqep-v5 :focus-visible{
  outline:2px solid var(--gqep-focus);
  outline-offset:2px;
  border-radius:4px;
}

/* الأرقام ثابتة العرض حيث يتغيّر الرقم باستمرار (المؤقّت، النقاط، العدّادات) */
.gqep-num{
  font-variant-numeric:tabular-nums;
  font-feature-settings:'tnum' 1;
}

/* احترام تفضيل تقليل الحركة */
@media (prefers-reduced-motion:reduce){
  .gqep-scope *,
  .gqep-v5 *{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
