@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;900&display=swap');

@font-face{
  font-family:'AlJazeeraArabic';
  src:url('fonts/Al-Jazeera-Arabic-Light.ttf') format('truetype');
  font-weight:300; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'AlJazeeraArabic';
  src:url('fonts/Al-Jazeera-Arabic-Regular.ttf') format('truetype');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'AlJazeeraArabic';
  src:url('fonts/Al-Jazeera-Arabic-Bold.ttf') format('truetype');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'AlJazeeraArabic';
  src:url('fonts/Al-Jazeera-Arabic-Heavy.ttf') format('truetype');
  font-weight:900; font-style:normal; font-display:swap;
}

:root{
  --ink:#1c2321;
  --ink-soft:#4a5551;
  --paper:#faf7f0;
  --paper-raised:#ffffff;
  --line:#e2ddd0;
  --teal:#1d3f72;
  --teal-deep:#0a1d42;
  --gold:#c99a4a;
  --gold-soft:#f3e6c9;
  --maroon:#7a2e2a;
  --radius:2px;
  --font-aj:'AlJazeeraArabic','Tajawal',sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-aj);
  font-weight:400;
  direction:rtl;
  line-height:1.9;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1{font-family:var(--font-aj);font-weight:900;margin:0 0 .5em;color:var(--teal-deep)}
h2,h3,h4{font-family:var(--font-aj);font-weight:700;margin:0 0 .5em;color:var(--teal-deep)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
/* هوامش الموبايل العامة (البند 2، مراجعة حية 2026-07-17): .wrap هي الحاوية العامة الوحيدة
   المسؤولة عن الهامش الأفقي بكل صفحة تقريبًا، وكانت 20px ثابتة على كل الأعراض بلا استثناء —
   واسعة نسبيًا على شاشات الموبايل الصغيرة (تُضيّق مساحة المحتوى الفعلية بنسبة أكبر من الأعراض
   الكبيرة). لا تُلغى هذي الـ20px إن كانت الشاشة كافية، فقط تضيق تحديدًا تحت 640px.*/
@media (max-width:640px){.wrap{padding:0 12px}}

/* المحتوى الأساسي (نص المادة) بالوزن العادي، والمواد الثانوية/المرتبطة بوزن خفيف */
.article-body{font-weight:400}
.related-chip, .tag-chip, .card .date, .row .meta, .count-line, .site-footer, .badge{font-weight:300}
.brand, .card .title, .row a.title{font-weight:700}

/* header */
.site-header{background:#fff;color:var(--ink);border-bottom:4px solid var(--gold)}
/* padding-top/bottom فقط (لا شورت-هاند "padding:14px 0") — إصلاح 2026-07-17 (البند 2): الشورت-هاند
   القديم كان يصفّر padding-left/right للعنصر رغم أنه يحمل كلاس .wrap أيضًا (نفس العنصر بكلاسين
   "wrap top")، فيُلغي هامش .wrap الأفقي (20px، أو 12px بالموبايل) بتخصيص أعلى (.site-header .top
   أدق من .wrap وحدها) — الهيدر كان بلا أي هامش جانبي فعليًا على كل الأعراض، لا الموبايل فقط. */
.site-header .top{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-aj);font-size:1.5rem;font-weight:700;color:var(--teal-deep)}
.brand-logo-home{height:52px;width:auto;display:block}
.brand-logo-sub{height:40px;width:auto;display:block}
.brand small{display:block;font-family:var(--font-aj);font-size:.62rem;letter-spacing:.12em;color:var(--ink-soft);font-weight:500;margin-top:2px}
.brand-badge{width:38px;height:38px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--gold);flex-shrink:0}
.search-box{flex:1 1 240px;max-width:420px;min-width:160px;display:flex;align-items:center;gap:8px}
.search-box input{flex:1;min-width:0;padding:9px 14px;border:1px solid var(--line);border-radius:20px;font-family:inherit;font-size:.9rem}
.advanced-search-link{flex-shrink:0;font-size:.78rem;color:var(--teal-deep);white-space:nowrap;text-decoration:underline;text-decoration-style:dotted}
.internal-tag{font-size:.68rem;background:var(--maroon);color:#fff;padding:3px 10px;border-radius:12px;letter-spacing:.04em;white-space:nowrap}

.search-box{position:relative}
.search-results-dropdown{display:none;position:absolute;top:calc(100% + 6px);right:0;left:0;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 10px 26px rgba(0,0,0,.15);max-height:420px;overflow-y:auto;z-index:50}
.search-result-item{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:.86rem;color:var(--ink)}
.search-result-item:last-child{border-bottom:none}
.search-result-item:hover{background:var(--paper)}
.search-result-section{font-size:.72rem;color:var(--gold);white-space:nowrap;flex-shrink:0}
.search-no-results{padding:14px;font-size:.85rem;color:var(--ink-soft);text-align:center}

@media (max-width:640px){
  .site-header .top{gap:10px}
  .brand{order:1}
  .internal-tag{order:2}
  .auth-logout{order:3}
  .search-box{order:4;flex:1 1 100%;max-width:none;min-width:0}
}

/* top nav strip */
.subnav{background:var(--teal);border-top:1px solid rgba(255,255,255,.08)}
.subnav .wrap{display:flex;gap:22px;padding-top:9px;padding-bottom:9px;font-size:.85rem;flex-wrap:wrap;align-items:center}
.subnav a{color:#e9ede9;opacity:.9}
.subnav a:hover{opacity:1;text-decoration:underline}
.subnav .nav-divider{width:1px;height:16px;background:rgba(255,255,255,.28);display:inline-block}
.subnav .nav-dropdown{position:relative}
.subnav .nav-dropdown summary{list-style:none;cursor:pointer;color:#e9ede9;opacity:.9}
.subnav .nav-dropdown summary::-webkit-details-marker{display:none}
.subnav .nav-dropdown summary::after{content:" ▾"}
/* «في مثل هذا اليوم» وحده يحمل رابطًا داخل الـsummary: نصّه ينتقل مباشرة لصفحة اليوم
   المجمَّعة، والسهم وحده يفتح القائمة الفرعية — فيُوسَّع السهم قليلًا ليكون هدف نقر معقولًا. */
.subnav .otd-nav-dropdown summary{display:inline-flex;align-items:center;gap:2px}
.subnav .otd-nav-dropdown summary a{color:inherit;opacity:1}
.subnav .otd-nav-dropdown summary a:hover{text-decoration:underline}
.subnav .otd-nav-dropdown summary::after{padding:0 6px;font-size:.9em}
.subnav .nav-dropdown[open] summary{opacity:1;text-decoration:underline}
.subnav .nav-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--teal-deep);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);min-width:170px;padding:6px;z-index:20;box-shadow:0 8px 20px rgba(0,0,0,.25)}
.subnav .nav-dropdown-menu a{display:block;padding:8px 10px;font-size:.86rem;border-radius:var(--radius)}
.subnav .nav-dropdown-menu a:hover{background:rgba(255,255,255,.08);text-decoration:none}
/* على الشاشات الضيقة كانت القائمة المنسدلة تُرسى بـright:0 على عنصرها، فأي عنصر يقع قرب
   حافة الصف تخرج قائمته عن الشاشة (33px بقائمة «إحصائيات» قبل هذا التعديل، ثم انتقل الخلل
   لعنصر «في مثل هذا اليوم» بعد إضافته لأنه صار يشغل ذلك الموضع). الحل العام: على الجوال
   تُرسى كل القوائم لعرض شريط التنقّل كاملًا بدل عنصرها، فلا تخرج أي منها عن الشاشة. */
@media (max-width:640px){
  .subnav .wrap{position:relative}
  .subnav .nav-dropdown{position:static}
  .subnav .nav-dropdown-menu{right:0;left:0;min-width:0}
}

