:root{--bg:#f5f1e8;--panel:#fffdf7;--text:#27231d;--muted:#6f675d;--accent:#315f4b;--accent2:#b89048;--line:#ddd2bd;--shadow:0 12px 35px rgba(56,43,21,.09)}
[data-theme="dark"]{--bg:#151813;--panel:#1e241d;--text:#f1eadc;--muted:#bbb2a3;--accent:#82b49b;--accent2:#d6b46a;--line:#394337;--shadow:0 12px 35px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.65}.main{max-width:1120px;margin:auto;padding:32px 24px 80px}.hero,.panel,.verseBlock{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px}.hero{padding:34px;margin-bottom:24px}.eyebrow{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}.hero h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.06;margin:.4rem 0}.subtitle{max-width:760px;color:var(--muted)}.panel{padding:26px;margin:22px 0}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.toolbar label{width:100%;font-weight:700}.toolbar input{flex:1;min-width:220px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text)}button{border:0;border-radius:12px;padding:11px 14px;background:var(--accent);color:white;font-weight:700;cursor:pointer}.theme{float:right}.verseBlock{margin:24px 0;overflow:hidden}.blockHeader{padding:24px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;border-bottom:1px solid var(--line)}.blockHeader h2{margin:.15rem 0}.facet{display:inline-flex;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:800;font-size:.78rem}.lensBtn{display:flex;align-items:center;gap:8px;background:var(--accent2);white-space:nowrap}.blockIntro{padding:22px 24px;background:color-mix(in srgb,var(--accent) 5%,transparent)}.blockIntro strong{color:var(--accent)}.blockTransition{padding:14px 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent2) 8%,transparent)}.blockTransition .transitionLabel{display:block;color:var(--accent2);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:900;margin-bottom:4px}.blockTransition p{margin:0;font-size:.95rem;line-height:1.6;color:var(--muted)}.verses{padding:8px 24px 24px}.verse{border-top:1px solid var(--line);padding:20px 0}.verse:first-child{border-top:0}.verse h3{margin:0}.arabic{font-family:"Amiri Quran","Scheherazade New","Noto Naskh Arabic",serif;font-size:1.75rem;line-height:2.1;text-align:right;direction:rtl}.translation{font-style:italic}.linkTheme{border-left:4px solid var(--accent2);padding-left:14px}.modal{position:fixed;inset:0;background:rgba(10,10,10,.68);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.modal.open{display:flex}.modalCard{width:min(960px,100%);max-height:92vh;overflow:auto;background:var(--panel);border-radius:22px;padding:24px;position:relative}.closeBtn{position:sticky;top:0;float:right;background:#7c3e38;padding:9px 14px;font-size:.84rem;line-height:1;white-space:nowrap}.surahStrip{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0}.pageChip{border:1px solid var(--line);border-radius:12px;padding:10px;text-align:center;color:var(--muted);background:var(--bg)}.pageChip.active{background:var(--accent);color:white;transform:translateY(-2px)}.mushafGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.mushafPage{aspect-ratio:.72;background:#f5e7c8;color:#2b2116;border:7px double #8e7138;border-radius:5px;padding:14px;position:relative;box-shadow:0 12px 25px rgba(0,0,0,.17)}.mushafPage:before{content:"سورة الإسراء";display:block;text-align:center;font-family:serif;font-size:1.1rem;border:1px solid #9f8145;border-radius:50%;padding:4px;margin:0 20px 8px}.pageNo{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-weight:800}.mushafLines{height:calc(100% - 48px);display:grid;grid-template-rows:repeat(15,1fr);gap:3px}.mushafLine{border-radius:4px;background:repeating-linear-gradient(90deg,rgba(76,53,22,.7) 0 8px,transparent 8px 13px);opacity:.42}.mushafLine.highlight{background:#d4ad4d;opacity:.95;box-shadow:0 0 0 2px rgba(112,73,14,.25)}.legend{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.9rem}.dot{width:14px;height:14px;display:inline-block;border-radius:3px;background:#d4ad4d;vertical-align:-2px;margin-right:4px}.notice{padding:12px;border-radius:12px;background:color-mix(in srgb,var(--accent2) 14%,transparent);font-size:.9rem}.footer{color:var(--muted);font-size:.9rem;margin-top:30px}.mobileTopbar{display:none}
@media(max-width:700px){.main{padding:72px 12px 50px}.mobileTopbar{display:flex;position:fixed;inset:0 0 auto 0;height:56px;background:var(--panel);border-bottom:1px solid var(--line);z-index:80;align-items:center;justify-content:space-between;padding:0 12px}.hero,.panel{border-radius:16px;padding:20px}.blockHeader{grid-template-columns:1fr;padding:18px}.lensBtn{width:100%;justify-content:center}.blockIntro,.verses{padding:18px}.arabic{font-size:1.45rem}.surahStrip{grid-template-columns:repeat(3,1fr)}.modal{padding:8px}.modalCard{padding:15px;border-radius:16px}.mushafGrid{grid-template-columns:1fr}.toolbar button{flex:1}.hero .theme{display:none}}

.fullText{padding:20px 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent2) 4%,var(--panel))}.fullText>h3,.analysisTitle{color:var(--accent);margin-top:0}.textVerse{padding:16px 0;border-top:1px dashed var(--line)}.textVerse:first-of-type{border-top:0}.french{margin:.7rem 0 0;color:var(--muted)}.ayahNo,.ayahMedallion{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;border:1px solid currentColor;border-radius:50%;font-family:system-ui,sans-serif;font-size:.72rem;margin-inline:0 .55rem;vertical-align:middle}.modalTop{display:flex;flex-direction:column;gap:6px;position:sticky;top:-24px;background:var(--panel);z-index:20;padding:8px 0 12px;border-bottom:1px solid var(--line)}.modalTopBar{display:flex;justify-content:space-between;align-items:center;gap:8px}.modalTop h2{margin:.25rem 0}.browserControls{display:grid;grid-template-columns:auto 1fr auto;gap:10px;margin:16px 0}.browserControls select{min-width:0;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font-weight:700}.pageChip{cursor:pointer;color:var(--muted)}.pageChip small{display:block}.pageChip.current{outline:3px solid var(--accent2)}.mushafGrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 18px}.pagePanel{flex:0 0 min(430px,88vw);scroll-snap-align:center}.pagePanel header{display:flex;justify-content:space-between;margin-bottom:8px}.pagePanel header div{display:flex;flex-direction:column}.pagePanel header span{color:var(--muted);font-size:.84rem}.uthmaniPage{min-height:560px;background:#fbf2d8;color:#231b10;border:8px double #96763a;border-radius:8px;padding:26px 22px 38px;box-shadow:0 14px 30px rgba(0,0,0,.16);position:relative;font-family:"Amiri Quran","Scheherazade New","Noto Naskh Arabic",serif;line-height:2.35;text-align:justify}.uthmaniPage:before{content:"سُورَةُ الإِسْرَاءِ";display:block;text-align:center;border:1px solid #a38346;border-radius:50%;margin:0 40px 18px;padding:5px;font-size:1.05rem}.mushafAyah{display:inline;background:transparent;color:inherit;border:0;padding:3px 2px;border-radius:8px;font:inherit;line-height:inherit;text-align:right}.mushafAyah:hover,.mushafAyah:focus{background:rgba(49,95,75,.13);outline:2px solid var(--accent)}.mushafAyah.active{background:rgba(212,173,77,.38);box-shadow:0 0 0 2px rgba(112,73,14,.18)}.arabicInline{font-size:1.35rem}.ayahMedallion{margin-inline:.35rem .15rem;color:#74561f;min-width:1.7rem;height:1.7rem}.contextBrowser{border-top:1px solid var(--line);padding-top:16px}.blockRail{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.blockJump{background:var(--bg);color:var(--text);border:1px solid var(--line);text-align:left;transition:background .15s,border-color .15s}.blockJump:not(.active):hover{background:color-mix(in srgb,var(--accent) 10%,var(--bg));border-color:var(--accent)}.blockJump span,.blockJump small{display:block}.blockJump small{color:var(--muted);font-weight:500}.blockJump.active{background:var(--accent);color:white}.blockJump.active small{color:inherit}
@media(max-width:700px){.fullText{padding:16px}.browserControls{grid-template-columns:1fr 1fr}.browserControls select{grid-column:1/-1;grid-row:1}.navPage{font-size:.78rem;padding:9px}.pagePanel{flex-basis:94vw}.uthmaniPage{min-height:500px;padding:20px 16px 34px;line-height:2.2}.arabicInline{font-size:1.18rem}.modalTop{top:-15px}.modalTop h2{font-size:1.05rem}.closeBtn{padding:9px}.blockRail{grid-template-columns:1fr 1fr}}
.realMushafPanel{min-width:min(520px,88vw);max-width:620px}.realMushafPanel header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.realMushafPanel header span{display:block;color:var(--muted);font-size:.85rem}.pdfLink{font-size:.8rem;color:var(--accent);font-weight:800}.realMushafWrap{position:relative;background:#e8ddc5;border-radius:10px;overflow:hidden;box-shadow:0 16px 38px rgba(0,0,0,.22);transition:box-shadow .2s,opacity .2s}.realMushafPanel.focusPage .realMushafWrap{box-shadow:0 0 0 4px var(--accent),0 16px 38px rgba(0,0,0,.22)}.realMushafPanel:not(.focusPage){opacity:.55}.realMushafImage{display:block;width:100%;height:auto;aspect-ratio:0.72;object-fit:contain;background:#f2e8d1}.pdfFallback{width:100%;aspect-ratio:.72}.pdfFallback object{width:100%;height:100%;border:0}.mushafHighlight{position:absolute;left:4%;right:4%;width:92%;border:3px solid rgba(180,72,48,.9);background:rgba(255,205,65,.18);box-shadow:0 0 0 9999px rgba(0,0,0,.04);border-radius:8px;display:flex;align-items:flex-start;justify-content:flex-start;padding:5px;pointer-events:none}.mushafHighlight span{background:#7b3325;color:white;padding:4px 8px;border-radius:999px;font-size:.72rem}.mushafGrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;align-items:flex-start}.pagePanel{scroll-snap-align:center}.notice strong{color:var(--accent)}
@media(max-width:700px){.realMushafPanel{min-width:88vw}.modalCard{padding:12px}.realMushafPanel header{font-size:.9rem}.mushafHighlight span{font-size:.65rem}.surahStrip{grid-template-columns:repeat(3,1fr)}}

/* Double-page du muṣḥaf */
.mushafBrowser{width:min(1480px,97vw)}
.spreadStage{display:flex;justify-content:center;align-items:center;width:100%;padding:14px 0 22px;overflow-x:auto;overflow-y:hidden}
.mushafSpread{display:grid;grid-template-columns:minmax(300px,520px) 18px minmax(300px,520px);align-items:start;justify-content:center;width:max-content;min-width:min(1080px,100%);margin-inline:auto;direction:ltr;filter:drop-shadow(0 18px 28px rgba(0,0,0,.18))}
.bookGutter{align-self:stretch;min-height:680px;background:linear-gradient(90deg,rgba(0,0,0,.16),rgba(255,255,255,.16) 42%,rgba(0,0,0,.1));border-radius:50%;opacity:.62;z-index:2}
.realMushafPanel{min-width:0;max-width:none;width:100%;margin:0}
.realMushafPanel header{min-height:52px;padding-inline:8px}
.realMushafPanel.rightPage .realMushafWrap{border-radius:5px 14px 14px 5px}
.realMushafPanel.leftPage .realMushafWrap{border-radius:14px 5px 5px 14px}
.realMushafWrap{background:#eee5d3;isolation:isolate}
.realMushafImage{width:100%;aspect-ratio:0.72;object-fit:contain}
.mushafHighlight{left:6.8%;right:6.8%;width:auto;border:3px solid rgba(177,56,35,.96);background:rgba(255,211,69,.17);box-shadow:0 0 0 1px rgba(255,255,255,.7) inset,0 4px 14px rgba(80,30,15,.22);border-radius:5px;padding:4px 5px;justify-content:flex-start;z-index:4}
.mushafHighlight span{font-size:.68rem;line-height:1.15;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.spreadCaption{display:flex;justify-content:center;gap:clamp(40px,18vw,260px);color:var(--muted);font-size:.86rem;margin-top:-10px;margin-bottom:15px}
.browserControls{max-width:1080px;margin-inline:auto}
.surahStrip{max-width:1080px;margin-inline:auto}
@media(max-width:900px){
  .spreadStage{justify-content:flex-start;scroll-snap-type:x mandatory;padding-inline:8px}
  .mushafSpread{grid-template-columns:minmax(270px,78vw) 12px minmax(270px,78vw);min-width:max-content;scroll-snap-align:center}
  .bookGutter{min-height:540px}
  .spreadCaption{justify-content:flex-start;padding-inline:18px;gap:32px}
}
@media(max-width:700px){
  .mushafBrowser{width:98vw}
  .spreadStage{margin-inline:-4px;width:calc(100% + 8px)}
  .mushafSpread{grid-template-columns:82vw 9px 82vw}
  .realMushafPanel header{font-size:.78rem;min-height:47px;padding-inline:4px}
  .realMushafPanel header span{font-size:.68rem}
  .bookGutter{min-height:440px}
  .mushafHighlight{left:6.5%;right:6.5%;border-width:2px}
  .spreadCaption{font-size:.72rem}
}

/* Correctifs double-page : la page paire est physiquement à gauche et la page impaire à droite. */
.mushafSpread>.leftPage{grid-column:1}
.mushafSpread>.bookGutter{grid-column:2}
.mushafSpread>.rightPage{grid-column:3}
.spreadStage{justify-content:center}
.mushafSpread{margin-left:auto;margin-right:auto}
.mushafHighlight{box-sizing:border-box}
@media(max-width:700px){
  .spreadStage{justify-content:flex-start}
  .mushafSpread{margin-inline:auto}
}

/* Correction de la reliure réelle : 281 à droite / 282 à gauche. */
.spreadCaption{display:grid;grid-template-columns:minmax(300px,520px) 18px minmax(300px,520px);max-width:1058px;margin-inline:auto;gap:0}
.spreadCaption .leftCaption{grid-column:1;text-align:center}
.spreadCaption .rightCaption{grid-column:3;text-align:center}
.mushafHighlight{width:auto}
@media(max-width:900px){
  .spreadCaption{grid-template-columns:minmax(270px,78vw) 12px minmax(270px,78vw);width:max-content;max-width:none;margin-inline:8px}
}
@media(max-width:700px){
  .spreadCaption{grid-template-columns:82vw 9px 82vw}
}

/* Cadres précis : plusieurs segments peuvent composer une même sélection. */
.mushafHighlight{
  width:auto;
  border:2px solid rgba(37,111,76,.96);
  background:rgba(98,177,116,.12);
  box-shadow:0 0 0 1px rgba(255,255,255,.78) inset,0 2px 8px rgba(26,77,52,.18);
  border-radius:3px;
  padding:3px 4px;
}
.mushafHighlight.segmented{border-radius:2px}
.mushafHighlight span{
  background:#256f4c;
  color:#fff;
  padding:3px 7px;
  border-radius:999px;
  font-size:.68rem;
  line-height:1.1;
  white-space:nowrap;
}
@media(max-width:700px){
  .mushafHighlight{border-width:1.5px;padding:2px}
  .mushafHighlight span{font-size:.58rem;padding:2px 5px}
}
/* Sélections précises en polygones : elles suivent les lignes partagées entre deux versets. */
.mushafOverlay{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:visible}
.mushafPolygon{fill:rgba(98,177,116,.12);stroke:rgba(37,111,76,.98);stroke-width:.42;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.mushafLabel{position:absolute;z-index:5;top:1.8%;left:4.2%;background:#256f4c;color:#fff;padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:800;line-height:1.1;pointer-events:none;box-shadow:0 2px 8px rgba(0,0,0,.18)}
@media(max-width:700px){.mushafPolygon{stroke-width:.32}.mushafLabel{font-size:.56rem;padding:2px 5px}}

/* Navigation du muṣḥaf : barre latérale des groupes + flèches uniquement */
.mushafWorkspace{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin-top:16px;
}
.mushafSidebar{
  position:sticky;
  top:78px;
  max-height:calc(92vh - 110px);
  overflow:auto;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:color-mix(in srgb,var(--panel) 94%,var(--accent) 6%);
}
.sidebarTitle{
  font-weight:850;
  margin-bottom:10px;
  color:var(--accent);
}
.sidebarBlocks{display:flex;flex-direction:column;gap:8px}
.mushafSidebar .blockJump{
  width:100%;
  padding:12px;
  border-radius:12px;
  text-align:left;
  background:var(--bg);
  color:var(--text);
  border:1px solid var(--line);
}
.mushafSidebar .blockJump span{font-weight:850}
.mushafSidebar .blockJump small{display:block;line-height:1.35;margin-top:3px;color:var(--muted)}
.mushafSidebar .blockJump em{display:block;margin-top:6px;font-style:normal;font-size:.72rem;color:var(--muted)}
.mushafSidebar .blockJump.active{background:var(--accent);color:#fff;border-color:transparent}
.mushafSidebar .blockJump.active small,.mushafSidebar .blockJump.active em{color:rgba(255,255,255,.86)}
.mushafMainView{min-width:0}
.browserControls.arrowsOnly{
  display:grid;
  grid-template-columns:auto minmax(130px,1fr) auto;
  gap:10px;
  align-items:center;
  margin:0 0 12px;
}
.spreadInfo{text-align:center;font-weight:800;color:var(--muted)}
.navSpread:disabled{opacity:.42;cursor:not-allowed}
/* Ancienne sélection de pages et rail inférieur masqués, au cas où un cache ancien les injecte. */
.surahStrip,.contextBrowser{display:none!important}

@media(max-width:900px){
  .mushafWorkspace{grid-template-columns:210px minmax(0,1fr);gap:12px}
  .mushafSidebar{padding:10px}
}
@media(max-width:700px){
  .mushafWorkspace{display:block}
  .mushafSidebar{
    position:relative;
    top:auto;
    max-height:none;
    margin-bottom:12px;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .sidebarBlocks{flex-direction:row;width:max-content}
  .mushafSidebar .blockJump{width:190px;flex:0 0 190px}
  .browserControls.arrowsOnly{grid-template-columns:1fr 1fr}
  .spreadInfo{grid-column:1/-1;grid-row:1}
  .browserControls.arrowsOnly .navSpread{grid-row:2}
}

/* Navigation compacte du muṣḥaf : la flèche gauche avance, la flèche droite recule. */
.browserControls.arrowsOnly{
  display:grid;
  grid-template-columns:52px minmax(120px,1fr) 52px;
  align-items:center;
  gap:14px;
  max-width:1080px;
  margin:16px auto;
}
.browserControls.arrowsOnly .navSpread{
  width:52px;
  height:52px;
  padding:0;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.75rem;
  line-height:1;
  box-shadow:0 8px 20px rgba(49,95,75,.18);
  transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;
}
.browserControls.arrowsOnly .navSpread:hover:not(:disabled),
.browserControls.arrowsOnly .navSpread:focus-visible:not(:disabled){
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 11px 24px rgba(49,95,75,.25);
}
.browserControls.arrowsOnly .navSpread:active:not(:disabled){transform:scale(.96)}
.browserControls.arrowsOnly .navSpread:disabled{opacity:.28;cursor:not-allowed;box-shadow:none}
.browserControls.arrowsOnly .spreadInfo{text-align:center;font-weight:800;color:var(--muted)}
@media(max-width:700px){
  .browserControls.arrowsOnly{grid-template-columns:48px 1fr 48px;gap:9px}
  .browserControls.arrowsOnly .navSpread{width:48px;height:48px;font-size:1.55rem}
}

/* Sélection révisée : surlignage ligne par ligne, sans grand cadre englobant. */
.mushafLineOverlay{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:4;
  pointer-events:none;
  overflow:visible;
}
.mushafLineBand{
  fill:rgba(75,145,94,.17);
  stroke:rgba(37,111,76,.58);
  stroke-width:.18;
  vector-effect:non-scaling-stroke;
  shape-rendering:geometricPrecision;
}
.realMushafWrap:hover .mushafLineBand{
  fill:rgba(75,145,94,.20);
  stroke:rgba(37,111,76,.72);
}
.pageHeaderActions{
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
}
.pageSelectionTag{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 13%,transparent);
  color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);
  font-size:.68rem;
  font-weight:850;
  white-space:nowrap;
}
/* Les anciens polygones et badges superposés ne sont plus utilisés. */
.mushafPolygon,.mushafLabel{display:none!important}
@media(max-width:700px){
  .mushafLineBand{stroke-width:.14}
  .pageSelectionTag{font-size:.59rem;padding:2px 6px;min-height:20px}
  .pageHeaderActions{gap:6px}
}

/* =========================================================
   Sommaire principal + lectures approfondies
   ========================================================= */
.siteLayout{
  width:min(1540px,100%);
  margin-inline:auto;
  padding-inline:20px;
  display:grid;
  grid-template-columns:290px minmax(0,1120px);
  gap:26px;
  align-items:start;
  justify-content:center;
}
.siteLayout .main{max-width:none;width:100%;margin:0;padding:32px 0 80px;min-width:0}
.mainToc{
  position:sticky;
  top:22px;
  max-height:calc(100vh - 44px);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  margin-top:32px;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  box-shadow:var(--shadow);
  z-index:45;
}
.tocHeader{display:flex;gap:12px;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--line)}
.tocHeader h2{margin:.1rem 0 .2rem;font-size:1.28rem}.tocHeader p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.4}
.tocEyebrow{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:850;font-size:.7rem}
.tocCloseBtn{display:none;width:38px;height:38px;padding:0;border-radius:50%;font-size:1.3rem;flex:0 0 auto}
.tocNav{padding:12px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.tocQuickLinks{display:grid;gap:5px;margin-bottom:13px}
.tocQuickLinks a,.tocPartLink,.tocBlocks a{color:var(--text);text-decoration:none;border-radius:10px;transition:background .15s ease,color .15s ease,border-color .15s ease,transform .15s ease}
.tocQuickLinks a{padding:8px 10px;font-weight:750;font-size:.84rem}
.tocPart{padding-top:11px;margin-top:8px;border-top:1px solid var(--line)}
.tocPartLink{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:8px 9px;font-weight:850}
.tocPartLink span{line-height:1.25}.tocPartLink small{white-space:nowrap;color:var(--muted);font-weight:650;font-size:.68rem}
.tocBlocks{display:grid;gap:4px;margin-top:3px;padding-left:7px;border-left:2px solid color-mix(in srgb,var(--accent) 20%,var(--line))}
.tocBlocks a{display:grid;grid-template-columns:48px 1fr;gap:7px;padding:7px 8px;font-size:.75rem;line-height:1.25}
.tocBlocks a>span{color:var(--accent);font-weight:850}.tocBlocks a>small{color:var(--muted);font-size:.72rem}
.tocQuickLinks a:hover,.tocPartLink:hover,.tocBlocks a:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);transform:translateX(2px)}
.tocQuickLinks a.active,.tocPartLink.active,.tocBlocks a.active{background:var(--accent);color:#fff}
.tocQuickLinks a.active small,.tocPartLink.active small,.tocBlocks a.active small,.tocBlocks a.active>span{color:rgba(255,255,255,.9)}
.tocBottomLinks{padding-top:12px;margin-top:12px;border-top:1px solid var(--line);margin-bottom:0}
.backdrop{position:fixed;inset:0;background:rgba(12,14,11,.54);z-index:84;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}

.studyAnchor{scroll-margin-top:90px}
.studyPart{scroll-margin-top:88px;margin:34px 0 54px}
.partHeader{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin:0 0 18px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),var(--panel));box-shadow:var(--shadow)}
.partHeader>span{display:grid;place-items:center;min-width:72px;min-height:72px;padding:10px;border-radius:16px;background:var(--accent);color:#fff;font-weight:900;text-align:center}
.partHeader h2{margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.15}.partHeader p{margin:.4rem 0 0;color:var(--muted)}
.verseBlock,.panel,.partHeader{scroll-margin-top:88px}

.deepReading{padding:24px;margin:0;border-bottom:1px solid var(--line);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),color-mix(in srgb,var(--accent2) 6%,var(--panel)))}
.deepReadingHeader{margin-bottom:11px}.deepReadingKicker{display:block;color:var(--accent2);text-transform:uppercase;letter-spacing:.08em;font-size:.69rem;font-weight:900}.deepReading h3{margin:.15rem 0 0;color:var(--accent);font-size:1.35rem}.deepReadingText{font-size:1.02rem;line-height:1.82;margin:0;max-width:88ch}
.readingFlow{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.readingFlow li{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:13px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--panel) 88%,transparent)}
.flowStep{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--accent);color:white;font-weight:900;font-size:.78rem}.readingFlow strong{color:var(--accent)}.readingFlow p{margin:.25rem 0 0;color:var(--muted);font-size:.87rem;line-height:1.45}

