:root{--bg:#ffffff;--fg:#1a1a1a;--muted:#595959;--accent:#1a1a1a;--line:#d9d9d9;--card:#f2f2f2;--link:#1a1a1a}
*{box-sizing:border-box}
html{font-size:100%;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:1.125rem/1.7 Arial,Helvetica,sans-serif}
a{color:var(--link);text-underline-offset:.15em}a:hover{color:var(--accent)}
.wrap{max-width:46rem;margin:0 auto;padding-inline:1rem}
header.site{border-bottom:1px solid var(--line);padding-block:.9rem}
header.site .wrap{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:baseline;justify-content:space-between}
.brand{font:700 1.15rem/1.2 Arial,Helvetica,sans-serif;color:var(--fg);text-decoration:none}
nav.top{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font:.95rem Arial,Helvetica,sans-serif}
nav.top a{color:var(--fg)}
.crumbs{font:.85rem Arial,Helvetica,sans-serif;color:var(--muted);padding-top:1rem}
.crumbs a{color:var(--muted)}
main{padding-block:1rem 3rem}
h1{font:800 clamp(1.7rem,5vw,2.4rem)/1.2 Arial,Helvetica,sans-serif;text-wrap:balance;margin:.6rem 0 1rem}
h2{font:700 1.4rem/1.3 Arial,Helvetica,sans-serif;margin:2.2rem 0 .6rem;text-wrap:balance}
p,li{max-width:65ch}
blockquote{margin:1.2rem 0;padding:.6rem 1rem;border-left:4px solid var(--accent);background:var(--card);font-style:italic}
table{border-collapse:collapse;width:100%}
.tw{overflow-x:auto;margin:1rem 0}
th,td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left;vertical-align:top;font:1rem/1.5 Arial,Helvetica,sans-serif}
th{background:var(--card)}
.lead{font-size:1.25rem}
.cta{margin:2.5rem 0 1.5rem;padding:1rem 1.2rem;border:2px solid var(--accent);border-radius:.5rem;background:var(--card);font-family:Arial,Helvetica,sans-serif}
.cta h2{margin:0 0 .4rem;font-size:1.15rem}
.cta p{margin:.3rem 0}
.btn{display:inline-block;margin-top:.5rem;padding:.55rem 1rem;background:var(--accent);color:var(--bg);border-radius:.4rem;text-decoration:none;font-weight:700}
.btn:hover{color:var(--bg);opacity:.9}
.pager{font:1rem Arial,Helvetica,sans-serif;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:2rem}
.toc{font:1rem/1.6 Arial,Helvetica,sans-serif;padding-left:1.2rem}
footer.site{border-top:1px solid var(--line);padding-block:1.5rem;font:.9rem Arial,Helvetica,sans-serif;color:var(--muted)}
footer.site a{color:var(--muted)}
small{color:var(--muted)}