/* layout */
.layout{display:grid;grid-template-columns:220px 1fr 240px;gap:26px;padding-top:28px;padding-bottom:60px;align-items:start}
@media (max-width:940px){
  .layout{grid-template-columns:1fr;display:flex;flex-direction:column}
  /* .main{order:1} وحدها لا تكفي: عمود flex بمحتوى واسع بطبيعته (جدول بيانات بلا table-layout:
     fixed) يتمدَّد لعرض محتواه الطبيعي رغم align-items:stretch الافتراضي، فيطفح كل الصفحة أفقيًا
     (اكتُشف فعليًا ببند 8، جولة 2026-07-18: صفحة جدول البيانات تحديدًا، عرض .main قِيس 836px على
     شاشة 390px). width:100% صريح يجبر العرض على عرض الحاوية الفعلي بدل عرض المحتوى. */
  /* عُمِّم width:100% من .main وحدها لكل أبناء .layout (إصلاح 2026-08-21): نفس العلة الموصوفة
     أعلاه بالضبط، لكنها تصيب أعمدة السايدبار أيضًا لا .main فقط. .layout هنا عمود flex و
     align-items:start موروثة من القاعدة الأساسية، فأي ابن يُقاس بعرض محتواه لا بعرض الحاوية:
     .home-right-stack بالرئيسية قِيس 364px ثابتة على شاشات 360px و320px (بطاقة «المنصات
     والارتباطات» بداخله لا تتقلّص)، فطفحت الصفحة أفقيًا 16px و56px تباعًا. min-width:0 يسمح
     لعنصر الـflex بالنزول تحت عرض محتواه الأدنى. */
  .layout > *{width:100%;min-width:0}
  .layout > .main{order:1}
  /* *:first-child/*:last-child لا .panel:first-child/.panel:last-child (تعميم 2026-07-25): الابن
     الأول/الأخير بـ.layout هو دومًا نفس عمودي السايدبار بصرف النظر عن الوسم — كانت الرئيسية تحتاج
     غلاف <div> واحدًا (لا <aside>) حول بطاقتين معًا بالعمود الأول (انظر home-right-stack)، فتوقّف
     محدِّد .panel القديم عن المطابقة لذاك الغلاف. التعميم آمن رجعيًا: كل صفحة أخرى ابنها الأول/
     الأخير لا يزال .panel وحيدًا كما هو، فتُطابَق بلا أي تغيير سلوك.*/
  .layout > *:last-child{order:2}  /* المواضيع والأحداث الكبرى + الأعوام */
  .layout > *:first-child{order:3} /* أقسام الموسوعة (+بطاقة المنصات بالرئيسية) */
}

.panel{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.panel h3{font-size:1rem;border-bottom:2px solid var(--gold-soft);padding-bottom:8px;margin-bottom:10px}
.panel ul{list-style:none;margin:0;padding:0}
.panel li{border-bottom:1px dashed var(--line)}
.panel li:last-child{border-bottom:none}
.panel li a{display:flex;justify-content:space-between;gap:8px;padding:8px 2px;font-size:.88rem;color:var(--ink-soft)}
.panel li a:hover{color:var(--teal)}
.panel li a span.count{color:var(--gold);font-weight:700;font-size:.78rem}
select.year-select{width:100%;padding:8px;margin-top:10px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit}

.panel-divider{border:none;border-top:2px dashed var(--gold-soft);margin:18px 0 14px}

/* بطاقة «المنصات والارتباطات» بالرئيسية فقط (جولة 2026-07-25) — نفس لغة .panel القياسية بلا
   تعديل عليها؛ إضافات محدودة فقط لصف مؤشر رقمي (تسمية+رقم) وصف نوع منصة (أيقونة+اسم+رقم). */
.pf-panel{margin-top:16px}
.pf-metrics li a{font-weight:700;color:var(--ink)}
.pf-metrics .pf-value{color:var(--gold);font-weight:700}
/* كل نوع منصة صف مستقل بارز بذاته (إعادة تصميم 2026-07-26 — لا عنوان جامع "أنواع المنصات"
   كسابقًا) — <details open> مستقل لكل نوع، summary بنفس مستوى صفوف .pf-metrics الأخرى، وقائمة
   قنوات ذاك النوع مطويّة/موسَّعة بسلوك <details>/<summary> الأصيل بلا أي جافاسكربت. */
.pf-type-row{padding:0}
.pf-type-details summary{display:block;padding:8px 2px;cursor:pointer;list-style:none}
.pf-type-details summary::-webkit-details-marker{display:none}
.pf-type-row-top{display:flex;align-items:center;gap:6px;min-width:0}
.pf-type-row-top::before{content:"▾";color:var(--gold);font-size:.8rem;flex-shrink:0}
.pf-type-details:not([open]) .pf-type-row-top::before{content:"▸"}
.pf-type-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0}
.pf-type-name{font-size:.85rem;color:var(--ink);font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-type-row-sub{display:block;margin-top:2px;padding-right:22px;font-size:.72rem;color:var(--gold);font-weight:700}
.pf-channels-list{list-style:none;margin:0;padding:2px 2px 6px}
.pf-channels-list li{border-bottom:1px dashed var(--line)}
.pf-channels-list li:last-child{border-bottom:none}
.pf-channels-list li a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0 5px 20px;font-size:.78rem;color:var(--ink-soft)}
.pf-channels-list li a:hover{color:var(--teal)}
.pf-channel-logo{width:16px;height:16px;object-fit:contain;border-radius:2px;flex-shrink:0}
.pf-channel-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pf-channel-count{color:var(--gold);font-weight:700;flex-shrink:0}
.years-heading{background:var(--gold-soft);color:var(--teal-deep);padding:8px 10px;border-radius:var(--radius);border-bottom:2px solid var(--gold) !important;font-weight:700}
.years-open-list ul{max-height:340px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius);margin-top:8px}
.years-open-list li a{font-weight:600}