@media(max-width:1180px){
  .siteLayout{grid-template-columns:250px minmax(0,1fr);gap:18px;padding-inline:14px}
  .tocHeader{padding:17px 15px 14px}.tocNav{padding:9px}.tocBlocks a{grid-template-columns:43px 1fr}
}
@media(max-width:900px){
  .siteLayout{display:block;padding:0}.siteLayout .main{padding:76px 16px 70px;max-width:1120px;margin-inline:auto}
  .mobileTopbar{display:flex;position:fixed;inset:0 0 auto 0;height:58px;background:var(--panel);border-bottom:1px solid var(--line);z-index:83;align-items:center;justify-content:space-between;padding:0 12px;box-shadow:0 5px 18px rgba(0,0,0,.08)}
  .mainToc{position:fixed;inset:0 auto 0 0;width:min(340px,88vw);max-height:none;margin:0;border-radius:0 20px 20px 0;z-index:85;transform:translateX(-105%);transition:transform .23s ease;box-shadow:0 20px 50px rgba(0,0,0,.28)}
  body.tocOpen .mainToc{transform:translateX(0)}body.tocOpen .backdrop{opacity:1;visibility:visible}body.tocOpen{overflow:hidden}
  .tocCloseBtn{display:block}.tocHeader{padding-top:22px}
}
@media(max-width:700px){
  .siteLayout .main{padding:70px 12px 52px}
  .partHeader{grid-template-columns:1fr;padding:17px}.partHeader>span{display:inline-flex;min-width:0;min-height:0;width:max-content;border-radius:999px;padding:6px 10px;font-size:.75rem}
  .deepReading{padding:19px 17px}.deepReadingText{font-size:.96rem;line-height:1.72}.readingFlow{grid-template-columns:1fr}
}

