/* ═══════════════════════════════════════════════════════
   SHARED / TOKENS — جميع الثيمات (محدث)
   ═══════════════════════════════════════════════════════ */

/* ── الثيم الأساسي (الافتراضي) ── */
:root {
  --bg: #f6f8fa;
  --sur: #ffffff;
  --sur2: #f6f8fa;
  --card: #ffffff;
  --card2: #f6f8fa;
  --brd: rgba(0, 0, 0, .08);
  --brd2: rgba(0, 0, 0, .15);
  --txt: #1f2328;
  --sub: #57606a;
  --muted: #8c959f;

  --v: #0969da;
  --v-bg: #ddf4ff;
  --v-brd: #79c0ff;
  --n: #1a7f37;
  --n-bg: #dcfce7;
  --n-brd: #86efac;
  --a: #8250df;
  --a-bg: #fbefff;
  --a-brd: #d2a8ff;
  --d: #bf8700;
  --d-bg: #fff8c5;
  --d-brd: #f1e05a;
  --p: #cf222e;
  --p-bg: #ffebe9;
  --p-brd: #ff8182;

  --a1: #1a7f37;
  --a2: #0969da;
  --b1: #8250df;
  --b2: #bf8700;
  --c1: #cf222e;
  --c2: #8a3e0e;

  --gold: #bf8700;
  --gold-bg: #fff8c5;
  --r: 12px;
  --rsm: 8px;
  --sh: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .06);
  --sh2: 0 4px 16px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .06);
  --t: .15s ease;

  /* ── لغة الحركة الموحّدة (motion tokens) ──
     تُستخدم بكل مكان بدل قيم .15s/.2s/.4s متفرقة، عشان يحس
     التطبيق بإيقاع حركي واحد متّسق */
  --t-fast: 120ms cubic-bezier(.4,0,.2,1);
  --t-med:  220ms cubic-bezier(.4,0,.2,1);
  --t-slow: 420ms cubic-bezier(.16,1,.3,1);
  --t-bounce: 380ms cubic-bezier(.34,1.56,.64,1);
}

/* ── احترام تفضيل "تقليل الحركة" بنظام التشغيل ──
   يوقف كل الانتقالات/الحركات تقريباً لمن يحتاجها، مفيد بجلسات
   مذاكرة طويلة ويقلل الإجهاد البصري */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── نفس الشيء لو فعّل المستخدم "تقليل الحركة" يدوياً من الإعدادات
   (data-reduced-motion يُضبط عبر settings.js) ── */
[data-reduced-motion="true"] *,
[data-reduced-motion="true"] *::before,
[data-reduced-motion="true"] *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}

/* ── الوضع الداكن ── */
[data-theme="dark"] {
  --bg: #0d1117;
  --sur: #161b22;
  --sur2: #1c2128;
  --card: #21262d;
  --card2: #2d333b;
  --brd: rgba(255, 255, 255, .08);
  --brd2: rgba(255, 255, 255, .15);
  --txt: #e6edf3;
  --sub: #8b949e;
  --muted: #6e7681;
  --v: #58a6ff;
  --v-bg: rgba(88, 166, 255, .12);
  --v-brd: rgba(88, 166, 255, .3);
  --n: #3fb950;
  --n-bg: rgba(63, 185, 80, .12);
  --n-brd: rgba(63, 185, 80, .3);
  --a: #bc8cff;
  --a-bg: rgba(188, 140, 255, .12);
  --a-brd: rgba(188, 140, 255, .3);
  --d: #d29922;
  --d-bg: rgba(210, 153, 34, .12);
  --d-brd: rgba(210, 153, 34, .3);
  --p: #ff7b72;
  --p-bg: rgba(255, 123, 114, .12);
  --p-brd: rgba(255, 123, 114, .3);
  --a1: #3fb950;
  --a2: #58a6ff;
  --b1: #bc8cff;
  --b2: #d29922;
  --c1: #ff7b72;
  --c2: #ffa657;
  --gold: #d29922;
  --gold-bg: rgba(210, 153, 34, .15);
  --sh: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .3);
  --sh2: 0 4px 16px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .3);
}

