:root { --ink:#1a1a1a; --muted:#5c5c5c; --line:#e3e3e3; --accent:#b23a1f; }
* { box-sizing: border-box; }
body { margin:0; font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
       color:var(--ink); background:#fff; }
.site-header { display:flex; flex-wrap:wrap; gap:12px 24px; align-items:baseline;
       padding:18px 24px; border-bottom:1px solid var(--line); max-width:860px; margin:0 auto; }
.brand { font-weight:700; font-size:20px; text-decoration:none; color:var(--ink); letter-spacing:-.02em; }
.brand span { color:var(--accent); }
.site-header nav { display:flex; flex-wrap:wrap; gap:14px; }
.site-header nav a { color:var(--muted); text-decoration:none; font-size:15px; }
.site-header nav a:hover, .site-header nav a.active { color:var(--ink); }
main { max-width:720px; margin:0 auto; padding:28px 24px 56px; }
h1 { font-size:34px; line-height:1.2; letter-spacing:-.02em; margin:8px 0 18px; }
h2 { font-size:23px; margin:34px 0 10px; letter-spacing:-.01em; }
h3 { font-size:18px; margin:24px 0 8px; }
p { margin:0 0 14px; }
a { color:var(--accent); }
code { background:#f4f4f4; padding:1px 5px; border-radius:4px; font-size:.92em; }
hr { border:0; border-top:1px solid var(--line); margin:28px 0; }
blockquote { margin:20px 0; padding:12px 16px; border-left:3px solid var(--line); color:var(--muted); }
.table-wrap { overflow-x:auto; margin:18px 0; }
table { border-collapse:collapse; width:100%; font-size:15.5px; }
th, td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:#fafafa; font-weight:600; }
.site-footer { max-width:720px; margin:0 auto; padding:24px; border-top:1px solid var(--line);
       color:var(--muted); font-size:14px; }
.site-footer a { color:var(--muted); }
@media (max-width:520px) { h1 { font-size:28px; } body { font-size:16px; } }
