/* ═══════════════════════════════════════════════════════════════
   GQ Exam Pro — Exam Player v5
   مبني على النموذج المعتمد. يعتمد على gqep-tokens.css.

   استراتيجية التطبيق:
   كل القواعد مُقيّدة بالجذر .gqep-v5 فتتفوّق في الترجيح على exam.css
   القديم الذي يستخدم كلاساً واحداً. أسماء الكلاسات الأصلية محفوظة
   لأن JS يربط بها منطق الامتحان — لم يُمسّ أي هوك.

   ميزانية المساحة الرأسية على 360×640:
     الشريط العلوي  56px
     الشريط السفلي  69px
     المجموع       125px  (الحد المتّفق عليه 180px)
   ═══════════════════════════════════════════════════════════════ */

/* ── إعادة ضبط داخل نطاق المشغّل ──
   يحيّد ما قد يتسرّب من exam.css القديم دون حذفه.
─────────────────────────────────────────────────────────────── */
.gqep-v5,
.gqep-v5 *,
.gqep-v5 *::before,
.gqep-v5 *::after{box-sizing:border-box}

.gqep-v5{
  font-family:var(--gqep-font);
  background:var(--gqep-bg);
  color:var(--gqep-tx);
  min-height:auto;
  -webkit-font-smoothing:antialiased;
}
.gqep-v5 button{
  font-family:inherit;
  color:inherit;
}

/* ═══════════════ الشاشة الافتتاحية ═══════════════ */
.gqep-v5 .gqep-start{
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px 14px;
  background:transparent;
}
.gqep-v5 .gqep-start-card{
  inline-size:100%;
  max-inline-size:560px;
  padding:28px 22px;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd);
  border-radius:var(--gqep-r-lg);
  box-shadow:var(--gqep-sh2);
  text-align:start;
}
.gqep-v5 .gqep-start-title{
  margin-block-end:6px;
  font-size:var(--gqep-fs-h2);
  font-weight:var(--gqep-fw-h2);
  line-height:var(--gqep-lh-h2);
  color:var(--gqep-tx);
}
.gqep-v5 .gqep-start-sub{
  margin-block-end:18px;
  font-size:var(--gqep-fs-body-m);
  color:var(--gqep-tx2);
}
.gqep-v5 .gqep-start-meta{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gqep-tap-gap);
  justify-content:flex-start;
  margin-block-end:18px;
}
.gqep-v5 .gqep-start-badge{
  padding:5px 12px;
  background:var(--gqep-p50);
  border:1px solid var(--gqep-p200);
  border-radius:var(--gqep-r-full);
  font-size:var(--gqep-fs-body-s);
  font-weight:600;
  color:var(--gqep-p700);
}
.gqep-v5 .gqep-resume-notice{
  padding:14px;
  margin-block-end:16px;
  background:var(--gqep-warn-bg);
  border:0;
  border-radius:var(--gqep-r-md);
  font-size:var(--gqep-fs-body-s);
  line-height:var(--gqep-lh-body-s);
  color:var(--gqep-warn-text);
}
.gqep-v5 .gqep-start-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
}

