﻿/* ContentAI — Viewer Styles */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--gold:#d4af37;--emerald:#4d966e;--crimson:#c84b4b;--r:12px;--tr:.3s cubic-bezier(.4,0,.2,1);--font:'Cairo',sans-serif;--font-body:'Amiri',serif}
html[data-theme="dark"],.theme-dark{--bg:#0a0d16;--bg2:#111520;--bg3:#1a1f30;--txt:#e8e4d8;--txt2:#a09880;--brd:rgba(255,255,255,.08);--card:rgba(255,255,255,.04);--shadow:0 8px 32px rgba(0,0,0,.5)}
html[data-theme="light"],.theme-light{--bg:#faf8f5;--bg2:#f0ece4;--bg3:#e8e2d6;--txt:#2a2520;--txt2:#6a5f50;--brd:rgba(0,0,0,.1);--card:rgba(255,255,255,.8);--shadow:0 8px 32px rgba(0,0,0,.1);--gold-btn-txt:#ffffff}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--txt);min-height:100vh;transition:background var(--tr),color var(--tr)}

/* TOPBAR */
.topbar{position:sticky;top:calc(var(--pnav-h,50px) + env(safe-area-inset-top,0px));z-index:100;background:var(--bg2);border-bottom:1px solid var(--brd);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:0 1rem;height:56px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.topbar-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;overflow:hidden}
.topbar-right{display:flex;align-items:center;gap:.4rem;flex-shrink:0}
.project-title{font-size:1rem;font-weight:700;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.icon-btn{background:none;border:1px solid var(--brd);border-radius:8px;padding:.3rem .55rem;cursor:pointer;color:var(--txt);font-size:.85rem;white-space:nowrap;transition:border-color var(--tr)}
.icon-btn:hover{border-color:var(--gold)}
#backBtn{display:inline-flex!important;align-items:center!important;gap:.35rem!important;padding:.42rem 1rem!important;border-radius:12px!important;background:rgba(212,175,55,.10)!important;border:1.5px solid rgba(212,175,55,.28)!important;color:var(--gold)!important;font-family:var(--font)!important;font-size:.85rem!important;font-weight:800!important;min-height:40px!important;min-width:44px!important}
#backBtn:hover{background:rgba(212,175,55,.2)!important;border-color:rgba(212,175,55,.5)!important}
html[data-theme="light"] #backBtn{background:rgba(180,140,30,.1)!important;border-color:rgba(180,140,30,.3)!important;color:var(--gold)!important}
html[data-theme="light"] #backBtn:hover{background:rgba(180,140,30,.2)!important;border-color:rgba(180,140,30,.5)!important}
@media(max-width:360px){#backBtn .back-label{display:none}}
.sel-sm{background:var(--bg3);color:var(--txt);border:1px solid var(--brd);border-radius:8px;padding:.3rem .5rem;font-family:var(--font);font-size:.86rem;cursor:pointer}

/* READ PROGRESS */
.read-progress{position:fixed;top:calc(var(--pnav-h,50px) + env(safe-area-inset-top,0px) + 56px);left:0;height:3px;background:var(--gold);width:0;z-index:99;transition:width .1s linear}

/* SIDEBAR — دائماً من اليمين بغض النظر عن RTL/LTR */
.sidebar{position:fixed;top:calc(var(--pnav-h,50px) + env(safe-area-inset-top,0px));bottom:0;right:0;width:280px;background:var(--bg2);border-left:1px solid var(--brd);z-index:200;transform:translateX(100%);visibility:hidden;pointer-events:none;transition:transform .25s ease,visibility .25s;display:flex;flex-direction:column}
.sidebar.open{transform:translateX(0);visibility:visible;pointer-events:auto}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:199;backdrop-filter:blur(2px)}
.sidebar-header{padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--brd)}
.logo{font-size:1.1rem;font-weight:700;color:var(--gold)}
.toc{padding:.5rem}
.toc-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;border-radius:8px;text-decoration:none;color:var(--txt2);font-size:.87rem;transition:background var(--tr),color var(--tr);margin-bottom:.2rem}
.toc-item:hover,.toc-item.active{background:rgba(212,175,55,.1);color:var(--gold)}
.toc-num{width:24px;height:24px;border-radius:50%;background:var(--bg3);display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0}
.toc-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.toc-status{flex-shrink:0;font-size:.86rem}
/* SIDEBAR TABS */
.sidebar-tabs{display:flex;border-bottom:1px solid var(--brd);flex-shrink:0}
.stab{flex:1;background:none;border:none;border-bottom:2px solid transparent;padding:.7rem .5rem;font-family:var(--font);font-size:.85rem;color:var(--txt2);cursor:pointer;transition:color var(--tr),border-color var(--tr)}
.stab.active{color:var(--gold);border-bottom-color:var(--gold)}
.stab:hover:not(.active){color:var(--txt)}
.sidebar-panel{flex:1;overflow-y:auto;padding:.5rem}
.sidebar-panel.hidden{display:none!important}
/* EXPORT PANEL */
.export-panel{display:flex;flex-direction:column;gap:.5rem;padding:.25rem}
.export-hint{font-size:.85rem;color:var(--txt2);text-align:center;padding:.25rem 0 .5rem;line-height:1.5}
.export-sep{height:1px;background:var(--brd);margin:.25rem 0}
.sidebar-action{background:var(--bg3);color:var(--txt);border:1px solid var(--brd);border-radius:8px;padding:.6rem 1rem;font-family:var(--font);font-size:.87rem;text-align:center;cursor:pointer;text-decoration:none;display:block;transition:border-color var(--tr),color var(--tr)}
.sidebar-action:hover{border-color:var(--gold);color:var(--gold)}

/* READER */
.reader{max-width:min(1080px,96vw);margin:0 auto;padding:2rem 1.25rem 5rem;direction:rtl}

/* BAREME BANNER */
.bareme-banner{background:rgba(212,175,55,.07);border:1px solid rgba(212,175,55,.25);border-radius:var(--r);padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.87rem;color:var(--txt2);white-space:pre-line;line-height:1.7}

/* COVER */
/* ─── COVER FORMEL — رأسية رسمية ميدانية ─── */
.cover-section{border-radius:var(--r);margin-bottom:2rem;overflow:hidden}
.cover-formal{background:var(--bg2);border:1px solid var(--brd);border-top:3px solid var(--gold)}
.cover-formal-inner{padding:2rem 2.25rem 1.75rem;direction:rtl}
.cover-meta-line{font-size:.85rem;font-weight:600;color:var(--txt2);letter-spacing:.04em;margin-bottom:.85rem;opacity:.85}
.cover-title-formal{font-size:clamp(1.35rem,3.5vw,2rem);font-weight:900;color:var(--txt);line-height:1.4;margin-bottom:.85rem;border-bottom:1px solid var(--brd);padding-bottom:.85rem}
.cover-articles{font-size:.88rem;color:var(--txt2);margin-bottom:.85rem}
.cover-objective{font-size:.9rem;color:var(--txt2);line-height:1.85;margin-bottom:.85rem;font-style:italic}
.cover-disclaimer{font-size:.82rem;color:var(--txt2);opacity:.6;margin-top:.5rem}
.cover-reviewer{display:flex;align-items:center;gap:.5rem;margin-top:.85rem;padding:.55rem .9rem;background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.25);border-radius:6px}
.cover-reviewer-label{font-size:.82rem;color:var(--txt2);opacity:.8}
.cover-reviewer-name{font-size:.85rem;font-weight:700;color:var(--gold)}
.empty-action-btn{display:inline-block;margin-top:.25rem;padding:.5rem 1.1rem;background:var(--gold);color:#000;border-radius:6px;font-weight:700;font-size:.85rem;text-decoration:none;transition:opacity .2s}.empty-action-btn:hover{opacity:.85}
.cover-desc{max-width:560px;margin:0 auto .75rem;color:var(--txt2);line-height:1.8;font-size:.95rem}
.keywords{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:.75rem}
.tag{background:rgba(212,175,55,.15);color:var(--gold);padding:.2rem .65rem;border-radius:20px;font-size:.85rem;border:1px solid rgba(212,175,55,.3)}
.objectives{list-style:none;margin-top:1rem;text-align:right}
.objectives li::before{content:'✦ ';color:var(--gold)}
.objectives li{margin-bottom:.3rem;font-size:.9rem;color:var(--txt2)}
.sources-note{margin-top:.75rem;font-size:.86rem;color:var(--txt2);font-style:italic}

/* PARAGRAPH */
.paragraph-block{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);margin-bottom:2.5rem;overflow:hidden}
.para-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--bg3);border-bottom:1px solid var(--brd)}
.para-num{width:34px;height:34px;background:var(--gold);color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}
.para-title{flex:1;font-size:1.05rem;font-weight:700}
.para-schema{width:100%;overflow:hidden;border-radius:10px;margin-bottom:.25rem;line-height:1}
.para-schema svg{width:100%;height:auto;display:block;max-height:240px}
.para-body{padding:1.5rem;font-family:var(--font-body);font-size:clamp(17px,2.4vw,19px);line-height:2;direction:rtl;text-align:justify;color:var(--txt)}
.para-body p{margin-bottom:1rem;text-align:justify}
.para-summary{border-inline-start:4px solid var(--gold);padding:.65rem 1rem;background:rgba(212,175,55,.06);color:var(--txt2);font-style:italic;border-radius:0 8px 8px 0;margin-top:1rem}
.juris-box,.clinical-box{margin-top:.75rem;padding:.6rem 1rem;background:rgba(77,150,110,.08);border-radius:8px;font-size:.88rem;color:var(--txt2)}
.formulas-box{font-family:monospace;background:var(--bg3);padding:.5rem 1rem;border-radius:8px;margin-top:.5rem;font-size:.9rem}
.code-block{background:#111828;padding:1rem;border-radius:8px;overflow-x:auto;font-family:monospace;font-size:.88rem;margin-top:.5rem;color:#e2e8f0}
.vocab-box{margin-top:.75rem;padding:.5rem 1rem;background:rgba(212,175,55,.06);border-radius:8px;font-size:.87rem;color:var(--txt2)}

/* ===== JUDICIAL TEMPLATE EXTRAS ===== */
.jud-extras{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem}
/* تسمية فوق المحتوى */
.jud-label{font-family:var(--font);font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:.38rem;opacity:.85}
.jud-text{font-family:var(--font);font-size:.9rem;color:var(--txt2);line-height:1.75}
/* بنية مشتركة لكل الكتل */
.jud-legal-basis,.jud-practical,.jud-exam-tip,.jud-errors,.jud-terms{border-radius:10px;padding:.7rem 1rem .75rem}
/* السند القانوني: حيادي */
.jud-legal-basis{background:var(--bg3);border:1px solid var(--brd)}
.jud-legal-basis .jud-label{color:var(--txt2)}
/* الملاحظة العملية: أخضر خفيف */
.jud-practical{background:rgba(77,150,110,.06);border:1px solid rgba(77,150,110,.18)}
.jud-practical .jud-label{color:#4d966e}
/* التنبيه الامتحاني: ذهبي/برتقالي */
.jud-exam-tip{background:rgba(200,150,46,.06);border:1px solid rgba(200,150,46,.22)}
.jud-exam-tip .jud-label{color:#c8962e}
/* الأخطاء الشائعة: أحمر خفيف */
.jud-errors{background:rgba(200,75,75,.05);border:1px solid rgba(200,75,75,.18)}
.jud-errors .jud-label{color:#c84b4b}
.jud-errors-list{padding-inline-start:1.2rem;display:flex;flex-direction:column;gap:.28rem;margin-top:.1rem}
.jud-errors-list li{font-size:.88rem;color:var(--txt2);line-height:1.65}
/* المصطلحات */
.jud-terms{background:var(--bg3);border:1px solid var(--brd)}
.jud-terms-title{font-family:var(--font);font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--txt2);margin-bottom:.55rem;opacity:.85}
.jud-terms-list{display:flex;flex-direction:column;gap:.45rem}
.jud-term-item{border-inline-start:2px solid var(--brd);padding-inline-start:.75rem;line-height:1.6}
.jud-term-name{display:block;font-family:var(--font);font-size:.87rem;font-weight:700;color:var(--txt)}
.jud-term-def{display:block;font-family:var(--font);font-size:.86rem;color:var(--txt2);margin-top:.1rem}
/* كتل النصوص الحرة (juris / clinical) */
.juris-box,.clinical-box{margin-top:.65rem;border-radius:10px;padding:.65rem 1rem;font-family:var(--font);font-size:.9rem;color:var(--txt2);line-height:1.75}
.juris-box{background:rgba(77,150,110,.06);border:1px solid rgba(77,150,110,.18)}
.clinical-box{background:var(--bg3);border:1px solid var(--brd)}
.jud-box-label{font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:.35rem}
.juris-box .jud-box-label{color:#4d966e}
.clinical-box .jud-box-label{color:var(--txt2)}

/* بطاقة المراجعة */
.review-card{background:linear-gradient(135deg,rgba(212,175,55,.08),rgba(212,175,55,.04));border:2px solid rgba(212,175,55,.35);border-radius:var(--r);padding:1.5rem;margin:2rem 0}
.review-card-title{font-size:1.05rem;font-weight:900;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.review-card-body{counter-reset:review-item}
.review-card-body p{font-size:.88rem;color:var(--txt2);line-height:1.7;padding:.25rem 0;border-bottom:1px solid var(--brd)}
.review-card-body p:last-child{border-bottom:none}

/* السند في QCM */
.qcm-snad{font-size:.82rem;color:var(--gold);background:rgba(212,175,55,.08);border:1px solid rgba(212,175,55,.2);border-radius:6px;padding:.2rem .6rem;display:inline-block;margin-bottom:.5rem}
.qcm-exam-alert{font-size:.85rem;color:#c8962e;background:rgba(200,150,46,.08);border:1px solid rgba(200,150,46,.25);border-radius:6px;padding:.35rem .65rem;margin-top:.4rem}

/* BOOK TEMPLATE */
.dedication-block{text-align:center;padding:2.5rem 2rem;border:1px solid rgba(212,175,55,.2);border-radius:var(--r);margin-bottom:2rem;background:rgba(212,175,55,.04);font-family:var(--font-body);font-style:italic;font-size:1.1rem;color:var(--txt2);line-height:2}
.dedication-block::before{content:'✦';display:block;font-size:1.5rem;color:var(--gold);margin-bottom:1rem;font-style:normal}
.chapter-num{color:var(--gold);font-size:.86rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:.25rem}
.chapter-summary{border-inline-start:4px solid var(--gold);padding:.75rem 1.2rem;background:rgba(212,175,55,.06);border-radius:0 10px 10px 0;font-style:italic;color:var(--txt2);margin-top:1.2rem;font-size:.95rem;line-height:1.8}

/* RESEARCH TEMPLATE */
.abstract-block{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);padding:1.5rem 2rem;margin-bottom:2rem}
.abstract-block h3{color:var(--gold);font-size:1rem;margin-bottom:.75rem;letter-spacing:.5px}
.abstract-block p{color:var(--txt2);line-height:2;font-family:var(--font-body);text-align:justify}
.abstract-en{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--brd);direction:ltr;text-align:left;font-family:var(--font-body);color:var(--txt2);line-height:1.9;font-size:.95rem}
.section-label{display:inline-block;background:rgba(212,175,55,.12);color:var(--gold);border:1px solid rgba(212,175,55,.25);border-radius:20px;font-size:.82rem;font-weight:700;padding:.15rem .65rem;margin-bottom:.5rem;letter-spacing:.5px}
.references-block{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);padding:1.5rem;margin-top:2rem}
.references-block h3{color:var(--gold);margin-bottom:1rem;font-size:1rem}
.ref-item{color:var(--txt2);font-size:.88rem;line-height:1.8;padding:.35rem 0;border-bottom:1px solid var(--brd)}
.ref-item:last-child{border-bottom:none}
.ref-num{color:var(--gold);font-weight:700;margin-inline-end:.5rem}

/* QCM */
.qcm-zone{border-top:1px solid var(--brd);padding:1.25rem}
.qcm-loading{display:flex;align-items:center;gap:.6rem;color:var(--txt2);font-size:.9rem;padding:.5rem 0}
.mini-spinner{width:16px;height:16px;border:2px solid var(--brd);border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}
.qcm-box{background:var(--bg3);border-radius:10px;padding:1.25rem}
.qcm-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}
.qcm-header h3{font-size:1rem;font-weight:700;color:var(--gold)}
.qcm-bareme-mini{font-size:.85rem;color:var(--txt2);background:rgba(212,175,55,.08);padding:.2rem .6rem;border-radius:20px}
.question{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--brd)}
.question:last-of-type{border-bottom:none}
.q-text{font-weight:600;margin-bottom:.65rem;line-height:1.6;font-size:.95rem}
.q-opts{display:flex;flex-direction:column;gap:.4rem}
.opt-label{display:flex;align-items:center;gap:.65rem;padding:.5rem .85rem;border-radius:8px;border:1px solid var(--brd);cursor:pointer;font-size:.9rem;transition:border-color var(--tr),background var(--tr)}
.opt-label:hover{border-color:var(--gold);background:rgba(212,175,55,.06)}
.opt-label input{accent-color:var(--gold);width:16px;height:16px;flex-shrink:0}
.q-feedback{margin-top:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;line-height:1.6}
.q-feedback.correct{background:rgba(77,150,110,.12);color:var(--emerald)}
.q-feedback.wrong{background:rgba(200,75,75,.1);color:var(--crimson)}
.qcm-actions{margin-top:1rem}
.qcm-result{margin-top:1rem;border-top:1px solid var(--brd);padding-top:1rem}
.qcm-err{color:var(--crimson);font-size:.88rem;padding:.5rem}

/* RESULTS */
.result-pass,.result-fail{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:1rem;border-radius:10px;text-align:center}
.result-pass{background:rgba(77,150,110,.08)}
.result-fail{background:rgba(200,75,75,.06)}
.result-score{font-size:2.2rem;font-weight:900;color:var(--gold)}
.result-20{font-size:.9rem;color:var(--txt2)}
.result-badge{font-size:.9rem;font-weight:600;padding:.25rem .75rem;border-radius:20px}
.result-pass .result-badge{background:rgba(77,150,110,.15);color:var(--emerald)}
.result-fail .result-badge{background:rgba(200,75,75,.1);color:var(--crimson)}
.advice-box{background:rgba(212,175,55,.06);border-radius:8px;padding:.75rem 1rem;text-align:right;font-size:.85rem;color:var(--txt2);line-height:1.8;width:100%}

/* EXAM */
.exam-section{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:1.5rem;margin-bottom:2rem}
.exam-header{text-align:center;margin-bottom:1.5rem}
.exam-header h2{color:var(--gold);font-size:1.4rem;margin-bottom:.5rem}
.exam-header p{color:var(--txt2);font-size:.9rem;margin-bottom:1rem}
.bareme-box{background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.2);border-radius:8px;padding:.75rem 1rem;font-size:.88rem;color:var(--txt2);white-space:pre-line;line-height:1.7;margin-bottom:1rem;text-align:right}
.exam-q{background:var(--bg3);border-radius:10px;padding:1rem;margin-bottom:1rem}
.exam-submit-bar{text-align:center;margin-top:1.5rem}
.exam-result{margin-top:1.5rem;padding:1.5rem;border-radius:var(--r);text-align:center}
.exam-result.pass{background:rgba(77,150,110,.08);border:1px solid rgba(77,150,110,.25)}
.exam-result.fail{background:rgba(200,75,75,.06);border:1px solid rgba(200,75,75,.2)}
.big-score{font-size:4rem;font-weight:900;color:var(--gold);line-height:1}
.big-score span{font-size:2rem;color:var(--txt2)}
.score-20{font-size:1.1rem;color:var(--txt2);margin:.5rem 0}
.pass-label{font-size:1rem;font-weight:700;margin-bottom:1rem}
.weak-advice{margin-top:1rem;text-align:right}
.weak-advice h4{color:var(--gold);margin-bottom:.5rem;font-size:.95rem}
.weak-item{color:var(--txt2);font-size:.87rem;padding:.2rem 0}

