:root{--bg: #fdfdfa;--ink: #1a1a1a;--dim: #6b6b6b;--line: #e4e1d8;--link: #1b4a9c;--code-bg: #f1efe7;--width: 62ch}@media (prefers-color-scheme: dark){:root{--bg: #111;--ink: #e8e6e0;--dim: #8a8880;--line: #2a2a2a;--link: #a4c0ff;--code-bg: #1a1a1a}}html{color-scheme:light dark}body{max-width:var(--width);margin:40px auto 60px;padding:0 20px;font-family:system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.55;color:var(--ink);background:var(--bg)}body.post{max-width:calc(var(--width) + 14ch)}.layout{display:block}aside.gutter{color:var(--dim);font-size:13px;margin-bottom:1.2em;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}aside.gutter time,aside.gutter .tags,aside.gutter small{display:inline}@media (min-width: 640px){.layout{display:grid;grid-template-columns:12ch minmax(0, 1fr);gap:20px}aside.gutter{display:block;text-align:right;margin-bottom:0}aside.gutter .tags{display:block;margin-top:14px}}a{color:var(--link);text-underline-offset:2px}h1,h2,h3{line-height:1.2}small,.dim{color:var(--dim)}pre{background:var(--code-bg);padding:12px 14px;border-radius:4px;overflow-x:auto;font-size:.88em;line-height:1.5}code{font-family:ui-monospace,"SF Mono",Menlo,monospace}:not(pre)>code{background:var(--code-bg);padding:1px 5px;border-radius:2px}blockquote{border-left:3px solid var(--line);margin:1em 0;padding-left:14px;color:var(--dim);font-style:italic}figure{margin:1.2em 0}figure img{max-width:100%;height:auto}figcaption{text-align:center;font-size:.85em;color:var(--dim);font-style:italic}ul.posts{list-style:none;padding:0;margin:0}ul.posts li{display:grid;grid-template-columns:4.5ch 1fr auto;gap:14px;align-items:baseline;padding:5px 0}ul.posts time{color:var(--dim);font-size:.82em;font-variant-numeric:tabular-nums}ul.posts a.title{color:var(--ink);text-decoration:none}ul.posts a.title:hover{color:var(--link);text-decoration:underline}h2.year{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin:28px 0 8px}.tags a{color:var(--dim);font-size:.78em;text-decoration:none;margin-right:8px}.tags a::before{content:"#"}.tags a:hover{color:var(--link)}