/* ============================================================
   مقياس التوافق الرُّكسي — التنسيقات المشتركة
   موضوع: كوكبة نجوم — ثلاث سمات: لطيف / ليلي / فاتح
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Baloo+Bhaijaan+2:wght@500;600;700;800&family=Rubik:wght@400;500;600;700&display=swap');

/* ---------- السمات ---------- */
:root,
[data-theme="cute"] {
  --bg-1:#fdf4ff; --bg-2:#ffeef7; --bg-3:#f3ecff;
  --surface:#ffffff; --surface-2:#fbf5ff; --surface-3:#f7edfb;
  --ink:#4a2d52; --ink-soft:#7a5b86; --ink-faint:#a98cb4;
  --line:#f0e0f5;
  --primary:#e86aa8; --primary-ink:#ffffff; --primary-soft:#ffe3f1;
  --accent:#9b7bff; --accent-soft:#ece5ff;
  --star:#ffce5c; --star-glow:#ffe6a0;
  --good:#46c79a; --good-soft:#dcf6ec;
  --warn:#f4a64b; --warn-soft:#fdeed8;
  --bad:#ef6f8e; --bad-soft:#fde0e7;
  --track:#f1e4f8;
  --shadow: 0 14px 34px -16px rgba(150,80,160,.35);
  --shadow-lg: 0 30px 60px -24px rgba(150,80,160,.42);
  --radius:22px; --radius-sm:14px;
  --twinkle-op:.0;
  --sky-grad: radial-gradient(1200px 700px at 80% -10%, #ffe6f4 0%, transparent 60%),
              radial-gradient(900px 600px at 5% 5%, #ece2ff 0%, transparent 55%);
}

[data-theme="night"] {
  --bg-1:#0b0920; --bg-2:#120e2e; --bg-3:#171139;
  --surface:#1b1542; --surface-2:#211a4e; --surface-3:#2a2160;
  --ink:#ece8ff; --ink-soft:#b9b2e6; --ink-faint:#857db8;
  --line:#2e2760;
  --primary:#ff7fc4; --primary-ink:#23103a; --primary-soft:#3a2356;
  --accent:#9f8bff; --accent-soft:#2c2563;
  --star:#ffe08a; --star-glow:#ffd24d;
  --good:#69e0ad; --good-soft:#173d33;
  --warn:#f6b65f; --warn-soft:#3d2f17;
  --bad:#ff7d9c; --bad-soft:#3d1f29;
  --track:#272058;
  --shadow: 0 18px 40px -18px rgba(0,0,0,.65);
  --shadow-lg: 0 34px 70px -22px rgba(0,0,0,.7);
  --radius:22px; --radius-sm:14px;
  --twinkle-op:1;
  --sky-grad: radial-gradient(1100px 700px at 82% -8%, #2a1c52 0%, transparent 58%),
              radial-gradient(900px 600px at 0% 0%, #1c2a5c 0%, transparent 55%);
}

[data-theme="light"] {
  --bg-1:#f4f8fd; --bg-2:#eef4fb; --bg-3:#f7fafe;
  --surface:#ffffff; --surface-2:#f6f9fe; --surface-3:#eef3fb;
  --ink:#1f2b45; --ink-soft:#4f5d76; --ink-faint:#8a97ad;
  --line:#e6edf7;
  --primary:#3b82f6; --primary-ink:#ffffff; --primary-soft:#e2edff;
  --accent:#8b5cf6; --accent-soft:#ece4ff;
  --star:#f5b942; --star-glow:#ffd479;
  --good:#1fa97a; --good-soft:#d8f3e9;
  --warn:#e2912f; --warn-soft:#fbecd6;
  --bad:#e25c7c; --bad-soft:#fbe1e8;
  --track:#e7edf6;
  --shadow: 0 14px 30px -16px rgba(40,70,120,.22);
  --shadow-lg: 0 28px 56px -24px rgba(40,70,120,.26);
  --radius:20px; --radius-sm:13px;
  --twinkle-op:.0;
  --sky-grad: radial-gradient(1100px 700px at 85% -10%, #e6f0ff 0%, transparent 60%),
              radial-gradient(900px 600px at 0% 0%, #eaf3ff 0%, transparent 55%);
}

/* ---------- أساسيات ---------- */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; font-family:'Rubik',system-ui,sans-serif;
  color:var(--ink); direction:rtl; text-align:right;
  background:var(--bg-2); position:relative; min-height:100vh;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background .5s ease, color .4s ease;
}
body::before{
  content:""; position:fixed; inset:0; z-index:-2;
  background:var(--sky-grad), linear-gradient(180deg,var(--bg-1),var(--bg-2) 55%,var(--bg-3));
  transition:background .5s ease;
}
/* حقل نجوم للسمة الليلية */
#starfield{ position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:var(--twinkle-op); transition:opacity .5s ease; }

h1,h2,h3,.display{ font-family:'Baloo Bhaijaan 2',cursive; font-weight:700; letter-spacing:0; }
button{ font-family:inherit; cursor:pointer; }
a{ color:var(--primary); }

.wrap{ max-width:760px; margin:0 auto; padding:22px 18px 120px; }
.center{ text-align:center; }
.muted{ color:var(--ink-soft); }
.faint{ color:var(--ink-faint); }
.hide{ display:none !important; }

/* ---------- شريط علوي ---------- */
.topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:12px;
  padding:12px 18px; backdrop-filter:blur(12px);
  background:color-mix(in srgb, var(--surface) 72%, transparent);
  border-bottom:1px solid var(--line);
}
.brand{ display:flex; align-items:center; gap:10px; font-family:'Baloo Bhaijaan 2'; font-size:1.05rem; }
.brand .logo{
  width:34px;height:34px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--primary),var(--accent)); color:#fff; font-size:1.1rem;
  box-shadow:0 6px 16px -6px var(--primary);
}
.spacer{ flex:1; }

/* ---------- مبدّل السمات ---------- */
.theme-switch{ display:inline-flex; background:var(--surface-3); border-radius:999px; padding:4px; gap:2px; border:1px solid var(--line); }
.theme-switch button{
  border:0; background:transparent; color:var(--ink-soft);
  padding:6px 12px; border-radius:999px; font-size:.85rem; font-weight:600; transition:.2s;
  display:inline-flex; align-items:center; gap:5px;
}
.theme-switch button.active{ background:var(--surface); color:var(--ink); box-shadow:var(--shadow); }

/* ---------- بطاقات ---------- */
.card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); padding:22px;
}
.card.soft{ background:var(--surface-2); }

/* ---------- أزرار ---------- */
.btn{
  border:0; border-radius:999px; padding:13px 24px; font-weight:600; font-size:1rem;
  background:var(--surface-3); color:var(--ink); transition:transform .15s, box-shadow .2s, background .2s;
}
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn.primary{ background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 70%, var(--accent))); color:var(--primary-ink); box-shadow:0 12px 26px -10px var(--primary); }
.btn.ghost{ background:transparent; border:1.5px solid var(--line); }
.btn.big{ padding:16px 34px; font-size:1.08rem; }
.btn:disabled{ opacity:.45; cursor:not-allowed; transform:none; }
.btn:focus-visible, button:focus-visible, input:focus-visible{ outline:3px solid var(--accent); outline-offset:2px; }

/* ---------- شارات ---------- */
.pill{ display:inline-flex; align-items:center; gap:6px; font-size:.78rem; font-weight:600; padding:4px 11px; border-radius:999px; background:var(--surface-3); color:var(--ink-soft); }
.pill.exclusion{ background:var(--bad-soft); color:var(--bad); }
.pill.essential{ background:var(--accent-soft); color:var(--accent); }
.pill.daily{ background:var(--primary-soft); color:var(--primary); }
.pill.developable{ background:var(--good-soft); color:var(--good); }
.pill.descriptive{ background:var(--surface-3); color:var(--ink-faint); }

/* ============================================================
   الكوكبة — خريطة المستويات (التوقيع البصري)
   ============================================================ */
