:root{
  --bg:#0f1117; --surface:#1e2330; --border:#30363d; --accent:#58a6ff;
  --accent2:#3fb950; --text:#c9d1d9; --muted:#8b949e; --code-bg:#161b22;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);
  font-family:'Segoe UI',system-ui,sans-serif;font-size:15px;line-height:1.65}
.topbar{display:flex;justify-content:space-between;align-items:center;
  padding:14px 24px;background:#161b22;border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:10}
.topbar .brand{color:var(--accent);font-weight:700;letter-spacing:.5px}
.topbar nav a{color:var(--muted);text-decoration:none;margin-left:16px}
.topbar nav a:hover{color:var(--accent)}
main{max-width:820px;margin:0 auto;padding:40px 24px 64px}
h1{font-size:28px;color:#fff;margin:8px 0 16px}
h2{font-size:21px;color:var(--accent);margin:32px 0 12px;
  padding-bottom:6px;border-bottom:1px solid var(--border)}
h3{font-size:17px;color:#fff;margin:24px 0 10px}
p{margin:12px 0}
.lede{color:var(--muted)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
strong{color:#fff}
code{background:var(--code-bg);border:1px solid var(--border);border-radius:5px;
  padding:1px 6px;font-family:'Cascadia Code',Consolas,monospace;font-size:.88em;
  color:var(--accent2)}
pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;
  padding:14px 16px;overflow-x:auto;margin:16px 0}
pre code{background:none;border:none;padding:0;color:var(--text);font-size:13px}
ul,ol{margin:12px 0 12px 24px}
li{margin:6px 0}
hr{border:none;border-top:1px solid var(--border);margin:28px 0}
.post-date{color:var(--muted);font-size:13px;margin-bottom:4px}
.post-list{list-style:none;margin:24px 0 0}
.post-list li{border:1px solid var(--border);border-radius:8px;
  background:var(--surface);padding:16px 18px;margin:0 0 14px}
.post-list li a{font-size:18px;font-weight:600}
.post-list .date{color:var(--muted);font-size:12px;margin-left:10px}
.post-list .excerpt{color:var(--muted);margin:6px 0 0;font-size:14px}
footer{max-width:820px;margin:0 auto;padding:24px;color:var(--muted);
  font-size:12px;border-top:1px solid var(--border)}