/* CERTIFICATE */
.cert-section{margin-bottom:2rem}
.cert-box{background:var(--card);border:1px solid var(--brd);border-radius:var(--r);padding:1.5rem;text-align:center}
.cert-box h2{color:var(--gold);margin-bottom:.75rem}
.field-input{width:100%;padding:.85rem 1rem;background:var(--bg3);color:var(--txt);border:2px solid var(--brd);border-radius:var(--r);font-family:var(--font);font-size:1rem;transition:border-color var(--tr);margin:.5rem 0}
.field-input:focus{outline:none;border-color:var(--gold)}
.certificate{max-width:520px;margin:0 auto;background:linear-gradient(135deg,#120e04,#231a06);border:2px solid var(--gold);border-radius:var(--r);padding:2.5rem 2rem;text-align:center}
.cert-ornament{color:var(--gold);font-size:1rem;letter-spacing:.5rem;margin:.5rem 0}
.cert-main-title{color:var(--gold);font-size:1.6rem;font-weight:900;margin:1rem 0 .5rem}
.cert-given{color:var(--txt2);font-size:.85rem;margin-bottom:.25rem}
.cert-student{font-size:1.8rem;font-weight:900;margin-bottom:.5rem}
.cert-subject{color:var(--txt2);font-size:.88rem;margin-bottom:.25rem}
.cert-topic{font-size:1.1rem;font-weight:700;color:var(--gold);margin-bottom:1rem}
.cert-score-row{display:flex;gap:1rem;justify-content:center;margin:.75rem 0}
.cert-pct{font-size:2rem;font-weight:900;color:var(--gold)}
.cert-pts{font-size:1rem;color:var(--txt2);align-self:flex-end;margin-bottom:.35rem}
.cert-code{font-size:.86rem;color:var(--txt2);margin:.5rem 0}
.cert-date{font-size:.85rem;color:var(--txt2);margin-bottom:1rem}
.cert-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}

/* BUTTONS */
.btn-gold{background:var(--gold);color:#000;border:none;border-radius:var(--r);padding:.65rem 1.3rem;font-family:var(--font);font-size:.93rem;font-weight:700;cursor:pointer;transition:opacity var(--tr),transform var(--tr);display:inline-block;text-decoration:none}
.btn-gold:hover:not(:disabled){opacity:.85;transform:translateY(-2px)}
.btn-gold.btn-lg{padding:.9rem;font-size:1rem;width:100%;margin-top:1rem}
.btn-gold.btn-xl{padding:1rem;font-size:1.05rem;width:100%}
.btn-gold:disabled{opacity:.4;cursor:not-allowed}
.btn-outline{background:none;color:var(--gold);border:1.5px solid var(--gold);border-radius:var(--r);padding:.65rem 1.3rem;font-family:var(--font);font-size:.93rem;font-weight:600;cursor:pointer;transition:background var(--tr);text-decoration:none;display:inline-block}
.btn-outline:hover{background:rgba(212,175,55,.1)}

/* ERROR */
.error-box{text-align:center;padding:4rem 2rem}
.error-box h2{color:var(--gold);margin-bottom:1rem}

/* TOAST */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%);padding:.7rem 1.4rem;border-radius:8px;font-family:var(--font);font-size:.9rem;z-index:999;max-width:90vw;text-align:center;animation:slideUp .3s ease}
@keyframes slideUp{from{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.toast-info{background:var(--bg3);color:var(--txt);border:1px solid var(--brd)}
.toast-error{background:rgba(200,75,75,.93);color:#fff}
.toast-success{background:rgba(77,150,110,.93);color:#fff}

/* UTILS */
.hidden{display:none!important}

/* PRINT */
@media print{
  .topbar,.sidebar,.scrim,.read-progress,.qcm-zone,.sidebar-footer{display:none!important}
  .certificate{background:#fff!important;color:#000!important;border-color:#000!important}
  .cert-main-title,.cert-topic,.cert-ornament{color:#000!important}
}

@media(max-width:600px){
  .reader{padding:1rem .75rem 3rem}
  .para-body{padding:1rem}
  .cover-section{padding:2rem 1rem}
  .topbar-right .icon-btn:nth-child(n+4){display:none}
}

/* ── LESSON PRACTICE CTA (نهاية القارئ) ── */
.lesson-practice-cta{
  background:var(--bg2);border:1.5px solid rgba(212,175,55,.25);border-radius:16px;
  padding:2rem 1.5rem;text-align:center;margin-top:2rem;
}
.lpc-icon{font-size:2.2rem;margin-bottom:.5rem}
.lpc-title{font-size:1.15rem;font-weight:900;color:var(--gold);margin-bottom:.3rem}
.lpc-sub{font-size:.85rem;color:var(--txt2);margin-bottom:1.1rem}
.lpc-btn{background:var(--gold);color:#000;border:none;border-radius:9px;padding:.65rem 1.8rem;font-family:var(--font);font-size:.95rem;font-weight:800;cursor:pointer;transition:opacity .2s}
.lpc-btn:hover{opacity:.85}
.lpc-qcm{text-align:right;margin-top:1.5rem}
.lpc-q{background:var(--bg3);border-radius:10px;padding:1rem;margin-bottom:.85rem}
.lpc-snad{font-size:.82rem;color:var(--gold);margin-bottom:.5rem}
.lpc-qtext{font-size:.9rem;font-weight:600;margin-bottom:.7rem;line-height:1.5}
.lpc-opts{display:flex;flex-direction:column;gap:.4rem}
.lpc-opt{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;background:rgba(255,255,255,.04);border-radius:8px;cursor:pointer;font-size:.85rem;border:1.5px solid transparent;transition:all .2s}
.lpc-opt:hover:not([data-locked]){border-color:rgba(212,175,55,.3);background:rgba(212,175,55,.04)}
.lpc-opt.lpc-sel{border-color:rgba(212,175,55,.7);background:rgba(212,175,55,.1);color:var(--gold)}
.lpc-opt.lpc-ok{background:rgba(77,150,110,.15);border-color:rgba(77,150,110,.6);color:var(--green);font-weight:700}
.lpc-opt.lpc-err{background:rgba(200,75,75,.12);border-color:rgba(200,75,75,.5);color:var(--red)}
.lpc-opt[data-locked]{cursor:default}
.lpc-opt-id{font-weight:700;width:20px;flex-shrink:0}
.lpc-confirm{display:block;width:100%;margin-top:.55rem;padding:.5rem;background:var(--gold);color:#000;border:none;border-radius:7px;font-family:var(--font);font-size:.83rem;font-weight:700;cursor:pointer}
.lpc-expl{font-size:.85rem;color:var(--txt2);margin-top:.45rem;padding:.45rem .7rem;background:rgba(255,255,255,.04);border-radius:6px;border-right:3px solid var(--gold)}
.lpc-expl-ok{color:var(--green);font-weight:700}
.lpc-expl-err{color:var(--red);font-weight:700}
.lpc-score{background:var(--bg3);border-radius:12px;padding:1.5rem;text-align:center;margin-top:1rem}

html[data-theme="light"] .empty-action-btn,
html[data-theme="light"] .para-num,
html[data-theme="light"] .btn-gold,
html[data-theme="light"] .lpc-btn,
html[data-theme="light"] .lpc-confirm{color:#ffffff!important}