.constellation{ position:relative; width:100%; height:150px; margin:6px 0 4px; }
.constellation svg{ width:100%; height:100%; overflow:visible; }
.const-line{ stroke:var(--line); stroke-width:3; stroke-linecap:round; fill:none; }
.const-line.lit{ stroke:url(#litgrad); stroke-width:4; filter:drop-shadow(0 0 6px var(--star-glow)); }
.const-star{ cursor:pointer; transition:transform .25s; }
.const-star:hover{ transform:scale(1.12); }
.star-dot{ fill:var(--track); transition:fill .3s; }
.star-dot.done{ fill:var(--star); filter:drop-shadow(0 0 8px var(--star-glow)); }
.star-dot.current{ fill:var(--primary); filter:drop-shadow(0 0 10px var(--primary)); }
.star-lbl{ font-family:'Baloo Bhaijaan 2'; font-size:11px; fill:var(--ink-soft); text-anchor:middle; }
.star-lbl.active{ fill:var(--ink); }
.buddy-marker{ font-size:22px; transition:.4s cubic-bezier(.34,1.56,.64,1); }

/* ---------- شريط التقدم ---------- */
.progress-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.xp-bar{ height:14px; background:var(--track); border-radius:999px; overflow:hidden; position:relative; }
.xp-fill{ height:100%; width:0; border-radius:999px; background:linear-gradient(90deg,var(--accent),var(--primary),var(--star)); transition:width .6s cubic-bezier(.4,0,.2,1); box-shadow:0 0 14px -2px var(--primary); }
.xp-shine{ position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent); transform:translateX(120%); }

/* ============================================================
   رُكس — المرافق
   ============================================================ */
.buddy{ position:relative; width:90px; height:90px; }
.buddy .body{
  position:absolute; inset:8px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--star-glow), var(--star) 70%);
  box-shadow:0 0 26px -4px var(--star-glow), inset -6px -8px 14px rgba(180,120,0,.18);
  animation:bob 3s ease-in-out infinite;
}
.buddy .eye{ position:absolute; top:40%; width:9px; height:13px; background:#3a2452; border-radius:50%; animation:blink 4.5s infinite; }
.buddy .eye.l{ right:34%; } .buddy .eye.r{ right:54%; }
.buddy .cheek{ position:absolute; top:54%; width:10px; height:6px; background:var(--primary); opacity:.5; border-radius:50%; filter:blur(1px); }
.buddy .cheek.l{ right:28%; } .buddy .cheek.r{ right:60%; }
.buddy .mouth{ position:absolute; top:55%; right:46%; width:8px; height:5px; border:2px solid #3a2452; border-top:0; border-radius:0 0 8px 8px; }
@keyframes bob{ 0%,100%{ transform:translateY(0) rotate(-2deg);} 50%{ transform:translateY(-7px) rotate(2deg);} }
@keyframes blink{ 0%,92%,100%{ transform:scaleY(1);} 96%{ transform:scaleY(.1);} }
.buddy-say{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:10px 14px; box-shadow:var(--shadow); font-size:.92rem; max-width:340px; }
.buddy-say::after{ content:""; position:absolute; right:-7px; top:18px; width:14px; height:14px; background:var(--surface); border-right:1px solid var(--line); border-top:1px solid var(--line); transform:rotate(45deg); }

/* ============================================================
   الأسئلة
   ============================================================ */
.q-card{ animation:qin .45s cubic-bezier(.2,.8,.2,1); }
@keyframes qin{ from{ opacity:0; transform:translateY(16px) scale(.98);} to{ opacity:1; transform:none;} }
.q-top{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:6px; }
.q-num{ font-family:'Baloo Bhaijaan 2'; color:var(--ink-faint); font-size:.95rem; }
.q-title{ font-size:1.32rem; line-height:1.5; margin:6px 0 4px; }
.q-help{ color:var(--ink-soft); font-size:.95rem; margin-bottom:16px; background:var(--surface-2); padding:9px 13px; border-radius:12px; border:1px dashed var(--line); }

/* خيارات اختيار واحد / متعدد */
.opts{ display:flex; flex-direction:column; gap:10px; }
.opt{
  display:flex; align-items:center; gap:12px; text-align:right; width:100%;
  background:var(--surface-2); border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:14px 16px; font-size:1.02rem; color:var(--ink); transition:.18s;
}
.opt:hover{ border-color:var(--accent); transform:translateX(-3px); }
.opt .tick{ width:24px; height:24px; border-radius:50%; border:2px solid var(--line); flex:none; display:grid; place-items:center; transition:.18s; }
.opt.multi .tick{ border-radius:7px; }
.opt.sel{ border-color:var(--primary); background:var(--primary-soft); }
.opt.sel .tick{ border-color:var(--primary); background:var(--primary); color:#fff; }
.opt.sel .tick::after{ content:"✓"; font-size:.8rem; font-weight:700; }
.opt .lbl{ flex:1; display:flex; flex-direction:column; gap:3px; }
.opt-main{ line-height:1.4; }
.opt-help{ font-size:.82rem; color:var(--ink-faint); line-height:1.5; font-weight:400; }
.vopt-help{ font-size:.74rem; color:var(--ink-faint); text-align:center; line-height:1.4; }

/* خيارات بصرية */
.visual-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); gap:10px; }
.vopt{ background:var(--surface-2); border:2px solid var(--line); border-radius:var(--radius-sm); padding:14px 8px; display:flex; flex-direction:column; align-items:center; gap:8px; transition:.18s; }
.vopt:hover{ border-color:var(--accent); transform:translateY(-3px); }
.vopt.sel{ border-color:var(--primary); background:var(--primary-soft); }
.vopt .ic{ font-size:2rem; line-height:1; }
.vopt .sw{ width:40px; height:40px; border-radius:12px; border:2px solid rgba(0,0,0,.08); }
.vopt .vl{ font-size:.85rem; color:var(--ink-soft); text-align:center; }

/* سلايدر منقوط */
.slider-box{ padding:6px 4px 2px; }
.slider-val{ text-align:center; font-family:'Baloo Bhaijaan 2'; font-size:1.15rem; color:var(--primary); min-height:1.7em; margin-bottom:10px; }
.slider-help{ text-align:center; font-size:.86rem; color:var(--ink-soft); margin:10px auto 0; max-width:90%; line-height:1.5; background:var(--surface-2); border-radius:10px; padding:8px 12px; }
input[type=range]{
  -webkit-appearance:none; appearance:none; width:100%; height:10px; border-radius:999px;
  background:var(--track); outline:none; direction:rtl;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:30px; height:30px; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #fff, var(--primary) 75%);
  border:3px solid #fff; box-shadow:0 4px 12px -2px var(--primary); cursor:grab;
}
input[type=range]::-webkit-slider-thumb:active{ cursor:grabbing; transform:scale(1.12); }
input[type=range]::-moz-range-thumb{ width:26px; height:26px; border-radius:50%; background:var(--primary); border:3px solid #fff; box-shadow:0 4px 12px -2px var(--primary); cursor:grab; }
.ticks{ display:flex; justify-content:space-between; margin-top:10px; gap:4px; }
.tick-lbl{ font-size:.72rem; color:var(--ink-faint); text-align:center; flex:1; line-height:1.3; }
.tick-lbl.bipolar{ font-size:.78rem; max-width:33%; }
.bipolar-row{ display:flex; justify-content:space-between; gap:10px; margin-top:12px; }
.bipolar-row span{ font-size:.85rem; color:var(--ink-soft); max-width:38%; }
.bipolar-row span:last-child{ text-align:left; }

.na-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.na-btn{ border:1.5px solid var(--line); background:var(--surface-2); color:var(--ink-soft); border-radius:999px; padding:8px 14px; font-size:.85rem; transition:.18s; }
.na-btn:hover{ border-color:var(--accent); }
.na-btn.sel{ background:var(--accent-soft); border-color:var(--accent); color:var(--accent); }

/* مصفوفة: صفوف بخيارات ظاهرة */
/* مصفوفة جدولية: عناوين الأعمدة تظهر مرة واحدة */
.mx-table-wrap{
  width:100%; overflow-x:auto; overscroll-behavior-inline:contain;
  border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface);
}
.mx-table{ width:100%; min-width:620px; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.mx-table th,.mx-table td{ border-left:1px solid var(--line); border-bottom:1px solid var(--line); padding:11px 10px; text-align:center; vertical-align:middle; }
.mx-table tr:last-child th,.mx-table tr:last-child td{ border-bottom:0; }
.mx-table th:last-child,.mx-table td:last-child{ border-left:0; }
.mx-table thead th{
  position:sticky; top:0; z-index:3; background:var(--surface-3); color:var(--ink);
  font-size:.82rem; line-height:1.35; font-weight:700;
}
.mx-table .mx-statement-head,.mx-table .mx-statement{
  width:36%; min-width:210px; text-align:right; position:sticky; right:0; z-index:2;
  background:var(--surface-2); border-left:1px solid var(--line);
}
.mx-table .mx-statement-head{ z-index:4; background:var(--surface-3); }
.mx-statement-main{ display:block; font-weight:600; line-height:1.5; }
.mx-statement .opt-help{ margin-top:4px; font-weight:400; }
.mx-choice-cell{ padding:0 !important; min-width:76px; transition:background .15s; }
.mx-choice-cell:hover{ background:var(--accent-soft); }
.mx-choice-cell.sel{ background:var(--primary-soft); }
.mx-choice{ min-height:58px; width:100%; display:grid; place-items:center; cursor:pointer; }
.mx-choice input{ position:absolute; opacity:0; pointer-events:none; }
.mx-radio-mark{ width:22px; height:22px; border-radius:50%; border:2px solid var(--ink-faint); background:var(--surface); display:inline-grid; place-items:center; transition:.15s; }
.mx-choice input:focus-visible + .mx-radio-mark{ outline:3px solid var(--accent); outline-offset:3px; }
.mx-choice input:checked + .mx-radio-mark{ border-color:var(--primary); box-shadow:inset 0 0 0 5px var(--surface), inset 0 0 0 12px var(--primary); }

/* ترتيب بالسحب */
.rank-list{ display:flex; flex-direction:column; gap:9px; }
.rank-item{
  display:flex; align-items:center; gap:12px; background:var(--surface-2); border:2px solid var(--line);
  border-radius:var(--radius-sm); padding:13px 15px; cursor:grab; transition:.15s; user-select:none;
}
.rank-item:active{ cursor:grabbing; }
.rank-item.drag{ opacity:.4; }
.rank-item.over{ border-color:var(--primary); transform:scale(1.01); }
.rank-num{ width:28px; height:28px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--primary)); color:#fff; display:grid; place-items:center; font-family:'Baloo Bhaijaan 2'; font-size:.95rem; flex:none; }
.rank-text{ flex:1; display:flex; flex-direction:column; gap:3px; }
.rank-main{ line-height:1.4; }
.rank-grip{ color:var(--ink-faint); margin-right:auto; font-size:1.2rem; }

/* مناطق الجسد */
.bodymap{ display:flex; flex-direction:column; gap:8px; }
.bregion{ background:var(--surface-2); border:2px solid var(--line); border-radius:var(--radius-sm); padding:12px 14px; }
.bregion.sensitive{ border-style:dashed; }
.bregion-head{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:9px; }
.bregion-name{ font-weight:600; }
.bregion-opts{ display:flex; flex-wrap:wrap; gap:6px; }
.bchip{ border:1.5px solid var(--line); background:var(--surface); color:var(--ink-soft); border-radius:999px; padding:6px 11px; font-size:.82rem; transition:.15s; }
.bchip:hover{ border-color:var(--accent); }
.bchip.sel{ background:var(--primary-soft); border-color:var(--primary); color:var(--primary); }
.reveal-btn{ font-size:.8rem; color:var(--accent); background:none; border:0; text-decoration:underline; }

/* حقل نص */
.txt-field{ width:100%; border:2px solid var(--line); background:var(--surface-2); border-radius:var(--radius-sm); padding:14px 16px; font-size:1.02rem; color:var(--ink); font-family:inherit; }
.txt-field:focus{ border-color:var(--primary); outline:none; }
.suggest{ display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.suggest button{ border:1.5px solid var(--line); background:var(--surface-2); color:var(--ink-soft); border-radius:999px; padding:6px 12px; font-size:.82rem; }
.suggest button:hover{ border-color:var(--accent); color:var(--accent); }

/* ---------- تذييل التنقل ---------- */
.navbar{
  position:fixed; bottom:0; right:0; left:0; z-index:40;
  display:flex; align-items:center; gap:12px; justify-content:space-between;
  padding:14px 18px; backdrop-filter:blur(12px);
  background:color-mix(in srgb,var(--surface) 80%, transparent);
  border-top:1px solid var(--line);
}
.navbar .inner{ max-width:760px; margin:0 auto; width:100%; display:flex; align-items:center; gap:12px; }
.nav-count{ font-size:.85rem; color:var(--ink-soft); }

/* ============================================================
   شاشة البداية + الانتقال بين المستويات
   ============================================================ */
.hero{ text-align:center; padding:30px 10px 10px; }
.hero h1{ font-size:2.6rem; margin:14px 0 6px; line-height:1.2;
  background:linear-gradient(120deg,var(--primary),var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero .sub{ color:var(--ink-soft); font-size:1.1rem; }
.hero-buddy{ display:inline-block; transform:scale(1.4); margin:10px auto 18px; }

.levelcards{ display:grid; gap:12px; margin:22px 0; }
.levelcard{ display:flex; align-items:center; gap:14px; background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); transition:.2s; }
.levelcard .lvl-ic{ width:52px; height:52px; border-radius:16px; display:grid; place-items:center; font-size:1.6rem; color:#fff; flex:none; }
.levelcard .lvl-meta h3{ margin:0 0 3px; font-size:1.15rem; }
.levelcard .lvl-meta p{ margin:0; font-size:.88rem; color:var(--ink-soft); }
.levelcard .lvl-n{ margin-right:auto; font-family:'Baloo Bhaijaan 2'; color:var(--ink-faint); font-size:1.4rem; }

/* انتقال المستوى */
.level-intro{ text-align:center; padding:40px 16px; animation:qin .5s; }
.level-badge{ width:110px; height:110px; border-radius:32px; display:grid; place-items:center; font-size:3.4rem; color:#fff; margin:0 auto 18px; box-shadow:var(--shadow-lg); animation:pop .6s cubic-bezier(.34,1.56,.64,1); }
@keyframes pop{ 0%{ transform:scale(.3); opacity:0;} 100%{ transform:scale(1); opacity:1;} }
.level-eyebrow{ font-family:'Baloo Bhaijaan 2'; color:var(--accent); letter-spacing:2px; font-size:.95rem; }
.level-intro h2{ font-size:2rem; margin:6px 0; }

/* احتفال إكمال المستوى */
.confetti{ position:fixed; inset:0; pointer-events:none; z-index:60; overflow:hidden; }
.confetti i{ position:absolute; width:10px; height:14px; border-radius:3px; top:-20px; animation:fall linear forwards; }
@keyframes fall{ to{ transform:translateY(110vh) rotate(720deg); opacity:.2; } }

/* ============================================================
   صفحة النتائج
   ============================================================ */
.score-hero{ text-align:center; padding:10px 0 6px; }
.gauge{ position:relative; width:230px; height:230px; margin:6px auto 4px; }
.gauge svg{ transform:rotate(-90deg); }
.gauge .track-ring{ fill:none; stroke:var(--track); stroke-width:18; }
.gauge .val-ring{ fill:none; stroke:url(#scoregrad); stroke-width:18; stroke-linecap:round; transition:stroke-dashoffset 1.4s cubic-bezier(.2,.8,.2,1); filter:drop-shadow(0 0 10px var(--primary)); }
.gauge-center{ position:absolute; inset:0; display:grid; place-items:center; text-align:center; }
.gauge-center .num{ font-family:'Baloo Bhaijaan 2'; font-size:3.4rem; line-height:1; background:linear-gradient(120deg,var(--primary),var(--accent)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.gauge-center .lab{ font-size:.85rem; color:var(--ink-soft); }

.verdict{ display:inline-flex; align-items:center; gap:8px; font-family:'Baloo Bhaijaan 2'; font-size:1.2rem; padding:8px 20px; border-radius:999px; margin:8px 0; }

.subscores{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:18px 0; }
.subscore{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px; }
.subscore .s-top{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }
.subscore .s-name{ font-size:.9rem; color:var(--ink-soft); }
.subscore .s-val{ font-family:'Baloo Bhaijaan 2'; font-size:1.5rem; }
.bar{ height:9px; background:var(--track); border-radius:999px; overflow:hidden; }
.bar > i{ display:block; height:100%; border-radius:999px; transition:width 1s ease; }

.result-section{ margin-top:22px; }
.result-section h3{ font-size:1.25rem; margin:0 0 12px; display:flex; align-items:center; gap:8px; }
.chips-col{ display:flex; flex-direction:column; gap:9px; }
.rchip{ display:flex; gap:10px; align-items:flex-start; padding:12px 15px; border-radius:var(--radius-sm); font-size:.96rem; line-height:1.5; }
.rchip.good{ background:var(--good-soft); }
.rchip.diff{ background:var(--warn-soft); }
.rchip.warn{ background:var(--bad-soft); }
.rchip .ri{ flex:none; font-size:1.15rem; }

.excl-banner{ background:var(--bad-soft); border:2px solid var(--bad); border-radius:var(--radius); padding:20px; text-align:center; margin-bottom:18px; }
.excl-banner h2{ color:var(--bad); margin:6px 0; }

/* ============================================================
   صفحة الإدارة
   ============================================================ */
.admin-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
.adm-q{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-sm); padding:16px; box-shadow:var(--shadow); }
.adm-q-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.adm-q-id{ font-family:'Baloo Bhaijaan 2'; background:var(--surface-3); padding:2px 9px; border-radius:8px; font-size:.85rem; color:var(--ink-soft); }
.adm-q-title{ flex:1; font-weight:600; min-width:200px; }
.adm-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:8px 0; }
.adm-label{ font-size:.82rem; color:var(--ink-soft); min-width:96px; }
.adm-field{ border:1.5px solid var(--line); background:var(--surface-2); border-radius:10px; padding:8px 11px; font-family:inherit; color:var(--ink); font-size:.9rem; }
.adm-ideal-opts{ display:flex; flex-wrap:wrap; gap:6px; }
.idchip{ border:1.5px solid var(--line); background:var(--surface-2); color:var(--ink-soft); border-radius:8px; padding:5px 10px; font-size:.8rem; transition:.15s; }
.idchip.on{ background:var(--good-soft); border-color:var(--good); color:var(--good); }
.idchip.ex{ background:var(--bad-soft); border-color:var(--bad); color:var(--bad); }
.weight-num{ width:64px; }
.adm-toggle{ display:inline-flex; align-items:center; gap:7px; font-size:.85rem; color:var(--ink-soft); cursor:pointer; }
.adm-toggle input{ width:18px; height:18px; accent-color:var(--bad); }
.adm-section-h{ font-family:'Baloo Bhaijaan 2'; font-size:1.3rem; margin:24px 0 4px; display:flex; align-items:center; gap:8px; padding-bottom:8px; border-bottom:2px solid var(--line); }
.adm-toolbar{ position:sticky; top:60px; z-index:30; display:flex; gap:10px; flex-wrap:wrap; background:color-mix(in srgb,var(--surface) 85%, transparent); backdrop-filter:blur(10px); padding:12px; border-radius:var(--radius-sm); border:1px solid var(--line); margin-bottom:16px; box-shadow:var(--shadow); }
.adm-stat{ display:inline-flex; flex-direction:column; padding:6px 14px; background:var(--surface-3); border-radius:12px; }
.adm-stat b{ font-family:'Baloo Bhaijaan 2'; font-size:1.2rem; }
.adm-stat span{ font-size:.72rem; color:var(--ink-soft); }
.code-area{ width:100%; min-height:160px; font-family:ui-monospace,monospace; font-size:.8rem; border:1.5px solid var(--line); border-radius:12px; padding:12px; background:var(--surface-2); color:var(--ink); direction:ltr; text-align:left; }
.toast{ position:fixed; bottom:24px; left:50%; transform:translateX(-50%) translateY(80px); background:var(--ink); color:var(--surface); padding:12px 22px; border-radius:999px; font-weight:600; z-index:200; opacity:0; transition:.3s; }
.toast.show{ transform:translateX(-50%); opacity:1; }

/* ---------- متجاوب ---------- */
@media (max-width:560px){
  .hero h1{ font-size:2.1rem; }
  .q-title{ font-size:1.18rem; }
  .gauge{ width:200px; height:200px; }
  .wrap{ padding:16px 14px 120px; }
}

/* ---------- حركة مخفّضة ---------- */
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; transition-duration:.05ms !important; }
  .buddy .body{ animation:none; }
}

/* ============================================================
   إضافات النسخة 2: التنقل العلوي، الشريط الجانبي، رسم الجسد،
   السيناريو، الاستعلام، تحذير الاستبعاد، إدارة الأسئلة
   ============================================================ */

/* ---------- تخطيط بشريط جانبي ---------- */
.layout{ display:flex; gap:0; align-items:flex-start; max-width:1180px; margin:0 auto; }
.sidebar{
  width:264px; flex:none; position:sticky; top:60px; align-self:flex-start;
  max-height:calc(100vh - 70px); overflow-y:auto; padding:16px 12px;
  border-left:1px solid var(--line);
}
.sidebar-h{ font-family:'Baloo Bhaijaan 2'; font-size:1rem; color:var(--ink-soft); padding:6px 10px 10px; display:flex; align-items:center; justify-content:space-between; }
.side-sec{ margin-bottom:6px; }
.side-sec-h{ display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; font-size:.86rem; font-weight:600; color:var(--ink-soft); cursor:pointer; transition:.15s; }
.side-sec-h:hover{ background:var(--surface-3); }
.side-sec-h .sec-ic{ width:22px; height:22px; border-radius:7px; display:grid; place-items:center; color:#fff; font-size:.8rem; flex:none; }
.side-sec-h .sec-prog{ margin-right:auto; font-size:.72rem; color:var(--ink-faint); font-family:'Baloo Bhaijaan 2'; }
.side-q{ display:flex; align-items:center; gap:8px; padding:6px 10px 6px 10px; margin:1px 0 1px 8px; border-radius:8px; font-size:.8rem; color:var(--ink-soft); cursor:pointer; transition:.12s; border-right:2px solid transparent; }
.side-q:hover{ background:var(--surface-3); }
.side-q.active{ background:var(--primary-soft); color:var(--primary); border-right-color:var(--primary); font-weight:600; }
.side-q .qdot{ width:9px; height:9px; border-radius:50%; border:1.5px solid var(--line); flex:none; }
.side-q.done .qdot{ background:var(--good); border-color:var(--good); }
.side-q.excl .qdot{ background:var(--bad); border-color:var(--bad); }
.side-q .qtxt{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.main-col{ flex:1; min-width:0; }

/* زر فتح القائمة (هواتف) */
.menu-toggle{ display:none; border:1.5px solid var(--line); background:var(--surface-2); border-radius:12px; padding:8px 12px; color:var(--ink); font-size:.85rem; align-items:center; gap:6px; }
.sidebar-backdrop{ display:none; }

@media (max-width:920px){
  .sidebar{
    position:fixed; right:0; top:0; bottom:0; width:280px; z-index:120; background:var(--surface);
    max-height:100vh; box-shadow:var(--shadow-lg); transform:translateX(100%); transition:transform .3s;
    border-left:1px solid var(--line);
  }
  .sidebar.open{ transform:translateX(0); }
  .sidebar-backdrop.show{ display:block; position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:110; }
  .menu-toggle{ display:inline-flex; }
}

/* ---------- التنقل العلوي (السابق/التالي) ---------- */
.topnav{
  position:sticky; top:0; z-index:45;
  display:flex; align-items:center; gap:10px;
  padding:10px 0; margin-bottom:6px;
  backdrop-filter:blur(10px);
  background:color-mix(in srgb,var(--bg-2) 80%, transparent);
}
.topnav .nav-count{ font-size:.85rem; color:var(--ink-soft); font-family:'Baloo Bhaijaan 2'; }
.topnav .btn{ padding:10px 20px; font-size:.95rem; }

/* ---------- صندوق السيناريو ---------- */
.scenario-box{
  background:linear-gradient(135deg, var(--accent-soft), var(--primary-soft));
  border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:16px 18px; margin-bottom:18px; position:relative;
}
.scenario-label{
  position:absolute; top:-10px; right:16px; background:var(--accent); color:#fff;
  font-size:.72rem; font-weight:700; padding:2px 12px; border-radius:999px; font-family:'Baloo Bhaijaan 2';
}
.scenario-box p{ margin:6px 0 0; font-size:1.02rem; line-height:1.7; color:var(--ink); white-space:pre-wrap; }

/* أسئلة مجمّعة في صفحة واحدة */
.subq{ margin-top:22px; padding-top:18px; border-top:1px dashed var(--line); }
.subq:first-of-type{ margin-top:8px; padding-top:0; border-top:0; }
.subq-title{ font-size:1.12rem; font-weight:600; margin:0 0 14px; line-height:1.5; }

/* ---------- زر الاستعلام عن المقصد ---------- */
.intent-btn{
  display:inline-flex; align-items:center; gap:6px; margin-top:14px;
  border:1.5px solid var(--line); background:var(--surface-2); color:var(--accent);
  border-radius:999px; padding:7px 14px; font-size:.85rem; font-weight:600; transition:.15s;
}
.intent-btn:hover{ border-color:var(--accent); background:var(--accent-soft); }
.intent-panel{
  margin-top:12px; background:var(--surface-2); border:1px dashed var(--accent);
  border-radius:12px; padding:13px 16px; font-size:.92rem; line-height:1.6; color:var(--ink-soft);
  animation:qin .3s;
}
.intent-panel strong{ color:var(--ink); }

/* ---------- تحذير الاستبعاد العلوي ---------- */
.excl-warning{
  position:sticky; top:54px; z-index:44;
  display:flex; align-items:center; gap:10px;
  background:var(--bad-soft); border:1.5px solid var(--bad); color:var(--bad);
  border-radius:14px; padding:11px 16px; margin-bottom:14px; font-size:.92rem; font-weight:600;
  animation:slideDown .35s cubic-bezier(.2,.8,.2,1);
}
.excl-warning .xw-ic{ font-size:1.2rem; }
.excl-warning .xw-detail{ font-weight:400; font-size:.85rem; opacity:.9; }
@keyframes slideDown{ from{ opacity:0; transform:translateY(-12px);} to{ opacity:1; transform:none;} }

/* ---------- رسم الجسد التفاعلي ---------- */
.bodyfig-wrap{ display:flex; flex-direction:column; gap:14px; }
.bodyfig-views{ display:flex; gap:8px; justify-content:center; flex-wrap:wrap; }
.bodyfig{ flex:1; min-width:150px; max-width:260px; }
.bodyfig-title{ text-align:center; font-size:.82rem; color:var(--ink-soft); font-weight:600; margin-bottom:6px; }
.bodyfig svg{ width:100%; height:auto; display:block; }
.bzone{ cursor:pointer; transition:fill .2s, stroke .2s; stroke:var(--ink-faint); stroke-width:1.5; }
.bzone:hover{ stroke:var(--accent); stroke-width:2.5; }
.bzone-lbl{ font-size:9px; fill:var(--ink-soft); text-anchor:middle; pointer-events:none; font-weight:600; }
.body-legend{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; padding:10px; background:var(--surface-2); border-radius:12px; }
.legend-item{ display:flex; align-items:center; gap:6px; font-size:.8rem; color:var(--ink-soft); }
.legend-sw{ width:16px; height:16px; border-radius:5px; border:1px solid var(--line); }
.body-hint{ text-align:center; font-size:.82rem; color:var(--ink-faint); }
.sensitive-toggle{ display:flex; align-items:center; justify-content:center; gap:8px; padding:10px; background:var(--surface-2); border:1px dashed var(--line); border-radius:12px; font-size:.88rem; }
.sensitive-toggle button{ border:1.5px solid var(--accent); background:transparent; color:var(--accent); border-radius:999px; padding:5px 14px; font-size:.82rem; }
.private-row{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; justify-content:center; padding:12px; background:var(--surface-2); border-radius:12px; border:1px dashed var(--bad); }
.private-row .pr-name{ font-weight:600; }

/* ---------- إدارة: إضافة/تعديل ---------- */
.adm-add-row{ display:flex; gap:10px; flex-wrap:wrap; margin:10px 0; }
.adm-edit-field{ width:100%; border:1.5px solid var(--line); background:var(--surface); border-radius:10px; padding:9px 12px; font-family:inherit; color:var(--ink); font-size:.92rem; margin-bottom:6px; }
.adm-edit-field:focus{ border-color:var(--primary); outline:none; }
.adm-opt-edit{ display:flex; align-items:center; gap:6px; margin:4px 0; }
.adm-opt-edit input{ flex:1; border:1.5px solid var(--line); background:var(--surface); border-radius:8px; padding:6px 10px; font-family:inherit; color:var(--ink); font-size:.85rem; }
.adm-opt-block{ background:var(--surface-2); border:1px solid var(--line); border-radius:12px; padding:8px 10px 9px; margin:0 0 9px; }
.adm-opt-block .adm-opt-edit{ margin:0; }
.adm-opt-block .adm-opt-edit input{ background:var(--surface); }
.adm-opt-help-wrap{ display:flex; align-items:center; gap:6px; margin-top:7px; padding-right:2px; }
.adm-opt-help-wrap .ohw-ic{ color:var(--accent); font-size:.9rem; flex:none; }
.adm-opt-help-input{ flex:1; border:0; border-bottom:1.5px solid var(--line); background:transparent; border-radius:0; padding:4px 2px; font-family:inherit; color:var(--ink-soft); font-size:.82rem; transition:border-color .15s; }
.adm-opt-help-input::placeholder{ color:var(--ink-faint); }
.adm-opt-help-input:focus{ border-bottom-color:var(--accent); outline:none; color:var(--ink); }
.adm-opt-del{ border:0; background:var(--bad-soft); color:var(--bad); border-radius:8px; width:30px; height:30px; flex:none; font-size:1rem; }
.adm-opt-add{ border:1.5px dashed var(--good); background:transparent; color:var(--good); border-radius:8px; padding:6px 12px; font-size:.82rem; margin-top:4px; }
.adm-collapse{ cursor:pointer; user-select:none; }
.adm-q-body{ overflow:hidden; }
.adm-q.collapsed .adm-q-body{ display:none; }
.adm-q-del{ border:0; background:var(--bad-soft); color:var(--bad); border-radius:8px; padding:5px 10px; font-size:.78rem; }
.adm-new-q-type{ border:1.5px solid var(--line); background:var(--surface); border-radius:10px; padding:9px 12px; font-family:inherit; color:var(--ink); }
.adm-section-card{ background:var(--surface-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:14px; margin-bottom:10px; }
.adm-section-card .sc-row{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.modal-bg{ position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:300; display:grid; place-items:center; padding:20px; }


/* ---------- مجموعات الأسئلة في لوحة الإدارة ---------- */
.adm-group{ border:2px solid color-mix(in srgb,var(--accent) 36%,var(--line)); border-radius:var(--radius); background:color-mix(in srgb,var(--accent-soft) 34%,var(--surface)); padding:12px; margin-bottom:16px; box-shadow:var(--shadow); }
.adm-group-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:4px 4px 10px; }
.adm-group-id{ font-family:monospace; direction:ltr; background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:3px 8px; color:var(--ink-soft); }
.adm-group-preview{ flex:1; min-width:180px; color:var(--ink-soft); font-size:.82rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-group-actions{ display:flex; gap:6px; flex-wrap:wrap; margin-right:auto; }
.adm-group-tools{ display:flex; align-items:center; gap:8px; padding:9px 10px; margin-bottom:10px; border:1px dashed var(--line); border-radius:12px; background:var(--surface-2); }
.adm-group-body{ display:flex; flex-direction:column; gap:10px; }
.adm-group.collapsed .adm-group-body,.adm-group.collapsed .adm-group-tools{ display:none; }
.adm-q-nested{ box-shadow:none; border-color:color-mix(in srgb,var(--accent) 22%,var(--line)); }
.adm-q.just-copied{ animation:copyPulse 1.2s ease 2; border-color:var(--good); }
@keyframes copyPulse{ 50%{ box-shadow:0 0 0 5px color-mix(in srgb,var(--good) 22%,transparent); } }

/* ---------- محرر صندوق السياق ---------- */
.adm-context-editor{ margin:10px 0; padding:12px; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--surface-2); }
.adm-context-editor textarea{ resize:vertical; min-height:78px; font-family:inherit; }
.adm-context-preview{ position:relative; margin:16px 0 2px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(135deg,var(--accent-soft),var(--primary-soft)); }
.adm-context-preview-label{ position:absolute; top:-10px; right:14px; background:var(--accent); color:#fff; border-radius:999px; padding:2px 10px; font-size:.7rem; font-weight:700; }
.adm-context-preview p{ margin:4px 0 0; white-space:pre-wrap; line-height:1.6; }

/* ---------- معاينة المصفوفة في لوحة الإدارة ---------- */
.adm-matrix-preview{ margin-top:12px; }
.adm-preview-table{ max-height:320px; }
.adm-matrix-warning{ padding:9px 12px; margin-bottom:8px; border-radius:10px; background:var(--warn-soft); color:var(--warn); font-size:.82rem; }
.adm-opt-move{ width:30px; height:30px; border:1px solid var(--line); border-radius:8px; background:var(--surface-3); color:var(--ink-soft); }
.adm-opt-move:disabled{ opacity:.35; cursor:not-allowed; }

@media (max-width:680px){
  .adm-group-actions{ width:100%; margin-right:0; }
  .adm-group-tools{ align-items:stretch; flex-direction:column; }
  .mx-table{ min-width:560px; }
  .mx-table .mx-statement-head,.mx-table .mx-statement{ min-width:180px; width:34%; }
}

/* ============================================================
   لوحة الإدارة 1.1 — تنقّل، تنظيم المحرر، مجموعات مركّبة
   ============================================================ */

/* شريط تمرير حديث وهادئ في الاستبيان ولوحة الإدارة */
*{
  scrollbar-width:thin;
  scrollbar-color:color-mix(in srgb,var(--ink-faint) 65%,transparent) transparent;
}
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-track{ background:transparent; }
*::-webkit-scrollbar-thumb{
  background:color-mix(in srgb,var(--ink-faint) 55%,transparent);
  border:3px solid transparent;
  background-clip:padding-box;
  border-radius:999px;
}
*::-webkit-scrollbar-thumb:hover{ background:color-mix(in srgb,var(--primary) 68%,transparent); background-clip:padding-box; }

.admin-layout{ max-width:1460px; }
.admin-wrap{ padding-inline:24px; }
.admin-sidebar{ width:292px; padding-top:12px; }
.admin-side-search-wrap{ position:sticky; top:0; z-index:2; padding:4px 8px 12px; background:color-mix(in srgb,var(--bg-2) 90%,transparent); backdrop-filter:blur(10px); }
.admin-side-search-wrap .adm-field{ width:100%; }
.adm-side-sub{ display:flex; gap:3px; padding:0 28px 5px 8px; }
.adm-side-sub button,.adm-side-hit{
  border:0; background:transparent; color:var(--ink-faint); font:inherit; font-size:.68rem;
  padding:2px 5px; border-radius:6px; cursor:pointer;
}
.adm-side-sub button:hover,.adm-side-hit:hover{ background:var(--surface-3); color:var(--primary); }
.adm-side-hit{ display:block; width:calc(100% - 38px); margin:0 30px 3px 8px; text-align:right; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.adm-selection-tools{
  display:flex; align-items:center; gap:7px; padding:5px 8px;
  border:1px solid var(--line); border-radius:12px; background:var(--surface-2);
}
.adm-selection-tools .btn{ padding:7px 11px; font-size:.78rem; }
.adm-question-section{ scroll-margin-top:110px; }
.adm-question-select{ width:19px; height:19px; flex:none; accent-color:var(--accent); cursor:pointer; }
.adm-q-head{ margin-bottom:0; padding:2px; }
.adm-q-summary{ display:flex; align-items:center; gap:8px; flex:1; min-width:0; flex-wrap:wrap; }
.adm-q-summary .adm-q-title{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.adm-q-quick{ display:flex; align-items:center; gap:5px; margin-right:auto; }
.adm-caret{ min-width:18px; color:var(--ink-faint); text-align:center; }
.adm-q-body{ padding-top:14px; }

/* تقسيم محرر السؤال إلى بطاقات وظيفية واضحة */
.adm-editor-panel{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px;
  margin:0 0 14px; padding:16px; scroll-margin-top:104px;
  border:1px solid var(--line); border-radius:16px; background:var(--surface-2);
}
.adm-editor-panel-title{
  grid-column:1/-1; display:flex; align-items:center; gap:8px; margin:0 0 2px;
  padding-bottom:9px; border-bottom:1px solid var(--line); color:var(--ink); font-size:1rem;
}
.adm-editor-panel-title span:first-child{ color:var(--accent); }
.adm-span-2{ grid-column:1/-1; }
.adm-form-field,.adm-content-field,.adm-compact-field{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.adm-form-field>span,.adm-content-field>span,.adm-compact-field>span{ color:var(--ink-soft); font-size:.76rem; font-weight:600; }
.adm-form-field .adm-edit-field,.adm-content-field .adm-edit-field{ margin:0; background:var(--surface); }
.adm-placement-grid{ grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr auto; gap:10px; align-items:end; }
.adm-new-group-btn{ align-self:end; padding:9px 13px; white-space:nowrap; }
.adm-info-callout{
  grid-column:1/-1; padding:11px 13px; border-radius:12px;
  background:var(--accent-soft); color:var(--ink-soft); font-size:.84rem;
}
.adm-scoring-row{ grid-column:1/-1; display:flex; align-items:end; gap:12px; flex-wrap:wrap; }
.adm-toggle-card{ padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.adm-question-footer{ display:flex; justify-content:flex-end; gap:8px; padding-top:4px; }

/* شريط أدوات المجموعة ومحرر عناصر المحتوى */
.adm-group-toolbar{ display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; gap:10px; align-items:end; }
.adm-compact-field.adm-grow{ min-width:180px; }
.adm-add-content{ display:flex; gap:6px; align-items:end; }
.adm-add-content .btn{ padding:9px 13px; white-space:nowrap; }
.adm-group-content{
  border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line)); border-radius:14px;
  background:color-mix(in srgb,var(--accent-soft) 24%,var(--surface)); padding:12px;
}
.adm-group-content-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.adm-content-type{ min-width:130px; }
.adm-inline-actions{ display:flex; gap:5px; margin-right:auto; }
.adm-content-fields{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.adm-content-fields .adm-content-field:has(textarea){ grid-column:1/-1; }
.adm-content-fields textarea{ resize:vertical; min-height:90px; }

/* محتوى المجموعات في الاستبيان */
.group-content-heading{ margin:8px 0 4px; font-size:1.35rem; }
.group-content-text{ margin:8px 0 14px; padding:0 4px; color:var(--ink-soft); line-height:1.8; white-space:pre-wrap; }
.group-content-notice{ margin:14px 0 18px; }
.group-content-image{ margin:16px 0; text-align:center; }
.group-content-image img{ display:block; max-width:100%; max-height:520px; margin:0 auto; border-radius:16px; border:1px solid var(--line); box-shadow:var(--shadow); object-fit:contain; }
.group-content-image figcaption{ margin-top:8px; color:var(--ink-soft); font-size:.82rem; }
.group-content-divider{ border:0; border-top:1px solid var(--line); margin:20px 0; }

@media (max-width:1100px){
  .adm-group-toolbar{ grid-template-columns:1fr 1fr; }
  .adm-add-content{ grid-column:1/-1; }
}
@media (max-width:720px){
  .admin-wrap{ padding-inline:14px; }
  .adm-editor-panel{ grid-template-columns:1fr; padding:12px; }
  .adm-span-2,.adm-editor-panel-title{ grid-column:1; }
  .adm-placement-grid,.adm-group-toolbar,.adm-content-fields{ grid-template-columns:1fr; }
  .adm-add-content{ grid-column:1; flex-wrap:wrap; }
  .adm-selection-tools{ width:100%; order:3; }
  .adm-side-sub{ padding-right:22px; }
}
@media (max-width:920px){
  .admin-sidebar #adminSideClose{ display:inline-flex !important; }
}
.adm-content-image-preview{
  grid-column:1/-1; display:block; max-width:100%; max-height:260px; margin:4px auto 0;
  object-fit:contain; border-radius:12px; border:1px solid var(--line); background:var(--surface);
}

/* ============================================================
   الدخول والحساب والحفظ
   ============================================================ */
.access-mode .sidebar,
.access-mode .sidebar-backdrop,
.access-mode .menu-toggle{ display:none !important; }
.access-mode .main-col{ width:100%; }
.access-wrap{ max-width:720px; margin:0 auto; padding:28px 0 80px; }
.access-card{ max-width:620px; margin:18px auto 0; text-align:center; padding:28px; }
.access-card h1{ margin:8px 0 2px; }
.access-logo{
  width:58px; height:58px; border-radius:20px; display:grid; place-items:center; margin:0 auto;
  color:#fff; font-size:1.45rem; background:linear-gradient(140deg,var(--primary),var(--accent));
  box-shadow:0 14px 30px -14px var(--primary);
}
.mobile-browser-warning{
  display:flex; gap:13px; align-items:flex-start; margin:0 auto; padding:15px 17px;
  border:1px solid color-mix(in srgb,var(--warn) 45%,var(--line)); border-radius:16px;
  background:color-mix(in srgb,var(--warn-soft) 82%,var(--surface)); color:var(--ink);
}
.mobile-browser-warning>span{ font-size:1.5rem; }
.mobile-browser-warning strong{ display:block; margin-bottom:3px; color:var(--warn); }
.mobile-browser-warning p{ margin:0; color:var(--ink-soft); line-height:1.65; font-size:.9rem; }
.access-tabs{ display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:22px 0 18px; padding:5px; border-radius:999px; background:var(--surface-3); border:1px solid var(--line); }
.access-tabs button{ border:0; border-radius:999px; padding:10px 14px; color:var(--ink-soft); background:transparent; font-weight:700; }
.access-tabs button.active{ color:var(--ink); background:var(--surface); box-shadow:var(--shadow); }
.access-step{ text-align:right; }
.access-step h2{ margin:4px 0 8px; text-align:center; }
.step-kicker{ width:max-content; margin:0 auto 6px; color:var(--accent); font-size:.82rem; font-weight:700; }
.access-field{ display:flex; flex-direction:column; gap:6px; margin:14px 0; }
.access-field>span{ color:var(--ink-soft); font-size:.82rem; font-weight:700; }
.access-field input,.access-field select,.education-level{
  width:100%; box-sizing:border-box; border:1.5px solid var(--line); border-radius:13px;
  background:var(--surface-2); color:var(--ink); padding:12px 14px; font:inherit;
}
.access-field input:focus,.access-field select:focus,.education-level:focus{ border-color:var(--accent); outline:none; box-shadow:0 0 0 3px var(--accent-soft); }
.access-next{ display:block; margin:22px auto 0; min-width:180px; }
.access-nav{ display:flex; justify-content:space-between; gap:10px; margin-top:22px; }
.access-error{ margin:0 0 14px; padding:11px 13px; border-radius:12px; background:var(--bad-soft); color:var(--bad); text-align:right; font-size:.9rem; }
.captcha-box{ display:flex; align-items:center; justify-content:center; gap:14px; margin:16px 0 10px; padding:12px; border:1px solid var(--line); border-radius:15px; background:var(--surface-2); }
.captcha-box img{ width:210px; max-width:56%; border-radius:12px; }
.captcha-box>div{ display:flex; flex-direction:column; gap:7px; color:var(--ink-soft); font-size:.82rem; }
.text-btn{ border:0; background:transparent; color:var(--primary); padding:0; text-decoration:underline; }
.recovery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:18px 0; direction:ltr; }
.recovery-code{ border:2px solid var(--line); border-radius:14px; padding:14px 8px; background:var(--surface-2); color:var(--ink); font-size:1.12rem; font-weight:800; }
.recovery-code:hover,.recovery-code.selected{ border-color:var(--primary); background:var(--primary-soft); color:var(--primary); transform:translateY(-2px); }
.remember-code{ display:flex; gap:9px; align-items:center; justify-content:center; color:var(--ink-soft); }
.remember-code input{ width:18px; height:18px; accent-color:var(--accent); }
.account-chip{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:6px 9px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); color:var(--ink-soft); font-size:.8rem; }
.account-chip>span{ color:var(--ink); }
.account-chip small{ color:var(--good); }
.account-chip button{ border:0; background:transparent; color:var(--primary); padding:3px 5px; font-weight:700; }

/* السلايدر بلا إجابة افتراضية: يبقى المسار ظاهرًا ويختفي المقبض حتى يلمسه المستخدم. */
input[type=range].unanswered{ opacity:.72; }
input[type=range].unanswered::-webkit-slider-thumb{ opacity:0; box-shadow:none; }
input[type=range].unanswered::-moz-range-thumb{ opacity:0; box-shadow:none; }

/* تخصصات جامعية متعددة */
.education-editor{ display:flex; flex-direction:column; gap:12px; }
.education-list{ display:flex; flex-direction:column; gap:10px; }
.education-row{ display:grid; grid-template-columns:minmax(0,1fr) 190px auto; gap:9px; align-items:center; }
.education-row .txt-field{ margin:0; }
.education-remove{ white-space:nowrap; }
.education-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* ============================================================
   ردود لوحة الإدارة
   ============================================================ */
.responses-head,.response-detail-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.responses-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.responses-list{ display:flex; flex-direction:column; gap:8px; margin-top:16px; }
.response-row{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:12px; text-align:right; border:1px solid var(--line); border-radius:14px; padding:12px 14px; background:var(--surface-2); color:var(--ink); }
.response-row:hover{ border-color:var(--accent); transform:translateY(-1px); }
.response-row>span:first-child{ display:flex; flex-direction:column; gap:3px; }
.response-row small{ color:var(--ink-faint); }
.response-badges{ display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.response-badges i{ font-style:normal; font-size:.75rem; padding:4px 9px; border-radius:999px; background:var(--surface-3); color:var(--ink-soft); }
.response-badges i.bad{ background:var(--bad-soft); color:var(--bad); }
.response-badges i.good{ background:var(--good-soft); color:var(--good); }
.response-detail{ margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.response-detail h4{ margin:0; }
.response-answer-list{ display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.response-answer{ display:grid; grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr); gap:14px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); }
.response-answer b{ font-size:.86rem; }
.response-answer span{ color:var(--ink-soft); white-space:pre-wrap; overflow-wrap:anywhere; }

@media (max-width:760px){
  .topbar{ gap:7px; padding:9px 10px; flex-wrap:wrap; }
  .brand span:last-child{ display:none; }
  #accountSlot{ order:3; width:100%; }
  .account-chip{ justify-content:center; }
  .theme-switch button{ padding:6px 8px; font-size:.76rem; }
  .access-wrap{ padding-top:12px; }
  .access-card{ padding:20px 15px; }
  .mobile-browser-warning{ margin-inline:0; }
  .captcha-box{ flex-direction:column; }
  .captcha-box img{ max-width:100%; }
  .recovery-grid{ grid-template-columns:repeat(2,1fr); }
  .education-row{ grid-template-columns:1fr; }
  .education-remove{ justify-self:start; }
  .responses-head,.response-detail-head,.response-row{ align-items:stretch; flex-direction:column; }
  .response-badges{ justify-content:flex-start; }
  .response-answer{ grid-template-columns:1fr; gap:5px; }
}

/* ============================================================
   نمط الاختبار، جهة المشاركة، ومرحلة الاستبعاد
   ============================================================ */
.btn.danger{ background:var(--bad-soft); color:var(--bad); border:1px solid color-mix(in srgb,var(--bad) 38%,var(--line)); }
.btn.danger:hover{ background:color-mix(in srgb,var(--bad-soft) 70%,var(--bad)); color:#fff; }
.mode-card{ max-width:760px; }
.mode-choice-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:22px 0; }
.mode-choice{
  min-height:180px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; text-align:right;
  border:2px solid var(--line); border-radius:18px; padding:18px; background:var(--surface-2); color:var(--ink);
}
.mode-choice:hover{ border-color:var(--primary); transform:translateY(-2px); }
.mode-choice.selected{ border-color:var(--accent); background:linear-gradient(145deg,var(--accent-soft),var(--primary-soft)); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent); }
.mode-choice .mode-icon{ font-size:1.8rem; }
.mode-choice b{ font-size:1.02rem; line-height:1.55; }
.mode-choice small{ color:var(--ink-soft); line-height:1.65; }
.share-contact-box{ margin-top:18px; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--surface-2); text-align:right; }
.share-contact-box h3{ margin:0 0 4px; }
.mode-radio{ display:flex; align-items:center; gap:10px; margin:10px 0; padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--surface); cursor:pointer; }
.mode-radio:has(input:checked){ border-color:var(--primary); background:var(--primary-soft); }
.mode-radio input{ width:19px; height:19px; accent-color:var(--primary); }
.mode-radio span{ display:flex; flex-direction:column; gap:2px; }
.mode-radio small{ color:var(--ink-soft); }
.other-share-fields{ display:grid; grid-template-columns:180px 1fr; gap:10px; margin-top:10px; }
.screening-card{ max-width:650px; }
.screening-symbol{ font-size:3rem; margin-bottom:6px; }
.screening-stats{ display:flex; flex-direction:column; align-items:center; gap:2px; margin:22px auto; padding:15px; max-width:300px; border:1px solid var(--line); border-radius:16px; background:var(--surface-2); }
.screening-stats b{ font-size:1.45rem; color:var(--primary); }
.screening-stats span{ color:var(--ink-soft); font-size:.85rem; }
.screening-actions{ display:flex; flex-direction:column; gap:10px; margin-top:22px; }
.account-chip i,.account-chip em{ font-style:normal; padding:3px 7px; border-radius:999px; background:var(--primary-soft); color:var(--primary); font-size:.72rem; }
.account-chip em{ background:var(--accent-soft); color:var(--accent); }

/* إعدادات المطابقة التي يحددها المستخدم في نمط المشاركين */
.participant-pref{ margin:20px 0 8px; padding:16px; border:1.5px solid color-mix(in srgb,var(--primary) 35%,var(--line)); border-radius:17px; background:linear-gradient(145deg,color-mix(in srgb,var(--primary-soft) 64%,var(--surface)),var(--surface)); }
.participant-pref-title{ display:flex; gap:10px; align-items:flex-start; margin-bottom:14px; }
.participant-pref-title>span{ font-size:1.35rem; }
.participant-pref-title>div{ display:flex; flex-direction:column; gap:3px; }
.participant-pref-title small{ color:var(--ink-soft); line-height:1.5; }
.participant-pref-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
.participant-pref-grid label{ display:flex; flex-direction:column; gap:6px; padding:11px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink-soft); font-size:.82rem; }
.participant-pref-grid input[type=number],.participant-pref-grid select,.participant-option-row input,.participant-option-row select{ width:100%; box-sizing:border-box; border:1px solid var(--line); border-radius:9px; padding:8px 9px; background:var(--surface-2); color:var(--ink); font:inherit; }
.participant-pref-grid input[type=range]{ width:100%; accent-color:var(--primary); }
.participant-exclude-toggle{ flex-direction:row !important; align-items:center; }
.participant-exclude-toggle input{ width:18px; height:18px; accent-color:var(--bad); }
.participant-options{ margin-top:13px; border-top:1px solid var(--line); padding-top:11px; }
.participant-options summary{ cursor:pointer; color:var(--primary); font-weight:700; }
.participant-option-head,.participant-option-row{ display:grid; grid-template-columns:minmax(140px,1fr) 150px 105px; gap:8px; align-items:center; }
.participant-option-head{ margin-top:11px; padding:0 8px 5px; color:var(--ink-faint); font-size:.72rem; }
.participant-option-list{ display:flex; flex-direction:column; gap:6px; }
.participant-option-row{ padding:8px; border:1px solid var(--line); border-radius:11px; background:var(--surface); }
.participant-option-row>span{ color:var(--ink); font-size:.84rem; overflow-wrap:anywhere; }
.participant-no-options{ margin:12px 0 0; }

@media (max-width:760px){
  .mode-choice-grid,.other-share-fields,.participant-pref-grid{ grid-template-columns:1fr; }
  .mode-choice{ min-height:0; }
  .participant-option-head{ display:none; }
  .participant-option-row{ grid-template-columns:1fr 1fr; }
  .participant-option-row>span{ grid-column:1/-1; font-weight:700; }
  .account-chip i,.account-chip em{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}

/* تفاصيل إعدادات المشاركين داخل الرد الإداري */
.response-answer>div:first-child{ display:flex; flex-direction:column; gap:5px; }
.response-answer>div:first-child>span{ color:var(--ink-soft); white-space:pre-wrap; overflow-wrap:anywhere; }
.response-pref{ display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line)); border-radius:10px; background:var(--primary-soft); }
.response-pref>div{ display:flex; flex-direction:column; gap:3px; }
.response-pref span{ font-size:.8rem; color:var(--ink-soft); }
.response-pref ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:5px; }
.response-pref li{ display:flex; justify-content:space-between; gap:10px; padding:6px 8px; border-radius:8px; background:var(--surface); font-size:.78rem; }
.response-pref li span{ text-align:left; }
@media (max-width:760px){.response-pref li{ flex-direction:column; }.response-pref li span{text-align:right;}}

/* ============================================================
   الاقتراحات، قيود الموقع الجغرافي، وإحصاءات الإدارة
   ============================================================ */
.geo-rate-warning{
  display:flex; gap:13px; align-items:flex-start; margin:14px auto 0; padding:15px 17px;
  border:1px solid color-mix(in srgb,var(--bad) 38%,var(--line)); border-radius:16px;
  background:color-mix(in srgb,var(--bad-soft) 82%,var(--surface)); color:var(--ink);
}
.geo-rate-warning>span{ font-size:1.5rem; }
.geo-rate-warning strong{ display:block; margin-bottom:3px; color:var(--bad); }
.geo-rate-warning p{ margin:0; color:var(--ink-soft); line-height:1.65; font-size:.9rem; }
.suggestion-modal{ z-index:500; }
.suggestion-card{ width:min(620px,100%); max-height:min(760px,calc(100vh - 40px)); overflow:auto; }
.suggestion-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.suggestion-head h3{ margin:0 0 4px; }
.suggestion-card textarea{
  width:100%; min-height:190px; box-sizing:border-box; resize:vertical; margin:14px 0 8px;
  border:1.5px solid var(--line); border-radius:15px; padding:14px; background:var(--surface-2);
  color:var(--ink); font:inherit; line-height:1.75;
}
.suggestion-card textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.suggestion-meta{ display:flex; justify-content:space-between; gap:12px; margin-bottom:16px; color:var(--ink-faint); font-size:.76rem; }
.suggestion-meta span:last-child{ text-align:left; max-width:70%; }
.suggestion-success{ text-align:center; padding:20px 8px; }
.suggestion-success>span{ width:62px; height:62px; margin:0 auto 12px; border-radius:50%; display:grid; place-items:center; background:var(--good-soft); color:var(--good); font-size:2rem; font-weight:800; }
.system-stats-grid{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:16px; }
.system-stat-card{ min-height:104px; display:flex; flex-direction:column; justify-content:center; gap:3px; padding:14px; border:1px solid var(--line); border-radius:15px; background:var(--surface-2); }
.system-stat-card b{ font-family:'Baloo Bhaijaan 2'; font-size:1.55rem; color:var(--primary); }
.system-stat-card span{ color:var(--ink); font-size:.84rem; font-weight:700; }
.system-stat-card small{ color:var(--ink-faint); line-height:1.45; }
.community-tabs{ display:flex; gap:6px; margin-top:16px; padding:5px; width:max-content; max-width:100%; border:1px solid var(--line); border-radius:999px; background:var(--surface-3); }
.community-tabs button{ border:0; border-radius:999px; padding:9px 16px; background:transparent; color:var(--ink-soft); font-weight:700; }
.community-tabs button.active{ background:var(--surface); color:var(--primary); box-shadow:var(--shadow); }
.suggestions-list{ display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.suggestion-admin-card{ padding:14px 15px; border:1px solid var(--line); border-radius:14px; background:var(--surface-2); }
.suggestion-admin-head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.suggestion-admin-head>div:first-child{ display:flex; flex-direction:column; gap:3px; }
.suggestion-admin-head small{ color:var(--ink-faint); }
.suggestion-admin-card p{ margin:12px 0 0; color:var(--ink-soft); line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }

@media (max-width:1050px){
  .system-stats-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px){
  .system-stats-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .suggestion-head,.suggestion-admin-head,.suggestion-meta{ flex-direction:column; }
  .suggestion-meta span:last-child{ max-width:none; text-align:right; }
  .community-tabs{ width:100%; }
  .community-tabs button{ flex:1; }
}
@media (max-width:440px){
  .system-stats-grid{ grid-template-columns:1fr; }
}


/* v2.3: الاستبعاد في نمط المشاركين تحذير برتقالي لا يمنع الإرسال */
.excl-warning.participant-rox-warning,
.participant-rox-excluded{
  background:var(--warn-soft); border-color:var(--warn); color:color-mix(in srgb,var(--warn) 72%,var(--ink));
}
.participant-rox-excluded{ border:1.5px solid var(--warn); }
.account-chip .account-logout{ color:var(--bad); }
.participant-importance-only{ grid-template-columns:minmax(0,1fr); }
.participant-option-head,.participant-option-row{
  grid-template-columns:minmax(150px,1fr) 74px 74px 82px 96px;
}
.participant-check{
  display:flex; align-items:center; justify-content:center; gap:5px; min-height:36px;
  border:1px solid var(--line); border-radius:9px; background:var(--surface-2); cursor:pointer;
}
.participant-check input{ width:17px; height:17px; margin:0; }
.participant-check i{ display:none; font-style:normal; font-size:.75rem; }
.participant-check.positive input{ accent-color:var(--good); }
.participant-check.negative input{ accent-color:var(--bad); }
.participant-check.exclude input{ accent-color:var(--warn); }
.participant-result-card{ border:1.5px solid color-mix(in srgb,var(--warn) 55%,var(--line)); }
.participant-result-actions{ margin-top:22px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap; }
.suggestion-success.compact{ margin-top:16px;padding:10px 14px; }
.response-badges i.warn{ background:var(--warn-soft);color:var(--warn); }
@media (max-width:760px){
  .participant-option-row{ grid-template-columns:repeat(3,1fr); }
  .participant-option-row>span{ grid-column:1/-1; }
  .participant-option-row>input[type=number]{ grid-column:1/-1; }
  .participant-check i{ display:inline; }
}

/* ============================================================
   v2.4 — موافقات التسجيل ولوحة الإدارة متعددة الصفحات
   ============================================================ */
.registration-consent{
  margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2);
}
.registration-consent h3{margin:0 0 10px;font-size:1rem}
.consent-row{align-items:flex-start;margin:9px 0;line-height:1.7}
.consent-row input{margin-top:5px;flex:0 0 auto}

.admin-login-screen{
  min-height:100vh;display:grid;place-items:center;padding:24px;background:
  radial-gradient(circle at 15% 15%,rgba(128,103,183,.16),transparent 35%),var(--bg);
}
.admin-login-card{width:min(460px,100%);text-align:center;padding:32px}
.admin-login-card h1{margin:8px 0 6px}
.admin-login-card .access-field{text-align:right;margin-top:18px}
.admin-login-card .big{width:100%;margin-top:12px}
.admin-login-icon{font-size:46px}
.admin-topbar{gap:12px}
.admin-header-nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.admin-header-nav button{
  border:0;background:transparent;color:var(--ink-soft);padding:9px 12px;border-radius:11px;cursor:pointer;font:inherit;font-weight:700;
}
.admin-header-nav button:hover{background:var(--surface-2);color:var(--ink)}
.admin-header-nav button.active{background:var(--primary-soft);color:var(--primary)}
.admin-page-not-questions .admin-sidebar,.admin-page-not-questions .sidebar-backdrop{display:none!important}
.admin-page-not-questions .admin-layout{display:block;max-width:none}
.admin-page-not-questions .main-col{width:100%}
.admin-page-not-questions .admin-wrap{max-width:1180px!important}
.admin-user-card{border:1px solid var(--line);border-radius:17px;padding:15px;margin-top:10px;background:var(--surface)}
.admin-user-main{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.admin-user-main b{display:block;font-size:1rem}
.admin-user-main small{display:block;color:var(--ink-soft);margin-top:5px}
.admin-user-progress{font-weight:800;color:var(--primary);background:var(--primary-soft);padding:7px 11px;border-radius:999px;white-space:nowrap}
.admin-user-meta{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--ink-soft);font-size:.84rem;margin-top:10px}
.admin-site-settings textarea{width:100%;resize:vertical;min-height:120px}
.site-settings-actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.site-status-banner{padding:15px 17px;border-radius:15px;display:flex;gap:8px;flex-direction:column}
.site-status-banner.open{background:rgba(33,151,96,.1);border:1px solid rgba(33,151,96,.25)}
.site-status-banner.locked{background:rgba(221,139,40,.12);border:1px solid rgba(221,139,40,.32)}
.site-status-banner.open b{color:var(--good)}
.site-status-banner.locked b{color:#b56a12}
.admin-home-summary{margin-bottom:18px}

@media (max-width:1100px){
  .admin-topbar{align-items:flex-start}
  .admin-header-nav{order:4;width:100%;overflow:auto;flex-wrap:nowrap;padding-bottom:2px}
  .admin-header-nav button{white-space:nowrap}
}
@media (max-width:650px){
  .admin-user-main{flex-direction:column}
  .admin-user-progress{align-self:flex-start}
  .admin-topbar .brand{min-width:auto}
}

/* ============================================================
   v2.5 — قوائم الإدارة الكبيرة وحدود التخصصات وشرح المشاركين
   ============================================================ */
.admin-filter-bar{
  display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(4,minmax(145px,1fr)) auto auto;
  gap:9px;align-items:center;margin:16px 0 8px;padding:12px;border:1px solid var(--line);
  border-radius:16px;background:var(--surface-2);
}
.admin-filter-bar .adm-field{margin:0;min-width:0;width:100%}
.admin-filter-search{min-width:220px!important}
.admin-list-summary{padding:8px 2px 12px;font-size:.88rem}
.empty-admin-list{padding:26px 8px;text-align:center}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:18px}
.pagination-page{
  width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--surface);
  color:var(--ink);font:inherit;font-weight:800;cursor:pointer;
}
.pagination-page:hover{border-color:var(--accent);background:var(--surface-2)}
.pagination-page.active{background:var(--primary);color:white;border-color:var(--primary)}
.pagination-dots{padding:0 3px;color:var(--ink-faint)}
.active-filter-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 13px;border-radius:13px;background:var(--primary-soft);color:var(--primary)}
.active-filter-chip button{border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;text-decoration:underline}
.admin-table-scroll{overflow:auto;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.admin-data-table{width:100%;min-width:1080px;border-collapse:collapse;text-align:right}
.admin-data-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--ink-soft);font-size:.8rem;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}
.admin-data-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.9rem}
.admin-data-table tbody tr:last-child td{border-bottom:0}
.admin-data-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 45%,transparent)}
.admin-data-table td b,.admin-data-table td span,.admin-data-table td small{display:block}
.admin-data-table td small{margin-top:4px;color:var(--ink-faint)}
.table-status{display:inline-block!important;width:max-content;padding:4px 8px;border-radius:999px;font-size:.76rem;font-weight:800}
.table-status.good{background:rgba(33,151,96,.12);color:var(--good)}
.table-status.bad{background:rgba(202,69,78,.12);color:var(--bad)}
.table-action{padding:7px 10px!important;white-space:nowrap}
.good-text{color:var(--good)!important}.warn-text{color:var(--warn)!important}
.education-count{align-self:center;margin-inline-start:auto;font-weight:800}
.education-actions .btn:disabled{opacity:.55;cursor:not-allowed}
.participant-pref-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.participant-info-button{
  width:25px;height:25px;border-radius:50%;border:1px solid color-mix(in srgb,var(--primary) 45%,var(--line));
  background:var(--primary-soft);color:var(--primary);font:800 .86rem/1 system-ui;cursor:pointer;display:inline-grid;place-items:center;
}
.participant-info-button:hover{transform:scale(1.07);background:var(--primary);color:white}
.participant-guide-modal{padding:18px;overflow:auto}
.participant-guide-card{width:min(760px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:25px}
.participant-guide-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.participant-guide-head>div{display:flex;gap:12px;align-items:flex-start}
.participant-guide-head h2{margin:0 0 6px;font-size:1.35rem}
.participant-guide-head p{margin:0;line-height:1.7}
.participant-guide-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:white;font-weight:900;font-size:1.15rem;flex:0 0 auto}
.participant-guide-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0 20px}
.participant-guide-steps article{border:1px solid var(--line);border-radius:15px;padding:14px;background:var(--surface-2)}
.participant-guide-steps b{display:block;color:var(--primary);margin-bottom:5px}
.participant-guide-steps p{margin:0;color:var(--ink-soft);line-height:1.75;font-size:.92rem}
.participant-guide-card>.btn.big{width:100%}

