:root{--bg:#0f1115;--fg:#e8e8ea;--dim:#9aa0a6;--line:#22262f;--accent:#7aa2f7}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.wrap{max-width:44rem;margin:0 auto;padding:0 1.25rem}
header{border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:4rem}
.brand{font-weight:600;letter-spacing:.02em;text-decoration:none;color:var(--fg)}
nav a{color:var(--dim);text-decoration:none;margin-left:1.25rem;font-size:.9rem}
nav a:hover{color:var(--fg)}
main{padding-bottom:1rem}
h1{font-size:1.5rem;margin:2.5rem 0 .5rem;letter-spacing:.01em}
h2{font-size:1.05rem;margin:2rem 0 .5rem}
h3{font-size:1.05rem;margin:.25rem 0 .35rem}
p{color:#c9ccd1;margin:.5rem 0}
a{color:var(--accent)}
.lead{color:var(--dim);font-size:.95rem;margin:0 0 2rem}
.post{padding:1.25rem 0;border-bottom:1px solid var(--line)}
.post:first-of-type{border-top:1px solid var(--line)}
.post time{color:var(--dim);font-size:.8rem;display:block;margin-bottom:.15rem}
.post h3 a{color:var(--fg);text-decoration:none}
.post h3 a:hover{color:var(--accent)}
.post p{margin:0;color:var(--dim);font-size:.9rem}
.meta{color:var(--dim);font-size:.85rem;margin-bottom:1.5rem}
pre{background:#161a21;border:1px solid var(--line);padding:.9rem;border-radius:.35rem;overflow-x:auto;font-size:.85rem}
code{background:#1b1f27;padding:.1rem .35rem;border-radius:.25rem;font-size:.85em}
ul{padding-left:1.2rem}
li{margin:.3rem 0;color:#c9ccd1}
.back{font-size:.85rem}
footer{border-top:1px solid var(--line);margin-top:3rem;padding:1.5rem 0;color:var(--dim);font-size:.8rem}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
