:root{--bg:#ffffff;--ink:#1c2228;--muted:#5b6670;--line:#e3e6e8;--accent:#0f6e8c;--accent-soft:#eaf3f6;--code:#f3f4f5;--note:#fff8e6;--note-line:#e8d59a}
@media (prefers-color-scheme:dark){:root{--bg:#141a1f;--ink:#e6e9ec;--muted:#9aa5ae;--line:#2d363d;--accent:#63bcd7;--accent-soft:#1b3440;--code:#1f272e;--note:#2b2718;--note-line:#5a4c1e}}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.7}
a{color:var(--accent)}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 24px;border-bottom:1px solid var(--line)}
.brand{font-weight:800;font-size:1.2rem;text-decoration:none;color:var(--ink);letter-spacing:-.01em}
.site-header nav a{margin-left:20px;text-decoration:none;color:var(--muted);font-size:.95rem}
.site-header nav a:hover{color:var(--accent)}
main{max-width:740px;margin:0 auto;padding:36px 24px 64px}
h1{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-size:2rem;line-height:1.2;margin:0 0 .5em;text-wrap:balance;letter-spacing:-.01em}
h2{font-family:Georgia,"Iowan Old Style","Times New Roman",serif;font-size:1.4rem;margin:2.1em 0 .6em;line-height:1.3}
h3{font-size:1.1rem;margin:1.6em 0 .4em;font-weight:700}
p{margin:0 0 1.15em}
.byline{color:var(--muted);font-size:.9rem;margin-bottom:1em}
.disclosure{font-size:.88rem;color:var(--muted);background:var(--note);border:1px solid var(--note-line);border-radius:6px;padding:10px 14px;margin:0 0 1.8em}
hr{border:0;border-top:1px solid var(--line);margin:2em 0}
blockquote{margin:1.2em 0;padding:.5em 1em;border-left:3px solid var(--accent);background:var(--accent-soft)}
code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--code);padding:1px 5px;border-radius:4px}
ul,ol{padding-left:1.4em}li{margin:.35em 0}
.table-wrap{overflow-x:auto;margin:1.2em 0;border:1px solid var(--line);border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:.93rem;font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
th{font-weight:600;color:var(--muted);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;background:var(--code)}
sup.fn a{text-decoration:none;font-size:.75em;padding:0 2px}
.footnotes{margin-top:3em;padding-top:1.2em;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.footnotes h2{font-family:inherit;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .6em}
.footnotes li{word-break:break-word}
.fnback{text-decoration:none;margin-left:4px}
.intro h1{font-size:2.4rem}.intro p{color:var(--muted);font-size:1.08rem;max-width:60ch}
.list-title{font-family:inherit;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:2.4em 0 0}
.article-list{list-style:none;padding:0;margin:.4em 0 0}
.article-list li{padding:20px 0;border-top:1px solid var(--line)}
.article-list a{font-family:Georgia,"Iowan Old Style",serif;font-size:1.3rem;font-weight:700;text-decoration:none;line-height:1.3}
.article-list a:hover{text-decoration:underline}
.article-list .date{display:block;color:var(--muted);font-size:.85rem;margin:6px 0 6px}
.article-list p{margin:0;color:var(--muted)}
.how{margin-top:3em;padding:20px 22px;background:var(--accent-soft);border-radius:8px}
.how h2{font-family:inherit;font-size:1rem;margin:0 0 .6em}
.how ul{margin:0 0 .8em}.how p{margin:0;font-size:.95rem}
.site-footer{border-top:1px solid var(--line);padding:24px;color:var(--muted);font-size:.85rem;max-width:740px;margin:0 auto}
.site-footer p{margin:0 0 .6em}
@media (max-width:600px){html{font-size:16px}.site-header{padding:14px 16px}main{padding:24px 16px 48px}.intro h1{font-size:2rem}}
