:root{--bg:#fbfaf7;--fg:#1d1d1b;--muted:#5f5e58;--rule:#dcd9d0;--link:#0b57a4;--code:#f0eee8;--accent:#1f6f4a}
@media (prefers-color-scheme:dark){:root{--bg:#161614;--fg:#e8e6e0;--muted:#a3a19a;--rule:#33322e;--link:#7ab3ee;--code:#232320;--accent:#7fd0a5}}
*{box-sizing:border-box}
html{font-size:17px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55}
.nav{border-bottom:1px solid var(--rule);padding:.6rem 1rem;font-size:.9rem;color:var(--muted)}
.nav a{color:var(--muted);text-decoration:none}
.nav a:hover{color:var(--link)}
.nav .sep{margin:0 .5rem}
main{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 4rem}
h1{font-size:1.9rem;line-height:1.2;margin:.5rem 0 1rem}
h2{font-size:1.35rem;margin:2.2rem 0 .6rem;border-bottom:1px solid var(--rule);padding-bottom:.2rem}
h3{font-size:1.1rem;margin:1.6rem 0 .4rem}
p,li{max-width:46rem}
a{color:var(--link)}
blockquote{margin:1rem 0;padding:.6rem 1rem;border-left:3px solid var(--accent);background:var(--code);border-radius:0 4px 4px 0}
blockquote p{margin:.4rem 0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--code);padding:.1em .3em;border-radius:3px}
pre{background:var(--code);padding:.8rem 1rem;overflow-x:auto;border-radius:4px}
pre code{background:none;padding:0}
.tbl{overflow-x:auto;margin:1rem 0}
table{border-collapse:collapse;font-size:.92rem;min-width:100%}
th,td{border:1px solid var(--rule);padding:.35rem .6rem;text-align:left;vertical-align:top}
th{background:var(--code)}
img{max-width:100%;height:auto;display:block;margin:1rem auto}
figure{margin:1rem 0}
figcaption{font-size:.88rem;color:var(--muted);text-align:center}
.meta{font-size:.9rem;color:var(--muted);border:1px solid var(--rule);border-radius:4px;padding:.5rem .8rem;margin:0 0 1.2rem}
.meta dl{display:grid;grid-template-columns:max-content 1fr;gap:.15rem .8rem;margin:0}
.meta dt{font-weight:600}
.meta dd{margin:0}
footer{max-width:46rem;margin:0 auto;padding:1rem;font-size:.85rem;color:var(--muted);border-top:1px solid var(--rule)}
.index li{margin:.5rem 0}
.index .desc{color:var(--muted);display:block;font-size:.92rem}