/* main content */
.main{min-width:0}
.hero{background:linear-gradient(135deg,var(--teal-deep),var(--teal));color:#fff;padding:34px 30px;border-radius:var(--radius);margin-bottom:26px}
.hero h1{color:#fff;font-size:2.1rem}
.hero p{color:#dfe8e4;max-width:640px;margin:.4em 0 1.2em}
.stats{display:flex;gap:0;flex-wrap:wrap}
.stats div{font-size:.8rem;color:var(--gold-soft);text-align:center;padding:0 22px;border-right:1px solid rgba(255,255,255,.25)}
.stats div:first-child{border-right:none;padding-right:0}
.stats div:last-child{padding-left:0}
.stats strong{display:block;font-family:var(--font-aj);font-size:1.5rem;color:#fff;margin-bottom:2px}

.section-title{display:flex;align-items:baseline;gap:10px;margin:34px 0 16px}
.section-title h2{font-size:1.3rem;margin:0}
.section-title .rule{flex:1;height:1px;background:var(--line)}

.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s}
.card:hover{box-shadow:0 4px 14px rgba(9,52,49,.12)}
/* البند 3 بقسم 2 (تقرير 2026-07-15): هذا المحدِّد كان يطبَّق على أي img داخل .card بلا استثناء،
   فيمدّد شعارات المصادر الصغيرة (source-logo وأخواتها) لعرض/ارتفاع البطاقة كاملة مع border-radius
   دائري موروث فينتج شكل بيضاوي عملاق يغطي عنوان المصدر بدل صورة مصغَّرة نظيفة صغيرة. */
.card img:not(.source-logo):not(.source-badge-logo):not(.source-logo-header):not(.source-nav-tab-logo):not(.tp-related-thumb):not(.tp-related-type-icon):not(.tp-related-source-logo){width:100%;height:140px;object-fit:cover;background:var(--gold-soft)}
/* نفس الفخ أعلاه بالضبط (البند 3 بقسم 2) يتكرر لقسم "من أحدث المواد" الجديد (جولة 2026-07-24):
   ميني-بطاقات "مواد مرتبطة" (صورة مصغَّرة + شعار نوع + شعار مصدر) متداخلة الآن داخل .card —
   استُثنيت الثلاثة أعلاه، وهذي القاعدة تعيد للصورة المصغَّرة مقاسها الصحيح صراحة (بدل الاعتماد
   على .tp-related-item img الأعمّ التي قد تُهزَم أيضًا بمحدِّدات أخرى مستقبلًا). */
.recent-related-card .tp-related-thumb{width:100%;height:64px;object-fit:cover;border-radius:4px;background:var(--gold-soft)}
.recent-related-list{display:flex;flex-direction:column;gap:16px}
.recent-related-card{display:flex;flex-direction:column}
.recent-related-grid{padding:0 12px 12px;margin-top:-4px}
.card .body{padding:12px}
.card .tag{font-size:.7rem;color:var(--maroon);font-weight:700}
.card .title{font-size:.94rem;font-weight:700;margin:6px 0;color:var(--ink);line-height:1.5}
.card .date{font-size:.72rem;color:var(--ink-soft)}

.list-rows{border-top:1px solid var(--line)}
.row{display:flex;justify-content:space-between;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line);align-items:baseline}
.row a.title{font-weight:700;color:var(--teal-deep)}
.row a.title:hover{text-decoration:underline}
.row .meta{font-size:.75rem;color:var(--ink-soft);white-space:nowrap}

/* article page */
.breadcrumb{font-size:.8rem;color:var(--ink-soft);margin-bottom:10px}
.breadcrumb a{color:var(--teal)}
.article-header h1{font-size:1.9rem}
.source-line{font-size:.82rem;margin:8px 0 18px;color:var(--ink-soft)}
.source-line a{color:var(--teal);font-weight:700}
.badge-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 20px}
.badge{background:var(--gold-soft);color:var(--teal-deep);font-size:.76rem;padding:5px 12px;border-radius:12px;font-weight:700}
.badge.deceased{background:#f1dede;color:var(--maroon)}
.featured-image{border-radius:var(--radius);overflow:hidden;margin-bottom:22px;border:1px solid var(--line)}
.featured-image img{width:100%;max-height:440px;object-fit:cover}
.featured-image figcaption{padding:8px 12px;font-size:.78rem;color:var(--ink-soft);background:#fff}
.article-body{font-size:1.05rem;color:#26302c;text-align:justify}
.article-body p{margin:0 0 1.2em}

.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}
.gallery-grid figure{margin:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff}
.gallery-grid img{height:110px;object-fit:cover;width:100%}
.gallery-grid figcaption{font-size:.68rem;padding:5px 7px;color:var(--ink-soft)}

.related-chips{display:flex;flex-wrap:wrap;gap:8px}
.related-chip{font-size:.78rem;background:#fff;border:1px dashed var(--line);color:var(--ink-soft);padding:6px 12px;border-radius:14px}
.review-note{font-size:.72rem;color:var(--gold);margin-top:8px}

.tags-disclaimer{font-size:.74rem;color:#8a5a1c;margin-bottom:8px}
.tag-chips{display:flex;flex-wrap:wrap;gap:8px}
.tag-chip{font-size:.8rem;padding:6px 13px;border-radius:14px;text-decoration:none;font-weight:600}
.tag-chip.geo{background:#e4eeec;color:var(--teal-deep);border:1px solid #bcd6d1}
.tag-chip.person{background:var(--gold-soft);color:#6b4d1a;border:1px solid #e3c98a}
.tag-chip.person.primary{background:var(--gold);color:#fff;border-color:var(--gold)}
.tag-chip:hover{opacity:.85}

.years-mentioned{margin:18px 0}
.years-mentioned-label{display:block;font-size:.74rem;color:var(--ink-soft);margin-bottom:8px;font-weight:700}

.prev-next-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.prev-next-link{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column;gap:6px}
.prev-next-link:hover{border-color:var(--teal)}
.prev-next-label{font-size:.74rem;color:var(--gold);font-weight:700}
.prev-next-title{font-size:.88rem;font-weight:700;color:var(--ink)}
.prev-next-link.prev{text-align:left}
.prev-next-link.next{text-align:right}
@media (max-width:600px){.prev-next-nav{grid-template-columns:1fr}}

.year-mention{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:#fff;padding:12px 14px}
/* صورة مادة الموسوعة يسار النص بقسم "حدث في مثل هذا اليوم" (البند #29) */
.otd-event-row{display:flex;gap:12px;align-items:flex-start}
.otd-event-row .year-mention-sentence{flex:1;min-width:0}
.otd-event-img{width:96px;height:96px;object-fit:cover;border-radius:var(--radius);flex-shrink:0}
@media (max-width:600px){.otd-event-row{flex-direction:column-reverse}.otd-event-img{width:100%;height:140px}}
.year-mention-sentence{font-size:.92rem;color:var(--ink)}
.year-mention .source-line-mention{margin-top:8px;font-size:.82rem;color:var(--ink-soft)}
.year-mention .art-link{font-weight:700;color:var(--teal-deep)}
.year-mention-expand{margin-top:8px}
.year-mention-expand summary{cursor:pointer;font-size:.82rem;color:var(--gold);list-style:none}
.year-mention-expand summary::-webkit-details-marker{display:none}
.year-mention-expand summary::before{content:"▸ "}
.year-mention-expand[open] summary::before{content:"▾ "}
.year-mention-expand .full{padding-top:8px;color:var(--ink-soft);font-size:.9rem}

/* استخدام مباشر لـ details.year-mention (صفحة استعراض التكرار) — نمط طيّ قائم بذاته */
details.year-mention{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:#fff;padding:0}
details.year-mention summary{padding:12px 14px;cursor:pointer;font-size:.92rem;list-style:none}
details.year-mention summary::-webkit-details-marker{display:none}
details.year-mention summary::before{content:"▸ ";color:var(--gold)}
details.year-mention[open] summary::before{content:"▾ "}
details.year-mention .full{padding:0 14px 14px;color:var(--ink-soft);font-size:.9rem}
.year-highlight{background:var(--teal);color:#fff;padding:1px 7px;border-radius:4px;font-weight:700;white-space:nowrap}

/* أكورديون تجميع المصادر حسب النوع بصفحة "إثراء الموسوعة" (البنود 20-25 بقسم 3 من تقرير
   2026-07-15) — مطوي افتراضيًا، أيقونة النوع + الاسم + إجمالي المصادر/العناصر بالعنوان. */
.type-group-accordion{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;background:#fff}
.type-group-accordion summary{padding:14px 16px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font-size:1rem}
.type-group-accordion summary::-webkit-details-marker{display:none}
.type-group-accordion summary::before{content:"▸";color:var(--gold);font-size:.85rem}
.type-group-accordion[open] summary::before{content:"▾"}
.type-group-accordion summary .count{margin-right:auto;font-size:.78rem;color:var(--ink-soft);font-weight:400}
.type-group-label{font-weight:700;color:var(--teal-deep)}
.type-group-accordion .card-grid{padding:0 16px 16px}
.type-icon{width:24px;height:24px;object-fit:contain;border-radius:4px;flex-shrink:0}
.type-icon-fallback{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;background:var(--gold-soft);border-radius:4px;flex-shrink:0}
/* مقارنة سريعة بين مصادر نفس النوع (تحسين بالمراجعة الحية 2026-07-16) — أشرطة CSS بسيطة بلا مكتبة رسم */
.compare-bars{padding:2px 16px 10px;display:flex;flex-direction:column;gap:5px}
.compare-bar-row{display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:8px;font-size:.76rem}
.compare-bar-name{color:var(--ink-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compare-bar-track{background:var(--gold-soft);border-radius:6px;height:8px;overflow:hidden}
.compare-bar-fill{display:block;height:100%;background:var(--teal);border-radius:6px}
.compare-bar-count{color:var(--ink-soft);text-align:left;font-weight:700}
@media (max-width:640px){.compare-bar-row{grid-template-columns:90px 1fr 44px}}

.enrichment-card{position:relative}
.enrichment-card .source-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:.68rem;background:var(--teal-deep);color:#fff;padding:2px 9px;border-radius:10px}
.source-badge-logo{width:13px;height:13px;border-radius:3px;object-fit:contain;background:#fff;flex-shrink:0}
.enrichment-pair-card{padding:0}
.enrichment-pair-card img{height:140px;object-fit:cover;width:100%;background:var(--gold-soft)}
.enrichment-pair-link{padding:8px 12px;font-size:.8rem;color:var(--ink-soft);border-top:1px dashed var(--line)}
.enrichment-pair-link a{color:var(--teal-deep);font-weight:700}
.enrichment-pair-link .source-badge{display:inline-block;margin-right:6px;font-size:.65rem;background:var(--teal-deep);color:#fff;padding:2px 8px;border-radius:10px}

/* persons / parties tool */
.filter-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);padding:14px;border-radius:var(--radius);margin-bottom:18px;font-size:.85rem;max-width:100%}
.filter-bar label{display:flex;align-items:center;gap:6px}
.filter-bar select,.filter-bar input[type=number]{padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit}
/* البند #13 (تقرير 2026-07-15): عناصر filter-bar (خصوصًا select بخيارات نصّية طويلة) لا تنكمش
   تحت عرض محتواها الجوهري افتراضيًا فتفرض تمرير أفقي طويل بدل النزول لسطر جديد رغم flex-wrap —
   بعرض ضيّق تُكدَّس كل عناصر الفلتر عموديًا بعرض كامل وتُفرَض إمكانية الانكماش صراحةً. */
.img-search-input{flex:1 1 220px}
/* فلتر التنقّل بين الأعوام (بند 17، جولة 2026-07-18) — يعيد استخدام .filter-bar نفسها للحاوية،
   وألوان الموقع الحالية فقط (--teal-deep/--line/--ink-soft) بلا أي إضافة جديدة. */
.year-nav-btn{background:var(--teal-deep);color:#fff;padding:7px 14px;border-radius:20px;font-size:.82rem;white-space:nowrap}
.year-nav-btn:hover{background:var(--teal)}
.year-nav-btn.disabled{background:var(--line);color:var(--ink-soft);cursor:default}
.year-nav-bar select{flex:1 1 140px;max-width:160px}
/* مربع بحث صفحة "البحث المتقدم" — كان flex:1 1 320px inline بالعنصر (مراجعة حية 2026-07-17،
   البند 6)؛ inline style يتفوّق على أي قاعدة خارجية بالـmedia query أدناه بصرف النظر عن specificity
   فمُنقِل هنا لكلاس خارجي عاديّ كي يُصفَّر بنفس طريقة .img-search-input بالضبط. */
.adv-search-input{flex:1 1 320px}
@media (max-width:640px){
  .filter-bar{flex-direction:column;align-items:stretch}
  .filter-bar select,.filter-bar input,.filter-bar label{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
  /* إصلاح عطل ظهر بعد تفعيل flex-direction:column أعلاه (مراجعة 2026-07-16): flex-basis:220px
     الموروث من .img-search-input (مصمَّم لمحور أفقي) يُقرأ كارتفاع بمحور عمودي فيُطوِّل مربع
     البحث بشكل غير طبيعي على الموبايل — يُصفَّر هنا صراحةً لهذا العرض فقط. */
  .img-search-input{flex-basis:auto}
  /* نفس العطل بالضبط بمربع بحث "البحث المتقدم" (لم يُصلَح بالمراجعة السابقة). */
  .adv-search-input{flex-basis:auto}
}
table.data-table{width:100%;border-collapse:collapse;background:#fff;font-size:.88rem}
table.data-table th,table.data-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:right}
table.data-table th{background:var(--gold-soft);color:var(--teal-deep);font-weight:700;cursor:default}
table.data-table tr:hover td{background:#f7f4ea}
.count-line{font-size:.8rem;color:var(--ink-soft);margin-bottom:10px}

/* تبويبات مطابقة/مشابهة/متقاربة بصفحة استعراض التكرار (البند #27) */
.dup-tabs{gap:8px}
.tab-btn{padding:7px 16px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);font-family:inherit;font-size:.85rem;cursor:pointer}
.tab-btn:hover{background:var(--gold-soft)}
.tab-btn.active{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
/* ألوان التبويبات الثلاثة حسب شدة التصنيف (طلب تنفيذي 2026-07-26، بند 4) — نفس أزواج الألوان
   المعتمَدة أصلًا بالقالب لتدرّج شدة مشابه (.cn-priority-HIGH/MEDIUM بملاحظات المحتوى،
   .sc-status-partial/unlinked بمحتوى المصادر): أحمر=مطابقة (الأشد)، برتقالي=مشابهة، رمادي=متقاربة
   (نفس زوج .fallback-badge المحايد المستخدَم أصلًا للروابط الاحتياطية الأضعف تأكيدًا). */
.dup-tabs .tab-btn[data-tier="مطابقة"]{color:#8a2c2c;border-color:#f3e6e6}
.dup-tabs .tab-btn[data-tier="مشابهة"]{color:#8a5a1c;border-color:#fdf0d5}
.dup-tabs .tab-btn[data-tier="متقاربة"]{color:#666;border-color:#eee}
.dup-tabs .tab-btn[data-tier="مطابقة"].active{background:#8a2c2c;color:#fff;border-color:#8a2c2c}
.dup-tabs .tab-btn[data-tier="مشابهة"].active{background:#8a5a1c;color:#fff;border-color:#8a5a1c}
.dup-tabs .tab-btn[data-tier="متقاربة"].active{background:#666;color:#fff;border-color:#666}
/* عنوان المادة أولًا، ومعرّف المجموعة التقني صغير وثانوي (البند #28) */
details.year-mention summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}
.dup-main-title{font-weight:700;color:var(--ink)}
.dup-tier-badge{border-radius:8px;padding:1px 8px;font-size:.75rem;font-weight:700;background:var(--gold-soft);color:var(--teal-deep)}
.dup-tier-badge[data-tier="مطابقة"]{background:#f3e6e6;color:#8a2c2c}
.dup-tier-badge[data-tier="مشابهة"]{background:#fdf0d5;color:#8a5a1c}
.dup-tier-badge[data-tier="متقاربة"]{background:#eee;color:#666}
.dup-group-id{font-size:.7rem;color:var(--ink-soft);font-family:monospace}

/* بطاقة مجموعة تكرار — إعادة ضبط (طلب تنفيذي 2026-07-26، بند 1): نمط موحَّد كـ"أحدث المواد"
   (.card-grid) بدل الأحجام العشوائية المتفاوتة السابقة. المادة الرئيسية (الأحدث) عنصر DOM أول
   فتقع يمين البطاقة تلقائيًا بصفحة RTL بلا قواعد اتجاه إضافية؛ الأعضاء الثانويون بشبكة CSS Grid
   موحَّدة العرض (auto-fill/minmax، تمامًا كـ.card-grid) يسار المادة الرئيسية — كل عنصر ثانوي بنفس
   الحجم بالضبط بصرف النظر عن عدد الأعضاء، لا صفّ flex متغيّر الاتساع كالسابق. */
.dup-group-card summary{align-items:center}
.dup-summary-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--gold-soft)}
.dup-members-row{display:flex;flex-wrap:wrap;gap:16px;padding:14px;align-items:flex-start}
.dup-member{display:flex;flex-direction:column;text-decoration:none}
.dup-member-primary{flex:0 0 260px;width:260px}
.dup-secondary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;flex:1 1 300px;min-width:0}
.dup-member-thumb-link{display:block}
.dup-member-primary .dup-member-thumb{width:100%;height:220px;object-fit:cover;border-radius:var(--radius);background:var(--gold-soft)}
.dup-member-secondary .dup-member-thumb{width:100%;height:100px;object-fit:cover;border-radius:var(--radius);background:var(--gold-soft)}
.dup-member-body{padding-top:8px}
.dup-member-title{display:block;font-weight:700;color:var(--teal-deep);text-decoration:none;line-height:1.4}
.dup-member-primary .dup-member-title{font-size:1.05rem}
.dup-member-secondary .dup-member-title{font-size:.82rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.dup-member-date-line{display:flex;align-items:center;gap:5px;margin-top:6px;text-decoration:none;color:var(--ink-soft);font-size:.75rem}
.dup-ajnet-logo{width:16px;height:16px;object-fit:cover;border-radius:50%;flex-shrink:0;background:var(--gold-soft)}
@media (max-width:640px){
  .dup-members-row{flex-direction:column}
  .dup-member-primary{width:100%;flex:1 1 100%}
  .dup-member-primary .dup-member-thumb{height:180px}
  .dup-secondary-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));width:100%}
}

/* pagination */
.pagination{display:flex;gap:8px;justify-content:center;margin:30px 0;flex-wrap:wrap}
.pagination a,.pagination span{padding:7px 13px;border:1px solid var(--line);border-radius:var(--radius);font-size:.85rem}
.pagination .current{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
.pagination a:hover{border-color:var(--teal)}
.pagination .disabled{color:var(--ink-soft);opacity:.5}
.pagination .ellipsis{border:none;padding:7px 4px}
/* البند 3 بقسم 2 (تقرير 2026-07-15): كل شعارات المصادر تصغَّر وتُصبح غير دائرية (border-radius
   صغير بدل 50%) + object-fit:contain بدل cover بخلفية بيضاء فاتحة — كي يظهر الشعار كاملًا وواضحًا
   بلا اقتصاص دائري يُخفي أجزاءه أو يغطّي اسم المصدر المجاور. */
.source-logo{width:20px;height:20px;border-radius:4px;object-fit:contain;background:#fff;vertical-align:middle;margin-left:8px;border:1px solid var(--line)}
/* أيقونة النوع بجانب شعار المصدر بعنوان صندوق "نُشر في مثل هذا اليوم" (تصحيح 2026-07-26) — نفس
   حجم .source-logo بالضبط، لا تكرار لشعار المصدر نفسه، فقط أيقونة النوع الإضافية بجانبه مباشرة. */
.otd-source-type-icon{width:20px;height:20px;object-fit:contain;vertical-align:middle;margin-left:6px;flex-shrink:0}
.otd-source-type-icon.type-icon-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:1rem}
/* شعار أكبر + اسم بنفس السطر بهيدر صفحات المصدر (إحصائيات المصدر، صفحة المصدر بالإثراء) — طلب تنفيذي 2026-07-13 */
.source-header-title{display:flex;align-items:center;gap:12px}
.source-logo-header{width:40px;height:40px;border-radius:6px;object-fit:contain;background:#fff;border:1px solid var(--line);flex-shrink:0}
/* شريط تنقّل موحّد بين صفحات نفس المصدر الأربع (طلب تنفيذي 2026-07-13، البند 11) */
.source-nav-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.source-nav-tabs a{padding:7px 16px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--teal-deep);text-decoration:none;font-size:.85rem;display:inline-flex;align-items:center;gap:5px}
.source-nav-tab-logo{width:15px;height:15px;border-radius:3px;object-fit:contain;background:#fff;vertical-align:middle}
.source-nav-tabs a:hover{background:var(--gold-soft)}
.all-articles-item{border-top:2px solid var(--line);margin-top:8px;padding-top:8px}
.menu-divider{border:none;border-top:1px solid rgba(255,255,255,.15);margin:6px 4px}
.pair-rows-list{display:flex;flex-direction:column;gap:12px}
.pair-row{display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.pair-row-title{display:block;padding:10px 14px 0;font-weight:700;color:var(--teal-deep)}
.pair-row-meta{padding:4px 14px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pair-row-snippet{padding:6px 14px 12px;line-height:1.6}
.pair-row-snippet mark{background:var(--gold-soft);color:var(--ink);padding:0 2px;border-radius:2px}
.pair-col{flex:1;display:flex;gap:10px;padding:10px;text-decoration:none;color:inherit;min-width:0;border-bottom:1px solid var(--line)}
.pair-col:hover{background:#f7f9f9}
.pair-col img{width:64px;height:64px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--gold-soft)}
.pair-col-body{min-width:0;overflow:hidden}
.pair-col-kind{font-size:.68rem;color:var(--teal);font-weight:700}
.pair-col-title{font-weight:700;color:var(--teal-deep);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pair-col-meta{font-size:.72rem;color:var(--ink-soft)}
.pair-arrow{display:none}
.pair-col-multi{flex-direction:column;align-items:stretch;gap:6px;border-bottom:none}
.pair-col-multi-details{display:block}
.pair-col-multi-details>summary{padding:0;cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px}
.pair-col-multi-details>summary::-webkit-details-marker{display:none}
.pair-col-multi-details>summary::before{content:"▸";color:var(--gold);font-size:.7rem}
.pair-col-multi-details[open]>summary::before{content:"▾"}
.pair-col-multi-details[open]>summary{margin-bottom:6px}
.pair-col-multi-list{display:flex;flex-direction:column;gap:4px;max-height:none;width:100%}
.pair-multi-item{font-size:.82rem;color:var(--teal-deep);text-decoration:none;padding:7px 10px;border-radius:4px;background:#f7f9f9;display:flex;align-items:center;gap:10px}
.pair-multi-item img{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--gold-soft)}
.pair-multi-item span{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.4}
.geo-extra-details{margin-top:6px;border:1px solid var(--line);border-radius:4px;background:#fbfbf9}
.geo-extra-details summary{padding:6px 10px;cursor:pointer;font-size:.78rem;color:var(--ink-soft);list-style:none;display:flex;align-items:center;gap:6px}
.geo-extra-details summary::-webkit-details-marker{display:none}
.geo-extra-details summary::before{content:"▸";color:var(--gold);font-size:.7rem}
.geo-extra-details[open] summary::before{content:"▾"}
.geo-extra-details summary .count{background:var(--gold-soft);color:var(--teal-deep);border-radius:10px;padding:1px 7px;font-size:.72rem}
.geo-extra-details .pair-col-multi-list{padding:0 10px 8px}
.home-two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
/* "مختارات من المنصات في مثل هذا اليوم" (جولة 2026-07-24): يجب أن تقع مباشرة تحت "مختارات
   اليوم" بنفس عمودها على سطح المكتب. .home-secondary غلاف flex عمودي مستقل لعمود "مختارات
   اليوم" + القسم الجديد — عمدًا لا grid-row spanning على .home-primary: تلك المقاربة جُرِّبت
   وفشلت فعليًا (تحقُّق Playwright) لأن ارتفاع صف الشبكة auto يتحدَّد بأطول عنصر بالصف، فيتمدَّد
   الصف الأول بارتفاع .home-primary الهائل (حتى 20 بطاقة "من أحدث المواد")، ما يدفع القسم الجديد
   لأسفل بآلاف البكسلات رغم صغر محتوى "مختارات اليوم" نفسه. الغلاف المستقل يفصل ارتفاع العمود
   الثاني كليًا عن ارتفاع العمود الأول. */
.home-secondary{display:flex;flex-direction:column;gap:26px}
@media (max-width:900px),(hover:none) and (pointer:coarse){
  .home-two-col{grid-template-columns:minmax(0,1fr)}   /* minmax لا 1fr — تحصين ضد أي محتوى لا يتقلّص */
  /* display:contents (جولة 2026-07-24): يُلغي صندوق .home-secondary بصريًا على الموبايل فقط،
     فيصبح #todayPicksCol و.home-platforms عنصرين مباشرين بـ.home-two-col (كأن الغلاف غير
     موجود)، فتُطبَّق قواعد order أدناه عليهما بالنسبة لـ.home-primary مباشرة كما كانت سابقًا. */
  .home-secondary{display:contents}
  #todayPicksCol{order:-1}
  /* ترتيب الموبايل (جولة 2026-07-24): أحدث المواد ← مختارات اليوم ← من أحدث المواد ← مختارات
     من المنصات — لا علاقة له بترتيب الأعمدة على الحاسوب. */
  .home-platforms{order:1}
}
.today-picks-carousel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.tp-main{display:block;text-decoration:none;color:inherit}
.tp-main img{width:100%;height:220px;object-fit:cover;display:block;background:var(--gold-soft)}
.tp-main-body{padding:12px 14px}
.tp-main-body .tag{font-size:.72rem;color:var(--teal);font-weight:700}
.tp-main-body .title{font-weight:700;font-size:1.05rem;color:var(--teal-deep);margin-top:4px}
.tp-related-label{padding:0 14px;font-size:.8rem;color:var(--ink-soft);font-weight:700;margin-top:4px}
/* minmax(0,1fr) لا 1fr (إصلاح 2026-08-21): بـ1fr يكون الحدّ الأدنى للعمود = min-content
   لمحتواه، فكانت هذه الشبكة تثبت على 421px مهما ضاقت الشاشة، فيتمدّد معها
   .today-pick-slide ← .today-picks-track ← .today-picks-carousel ← #todayPicksCol (423px)،
   وهو عنصر بـ.home-two-col فيصير حدّ عمودها الأدنى 423px — وهذا مصدر التمرير الأفقي
   بالصفحة الرئيسية على الجوال (45px عند 390px، و115px عند 320px). نفس اصطلاح
   minmax(0,1fr) المستخدَم أصلًا بـ.home-two-col على سطح المكتب. */
.tp-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 14px 14px}
.tp-related-item{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;min-width:0}
.tp-related-item img{width:100%;height:64px;object-fit:cover;border-radius:4px;background:var(--gold-soft)}
.tp-related-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.tp-related-title{font-size:.72rem;color:var(--teal-deep);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* سطر شعار النوع + شعار المصدر + اسم مختصر (طلب إضافي، جولة 2026-07-24) — صغير جدًا عمدًا،
   بلا التفاف، أسفل العنوان مباشرة، ليبقى ارتفاع البطاقة شبه ثابت ولا يزاحم السلايدر. */
.tp-related-meta{display:flex;align-items:center;gap:3px;margin-top:1px;overflow:hidden}
/* أكثر تحديدًا عمدًا (صنفان لا صنف واحد) من ".tp-related-item img{width:100%;height:64px}"
   أعلاه — بلا هذا التحديد الإضافي، تلك القاعدة الأعمّ (صنف+عنصر) تكسب بقواعد أسبقية CSS رغم
   ترتيب الكتابة، فتُكبَّر أيقونتا النوع/الشعار لكامل عرض/ارتفاع البطاقة (خلل مُشاهَد فعليًا على
   الموقع الحي بعد النشر — أُصلح هنا). */
.tp-related-meta .tp-related-type-icon{width:12px;height:12px;object-fit:contain;flex-shrink:0;border-radius:0;background:none}
.tp-related-type-fallback{font-size:.62rem;line-height:1;flex-shrink:0}
.tp-related-meta .tp-related-source-logo{width:12px;height:12px;object-fit:cover;border-radius:50%;flex-shrink:0;background:var(--gold-soft)}
.tp-related-source-name{font-size:.62rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
/* "مختارات من المنصات في مثل هذا اليوم" (جولة 2026-07-24) */
.potd-title h2{display:flex;flex-direction:column;gap:2px}
.potd-subtitle{font-size:.72rem;font-weight:400;color:var(--ink-soft)}
.potd-slide-title{padding:10px 14px 0;font-size:.85rem;font-weight:700;color:var(--teal-deep)}
.potd-item-date{font-size:.6rem;color:var(--ink-soft);margin-top:1px}
/* صناديق منفصلة ظاهرة معًا (تصحيح 2026-07-24 الأول) — بدل كاروسيل واحد يخفي الباقي؛ نفس أسلوب
   مجموعات "مختارات اليوم" الثلاث الظاهرة معًا، بلا سقف على عدد الصناديق. */
.potd-slides{display:flex;flex-direction:column;gap:16px}
/* داخل كل صندوق: عنصر واحد كبير يتحرك بنقاط/تلقائيًا (تصحيح 2026-07-24 الثاني) — نفس سلوك كل
   صندوق من صناديق "مختارات اليوم" الثلاثة، بإعادة استخدام .tp-main/.tp-main-body مباشرة. */
.potd-main-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.potd-main-meta .tp-related-source-name{white-space:normal}
/* أيقونتا النوع/الشعار هنا خارج .tp-related-meta (المحدِّد الأصلي المسؤول عن مقاسهما 12×12) —
   بلا هذا التكرار الصريح تعود لمقاسها الطبيعي الخام (قد يكون ضخمًا)، نفس فخّ CSS الموثَّق
   بالكود من قبل (البند 3 بقسم 2، وتكراره بجولة "من أحدث المواد"). */
.potd-main-meta .tp-related-type-icon{width:12px;height:12px;object-fit:contain;flex-shrink:0;border-radius:0;background:none}
.potd-main-meta .tp-related-source-logo{width:12px;height:12px;object-fit:cover;border-radius:50%;flex-shrink:0;background:var(--gold-soft)}
/* "مواد مرتبطة من الموسوعة" (طلب إضافي 2026-07-24) — عكس اتجاه "مواد مرتبطة من المنصات" تمامًا:
   من عنصر منصة ظاهر حاليًا إلى مادة موسوعة واحدة مرتبطة به، تظهر فقط حين موجودة فعليًا. */
.potd-enc-related{padding:8px 14px 12px;border-top:1px dashed var(--line);margin-top:4px}
.potd-enc-label{font-size:.7rem;color:var(--ink-soft);font-weight:700;margin-bottom:6px;display:block}
.potd-enc-card{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}
.potd-enc-card img{width:40px;height:40px;object-fit:cover;border-radius:4px;background:var(--gold-soft);flex-shrink:0}
.potd-enc-card span{font-size:.78rem;color:var(--teal-deep);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.today-picks-nav{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;border-top:1px solid var(--line)}
.today-picks-nav button{background:var(--gold-soft);border:none;border-radius:50%;width:30px;height:30px;font-size:1.1rem;cursor:pointer;color:var(--teal-deep)}
.today-picks-dots{display:flex;gap:6px}
.tp-dot{width:8px;height:8px;border-radius:50%;background:var(--line);cursor:pointer}
.tp-dot.active{background:var(--teal)}
.rs-tabs{display:flex;gap:6px;margin-bottom:18px;border-bottom:2px solid var(--line);flex-wrap:wrap}
.rs-tab{padding:8px 18px;text-decoration:none;color:var(--ink-soft);font-weight:700;border-bottom:3px solid transparent;margin-bottom:-2px}
.rs-tab:hover{color:var(--teal-deep);background:var(--gold-soft)}
.rs-tab.active{color:var(--teal-deep);border-bottom-color:var(--teal-deep)}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);margin:0}
.login-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 28px;max-width:360px;width:90%;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.login-logo{max-width:120px;margin-bottom:12px}
.login-box h1{font-size:1.3rem;margin:0 0 4px}
.login-sub{color:var(--ink-soft);font-size:.85rem;margin-bottom:20px}
.login-box form{display:flex;flex-direction:column;gap:8px;text-align:right}
.login-box label{font-size:.8rem;color:var(--ink-soft)}
.login-box input{padding:8px 10px;border:1px solid var(--line);border-radius:4px;font-size:.95rem}
.login-box button{margin-top:12px;background:var(--teal-deep);color:#fff;border:none;padding:10px;border-radius:4px;font-weight:700;cursor:pointer}
.login-box button:hover{background:var(--teal)}
.login-error{color:#b02a2a;font-size:.82rem}
.login-note{margin-top:18px;font-size:.72rem;color:var(--ink-soft);line-height:1.5}
.auth-logout{background:var(--gold-soft);border:none;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;color:var(--teal-deep);margin-right:8px;flex-shrink:0}
.year-section-group{background:var(--gold-soft);color:var(--teal-deep);padding:8px 14px;border-radius:4px;font-size:1rem;margin:20px 0 10px;display:flex;justify-content:space-between;align-items:center}
.year-section-group .count{background:var(--teal-deep);color:#fff;border-radius:10px;padding:1px 9px;font-size:.78rem}
.experimental-badge{background:#fdf0d5;color:#8a5a1c;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:700}
.pending-review-badge{background:#eaf1fb;color:#1e5a96;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:700}
/* لون خلفية شارة القوة حسب المستوى (طلب تنفيذي 2026-07-13) — لون الخلفية تحديدًا، لا النص */
.strength-strong{background:#dcf3e2}
.strength-medium{background:#fdf3cf}
.strength-weak{background:#fde3cf}
/* شارة مستويي الاحتياط الجديدين (نفس الدولة/نفس القسم — البند 4 بقسم 2 من تقرير 2026-07-15):
   رمادية محايدة، أضعف بصريًا من كل شارات قوي/متوسط/ضعيف أعلاه عمدًا (تمييز واضح أنها ليست
   مطابقة فعلية بل احتياط أخير كي لا تبقى أي مادة بلا مواد مرتبطة إطلاقًا). */
.fallback-badge{background:#eee;color:#666;border-radius:8px;padding:1px 6px;font-size:.68rem;font-weight:700}

/* شارات حالة الارتباط الأربع بصفحة «محتوى المصادر» */
.sc-status-badge{display:inline-block;border-radius:8px;padding:2px 8px;font-size:.72rem;font-weight:700;width:fit-content}
.sc-status-linked{background:#e2f5e8;color:#1a7a3a}
.sc-status-partial{background:#fdf0d5;color:#8a5a1c}
.sc-status-candidate{background:#eaf1fb;color:#1e5a96}
.sc-status-unlinked{background:#f3e6e6;color:#8a2c2c}
.sc-view-toggle{display:flex;gap:4px}
.pub-date-note{color:var(--ink-soft);font-size:.78rem}
.auto-link{color:var(--teal-deep);text-decoration:underline;text-decoration-style:dotted;text-decoration-color:var(--gold)}
.auto-link:hover{background:var(--gold-soft)}
.pair-multi-item:hover{background:#eef2f2}
.country-city-list .country-with-cities{list-style:none}
.country-city-list details{margin:0}
.country-city-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:2px 0}
.country-city-list summary::-webkit-details-marker{display:none}
.country-city-list summary::before{content:"▸";color:var(--gold);margin-left:6px;font-size:.75rem}
.country-city-list details[open] summary::before{content:"▾"}
.city-sublist{list-style:none;margin:2px 0 4px 18px;padding-right:14px;border-right:2px solid var(--line)}
.city-sublist li a{font-size:.86rem;color:var(--ink-soft)}

/* footer */
.site-footer{background:var(--teal-deep);color:#cdd8d4;padding:26px 0;margin-top:40px;font-size:.8rem;text-align:center}
.site-footer strong{color:#fff}

.empty-state{padding:40px;text-align:center;color:var(--ink-soft);background:#fff;border:1px dashed var(--line);border-radius:var(--radius)}

.raw-data-banner{background:#fdf3e0;border:1px solid var(--gold);border-right:5px solid var(--gold);border-radius:var(--radius);padding:12px 16px;margin-bottom:18px;font-size:.85rem;color:#6b4d1a}
.raw-data-banner strong{color:var(--maroon)}
.specialized-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}
.specialized-index-grid a{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;display:flex;justify-content:space-between;gap:8px;font-size:.88rem;color:var(--ink)}
.specialized-index-grid a:hover{border-color:var(--teal)}
.specialized-index-grid a span.count{color:var(--gold);font-weight:700;font-size:.78rem}
.specialized-search{width:100%;padding:9px 14px;border:1px solid var(--line);border-radius:20px;font-family:inherit;margin:10px 0}

/* ============================================================================
   دليل موسوعة الجزيرة (قسم جديد 2026-07-18) — تعيد كل القواعد أدناه استخدام
   متغيرات الألوان/الخط الحالية حصرًا (--teal-deep, --gold, --gold-soft, --ink,
   --ink-soft, --paper-raised, --line, --radius) بلا أي لون أو خط جديد؛ فقط
   قواعد بنيوية جديدة (تخطيط عمودين، صندوق اقتباس، ترقيم دائري للمنهجية).
   ============================================================================ */
.layout.guide-layout{grid-template-columns:260px 1fr}
@media (max-width:940px){
  .layout.guide-layout{grid-template-columns:1fr;display:flex;flex-direction:column}
  .layout.guide-layout > .main{order:1;width:100%}
  .layout.guide-layout > .guide-sidebar{order:2}
}
/* بند 11 (جولة 2026-07-20): تخطيط بلا سايدبارات إطلاقًا لصفحات المراجعة/الأدوات ذات الجداول
   (review/persons، review/events، review/data-table، review/source-data،
   review/encyclopedia-import) - الجدول يعرض بعرض الصفحة الكامل ضمن القالب العام نفسه. */
.layout.no-sidebars{grid-template-columns:1fr}
.guide-sidebar{position:sticky;top:20px;align-self:start}
@media (max-width:940px){ .guide-sidebar{position:static} }
.guide-sidebar-toggle summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.guide-sidebar-toggle summary::-webkit-details-marker{display:none}
.guide-sidebar-toggle summary::after{content:"▾";font-size:.8rem;color:var(--gold)}
.guide-sidebar-toggle[open] summary::after{content:"▴"}
@media (min-width:941px){
  .guide-sidebar-toggle summary{pointer-events:none}
  .guide-sidebar-toggle summary::after{display:none}
}
.guide-sidebar ul{list-style:none;margin:10px 0 0;padding:0}
.guide-sidebar li{border-bottom:1px dashed var(--line)}
.guide-sidebar li:last-child{border-bottom:none}
.guide-sidebar li a{display:block;padding:9px 4px;font-size:.88rem;color:var(--ink-soft)}
.guide-sidebar li a:hover{color:var(--teal)}
.guide-sidebar li a.active{color:var(--teal-deep);font-weight:700}

.guide-back-link{display:inline-flex;align-items:center;gap:6px;background:var(--teal-deep);color:#fff;font-size:.8rem;padding:8px 16px;border-radius:20px;margin-bottom:18px}
.guide-back-link:hover{background:var(--teal);color:#fff}
.guide-back-to-top{display:inline-block;margin-top:26px;font-size:.8rem;color:var(--teal);text-decoration:underline}

.guide-hero{background:linear-gradient(135deg,var(--teal-deep),var(--teal));color:#fff;padding:30px 30px 26px;border-radius:var(--radius);margin-bottom:26px}
.guide-hero h1{color:#fff;font-size:1.9rem;margin-bottom:.4em}
.guide-hero p{color:#dfe8e4;margin:.6em 0;line-height:1.9}

.guide-intro{font-size:.98rem;line-height:1.9;color:var(--ink-soft);margin-bottom:18px}
.guide-section p{line-height:1.9}

.guide-section h2{margin-top:32px;padding-bottom:8px;border-bottom:2px solid var(--gold-soft)}
.guide-section h3{margin-top:22px;color:var(--teal)}

.guide-callout{background:var(--gold-soft);border-right:4px solid var(--gold);border-radius:var(--radius);padding:14px 18px;margin:14px 0;font-size:.9rem;color:var(--ink);line-height:1.85}
.guide-callout strong{color:var(--teal-deep)}

.guide-notes-list{list-style:none;margin:0 0 20px;padding:0}
.guide-notes-list li{position:relative;padding:8px 22px 8px 0;font-size:.92rem;line-height:1.85;color:var(--ink);border-bottom:1px dashed var(--line)}
.guide-notes-list li:last-child{border-bottom:none}
.guide-notes-list li::before{content:"◆";position:absolute;right:0;top:9px;color:var(--gold);font-size:.6rem}

.guide-optional-tag{font-size:.68rem;background:var(--maroon);color:#fff;padding:2px 10px;border-radius:10px;margin-right:8px;font-weight:400;vertical-align:middle}

.guide-features{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.guide-features li{display:flex;gap:10px;align-items:flex-start;background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;font-size:.88rem;line-height:1.7;color:var(--ink)}
.guide-features i{color:var(--gold);margin-top:3px;flex-shrink:0}

.guide-methodology{list-style:none;margin:0;padding:0;counter-reset:method}
.guide-methodology li{counter-increment:method;position:relative;padding:10px 46px 10px 0;border-bottom:1px dashed var(--line);font-size:.92rem;line-height:1.85;color:var(--ink)}
.guide-methodology li:last-child{border-bottom:none}
.guide-methodology li::before{content:counter(method);position:absolute;right:0;top:10px;width:26px;height:26px;border-radius:50%;background:var(--teal-deep);color:#fff;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center}

.guide-topic-card{cursor:pointer}
.guide-topic-card.no-link{cursor:default;opacity:.85}
.guide-topic-card .body{padding:14px}
.guide-topic-card .num{display:inline-block;background:var(--teal-deep);color:#fff;font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:10px;margin-bottom:8px}
.guide-topic-card .title{font-size:.98rem;font-weight:700;color:var(--ink);margin:0 0 6px}
.guide-topic-card .desc{font-size:.8rem;color:var(--ink-soft);line-height:1.7}

.specialized-group{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:0}
.specialized-group summary{padding:14px 18px;cursor:pointer;font-family:var(--font-aj);font-weight:700;color:var(--teal-deep);font-size:1.05rem;list-style:none}
.specialized-group summary::-webkit-details-marker{display:none}
.specialized-group summary::before{content:"▸ ";color:var(--gold)}
.specialized-group[open] summary::before{content:"▾ "}
.specialized-group .specialized-index-grid{padding:0 18px 18px}
.otd-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:0}
.otd-section summary{padding:14px 18px;cursor:pointer;font-family:var(--font-aj);font-weight:700;color:var(--teal-deep);font-size:1.05rem;list-style:none;display:flex;align-items:center;gap:8px}
.otd-section summary::-webkit-details-marker{display:none}
.otd-section summary::before{content:"▸";color:var(--gold)}
.otd-section[open] summary::before{content:"▾"}
.otd-section summary .count{background:var(--gold-soft);color:var(--teal-deep);border-radius:12px;padding:2px 10px;font-size:.78rem;font-weight:700}
.otd-section > .card-grid,.otd-section > .list-rows,.otd-section > .empty-state{padding:0 18px 18px}
/* تصنيفات "حدث في مثل هذا اليوم" الفرعية (البنود 26-29 بقسم 3 من تقرير 2026-07-15) — أكورديون
   متداخل داخل القسم الرئيسي، بمسافة جانبية كي لا تلتصق حواف البطاقة الفرعية بحواف الأب. */
.otd-section .otd-event-type-section{margin:0 18px 12px}
.otd-section .otd-event-type-section:last-child{margin-bottom:18px}
.otd-section .otd-event-type-section summary{font-size:.92rem}
.otd-source-section{margin:0 18px 12px;border-color:var(--line)}
.otd-source-section summary{font-size:.92rem;padding:10px 14px}
/* أيقونة «جرّب التصميم الجديد (تجريبي)» بصفّي محوري «في مثل هذا اليوم» (2026-08-20) — رابط
   لصفحة المعاينة تحت on-this-day-lab/ بنفس تاريخ الصفحة. صغيرة ومحايدة بحدّ متقطّع كي تُقرأ
   كتجربة لا كميزة نهائية ثابتة. */
.otd-lab-try{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;
  border:1px dashed var(--gold);border-radius:50%;color:var(--gold);font-size:.72rem;
  flex-shrink:0;line-height:1;transition:background .15s,color .15s,border-style .15s}
.otd-lab-try:hover,.otd-lab-try:focus-visible{background:var(--gold-soft);color:var(--teal-deep);border-style:solid}

/* stats page */
.stats-tabs{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}
.stats-tab-btn{padding:9px 18px;border-radius:20px;border:1px solid var(--line);background:#fff;cursor:pointer;font-family:inherit;font-weight:700;color:var(--ink-soft)}
.stats-tab-btn.active{background:var(--teal-deep);color:#fff;border-color:var(--teal-deep)}
.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:16px 0}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-align:center}
.stat-card strong{display:block;font-family:var(--font-aj);font-size:1.8rem;color:var(--teal-deep)}
.stat-card span{font-size:.8rem;color:var(--ink-soft)}
.stat-card.clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.stat-card.clickable:hover{border-color:var(--teal-deep);box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* صفحة «ملاحظات المحتوى» (/review/content-notes/) — قائمة اختيار متعدد للفلتر "الملاحظة" على
   نمط .nav-dropdown نفسه (details/summary)، وشارات الأعلام الصغيرة داخل صفوف الجدول. */
.cn-multiselect{position:relative}
.cn-multiselect summary{list-style:none;cursor:pointer;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:.85rem;background:#fff}
.cn-multiselect summary::-webkit-details-marker{display:none}
.cn-multiselect summary::after{content:" ▾"}
.cn-multiselect[open] summary::after{content:" ▴"}
.cn-multiselect-menu{position:absolute;top:calc(100% + 4px);right:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:8px;z-index:20;box-shadow:0 8px 20px rgba(0,0,0,.12);min-width:220px;max-height:260px;overflow-y:auto}
.cn-check-item{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:.85rem;white-space:nowrap}
.cn-check-item:hover{background:var(--gold-soft);border-radius:4px}
.cn-range-label{display:flex;align-items:center;gap:6px;font-size:.85rem}
.cn-range-label input[type=date]{padding:5px 6px;border:1px solid var(--line);border-radius:var(--radius);font-family:inherit}
.cn-flag-badge{display:inline-block;background:#eaf1fb;color:#1e5a96;border-radius:8px;padding:1px 7px;font-size:.7rem;font-weight:700;margin-left:4px}
.cn-priority-HIGH{background:#f3e6e6;color:#8a2c2c}
.cn-priority-MEDIUM{background:#fdf0d5;color:#8a5a1c}
.cn-priority-LOW{background:#eef4ee;color:#2f6b3a}
.cn-detail-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.cn-detail-list li{display:flex;align-items:center;gap:6px}
/* معاينة الفيديو (طلب إضافي، جولة 2026-07-23) — نفس مقاسات .pair-col img بصفحة source-content */
.cn-thumb{width:64px;height:64px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--gold-soft)}
.cn-thumb-sm{width:40px;height:40px;object-fit:cover;border-radius:4px;flex-shrink:0;background:var(--gold-soft)}
.cn-thumb-large{width:100%;max-width:360px;border-radius:var(--radius);margin-bottom:10px;display:block}
.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;margin:20px 0}
.chart-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.chart-box h3{font-size:1rem;margin:0 0 12px}
