:root{--bg:#f7f5f0;--panel:#fff;--ink:#1d1f22;--ink2:#4a4f57;--line:#ddd8cc;--accent:#9b1c1c;--mark:#fde68a;--th:#efeadf}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#121416;--panel:#1a1d20;--ink:#e8e6e1;--ink2:#a9adb3;--line:#2e3338;--accent:#f08a7e;--mark:#5c4a12;--th:#22262a}}
:root[data-theme="dark"]{--bg:#121416;--panel:#1a1d20;--ink:#e8e6e1;--ink2:#a9adb3;--line:#2e3338;--accent:#f08a7e;--mark:#5c4a12;--th:#22262a}
*{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 Newsreader,Georgia,serif}
a{color:var(--accent)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{position:sticky;top:0;z-index:10;background:var(--panel);border-bottom:1px solid var(--line)}
.top__in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.brand{font:700 18px Archivo,sans-serif;color:var(--ink);text-decoration:none}.brand b{color:var(--accent)}
.nav{display:flex;gap:14px;font:500 15px Archivo,sans-serif}.nav a{color:var(--ink2);text-decoration:none}.nav a[aria-current]{color:var(--ink);border-bottom:2px solid var(--accent)}
.search{position:relative;margin-left:auto;flex:1 1 240px;max-width:380px}
.search input{width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:15px Archivo,sans-serif}
.results{position:absolute;right:0;left:0;top:44px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);max-height:70vh;overflow:auto}
.results a{display:block;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:15px;line-height:1.4}
.results a:hover{background:var(--th)}.results b{font-family:Archivo,sans-serif}.results small{margin-left:8px;color:var(--ink2);font:12px Archivo,sans-serif}
.results span{display:block;color:var(--ink2);margin-top:3px}.results mark{background:var(--mark);color:inherit}.results .none{padding:12px 14px;margin:0;color:var(--ink2)}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
.hero{padding:44px 0 20px;border-bottom:1px solid var(--line);margin-bottom:28px}
.eyebrow{font:700 12px Archivo,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0}
h1{font:700 clamp(32px,5vw,50px)/1.1 Archivo,sans-serif;margin:10px 0 12px}
.dek{font-size:21px;color:var(--ink2);max-width:760px;margin:0}
.meta{font:13px Archivo,sans-serif;color:var(--ink2)}
.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:44px}
.toc{position:sticky;top:76px;align-self:start;font:14px/1.4 Archivo,sans-serif;max-height:calc(100vh - 96px);overflow:auto}
.toc__h{font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--ink2)}
.toc ol{padding-left:18px;margin:0}.toc li{margin:6px 0}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{color:var(--accent)}
.prose{max-width:760px;min-width:0}
.prose h2{font:700 28px/1.2 Archivo,sans-serif;margin:44px 0 12px;padding-top:8px;border-top:3px solid var(--accent)}
.prose h3{font:700 20px/1.3 Archivo,sans-serif;margin:30px 0 8px}
.prose table{width:100%;border-collapse:collapse;font-size:16px;margin:18px 0;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--th);font-family:Archivo,sans-serif;font-size:14px}
.prose li{margin:6px 0}
.next{margin-top:40px;font:700 17px Archivo,sans-serif}
.foot{border-top:1px solid var(--line);margin-top:60px;padding:24px 0;font-size:15px;color:var(--ink2)}
@media (max-width:860px){.layout{grid-template-columns:1fr}.toc{position:static;max-height:none;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:var(--panel)}.search{max-width:none;flex-basis:100%}}
.prose a,.footnote{overflow-wrap:anywhere;word-break:break-word}
.footnote{font-size:14px;line-height:1.5;color:var(--ink2);border-top:1px solid var(--line);margin-top:40px}
.footnote ol{padding-left:22px}.footnote li{margin:4px 0}
sup a.footnote-ref{text-decoration:none;font:600 11px Archivo,sans-serif;padding:0 1px}
html,body{overflow-x:hidden}
/* language switcher */
.lang{position:relative;font:500 14px Archivo,sans-serif}
.lang summary{cursor:pointer;list-style:none;padding:6px 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);white-space:nowrap}
.lang summary::-webkit-details-marker{display:none}
.lang__menu{position:absolute;top:38px;inset-inline-end:0;z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:6px;min-width:180px}
.lang__menu a{display:block;padding:7px 10px;border-radius:6px;color:var(--ink);text-decoration:none}
.lang__menu a:hover{background:var(--th)}.lang__menu a[aria-current]{font-weight:700;color:var(--accent)}
.pending{background:var(--mark);padding:8px 12px;border-radius:8px;font:14px Archivo,sans-serif;color:var(--ink)}
/* Arabic verse text */
.prose .ar{font:22px/1.9 "Noto Naskh Arabic","Amiri","Traditional Arabic",serif;text-align:right;color:var(--ink2);margin:4px 0 14px;padding:6px 12px;border-inline-end:3px solid var(--line)}
/* scripts */
.lang-zh body,.lang-zh .prose{font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
.lang-ar body,.lang-ar .prose{font-family:"Noto Naskh Arabic","Traditional Arabic",serif;font-size:19px;line-height:1.9}
.lang-fa body,.lang-fa .prose{font-family:Vazirmatn,Tahoma,sans-serif;line-height:1.9}
.lang-ru body,.lang-ru .prose{font-family:"PT Serif",Georgia,serif}
.lang-ar .prose h2,.lang-ar .prose h3,.lang-ar h1,.lang-fa .prose h2,.lang-fa .prose h3,.lang-fa h1,.lang-zh h1,.lang-zh .prose h2,.lang-zh .prose h3{font-family:inherit}
/* right-to-left */
[dir=rtl] .search{margin-left:0;margin-right:auto}
[dir=rtl] .prose th,[dir=rtl] .prose td{text-align:right}
[dir=rtl] .toc ol,[dir=rtl] .footnote ol{padding-left:0;padding-right:22px}
[dir=rtl] .prose blockquote{border-left:0;border-right:3px solid var(--line);margin-right:0;padding-right:14px}
[dir=rtl] .next{text-align:left}
@media (max-width:860px){.lang__menu{inset-inline-end:auto;inset-inline-start:0}}
/* accessibility */
.skip{position:absolute;inset-inline-start:0;top:0;transform:translateY(-120%);background:var(--accent);color:#fff;padding:8px 14px;z-index:100;border-end-end-radius:8px;font:600 15px Archivo,sans-serif}
.skip:focus{transform:none}
a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
.prose .anchor{opacity:0;text-decoration:none;font-weight:400;margin-inline-start:6px;color:var(--ink2)}
.prose h2:hover .anchor,.prose h3:hover .anchor,.prose .anchor:focus{opacity:1}
/* print */
@media print{
  .top,.toc,.search,.lang,.skip,.next,.anchor{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .layout{display:block}.prose{max-width:none}
  .footnote a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}
  a{color:#000}
}
.ainote{font:13px Archivo,sans-serif;color:var(--ink2);margin:8px 0 0}
.nav{flex-wrap:wrap;row-gap:6px;column-gap:14px;min-width:0}.top__in{min-width:0}

.bookhero{display:flex;gap:28px;align-items:center;background:#7a1515;color:#f3ecd9;border-radius:12px;padding:24px;margin:0 0 32px}
.bookhero__cover{flex:0 0 190px}.bookhero__cover img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.bookhero__text p{margin:0 0 12px}
.bookhero__kicker{font:700 13px Archivo,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e8c46a}
.bookhero__title{font:700 32px/1.1 Archivo,sans-serif;color:#fff}
.btn{display:inline-block;background:#e8c46a;color:#3a0a0a!important;font:700 16px Archivo,sans-serif;text-decoration:none;padding:12px 20px;border-radius:8px}
.btn:hover{background:#f3d98a}
@media (max-width:640px){.bookhero{flex-direction:column;text-align:center;padding:20px 16px}.bookhero__cover{flex-basis:auto;width:60%}}