@media (max-width:1050px){
  .admin-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-filter-search{grid-column:span 2}
}
@media (max-width:700px){
  .admin-filter-bar{grid-template-columns:1fr 1fr}
  .admin-filter-search{grid-column:1/-1;min-width:0!important}
  .participant-guide-steps{grid-template-columns:1fr}
  .participant-guide-head{flex-direction:column}
  .participant-guide-head>button{align-self:flex-end}
}
@media (max-width:480px){
  .admin-filter-bar{grid-template-columns:1fr}
  .admin-filter-search{grid-column:auto}
}

/* ============================================================
   النسخة 2.6: تحسين الجوال ولوحة توافق المشاركين وأرشيف النسخ
   ============================================================ */
input[type=range]{ min-height:36px; touch-action:pan-y; }

.account-menu{padding:0;display:block;min-width:0}
.account-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:7px 10px;border-radius:13px}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu>summary>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-menu-caret{font-size:1rem;transition:transform .18s;margin-inline-start:auto}
.account-menu[open] .account-menu-caret{transform:rotate(180deg)}
.account-menu-body{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0 8px 7px}

.participant-options>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;list-style:none}
.participant-options>summary::-webkit-details-marker{display:none}
.participant-options>summary::after{content:"⌄";font-size:1rem;transition:transform .18s}
.participant-options[open]>summary::after{transform:rotate(180deg)}
.participant-options>summary small{margin-inline-start:auto;color:var(--ink-faint);font-weight:600}
.participant-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.participant-option-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.participant-option-label{font-weight:800;line-height:1.55;overflow-wrap:anywhere}
.participant-stance-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.participant-stance-group button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);border-radius:9px;padding:8px 5px;font-size:.72rem;font-weight:800;min-width:0}
.participant-stance-group button.active.neutral{border-color:var(--ink-faint);color:var(--ink);background:var(--surface-3)}
.participant-stance-group button.active.positive{border-color:var(--good);color:var(--good);background:var(--good-soft)}
.participant-stance-group button.active.negative{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}
.participant-stance-group button.active.exclude{border-color:var(--bad);color:var(--bad);background:var(--bad-soft)}
.participant-points-control{display:flex;flex-direction:column;gap:7px;padding-top:9px;border-top:1px dashed var(--line)}
.participant-points-title{display:flex;justify-content:space-between;align-items:center;color:var(--ink-soft);font-size:.8rem}
.participant-points-title output{min-width:48px;text-align:center;padding:4px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:900}
.participant-points-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:7px;align-items:center}
.participant-points-row button,.participant-point-presets button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:9px;padding:7px 8px;font-weight:800}
.participant-points-row input{width:100%;margin:0;accent-color:var(--primary)}
.participant-point-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}
.participant-point-presets button{padding:5px 2px;font-size:.7rem;color:var(--ink-soft)}

