/* Self-hosted fonts (no third-party requests) */
@font-face{font-family:'DM Sans';font-weight:400;font-display:optional;src:url(fonts/DMSans-400.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:500;font-display:optional;src:url(fonts/DMSans-500.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:600;font-display:optional;src:url(fonts/DMSans-600.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-weight:700;font-display:optional;src:url(fonts/DMSans-700.woff2) format('woff2')}
@font-face{font-family:'Noto Naskh Arabic';font-weight:400;font-display:optional;src:url(fonts/NotoNaskhArabic-400.woff2) format('woff2')}
@font-face{font-family:'Noto Naskh Arabic';font-weight:500;font-display:optional;src:url(fonts/NotoNaskhArabic-500.woff2) format('woff2')}
@font-face{font-family:'Noto Naskh Arabic';font-weight:600;font-display:optional;src:url(fonts/NotoNaskhArabic-600.woff2) format('woff2')}
@font-face{font-family:'Noto Naskh Arabic';font-weight:700;font-display:optional;src:url(fonts/NotoNaskhArabic-700.woff2) format('woff2')}
/* Reading progress, back-to-top, on-this-page, language hint */
.read-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:50;background:transparent;pointer-events:none}
.read-progress i{display:block;height:100%;width:100%;background:var(--gold);transform-origin:left;transform:scaleX(var(--p,0))}
[dir=rtl] .read-progress i{transform-origin:right}
.to-top{position:fixed;inset-block-end:20px;inset-inline-end:20px;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:var(--ink);color:#f3ead8;font-size:20px;line-height:1;z-index:40;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.toc{margin:0 0 34px;padding:18px 22px;background:var(--white);border:1px solid var(--line);border-inline-start:3px solid var(--gold);max-width:840px;margin-inline:auto}
.toc h2{font:700 11px var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:#8a6636;margin:0 0 10px!important}
.toc ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px 24px}
.toc a{display:block;padding:6px 0;font-size:14px;text-decoration:none;border-bottom:1px solid transparent}
.toc a:hover,.toc a[aria-current=true]{border-bottom-color:var(--gold);color:var(--green)}
.prose h2[id],.prose h3[id]{scroll-margin-top:20px}
.lang-hint{position:fixed;inset-inline:0;inset-block-end:0;z-index:45;box-shadow:0 -4px 20px #0002;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 5vw;background:var(--soft);border-top:1px solid var(--line);font-size:14px}
.lang-hint a{font-weight:700}.lang-hint button{background:none;border:1px solid var(--line);padding:4px 10px;border-radius:3px;color:var(--ink)}
.offline-badge{position:fixed;inset-block-end:20px;inset-inline-start:20px;background:var(--ink);color:#f3ead8;padding:8px 14px;font-size:13px;border-radius:4px;z-index:40}
.offline-badge[hidden]{display:none}
.page-nav{display:flex;justify-content:space-between;gap:16px;margin:50px 0 0;padding-top:26px;border-top:1px solid var(--line)}
.page-nav a{display:block;max-width:48%;padding:14px 18px;border:1px solid var(--line);background:var(--white);text-decoration:none;color:var(--ink)}
.page-nav a:hover{border-color:var(--gold)}.page-nav small{display:block;color:#8a6636;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.page-nav .next{margin-inline-start:auto;text-align:end}
.site-footer a{color:var(--green)}
@media(max-width:600px){.page-nav{flex-direction:column}.page-nav a{max-width:none}}
@media(prefers-contrast:more){:root{--muted:#2e3a33}}
@media print{.site-header .main-nav,.menu-toggle,.page-tools,.social-band,.discovery-game,.language-switch,.to-top,.read-progress,.toc,.lang-hint,.page-nav,dialog{display:none!important}body{background:#fff;font-size:12pt}.page-hero{padding:0 0 14pt!important;border:0}.page-index .home-hero{background:#fff!important;color:#000!important;min-height:0!important}a{color:#000;text-decoration:none}.prose a[href^=http]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}img{max-width:100%;break-inside:avoid}h1,h2,h3{break-after:avoid}}
.side-portrait img,.wide-photo img{max-width:100%;height:auto}
.card-number,.chapter-number{color:#8a6636}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}
.page-tools button,.dialog-top button,.viewer-controls button,.share-links a,.gallery-filters button{min-height:32px}
.eyebrow{color:#6f4f25}.prayer-card p{color:#f5efdf}.prayer-card small{color:#d3dcd2}