/* ═══════════════ الشريط العلوي — 56px ═══════════════
   ثلاثة عناصر فقط: التقدّم · المؤقّت · النقاط.
   لا علامة تجارية ولا عنوان امتحان — الطالب داخل الامتحان لا يحتاجهما.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-header{
  position:sticky;
  top:0;
  z-index:20;
  display:flex;
  align-items:center;
  gap:var(--gqep-sp-2);
  block-size:var(--gqep-player-header-h);
  min-block-size:var(--gqep-player-header-h);
  padding:6px 10px;
  background:var(--gqep-sf);
  border:0;
  border-block-end:1px solid var(--gqep-bd);
  box-shadow:none;
}
.gqep-v5 .gqep-header-center{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--gqep-sp-2);
  flex:1;
  min-inline-size:0;
}
.gqep-v5 .gqep-progress-pill{
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:var(--gqep-fs-body-s);
  font-weight:600;
  color:var(--gqep-tx2);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.gqep-v5 .gqep-timer{
  display:none;
  align-items:center;
  gap:5px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:15px;
  font-weight:700;
  color:var(--gqep-p600);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.gqep-v5 .gqep-timer:not(:empty){display:flex}
.gqep-v5 .gqep-timer.is-low{
  background:transparent;
  border:0;
  color:var(--gqep-err-text);
  animation:gqep-v5-pulse 1.4s var(--gqep-ease) infinite;
}
@keyframes gqep-v5-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.gqep-v5 .gqep-score-wrap{
  display:flex;
  align-items:center;
  gap:4px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:var(--gqep-fs-body-s);
  font-weight:600;
  color:var(--gqep-p600);
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.gqep-v5 .gqep-score-num{font-weight:700;color:var(--gqep-p600)}

.gqep-v5-sep{
  inline-size:1px;
  block-size:16px;
  background:var(--gqep-bd2);
  flex:none;
}

/* زر أيقونة — 44×44، الحد الأدنى لهدف اللمس */
.gqep-v5-icon-btn{
  display:grid;
  place-items:center;
  inline-size:var(--gqep-tap-min);
  block-size:var(--gqep-tap-min);
  flex:none;
  padding:0;
  background:var(--gqep-sf2);
  border:1px solid var(--gqep-bd);
  border-radius:var(--gqep-r-sm);
  color:var(--gqep-tx2);
  cursor:pointer;
  transition:background var(--gqep-dur-fast) var(--gqep-ease),
             border-color var(--gqep-dur-fast) var(--gqep-ease),
             color var(--gqep-dur-fast) var(--gqep-ease);
}
.gqep-v5-icon-btn:hover{background:var(--gqep-sf3);border-color:var(--gqep-bd2);color:var(--gqep-tx)}
.gqep-v5-icon-btn:active{transform:scale(.96)}
.gqep-v5-icon-btn svg{inline-size:18px;block-size:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gqep-v5-icon-btn.is-on{background:var(--gqep-p50);border-color:var(--gqep-p300);color:var(--gqep-p700)}

/* شريط التقدّم الرفيع */
.gqep-v5 .gqep-global-timer-bar{
  position:static;
  block-size:3px;
  background:var(--gqep-sf3);
  overflow:hidden;
  z-index:auto;
}
.gqep-v5 .gqep-global-timer-fill{
  block-size:100%;
  background:var(--gqep-p600);
  transition:inline-size var(--gqep-dur-base) var(--gqep-ease);
}

/* ═══════════════ الجسم ═══════════════ */
.gqep-v5 .gqep-body{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:10px;
  max-inline-size:none;
  margin:0;
}

/* ── كتلة القسم + تنقّل الأسئلة — مدمجتان ──
   كانتا منفصلتين بمجموع 221px. الآن 79px.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-section-bar{
  display:flex;
  flex-direction:column;
  gap:var(--gqep-sp-2);
  padding:0;
  background:transparent;
  border:0;
}
.gqep-v5-section-row{
  display:flex;
  align-items:center;
  gap:var(--gqep-sp-2);
  min-inline-size:0;
}
.gqep-v5-teil-badge{
  padding:3px 7px;
  background:var(--gqep-p500);
  border-radius:var(--gqep-r-sm);
  font-size:10.5px;
  font-weight:700;
  color:var(--gqep-on-primary);
  white-space:nowrap;
  flex:none;
}
.gqep-v5-teil-badge:empty{display:none}
.gqep-v5 .gqep-section-title{
  display:block;
  font-size:13.5px;
  font-weight:600;
  color:var(--gqep-tx);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-inline-size:0;
}
/* التعليمات مطويّة افتراضياً — تُفتح بزر */
.gqep-v5 .gqep-instructions{
  display:none;
  margin:0;
  padding:12px 14px;
  background:var(--gqep-info-bg);
  border:0;
  border-radius:var(--gqep-r-md);
  font-size:var(--gqep-fs-body-s);
  line-height:var(--gqep-lh-body-s);
  color:var(--gqep-info-text);
}
.gqep-v5 .gqep-instructions.is-open:not(:empty){display:block}

/* ── شريط تنقّل الأسئلة — صفّ أفقي واحد، 48px ثابتة ──
   ممنوع الالتفاف. الارتفاع لا يتغيّر مهما بلغ عدد الأسئلة.
─────────────────────────────────────────────────────── */
.gqep-v5-jump-wrap{
  position:relative;
  min-block-size:52px;
}
.gqep-v5 .gqep-jump-nav{
  display:flex;
  flex-wrap:nowrap;
  gap:var(--gqep-tap-gap);
  padding:2px 0;
  block-size:var(--gqep-player-jump-h);
  background:transparent;
  border:0;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.gqep-v5 .gqep-jump-nav::-webkit-scrollbar{display:none}
/* التدرّج يجلس عند الحافة الطرفية ويجب أن ينقلب مع اتجاه المشغّل نفسه.
   لا تقعّده على [dir] المطلق: عنصر html يبقى rtl دائماً في الواجهة العربية
   حتى حين يكون المحتوى الألماني ltr، فتنقلب الحافة في الاتجاه الخاطئ. */
.gqep-v5-jump-fade{
  position:absolute;
  inset-inline-end:0;
  bottom:2px;
  inline-size:36px;
  block-size:var(--gqep-player-jump-h);
  pointer-events:none;
  background:linear-gradient(to left,var(--gqep-bg),transparent);
}
.gqep-v5[dir="rtl"] .gqep-v5-jump-fade{
  background:linear-gradient(to right,var(--gqep-bg),transparent);
}
.gqep-v5[dir="ltr"] .gqep-v5-jump-fade{
  background:linear-gradient(to left,var(--gqep-bg),transparent);
}

.gqep-v5 .gqep-jump-btn{
  flex:none;
  inline-size:var(--gqep-tap-min);
  block-size:var(--gqep-tap-min);
  display:grid;
  place-items:center;
  padding:0;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd2);
  border-radius:var(--gqep-r-md);
  font-size:var(--gqep-fs-body-s);
  font-weight:600;
  font-variant-numeric:tabular-nums;
  color:var(--gqep-tx2);
  cursor:pointer;
  transition:background var(--gqep-dur-fast) var(--gqep-ease),
             border-color var(--gqep-dur-fast) var(--gqep-ease),
             color var(--gqep-dur-fast) var(--gqep-ease);
}
.gqep-v5 .gqep-jump-btn:hover{border-color:var(--gqep-p400);color:var(--gqep-p700)}
.gqep-v5 .gqep-jump-btn.is-answered{
  background:var(--gqep-p50);
  border-color:var(--gqep-p200);
  color:var(--gqep-p700);
}
.gqep-v5 .gqep-jump-btn.is-current{
  background:var(--gqep-p500);
  border-color:var(--gqep-p500);
  color:var(--gqep-on-primary);
}
.gqep-v5 .gqep-jump-btn.is-correct{
  background:var(--gqep-ok-bg);border-color:var(--gqep-ok);color:var(--gqep-ok-text);
}
.gqep-v5 .gqep-jump-btn.is-wrong{
  background:var(--gqep-err-bg);border-color:var(--gqep-err);color:var(--gqep-err-text);
}
.gqep-v5 .gqep-jump-btn.is-locked{
  background:var(--gqep-sf3);border-color:var(--gqep-bd);color:var(--gqep-tx3);cursor:default;
}

/* ═══════════════ المحتوى ═══════════════ */
.gqep-v5 .gqep-content{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:0;
  background:transparent;
  border:0;
}

/* النص الألماني دائماً LTR حتى داخل واجهة عربية */
.gqep-v5 .gqep-lesen2-text,
.gqep-v5 .gqep-spr-text,
.gqep-v5 .gqep-text-block,
.gqep-v5 .gqep-writing-card,
.gqep-v5 .gqep-speaking-card{
  padding:18px;
  background:var(--gqep-sf2);
  border:1px solid var(--gqep-bd);
  border-radius:var(--gqep-r-md);
  direction:ltr;
  text-align:left;
  font-size:var(--gqep-fs-body-l);
  line-height:var(--gqep-lh-body-l);
  color:var(--gqep-tx);
}
.gqep-v5 .gqep-lesen2-headline,
.gqep-v5 .gqep-spr-headline,
.gqep-v5 .gqep-headline,
.gqep-v5 .gqep-writing-card-title{
  margin:0 0 10px;
  font-size:19px;
  font-weight:600;
  line-height:var(--gqep-lh-h3);
  color:var(--gqep-tx);
  direction:ltr;
  text-align:left;
}
.gqep-v5 .gqep-gap-num{
  display:inline-block;
  padding:1px 6px;
  margin-inline:2px;
  background:var(--gqep-a50);
  border:1px solid var(--gqep-a300);
  border-radius:var(--gqep-r-sm);
  font-weight:700;
  font-size:.9em;
  color:var(--gqep-a700);
}

/* بنك الكلمات */
.gqep-v5 .gqep-word-bank{
  display:flex;
  flex-wrap:wrap;
  gap:var(--gqep-tap-gap);
  margin-block-start:12px;
}
.gqep-v5 .gqep-word-chip{
  min-block-size:var(--gqep-tap-min);
  display:inline-flex;
  align-items:center;
  padding:0 14px;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd2);
  border-radius:var(--gqep-r-full);
  font-size:var(--gqep-fs-body-m);
  color:var(--gqep-tx);
  cursor:pointer;
  direction:ltr;
}
.gqep-v5 .gqep-word-chip:hover{border-color:var(--gqep-p400)}
.gqep-v5 .gqep-word-chip.tap-selected{background:var(--gqep-p50);border-color:var(--gqep-p500);color:var(--gqep-p700);font-weight:600}
.gqep-v5 .gqep-word-chip.chip-used{opacity:.45;cursor:default;text-decoration:line-through}