/* ── ثيم المحيط (Ocean) ── */
[data-theme="ocean"] {
  --bg: #f0f9ff;
  --sur: #ffffff;
  --sur2: #e0f2fe;
  --card: #f0f9ff;
  --card2: #e0f2fe;
  --brd: rgba(2, 132, 199, .15);
  --brd2: rgba(2, 132, 199, .25);
  --txt: #0c4a6e;
  --sub: #0369a1;
  --muted: #7dd3fc;
  
  --v: #0284c7;
  --v-bg: #e0f2fe;
  --v-brd: #7dd3fc;
  --n: #0f766e;
  --n-bg: #ccfbf1;
  --n-brd: #5eead4;
  --a: #7c3aed;
  --a-bg: #ede9fe;
  --a-brd: #c4b5fd;
  --d: #d97706;
  --d-bg: #fef3c7;
  --d-brd: #fcd34d;
  --p: #dc2626;
  --p-bg: #fee2e2;
  --p-brd: #fca5a5;
  --gold: #d97706;
  --gold-bg: #fef3c7;
}

/* ── ثيم الغابة (Forest) ── */
[data-theme="forest"] {
  --bg: #f0fdf4;
  --sur: #ffffff;
  --sur2: #dcfce7;
  --card: #f0fdf4;
  --card2: #dcfce7;
  --brd: rgba(21, 83, 45, .15);
  --brd2: rgba(21, 83, 45, .25);
  --txt: #14532d;
  --sub: #166534;
  --muted: #86efac;
  
  --v: #15803d;
  --v-bg: #dcfce7;
  --v-brd: #86efac;
  --n: #854d0e;
  --n-bg: #fef3c7;
  --n-brd: #fcd34d;
  --a: #7c3aed;
  --a-bg: #ede9fe;
  --a-brd: #c4b5fd;
  --d: #d97706;
  --d-bg: #fef3c7;
  --d-brd: #fcd34d;
  --p: #dc2626;
  --p-bg: #fee2e2;
  --p-brd: #fca5a5;
  --gold: #854d0e;
  --gold-bg: #fef3c7;
}

/* ── ثيم الغروب (Sunset) ── */
[data-theme="sunset"] {
  --bg: #fff7ed;
  --sur: #ffffff;
  --sur2: #ffedd5;
  --card: #fff7ed;
  --card2: #ffedd5;
  --brd: rgba(124, 45, 18, .15);
  --brd2: rgba(124, 45, 18, .25);
  --txt: #7c2d12;
  --sub: #9a3412;
  --muted: #fdba74;
  
  --v: #c2410c;
  --v-bg: #fff7ed;
  --v-brd: #fdba74;
  --n: #7e22ce;
  --n-bg: #faf5ff;
  --n-brd: #d8b4fe;
  --a: #7c3aed;
  --a-bg: #ede9fe;
  --a-brd: #c4b5fd;
  --d: #d97706;
  --d-bg: #fef3c7;
  --d-brd: #fcd34d;
  --p: #dc2626;
  --p-bg: #fee2e2;
  --p-brd: #fca5a5;
  --gold: #c2410c;
  --gold-bg: #fff7ed;
}

/* ── ثيم الورد (Rose) ── */
[data-theme="rose"] {
  --bg: #fdf2f8;
  --sur: #ffffff;
  --sur2: #fce7f3;
  --card: #fdf2f8;
  --card2: #fce7f3;
  --brd: rgba(131, 24, 67, .15);
  --brd2: rgba(131, 24, 67, .25);
  --txt: #831843;
  --sub: #9d174d;
  --muted: #f9a8d4;
  
  --v: #be185d;
  --v-bg: #fdf2f8;
  --v-brd: #f9a8d4;
  --n: #0f766e;
  --n-bg: #ccfbf1;
  --n-brd: #5eead4;
  --a: #7c3aed;
  --a-bg: #ede9fe;
  --a-brd: #c4b5fd;
  --d: #d97706;
  --d-bg: #fef3c7;
  --d-brd: #fcd34d;
  --p: #dc2626;
  --p-bg: #fee2e2;
  --p-brd: #fca5a5;
  --gold: #be185d;
  --gold-bg: #fdf2f8;
}

/* ── ثيم منتصف الليل (Midnight) ── */
[data-theme="midnight"] {
  --bg: #0f0f23;
  --sur: #1a1a2e;
  --sur2: #16213e;
  --card: #1a1a2e;
  --card2: #16213e;
  --brd: rgba(129, 140, 248, .2);
  --brd2: rgba(129, 140, 248, .3);
  --txt: #e0e0ff;
  --sub: #9090cc;
  --muted: #666699;
  
  --v: #818cf8;
  --v-bg: rgba(129, 140, 248, .15);
  --v-brd: rgba(129, 140, 248, .3);
  --n: #34d399;
  --n-bg: rgba(52, 211, 153, .12);
  --n-brd: rgba(52, 211, 153, .3);
  --a: #d2a8ff;
  --a-bg: rgba(210, 168, 255, .12);
  --a-brd: rgba(210, 168, 255, .3);
  --d: #ffa657;
  --d-bg: rgba(255, 166, 87, .12);
  --d-brd: rgba(255, 166, 87, .3);
  --p: #ff7b72;
  --p-bg: rgba(255, 123, 114, .12);
  --p-brd: rgba(255, 123, 114, .3);
  --gold: #e3b341;
  --gold-bg: rgba(227, 179, 65, .15);
}

