@font-face{
  font-family:'HelveticaNeueW23';
  src:url('../fonts/HNW23-Reg.ttf') format('truetype');
  font-weight:100 500; font-display:swap;
}
@font-face{
  font-family:'HelveticaNeueW23';
  src:url('../fonts/HNW23-Bold.ttf') format('truetype');
  font-weight:600 900; font-display:swap;
}
/* الهوية البصرية الرسمية — وزارة التعليم (دليل الهوية أكتوبر 2025)
   الألوان الأساسية: #07a869 #3d7eb9 #0da9a6 #15445a #c1b489 #c2c1c1
   المساندة: #3078a6 #218caa #69cee3 #351375 #7258a4 #7a80ff */
:root{
  --navy:#15445a;
  --navy-deep:#0e3242;
  --green:#07a869;
  --green-dark:#068a57;
  --teal:#0da9a6;
  --blue:#3d7eb9;
  --sky:#69cee3;
  --cyan:#218caa;
  --sand:#c1b489;
  --grey:#c2c1c1;
  --indigo:#351375;
  --ink:#1c2b33;
  --muted:#5d707a;
  --bg:#f5f7f8;
  --card:#ffffff;
  --line:#e4e9ec;
  --ok:#07a869;
  --bad:#c0392b;
  --radius:14px;
  --shadow:0 2px 12px rgba(21,68,90,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{
  font-family:'HelveticaNeueW23','IBM Plex Sans Arabic','Tajawal',-apple-system,'Segoe UI',sans-serif;
  background:var(--bg);
  color:var(--ink);
  direction:rtl;
  min-height:100vh;
  font-size:16px;
  line-height:1.7;
}
a{color:var(--cyan)}
.wrap{max-width:1060px;margin-inline:auto;padding-inline:18px}

/* ===== الترويسة — خلفية داكنة وفق الدليل ===== */
header.moe{
  background:
    radial-gradient(circle at 12% 18%, rgba(7,168,105,.14) 0, transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(13,169,166,.12) 0, transparent 38%),
    radial-gradient(rgba(255,255,255,.05) 1.2px, transparent 1.3px),
    var(--navy);
  background-size:auto,auto,26px 26px,auto;
  color:#fff;
  border-bottom:4px solid;
  border-image:linear-gradient(to left,var(--green),var(--teal),var(--sky)) 1;
}
header.moe{position:relative}
header.moe .wrap{position:relative;z-index:2}
header.moe::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='300' viewBox='0 0 460 300' fill='none' stroke='white' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M-20 280 C 130 210 200 300 480 180'/%3E%3Cpath d='M-20 245 C 150 175 220 275 480 135'/%3E%3Cpath d='M-20 210 C 170 140 240 250 480 90'/%3E%3Cpath d='M-20 175 C 190 110 260 225 480 45'/%3E%3C/svg%3E") no-repeat left bottom,
             url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='300' viewBox='0 0 460 300' fill='none' stroke='white' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M-20 280 C 130 210 200 300 480 180'/%3E%3Cpath d='M-20 245 C 150 175 220 275 480 135'/%3E%3Cpath d='M-20 210 C 170 140 240 250 480 90'/%3E%3Cpath d='M-20 175 C 190 110 260 225 480 45'/%3E%3C/svg%3E") no-repeat right -60px top -40px;
}
.hdots{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.hdots span{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--sky), var(--green));
  animation:dotfloat ease-in-out infinite}
@keyframes dotfloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-30px) scale(1.18)}
}
@media (prefers-reduced-motion:reduce){.hdots{display:none}}

.moe-top{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding-block:18px;flex-wrap:wrap;
}
.moe-brand{text-align:center}
.moe-brand img{height:108px;width:auto;display:block;margin-inline:auto;filter:drop-shadow(0 2px 6px rgba(0,0,0,.2))}
.moe-brand .b2{margin-top:8px;font-size:.85rem;font-weight:700;color:#fff;opacity:.94;
  border-top:1px solid rgba(255,255,255,.3);padding-top:7px;letter-spacing:.2px}
.moe-school{text-align:center}
.moe-school .s1{font-size:1.3rem;font-weight:700;letter-spacing:.3px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25)}
.moe-school .s2{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.3);
  font-size:.95rem;font-weight:700;color:#fff;opacity:.92;letter-spacing:.2px}
.hero{text-align:center;padding-block:26px 38px}
.hero h1{font-size:clamp(1.55rem,4.5vw,2.4rem);font-weight:700;margin-bottom:10px}
.hero p{opacity:.9;max-width:660px;margin-inline:auto;font-size:1rem}
.hero .gold{color:var(--sand);font-weight:700}

/* شريط تنقل — عنصر مقسّم زجاجي */
nav.tabs{display:flex;justify-content:center;padding-bottom:26px}
nav.tabs .seg{
  display:flex;gap:4px;padding:5px;border-radius:99px;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 4px 18px rgba(0,0,0,.18);
  flex-wrap:wrap;justify-content:center;
}
nav.tabs a{
  display:inline-flex;align-items:center;gap:7px;
  color:rgba(255,255,255,.85);text-decoration:none;padding:9px 24px;border-radius:99px;
  font-weight:700;font-size:.95rem;transition:.25s;position:relative;
}
nav.tabs a .ti{font-size:1.05rem;line-height:1}
nav.tabs a:hover{color:#fff;background:rgba(255,255,255,.10)}
nav.tabs a.on{
  background:#fff;color:var(--navy);
  box-shadow:0 3px 12px rgba(0,0,0,.25);
}

.theme-btn{border:none;background:rgba(255,255,255,.12);color:#fff;width:40px;height:40px;
  border-radius:50%;cursor:pointer;font-size:1.05rem;transition:.2s;margin-inline-start:2px}
.theme-btn:hover{background:rgba(255,255,255,.24);transform:rotate(-12deg)}

/* ===== الشاشة الافتتاحية ===== */
#splash{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 42%, #1b5570, var(--navy-deep) 75%);
  transition:opacity .55s ease}
