:root{
  --bg:#fbfbf9; --fg:#1a1a1a; --muted:#5a5a5a; --rule:#e2e0da;
  --accent:#2f6f4e; --card:#ffffff;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14151a; --fg:#e8e6e1; --muted:#a3a09a; --rule:#2b2d34;
    --accent:#7fbf9a; --card:#1b1d23;
  }
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:44rem;margin:0 auto;padding:3.5rem 1.25rem 5rem}
header.site{display:flex;align-items:baseline;gap:.75rem;margin-bottom:2.5rem;
  padding-bottom:1.25rem;border-bottom:1px solid var(--rule)}
header.site a.brand{font-weight:650;font-size:1.05rem;color:var(--fg);text-decoration:none;letter-spacing:-.01em}
header.site nav{margin-left:auto;display:flex;gap:1.25rem;font-size:.9rem}
header.site nav a{color:var(--muted);text-decoration:none}
header.site nav a:hover{color:var(--accent)}
h1{font-size:1.9rem;line-height:1.2;letter-spacing:-.02em;margin:0 0 .4rem}
h2{font-size:1.1rem;letter-spacing:-.01em;margin:2.4rem 0 .6rem}
h3{font-size:.95rem;margin:1.6rem 0 .4rem}
p,li{color:var(--fg)}
p{margin:0 0 1rem}
ul{margin:0 0 1rem;padding-left:1.2rem}
li{margin-bottom:.45rem}
.lede{font-size:1.05rem;color:var(--muted);margin-bottom:2rem}
.meta{font-size:.85rem;color:var(--muted);margin-bottom:2.5rem}
a{color:var(--accent)}
code{font:.88em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--card);
  border:1px solid var(--rule);border-radius:4px;padding:.1em .35em}
.card{background:var(--card);border:1px solid var(--rule);border-radius:10px;
  padding:1.15rem 1.25rem;margin:1.5rem 0}
.card p:last-child,.card ul:last-child{margin-bottom:0}
footer.site{margin-top:4rem;padding-top:1.25rem;border-top:1px solid var(--rule);
  font-size:.85rem;color:var(--muted);display:flex;gap:1.25rem;flex-wrap:wrap}
footer.site a{color:var(--muted);text-decoration:none}
footer.site a:hover{color:var(--accent)}
