/* Site stylesheet — colours/typography from the book (style.css + cover). Fonts: OFL, see /assets/fonts/OFL.txt */
@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3-var.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url(/assets/fonts/SourceSans3-Italic-var.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Noto Sans Arabic";src:url(/assets/fonts/NotoSansArabic-var.woff2) format("woff2");font-weight:400 700;font-display:swap;unicode-range:U+0600-06FF,U+200C-200F}
:root{--navy:#0E2A47;--cream:#F7F3EA;--red:#D63031;--red-text:#B3261E;--yellow:#FFCD5A;--bg:#F7F3EA;--fg:#1B2733;--head:#0E2A47;--muted:#4A5866;--card:#FFFFFF;--line:#C9C2B3;--link:#0E4C8A;--band:rgba(14,42,71,.07);--focus:#D63031;
 --sans:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0B1E33;--fg:#E8E3D8;--head:#F7F3EA;--muted:#B5BEC8;--card:#12304F;--line:#2F4A66;--link:#9CC8F5;--band:rgba(255,205,90,.08);--red-text:#FF8A80;--focus:#FFCD5A}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:1.125rem/1.6 var(--sans)}
:lang(ar){font-family:"Noto Sans Arabic","Noto Naskh Arabic",Tahoma,"Segoe UI",var(--sans);line-height:1.8}
.wrap{max-width:62rem;margin:0 auto;padding:0 1.25rem}
.prose{max-width:46rem;padding-top:2rem;padding-bottom:3rem}
h1,h2,h3{color:var(--head);line-height:1.2;font-weight:800}
h1{font-size:clamp(2rem,5vw,3rem);margin:.3em 0}
h2{font-size:1.5rem;margin:2.2em 0 .6em;padding-inline-start:.5em;border-inline-start:.22em solid var(--red)}
h3{font-size:1.15rem;margin:1.4em 0 .4em}
a{color:var(--link);text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
main:focus{outline:none}
.skip{position:absolute;left:-999px;top:.5rem;background:var(--navy);color:var(--cream);padding:.6rem 1rem;z-index:10;border-radius:.3rem}
.skip:focus{left:.5rem}
.site-header{background:var(--navy);color:var(--cream);border-top:6px solid var(--red)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;flex-wrap:wrap}
.brand{color:var(--cream);font-weight:800;text-decoration:none;font-size:1.2rem;letter-spacing:.02em}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.site-header nav a{color:var(--cream);text-decoration:none;padding:.4rem 0;display:inline-block}
.site-header nav a[aria-current]{border-bottom:3px solid var(--yellow)}
.site-header :focus-visible{outline-color:var(--yellow)}
.hero{background:var(--navy);color:var(--cream);padding:2.5rem 0 3rem}
.hero-grid{display:grid;gap:2rem;align-items:center}
@media (min-width:50em){.hero-grid{grid-template-columns:300px 1fr}}
.cover{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;box-shadow:0 10px 30px rgba(0,0,0,.45);border-radius:2px}
.hero h1{color:var(--cream)}
.hero .sub{display:block;font-size:.5em;font-weight:600;margin-top:.4em}
.eyebrow{color:var(--yellow);font-weight:700;letter-spacing:.04em;margin:0}
.lede{font-size:1.25rem}
.byline{font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.button{display:inline-block;background:var(--red);color:#fff;font-weight:700;text-decoration:none;padding:.7rem 1.2rem;border-radius:.3rem;background:#C0282A}
.button:focus-visible{outline-color:var(--yellow)}
.band,.note{background:var(--band);padding:.2rem 1.25rem 1rem;border-radius:.4rem;margin-top:2rem}
.band h2,.note h2{margin-top:1rem}
.stores,.langs{list-style:none;padding:0;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}
.stores li,.langs li{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:.6rem .8rem}
.store{font-weight:700}
.tbd,mark.ph{background:#FFE08A;color:#4A2C00;font-weight:700;padding:0 .3em;border-radius:.2rem;font-family:ui-monospace,monospace;font-size:.85em}
.muted{color:var(--muted)}
.lang-toc ul{gap:.5rem}
.lang-toc a{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.2rem .8rem;text-decoration:none;background:var(--card)}
.lang-sec{border-top:1px solid var(--line);margin-top:2.5rem;scroll-margin-top:1rem}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;margin:1rem 0;background:var(--card)}
caption{text-align:start;font-weight:700;color:var(--head);padding:.3rem 0}
th,td{border:1px solid var(--line);padding:.5rem .7rem;text-align:start}
th{background:var(--navy);color:var(--cream)}
tr.empty td{font-style:italic;color:var(--muted);text-align:center}
address{font-style:normal}
.legal p{margin:.35em 0}
.site-footer{background:var(--navy);color:var(--cream);padding:1.5rem 0;margin-top:3rem;font-size:.95rem}
.site-footer a{color:var(--cream)}
.site-footer :focus-visible{outline-color:var(--yellow)}
.footer-links{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.site-footer p{margin:.25rem 0}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{
 :root{--bg:#fff;--fg:#000;--head:#000;--card:#fff;--band:#fff}
 .site-header,.skip,.button,.lang-toc{display:none}
 .hero{background:#fff;color:#000;padding:0}.hero h1,.site-footer,.site-footer a{color:#000}
 .site-footer{background:#fff;border-top:1px solid #000}
 .cover{max-width:180px;box-shadow:none}
 a[href^="http"]::after,a[href^="mailto"]::after{content:" <" attr(href) ">";font-size:.85em}
 th{background:#eee;color:#000}
 section{break-inside:avoid-page}
}
.soon{display:block;color:var(--muted);font-size:.95rem}