.version-badge{display:inline-flex!important;align-items:center;gap:4px;width:max-content;padding:4px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:800}
.version-badge.active{background:var(--good-soft);color:var(--good)}
.version-archive-list{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.version-archive-row{display:grid;grid-template-columns:minmax(160px,1fr) repeat(3,minmax(100px,.55fr)) auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.version-archive-row small{display:block;color:var(--ink-faint);margin-top:4px}
.version-archive-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.version-detail-json{max-height:420px;overflow:auto;direction:ltr;text-align:left;white-space:pre;font:12px/1.55 ui-monospace,monospace;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:12px}

@media (max-width:920px){
  .layout{display:block;width:100%;max-width:100%;overflow-x:clip}
  .main-col{width:100%;max-width:100%}
  .sidebar{left:auto;right:0;visibility:hidden;pointer-events:none}
  .sidebar.open{visibility:visible;pointer-events:auto}
}
@media (max-width:760px){
  .topbar{align-items:center}
  #accountSlot{min-width:0}
  .account-menu{width:100%;border-radius:14px}
  .account-menu>summary{width:100%;justify-content:space-between;background:var(--surface-2)}
  .account-menu-body{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;padding:8px}
  .account-menu-body i,.account-menu-body em{grid-column:1/-1;max-width:none!important;white-space:normal!important;text-align:center}
  .account-menu-body button{padding:9px 7px;border:1px solid var(--line);border-radius:9px;background:var(--surface)!important}
  .participant-pref{padding:12px;margin-top:15px}
  .participant-pref-title{margin-bottom:9px}
  .participant-pref-title>span{display:none}
  .participant-pref-title small{font-size:.78rem}
  .participant-option-list{grid-template-columns:1fr}
  .participant-stance-group{grid-template-columns:1fr 1fr}
  .participant-stance-group button{min-height:42px;font-size:.78rem}
  .participant-points-row{grid-template-columns:52px minmax(0,1fr) 52px}
  .participant-points-row button{min-height:40px}
  .participant-point-presets button{min-height:34px;font-size:.72rem}
  .q-card{scroll-margin-top:112px}
  .version-archive-row{grid-template-columns:1fr 1fr}
  .version-archive-row>div:first-child,.version-archive-actions{grid-column:1/-1}
  .version-archive-actions{justify-content:stretch}
  .version-archive-actions .btn{flex:1}
}
@media (max-width:430px){
  .participant-point-presets{grid-template-columns:repeat(3,1fr)}
  .participant-point-presets button:nth-child(4),.participant-point-presets button:nth-child(5){grid-column:span 1}
  .account-menu-body{grid-template-columns:1fr}
  .account-menu-body i,.account-menu-body em{grid-column:auto}
}

/* ============================================================
   v2.7 — تقرير الشخصية متعدد النماذج
   ============================================================ */
.personality-report{margin-top:24px;display:grid;gap:14px}
.personality-intro{display:flex;align-items:flex-start;gap:14px;margin:0}
.personality-intro h2{margin:0 0 5px;font-family:'Baloo Bhaijaan 2',sans-serif;font-size:1.55rem}
.personality-intro p{margin:0 0 8px;color:var(--ink-soft);line-height:1.75}
.personality-intro small{display:block;color:var(--ink-faint);line-height:1.65}
.personality-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--primary-soft),var(--accent-soft));font-size:1.6rem}
.personality-archetypes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.personality-archetype{position:relative;display:flex;gap:12px;min-height:146px;padding:18px;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}
.personality-archetype:first-child{background:linear-gradient(145deg,var(--primary-soft),var(--surface) 62%);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.personality-archetype h4{margin:0 0 7px;font-family:'Baloo Bhaijaan 2',sans-serif;font-size:1.15rem}
.personality-archetype p{margin:0;color:var(--ink-soft);line-height:1.65;font-size:.9rem}
.personality-archetype small{display:block;margin-top:9px;color:var(--ink-faint);font-size:.75rem}
.personality-rank{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:var(--surface-2);font-weight:900;color:var(--primary)}
.personality-notable{display:flex;gap:8px;flex-wrap:wrap}
.personality-notable>span{display:flex;flex-direction:column;gap:2px;padding:9px 13px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.personality-notable b{font-size:.88rem}.personality-notable small{color:var(--ink-faint);font-size:.72rem}
.personality-models{display:grid;gap:10px}
.personality-model{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--shadow-sm)}
.personality-model>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;cursor:pointer;list-style:none}
.personality-model>summary::-webkit-details-marker{display:none}
.personality-model>summary span{display:grid;gap:3px}.personality-model>summary b{font-family:'Baloo Bhaijaan 2',sans-serif;font-size:1.12rem}.personality-model>summary small{color:var(--ink-faint);line-height:1.5}
.personality-model>summary i{font-style:normal;white-space:nowrap;padding:6px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);font-size:.76rem}
.personality-model[open]>summary{border-bottom:1px solid var(--border);background:var(--surface-2)}
.personality-model-profile{margin:15px 17px 0;padding:13px 15px;border-radius:16px;background:linear-gradient(135deg,var(--accent-soft),var(--primary-soft));display:grid;gap:3px}
.personality-model-profile b{font-family:'Baloo Bhaijaan 2',sans-serif;font-size:1.05rem}.personality-model-profile span{font-size:.85rem;line-height:1.6;color:var(--ink-soft)}
.personality-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.personality-dimension{padding:15px;border:1px solid var(--border);border-radius:18px;background:var(--surface-2)}
.personality-dimension.insufficient{opacity:.72}
.personality-dimension-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.personality-dimension-head>div{display:grid;gap:2px}.personality-dimension-head b{font-size:.95rem}.personality-dimension-head span{font-size:.76rem;color:var(--ink-faint)}
.personality-dimension-head strong{font-family:'Baloo Bhaijaan 2',sans-serif;font-size:1.15rem}
.personality-bar{height:7px;margin:10px 0;border-radius:999px;background:var(--track);overflow:hidden}.personality-bar i{display:block;height:100%;border-radius:inherit;transition:width .5s ease}
.personality-dimension p{margin:0 0 8px;color:var(--ink-soft);line-height:1.6;font-size:.84rem}.personality-dimension small{color:var(--ink-faint);font-size:.72rem}
.personality-dimension ul{margin:10px 0 0;padding-right:18px;color:var(--ink-soft);font-size:.78rem;line-height:1.6}

