:root{--masthead-h:66px}.blog-article{max-width:var(--col);padding-inline:var(--pad-x);padding-block:var(--rhythm);color:var(--ink);margin-inline:auto}.blog-article h1,.blog-article h2,.blog-article h3,.blog-article h4{font-family:var(--serif);letter-spacing:-.02em;color:var(--ink);margin-block-start:calc(var(--rhythm)*.5);margin-block-end:.5em;font-weight:400;line-height:1.15}.blog-article h1{margin-block-start:0;font-size:clamp(2rem,5vw,3rem)}.blog-article h2{font-size:clamp(1.5rem,3.5vw,2.125rem)}.blog-article h3{font-size:clamp(1.25rem,2.5vw,1.625rem)}.blog-article h4{font-size:1.125rem}.blog-article p{font-family:var(--sans);color:var(--ink);text-wrap:pretty;margin-block:1.25em 0;font-size:clamp(1rem,1.5vw,1.0625rem);line-height:1.75}.blog-article .article-body>p:first-of-type{color:var(--ink-muted);font-size:clamp(1.0625rem,2vw,1.25rem);line-height:1.6}.blog-article hr{border:none;border-block-start:1px solid var(--hairline);margin-block:calc(var(--rhythm)*.4)}.blog-article h2+*{margin-block-start:.75em}.blog-article a{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration-color:var(--hairline);text-decoration-color:var(--hairline);transition:text-decoration-color var(--t-deliver)var(--ease-deliver)}.blog-article a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.blog-article blockquote{border-inline-start:2px solid var(--hairline);color:var(--ink-muted);font-family:var(--serif);margin-inline:0;padding-inline-start:1.25em;font-size:clamp(1.125rem,2vw,1.375rem);font-style:italic;line-height:1.55}.blog-article code{font-family:var(--mono);background:var(--surface);border:1px solid var(--hairline);border-radius:4px;padding:.125em .375em;font-size:.875em}.blog-article pre{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;margin-block:1.5em;padding:1.25em;overflow-x:auto}.blog-article pre code{background:0 0;border:none;padding:0;font-size:.875rem;line-height:1.65}.blog-article ul,.blog-article ol{margin-block:1em;padding-inline-start:1.5em}.blog-article li{font-family:var(--sans);margin-block:.35em;font-size:clamp(1rem,1.5vw,1.0625rem);line-height:1.7}.blog-article img{border:1px solid var(--hairline);border-radius:8px;width:100%;height:auto;margin-block:2em}.blog-meta{font-family:var(--sans);color:var(--ink-muted);border-block-end:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.5em 1em;margin-block-end:2.5em;padding-block-end:1.5em;font-size:.875rem;display:flex}.blog-article ul{list-style:outside}.blog-article ol{list-style:decimal}.blog-article ul ul{list-style:circle}.blog-article ul ul ul{list-style:square}.blog-article li::marker{color:var(--ink-muted)}.blog-article li>ul,.blog-article li>ol{margin-block:.35em}.blog-article li>p:first-child{margin-block-start:0}.blog-article table{border-collapse:collapse;width:100%;font-family:var(--sans);white-space:nowrap;margin-block:1.75em;font-size:.9375rem;display:block;overflow-x:auto}.blog-article thead th{text-align:left;color:var(--ink);border-block-end:1px solid var(--ink);padding:.6em 1em;font-weight:600}.blog-article tbody td{color:var(--ink);border-block-end:1px solid var(--hairline);vertical-align:top;padding:.6em 1em}.blog-article tbody tr:last-child td{border-block-end:none}.blog-article p,.blog-article li,.blog-article h1,.blog-article h2,.blog-article h3,.blog-article h4,.blog-article .article-toc a{overflow-wrap:break-word}.blog-article p a,.blog-article li a{text-decoration:underline;-webkit-text-decoration-color:var(--ink-muted);text-decoration-color:var(--ink-muted);text-underline-offset:3px}.blog-article p a:hover,.blog-article li a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.blog-article sup.citation{margin-inline-start:1px;font-size:.7em;line-height:0}.blog-article sup.citation a{color:var(--ink-muted);font-weight:500;text-decoration:none}.blog-article sup.citation a:before{content:"["}.blog-article sup.citation a:after{content:"]"}.blog-article sup.citation a:hover{color:var(--ink)}.blog-article figure{margin-block:2em;margin-inline:0}.blog-article figcaption{font-family:var(--sans);color:var(--ink-muted);text-align:center;margin-block-start:.75em;font-size:.8125rem}.blog-article h2{margin-block-start:1.6em}.blog-article h3{margin-block-start:1.2em}.blog-article>:first-child{margin-block-start:0}.blog-article h1{text-wrap:balance}.blog-article .article-kicker{font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);margin-block:0 1em;font-size:.75rem;font-weight:600}.blog-meta .author-avatar{object-fit:cover;border:1px solid var(--hairline);border-radius:50%;flex-shrink:0;width:40px;height:40px;margin:0}.blog-meta strong{color:var(--ink);font-weight:500}.blog-meta .meta-right{flex-basis:100%}@media (min-width:40em){.blog-meta .meta-right{flex-basis:auto;margin-inline-start:auto}}.article-toc{margin-block-end:2em}.blog-article .article-toc .toc-title{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-block:0 .75em;padding-inline-start:12px;font-size:.6875rem;font-weight:600}.blog-article .article-toc a{min-height:32px;font-family:var(--sans);color:var(--ink-muted);transition:color var(--t-deliver)var(--ease-deliver),border-inline-start-color var(--t-deliver)var(--ease-deliver);border-inline-start:2px solid #0000;align-items:center;padding:.3em 0 .3em 10px;font-size:.8438rem;text-decoration:none;display:flex}.blog-article .article-toc a:hover,.blog-article .article-toc a:focus-visible{color:var(--ink);border-inline-start-color:var(--hairline)}.blog-article h2{scroll-margin-block-start:calc(var(--masthead-h) + 24px)}@media (min-width:1280px){.article-shell{grid-template-columns:200px minmax(0,1fr);gap:48px;margin-inline-start:-248px;display:grid}.article-toc{top:calc(var(--masthead-h) + 24px);align-self:start;margin-block-end:0;position:sticky}}.author-bio{border-block-start:1px solid var(--hairline);align-items:center;gap:14px;margin-block-start:calc(var(--rhythm)*.3);padding-block-start:2em;display:flex}.author-bio .author-avatar{object-fit:cover;border:1px solid var(--hairline);border-radius:50%;flex-shrink:0;width:48px;height:48px;margin:0}.author-bio .bio-name{font-family:var(--sans);margin:0;font-size:.9375rem;font-weight:600}.author-bio .bio-role{font-family:var(--sans);color:var(--ink-muted);margin:0;font-size:.8438rem}.blog-index{max-width:840px;padding:0 var(--pad-x)var(--rhythm);font-family:var(--sans);margin:0 auto}.index-masthead{border-block-end:1px solid var(--hairline);margin-block-end:40px;padding:48px 0 32px}.index-masthead h1{font-family:var(--serif);color:var(--ink);text-wrap:balance;margin:0 0 10px;font-size:clamp(32px,5vw,48px)}.index-masthead p{color:var(--ink-muted);margin:0;font-size:15px}.index-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 8px;font-size:12px}.index-lead a,.index-row a{text-decoration:none;display:block}.index-lead a:focus-visible,.index-row a:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.index-lead h2,.index-row h2{font-family:var(--serif);color:var(--ink);text-wrap:balance;transition:color var(--t-deliver)var(--ease-deliver);margin:0 0 10px}.index-lead a:hover h2,.index-row a:hover h2{color:var(--ink-muted)}.index-lead h2{font-size:clamp(32px,4.5vw,44px);line-height:1.15}.index-lead{border-block-end:1px solid var(--hairline);margin-block-end:8px;padding-block-end:36px}.index-lead .index-excerpt{color:var(--ink-muted);max-width:640px;margin:0 0 12px;font-size:17px;line-height:1.6}.index-row{border-block-start:1px solid var(--hairline)}.index-rows .index-row:first-child{border-block-start:none}.index-row a{padding:28px 0}.index-row h2{font-size:22px;line-height:1.3}.index-row .index-excerpt{color:var(--ink-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:640px;margin:0 0 10px;font-size:15px;line-height:1.55;display:-webkit-box;overflow:hidden}.index-meta{color:var(--ink-muted);margin:0;font-size:13px}.index-empty{color:var(--ink-muted);padding:40px 0}