/* ── ثيم الباستيل (Pastel) ── */
[data-theme="pastel"] {
  --bg: #faf5ff;
  --sur: #ffffff;
  --sur2: #f5f3ff;
  --card: #ffffff;
  --card2: #f5f3ff;
  --brd: rgba(124, 58, 237, .12);
  --brd2: rgba(124, 58, 237, .2);
  --txt: #1e1b4b;
  --sub: #6b7280;
  --muted: #9ca3af;
  
  --v: #7c3aed;
  --v-bg: #ede9fe;
  --v-brd: #c4b5fd;
  --n: #059669;
  --n-bg: #d1fae5;
  --n-brd: #6ee7b7;
  --a: #db2777;
  --a-bg: #fdf2f8;
  --a-brd: #f9a8d4;
  --d: #d97706;
  --d-bg: #fef3c7;
  --d-brd: #fcd34d;
  --p: #dc2626;
  --p-bg: #fee2e2;
  --p-brd: #fca5a5;
  --gold: #d97706;
  --gold-bg: #fef3c7;
}

/* ── ثيم الدفء (Warm) ── */
[data-theme="warm"] {
  --bg: #fefce8;
  --sur: #ffffff;
  --sur2: #fef3c7;
  --card: #ffffff;
  --card2: #fef3c7;
  --brd: rgba(66, 32, 6, .12);
  --brd2: rgba(66, 32, 6, .2);
  --txt: #422006;
  --sub: #78716c;
  --muted: #a8a29e;
  
  --v: #b45309;
  --v-bg: #fffbeb;
  --v-brd: #fcd34d;
  --n: #047857;
  --n-bg: #ecfdf5;
  --n-brd: #6ee7b7;
  --a: #7c3aed;
  --a-bg: #ede9fe;
  --a-brd: #c4b5fd;
  --d: #b91c1c;
  --d-bg: #fef2f2;
  --d-brd: #fca5a5;
  --p: #d97706;
  --p-bg: #fef3c7;
  --p-brd: #fcd34d;
  --gold: #b45309;
  --gold-bg: #fffbeb;
}

/* ── ثيم النيون (Neon) ── */
[data-theme="neon"] {
  --bg: #0a0a0f;
  --sur: #1a1a2e;
  --sur2: #16213e;
  --card: #1a1a2e;
  --card2: #16213e;
  --brd: rgba(0, 255, 136, .2);
  --brd2: rgba(0, 255, 136, .3);
  --txt: #e0e0ff;
  --sub: #8888cc;
  --muted: #666699;
  
  --v: #00ff88;
  --v-bg: rgba(0, 255, 136, .12);
  --v-brd: rgba(0, 255, 136, .3);
  --n: #00ccff;
  --n-bg: rgba(0, 204, 255, .12);
  --n-brd: rgba(0, 204, 255, .3);
  --a: #ff00aa;
  --a-bg: rgba(255, 0, 170, .12);
  --a-brd: rgba(255, 0, 170, .3);
  --d: #ffaa00;
  --d-bg: rgba(255, 170, 0, .12);
  --d-brd: rgba(255, 170, 0, .3);
  --p: #ff4466;
  --p-bg: rgba(255, 68, 102, .12);
  --p-brd: rgba(255, 68, 102, .3);
  --gold: #ffaa00;
  --gold-bg: rgba(255, 170, 0, .15);
}

/* ── الثيمات الملونة الإضافية ── */
[data-theme="blue"] {
  --bg: #f0f7ff;
  --sur: #ffffff;
  --sur2: #e8f0fe;
  --card: #e8f0fe;
  --card2: #dce8f8;
  --brd: rgba(26, 115, 232, .15);
  --brd2: rgba(26, 115, 232, .25);
  --txt: #1a2a4a;
  --sub: #4a6a8a;
  --muted: #7a9aba;
  
  --v: #1a73e8;
  --v-bg: rgba(26, 115, 232, .12);
  --v-brd: rgba(26, 115, 232, .3);
  --n: #0d7a3a;
  --n-bg: rgba(13, 122, 58, .12);
  --n-brd: rgba(13, 122, 58, .3);
  --a: #7c3aed;
  --a-bg: rgba(124, 58, 237, .12);
  --a-brd: rgba(124, 58, 237, .3);
  --d: #b45309;
  --d-bg: rgba(180, 83, 9, .12);
  --d-brd: rgba(180, 83, 9, .3);
  --p: #dc2626;
  --p-bg: rgba(220, 38, 38, .12);
  --p-brd: rgba(220, 38, 38, .3);
  --gold: #d97706;
  --gold-bg: rgba(217, 119, 6, .12);
}