/* شبكة Anzeigen (Lesen 3) */
.gqep-v5 .gqep-ads-grid,
.gqep-v5 .gqep-anzeigen-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.gqep-v5 .gqep-ad-card,
.gqep-v5 .gqep-anzeige-card{
  padding:14px;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd2);
  border-radius:var(--gqep-r-md);
  direction:ltr;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:border-color var(--gqep-dur-fast) var(--gqep-ease),
             background var(--gqep-dur-fast) var(--gqep-ease);
}
.gqep-v5 .gqep-ad-card:hover,
.gqep-v5 .gqep-anzeige-card:hover{border-color:var(--gqep-p400);box-shadow:none}
.gqep-v5 .gqep-ad-card.tap-selected,
.gqep-v5 .gqep-anzeige-card.tap-selected{background:var(--gqep-p50);border-color:var(--gqep-p500)}
.gqep-v5 .gqep-ad-label,
.gqep-v5 .gqep-anzeige-badge{
  display:inline-grid;
  place-items:center;
  inline-size:26px;
  block-size:26px;
  margin-block-end:var(--gqep-sp-2);
  background:var(--gqep-p500);
  border-radius:var(--gqep-r-sm);
  font-size:var(--gqep-fs-body-s);
  font-weight:700;
  color:var(--gqep-on-primary);
}
.gqep-v5 .gqep-ad-title,
.gqep-v5 .gqep-anzeige-title{
  font-size:var(--gqep-fs-body-m);
  font-weight:600;
  color:var(--gqep-tx);
  margin-block-end:var(--gqep-sp-1);
}
.gqep-v5 .gqep-ad-body,
.gqep-v5 .gqep-anzeige-body{
  font-size:var(--gqep-fs-body-s);
  line-height:var(--gqep-lh-body-s);
  color:var(--gqep-tx2);
}
@media (min-width:600px){
  .gqep-v5 .gqep-ads-grid,
  .gqep-v5 .gqep-anzeigen-grid{grid-template-columns:repeat(2,1fr)}
}

