.blog-page{--blog-text:#ddd8ce;--blog-panel:#0c0d11;--blog-panel-light:#14161c;--blog-measure:680px;min-height:100svh}.blog-page .landing-header{border-bottom:1px solid var(--landing-line)}.blog-nav-current{color:var(--landing-ink)}.blog-meta{-moz-column-gap:22px;color:var(--landing-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 22px;font-size:14px;display:flex}.blog-cover{aspect-ratio:3/2;border:1px solid var(--landing-line);background:var(--blog-panel);border-radius:2px;position:relative;overflow:hidden}.blog-cover img{-o-object-fit:cover;object-fit:cover}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.blog-cover img{animation:linear both blog-cover-drift;animation-timeline:view();animation-range:cover;scale:1.1}}}@keyframes blog-cover-drift{0%{translate:0 -4.5%}to{translate:0 4.5%}}.blog-main{width:min(1480px,100% - 64px);margin:0 auto;padding:200px 0 160px}.blog-intro{grid-column-gap:64px;-moz-column-gap:64px;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:end;column-gap:64px;margin-bottom:96px;display:grid}.blog-intro h1{font-family:var(--font-display), sans-serif;letter-spacing:-.035em;font-size:clamp(48px,7vw,96px);font-weight:700;line-height:1.02}.blog-intro p{max-width:40ch;color:var(--landing-muted);padding-bottom:.6em;font-size:19px;line-height:1.6}.blog-empty{color:var(--landing-muted);font-size:18px}.blog-list{margin:0;padding:0;list-style:none}.blog-list>li+li{margin-top:112px}.blog-entry{grid-column-gap:64px;-moz-column-gap:64px;border-top:1px solid var(--landing-line);grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:end;column-gap:64px;padding-top:40px;display:grid}.blog-entry-text{grid-gap:18px;gap:18px;padding-bottom:6px;display:grid}.blog-entry h2{letter-spacing:-.02em;text-underline-offset:.18em;font-size:clamp(28px,2.6vw,44px);line-height:1.16;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:2px;transition:text-decoration-color .25s ease-out}.blog-entry-subtitle{max-width:46ch;color:var(--landing-muted);font-size:17px;line-height:1.6}.blog-entry .blog-cover img{transition:filter .4s cubic-bezier(.16,1,.3,1)}@media (hover:hover){.blog-entry:hover h2{-webkit-text-decoration-color:var(--landing-accent);text-decoration-color:var(--landing-accent)}.blog-entry:hover .blog-cover img{filter:brightness(1.08)saturate(1.06)}}.blog-entry:focus-visible{outline-offset:10px}.article{--gutter:32px;grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, 250px) [text-start] min(var(--blog-measure), 100% - 2 * var(--gutter)) [text-end] minmax(0, 250px) [wide-end] minmax(var(--gutter), 1fr) [full-end];padding:180px 0 140px;display:grid}.article>*{grid-column:text}.article-back{margin-bottom:56px;font-size:15px}.article-back a,.article-foot-links a{color:var(--landing-muted);-webkit-text-decoration:underline 1px var(--landing-line);-webkit-text-decoration:underline 1px var(--landing-line);text-decoration:underline 1px var(--landing-line);transition:color .2s ease-out,text-decoration-color .2s ease-out}.article-back a:hover,.article-foot-links a:hover{color:var(--landing-ink);-webkit-text-decoration-color:var(--landing-accent);text-decoration-color:var(--landing-accent)}.article-head{grid-gap:26px;grid-column:text-start/wide-end;gap:26px;display:grid}.article-head h1{max-width:21ch;font-family:var(--font-display), sans-serif;letter-spacing:-.03em;text-wrap:balance;font-size:clamp(36px,4.4vw,62px);font-weight:700;line-height:1.1}.article-subtitle{max-width:52ch;color:var(--landing-muted);font-size:21px;line-height:1.55}.article-cover{grid-column:wide;margin:72px 0 80px}.article-cover .blog-cover{aspect-ratio:16/9}.article-body{grid-column:full;grid-template-columns:subgrid;color:var(--blog-text);hanging-punctuation:first;font-size:19px;line-height:1.75;display:grid}.article-body>*{grid-column:text}.article-body>*+*{margin-top:1.15em}.article-body h2{color:var(--landing-ink);letter-spacing:-.015em;margin-top:2.6em;margin-bottom:.15em;scroll-margin-top:140px;font-size:clamp(25px,2.2vw,32px);line-height:1.25}.article-body h3{color:var(--landing-ink);margin-top:2em;scroll-margin-top:140px;font-size:21px;font-weight:600;line-height:1.4}.article-body h2+*,.article-body h3+*{margin-top:.7em}.article-body strong{color:var(--landing-ink);font-weight:600}.article-body a{color:var(--landing-ink);-webkit-text-decoration:underline 1px var(--landing-accent);-webkit-text-decoration:underline 1px var(--landing-accent);text-decoration:underline 1px var(--landing-accent);text-underline-offset:.2em;transition:text-decoration-thickness .15s ease-out}.article-body a:hover{text-decoration-thickness:2px}.article-body :where(ul,ol){padding-left:1.3em}.article-body ul{list-style:outside}.article-body ol{list-style:decimal}.article-body li+li{margin-top:.45em}.article-body li::marker{color:var(--landing-accent)}.article-body blockquote{border:1px solid var(--landing-line);background:var(--blog-panel);color:var(--landing-ink);border-radius:2px;margin:1.6em 0 0;padding:22px 26px;font-size:18px}.article-body blockquote p{margin:0}.article-body hr{background:var(--landing-line);border:0;height:1px;margin:3em 0}.article-body :not(pre)>code{border:1px solid var(--landing-line);background:var(--blog-panel);color:var(--landing-ink);font-family:var(--font-mono), monospace;border-radius:2px;padding:.12em .36em;font-size:.84em}.article-body figure[data-rehype-pretty-code-figure]{margin-top:1.6em}.article-body pre{border:1px solid var(--landing-line);background:var(--blog-panel);font-family:var(--font-mono), monospace;tab-size:2;border-radius:2px;padding:22px 24px;font-size:14.5px;line-height:1.65;overflow-x:auto}.article-body pre code{font-family:inherit}.article-body .article-table{border:1px solid var(--landing-line);border-radius:2px;margin-top:1.6em;overflow-x:auto}.article-body table{border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:100%;font-size:16px;line-height:1.5}.article-body :where(th,td){border-bottom:1px solid var(--landing-line);text-align:left;vertical-align:top;padding:13px 18px}.article-body th{background:var(--blog-panel);color:var(--landing-ink);font-weight:600}.article-body tr:last-child td{border-bottom:0}.article-body .article-diagram{border:1px solid var(--landing-line);background:var(--blog-panel);border-radius:2px;grid-column:wide;margin-top:2em;margin-bottom:.8em;padding:36px 28px;overflow-x:auto}.article-body pre.mermaid{text-align:center;background:0 0;border:0;margin:0;padding:0}.article-body pre.mermaid:not([data-processed]){color:var(--landing-muted);text-align:left;white-space:pre-wrap;font-size:13px}.article-body pre.mermaid svg{max-width:100%;height:auto}.article-foot{grid-gap:36px;border-top:1px solid var(--landing-line);gap:36px;margin-top:96px;padding-top:44px;display:grid}.blog-byline{align-items:center;gap:18px;display:flex}.blog-byline-avatar{border:1px solid var(--landing-line);border-radius:2px;flex:none}.blog-byline-name{color:var(--landing-ink);font-size:17px;font-weight:600}.blog-byline-role{color:var(--landing-muted);margin-top:4px;font-size:15px;line-height:1.5}.article-foot-links{flex-wrap:wrap;gap:12px 28px;font-size:15px;display:flex}.article-foot-cta{border:1px solid var(--landing-line);background:var(--blog-panel);border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding:28px 30px;display:flex}.article-foot-cta p{font-family:var(--font-display), sans-serif;text-wrap:balance;font-size:clamp(20px,1.8vw,24px);line-height:1.3}@media (max-width:999.98px){.blog-intro,.blog-entry{grid-template-columns:minmax(0,1fr)}.blog-intro{row-gap:22px}.blog-entry{row-gap:28px}}@media (max-width:799.98px){.blog-main{width:calc(100% - 40px);padding:132px 0 110px}.blog-intro{margin-bottom:56px}.blog-intro p{font-size:17px}.blog-list>li+li{margin-top:80px}.blog-entry{padding-top:28px}.blog-entry-subtitle{font-size:16px}.article{--gutter:20px;padding:124px 0 100px}.article-back{margin-bottom:36px}.article-head{gap:20px}.article-subtitle{font-size:18px}.article-cover{margin:44px 0 52px}.article-cover .blog-cover{aspect-ratio:3/2}.article-body{font-size:17.5px;line-height:1.72}.article-body .article-diagram{padding:22px 14px}.article-body pre.mermaid svg{max-width:none}.article-body table{font-size:15px}.article-body :where(th,td){min-width:9.5em;padding:11px 14px}.article-body pre{padding:18px;font-size:13.5px}.article-foot-cta{padding:22px}}@media (prefers-reduced-motion:reduce){.blog-entry h2,.blog-entry .blog-cover img,.article-back a,.article-foot-links a{transition:none}}
