:root { --fg:#1a1a1a; --muted:#6b6b6b; --bg:#fdfdfc; --line:#e5e5e2; --link:#1f5f8b; }
* { 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:680px; margin:0 auto; padding:0 20px; }
header { border-bottom:1px solid var(--line); margin-bottom:38px; }
header .wrap { display:flex; align-items:baseline; justify-content:space-between; padding-top:28px; padding-bottom:18px; flex-wrap:wrap; gap:10px; }
header h1 { font-size:17px; margin:0; letter-spacing:-.01em; }
header h1 a { color:var(--fg); text-decoration:none; }
nav a { color:var(--muted); text-decoration:none; font-size:14px; margin-left:18px; }
nav a:hover { color:var(--fg); }
a { color:var(--link); }
main { padding-bottom:60px; }
h2 { font-size:21px; margin:34px 0 6px; letter-spacing:-.01em; }
h2 a { color:var(--fg); text-decoration:none; }
h2 a:hover { text-decoration:underline; }
h3 { font-size:16px; margin:28px 0 8px; }
time, .meta { color:var(--muted); font-size:13px; }
p { margin:12px 0; }
ul { padding-left:20px; }
li { margin:5px 0; }
pre { background:#f4f4f1; border:1px solid var(--line); border-radius:5px; padding:12px 14px;
  overflow-x:auto; font-size:13.5px; line-height:1.5; }
code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13.5px; }
p code, li code { background:#f4f4f1; padding:1px 5px; border-radius:3px; }
article { border-bottom:1px solid var(--line); padding-bottom:26px; }
article:last-child { border-bottom:0; }
footer { border-top:1px solid var(--line); padding:20px 0 40px; color:var(--muted); font-size:13px; }