/* Leitpunkte */
.gqep-v5 .gqep-leitpunkte{
  margin:12px 0 0;
  padding-inline-start:20px;
  font-size:var(--gqep-fs-body-m);
  line-height:1.9;
  color:var(--gqep-tx);
  direction:ltr;
  text-align:left;
}
.gqep-v5 .gqep-writing-msg,
.gqep-v5 .gqep-writing-points-label,
.gqep-v5 .gqep-writing-minwords{
  font-size:var(--gqep-fs-body-m);
  line-height:var(--gqep-lh-body-m);
  color:var(--gqep-tx);
  direction:ltr;
  text-align:left;
}
.gqep-v5 .gqep-writing-minwords{margin-block-start:12px;color:var(--gqep-tx3);font-size:var(--gqep-fs-body-s)}

/* المحادثة */
.gqep-v5 .gqep-speaking-part{
  padding:16px;
  margin-block-end:10px;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd);
  border-radius:var(--gqep-r-md);
}
.gqep-v5 .gqep-speaking-part-num{
  display:inline-block;
  padding:2px 8px;
  margin-block-end:var(--gqep-sp-2);
  background:var(--gqep-p50);
  border-radius:var(--gqep-r-full);
  font-size:var(--gqep-fs-caption);
  font-weight:700;
  color:var(--gqep-p700);
}
.gqep-v5 .gqep-speaking-part-title{
  font-size:var(--gqep-fs-h3);
  font-weight:var(--gqep-fw-h3);
  color:var(--gqep-tx);
  margin-block-end:var(--gqep-sp-2);
}
.gqep-v5 .gqep-speaking-time{
  margin-block-end:12px;
  font-size:var(--gqep-fs-body-s);
  color:var(--gqep-tx3);
}

