:root{--bg:#fff;--text:#1a1a1a;--text-muted:#666;--border:#e5e5e5;--code-bg:#f5f5f5;--link:#06c;--max-width:740px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.7}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}header{border-bottom:1px solid var(--border);padding:1rem 0}header nav{align-items:center;display:flex}a.site-name{color:var(--text);letter-spacing:-.01em;font-size:1.1rem;font-weight:700;text-decoration:none}main{min-height:calc(100vh - 130px);padding:3rem 0}footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);padding:1.25rem 0;font-size:.875rem}.post-list{list-style:none}.post-list li{border-bottom:1px solid var(--border);padding:1.25rem 0}.post-list li:first-child{border-top:1px solid var(--border)}.post-list a{color:var(--text);text-decoration:none;display:block}.post-list a:hover .post-title-link{color:var(--link)}.post-title-link{margin-bottom:.2rem;font-size:1.05rem;font-weight:600}.post-date{color:var(--text-muted);font-size:.8rem}.post-header{margin-bottom:2.5rem}.post-header h1{margin-bottom:.5rem;font-size:1.75rem;font-weight:700;line-height:1.3}.post-header .post-date{font-size:.875rem}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:2rem;margin-bottom:.75rem;font-weight:600;line-height:1.3}.prose h1{font-size:1.4rem}.prose h2{font-size:1.2rem}.prose h3{font-size:1.05rem}.prose h4{font-size:1rem}.prose p{margin-bottom:1rem}.prose ol,.prose ul{margin-bottom:1rem;padding-left:1.5rem}.prose li{margin-bottom:.3rem}.prose a{color:var(--link)}.prose code{border-radius:3px;padding:.15em .35em;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,Consolas,monospace;font-size:.875em}.prose code,.prose pre{background:var(--code-bg)}.prose pre{border-radius:6px;margin-bottom:1.25rem;padding:1.1rem 1.25rem;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;border-radius:0;padding:0;font-size:.875rem}.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.prose strong{font-weight:600}.prose blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin-bottom:1rem;padding-left:1rem}