@media(max-width:760px){
  .personality-archetypes,.personality-dimensions{grid-template-columns:1fr}
  .personality-intro{padding:17px}.personality-icon{flex-basis:44px;width:44px;height:44px;border-radius:15px}
  .personality-model>summary{align-items:flex-start;padding:15px}.personality-model>summary small{display:none}
  .personality-model>summary i{font-size:.7rem}.personality-dimensions{padding:12px}
  .personality-archetype{min-height:0;padding:15px}
}

/* ملخص التحليل الشخصي داخل تفاصيل الرد في الإدارة */
.admin-personality-summary{margin:16px 0;padding:16px;border:1px solid var(--border);border-radius:20px;background:var(--surface-2)}
.admin-personality-summary h4{margin:0;font-family:'Baloo Bhaijaan 2',sans-serif;font-size:1.2rem}
.admin-archetypes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}
.admin-archetypes>span,.admin-personality-model{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.admin-archetypes small,.admin-personality-model small{color:var(--ink-faint);line-height:1.5}
.admin-personality-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.admin-personality-model>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.admin-personality-model>div span{padding:5px 8px;border-radius:999px;background:var(--surface-2);font-size:.76rem}.admin-personality-model i{font-style:normal;color:var(--primary)}
@media(max-width:760px){.admin-archetypes,.admin-personality-models{grid-template-columns:1fr}}


/* ============================================================
   v2.8 — انتقال سفلي للجوال، مصفوفات مكدسة، وقواعد مشاركين نوعية
   ============================================================ */
.mx-choice-label-mobile{display:none}
.mobile-next-bar{display:none}
.participant-type-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}
.participant-type-controls label{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.participant-type-controls label span{font-size:.8rem;color:var(--ink-soft)}
.participant-type-controls input{width:100%;padding:9px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--ink);font:inherit}
.participant-rule-group{margin-top:9px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 86%,var(--primary-soft));overflow:hidden}
.participant-rule-group>summary{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;list-style:none;font-weight:800}
.participant-rule-group>summary::-webkit-details-marker{display:none}
.participant-rule-group>summary::after{content:"⌄";margin-inline-start:6px;transition:transform .18s}
.participant-rule-group[open]>summary::after{transform:rotate(180deg)}
.participant-rule-group>summary small{margin-inline-start:auto;color:var(--ink-faint);font-weight:600}
.participant-rule-group>.participant-option-list{padding:0 10px 10px;margin-top:0}
.participant-rule-hint{margin:0;padding:0 12px 9px;color:var(--ink-soft);font-size:.78rem;line-height:1.6}