/* Correctif global du surlignage calibré */
.realMushafWrap{line-height:0}
.realMushafImage{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto!important;
  object-fit:initial!important;
}
.mushafLineOverlay{inset:0}
.mushafLineBand{
  fill:rgba(72,145,91,.16);
  stroke:rgba(37,111,76,.42);
  stroke-width:.13;
  vector-effect:non-scaling-stroke;
}
.realMushafWrap:hover .mushafLineBand{
  fill:rgba(72,145,91,.19);
  stroke:rgba(37,111,76,.58);
}

/* =========================================================
   Visualisation du muṣḥaf - adaptation mobile
   Les deux pages restent côte à côte dans la même double-page.
   Chaque page occupe environ trois quarts de l’écran : la page
   voisine reste visible et l’utilisateur peut la centrer au doigt.
   ========================================================= */
@media (max-width:780px){
  .modal{
    padding:0;
    align-items:stretch;
    justify-content:stretch;
    background:var(--panel);
  }
  .modalCard.mushafBrowser{
    width:100vw;
    max-width:none;
    height:100dvh;
    max-height:100dvh;
    padding:0;
    border-radius:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .modalTop{
    position:sticky;
    top:0;
    z-index:40;
    min-height:68px;
    margin:0;
    padding:9px max(10px,env(safe-area-inset-right)) 9px max(10px,env(safe-area-inset-left));
    align-items:center;
    background:color-mix(in srgb,var(--panel) 96%,transparent);
    border-bottom:1px solid var(--line);
    box-shadow:0 5px 18px rgba(0,0,0,.08);
    backdrop-filter:blur(12px);
  }
  .modalTopBar{min-width:0}
  .modalTop .facet{font-size:.63rem;padding:3px 7px}
  .modalTop h2{
    margin:.18rem 0 0;
    max-width:100%;
    font-size:clamp(.92rem,4.2vw,1.13rem);
    line-height:1.2;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .modalTopActions{display:flex;gap:8px}
  .closeBtn{
    position:static;
    float:none;
    flex:0 0 auto;
    padding:9px 14px;
    border-radius:12px;
    font-size:.84rem;
  }
  #mushafView{min-width:0}
  #mushafView>.notice{display:none}

  .mushafWorkspace{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    min-width:0;
    margin-top:0;
  }
  .mushafSidebar{
    position:relative;
    top:auto;
    z-index:16;
    width:100%;
    max-height:none;
    margin:0;
    padding:9px 10px;
    overflow-x:auto;
    overflow-y:hidden;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:var(--panel);
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
  }
  .mushafSidebar::-webkit-scrollbar{display:none}
  .sidebarTitle{display:none}
  .sidebarBlocks{
    display:flex;
    flex-direction:row;
    width:max-content;
    gap:8px;
  }
  .mushafSidebar .blockJump{
    flex:0 0 148px;
    width:148px;
    min-height:58px;
    padding:8px 10px;
    border-radius:11px;
    scroll-snap-align:center;
  }
  .mushafSidebar .blockJump span{font-size:.76rem}
  .mushafSidebar .blockJump small{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-top:2px;
    font-size:.67rem;
    line-height:1.25;
  }
  .mushafSidebar .blockJump em{display:none}

  .mushafMainView{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  .browserControls.arrowsOnly{
    position:sticky;
    top:68px;
    z-index:30;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:8px;
    width:100%;
    max-width:none;
    margin:0;
    padding:8px 10px;
    background:color-mix(in srgb,var(--panel) 94%,transparent);
    border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);
    backdrop-filter:blur(10px);
  }
  .browserControls.arrowsOnly .navSpread{
    width:44px;
    height:44px;
    font-size:1.45rem;
    box-shadow:0 5px 15px rgba(49,95,75,.16);
  }
  .browserControls.arrowsOnly .spreadInfo{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.78rem;
  }

  .spreadStage{
    --mobile-page-width:min(74vw,520px);
    display:block;
    width:100%;
    margin:0;
    padding:8px 0 18px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:calc((100vw - var(--mobile-page-width))/2);
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
  }
  .spreadStage::-webkit-scrollbar{display:none}
  .mushafSpread{
    display:flex;
    grid-template-columns:none;
    align-items:flex-start;
    justify-content:flex-start;
    gap:10px;
    width:max-content;
    min-width:0;
    margin:0;
    padding-inline:calc((100vw - var(--mobile-page-width))/2);
    direction:ltr;
    filter:none;
    scroll-snap-align:none;
  }
  .bookGutter{display:none}
  .mushafSpread>.leftPage,
  .mushafSpread>.rightPage{grid-column:auto}
  .realMushafPanel{
    flex:0 0 var(--mobile-page-width);
    width:var(--mobile-page-width);
    min-width:var(--mobile-page-width);
    max-width:none;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .realMushafPanel header{
    min-height:44px;
    margin:0 4px 7px;
    gap:7px;
    align-items:center;
    font-size:.82rem;
  }
  .realMushafPanel header strong{font-size:.92rem}
  .realMushafPanel header span{font-size:.68rem;line-height:1.25}
  .pageHeaderActions{gap:5px}
  .pageSelectionTag{font-size:.56rem;min-height:19px;padding:2px 5px}
  .pdfLink{font-size:.68rem;padding:4px 2px}
  .realMushafWrap{
    width:100%;
    border-radius:8px;
    box-shadow:0 8px 22px rgba(0,0,0,.17);
  }
  .realMushafImage{width:100%;height:auto}
  .mushafLineBand{stroke-width:.11}
  .spreadCaption{display:none!important}
}

@media (max-width:420px){
  .modalTop{min-height:64px;padding-block:7px}
  .browserControls.arrowsOnly{top:64px;padding:7px 8px;grid-template-columns:42px minmax(0,1fr) 42px}
  .browserControls.arrowsOnly .navSpread{width:42px;height:42px;font-size:1.35rem}
  .mushafSidebar{padding:7px 8px}
  .mushafSidebar .blockJump{flex-basis:136px;width:136px;min-height:54px}
  .spreadStage{--mobile-page-width:76vw}
  .mushafSpread{gap:8px}
  .realMushafPanel{flex-basis:var(--mobile-page-width);width:var(--mobile-page-width);min-width:var(--mobile-page-width)}
  .realMushafPanel header{margin-inline:3px}
}

/* Mode paysage mobile : davantage de largeur et en-tête plus compact. */
@media (max-width:900px) and (orientation:landscape){
  .modalTop{min-height:56px;padding-block:6px}
  .modalTop h2{-webkit-line-clamp:1}
  .browserControls.arrowsOnly{top:56px;padding-block:5px}
  .mushafSidebar .blockJump{min-height:50px}
  .spreadStage{--mobile-page-width:min(47vw,620px)}
  .realMushafPanel{flex-basis:var(--mobile-page-width);width:var(--mobile-page-width);min-width:var(--mobile-page-width)}
}

/* ========== HOME PAGE ========== */
.homeLayout{max-width:1120px;margin:auto;padding:24px 24px 80px}
.homeHero{margin-bottom:32px}
.homeHero h1{font-size:clamp(2.4rem,6vw,4rem);letter-spacing:-.02em}
.homeMain{padding:0}
.homeSection{color:var(--accent);font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 20px}
.homeFooter{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 24px;margin-top:40px;color:var(--muted);font-size:.88rem}
.surahGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.surahCard{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;overflow:hidden}
.surahCard:not(.surahCardSoon):hover{transform:translateY(-3px);box-shadow:0 18px 48px rgba(56,43,21,.14)}
.surahCardLink{display:block;padding:22px;text-decoration:none;color:inherit;height:100%}
.surahCardContent{padding:22px}
.surahCardSoon{opacity:.55}
.surahCardTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.surahCardNumber{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:800;font-size:.85rem}
.surahCardArabic{font-family:"Amiri Quran","Scheherazade New","Noto Naskh Arabic",serif;font-size:1.5rem;color:var(--accent2)}
.surahCardName{font-size:1.3rem;font-weight:800;margin:0 0 4px;color:var(--text)}
.surahCardSub{color:var(--muted);font-size:.88rem;margin:0 0 10px}
.surahCardTheme{font-size:.83rem;color:var(--muted);margin:0 0 12px;line-height:1.4}
.surahCardMeta{display:inline-block;font-size:.75rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:3px 8px;border-radius:999px}
.surahCardBadgeSoon{display:inline-block;font-size:.75rem;font-weight:700;color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:999px;margin-top:8px}
@media(max-width:600px){
  .homeLayout{padding:72px 12px 50px}
  .surahGrid{grid-template-columns:1fr}
  .surahCard:not(.surahCardSoon):hover{transform:none}
}

/* ========== SURAH — retour accueil ========== */
.tocHomeLink{display:flex;align-items:center;gap:7px;color:var(--accent)!important;font-weight:700;font-size:.84rem;text-decoration:none!important;padding:10px 16px;margin:0 0 8px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent);transition:background .15s}
.tocHomeLink:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}
.mobileTopbarLeft{display:flex;align-items:center;gap:4px}
.iconBtn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.homeBtn{width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;font-size:1.2rem;line-height:1;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-radius:10px}
.homeBtn:hover{background:color-mix(in srgb,var(--accent) 22%,transparent)}

/* ========== TOPBAR DESKTOP ========== */
@media(min-width:701px){
  .mobileTopbar{display:flex;position:fixed;inset:0 0 auto 0;height:56px;background:var(--panel);border-bottom:1px solid var(--line);z-index:80;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
  .siteLayout{padding-top:56px}
  .homeLayout{padding-top:56px}
  #mobileMenuBtn{display:none}
  .hero .theme{display:none}
}

/* ========== NAVIGATEUR MUSHAF — lien vers l'étude ========== */
.modalTopActions{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px;flex-shrink:0}
.studyLink{display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 14px;border-radius:12px;background:var(--accent);color:#fff;font-weight:700;font-size:.84rem;line-height:1;text-decoration:none;white-space:nowrap;transition:opacity .15s}
.studyLink:hover{opacity:.85}.closeBtn:hover{opacity:.85}
@media(max-width:500px){.studyLink span{display:none}}
