@import url('style.css');
/* ===== قارئ الويب: فصل واحد في كل مرة + شريط محتويات ===== */
html{scroll-behavior:smooth;}
body{background:var(--paper,#F5F3EC);font-size:17px;line-height:1.95;}
.app{display:flex;min-height:100vh;align-items:flex-start;}
aside.side{width:320px;flex:none;position:sticky;top:0;height:100vh;overflow-y:auto;background:#FFFDF7;border-left:1px solid var(--rule);
  padding:22px 18px 40px;box-sizing:border-box;}
aside .brand{font-weight:800;font-size:17px;color:var(--accent);margin:0 0 4px;}
aside .brand small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-3);margin-top:2px;}
aside .progress{height:4px;background:var(--rule);border-radius:2px;margin:12px 0 16px;overflow:hidden;}
aside .progress i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s;}
aside nav ol{list-style:none;margin:0;padding:0;}
aside nav li{margin:0;}
aside nav a{display:block;padding:7px 10px;border-radius:6px;color:var(--ink-2);text-decoration:none;font-size:14.5px;line-height:1.55;}
aside nav a:hover{background:var(--accent-soft);color:var(--accent);}
aside nav li.l1>a{font-weight:700;color:var(--ink);margin-top:2px;}
aside nav li.l1>a .n{display:inline-block;min-width:26px;font-family:var(--en);font-size:12px;color:var(--accent);font-weight:600;}
aside nav li.l1.active>a{background:var(--accent);color:#fff;}
aside nav li.l1.active>a .n{color:#DDEDE4;}
aside nav ol.sub{display:none;margin:2px 0 6px;padding-right:22px;border-right:2px solid var(--rule);}
aside nav li.l1.active ol.sub{display:block;}
aside nav ol.sub a{font-size:13.5px;padding:4px 8px;color:var(--ink-3);}
aside nav ol.sub a.cur{color:var(--accent);font-weight:700;}
main.reader{flex:1;min-width:0;padding:28px 40px 80px;}
main .page{max-width:860px;margin:0 auto;background:#fff;padding:44px 52px 40px;border-radius:10px;box-shadow:0 1px 3px rgba(34,53,42,.08),0 8px 30px rgba(34,53,42,.05);}
main .page[hidden]{display:none;}
.chnum{page-break-before:auto;}
h1.chapter,h1.front{page-break-before:auto;}
nav.toc{display:none;}
.cover{height:auto;min-height:0;padding:56px 48px;border-radius:10px;margin:-44px -52px 36px;page-break-after:auto;display:block;}
.cover .title{font-size:34px;margin:22px 0 14px;}
.cover .sub{font-size:18px;}
.cover .meta{margin-top:36px;}
.pager{display:flex;justify-content:space-between;gap:16px;margin:48px 0 0;padding-top:22px;border-top:1px solid var(--rule);}
.pager a{flex:1;display:block;padding:14px 18px;border:1px solid var(--rule);border-radius:8px;text-decoration:none;color:var(--ink);background:#FFFDF7;}
.pager a:hover{border-color:var(--accent);background:var(--accent-soft);}
.pager a small{display:block;font-size:12.5px;color:var(--ink-3);margin-bottom:2px;}
.pager a.next{text-align:left;}
.pager a.none{visibility:hidden;}
.topbar{display:none;}
pre{font-size:13.5px;}
table{font-size:15px;}
.box .bt{font-size:16px;}
.url{font-size:13px;}
.badge{font-size:12px;}
@media (max-width:980px){
  .topbar{display:flex;position:sticky;top:0;z-index:20;align-items:center;gap:12px;background:#FFFDF7;border-bottom:1px solid var(--rule);padding:10px 14px;}
  .topbar button{font:inherit;border:1px solid var(--rule);background:#fff;border-radius:6px;padding:6px 12px;cursor:pointer;}
  .topbar .t{font-weight:700;font-size:15px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .app{display:block;}
  aside.side{position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .25s;z-index:30;box-shadow:-8px 0 30px rgba(0,0,0,.15);width:min(320px,86vw);}
  body.nav-open aside.side{transform:none;}
  .scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:25;}
  body.nav-open .scrim{display:block;}
  main.reader{padding:14px 10px 60px;}
  main .page{padding:24px 18px;border-radius:8px;}
  .cover{margin:-24px -18px 24px;padding:36px 22px;}
  .cover h1{font-size:26px;}
}
@media print{aside.side,.topbar,.pager,.scrim{display:none!important;} main .page{display:block!important;box-shadow:none;max-width:none;}}

.tbl{overflow-x:auto;margin:2.5mm 0 5mm;}
.tbl table{margin:0;min-width:520px;}

aside .pdf{display:block;margin:-6px 0 14px;padding:8px 10px;border:1px dashed var(--rule-2);border-radius:6px;font-size:13.5px;color:var(--accent);text-decoration:none;text-align:center;}
aside .pdf:hover{background:var(--accent-soft);}
