:root{--bg:#fff;--fg:#1d1f21;--dim:#666;--line:#e3e3e3;--accent:#2f5d8c;--w:44rem}
@media (prefers-color-scheme:dark){:root{--bg:#17181a;--fg:#e4e4e6;--dim:#9a9a9e;--line:#2e2f33;--accent:#8ab4de}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent)}
.site-head{max-width:var(--w);margin:0 auto;padding:2.5rem 1.25rem 1.25rem;border-bottom:1px solid var(--line)}
.brand{font-size:1.6rem;font-weight:700;text-decoration:none;color:var(--fg)}
.tagline{margin:.35rem 0 0;color:var(--dim)}
.site-head nav{margin-top:.9rem;display:flex;gap:1rem;font-size:.95rem}
main{max-width:var(--w);margin:0 auto;padding:2rem 1.25rem 4rem}
.site-foot{max-width:var(--w);margin:0 auto;padding:1.5rem 1.25rem 3rem;color:var(--dim);font-size:.85rem}
.post-list{list-style:none;margin:0;padding:0}
.post-list li{border-bottom:1px solid var(--line)}
.post-list li:last-child{border-bottom:0}
.post-link{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem 0;text-decoration:none;color:inherit}
.post-link img{width:110px;height:82px;object-fit:cover;border-radius:6px;flex:0 0 110px}
.post-link h2{margin:0 0 .2rem;font-size:1.22rem;line-height:1.3;color:var(--accent)}
.post-link time{color:var(--dim);font-size:.85rem}
.post-link p{margin:.45rem 0 0;color:var(--dim);font-size:.95rem}
.empty{padding:2rem 0;color:var(--dim)}
.prose h1{font-size:1.9rem;line-height:1.2;margin:0 0 .3rem}
.prose>time{color:var(--dim);font-size:.9rem;display:block;margin-bottom:1.5rem}
.prose img{max-width:100%;height:auto;border-radius:6px}
.prose img.hero{width:100%;margin:1rem 0 1.5rem}
/* Code must scroll rather than widen the page — the same rule the other site learned. */
.prose pre{background:rgba(127,127,127,.1);border:1px solid var(--line);border-radius:6px;
  padding:.85rem 1rem;overflow-x:auto}
.prose :not(pre)>code{background:rgba(127,127,127,.14);padding:.12em .35em;border-radius:4px;font-size:.88em}
.prose blockquote{margin:1.4rem 0;padding:.1rem 0 .1rem 1rem;border-left:3px solid var(--line);color:var(--dim)}
.prose table{border-collapse:collapse;width:100%}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:.45rem .6rem;text-align:left}
.tags{margin-top:2rem;font-size:.9rem}
.tags a{margin-right:.5rem;text-decoration:none}