/* ═══════════════ مشغّل الصوت ═══════════════
   لاصق أسفل الهيدر. يتقلّص بعد بدء التشغيل
   فيتبقّى ≥390px للسؤال والخيارات.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-audio-wrap:empty{display:none}
.gqep-v5 .gqep-audio-wrap{
  position:sticky;
  top:var(--gqep-player-header-h);
  z-index:15;
}
.gqep-v5 .gqep-audio-box{
  padding:14px;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd);
  border-radius:var(--gqep-r-md);
  box-shadow:var(--gqep-sh1);
  /* لا انتقال على padding — يسبّب إعادة تخطيط متكرّرة أثناء التشغيل */
}
.gqep-v5 .gqep-audio-main{
  display:flex;
  align-items:center;
  gap:12px;
}
.gqep-v5 .gqep-audio-play{
  flex:none;
  display:grid;
  place-items:center;
  inline-size:52px;
  block-size:52px;
  padding:0;
  background:var(--gqep-p500);
  border:0;
  border-radius:var(--gqep-r-full);
  color:var(--gqep-on-primary);
  cursor:pointer;
  transition:background var(--gqep-dur-fast) var(--gqep-ease);
}
.gqep-v5 .gqep-audio-play:hover{background:var(--gqep-p600)}
.gqep-v5 .gqep-audio-play svg{inline-size:22px;block-size:22px;fill:currentColor}
.gqep-v5 .gqep-audio-meta{flex:1;min-inline-size:0}
.gqep-v5 .gqep-audio-label{
  font-size:var(--gqep-fs-body-m);
  font-weight:600;
  color:var(--gqep-tx);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.gqep-v5 .gqep-audio-info{
  font-size:var(--gqep-fs-body-s);
  color:var(--gqep-tx2);
}
.gqep-v5 .gqep-audio-progress,
.gqep-v5 .gqep-audio-track{
  block-size:6px;
  background:var(--gqep-sf3);
  border-radius:var(--gqep-r-full);
  overflow:hidden;
  cursor:pointer;
}
.gqep-v5 .gqep-audio-fill{
  block-size:100%;
  background:var(--gqep-p500);
  border-radius:inherit;
}
.gqep-v5 .gqep-audio-time{
  font-size:var(--gqep-fs-body-s);
  font-weight:600;
  color:var(--gqep-tx2);
  font-variant-numeric:tabular-nums;
  direction:ltr;
}
.gqep-v5 .gqep-audio-icon{
  flex:none;
  display:grid;
  place-items:center;
  inline-size:44px;
  block-size:44px;
  background:var(--gqep-p50);
  border-radius:var(--gqep-r-full);
  color:var(--gqep-p600);
}
.gqep-v5 .gqep-audio-icon svg{inline-size:20px;block-size:20px;fill:currentColor}

/* ── الحالة المتقلّصة بعد بدء التشغيل ──
   يبقى المشغّل لاصقاً ومتاحاً، لكن بصفّ واحد نحيف.
   كل ما ليس ضرورياً أثناء الاستماع يُخفى: عدّاد المرات،
   الأيقونة الجانبية، والوقت. يبقى: تشغيل/إيقاف + العنوان + شريط تقدّم.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-audio-box.is-compact{padding:6px 10px}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-main{gap:10px}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-label{
  font-size:var(--gqep-fs-body-s);
  font-weight:600;
}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-info,
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-side-icon,
.gqep-v5 .gqep-audio-box.is-compact .gqep-plays-counter,
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-time{display:none}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-progress{margin-block-start:6px}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-track{block-size:4px}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-play{inline-size:40px;block-size:40px}
.gqep-v5 .gqep-audio-box.is-compact .gqep-audio-play svg{inline-size:18px;block-size:18px}

/* ═══════════════ بطاقة السؤال ═══════════════ */
.gqep-v5 .gqep-question-card{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px;
  background:var(--gqep-sf);
  border:1px solid var(--gqep-bd);
  border-radius:var(--gqep-r-md);
  box-shadow:none;
}
.gqep-v5 .gqep-question-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0;
  padding:0;
  border:0;
}
.gqep-v5 .gqep-q-badge{
  flex:none;
  display:grid;
  place-items:center;
  inline-size:30px;
  block-size:30px;
  padding:0;
  background:var(--gqep-p500);
  border:0;
  border-radius:var(--gqep-r-sm);
  font-size:var(--gqep-fs-body-s);
  font-weight:700;
  color:var(--gqep-on-primary);
  font-variant-numeric:tabular-nums;
}
.gqep-v5 .gqep-question-body{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.gqep-v5 .gqep-question{
  font-size:var(--gqep-fs-body-l);
  font-weight:500;
  line-height:var(--gqep-lh-body-l);
  color:var(--gqep-tx);
  direction:ltr;
  text-align:left;
}

/* ── الخيارات ──
   ممنوع أي موضع إعلاني بين نص السؤال والخيارات أو داخل هذه القائمة.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-choices{
  display:flex;
  flex-direction:column;
  gap:var(--gqep-tap-gap);
}
.gqep-v5 .gqep-choice{
  display:flex;
  align-items:center;
  gap:12px;
  inline-size:100%;
  min-block-size:var(--gqep-tap-choice);
  padding:12px 14px;
  background:var(--gqep-sf);
  border:1.5px solid var(--gqep-bd2);
  border-radius:var(--gqep-r-md);
  direction:ltr;
  text-align:left;
  cursor:pointer;
  box-shadow:none;
  transition:background var(--gqep-dur-fast) var(--gqep-ease),
             border-color var(--gqep-dur-fast) var(--gqep-ease);
}
.gqep-v5 .gqep-choice:hover:not(:disabled){border-color:var(--gqep-p400);background:var(--gqep-p50)}
.gqep-v5 .gqep-choice-letter{
  flex:none;
  display:grid;
  place-items:center;
  inline-size:28px;
  block-size:28px;
  background:var(--gqep-sf2);
  border:0;
  border-radius:var(--gqep-r-sm);
  font-size:var(--gqep-fs-body-s);
  font-weight:700;
  color:var(--gqep-tx2);
}
.gqep-v5 .gqep-choice-text{
  flex:1;
  min-inline-size:0;
  font-size:15.5px;
  line-height:1.6;
  color:var(--gqep-tx);
}

/* الحالات — لون + شكل + سماكة حد، لا لون وحده */
.gqep-v5 .gqep-choice.chosen{background:var(--gqep-p50);border-color:var(--gqep-p500)}
.gqep-v5 .gqep-choice.chosen .gqep-choice-letter{background:var(--gqep-p500);color:var(--gqep-on-primary)}
.gqep-v5 .gqep-choice.correct{background:var(--gqep-ok-bg);border-color:var(--gqep-ok);border-width:2px}
.gqep-v5 .gqep-choice.correct .gqep-choice-letter{background:var(--gqep-ok);color:#fff}
.gqep-v5 .gqep-choice.correct::after{
  content:"✓";
  margin-inline-start:auto;
  font-size:17px;
  font-weight:700;
  color:var(--gqep-ok-text);
}
.gqep-v5 .gqep-choice.wrong{background:var(--gqep-err-bg);border-color:var(--gqep-err);border-width:2px}
.gqep-v5 .gqep-choice.wrong .gqep-choice-letter{background:var(--gqep-err);color:#fff}
.gqep-v5 .gqep-choice.wrong::after{
  content:"✕";
  margin-inline-start:auto;
  font-size:17px;
  font-weight:700;
  color:var(--gqep-err-text);
}
.gqep-v5 .gqep-choice:disabled{cursor:default}
.gqep-v5 .gqep-choice:disabled:not(.chosen):not(.correct):not(.wrong){opacity:.6}
.gqep-v5 .gqep-choice.just-selected{transform:scale(.99)}

/* ── صندوق الشرح ──
   JS يتحكّم بـ display:block/none، لذلك يبقى block لا flex.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-explain{
  padding:14px;
  background:var(--gqep-ok-bg);
  border:0;
  border-radius:var(--gqep-r-md);
  font-size:var(--gqep-fs-body-m);
  line-height:var(--gqep-lh-body-m);
  color:var(--gqep-ok-text);
}

/* ── منطقة الكتابة ── */
.gqep-v5 .gqep-writing-area-wrap{
  display:flex;
  flex-direction:column;
  gap:var(--gqep-sp-2);
}
.gqep-v5 .gqep-writing-area,
.gqep-v5 textarea{
  inline-size:100%;
  min-block-size:220px;
  padding:14px;
  background:var(--gqep-sf);
  border:1.5px solid var(--gqep-bd2);
  border-radius:var(--gqep-r-md);
  font-family:inherit;
  font-size:var(--gqep-fs-body-l);
  line-height:var(--gqep-lh-body-l);
  color:var(--gqep-tx);
  direction:ltr;
  text-align:left;
  resize:vertical;
}
.gqep-v5 .gqep-writing-area:focus,
.gqep-v5 textarea:focus{border-color:var(--gqep-p500);outline:none}

/* ═══════════════ الشريط السفلي — 69px ═══════════════
   صفّ واحد. ممنوع الانقلاب العمودي.
   كل الإجراءات الأساسية هنا — منطقة الإبهام.
─────────────────────────────────────────────────────── */
.gqep-v5 .gqep-footer{
  position:sticky;
  bottom:0;
  z-index:20;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:var(--gqep-sp-2);
  min-block-size:var(--gqep-player-footer-h);
  padding:var(--gqep-sp-2) 10px;
  padding-block-end:calc(var(--gqep-sp-2) + var(--gqep-safe-bottom));
  background:var(--gqep-sf);
  border:0;
  border-block-start:1px solid var(--gqep-bd);
  box-shadow:none;
  max-width:100%;
  left:auto;right:auto;
}
.gqep-v5 .gqep-footer-left,
.gqep-v5 .gqep-footer-right{
  display:contents;
}
.gqep-v5 .gqep-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--gqep-sp-2);
  min-block-size:52px;
  padding:0 16px;
  background:var(--gqep-sf2);
  border:1px solid var(--gqep-bd2);
  border-radius:var(--gqep-r-md);
  font-size:var(--gqep-fs-body-m);
  font-weight:600;
  color:var(--gqep-tx2);
  cursor:pointer;
  box-shadow:none;
  transition:background var(--gqep-dur-fast) var(--gqep-ease),
             border-color var(--gqep-dur-fast) var(--gqep-ease);
}
.gqep-v5 .gqep-btn:hover:not(:disabled){background:var(--gqep-sf3);border-color:var(--gqep-bd2)}
.gqep-v5 .gqep-btn:active:not(:disabled){transform:scale(.98)}
.gqep-v5 .gqep-btn:disabled{opacity:.4;cursor:default;transform:none}
.gqep-v5 .gqep-btn svg{inline-size:19px;block-size:19px;flex:none}

.gqep-v5 .gqep-prev{
  flex:none;
  inline-size:52px;
  min-inline-size:52px;
  padding:0;
  font-size:0;
}
.gqep-v5 .gqep-prev::before{
  content:"‹";
  font-size:26px;
  line-height:1;
  font-weight:400;
}
.gqep-v5[dir="rtl"] .gqep-prev::before{content:"›"}
.gqep-v5[dir="ltr"] .gqep-prev::before{content:"‹"}

.gqep-v5-jump-open{
  flex:none;
  padding:0 12px!important;
  font-size:12.5px!important;
  font-variant-numeric:tabular-nums;
}
.gqep-v5 .gqep-next,
.gqep-v5 .gqep-v5-primary{
  flex:1;
  background:var(--gqep-p500);
  border-color:var(--gqep-p500);
  color:var(--gqep-on-primary);
}
.gqep-v5 .gqep-v5-primary:hover:not(:disabled){background:var(--gqep-p600);border-color:var(--gqep-p600)}
.gqep-v5 .gqep-next:hover:not(:disabled){background:var(--gqep-p600);border-color:var(--gqep-p600)}
.gqep-v5 .gqep-finish{
  flex:1;
  background:var(--gqep-a600);
  border-color:var(--gqep-a600);
  color:#fff;
}
.gqep-v5 .gqep-finish:hover:not(:disabled){background:var(--gqep-a700);border-color:var(--gqep-a700)}
.gqep-v5 .gqep-retry{flex:1}

/* ═══════════════ ورقة سفلية لتنقّل الأسئلة ═══════════════ */
.gqep-v5-sheet-backdrop{
  position:fixed;
  inset:0;
  z-index:1000;
  background:var(--gqep-scrim);
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.gqep-v5-sheet-backdrop[hidden]{display:none}
.gqep-v5-sheet{
  inline-size:100%;
  max-inline-size:560px;
  max-block-size:76vh;
  overflow-y:auto;
  padding:16px;
  padding-block-end:calc(16px + var(--gqep-safe-bottom));
  background:var(--gqep-sf);
  border-start-start-radius:var(--gqep-r-xl);
  border-start-end-radius:var(--gqep-r-xl);
  box-shadow:var(--gqep-sh3);
  animation:gqep-v5-sheet-in var(--gqep-dur-base) var(--gqep-ease);
}
@keyframes gqep-v5-sheet-in{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.gqep-v5-sheet-handle{
  inline-size:44px;block-size:4px;margin:0 auto 14px;
  background:var(--gqep-bd2);border-radius:var(--gqep-r-full);
}
.gqep-v5-sheet-title{
  margin:0 0 12px;
  font-size:var(--gqep-fs-h3);
  font-weight:var(--gqep-fw-h3);
  color:var(--gqep-tx);
}
.gqep-v5-sheet-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(var(--gqep-tap-min),1fr));
  gap:var(--gqep-tap-gap);
}
.gqep-v5-sheet-grid .gqep-jump-btn{inline-size:100%}

/* ═══════════════ موضع إعلاني ═══════════════
   ارتفاع محجوز مسبقاً — لا انزياح تخطيط.
   الحاوية تُزال من DOM حين لا يوجد إعلان (يتولّاها JS).
─────────────────────────────────────────────────────── */
.gqep-v5-ad{
  display:flex;
  flex-direction:column;
  gap:var(--gqep-sp-1);
  padding:12px;
  background:var(--gqep-sf2);
  border:1px dashed var(--gqep-bd2);
  border-radius:var(--gqep-r-md);
}
.gqep-v5-ad-label{
  font-size:var(--gqep-fs-caption);
  font-weight:500;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--gqep-tx3);
}
.gqep-v5-ad-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  inline-size:100%;
  min-block-size:var(--gqep-ad-reserved,100px);
  max-block-size:160px;
  overflow:hidden;
}
.gqep-v5-ad-frame > *{max-inline-size:100%}
.gqep-v5-ad.is-post-exam .gqep-v5-ad-frame{max-block-size:280px}

