:root{--background:#fff;--text:#111827;--muted:#4b5563;--border:#e5e7eb;--accent:#1d4ed8;--content-width:43.75rem}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--background);color:var(--text);min-height:100vh;text-rendering:optimizeLegibility;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-shell{flex-direction:column;min-height:100vh;display:flex}.container{width:min(100%,72rem);margin:0 auto;padding-left:1.25rem;padding-right:1.25rem}.site-header{border-bottom:1px solid var(--border);background:var(--background)}.nav-bar{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;display:flex}.brand{letter-spacing:-.01em;font-size:1rem;font-weight:650}.nav-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.nav-link{color:var(--muted);font-size:.95rem;transition:color .12s}.nav-link:hover,.nav-link:focus-visible,.brand:hover,.brand:focus-visible{color:var(--accent)}.nav-link-social{align-items:center;gap:.35rem;display:inline-flex}.site-main{flex:1;padding-top:3.25rem;padding-bottom:4rem}.site-footer{border-top:1px solid var(--border);padding:1.25rem 0 2rem}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-links{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.copyright{color:var(--muted);margin:0;font-size:.9rem}.hero{gap:1rem;margin-bottom:3rem;display:grid}.hero h1{letter-spacing:-.02em;max-width:52rem;margin:0;font-size:clamp(2rem,4vw,3.1rem);line-height:1.15}.hero p{max-width:46rem;color:var(--muted);margin:0;font-size:1.05rem}.social-row{flex-wrap:wrap;gap:.75rem;display:flex}.social-link{border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .85rem;font-size:.95rem;transition:color .12s,border-color .12s;display:inline-flex}.social-link:hover,.social-link:focus-visible{border-color:var(--accent);color:var(--accent)}.section-head{margin-bottom:1.25rem}.section-head h2{letter-spacing:-.01em;margin:0;font-size:1.35rem}.section-head p{color:var(--muted);margin:.4rem 0 0}.post-list{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.post-list-item{border-bottom:1px solid var(--border);padding-bottom:1.25rem}.post-list-item:last-child{border-bottom:0}.post-title{letter-spacing:-.01em;margin:0;font-size:1.2rem;line-height:1.35}.post-title a:hover,.post-title a:focus-visible{color:var(--accent)}.post-meta{color:var(--muted);margin:.35rem 0 0;font-size:.92rem}.post-description{color:var(--muted);margin:.65rem 0 0}.inline-link{color:var(--accent);text-underline-offset:.2rem;text-decoration:underline}.page-intro{max-width:45rem;margin-bottom:2.5rem}.page-intro h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,3vw,2.45rem);line-height:1.2}.page-intro p{color:var(--muted);margin:.75rem 0 0}.blog-article{max-width:var(--content-width);margin:0 auto}.blog-article h1{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,4vw,2.6rem);line-height:1.2}.post-tags{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.tag{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.prose{max-width:var(--content-width);margin-top:2rem}.prose h2,.prose h3,.prose h4{letter-spacing:-.01em;margin-top:2rem;margin-bottom:.6rem;line-height:1.3}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre{margin-top:0;margin-bottom:1rem}.prose ul,.prose ol{padding-left:1.3rem}.prose a{color:var(--accent);text-underline-offset:.2rem;text-decoration:underline}.prose code{background:#f3f4f6;border-radius:.25rem;padding:.12rem .3rem;font-size:.9em}.prose pre{color:#f9fafb;background:#111827;border-radius:.5rem;padding:1rem;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose blockquote{border-left:3px solid var(--border);color:var(--muted);padding-left:1rem}.focus-list{color:var(--muted);margin:.75rem 0 0;padding-left:1.3rem}@media (max-width:760px){.nav-bar{flex-direction:column;align-items:flex-start;padding-top:.85rem;padding-bottom:.85rem}.nav-links{justify-content:flex-start}.site-main{padding-top:2.4rem}}
