:root{--bg:#f7f8fa;--ink:#14181f;--mute:#4a5565;--rule:#d5dae1;--acc:#0f5c7a;--panel:#eef1f5}
@media(prefers-color-scheme:dark){:root{--bg:#0f1318;--ink:#e6eaf0;--mute:#a3adbb;--rule:#2a323d;--acc:#6cc0de;--panel:#161c24}}
*{box-sizing:border-box}html{scroll-padding-top:4rem}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:46rem;margin:0 auto;padding:0 1.25rem}
header{border-bottom:1px solid var(--rule)}header .wrap{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:baseline;justify-content:space-between;padding-top:1rem;padding-bottom:1rem}
.brand{font:700 1.05rem Georgia,"Iowan Old Style",serif;color:var(--ink);text-decoration:none}
nav a{white-space:nowrap;color:var(--mute);text-decoration:none}nav a:hover,nav a[aria-current]{color:var(--ink);text-decoration:underline;text-underline-offset:.3em}
a{color:var(--acc)}a:focus-visible{outline:3px solid var(--acc);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:Georgia,"Iowan Old Style",serif;line-height:1.2;font-weight:700}
h1{font-size:clamp(2.1rem,6vw,3.3rem);margin:3.5rem 0 1rem;letter-spacing:-.02em}
h2{font-size:1.6rem;margin:3rem 0 .75rem}h3{font-size:1.2rem;margin:1.75rem 0 .4rem}
.lede{font-size:1.25rem;color:var(--mute);max-width:38rem}
.def{border-left:4px solid var(--acc);padding:.25rem 0 .25rem 1.1rem;margin:1.75rem 0;font:1.3rem/1.5 Georgia,"Iowan Old Style",serif}
.ladder{list-style:none;padding:0;margin:1.5rem 0}
.ladder li{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--rule)}
.ladder li:last-child{border-bottom:1px solid var(--rule)}
.ladder b{font-family:Georgia,serif;color:var(--acc)}
.ladder li:nth-child(3){background:var(--panel);margin:0 -1rem;padding-left:1rem;padding-right:1rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.75rem 0}
.btn{display:inline-block;padding:.7rem 1.2rem;border:2px solid var(--acc);color:var(--acc);text-decoration:none;font-weight:600;border-radius:4px}
.btn.p{background:var(--acc);color:var(--bg)}
table{width:100%;border-collapse:collapse;margin:1.25rem 0;font-size:.98rem}
th,td{text-align:left;padding:.65rem .6rem;border-top:1px solid var(--rule);vertical-align:top}th{color:var(--mute);font-weight:600}
.scroll{overflow-x:auto}dl dt{font-weight:700;margin-top:1rem}dl dd{margin:.15rem 0 0}
details{border-top:1px solid var(--rule);padding:.8rem 0}summary{cursor:pointer;font-weight:600}
footer{margin-top:5rem;border-top:1px solid var(--rule);color:var(--mute);font-size:.95rem}footer .wrap{padding-top:1.5rem;padding-bottom:3rem}
code{background:var(--panel);padding:.1em .35em;border-radius:3px;font-size:.92em}
@media(max-width:34rem){.ladder li{grid-template-columns:1fr;gap:.25rem}.ladder li:nth-child(3){margin:0 -.5rem}}

.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:var(--bg);color:var(--ink);padding:.6rem .9rem;border:2px solid var(--acc);z-index:9}
@media(max-width:40rem){.scroll{overflow:visible}table,tbody,tr,td{display:block;width:100%}thead{position:absolute;left:-9999px}
tr{border:1px solid var(--rule);border-radius:6px;padding:.4rem .95rem;margin:0 0 .9rem;background:var(--panel)}
td{border:0;padding:.4rem 0}td::before{content:attr(data-label);display:block;font-size:.85rem;color:var(--mute);font-weight:600}}
@media print{header nav,.btns,.skip{display:none}body{background:#fff;color:#000}}
nav{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem}
