:root{
  --bg:#0B0E14; --surface:#12161F; --hairline:#232935;
  --text:#E8ECF1; --text-dim:#8A94A6; --blue:#5B8DEF; --copper:#D98E4C;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{background:var(--bg); color:var(--text); font-family:'Inter',sans-serif; line-height:1.7;}
a{color:var(--blue); text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap, .site-header{max-width:680px; margin:0 auto; padding-left:24px; padding-right:24px;}
.site-header{display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px;
  padding-top:28px; padding-bottom:14px; border-bottom:1px solid var(--hairline);}
.site-header .home{font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--text); font-size:16px;}
.site-header .home:hover{text-decoration:none; color:var(--blue);}
.site-header nav{display:flex; gap:18px;}
.site-header nav a{font-family:'IBM Plex Mono',monospace; font-size:13px; color:var(--text-dim);}
.site-header nav a:hover{color:var(--blue); text-decoration:none;}
main.wrap{padding-top:40px; padding-bottom:60px;}
footer.wrap{padding-bottom:60px; color:var(--text-dim); font-size:13px;}
.page-title{font-family:'Space Grotesk',sans-serif; font-size:26px; margin-bottom:26px;}
.post-list{list-style:none;}
.post-list li{display:flex; gap:18px; padding:9px 0; border-bottom:1px solid var(--hairline); align-items:baseline;}
.post-list .post-date{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-dim); white-space:nowrap;}
.post .post-date{font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--text-dim);}
.post h1{font-family:'Space Grotesk',sans-serif; font-size:28px; margin:6px 0 22px;}
.post p{margin:14px 0;}
.post h2{font-family:'Space Grotesk',sans-serif; font-size:19px; margin:26px 0 10px;}
.post ul,.post ol{margin:14px 0 14px 22px;}
.post blockquote{border-left:2px solid var(--copper); padding-left:14px; color:var(--text-dim); margin:14px 0;}
.post code{font-family:'IBM Plex Mono',monospace; font-size:0.9em; background:var(--surface); padding:2px 5px; border-radius:4px;}
.post pre{background:var(--surface); border:1px solid var(--hairline); border-radius:8px; padding:14px; overflow-x:auto; margin:14px 0;}
.post pre code{background:none; padding:0;}
.post img{max-width:100%; border-radius:8px;}
.back{margin-top:36px;}
