/* وضّحها — الواجهة. القيم من DESIGN.md و design-reference/tokens/wadhha-tokens.css */

/* ---------- الخطوط (محلية) ---------- */
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:300;font-display:swap;src:url(../assets/fonts/plex-arabic-300-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:300;font-display:swap;src:url(../assets/fonts/plex-arabic-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-display:swap;src:url(../assets/fonts/plex-arabic-400-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-display:swap;src:url(../assets/fonts/plex-arabic-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:500;font-display:swap;src:url(../assets/fonts/plex-arabic-500-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:500;font-display:swap;src:url(../assets/fonts/plex-arabic-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:600;font-display:swap;src:url(../assets/fonts/plex-arabic-600-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:600;font-display:swap;src:url(../assets/fonts/plex-arabic-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:700;font-display:swap;src:url(../assets/fonts/plex-arabic-700-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:700;font-display:swap;src:url(../assets/fonts/plex-arabic-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(../assets/fonts/plex-mono-400-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(../assets/fonts/plex-mono-500-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-display:swap;src:url(../assets/fonts/plex-mono-600-latin.woff2) format("woff2")}

/* ---------- القيم ---------- */
:root{
  --wd-primary:#2A9D8F;--wd-primary-on-dark:#6FC3B8;--wd-primary-ink:#0B1615;--wd-primary-pressed:#1F7A70;
  --wd-live:#E9B872;--wd-highlight:#FFC800;--wd-important:#FFC400;--wd-important-text:#1A1405;
  --wd-annotate:#E63946;--wd-annotate-on-dark:#FF6B76;
  --wd-ground:#0F1B1D;--wd-sunk:#0B1517;--wd-card:#10131A;
  --wd-line:rgba(232,238,236,.12);--wd-line-soft:rgba(232,238,236,.08);--wd-line-field:rgba(232,238,236,.22);
  --wd-text:#E8EEEC;--wd-text-2:#B5C3C0;--wd-text-3:#8A9C99;--wd-faint:#55666A;
  --wd-font:"IBM Plex Sans Arabic",sans-serif;--wd-mono:"IBM Plex Mono",ui-monospace,monospace;
  --pad:18px;--hit:46px;
  --ease-cam:cubic-bezier(.2,.7,.2,1);
  --safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);
}

*{box-sizing:border-box;margin:0;padding:0;border-radius:0}
html,body{height:100%;background:var(--wd-ground)}
body{font-family:var(--wd-font);color:var(--wd-text);font-size:14.5px;line-height:1.65;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0;outline:none}
button{cursor:pointer;touch-action:manipulation}
button:disabled{cursor:not-allowed}
a{color:var(--wd-primary-on-dark);text-decoration:none}
:focus-visible{outline:1.5px solid var(--wd-live);outline-offset:2px}
.mono{font-family:var(--wd-mono)}
.ltr{direction:ltr;unicode-bidi:isolate}
[dir=ltr]{unicode-bidi:isolate}
sub,sup{font-size:.68em;line-height:0}
.c2{color:var(--wd-text-2)}.c3{color:var(--wd-text-3)}.cf{color:var(--wd-faint)}.cp{color:var(--wd-primary-on-dark)}.cl{color:var(--wd-live)}.cr{color:var(--wd-annotate-on-dark)}
.hidden{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- الهيكل: يعبّي النافذة بالكامل ---------- */
#app{height:100%;}
.shell{height:100dvh;display:grid;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr);padding-top:var(--safe-t)}
.shell.no-tabs{grid-template-rows:1fr}
.main{min-height:0;min-width:0;position:relative;display:flex;flex-direction:column}
.screen{flex:1;min-height:0;display:flex;flex-direction:column}
.scroll{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.pad{padding:var(--pad)}
.stack{display:flex;flex-direction:column}
.g4{gap:4px}.g6{gap:6px}.g8{gap:8px}.g10{gap:10px}.g12{gap:12px}.g14{gap:14px}.g16{gap:16px}.g18{gap:18px}.g20{gap:20px}
.row{display:flex;align-items:center}.between{justify-content:space-between}
.wrapc{max-width:760px;width:100%;margin-inline:auto}

/* شريط الأفعال السفلي */
.actionbar{background:var(--wd-sunk);border-top:1px solid var(--wd-line);padding:12px var(--pad) calc(16px + var(--safe-b));display:grid;gap:8px;align-items:center;flex:none}
.shell:not(.no-tabs) .actionbar{padding-bottom:12px}
.actionbar .meta{font-size:12px;color:var(--wd-text-3);line-height:1.5}
.actionbar .meta b{display:block;font-family:var(--wd-mono);font-weight:400;font-size:15px;color:var(--wd-text)}

/* شريط التبويبات */
.tabbar{display:grid;grid-template-columns:repeat(4,1fr);min-height:62px;background:var(--wd-sunk);border-top:1px solid var(--wd-line-soft);font-size:11.5px;padding-bottom:var(--safe-b)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--wd-text-3);min-height:62px;position:relative}
.tabbar a.on{color:var(--wd-primary-on-dark);font-weight:600;box-shadow:inset 0 2px 0 var(--wd-primary)}
.tabbar .brand{display:none}
.tabbar .badge{position:absolute;top:9px;inset-inline-start:calc(50% + 6px);width:8px;height:8px;border-radius:50%;background:var(--wd-live)}

/* ---------- عناصر ---------- */
.h1{font-size:25px;line-height:1.3;font-weight:700}
.h2{font-size:20px;line-height:1.4;font-weight:700}
.display{font-size:28px;line-height:1.3;font-weight:600}
.small{font-size:13px;line-height:1.6}
.cap{font-size:12px;line-height:1.5}
.body{font-size:14px;line-height:1.7;color:var(--wd-text-2)}
.brandline{display:flex;align-items:center;gap:8px}
.brandline b{font-weight:700;font-size:16px}
.back{display:inline-flex;align-items:center;gap:6px;min-height:var(--hit);color:var(--wd-text-3);font-size:14px;margin-block:-12px}
.topline{display:flex;justify-content:space-between;align-items:center;min-height:24px}

/* علامات الكاميرا */
.k{position:absolute;width:8px;height:8px;border:0 solid var(--k,var(--wd-live));pointer-events:none}
.k.tr{top:-4px;right:-4px;border-top-width:1.5px;border-right-width:1.5px}
.k.tl{top:-4px;left:-4px;border-top-width:1.5px;border-left-width:1.5px}
.k.br{bottom:-4px;right:-4px;border-bottom-width:1.5px;border-right-width:1.5px}
.k.bl{bottom:-4px;left:-4px;border-bottom-width:1.5px;border-left-width:1.5px}
.k.big{width:10px;height:10px}

/* الأزرار */
.btn{position:relative;height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:15px;white-space:nowrap;transition:background .12s,opacity .12s;user-select:none}
.btn.sm{height:46px;font-size:14px;padding:0 14px}
.btn.block{width:100%}
.btn-primary{background:var(--wd-primary);color:var(--wd-primary-ink);font-weight:700}
.btn-primary::before,.btn-primary::after{content:"";position:absolute;width:8px;height:8px;border:0 solid var(--wd-primary)}
.btn-primary::before{top:-4px;right:-4px;border-top-width:1.5px;border-right-width:1.5px}
.btn-primary::after{bottom:-4px;left:-4px;border-bottom-width:1.5px;border-left-width:1.5px}
.btn-primary:active:not(:disabled){background:var(--wd-primary-pressed)}
.btn-primary:disabled{opacity:.45}
.btn-primary:disabled::before,.btn-primary:disabled::after{display:none}
.btn-secondary{border:1px solid var(--wd-line-field);color:var(--wd-text)}
.btn-secondary:active:not(:disabled){background:rgba(232,238,236,.06)}
.btn-secondary:disabled{opacity:.45}
.btn-text{color:var(--wd-primary-on-dark);font-weight:600;padding:0;height:auto;min-height:var(--hit)}
.btn-danger{background:var(--wd-annotate);color:#fff;font-weight:700}
.btn-danger-text{color:var(--wd-annotate-on-dark);font-weight:600;padding:0}
.btn-icon{width:46px;height:46px;padding:0;border:1px solid rgba(232,238,236,.2)}
.btn .spin{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}
.link{color:var(--wd-primary-on-dark);font-weight:600;min-height:var(--hit);display:inline-flex;align-items:center}
@keyframes spin{to{transform:rotate(360deg)}}

/* الحقول */
.field{display:flex;flex-direction:column;gap:6px}
.field>label{font-size:12.5px;color:var(--wd-text-2)}
.input{height:46px;border:1px solid var(--wd-line-field);padding:0 12px;font-size:14px;width:100%;display:flex;align-items:center;justify-content:space-between;text-align:start;background:transparent}
.input:focus,.input.focus{border-color:var(--wd-live);caret-color:var(--wd-live)}
.input.err{border-color:var(--wd-annotate)}
.input::placeholder{color:var(--wd-text-3)}
textarea.input{height:auto;min-height:92px;padding:10px 12px;line-height:1.6;resize:vertical}
select.input{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:none}
select.input option{background:var(--wd-card);color:var(--wd-text)}
.selectwrap{position:relative}
.selectwrap::after{content:"⌄";position:absolute;left:12px;top:50%;transform:translateY(-62%);color:var(--wd-text-3);pointer-events:none}
.hint{font-size:12px;color:var(--wd-text-3)}
.errmsg{font-size:12px;color:var(--wd-annotate-on-dark)}
.okmsg{font-size:12px;color:var(--wd-primary-on-dark)}

/* المفتاح */
.switch{width:40px;height:22px;position:relative;border:1px solid rgba(232,238,236,.3);flex:none}
.switch i{position:absolute;right:2px;top:2px;width:16px;height:16px;background:var(--wd-text-3);transition:all .15s}
.switch[aria-checked=true]{background:var(--wd-primary);border-color:var(--wd-primary)}
.switch[aria-checked=true] i{right:auto;left:2px;background:var(--wd-primary-ink)}

/* الصفوف */
.rows>*{border-top:1px solid var(--wd-line-soft)}
.rowbtn{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:12px 0;min-height:var(--hit);width:100%;text-align:start}
.rowbtn .t{font-size:14px}
.rowbtn .s{font-size:12px;color:var(--wd-text-3)}
.setrow{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:14px 0;min-height:52px;border-bottom:1px solid var(--wd-line-soft);width:100%;text-align:start;font-size:14px}
.setrow:disabled{color:var(--wd-faint)}

/* المقطع المجزّأ (تبويبات داخلية) */
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:1px solid rgba(232,238,236,.2);font-size:13px}
.seg>button{padding:8px 0;text-align:center;min-height:38px}
.seg>button+button{border-right:1px solid rgba(232,238,236,.2)}
.seg>button[aria-selected=true]{background:var(--wd-text);color:var(--wd-ground);font-weight:600}
.seg.mono>button{font-family:var(--wd-mono);font-size:12.5px}

/* الشرائح الصغيرة (chips) للتصفية */
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;height:34px;padding:0 12px;border:1px solid rgba(232,238,236,.18);font-size:12.5px;color:var(--wd-text-2);display:inline-flex;align-items:center;gap:6px}
.chip[aria-pressed=true]{background:var(--wd-text);color:var(--wd-ground);border-color:var(--wd-text);font-weight:600}

/* نقطة الصوت والحالة الحيّة */
.dot{width:10px;height:10px;border-radius:50%;background:var(--wd-live);box-shadow:0 0 10px rgba(233,184,114,.7);flex:none;display:inline-block}
.dot.lg{width:12px;height:12px}
.dot.sm{width:8px;height:8px}
.dot.pulse{animation:pulse 1.6s ease-in-out infinite}
.dot.hollow{background:transparent;border:2px solid var(--wd-live);box-shadow:none}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}
.sq{width:6px;height:6px;display:inline-block;flex:none}
.sq.sqi{background:var(--wd-important)}.sq.sqz{background:var(--wd-primary)}

/* شريط التقدّم */
.bar{position:relative;height:6px;background:rgba(232,238,236,.08)}
.bar>i{position:absolute;right:0;top:0;bottom:0;background:var(--wd-primary);transition:width .4s linear}
.bar.thin{height:3px;background:rgba(232,238,236,.12)}
.bar.thin>i{background:var(--wd-live)}
.bar .cursor{position:absolute;top:-5px;width:2px;height:16px;background:var(--wd-live)}

/* التظليل */
.hl{background:var(--wd-highlight);color:#10131A;padding:0 4px;font-weight:700;border-radius:2px 6px 2px 7px}

/* الورقة السفلية */
.sheet-back{position:fixed;inset:0;background:rgba(5,10,11,.62);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease-out}
.sheet{width:100%;max-width:560px;background:var(--wd-card);border-top:1px solid rgba(232,238,236,.16);padding:18px 18px calc(18px + var(--safe-b));display:flex;flex-direction:column;gap:12px;max-height:88dvh;overflow-y:auto;animation:up .2s ease-out}
.sheet .grab{width:36px;height:3px;background:rgba(232,238,236,.25);align-self:center;flex:none}
.sheet .st{font-size:18px;font-weight:700}
.sheet .sb{font-size:13.5px;line-height:1.7;color:var(--wd-text-2)}
.sheet .acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.sheet .opt{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;min-height:50px;border-bottom:1px solid var(--wd-line-soft);text-align:start;width:100%;font-size:14.5px}
.sheet .opt:disabled{color:var(--wd-faint)}
.radio{width:16px;height:16px;border:1.5px solid rgba(232,238,236,.3);border-radius:50%;display:inline-block}
.radio.on{border:5px solid var(--wd-primary)}
@keyframes fade{from{opacity:0}}
@keyframes up{from{transform:translateY(24px);opacity:.6}}

/* الإشعار المؤقت */
.toasts{position:fixed;left:0;right:0;bottom:calc(84px + var(--safe-b));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:60;pointer-events:none;padding:0 var(--pad)}
.toast{background:var(--wd-card);border:1px solid rgba(232,238,236,.16);border-right:2px solid var(--wd-primary);padding:10px 14px;font-size:13.5px;max-width:520px;width:100%;pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:up .2s ease-out}
.toast.err{border-right-color:var(--wd-annotate)}
.toast.warn{border-right-color:var(--wd-live)}
.toast button{color:var(--wd-primary-on-dark);font-weight:600;min-height:32px}

/* شريط عدم الاتصال */
.offline{height:40px;background:var(--wd-live);color:var(--wd-important-text);display:flex;align-items:center;gap:8px;padding:0 var(--pad);font-size:13px;font-weight:600;flex:none}

/* هيكل التحميل */
.sk{background:rgba(232,238,236,.07);display:block;animation:sk 1.2s ease-in-out infinite}
@keyframes sk{0%,100%{background:rgba(232,238,236,.06)}50%{background:rgba(232,238,236,.12)}}

/* ---------- المكتبة ---------- */
.resume{display:grid;grid-template-columns:118px 1fr;gap:12px;align-items:center;text-align:start;width:100%}
.thumb{position:relative;height:66px;background:#fff;color:#1B2430;padding:8px;overflow:visible;direction:ltr;text-align:left}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb .tt{font-size:9px;font-weight:700;line-height:1.3;max-height:24px;overflow:hidden}
.thumb .tb{font-size:6px;line-height:1.7;color:#5A6370}
.libtools{display:flex;flex-direction:column;gap:10px}
.search{position:relative}
.search .input{padding-inline-start:38px}
.search svg{position:absolute;right:12px;top:13px;color:var(--wd-text-3);pointer-events:none}
.search .clear{position:absolute;left:0;top:0;width:46px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--wd-text-3)}
.group-h{font-family:var(--wd-mono);font-size:11.5px;color:var(--wd-text-3);padding:14px 0 6px;direction:ltr;text-align:right}
.lrow{display:grid;grid-template-columns:1fr auto 40px;gap:6px;align-items:center;border-top:1px solid var(--wd-line-soft)}
.lrow .open{display:flex;flex-direction:column;padding:11px 0;text-align:start;min-height:var(--hit)}
.lrow .open .t{font-size:14px;line-height:1.5}
.lrow .open .s{font-size:12px;color:var(--wd-text-3)}
.lrow .st{font-size:12px;color:var(--wd-text-3);white-space:nowrap}
.lrow .more{width:40px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--wd-text-3)}
.lrow.live{border-top:1px solid var(--wd-line);border-bottom:1px solid var(--wd-line);grid-template-columns:18px 1fr auto 40px}
.lrow.off{color:var(--wd-faint)}
.lrow.off .open .s,.lrow.off .st{color:var(--wd-faint)}
.empty-art{margin-top:40px;position:relative;height:150px;border:1px solid rgba(232,238,236,.14);display:flex;flex-direction:column;justify-content:center;padding:0 22px;gap:10px}
.empty-art i:not(.k){height:6px;display:block}

/* ---------- الرفع ---------- */
.drop{position:relative;min-height:170px;border:1px dashed rgba(232,238,236,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:16px 20px;width:100%;transition:background .15s}
.drop.over{background:rgba(233,184,114,.08);border-color:transparent}
.drop.bad{border-color:var(--wd-annotate)}
.filecard{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--wd-primary)}
.filecard.warn{border-color:var(--wd-live)}
.kv{display:grid;grid-template-columns:1fr auto;padding:11px 0;border-bottom:1px solid var(--wd-line-soft);font-size:13px;color:var(--wd-text-2)}
.cost{display:flex;flex-direction:column;gap:4px;padding-top:12px;border-top:1px solid var(--wd-line);font-size:13px;color:var(--wd-text-2)}
.cost>div{display:flex;justify-content:space-between}

/* ---------- التجهيز ---------- */
.slidegrid{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;font-family:var(--wd-mono);font-size:11px}
.slidegrid>span{height:30px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid var(--wd-line);color:var(--wd-faint)}
.slidegrid>span.done{border-color:rgba(42,157,143,.55);color:var(--wd-primary-on-dark)}
.slidegrid>span.cur{border:0;background:rgba(233,184,114,.12);color:var(--wd-live);font-weight:600;font-size:13px}
.slidegrid>span.fail{border:1.5px solid var(--wd-annotate);color:var(--wd-annotate-on-dark)}
.slidegrid>span.cur .k.tr{top:-3px;right:-3px;border-top-width:2px;border-right-width:2px}
.slidegrid>span.cur .k.tl{top:-3px;left:-3px;border-top-width:2px;border-left-width:2px}
.slidegrid>span.cur .k.br{bottom:-3px;right:-3px;border-bottom-width:2px;border-right-width:2px}
.slidegrid>span.cur .k.bl{bottom:-3px;left:-3px;border-bottom-width:2px;border-left-width:2px}
.tracks{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--wd-line)}
.track{display:grid;grid-template-columns:52px 1fr 44px;gap:10px;align-items:center;font-size:13px}
.track .n{font-family:var(--wd-mono);font-size:12px;text-align:left}
.stages{display:flex;flex-direction:column}
.stage{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--wd-line-soft);font-size:13px;color:var(--wd-faint)}
.stage.done{color:var(--wd-text-2)}.stage.done .ic{color:var(--wd-primary-on-dark)}
.stage.cur{color:var(--wd-live);font-weight:600}

/* ---------- المشاهدة ---------- */
.watch{flex:1;min-height:0;display:flex;flex-direction:column}
.watch>.wl{flex:none}
.watchbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;min-height:46px;border-bottom:1px solid var(--wd-line-soft)}
.watchbar .back{margin:0;flex:none}
.watchbar .wtitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.watch>.wr{flex:1;min-height:0;display:flex;flex-direction:column}
.vwrap{position:relative;background:#fff;aspect-ratio:16/9;width:100%;overflow:hidden;flex:none}
.vwrap video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;display:block}
.vwrap .veil{position:absolute;inset:0;background:rgba(15,27,29,.74);display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;color:var(--wd-text)}
.vwrap .vstatus{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--wd-text);background:rgba(15,27,29,.8);font-size:14px;text-align:center;padding:16px}
.vwrap .vprog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(232,238,236,.2)}
.vwrap .vprog i{position:absolute;right:0;top:0;bottom:0;background:var(--wd-live)}
.vwrap .tap{position:absolute;inset:0;width:100%;height:100%}
.controls{padding:10px 16px;display:flex;flex-direction:column;gap:6px;border-bottom:1px solid rgba(232,238,236,.1);flex:none}
.seek{position:relative;height:22px;cursor:pointer;touch-action:none}
.seek .rail{position:absolute;right:0;left:0;top:10px;height:2px;background:rgba(232,238,236,.18)}
.seek .fill{position:absolute;right:0;top:10px;height:2px;background:var(--wd-live)}
.seek .head{position:absolute;top:5px;width:3px;height:12px;background:var(--wd-live);transform:translateX(50%)}
.seek .m{position:absolute;top:8px;width:6px;height:6px;transform:translateX(50%)}
.times{display:flex;justify-content:space-between;font-family:var(--wd-mono);font-size:11px;color:var(--wd-text-3)}
.ctl{display:grid;grid-template-columns:48px 48px 1fr 48px 56px;gap:6px;align-items:center;font-family:var(--wd-mono);font-size:12px}
.ctl>button{height:46px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(232,238,236,.18)}
.ctl>button.play{background:var(--wd-primary);color:var(--wd-primary-ink);border:0}
.ctl .state{display:flex;align-items:center;gap:6px;font-family:var(--wd-font);font-size:12.5px;color:var(--wd-text-2);justify-content:center}
.chap{display:grid;grid-template-columns:30px 1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid var(--wd-line-soft);font-size:13px;width:100%;text-align:start;align-items:center;min-height:42px;position:relative}
.chap .n,.chap .tm{font-family:var(--wd-mono)}
.chap .tm{color:var(--wd-text-3)}
.chap.past{color:var(--wd-text-3)}
.chap.cur{background:rgba(233,184,114,.08);font-weight:600;padding:9px 8px;margin:0 -8px;width:calc(100% + 16px);border-bottom-color:transparent}
.chap.cur .n,.chap.cur .tm{color:var(--wd-live)}
.chap .tt{display:flex;gap:6px;align-items:center;justify-content:flex-start;min-width:0}
.chap .tt span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.legend{display:flex;gap:14px;font-size:11.5px;color:var(--wd-text-3);flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:5px}
.speedseg{display:flex;border:1px solid rgba(232,238,236,.2);font-family:var(--wd-mono);font-size:12.5px}
.speedseg button{flex:1;padding:9px 0;text-align:center;min-height:40px}
.speedseg button+button{border-right:1px solid rgba(232,238,236,.2)}
.speedseg button[aria-pressed=true]{background:var(--wd-text);color:var(--wd-ground)}

/* كرت سؤال التركيز */
.quiz{padding:14px var(--pad);display:flex;flex-direction:column;gap:11px;animation:up .2s ease-out}
.quiz .q{font-size:16px;font-weight:600;line-height:1.6;text-wrap:pretty}
.opts{display:flex;flex-direction:column;gap:7px;font-size:13.5px;line-height:1.5}
.opt{position:relative;display:grid;grid-template-columns:20px 1fr;gap:8px;padding:9px 11px;border:1px solid rgba(232,238,236,.22);text-align:start;width:100%;min-height:var(--hit);align-items:center}
.opt.sel{border:1.5px solid var(--wd-text);background:rgba(232,238,236,.06)}
.opt.ok{border-color:var(--wd-primary);background:rgba(42,157,143,.1)}
.opt.ok .l{color:var(--wd-primary-on-dark);font-weight:700}
.opt.bad{border-color:var(--wd-annotate)}
.opt.bad .l{color:var(--wd-annotate-on-dark);font-weight:700}
.opt.dim{border-color:rgba(232,238,236,.14);color:var(--wd-text-3)}
.opt .mine{color:#FF8A93;font-size:12px}
.why{font-size:13.5px;line-height:1.7;color:#C9D4D2}
.why b{color:var(--wd-text)}

/* ---------- الملخص ---------- */
.defrow{display:grid;grid-template-columns:58px minmax(0,1fr);border-top:1px solid rgba(232,238,236,.14)}
.defrow:last-child{border-bottom:1px solid rgba(232,238,236,.14)}
.defrow .sl{border-left:1px solid rgba(232,238,236,.14);display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 0;font-size:11px;color:var(--wd-text-3);font-weight:600}
.defrow .sl b{font-family:var(--wd-mono);font-size:15px;color:var(--wd-text);font-weight:400}
.defrow .bd{padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.defrow .orig{font-size:14.5px;line-height:1.6;overflow-wrap:anywhere}
.defrow .orig[dir=ltr]{text-align:left}
.defrow .tr{font-size:12.5px;line-height:1.65;color:var(--wd-text-2)}
.eqbox{position:relative;border:1px solid rgba(232,238,236,.2);background:var(--wd-card);padding:14px;display:flex;flex-direction:column;gap:10px}
.eqbox .k{--k:var(--wd-text);width:9px;height:9px}
.math{font-family:var(--wd-mono);direction:ltr;unicode-bidi:isolate;display:inline-block;white-space:normal;line-height:1.5}
.math .frac{display:inline-flex;flex-direction:column;align-items:center;font-size:.82em;vertical-align:middle;margin:0 .2em}
.math .frac>span:first-child{padding:0 4px 3px}
.math .frac>span:last-child{border-top:1.5px solid currentColor;padding:3px 4px 0}
.eqbig{font-size:22px;padding:4px 0;display:flex;justify-content:center}
.stepbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px}
.stepbar i{height:4px;background:rgba(232,238,236,.12)}
.stepbar i.on{background:var(--wd-primary)}
.step{display:grid;grid-template-columns:20px 1fr;gap:6px;font-size:13px;line-height:1.6;color:var(--wd-text-3);animation:up .2s ease-out}
.step.cur{color:var(--wd-text);font-weight:600;background:rgba(42,157,143,.1);padding:6px 4px;margin:0 -4px}
.step.cur>span:first-child{color:var(--wd-primary-on-dark)}
.step .val{display:block;text-align:right;font-family:var(--wd-mono);direction:ltr;unicode-bidi:isolate;color:var(--wd-primary-on-dark);font-weight:500}
.reveal{height:42px;border:1px dashed rgba(232,238,236,.3);display:flex;align-items:center;justify-content:center;gap:6px;color:var(--wd-primary-on-dark);font-weight:600;font-size:13.5px;width:100%}
.reveal.ans{border-color:rgba(230,57,70,.7);color:var(--wd-annotate-on-dark)}
.answer{display:flex;align-items:baseline;gap:10px;padding:10px 12px;border:1px solid var(--wd-annotate);flex-wrap:wrap}
.answer .lb{font-size:12px;color:var(--wd-annotate-on-dark)}
.answer .v{font-size:16px;line-height:1.6}
.eqlist .eqrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--wd-line-soft);align-items:center;font-size:13px;width:100%;text-align:start;min-height:var(--hit)}
.eqlist .eqrow.on{background:rgba(42,157,143,.06)}
.eqlist .eqrow .math{justify-content:flex-start;font-size:13.5px}

/* ---------- الواجب ---------- */
.qtabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(52px,1fr);gap:4px;font-family:var(--wd-mono);font-size:12px;overflow-x:auto}
.qtabs button{height:34px;border:1px solid rgba(232,238,236,.16);color:var(--wd-text-3);position:relative}
.qtabs button.done{border-color:var(--wd-primary);color:var(--wd-primary-on-dark)}
.qtabs button.cur{border:0;background:rgba(233,184,114,.12);color:var(--wd-live)}
.solgrid{display:grid;grid-template-columns:58px minmax(0,1fr);border-top:1px solid rgba(232,238,236,.14)}
.solgrid>.lb{border-left:1px solid rgba(232,238,236,.14);font-size:11.5px;color:var(--wd-text-3);font-weight:600;text-align:center;padding-top:12px}
.solgrid>.lb.red{color:var(--wd-annotate-on-dark)}
.solgrid>.bd{padding:12px 14px;min-width:0}
.solgrid>*:nth-child(n+3){border-top:1px solid var(--wd-line-soft)}
.hwpick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hwpick>label,.hwpick>button{position:relative;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:15px;cursor:pointer;text-align:center}
.hwpick .cam{background:var(--wd-primary);color:var(--wd-primary-ink);font-weight:700}
.hwpick .file{border:1px dashed rgba(232,238,236,.3)}
.hwimg{max-width:100%;max-height:180px;object-fit:contain;background:#fff;align-self:center;border:1px solid var(--wd-line)}

/* ---------- المحادثة ---------- */
.msgs{padding:16px var(--pad);display:flex;flex-direction:column;gap:16px}
.me{align-self:flex-end;max-width:82%;padding:10px 12px;background:rgba(42,157,143,.14);border:1px solid rgba(42,157,143,.4);font-size:14px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
.bot{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.7;max-width:92%;overflow-wrap:anywhere}
.bot .who{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--wd-text-3)}
.refchip{align-self:flex-start;padding:6px 10px;border:1px solid rgba(232,238,236,.2);font-size:12.5px;min-height:36px}
.composer{display:grid;grid-template-columns:1fr 46px;gap:8px;align-items:end}
.composer textarea{min-height:46px;max-height:140px;height:46px;resize:none;padding:11px 12px}
.composer .send{width:46px;height:46px;background:var(--wd-primary);color:var(--wd-primary-ink);display:flex;align-items:center;justify-content:center}
.composer .send:disabled{opacity:.45}

/* ---------- الباقات ---------- */
.plan{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(232,238,236,.14);width:100%;text-align:start}
.plan.on{padding:13px 10px;margin:0 -10px;width:calc(100% + 20px);background:rgba(42,157,143,.1);border:1px solid var(--wd-primary)}
.plan .pr{font-family:var(--wd-mono);font-size:15px}
.plan .pr small{font-size:11px;color:var(--wd-text-3)}
.note{font-size:12px;line-height:1.6;color:var(--wd-text-3);padding:8px 10px;border:1px dashed rgba(232,238,236,.2)}
.paym{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:13px}
.paym button{height:44px;border:1px solid rgba(232,238,236,.2)}
.paym button[aria-pressed=true]{border:1.5px solid var(--wd-text);font-weight:600}

/* ---------- الطباعة (ملخص PDF) ---------- */
.printpage{background:#fff;color:#161C1D;min-height:100%;padding:clamp(18px,6vw,.6in);font-size:11.5pt;line-height:1.6;max-width:210mm;margin:0 auto}
.printpage .ph{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:14pt;border-bottom:1.5pt solid #161C1D}
.printpage h2{font-size:14pt;margin:18pt 0 6pt;font-weight:700}
.printpage .pd{display:grid;grid-template-columns:44pt 1fr;border-top:.75pt solid #C9CDCB;padding:8pt 0;break-inside:avoid}
.printpage .pd b{background:rgba(255,200,0,.45);padding:0 3pt}
.printpage .pe{border:.75pt solid #C9CDCB;padding:10pt 12pt;margin-bottom:10pt;break-inside:avoid}
.printpage .pe.first{border-color:#161C1D}
.printpage .muted{color:#5E6766}
.printpage .math .frac>span:last-child{border-top-color:#161C1D}
.printbar{position:sticky;top:0;z-index:5;display:flex;gap:8px;justify-content:space-between;align-items:center;padding:10px var(--pad);background:var(--wd-sunk);border-bottom:1px solid var(--wd-line)}

/* ---------- مبدّل الحالات (للمطوّر فقط) ---------- */
.devpanel{position:fixed;left:8px;top:calc(8px + var(--safe-t));z-index:80;background:#000;border:1px dashed var(--wd-live);font-size:12px;padding:8px;display:flex;flex-direction:column;gap:4px;max-width:200px}
.devpanel button{text-align:start;padding:4px 6px;border:1px solid #333;min-height:28px}

/* ---------- العرض العريض ---------- */
@media (min-width:640px){
  .scroll .pad{padding-inline:28px}
}
@media (min-width:1024px){
  .shell{grid-template-rows:minmax(0,1fr);grid-template-columns:232px minmax(0,1fr)}
  .shell.no-tabs{grid-template-columns:minmax(0,1fr)}
  .tabbar{grid-row:1;grid-column:1;grid-template-columns:1fr;grid-auto-rows:min-content;align-content:start;border-top:0;border-left:1px solid var(--wd-line-soft);padding:18px 0;font-size:14px;gap:2px}
  .tabbar .brand{display:flex;padding:0 18px 22px}
  .tabbar a{flex-direction:row;justify-content:flex-start;gap:12px;padding:0 18px;min-height:50px}
  .tabbar a.on{box-shadow:inset -2px 0 0 var(--wd-primary);background:rgba(42,157,143,.06)}
  .tabbar .badge{top:50%;transform:translateY(-50%);inset-inline-start:auto;left:18px}
  .main{grid-row:1;grid-column:2}
  .shell:not(.no-tabs) .topline .brandline{visibility:hidden}
  .shell.no-tabs .main{grid-column:1}
  /* شريط الأفعال يصير عمود يسار */
  .screen.has-actions{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-template-rows:minmax(0,1fr)}
  .screen.has-actions>.scroll{grid-column:1;grid-row:1}
  .screen.has-actions>.actionbar{grid-column:2;grid-row:1;border-top:0;border-right:1px solid var(--wd-line);align-content:start;align-items:stretch;grid-template-columns:1fr!important;padding:24px 20px;gap:12px}
  .screen.has-actions>.actionbar .btn{width:100%}
  .toasts{bottom:24px}
  .scroll .pad{padding:28px 40px}
  /* المشاهدة: الفيديو في الوسط والسلايدات يسار */
  .watch.wide{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:minmax(0,1fr);height:100%}
  .watch.wide>.wl{overflow-y:auto;min-height:0}
  .watch.wide>.wr{border-right:1px solid var(--wd-line);display:flex;flex-direction:column;min-height:0}
  .watch.wide>.wr>.scroll{flex:1}
  .watch.wide .vwrap{max-height:calc(100dvh - 190px)}
  .sheet-back{align-items:center}
  .sheet{border:1px solid rgba(232,238,236,.16)}
}
@media (min-width:1400px){ .tabbar{grid-template-columns:1fr} .shell{grid-template-columns:260px minmax(0,1fr)} }

@media print{
  body{overflow:visible;background:#fff}
  .shell{display:block;height:auto}
  .tabbar,.printbar,.toasts,.devpanel,.offline{display:none!important}
  .main,.screen,.scroll{display:block;overflow:visible;height:auto}
  .printpage{padding:0;max-width:none}
  @page{size:A4;margin:.6in}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