[data-theme="green"] {
  --bg: #f0faf4;
  --sur: #ffffff;
  --sur2: #e8f5e9;
  --card: #e8f5e9;
  --card2: #d4edda;
  --brd: rgba(13, 122, 58, .15);
  --brd2: rgba(13, 122, 58, .25);
  --txt: #1a3a2a;
  --sub: #4a7a5a;
  --muted: #7aaa8a;
  
  --v: #0d7a3a;
  --v-bg: rgba(13, 122, 58, .12);
  --v-brd: rgba(13, 122, 58, .3);
  --n: #0d7a3a;
  --n-bg: rgba(13, 122, 58, .12);
  --n-brd: rgba(13, 122, 58, .3);
  --a: #7c3aed;
  --a-bg: rgba(124, 58, 237, .12);
  --a-brd: rgba(124, 58, 237, .3);
  --d: #b45309;
  --d-bg: rgba(180, 83, 9, .12);
  --d-brd: rgba(180, 83, 9, .3);
  --p: #dc2626;
  --p-bg: rgba(220, 38, 38, .12);
  --p-brd: rgba(220, 38, 38, .3);
  --gold: #d97706;
  --gold-bg: rgba(217, 119, 6, .12);
}

[data-theme="purple"] {
  --bg: #f8f4ff;
  --sur: #ffffff;
  --sur2: #f0ebf8;
  --card: #f0ebf8;
  --card2: #e8dff4;
  --brd: rgba(124, 58, 237, .15);
  --brd2: rgba(124, 58, 237, .25);
  --txt: #2a1a4a;
  --sub: #5a4a7a;
  --muted: #8a7aaa;
  
  --v: #7c3aed;
  --v-bg: rgba(124, 58, 237, .12);
  --v-brd: rgba(124, 58, 237, .3);
  --n: #0d7a3a;
  --n-bg: rgba(13, 122, 58, .12);
  --n-brd: rgba(13, 122, 58, .3);
  --a: #7c3aed;
  --a-bg: rgba(124, 58, 237, .12);
  --a-brd: rgba(124, 58, 237, .3);
  --d: #b45309;
  --d-bg: rgba(180, 83, 9, .12);
  --d-brd: rgba(180, 83, 9, .3);
  --p: #dc2626;
  --p-bg: rgba(220, 38, 38, .12);
  --p-brd: rgba(220, 38, 38, .3);
  --gold: #d97706;
  --gold-bg: rgba(217, 119, 6, .12);
}

[data-theme="pink"] {
  --bg: #fff4f8;
  --sur: #ffffff;
  --sur2: #fce8f0;
  --card: #fce8f0;
  --card2: #f8dce8;
  --brd: rgba(219, 39, 119, .15);
  --brd2: rgba(219, 39, 119, .25);
  --txt: #4a1a2a;
  --sub: #7a4a5a;
  --muted: #aa7a8a;
  
  --v: #db2777;
  --v-bg: rgba(219, 39, 119, .12);
  --v-brd: rgba(219, 39, 119, .3);
  --n: #0d7a3a;
  --n-bg: rgba(13, 122, 58, .12);
  --n-brd: rgba(13, 122, 58, .3);
  --a: #7c3aed;
  --a-bg: rgba(124, 58, 237, .12);
  --a-brd: rgba(124, 58, 237, .3);
  --d: #b45309;
  --d-bg: rgba(180, 83, 9, .12);
  --d-brd: rgba(180, 83, 9, .3);
  --p: #dc2626;
  --p-bg: rgba(220, 38, 38, .12);
  --p-brd: rgba(220, 38, 38, .3);
  --gold: #d97706;
  --gold-bg: rgba(217, 119, 6, .12);
}

/* ── ثيم الضوء (Light) ── */
[data-theme="light"] {
  /* يستخدم القيم الافتراضية من :root */
}

/* ── حجم الخط ── */
[data-font-size="small"] { font-size: 14px; }
[data-font-size="medium"] { font-size: 16px; }
[data-font-size="large"] { font-size: 18px; }
[data-font-size="xlarge"] { font-size: 20px; }