:root{--bg:#fbfcfb;--fg:#1b241d;--muted:#5b6b60;--rule:#dfe7e1;--accent:#2f6d4f;--card:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#111613;--fg:#e7efe9;--muted:#9fb0a5;--rule:#26302a;--accent:#7fc9a2;--card:#161d19}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);
font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:47rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}
header.site{border-bottom:1px solid var(--rule);margin-bottom:2rem}
header.site .wrap{padding-bottom:1.25rem;padding-top:1.75rem}
a{color:var(--accent)}
a.brand{font-weight:650;font-size:1.15rem;text-decoration:none;color:var(--fg)}
nav{margin-top:.5rem;font-size:.93rem}
nav a{margin-right:1rem}
h1{font-size:1.75rem;line-height:1.25;margin:0 0 .35rem}
h2{font-size:1.2rem;margin:2rem 0 .5rem;padding-top:.4rem;border-top:1px solid var(--rule)}
h3{font-size:1rem;margin:1.4rem 0 .3rem}
.meta{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem}
.lede{font-size:1.08rem;color:var(--muted)}
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem;display:block;overflow-x:auto}
th,td{border:1px solid var(--rule);padding:.5rem .6rem;text-align:left;vertical-align:top}
th{background:var(--card)}
ul,ol{padding-left:1.25rem}
li{margin:.3rem 0}
code{background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:.05rem .3rem;font-size:.9em}
.set{background:#fff3cd;color:#5c4708;border:1px solid #e0c766;border-radius:3px;padding:.05rem .35rem;font-weight:600;font-size:.9em}
@media (prefers-color-scheme:dark){.set{background:#3a300d;color:#f0dfa0;border-color:#6b5a1c}}
.note{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--accent);
padding:.85rem 1rem;margin:1.5rem 0;font-size:.95rem}
footer{border-top:1px solid var(--rule);margin-top:3rem;padding-top:1.25rem;color:var(--muted);font-size:.88rem}
footer a{margin-right:1rem}
