/* ===== قارئ الكتاب ===== */
:root{--PW:520px;--PH:740px;--fs:20px;--lh:2.02}
html,body{height:100%;overflow:hidden;overscroll-behavior:none}
body.reader{background:#030719;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.stage{position:fixed;inset:0;overflow:hidden;
  background:
   radial-gradient(70% 55% at 50% 38%,rgba(8,56,254,.28),transparent 70%),
   radial-gradient(50% 40% at 85% 100%,rgba(238,27,36,.22),transparent 70%),
   radial-gradient(50% 40% at 10% 100%,rgba(8,56,254,.18),transparent 70%),
   linear-gradient(180deg,#050b26,#030719)}
.stage::before{content:"";position:absolute;inset:0;opacity:.35;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.03) 0 1px,transparent 1px 26px)}

/* شريط علوي */
.topbar{position:absolute;top:0;inset-inline:0;height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:20;
  background:linear-gradient(180deg,rgba(3,7,25,.85),transparent);transition:opacity .4s,transform .4s var(--ease)}
.tb-brand{display:flex;align-items:center;gap:12px}
.tb-brand img{height:36px;width:auto}
.tb-brand b{display:block;font-family:var(--f-title);font-size:1.05rem;line-height:1.1}
.tb-brand small{font-size:.7rem;color:rgba(255,255,255,.55);letter-spacing:.08em}
.tb-actions{display:flex;gap:6px}
.ib{display:inline-flex;align-items:center;gap:8px;height:40px;min-width:40px;justify-content:center;padding:0 12px;border-radius:12px;color:rgba(255,255,255,.85);font-size:.88rem;border:1px solid transparent;transition:.25s}
.ib:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}
.ib svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ib.off .wave{display:none}
.ib.off{opacity:.55}
.ib:focus-visible,.nb:focus-visible,.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* الكتاب */
.book-fit{position:absolute;left:50%;top:50%;width:calc(var(--PW)*2);height:var(--PH);transform-origin:50% 50%;z-index:5}
.book{position:absolute;inset:0;direction:ltr;perspective:2600px;transition:transform 1.15s var(--ease)}
.pg{position:absolute;top:0;width:var(--PW);height:var(--PH)}
.pg-l{left:0}.pg-r{left:var(--PW)}
.book::before{content:"";position:absolute;left:3%;right:3%;bottom:-26px;height:34px;background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent);filter:blur(8px);transition:opacity .6s}
.book.closed::before{left:5%;right:55%}
.leaf{position:absolute;left:0;top:0;width:var(--PW);height:var(--PH);transform-origin:100% 50%;transform-style:preserve-3d;display:none;z-index:6}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.face.back{transform:rotateY(180deg)}
.face .shade{position:absolute;inset:0;background:#1b1308;opacity:0;pointer-events:none;z-index:9}
.hit{position:absolute;top:0;height:100%;width:50%;z-index:8;cursor:pointer}
.hit-l{left:0}.hit-r{left:50%}
.book.closed .hit-r{display:none}.book.closed .hit-l{width:var(--PW)}
.book.closed .hit-l{cursor:pointer}

/* ===== الصفحة ===== */
.page{position:relative;width:var(--PW);height:var(--PH);background:var(--paper);color:#1b1f33;direction:rtl;overflow:hidden;font-family:var(--f-book)}
.page::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' seed='4'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .36  0 0 0 0 .2  0 0 0 .14 0'/></filter><rect width='220' height='220' filter='url(%23p)'/></svg>")}
.page::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:7}
.page.left::after{background:linear-gradient(90deg,rgba(60,40,10,0) 74%,rgba(60,40,10,.09) 90%,rgba(40,25,5,.34) 100%)}
.page.right::after{background:linear-gradient(270deg,rgba(60,40,10,0) 74%,rgba(60,40,10,.09) 90%,rgba(40,25,5,.34) 100%)}
.page.left{border-radius:6px 0 0 6px;box-shadow:-2px 0 0 #e6dcc2,-4px 0 0 #d4c8a8,-6px 0 0 #e6dcc2,-8px 0 0 #c9bc9a}
.page.right{border-radius:0 6px 6px 0;box-shadow:2px 0 0 #e6dcc2,4px 0 0 #d4c8a8,6px 0 0 #e6dcc2,8px 0 0 #c9bc9a}
.page.single{border-radius:6px;box-shadow:0 0 0 1px rgba(0,0,0,.2)}
.page.single::after{background:linear-gradient(270deg,rgba(40,25,5,.22),rgba(60,40,10,0) 6%)}
.page .head{position:absolute;top:32px;inset-inline:56px;text-align:center;font:500 12.5px var(--f-ui);letter-spacing:.16em;color:#6d7391;padding-bottom:9px;border-bottom:1px solid rgba(8,56,254,.22)}
.page .head::after{content:"";position:absolute;bottom:-3px;inset-inline:44%;height:5px;border-top:1px solid rgba(238,27,36,.55)}
.page .foot{position:absolute;bottom:28px;inset-inline:0;text-align:center;font:500 16px var(--f-title);color:var(--blue-night);display:flex;align-items:center;justify-content:center;gap:12px}
.page .foot i{display:block;width:5px;height:5px;background:var(--red);transform:rotate(45deg)}
.page .body{position:absolute;top:82px;bottom:74px;inset-inline:56px;overflow:hidden;font-size:var(--fs);line-height:var(--lh);text-align:justify;color:#1a1e33;font-feature-settings:"liga","calt"}
.body p{text-indent:1.7em;orphans:2;widows:2}
.body p.first,.body p.cont{text-indent:0}
.body p.split{text-align-last:justify}

/* رأس الفصل */
.chead{text-align:center;padding:30px 0 22px}
.chead .lab{font:600 13.5px var(--f-ui);letter-spacing:.34em;color:var(--red)}
.chead h2{font:700 2.05em/1.25 var(--f-title);color:var(--blue-night);margin:14px 0 6px}
.orn{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--red)}
.orn::before,.orn::after{content:"";height:1px;width:64px;background:linear-gradient(90deg,transparent,currentColor)}
.orn::after{transform:scaleX(-1)}
.orn svg{width:16px;height:16px;fill:currentColor}
.chead h3{font:400 1.12em/1.6 var(--f-book);color:#4a5070;margin-top:10px}
.shead{text-align:center;padding:26px 0 24px}
.shead h2{font:700 1.85em/1.25 var(--f-title);color:var(--blue-night);margin-bottom:12px}
.h2b{font:700 1.08em/1.6 var(--f-title);color:var(--red-deep);text-align:center;margin:6px 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(8,56,254,.2)}
.body p.ded{text-indent:0;text-align:center;font-size:.94em;line-height:1.95;margin-bottom:.45em;color:#2a2f4a;text-align-last:center}
.body p.ded.last{font-weight:700;color:var(--blue-night);margin-top:.8em}
.page.single .body{inset-inline:44px}
.page.single .head{inset-inline:44px;top:26px}

/* جداول الملاحق */
.tbl{width:100%;border-collapse:collapse;font-size:.68em;line-height:1.7;margin:4px 0 14px;font-family:var(--f-ui);text-align:center}
.tbl th{background:var(--blue-night);color:#fff;font-weight:600;padding:8px 6px}
.tbl td{padding:8px 6px;border-bottom:1px solid rgba(11,18,50,.15);vertical-align:middle}
.tbl tr:nth-child(even) td{background:rgba(8,56,254,.045)}
.tbl td:first-child{font-weight:600;text-align:start}
.tbl td:nth-child(2){font-family:var(--f-title);font-size:1.3em;color:var(--red-deep);white-space:nowrap}
.tbl tr.tot td{background:var(--red);color:#fff;font-weight:700;border:0}
.tbl tr.tot td:nth-child(2){color:#fff}
.tbl.two td:first-child{font-family:var(--f-title);font-size:1.45em;color:var(--blue);text-align:center;width:22%;white-space:nowrap}
.tbl.two td:nth-child(2){font-family:var(--f-ui);font-size:1em;color:inherit;white-space:normal;text-align:start}
.tbl.two th:nth-child(2){text-align:start}

/* الفهرس داخل الكتاب */
.tocp h2{font:700 1.85em/1.25 var(--f-title);color:var(--blue-night);text-align:center;margin:24px 0 10px}
.trow{display:flex;align-items:baseline;gap:8px;cursor:pointer;padding:3px 4px;border-radius:6px;line-height:1.55;font-size:.86em}
.trow:hover{background:rgba(8,56,254,.07)}
.trow .t{flex:none;max-width:78%}
.trow .d{flex:1;border-bottom:2px dotted rgba(11,18,50,.28);transform:translateY(-4px);min-width:16px}
.trow .n{font-family:var(--f-title);color:var(--blue-night);font-size:1.02em}
.trow.part{margin-top:.55em;font-family:var(--f-title);font-weight:700;color:var(--red-deep);font-size:.92em}
.trow.part .d{border-bottom-style:solid;border-color:rgba(238,27,36,.3)}
.trow.ch .t{padding-inline-start:1.3em}
.trow.ch .t b{font-family:var(--f-title);font-weight:500;color:var(--blue);margin-inline-end:.45em;font-size:.9em}

/* صفحات خاصة */
.k-plate .pbody{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 50px 70px}
.plate-frame{position:relative;width:100%;flex:1;min-height:0;background:#fff;padding:12px;box-shadow:0 10px 26px -10px rgba(40,25,5,.55),0 0 0 1px rgba(40,25,5,.12)}
.plate-img{width:100%;height:100%;background-size:cover;background-position:50% 22%;filter:saturate(1.04) contrast(1.02)}
.plate-img.logo{background-size:62%;background-repeat:no-repeat;background-position:center 42%;background-color:#fff}
.plate-cap{margin-top:22px;text-align:center}
.plate-cap b{display:block;font:700 1.3em var(--f-title);color:var(--blue-night)}
.plate-cap span{font:500 12px var(--f-ui);letter-spacing:.28em;color:var(--red)}
.k-title .pbody{position:absolute;inset:34px 36px;border:1.5px solid rgba(11,18,50,.75);padding:6px}
.k-title .pbody .in{height:100%;border:1px solid rgba(11,18,50,.4);display:flex;flex-direction:column;align-items:center;text-align:center;padding:46px 32px 38px}
.k-title img{width:92px;height:auto}
.k-title .t1{font:700 3.2em/1.1 var(--f-title);color:var(--blue-night);margin-top:auto}
.k-title .t2{font:500 1.35em var(--f-title);color:var(--red-deep);margin-top:.5em}
.k-title .t3{font:400 1.05em var(--f-book);color:#4a5070;margin-top:.4em}
.k-title .orn{margin:22px 0}
.k-title .by{margin-top:auto;font:500 12.5px var(--f-ui);letter-spacing:.26em;color:#6d7391}
.k-title .by b{display:block;font:600 1.4em var(--f-title);letter-spacing:.02em;color:var(--blue-night);margin-top:6px}
.k-part{background:#050b26}
.k-part::before{opacity:.0}
.k-part .pbody{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:60px 50px;
  background:radial-gradient(90% 60% at 50% 0%,rgba(8,56,254,.7),transparent 65%),radial-gradient(80% 50% at 50% 110%,rgba(238,27,36,.6),transparent 65%),#050b26}
.k-part .pbody::before{content:"";position:absolute;inset:26px;border:1.5px solid var(--gold);opacity:.75}
.k-part .pbody::after{content:"";position:absolute;inset:34px;border:1px solid rgba(227,192,106,.4)}
.k-part .bignum{font:700 14em/1 var(--f-title);background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 0 rgba(0,0,0,.35));position:relative;z-index:1}
.k-part .lab{font:600 13px var(--f-ui);letter-spacing:.4em;color:var(--gold);margin-top:-4px;z-index:1}
.k-part h2{font:700 3.1em/1.2 var(--f-title);margin-top:.3em;z-index:1}
.k-part .orn{color:var(--gold);margin:20px 0 16px;z-index:1}
.k-part p{font:400 1.18em/1.9 var(--f-book);color:rgba(255,255,255,.82);max-width:15em;z-index:1}
.k-end .pbody{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px}
.k-end img{width:150px;height:auto;filter:drop-shadow(0 12px 14px rgba(0,0,0,.3))}
.k-end h2{font:700 2.6em var(--f-title);color:var(--blue-night);margin-top:26px}
.k-end p{font:400 1.15em var(--f-book);color:#4a5070;margin-top:6px}
.k-end .orn{margin:22px 0}
.k-end small{font:500 12px var(--f-ui);letter-spacing:.3em;color:var(--red)}
.k-blank::after{display:none}
.about-p h2{font:700 1.85em var(--f-title);color:var(--blue-night);text-align:center;margin:24px 0 12px}
.about-p .nm{font:700 2.2em/1.3 var(--f-title);text-align:center;color:var(--red-deep);margin:20px 0 22px}
.about-p ul{list-style:none;display:grid;gap:12px;margin:0 8px}
.about-p li{position:relative;padding-inline-start:30px;line-height:1.7;font-size:1.04em}
.about-p li::before{content:"";position:absolute;inset-inline-start:2px;top:.62em;width:10px;height:10px;background:var(--red);transform:rotate(45deg)}
.page.k-endpaper,.page.k-cover{background:none}
.page.k-endpaper::before,.page.k-endpaper::after,.page.k-cover::before,.page.k-cover::after{display:none}
.page.k-endpaper{background:#08134a;border-radius:0 6px 6px 0;box-shadow:none}
.endpaper{position:absolute;inset:0;background:
   url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='64' height='64'><polygon fill='%23e3c06a' fill-opacity='.18' points='32,18 33.4,29.4 40,24 35,31.4 46,32 35,32.6 40,40 33.4,34.6 32,46 30.6,34.6 24,40 29,32.6 18,32 29,31.4 24,24 30.6,29.4'/></svg>") 0 0/64px,
   linear-gradient(120deg,#0a1a70,#050b26 70%);
  box-shadow:inset 0 0 0 14px rgba(227,192,106,.0),inset 24px 0 40px -20px rgba(0,0,0,.7)}
.page.k-cover{display:grid;place-items:center;overflow:visible;box-shadow:none;border-radius:0}
.page.k-cover .cover{box-shadow:0 30px 60px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.06)}

/* واجهة الغلاف */
.cover-ui{position:absolute;inset-inline:0;bottom:34px;display:flex;justify-content:center;gap:12px;z-index:15;flex-wrap:wrap;padding:0 16px;transition:opacity .5s,transform .5s var(--ease)}
body:not(.is-cover) .cover-ui{opacity:0;pointer-events:none;transform:translateY(20px)}
.book.closed .pg-l{filter:drop-shadow(0 0 0 transparent)}
body.is-cover .bar{opacity:0;pointer-events:none;transform:translateY(20px)}

/* شريط سفلي */
.bar{position:absolute;bottom:0;inset-inline:0;height:74px;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 22px 6px;z-index:20;
  background:linear-gradient(0deg,rgba(3,7,25,.9),transparent);transition:opacity .4s,transform .4s var(--ease)}
.nb{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);transition:.25s;flex:none}
.nb:hover{background:var(--red);border-color:var(--red);transform:scale(1.08)}
.nb:disabled{opacity:.3;pointer-events:none}
.nb svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.prog{width:min(560px,60vw)}
.prog .meta{display:flex;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.7);margin-top:4px;gap:12px}
#chapName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pageInfo{white-space:nowrap;font-family:var(--f-title);letter-spacing:.04em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;direction:rtl;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:5px;background:rgba(255,255,255,.18)}
input[type=range]::-moz-range-track{height:5px;border-radius:5px;background:rgba(255,255,255,.18)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;margin-top:-6.5px;border-radius:50%;background:var(--red);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.5)}
input[type=range]::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:var(--red);border:3px solid #fff}

/* درج الفهرس */
.toc{position:absolute;top:0;bottom:0;inset-inline-start:0;width:min(420px,92vw);background:rgba(6,12,40,.97);backdrop-filter:blur(16px);z-index:40;transform:translateX(100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;border-inline-end:1px solid rgba(255,255,255,.12);box-shadow:-30px 0 60px rgba(0,0,0,.5)}
.toc.open{transform:none}
.toc-head{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.1)}
.toc-head b{font-family:var(--f-title);font-size:1.4rem}
.toc-list{overflow:auto;padding:12px 14px 40px;flex:1;user-select:none}
.toc-list a{display:flex;align-items:baseline;gap:10px;padding:10px 12px;border-radius:12px;color:rgba(255,255,255,.85);cursor:pointer;font-size:.97rem;transition:.2s}
.toc-list a:hover{background:rgba(255,255,255,.1)}
.toc-list a.active{background:rgba(238,27,36,.18);color:#fff}
.toc-list a .pn{margin-inline-start:auto;font-family:var(--f-title);color:var(--gold);flex:none}
.toc-list a i{font-style:normal;font-family:var(--f-title);color:var(--red);min-width:1.5em}
.toc-list .ph{margin:18px 12px 4px;font-family:var(--f-title);font-size:1.1rem;color:var(--gold);letter-spacing:.04em;border-bottom:1px solid rgba(227,192,106,.3);padding-bottom:6px}
.scrim{position:absolute;inset:0;background:rgba(0,0,0,.5);z-index:30;opacity:0;pointer-events:none;transition:opacity .4s}
.scrim.on{opacity:1;pointer-events:auto}

.loading{position:absolute;inset:0;z-index:60;background:#050b26;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:opacity .6s;font-size:.95rem;color:rgba(255,255,255,.7)}
.loading img{width:90px;animation:pulse 1.4s ease-in-out infinite}
.loading.done{opacity:0;pointer-events:none}
@keyframes pulse{50%{transform:scale(1.1);opacity:.7}}
#measure{position:fixed;left:-99999px;top:0;visibility:hidden;pointer-events:none}
#measure .page{box-shadow:none}

@media (max-width:899px),(max-aspect-ratio:4/5){
  .topbar{height:56px;padding:0 10px}
  .tb-brand small,.ib span{display:none}
  .tb-brand img{height:32px}
  .ib{min-width:38px;padding:0 8px}
  .book-fit{width:var(--PW)}
  .page .head{inset-inline:44px;top:26px}
  .page .body{inset-inline:44px}
  .bar{height:68px;gap:10px;padding:0 12px 4px}
  .prog{width:auto;flex:1}
  .nb{width:42px;height:42px}
  .cover-ui{bottom:26px}
}
@media (max-width:420px){#btnFontDn{display:none}}