@media (max-width:760px){
  body.mobile-next-ready .wrap{padding-bottom:calc(154px + env(safe-area-inset-bottom))}
  .mobile-next-bar.ready{position:fixed;z-index:70;display:flex;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 88%,transparent);border-top:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:0 -12px 30px -22px rgba(35,18,55,.65)}
  .mobile-next-bar .btn{width:min(100%,720px);margin:0 auto;min-height:50px;font-size:1.02rem}

  /* كل عبارة صف كامل، وتحتها اختياراتها بدل جدول أفقي عريض. */
  .qbody .mx-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent}
  .qbody .mx-table{display:block;width:100%;min-width:0;border-collapse:separate}
  .qbody .mx-table thead{display:none}
  .qbody .mx-table tbody{display:grid;gap:12px}
  .qbody .mx-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface-2)}
  .qbody .mx-table .mx-statement{position:static;display:block;grid-column:1/-1;width:auto;min-width:0;padding:13px 14px;text-align:right;border:0;border-bottom:1px solid var(--line);background:var(--surface)}
  .qbody .mx-table .mx-choice-cell{display:block;min-width:0;padding:0!important;border:0;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}
  .qbody .mx-table .mx-choice-cell:nth-child(odd){border-left:0}
  .qbody .mx-table .mx-choice{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;min-height:52px;padding:9px 10px;text-align:right}
  .qbody .mx-choice-label-mobile{display:block;min-width:0;line-height:1.35;font-size:.78rem;color:var(--ink-soft)}
  .qbody .mx-radio-mark{flex:0 0 auto}

  .participant-type-controls{grid-template-columns:1fr 1fr}
  .participant-options>summary{position:sticky;top:58px;z-index:2;margin:0 -4px;padding:11px 8px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid transparent}
  .participant-options[open]>summary{border-bottom-color:var(--line)}
  .participant-rule-group>summary{min-height:48px}
  .participant-rule-group>.participant-option-list{grid-template-columns:1fr}
}
@media (max-width:430px){
  .qbody .mx-table tbody tr{grid-template-columns:1fr}
  .qbody .mx-table .mx-choice-cell{border-left:0}
  .participant-type-controls{grid-template-columns:1fr}
}