/* ═══════════════ حالات عامة ═══════════════ */
.gqep-v5 .gqep-error{
  padding:20px;
  background:var(--gqep-err-bg);
  border-radius:var(--gqep-r-md);
  color:var(--gqep-err-text);
  font-size:var(--gqep-fs-body-m);
}
.gqep-v5-skeleton{
  background:linear-gradient(90deg,var(--gqep-sf2) 25%,var(--gqep-sf3) 37%,var(--gqep-sf2) 63%);
  background-size:400% 100%;
  border-radius:var(--gqep-r-sm);
  animation:gqep-v5-shimmer 1.4s ease infinite;
}
@keyframes gqep-v5-shimmer{from{background-position:100% 50%}to{background-position:0 50%}}

/* ═══════════════ نقاط الكسر ═══════════════
   التصميم الأصلي 360px. ما فوقه توسعة لا تصغير.
─────────────────────────────────────────────────────── */
@media (min-width:768px){
  .gqep-v5 .gqep-body{padding:16px;gap:14px}
  .gqep-v5 .gqep-header{padding-inline:16px}
  .gqep-v5 .gqep-footer{padding-inline:16px}
  .gqep-v5 .gqep-question-card{padding:22px}
}
@media (min-width:1100px){
  .gqep-v5 .gqep-content,
  .gqep-v5 .gqep-question-card{max-inline-size:820px;margin-inline:auto;inline-size:100%}
}
@media (max-height:620px){
  .gqep-v5 .gqep-body{gap:var(--gqep-sp-2);padding:var(--gqep-sp-2)}
  .gqep-v5 .gqep-question-card{padding:14px;gap:10px}
}