#splash img{height:130px;opacity:0;transform:scale(.82);animation:splashin .9s .1s cubic-bezier(.2,.8,.3,1) forwards}
@keyframes splashin{to{opacity:1;transform:scale(1)}}
#splash.done{opacity:0;pointer-events:none}
@media (prefers-reduced-motion:reduce){#splash{display:none}}

/* ملاحظات الرئيسية */
.card-note{background:var(--card)}
.card-note .hl{color:var(--navy)}
.info-note{background:#eef4f6;color:var(--navy)}

/* ===== عنوان قسم بأسلوب الدليل: صندوق رمادي بخط سفلي أزرق ===== */
.moe-title{
  text-align:center;margin:0 auto 30px;max-width:420px;
  background:linear-gradient(to bottom,#f1f1f4,#e9e9ee);
  border-bottom:3px solid var(--sky);
  padding:12px 30px;border-radius:6px 6px 0 0;
  font-size:1.35rem;font-weight:700;color:var(--navy);
  position:relative;box-shadow:0 1px 6px rgba(21,68,90,.06);
}
.moe-title::after{content:"";position:absolute;bottom:-3px;right:50%;transform:translateX(50%);
  width:56px;height:3px;background:var(--sand)}
.moe-title .num{display:block;font-size:.85rem;color:var(--grey);font-weight:400;letter-spacing:2px}

/* ===== البطاقات الرئيسية ===== */
main{padding-block:38px 60px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.track{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:26px;text-decoration:none;color:var(--ink);display:block;
  border-top:5px solid var(--green);transition:.2s;
}
.track:nth-child(2){border-top-color:var(--blue)}
.track:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(21,68,90,.15)}
.track .ic{
  font-size:1.9rem;width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#e6f6ef,#e0f4f4);margin-bottom:14px;box-shadow:inset 0 0 0 1.5px rgba(7,168,105,.18);
}
.track:nth-child(2) .ic{background:linear-gradient(135deg,#e8f0f9,#e0f4f4);box-shadow:inset 0 0 0 1.5px rgba(61,126,185,.2)}
.track h2{color:var(--navy);font-size:1.35rem;margin-bottom:6px}
.track p{color:var(--muted);font-size:.95rem}
.track .cnt{display:inline-block;margin-top:12px;background:#e6f6ef;color:var(--green-dark);
  border-radius:99px;padding:3px 14px;font-size:.85rem;font-weight:700}

/* إحصاءات التقدم */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:26px}
.stat{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 16px;text-align:center;border-bottom:3px solid var(--teal);transition:.2s}
.stat:nth-child(1){border-color:var(--green)}
.stat:nth-child(2){border-color:var(--blue)}
.stat:nth-child(3){border-color:var(--teal)}
.stat:nth-child(4){border-color:var(--sand)}
.stat:hover{transform:translateY(-3px)}
.stat b{display:block;font-size:1.6rem;color:var(--navy)}
.stat span{font-size:.85rem;color:var(--muted)}
.ringwrap{position:relative;width:90px;height:90px;margin:0 auto 8px}
.ringwrap svg{width:100%;height:100%;transform:rotate(-90deg)}
.rbg{fill:none;stroke:#e8eef0;stroke-width:7}
.rfg{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:226.2;
  transition:stroke-dashoffset 1.2s cubic-bezier(.3,.7,.3,1)}
.ringwrap b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.stat .stotal{display:block;font-size:.72rem;color:var(--grey);font-style:normal;margin-top:2px}

/* الظهور المتدرج عند التمرير */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ===== صفحات الأقسام ===== */
.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.section-head h2{color:var(--navy);font-size:1.4rem}
.pill-tabs{display:flex;gap:8px;flex-wrap:wrap}
.pill-tabs button{
  font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;
  border:1.5px solid var(--navy);color:var(--navy);background:#fff;
  border-radius:8px;padding:7px 20px;transition:.15s;
}
.pill-tabs button.on{background:var(--navy);color:#fff}

/* أكورديون الأبواب والفصول */
details.bab{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
details.bab>summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;
  padding:15px 20px;font-weight:700;font-size:1.08rem;color:var(--navy);
  background:linear-gradient(to left,#eef4f6,#fff);
  border-inline-start:4px solid var(--green);
}
details.bab>summary::-webkit-details-marker{display:none}
details.bab>summary .arrow{margin-inline-start:auto;transition:.2s;color:var(--teal)}
details.bab[open]>summary .arrow{transform:rotate(90deg)}
.bab-prog{font-size:.78rem;font-weight:700;color:#fff;background:var(--green);border-radius:99px;padding:2px 12px}

details.topic{border-top:1px solid var(--line)}
details.topic>summary{
  cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;
  padding:12px 26px;font-weight:700;color:var(--ink);font-size:.98rem;
}
details.topic>summary::-webkit-details-marker{display:none}
details.topic>summary:hover{background:#f2f8f9}
details.topic>summary .arrow{margin-inline-start:auto;color:var(--teal);font-size:.8rem}
.topic-prog{font-size:.72rem;color:var(--muted)}

/* صف الدرس */
.lesson{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:10px 34px;border-top:1px dashed var(--line);font-size:.93rem;
}
.lesson:hover{background:#fafcfc}
.lesson .num{
  flex:0 0 26px;height:26px;border-radius:50%;background:#e6f6ef;color:var(--green-dark);
  display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;
}
.lesson.done .num{background:var(--green);color:#fff}
.lesson .ttl{flex:1 1 240px}
.lesson .acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.chip{
  display:inline-flex;align-items:center;gap:4px;text-decoration:none;font-size:.78rem;font-weight:700;
  border-radius:99px;padding:4px 14px;border:1px solid #cfe0e6;color:var(--cyan);background:#fff;
  cursor:pointer;font-family:inherit;transition:.15s;
}
.chip:hover{border-color:var(--teal);background:#effafa}
.chip.quiz{background:linear-gradient(135deg,var(--green),#0a9c74);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(7,168,105,.3)}
.chip.quiz:hover{background:var(--green-dark)}
.score-tag{font-size:.75rem;color:var(--green-dark);font-weight:700}

/* مواد التحصيلي */
.subj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:26px}
.subj-card{
  background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;
  text-align:center;cursor:pointer;border:2px solid transparent;border-top:4px solid var(--grey);transition:.2s;
}
.subj-card:nth-child(1){border-top-color:var(--green)}
.subj-card:nth-child(2){border-top-color:var(--blue)}
.subj-card:nth-child(3){border-top-color:var(--teal)}
.subj-card:nth-child(4){border-top-color:var(--sand)}
.subj-card:hover,.subj-card.on{border-color:var(--navy)}
.subj-card .ic{
  font-size:1.7rem;width:58px;height:58px;border-radius:50%;margin-inline:auto;
  display:flex;align-items:center;justify-content:center;background:#f1f6f7;
}
.subj-card h3{color:var(--navy);margin-top:6px}
.subj-card .cnt{font-size:.8rem;color:var(--muted)}

.res-title{font-weight:700;color:var(--navy);margin:26px 0 12px;font-size:1.1rem;display:flex;align-items:center;gap:10px}
.res-title::before{content:"";width:8px;height:24px;border-radius:4px;background:var(--sand);display:inline-block}
.res-title small{font-weight:400;font-size:.8rem;color:var(--muted)}
.vid-grid{display:flex;gap:8px;flex-wrap:wrap}
.vid-grid a{
  text-decoration:none;font-size:.85rem;font-weight:700;color:var(--cyan);
  background:#fff;border:1px solid #cfe0e6;border-radius:8px;padding:6px 16px;transition:.15s;
}
.vid-grid a:hover{background:#effafa;border-color:var(--teal)}
.vid-grid a.gold{background:var(--sand);color:#fff;border-color:var(--sand)}
.playlist{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px;margin-bottom:14px}
.playlist h4{color:var(--navy);font-size:1rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.playlist h4::before{content:"▶";color:var(--green);font-size:.8rem}

/* ===== المشغّل المضمّن ===== */
.qbox.vbox{max-width:860px;background:#0e3242}
.qbox.fbox{max-width:960px;background:#33383d;display:flex;flex-direction:column;height:92vh;overflow:hidden}
.pdfframe{flex:1;width:100%;border:0;background:#525659}
.vwrap{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.vwrap iframe,.vwrap video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vlink{
  font-family:inherit;cursor:pointer;text-decoration:none;font-size:.85rem;font-weight:700;color:var(--cyan);
  background:#fff;border:1px solid #cfe0e6;border-radius:8px;padding:6px 16px;transition:.15s;
}
.vlink:hover{background:#effafa;border-color:var(--teal)}
.vlink.gold{background:var(--sand);color:#fff;border-color:var(--sand)}

/* ===== نافذة الاختبار ===== */
.overlay{
  position:fixed;inset:0;background:rgba(14,50,66,.6);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:16px;z-index:50;
}
.qbox{
  background:#fff;border-radius:16px;max-width:620px;width:100%;max-height:92vh;overflow:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.qhead{
  background:var(--navy);color:#fff;
  padding:16px 22px;display:flex;align-items:center;gap:10px;justify-content:space-between;
  position:sticky;top:0;z-index:2;
}
.qhead .qt{font-weight:700;font-size:1rem}
.qhead .prog{font-size:.8rem;opacity:.85}
.qhead button{background:none;border:none;color:#fff;font-size:1.3rem;cursor:pointer;line-height:1}
.qbar{height:5px;background:var(--line)}
.qbar i{display:block;height:100%;background:var(--green);transition:.3s;border-radius:0 99px 99px 0}
.qbody{padding:22px}
.qtext{font-weight:700;font-size:1.12rem;margin-bottom:6px;white-space:pre-line}
.qpassage{background:#eef4f6;border-radius:10px;padding:14px;font-size:.95rem;margin-bottom:12px;border-inline-start:3px solid var(--blue)}
.choices{display:grid;gap:10px;margin-top:14px}
.choice{
  font-family:inherit;font-size:1rem;text-align:right;cursor:pointer;
  border:1.5px solid #d7e2e7;background:#fbfdfd;border-radius:10px;padding:12px 16px;transition:.15s;
  display:flex;align-items:center;gap:10px;
}
.choice .letter{
  flex:0 0 28px;height:28px;border-radius:50%;background:#e8eff2;color:var(--navy);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;
}
.choice:hover:not([disabled]){border-color:var(--teal);background:#fff}
.choice.correct{border-color:var(--ok);background:#ecf9f2}
.choice.correct .letter{background:var(--ok);color:#fff}
.choice.wrong{border-color:var(--bad);background:#fdf1ef}
.choice.wrong .letter{background:var(--bad);color:#fff}
.choice[disabled]{cursor:default;opacity:.92}
.fb{margin-top:14px;font-weight:700;font-size:.95rem;border-radius:10px;padding:10px 14px;display:none}
.fb.ok{display:block;background:#ecf9f2;color:var(--green-dark)}
.fb.bad{display:block;background:#fdf1ef;color:var(--bad)}
.qfoot{padding:0 22px 22px;display:flex;justify-content:flex-start}
.btn{
  font-family:inherit;font-weight:700;font-size:1rem;cursor:pointer;border:none;border-radius:99px;
  padding:11px 32px;background:linear-gradient(135deg,var(--green),#0a9c74);color:#fff;transition:.15s;
  box-shadow:0 3px 10px rgba(7,168,105,.3);
}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(7,168,105,.4)}
.btn:hover{background:var(--green-dark)}
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn[disabled]{opacity:.4;cursor:default}

/* شاشة النتيجة */
.result{text-align:center;padding:36px 22px}
.result .ring{
  width:130px;height:130px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;
  font-size:1.7rem;font-weight:700;color:var(--navy);
}
.result h3{font-size:1.3rem;color:var(--navy);margin-bottom:6px}
.result p{color:var(--muted);margin-bottom:20px}
.result .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* تذييل */
footer{
  position:relative;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='300' viewBox='0 0 460 300' fill='none' stroke='white' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M-20 280 C 130 210 200 300 480 180'/%3E%3Cpath d='M-20 245 C 150 175 220 275 480 135'/%3E%3Cpath d='M-20 210 C 170 140 240 250 480 90'/%3E%3Cpath d='M-20 175 C 190 110 260 225 480 45'/%3E%3C/svg%3E") no-repeat right bottom,
    radial-gradient(rgba(255,255,255,.04) 1.2px, transparent 1.3px),
    var(--navy-deep);
  background-size:24px 24px,auto;
  color:#b9cdd6;text-align:center;padding:30px 18px;font-size:.85rem;line-height:2;
}
footer img{height:60px;margin-bottom:10px;opacity:.95}
footer img.school{height:78px}
footer .logos{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
footer .fschools{color:#fff;font-weight:700;margin-top:4px}
footer .fsources{max-width:640px;margin:16px auto 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}
footer .fs-t{color:#fff;font-weight:700;margin-bottom:6px}
footer .fs-list{display:flex;justify-content:center;gap:10px 28px;flex-wrap:wrap}
footer .fs-i{display:flex;flex-direction:column;line-height:1.7}
footer .fs-i b{color:#e3edf1;font-weight:500}
footer .fs-i span{font-size:.8rem;opacity:.85}

@media (max-width:560px){
  .lesson{padding:10px 16px}
  header.moe{position:relative}
header.moe .wrap{position:relative;z-index:2}
header.moe::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='300' viewBox='0 0 460 300' fill='none' stroke='white' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M-20 280 C 130 210 200 300 480 180'/%3E%3Cpath d='M-20 245 C 150 175 220 275 480 135'/%3E%3Cpath d='M-20 210 C 170 140 240 250 480 90'/%3E%3Cpath d='M-20 175 C 190 110 260 225 480 45'/%3E%3C/svg%3E") no-repeat left bottom,
             url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='300' viewBox='0 0 460 300' fill='none' stroke='white' stroke-opacity='.07' stroke-width='1.6'%3E%3Cpath d='M-20 280 C 130 210 200 300 480 180'/%3E%3Cpath d='M-20 245 C 150 175 220 275 480 135'/%3E%3Cpath d='M-20 210 C 170 140 240 250 480 90'/%3E%3Cpath d='M-20 175 C 190 110 260 225 480 45'/%3E%3C/svg%3E") no-repeat right -60px top -40px;
}
.hdots{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.hdots span{position:absolute;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--sky), var(--green));
  animation:dotfloat ease-in-out infinite}
@keyframes dotfloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-30px) scale(1.18)}
}
@media (prefers-reduced-motion:reduce){.hdots{display:none}}

.moe-top{justify-content:center}
  .moe-school .s1{font-size:1.05rem}
  .moe-brand img{height:82px}
  .qbody{padding:16px}
}


/* ============ الوضع الليلي ============ */
html[data-theme="dark"]{
  --bg:#0c2531; --card:#14384a; --ink:#e9f2f5; --muted:#9fb8c2; --line:#23506a;
  --shadow:0 2px 14px rgba(0,0,0,.35);
}
html[data-theme="dark"] .moe-title{background:linear-gradient(to bottom,#173d50,#123749);color:#dceef5}
html[data-theme="dark"] .moe-title .num{color:#5d7d8d}
html[data-theme="dark"] details.bab>summary{background:linear-gradient(to left,#173d50,var(--card));color:#dceef5}
html[data-theme="dark"] details.topic>summary{color:var(--ink)}
html[data-theme="dark"] details.topic>summary:hover,
html[data-theme="dark"] .lesson:hover{background:#0f2e3d}
html[data-theme="dark"] .chip,html[data-theme="dark"] .vlink{background:#0f2e3d;border-color:#2a5a75;color:#7fd4e8}
html[data-theme="dark"] .chip:hover,html[data-theme="dark"] .vlink:hover{background:#123c4f;border-color:var(--teal)}
html[data-theme="dark"] .chip.quiz{background:linear-gradient(135deg,var(--green),#0a9c74);color:#fff}
html[data-theme="dark"] .vlink.gold{background:var(--sand);color:#123}
html[data-theme="dark"] .lesson .num{background:#0f3a2f;color:#5fd3a7}
html[data-theme="dark"] .track h2,html[data-theme="dark"] .subj-card h3,
html[data-theme="dark"] .section-head h2,html[data-theme="dark"] .res-title{color:#dceef5}
html[data-theme="dark"] .track .cnt{background:#0f3a2f;color:#5fd3a7}
html[data-theme="dark"] .track .ic,html[data-theme="dark"] .subj-card .ic{background:#0f2e3d;box-shadow:inset 0 0 0 1.5px rgba(13,169,166,.3)}
html[data-theme="dark"] .stat b,html[data-theme="dark"] .ringwrap b{color:var(--ink)}
html[data-theme="dark"] .rbg{stroke:#23506a}
html[data-theme="dark"] .pill-tabs button{background:var(--card);color:#cfe6ee;border-color:#4a7b93}
html[data-theme="dark"] .pill-tabs button.on{background:var(--teal);border-color:var(--teal);color:#fff}
html[data-theme="dark"] .qbox{background:var(--card);color:var(--ink)}
html[data-theme="dark"] .choice{background:#0f2e3d;border-color:#2a5a75;color:var(--ink)}
html[data-theme="dark"] .choice:hover:not([disabled]){background:#123c4f}
html[data-theme="dark"] .choice .letter{background:#1b4a61;color:#bfe3ef}
html[data-theme="dark"] .choice.correct{background:#0e3d2c}
html[data-theme="dark"] .choice.wrong{background:#46201c}
html[data-theme="dark"] .qpassage{background:#0f2e3d}
html[data-theme="dark"] .fb.ok{background:#0e3d2c;color:#5fd3a7}
html[data-theme="dark"] .fb.bad{background:#46201c;color:#ff9d8e}
html[data-theme="dark"] .qbar{background:#0f2e3d}
html[data-theme="dark"] .result h3{color:#dceef5}
html[data-theme="dark"] .btn.ghost{background:transparent;color:#cfe6ee;border-color:#4a7b93}
html[data-theme="dark"] .info-note{background:#0f2e3d;color:#cfe6ee}
html[data-theme="dark"] .card-note .hl{color:#7fd4e8}
html[data-theme="dark"] .score-tag{color:#5fd3a7}
html[data-theme="dark"] .topic-prog{color:#7d99a5}

/* ============ نظام التحفيز ============ */
.pts-pill{display:inline-flex;align-items:center;padding:0 14px;border-radius:99px;
  background:rgba(193,180,137,.18);border:1px solid rgba(193,180,137,.4);
  color:#ecdfb9;font-size:.82rem;font-weight:700;white-space:nowrap}

.level-card{display:flex;align-items:center;gap:16px;background:var(--card);
  border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 22px;
  border-inline-start:4px solid var(--sand)}
.lv-ic{font-size:2.2rem;flex:0 0 auto}
.lv-body{flex:1;min-width:0}
.lv-name{font-weight:700;color:var(--navy);font-size:1.05rem}
.lv-pts{color:var(--sand);font-size:.85rem;margin-inline-start:8px}
.lv-bar{height:10px;background:var(--line);border-radius:99px;margin:8px 0 6px;overflow:hidden}
.lv-bar i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(to left,var(--green),var(--teal));
  transition:width 1.2s cubic-bezier(.3,.7,.3,1)}
.lv-next{font-size:.8rem;color:var(--muted)}
html[data-theme="dark"] .lv-name{color:var(--ink)}

.badge-count{text-align:center;color:var(--muted);font-size:.85rem;margin-bottom:12px}
.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.badge{font-family:inherit;background:var(--card);border:1.5px solid var(--line);border-radius:12px;
  padding:14px 10px;text-align:center;cursor:default;transition:.2s;color:var(--muted)}
.badge .bic{display:block;font-size:1.7rem;margin-bottom:6px;filter:grayscale(1);opacity:.45}
.badge .bnm{display:block;font-size:.76rem;font-weight:700;line-height:1.5}
.badge .bdt{display:block;font-size:.68rem;color:var(--sand);margin-top:4px}
.badge.got{cursor:pointer;color:var(--navy);border-color:rgba(193,180,137,.6);
  background:linear-gradient(to bottom,var(--card),rgba(193,180,137,.07))}
.badge.got .bic{filter:none;opacity:1}
.badge.got:hover{transform:translateY(-3px);box-shadow:0 6px 16px rgba(21,68,90,.15)}
html[data-theme="dark"] .badge.got{color:var(--ink)}

.pts-gain{display:inline-block;background:linear-gradient(135deg,#fdf6e3,#f6ecd0);color:#8a6d1d;
  border-radius:99px;padding:8px 24px;font-weight:700;font-size:1.05rem;
  animation:ptspop .5s cubic-bezier(.2,.8,.3,1.4)}
.pts-gain .pts-total{font-size:.8rem;opacity:.75;margin-inline-start:6px}
@keyframes ptspop{from{transform:scale(.5);opacity:0}}
.motiv{color:var(--muted);margin-top:10px;font-size:.95rem}
html[data-theme="dark"] .pts-gain{background:linear-gradient(135deg,#3d3520,#2e2916);color:#ecdfb9}

/* بطاقة الإنجاز */
.ach-wrap{max-width:560px;width:100%}
.ach-card{position:relative;border-radius:20px;overflow:hidden;text-align:center;
  background:
    radial-gradient(circle at 15% 20%, rgba(7,168,105,.22) 0, transparent 42%),
    radial-gradient(circle at 85% 85%, rgba(13,169,166,.2) 0, transparent 45%),
    linear-gradient(135deg,#123a4e,#0e3242);
  border:3px solid rgba(193,180,137,.75);
  padding:34px 26px 26px;color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  animation:cardin .6s cubic-bezier(.2,.8,.3,1.15)}
@keyframes cardin{from{transform:scale(.7) rotate(2deg);opacity:0}}
.ach-dots{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(rgba(255,255,255,.09) 1.5px, transparent 1.6px);
  background-size:30px 30px}
.ach-card img{height:74px;margin-bottom:14px}
.ach-label{color:var(--sand);font-weight:700;letter-spacing:6px;font-size:.95rem}
.ach-icon{font-size:3.6rem;margin:14px 0 6px}
.ach-name{font-size:1.55rem;font-weight:700;margin-bottom:8px}
.ach-date{color:#9fd8cf;font-size:.9rem;margin-bottom:20px}
.ach-school{font-size:.8rem;opacity:.85;font-weight:700}
.ach-site{color:var(--sky);font-size:.78rem;margin-top:6px}
.ach-btns{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}


/* ============ نافذة المذكرة الداخلية ============ */
.qbox.mbox{max-width:820px;display:flex;flex-direction:column;max-height:92vh}
.mscroll{overflow:auto;background:var(--bg)}
.mcard2{background:var(--card);margin:14px;border-radius:14px;overflow:hidden}
.mhead2{background:
  radial-gradient(circle at 12% 20%, rgba(7,168,105,.16) 0, transparent 40%),
  radial-gradient(circle at 88% 80%, rgba(13,169,166,.14) 0, transparent 42%),
  var(--navy);
  color:#fff;padding:20px 24px;text-align:center}
.mhead2 img{height:56px;margin-bottom:6px}
.mhead2 .mt{font-size:1.3rem;font-weight:700}
.mhead2 .ms{color:var(--sky);font-size:.78rem;margin-top:3px}
.mbody2{padding:20px 24px}
.msec{margin-bottom:20px}
.msec h3{color:var(--navy);font-size:1.02rem;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.msec h3::before{content:"";width:7px;height:20px;border-radius:4px;background:var(--green)}
.msec.laws h3::before{background:var(--blue)}
.msec.ex h3::before{background:var(--sand)}
.msec.tips h3::before{background:var(--teal)}
.msec ul{margin-inline-start:20px;line-height:2}
.law{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;border:1px dashed #d7e2e7;
  border-radius:10px;padding:8px 14px;margin-bottom:8px;background:#fafcfd}
.law b{color:var(--navy);flex:0 0 auto}
.law span{color:#0d5c66;font-weight:700}
.exq{background:#f6f9fa;border-inline-start:3px solid var(--sand);border-radius:8px;padding:10px 14px;margin-bottom:6px;font-weight:700}
.exs{padding:2px 14px 12px;line-height:1.9}
.tips li{color:#7a5f16}
.mfoot2{border-top:1px solid var(--line);padding:12px 24px;text-align:center;font-size:.75rem;color:var(--muted);line-height:1.8}
.mfoot2 b{color:var(--navy)}
html[data-theme="dark"] .msec h3{color:#dceef5}
html[data-theme="dark"] .law{background:#0f2e3d;border-color:#2a5a75}
html[data-theme="dark"] .law b{color:#dceef5}
html[data-theme="dark"] .law span{color:#7fd4e8}
html[data-theme="dark"] .exq{background:#0f2e3d}
html[data-theme="dark"] .tips li{color:#e2cf96}
html[data-theme="dark"] .mfoot2 b{color:#dceef5}

/* ============ المحاكاة والمراجعة ولوحة التركيز ============ */
.simbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:linear-gradient(to left,#eef4f6,var(--card));border-radius:var(--radius);
  box-shadow:var(--shadow);padding:14px 20px;margin-bottom:16px;
  border-inline-start:4px solid var(--navy)}
.simbar .sb-t{font-weight:700;color:var(--navy);white-space:nowrap}
.simbar .sb-d{color:var(--muted);font-size:.85rem;flex:1 1 260px}
html[data-theme="dark"] .simbar{background:linear-gradient(to left,#173d50,var(--card))}
html[data-theme="dark"] .simbar .sb-t{color:#dceef5}

.palette{display:flex;gap:6px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid var(--line);background:var(--card)}
.pdot{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);
  color:var(--muted);font-family:inherit;font-size:.75rem;font-weight:700;cursor:pointer;transition:.15s}
.pdot.ans{background:#e6f6ef;border-color:var(--green);color:var(--green-dark)}
.pdot.cur{border-color:var(--navy);box-shadow:0 0 0 2px rgba(21,68,90,.25);color:var(--navy)}
html[data-theme="dark"] .pdot.ans{background:#0f3a2f;color:#5fd3a7}
html[data-theme="dark"] .pdot.cur{color:#dceef5;border-color:#69cee3}

.choice.sel{border-color:var(--teal);background:#effafa}
.choice.sel .letter{background:var(--teal);color:#fff}
html[data-theme="dark"] .choice.sel{background:#12424e}

.extimer{margin-inline-start:12px;color:var(--sand);font-weight:700}
.extimer.urgent{color:#ff8f7d;animation:blink 1s step-end infinite}
@keyframes blink{50%{opacity:.4}}

.review{text-align:right;margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
.rv-h{font-weight:700;color:var(--navy);margin-bottom:12px}
html[data-theme="dark"] .rv-h{color:#dceef5}
.rv-item{background:#f8fafb;border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:10px}
html[data-theme="dark"] .rv-item{background:#0f2e3d}
.rv-q{font-weight:700;margin-bottom:6px;white-space:pre-line}
.rv-a{font-size:.88rem;padding:2px 0}
.rv-a.bad{color:var(--bad)}
.rv-a.ok{color:var(--green-dark)}
html[data-theme="dark"] .rv-a.ok{color:#5fd3a7}

.weak-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);
  padding:18px 22px;margin-top:14px;border-inline-start:4px solid var(--bad)}
.wk-h{font-weight:700;color:var(--navy);margin-bottom:12px}
html[data-theme="dark"] .wk-h{color:#dceef5}
.wk-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.wk-item{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);
  border:1px solid var(--line);border-radius:10px;padding:10px 14px;transition:.15s}
.wk-item:hover{border-color:var(--teal);transform:translateY(-2px)}
.wk-item b{flex:1;font-size:.85rem}
.wk-tag{font-size:.68rem;color:#fff;background:var(--cyan);border-radius:99px;padding:1px 8px;white-space:nowrap}
.wk-pct{font-weight:700;font-size:.9rem}
.wk-note{color:var(--muted);font-size:.8rem;margin-top:10px}

.hl{animation:hlflash 2.2s ease}
@keyframes hlflash{0%,60%{box-shadow:inset 0 0 0 3px var(--sand);background:rgba(193,180,137,.15)}100%{box-shadow:none}}

/* المراجعة اليومية والهدف اليومي */
.rv-count{font-size:.72rem;font-weight:400;color:var(--muted);margin-inline-start:8px}
.lv-daily{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:10px;
  border-top:1px dashed var(--line);padding-top:10px;font-size:.82rem}
.ld-streak{font-weight:700;color:#c96a1e}
html[data-theme="dark"] .ld-streak{color:#ffb570}
.ld-goal{display:flex;align-items:center;gap:5px;color:var(--muted)}
.gdot{width:12px;height:12px;border-radius:50%;background:var(--line);display:inline-block}
.gdot.on{background:var(--green)}

/* ============ الحسابات ولوحة التحكم ============ */
.auth-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
.fld{margin-bottom:14px}
.fld label{display:block;font-weight:700;color:var(--navy);font-size:.9rem;margin-bottom:6px}
html[data-theme="dark"] .fld label{color:#dceef5}
.fld input,.fld select,.auth-card input[type=search],.auth-card input[type=number],
.auth-card input[type=text],.auth-card select{
  width:100%;font-family:inherit;font-size:1rem;color:var(--ink);
  background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:10px 14px;transition:.15s}
.auth-card select,.auth-card input[type=search],.auth-card input[type=number]{width:auto}
.fld input:focus,.auth-card input:focus,.auth-card select:focus{outline:none;border-color:var(--teal);background:var(--card)}
.seg-radio{display:flex;gap:8px;flex-wrap:wrap}
.seg-radio label{flex:1 1 100px;cursor:pointer}
.seg-radio input{position:absolute;opacity:0;pointer-events:none}
.seg-radio span{display:block;text-align:center;border:1.5px solid var(--line);border-radius:10px;
  padding:9px 6px;font-weight:700;font-size:.88rem;color:var(--muted);transition:.15s}
.seg-radio input:checked+span{border-color:var(--green);background:#e6f6ef;color:var(--green-dark)}
html[data-theme="dark"] .seg-radio input:checked+span{background:#0f3a2f;color:#5fd3a7}
.ferr{background:#fdf1ef;color:var(--bad);border-radius:10px;padding:9px 14px;font-size:.88rem;font-weight:700;margin-bottom:12px}
.fok{background:#ecf9f2;color:var(--green-dark);border-radius:10px;padding:9px 14px;font-size:.88rem;font-weight:700;margin-bottom:12px}
html[data-theme="dark"] .ferr{background:#46201c;color:#ff9d8e}
html[data-theme="dark"] .fok{background:#0e3d2c;color:#5fd3a7}

/* صف مفتاح تشغيل */
.flag-row{display:flex;align-items:center;justify-content:space-between;gap:14px;
  border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin-bottom:10px}
.flag-row b{color:var(--navy);font-size:.95rem}
html[data-theme="dark"] .flag-row b{color:#dceef5}
.flag-row small{display:block;color:var(--muted);font-size:.78rem}
.switch{appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:99px;
  background:var(--line);position:relative;cursor:pointer;transition:.2s;flex:0 0 auto}
.switch::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;
  border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.switch:checked{background:var(--green)}
.switch:checked::after{inset-inline-start:23px}

/* جداول اللوحة */
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:.88rem}
.tbl th{background:#eef4f6;color:var(--navy);padding:9px 12px;text-align:right;white-space:nowrap}
html[data-theme="dark"] .tbl th{background:#173d50;color:#dceef5}
.tbl td{padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.perm-row{border:1px dashed var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px}
.perm-row label{display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer;font-size:.9rem}
.perm-row input[type=text]{margin-top:6px;font-size:.8rem}

/* بوابة الزائر/الصيانة */
.gate-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
  background:rgba(14,50,66,.85);backdrop-filter:blur(6px);padding:20px}
.gate-card{background:var(--card);border-radius:18px;max-width:440px;width:100%;text-align:center;
  padding:34px 28px;box-shadow:0 24px 70px rgba(0,0,0,.4)}
.gate-card h2{color:var(--navy);margin-bottom:8px}
html[data-theme="dark"] .gate-card h2{color:#dceef5}
.gate-card p{color:var(--muted);margin-bottom:18px;font-size:.95rem}

/* الإعلانات وشارة غير المقروء */
.ann-bar{background:linear-gradient(to left,#fdf6e3,#faf3dd);color:#6b5510;border:1px solid #e8d9a8;
  border-radius:12px;padding:12px 40px 12px 16px;margin-bottom:14px;font-size:.92rem;position:relative;line-height:1.9}
html[data-theme="dark"] .ann-bar{background:linear-gradient(to left,#3d3520,#2e2916);color:#ecdfb9;border-color:#5a4d26}
.ann-bar .ann-x{position:absolute;top:8px;inset-inline-end:10px;background:none;border:none;cursor:pointer;
  color:inherit;font-size:1rem;opacity:.6}
.ann-bar .ann-x:hover{opacity:1}
.unread-dot{width:9px;height:9px;border-radius:50%;background:#e74c3c;display:inline-block;margin-inline-start:4px;
  box-shadow:0 0 0 2px rgba(231,76,60,.25)}

/* أكواد الانضمام وQR */
.code-pill{display:inline-flex;align-items:center;gap:8px;font-family:ui-monospace,monospace;direction:ltr;
  background:#eef4f6;border:1.5px dashed var(--teal);border-radius:10px;padding:6px 14px;
  font-size:1.05rem;font-weight:700;letter-spacing:2px;color:var(--navy)}
html[data-theme="dark"] .code-pill{background:#0f2e3d;color:#7fd4e8}
.qr-box{background:#fff;border-radius:12px;padding:12px;display:inline-block;margin-top:10px}
#scan-video{width:100%;max-width:340px;border-radius:12px;background:#000}
.cls-card{border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin-bottom:12px}
.cls-card h4{color:var(--navy);margin-bottom:4px}
html[data-theme="dark"] .cls-card h4{color:#dceef5}
.cls-meta{color:var(--muted);font-size:.82rem;margin-bottom:8px}

/* الدعم */
.tk-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;
  padding:10px 14px;margin-bottom:8px;cursor:pointer;transition:.15s}
.tk-row:hover{border-color:var(--teal)}
.tk-row b{flex:1}
.tk-badge{font-size:.7rem;border-radius:99px;padding:2px 10px;font-weight:700}
.tk-badge.open{background:#e6f6ef;color:var(--green-dark)}
.tk-badge.closed{background:var(--line);color:var(--muted)}
html[data-theme="dark"] .tk-badge.open{background:#0f3a2f;color:#5fd3a7}
.msg{border-radius:12px;padding:10px 14px;margin-bottom:8px;max-width:85%;font-size:.92rem;line-height:1.8}
.msg.mine{background:#e8f0f9;margin-inline-start:auto}
.msg.staff{background:#e6f6ef}
html[data-theme="dark"] .msg.mine{background:#173d50}
html[data-theme="dark"] .msg.staff{background:#0e3d2c}
.msg small{display:block;color:var(--muted);font-size:.7rem;margin-top:4px}
.msg img{max-width:100%;border-radius:8px;margin-top:6px}

/* تقرير الطباعة */
@media print{
  header.moe, footer, nav.tabs, .no-print{display:none!important}
  body{background:#fff}
  .auth-card{box-shadow:none;border:1px solid #ddd}
}

/* شريط وضع المعاينة (الدخول بهوية مستخدم) */
#imp-banner{position:sticky;top:0;z-index:250;background:linear-gradient(to left,#4a1d96,#351375);
  color:#fff;padding:9px 16px;text-align:center;font-size:.88rem;line-height:1.9;
  box-shadow:0 2px 10px rgba(0,0,0,.3)}
#imp-banner button{background:#fff;color:#351375;border:none;border-radius:99px;padding:4px 16px;
  font-family:inherit;font-weight:700;font-size:.82rem;cursor:pointer;margin-inline-start:8px}
#imp-banner button:hover{background:#ecdfff}
@media print{#imp-banner{display:none!important}}

/* نافذة اختيار المستوى */
html[data-theme="dark"] .lv-pick-t{color:#dceef5}

/* مفاتيح المحتوى من لوحة الإدارة: إخفاء الشروحات المرئية / النصية */
html.hide-videos .vid-btn, html.hide-videos .vid-block{display:none!important}
html.hide-explain .q-explain{display:none!important}

/* ===== نظرة على المراحل (الرئيسية) — رسوم SVG ===== */
:root{--viz-1:#3d7eb9;--viz-2:#eda100;--viz-3:#07a869;--viz-bg:#e4e9ec;--viz-grid:#e4e9ec;--viz-ink:#1c2b33;--viz-muted:#5d707a}
html[data-theme="dark"]{--viz-1:#3987e5;--viz-2:#c98500;--viz-3:#1baf7a;--viz-bg:#23506a;--viz-grid:#23506a;--viz-ink:#e9f2f5;--viz-muted:#9fb8c2}
.stage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.stage-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;border-top:3px solid var(--teal);display:flex;flex-direction:column;gap:12px}
.stage-card:nth-child(1){border-color:var(--green)}.stage-card:nth-child(2){border-color:var(--blue)}.stage-card:nth-child(3){border-color:var(--sand)}
.sc-head{display:flex;justify-content:space-between;align-items:baseline}
.sc-head h3{color:var(--navy);font-size:1.05rem;margin:0}
html[data-theme="dark"] .sc-head h3{color:#dceef5}
.sc-n{font-size:.82rem;color:var(--muted)}
.sc-body{display:flex;align-items:center;gap:14px}
.sc-ring{text-align:center;flex:0 0 96px}
.ring{width:84px;height:84px;display:block;margin:0 auto}
.ring-bg{fill:none;stroke:var(--viz-bg);stroke-width:8}
.ring-fg{fill:none;stroke:var(--viz-1);stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .6s}
.ring-v{font-size:17px;font-weight:700;fill:var(--viz-ink)}
.sc-cap{font-size:.78rem;color:var(--muted)}
.sc-nums{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}
.sc-nums b{display:block;font-size:1.25rem;color:var(--navy)}
html[data-theme="dark"] .sc-nums b{color:#dceef5}
.sc-nums span{font-size:.72rem;color:var(--muted);line-height:1.3;display:block}
.cbars{width:100%;height:auto;display:block;margin-top:4px}
.cb-bg{fill:var(--viz-bg)}.cb-fg{fill:var(--viz-1)}
.cb-l{font-size:9.5px;fill:var(--viz-muted)}.cb-v{font-size:9.5px;fill:var(--viz-ink);font-weight:700}
.sc-more{align-self:flex-start;margin-top:auto}
.stage-cmp{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;margin-top:16px}
.cmp{width:100%;max-width:640px;height:auto;display:block;margin:0 auto}
.cmp .grid{stroke:var(--viz-grid);stroke-width:1}.cmp .base{stroke:var(--viz-muted);stroke-width:1;opacity:.6}
.cmp .ax{font-size:9px;fill:var(--viz-muted)}.cmp .cat{font-size:12px;fill:var(--viz-ink);font-weight:700}.cmp .val{font-size:10px;fill:var(--viz-ink);font-weight:700}
.cmp .s1,.legend .s1{fill:var(--viz-1);background:var(--viz-1)}.cmp .s2,.legend .s2{fill:var(--viz-2);background:var(--viz-2)}.cmp .s3,.legend .s3{fill:var(--viz-3);background:var(--viz-3)}
.cmp rect:hover{opacity:.8}
.legend{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:8px;font-size:.8rem;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-inline-end:5px}
.cbars,.cmp{direction:ltr}

/* نشاط الطالب (الرئيسية) */
.actc{width:100%;max-width:520px;height:auto;display:block;direction:ltr}
.actc .ab{fill:var(--viz-1)}.actc .ab-bg{fill:var(--viz-bg)}
.actc .ab-v{font-size:10px;fill:var(--viz-ink);font-weight:700}.actc .ab-d{font-size:9px;fill:var(--viz-muted)}
#student-root .weak-card{margin-top:14px}

/* طباعة قائمة غير المسجّلين فقط */
@media print{
  body.print-pending header,body.print-pending footer,body.print-pending #follow-root>*:not(#pending-panel),body.print-pending .no-print{display:none!important}
  body.print-pending #pending-panel .auth-card{box-shadow:none;border:0}
}
.pending-dot{background:#eda100}

/* رسوم صفحة المتابعة */
.actl{width:100%;max-width:640px;height:auto;display:block;direction:ltr}
.actl .grid{stroke:var(--viz-grid);stroke-width:1}.actl .ax{font-size:9px;fill:var(--viz-muted)}.actl .cat{font-size:9.5px;fill:var(--viz-muted)}
.actl .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.actl .ln.s1{stroke:var(--viz-1)}.actl .ln.s2{stroke:var(--viz-2)}.actl .ln.s3{stroke:var(--viz-3)}
.actl .dot{stroke:var(--card);stroke-width:2}.actl .dot.s1{fill:var(--viz-1)}.actl .dot.s2{fill:var(--viz-2)}.actl .dot.s3{fill:var(--viz-3)}
.actl .lbl{font-size:9px;font-weight:700;fill:var(--viz-ink)}

/* تقرير الطالب في المتابعة */
.rp-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px;padding-top:10px;border-top:1px dashed var(--line)}
.rp-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}
.rp-tile{background:var(--bg);border-radius:12px;padding:10px 12px;position:relative;overflow:hidden}
.rp-tile b{display:block;font-size:1.3rem;color:var(--navy)}.rp-tile b small{font-size:.8rem;color:var(--muted);font-weight:400}
.rp-tile span{font-size:.8rem;color:var(--muted)}.rp-tile i{position:absolute;bottom:0;right:0;height:3px;background:var(--viz-1)}
html[data-theme="dark"] .rp-tile b{color:#dceef5}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:12px}
.rp-box{background:var(--bg);border-radius:12px;padding:12px}.rp-box>b{display:block;color:var(--navy);margin-bottom:6px;font-size:.92rem}
html[data-theme="dark"] .rp-box>b{color:#dceef5}
.rp-box ul{list-style:none;margin:0;padding:0}.rp-box li{display:flex;justify-content:space-between;gap:8px;font-size:.86rem;padding:4px 0;border-bottom:1px dashed var(--line)}
.rp-box li em{font-style:normal;font-weight:700}

/* ===== اختيار الفصول (الإعدادات والتسجيل) ===== */
.cls-pick{display:flex;flex-direction:column;gap:12px}
.cls-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}
.cls-count{font-size:.85rem;font-weight:700;color:var(--navy)}
.cls-count b{color:var(--green-dark)}
.cls-bar .cls-acts{display:flex;gap:6px}
.cls-mini{font-size:.75rem;font-weight:700;padding:3px 12px;border-radius:99px;cursor:pointer;
  border:1px solid #cfe0e6;background:#fff;color:var(--navy);font-family:inherit;transition:.15s}
.cls-mini:hover{border-color:var(--green);color:var(--green-dark);background:#f2fbf7}
.cls-grp{border:1px solid var(--line);border-radius:14px;padding:10px 12px 12px;background:#fbfdfe}
.cls-grp-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}
.cls-grp-head h4{font-size:.92rem;font-weight:700;color:var(--navy);margin:0;flex:1}
.cls-grp-head .cls-sel{font-size:.75rem;color:var(--muted);font-weight:700}
.cls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.cls-box{position:relative;display:block;cursor:pointer}
.cls-box input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cls-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  border:1.5px solid var(--line);border-radius:12px;padding:9px 6px;background:#fff;transition:.15s;text-align:center}
.cls-face .cls-no{font-size:.9rem;font-weight:700;color:var(--navy)}
.cls-face .cls-n{font-size:.72rem;color:var(--muted)}
.cls-box:hover .cls-face{border-color:var(--green);background:#f2fbf7}
.cls-box input:focus-visible+.cls-face{outline:2px solid var(--green);outline-offset:2px}
.cls-box input:checked+.cls-face{border-color:var(--green);background:#e6f6ef;box-shadow:0 2px 8px rgba(7,168,105,.18)}
.cls-box input:checked+.cls-face .cls-no{color:var(--green-dark)}
.cls-box input:checked+.cls-face .cls-no::before{content:'✓ ';font-size:.82rem}
.cls-empty{color:var(--muted);font-size:.88rem}
@media(max-width:420px){.cls-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}}

/* ---- المحاكاة الكاملة ---- */
.qbox.fsbox{max-width:820px}
.simbar.full{background:linear-gradient(to left,#fff4e6,var(--card));border-inline-start:4px solid #d98324}
html[data-theme="dark"] .simbar.full{background:linear-gradient(to left,#4a2f14,var(--card))}
.simbar.full .sb-t{color:#b45f06}
html[data-theme="dark"] .simbar.full .sb-t{color:#ffd59e}
.fs-intro p{margin-bottom:10px}
.fs-intro ul{padding-inline-start:20px;margin-bottom:18px;color:var(--muted);line-height:1.9}
.fs-intro .btns{display:flex;gap:10px;flex-wrap:wrap}
.fs-cat{font-size:.72rem;color:var(--muted);margin-bottom:6px}
.fs-break{font-size:3rem;margin-bottom:6px}
.fs-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:right;margin-top:8px}
@media(max-width:560px){.fs-grid{grid-template-columns:1fr}}
.fs-row{display:flex;align-items:center;gap:8px;margin:5px 0;font-size:.88rem}
.fs-row .fs-l{flex:0 0 110px;color:var(--ink)}
.fs-row .fs-b{flex:1;height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.fs-row .fs-b i{display:block;height:100%;border-radius:99px}
.fs-row .fs-p{flex:0 0 76px;font-weight:700;color:var(--navy);text-align:left}
html[data-theme="dark"] .fs-row .fs-p{color:#dceef5}

/* ---- خريطة الضعف (الرئيسية) وتنبيهات المتابعة ---- */
.wk-row{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:.88rem;flex-wrap:wrap}
.wk-row .wk-l{flex:1 1 150px;color:var(--ink);display:flex;flex-direction:column;line-height:1.3}
.wk-row .wk-l small{color:var(--muted);font-size:.7rem}
.wk-row .wk-b{flex:2 1 120px;height:8px;background:var(--line);border-radius:99px;overflow:hidden}
.wk-row .wk-b i{display:block;height:100%;border-radius:99px}
.wk-row .wk-p{flex:0 0 70px;font-weight:700;text-align:left}
.al-group{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-top:8px;background:var(--card)}
.al-group summary{cursor:pointer;display:flex;align-items:center;gap:8px}
.al-group .al-n{background:var(--bad,#b3261e);color:#fff;border-radius:99px;padding:0 8px;font-size:.75rem;font-weight:700}
.al-group .tbl td{padding:6px 8px;font-size:.85rem}

/* ---- تقرير الفصل المطبوع ---- */
.pr-card{margin-top:18px;border-top:3px solid var(--navy)}
.pr-head h2{color:var(--navy);margin:0 0 2px;font-size:1.25rem}
.pr-head small{color:var(--muted)}
.pr-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:14px 0}
.pr-tile{border:1px solid var(--line);border-radius:10px;padding:10px;text-align:center}
.pr-tile b{display:block;font-size:1.3rem;color:var(--navy)}
.pr-tile span{font-size:.78rem;color:var(--muted)}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pr-grid h3,.pr-card h3{color:var(--navy);font-size:1rem;margin:0 0 6px}
.pr-tbl td,.pr-tbl th{padding:5px 8px;font-size:.85rem}
.pr-foot{color:var(--muted);font-size:.78rem;margin-top:10px}
@media(max-width:640px){.pr-grid{grid-template-columns:1fr}}
@media print{
  body.print-class header,body.print-class footer,body.print-class #follow-root>*:not(#print-panel),body.print-class .no-print{display:none!important}
  body.print-class #print-panel .auth-card{box-shadow:none;border:0;padding:0}
  body.print-class .pr-grid{grid-template-columns:1fr 1fr}
  body.print-class .fs-b i{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