/* ============================================================
   v2.9 — مناطق جسد قابلة للضبط، استبعاد صامت، وتقرير نتائج موسع
   ============================================================ */
.body-region-status{font-size:.82rem;color:var(--ink-soft);text-align:center;font-weight:700}
.body-region-list{display:grid;gap:8px}
.body-region-choice{display:grid;grid-template-columns:minmax(120px,1fr) minmax(170px,1.2fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}
.body-region-choice.sensitive-region-row{border-style:dashed;border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:color-mix(in srgb,var(--bad-soft) 35%,var(--surface-2))}
.body-region-choice b{font-size:.88rem}
.body-region-select{width:100%;padding:9px 10px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}
.bzone.unanswered{fill:var(--surface-3)}
.sensitive-zone{stroke-dasharray:4 3}

.adm-bodymap-preview{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}
.adm-bodymap-preview figure{margin:0;display:grid;justify-items:center;gap:6px}
.adm-bodymap-preview figcaption{font-weight:800;font-size:.82rem;color:var(--ink-soft)}
.adm-bodymap-preview svg{width:min(100%,210px);height:auto}
.adm-bodymap-preview .bzone{fill:var(--surface);pointer-events:none}
.adm-bodymap-preview .sensitive-zone{fill:color-mix(in srgb,var(--bad-soft) 65%,var(--surface))}
.adm-body-region-editor,.adm-body-state-editor{display:grid;gap:8px}
.adm-body-region-edit{display:grid;grid-template-columns:minmax(150px,1fr) minmax(190px,1.2fr) auto auto auto;gap:7px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.adm-body-region-edit.sensitive{border-style:dashed;border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}
.adm-body-region-edit .adm-edit-field{margin:0}
.adm-toggle.compact{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;white-space:nowrap}
.adm-toggle.compact.danger{color:var(--bad);font-weight:800}
.adm-silent-toggle{display:grid!important;grid-template-columns:auto 1fr;align-items:center}
.adm-silent-toggle small{grid-column:2;color:var(--ink-faint);font-weight:400;line-height:1.45}
.adm-body-rule{margin:9px 0;border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden}
.adm-body-rule.sensitive{border-style:dashed;border-color:color-mix(in srgb,var(--bad) 55%,var(--line))}
.adm-body-rule>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;font-weight:900;list-style:none;background:var(--surface-2)}
.adm-body-rule>summary::-webkit-details-marker{display:none}
.adm-body-rule>summary small{font-size:.74rem;color:var(--ink-faint);font-weight:600}
.adm-body-rule>.adm-form-field{padding:12px 14px 0}
.adm-body-rule-grid{display:grid;gap:7px;padding:12px 14px 14px}
.adm-body-rule-option{display:grid;grid-template-columns:minmax(130px,1fr) minmax(100px,.55fr) auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.adm-body-rule-option>label:not(.adm-toggle){display:grid;grid-template-columns:auto 72px;align-items:center;gap:7px;color:var(--ink-soft);font-size:.76rem}
.adm-body-rule-option input[type=number]{width:72px}
.silent-badge{background:color-mix(in srgb,var(--warn) 22%,var(--surface))!important;color:var(--warn)!important;border:1px dashed var(--warn)!important}

.personality-findings,.personality-direct-profiles{display:grid;gap:10px}
.personality-finding{padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.personality-finding.attention,.personality-finding.warning{border-color:color-mix(in srgb,var(--warn) 55%,var(--line));background:color-mix(in srgb,var(--warn) 8%,var(--surface))}
.personality-finding b{display:block;margin-bottom:4px}.personality-finding p{margin:0;color:var(--ink-soft);line-height:1.65;font-size:.85rem}
.personality-direct-profile{border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}
.personality-direct-profile>summary{padding:13px 15px;cursor:pointer;font-weight:900;list-style:none}
.personality-direct-profile>summary::-webkit-details-marker{display:none}
.personality-direct-profile ul{margin:0;padding:0 28px 14px 14px;color:var(--ink-soft);line-height:1.7;font-size:.84rem}
.personality-direct-profile .privacy-label{display:inline-flex;margin-inline-start:8px;padding:2px 7px;border-radius:999px;background:var(--bad-soft);color:var(--bad);font-size:.68rem}

@media(max-width:760px){
  .body-region-choice{grid-template-columns:1fr}
  .adm-bodymap-preview{grid-template-columns:1fr 1fr}
  .adm-body-region-edit{grid-template-columns:1fr 1fr auto auto auto}
  .adm-body-region-edit .adm-edit-field{grid-column:1/-1}
  .adm-body-rule-option{grid-template-columns:1fr}
  .adm-body-rule-option>label:not(.adm-toggle){grid-template-columns:1fr 88px}
}
@media(max-width:430px){
  .adm-bodymap-preview{grid-template-columns:1fr}
  .adm-body-region-edit{grid-template-columns:1fr auto auto auto}
  .adm-body-region-edit select{grid-column:1/-1}
}
.admin-exclusion-audit{margin:14px 0;padding:14px 16px;border:1px solid var(--bad);border-radius:17px;background:var(--bad-soft)}
.admin-exclusion-audit.silent{border-style:dashed;border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}
.admin-exclusion-audit h4{margin:0 0 4px}.admin-exclusion-audit p{margin:0;color:var(--ink-soft);font-size:.82rem}
.admin-exclusion-audit ul{margin:10px 0 0;padding-right:20px}.admin-exclusion-audit li{margin:6px 0}.admin-exclusion-audit li span{display:block;color:var(--ink-soft);font-size:.8rem}

/* ============================================================
   v2.10 — رسم جسد متصل، رقمية سلسة، وسيناريو بارز
   ============================================================ */
.bodyfig svg{overflow:visible}
.body-silhouette{fill:var(--surface-3);stroke:var(--ink-faint);stroke-width:1.4}
.bodyfig .bzone{stroke:color-mix(in srgb,var(--ink-faint) 82%,transparent);stroke-width:1.15;transition:fill .16s,filter .16s,transform .16s;transform-box:fill-box;transform-origin:center}
.bodyfig .bzone:hover,.bodyfig .bzone:focus{filter:brightness(1.04);stroke:var(--primary);stroke-width:2;outline:none}

.face-hair-illustration{display:inline-grid;width:76px;height:62px;place-items:center}
.face-hair-illustration svg{width:100%;height:100%;overflow:visible}
.fh-face{fill:#f0c7a5;stroke:#9e745c;stroke-width:1.4}
.fh-hair,.fh-beard,.fh-moustache,.fh-stubble{fill:#49352f;stroke:#49352f}
.fh-beard.fh-light{opacity:.48}.fh-beard.fh-medium{opacity:.76}.fh-beard.fh-full{opacity:1}
.fh-eye{fill:#352a27}.fh-nose,.fh-mouth{fill:none;stroke:#795848;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fh-stubble circle{fill:#49352f;stroke:none}

.smooth-number-box{display:grid;justify-items:center;gap:10px;padding:12px 0 4px}
.smooth-number-label{min-height:42px;font-size:1.45rem;font-weight:900;color:var(--primary);display:grid;place-items:center}
.smooth-number-picker{display:flex;direction:ltr;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:20px;background:var(--surface-2);box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 55%,transparent)}
.smooth-number-picker.unanswered{border-style:dashed;opacity:.82}
.smooth-digit-column{display:grid;grid-template-rows:34px 76px 34px;gap:5px;justify-items:center}
.smooth-digit-arrow{width:58px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-soft);font:inherit;font-weight:900;cursor:pointer;touch-action:manipulation}
.smooth-digit-arrow:active{transform:scale(.96);background:var(--primary-soft);color:var(--primary)}
.smooth-digit-value{width:72px;height:76px;border:2px solid var(--line);border-radius:17px;background:var(--surface);color:var(--ink);font:900 2.25rem/1 inherit;cursor:ns-resize;touch-action:none;box-shadow:0 8px 20px rgba(50,35,80,.08)}
.smooth-digit-value:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.smooth-hundred{align-self:center;min-width:74px;min-height:54px;padding:10px;border:2px solid var(--line);border-radius:15px;background:var(--surface);color:var(--ink);font:900 1.25rem/1 inherit;cursor:pointer}
.smooth-hundred.sel{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.smooth-number-hint{margin:0;color:var(--ink-faint);font-size:.8rem;text-align:center}

.scenario-box{max-height:none}
.scenario-box p{white-space:pre-wrap;overflow-wrap:anywhere}
.scenario-first-flash{animation:scenarioFirstFlash 3s ease-out both}
@keyframes scenarioFirstFlash{
  0%,18%{border-color:#d92e45;background:#ffe7e9;box-shadow:0 0 0 5px rgba(217,46,69,.15)}
  55%{border-color:#e26775;background:#fff3f4;box-shadow:0 0 0 2px rgba(217,46,69,.08)}
  100%{border-color:var(--line);background:var(--surface-2);box-shadow:none}
}

.version-update-card{max-width:700px;text-align:right}
.version-update-symbol{font-size:3rem;text-align:center;margin-bottom:8px}
.version-update-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0}
.version-update-stats span{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);text-align:center}
.version-update-stats b{font-size:1.3rem;color:var(--primary)}
.version-update-stats small{color:var(--ink-soft)}
.version-update-note{padding:12px 14px;border-right:4px solid var(--good);border-radius:12px;background:var(--good-soft);color:var(--ink-soft);line-height:1.75}

@media(max-width:760px){
  .bodyfig-views{align-items:start}
  .bodyfig svg{width:min(100%,180px)}
  .smooth-number-picker{width:min(100%,330px);gap:8px;padding:12px 10px}
  .smooth-digit-value{width:68px;height:72px}
  .smooth-digit-arrow{width:56px}
  .version-update-stats{grid-template-columns:1fr}
}
