:root{
  --bg:#fbfbf9; --ink:#23262b; --muted:#6b7178; --line:#e3e2dd;
  --accent:#2f5d50; --code-bg:#f3f3f0;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;
}
.wrap{max-width:44rem; margin:0 auto; padding:2.5rem 1.25rem 4rem}
header{border-bottom:1px solid var(--line); padding-bottom:1.1rem; margin-bottom:2.2rem}
header .name{font-weight:600; font-size:1.05rem; letter-spacing:.01em}
header .name a{color:var(--ink); text-decoration:none}
nav{margin-top:.5rem; font-size:.9rem}
nav a{color:var(--muted); text-decoration:none; margin-right:1.1rem}
nav a:hover,nav a:focus{color:var(--accent); text-decoration:underline}
h1{font-size:1.6rem; line-height:1.3; margin:0 0 .6rem; font-weight:650}
h2{font-size:1.15rem; margin:2.2rem 0 .6rem; font-weight:650}
h3{font-size:1rem; margin:1.6rem 0 .4rem; font-weight:600}
p{margin:0 0 1rem}
a{color:var(--accent)}
ul,ol{padding-left:1.2rem; margin:0 0 1rem}
li{margin:.25rem 0}
.lede{color:var(--muted); font-size:1.02rem}
.meta{color:var(--muted); font-size:.85rem; margin:0 0 1.6rem}
.posts{list-style:none; padding:0; margin:0}
.posts li{padding:.85rem 0; border-bottom:1px solid var(--line)}
.posts a{text-decoration:none; font-weight:550}
.posts a:hover{text-decoration:underline}
.posts .date{display:block; color:var(--muted); font-size:.82rem; margin-top:.15rem}
code{background:var(--code-bg); padding:.12em .35em; border-radius:3px; font-size:.9em;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
pre{background:var(--code-bg); padding:.9rem 1rem; overflow-x:auto; border-radius:4px;
  border:1px solid var(--line); font-size:.86rem; line-height:1.5}
pre code{background:none; padding:0}
blockquote{margin:1.2rem 0; padding-left:1rem; border-left:3px solid var(--line); color:var(--muted)}
table{border-collapse:collapse; width:100%; font-size:.92rem; margin:0 0 1.2rem}
th,td{text-align:left; padding:.45rem .6rem; border-bottom:1px solid var(--line)}
th{font-weight:600}
footer{margin-top:3.5rem; padding-top:1.1rem; border-top:1px solid var(--line);
  color:var(--muted); font-size:.85rem}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
@media (max-width:480px){.wrap{padding:1.75rem 1rem 3rem} h1{font-size:1.4rem}}
