.fieldnote.editorial-page{background:var(--p-bg);padding-inline:0}.fieldnote .blog-article{--panel:var(--code-bg);--panel-mid:color-mix(in srgb, var(--code-bg) 90%, var(--code-text));--panel-ink:var(--code-text);--panel-dim:var(--code-muted);--panel-line:var(--code-border);--panel-grid:var(--code-border);--s1:var(--code-flag);--s2:var(--code-key);--s3:var(--code-string);--s4:#a6d9ba;--ok:#a6d9ba;--bad:#f2a5b8;--review:var(--code-string);color:var(--p-text);font:18px/1.75 var(--sans)}.blog-article .article-hero{border-bottom:1px solid var(--p-border);width:min(960px,100% - 96px);margin-inline:auto;padding-block:48px}.fieldnote .blog-article .hero-inner{width:100%;min-width:0;max-width:none}.fieldnote .blog-article .article-back{color:var(--p-accent);align-items:center;gap:8px;min-height:44px;margin-bottom:24px;font-size:14px;display:inline-flex}.fieldnote .blog-article .hero-badge{color:var(--p-muted);font:14px/1.5 var(--sans);letter-spacing:0;text-transform:none;background:0 0;border:0;margin:0 0 12px;padding:0;display:block}.fieldnote .blog-article .hero-badge:before{content:none}.fieldnote .blog-article h1{color:var(--p-text);letter-spacing:-.04em;text-wrap:balance;max-width:24ch;margin:0 0 24px;font-size:60px;font-weight:500;line-height:1.08}.fieldnote .blog-article .hero-subtitle{color:var(--p-muted);font:16px/1.65 var(--sans);letter-spacing:0;text-transform:none;max-width:55ch;margin:0 0 24px}.fieldnote .blog-article .hero-meta{color:var(--p-muted);font:13px/1.6 var(--sans);justify-content:flex-start;gap:10px 18px}.fieldnote .blog-article .hero-meta .avatar{background:0 0;width:32px;height:32px}.fieldnote .blog-article .hero-repo{margin:22px 0 0}.fieldnote .blog-article .repo-button{background:var(--p-surface);border:1px solid var(--p-border);color:var(--p-text);border-radius:8px;max-width:100%;min-height:44px}.fieldnote .blog-article .repo-button small{color:var(--p-muted)}.fieldnote .blog-article .repo-button:hover{background:var(--p-raised);filter:none;transform:none}.fieldnote .blog-article .doc{width:min(760px,100% - 96px);max-width:72ch;padding-top:48px}.fieldnote .blog-article .doc>:is(p,ul,ol){max-width:none}.fieldnote .blog-article .hero-dek{color:var(--p-text);margin:0 0 32px;font-size:20px;line-height:1.65}.fieldnote .blog-article h2{letter-spacing:-.035em;margin:64px 0 22px;padding:0;font-size:clamp(27px,3vw,36px);font-weight:500;line-height:1.25}.fieldnote .blog-article h2:before{content:none}.fieldnote .blog-article h3{margin-top:36px;font-size:23px;font-weight:500}.fieldnote .blog-article :is(p,li){overflow-wrap:anywhere}.fieldnote .blog-article .doc>p{margin-bottom:24px}.fieldnote .blog-article a{text-underline-offset:5px}.fieldnote .blog-article a:focus-visible{outline:2px solid var(--p-accent);outline-offset:5px}.fieldnote .blog-article .doc a:hover{color:var(--p-accent)}.fieldnote .blog-article code{background:var(--code-bg);color:var(--code-string)}.fieldnote .blog-article blockquote{border-left-width:1px}.fieldnote .blog-article figure.panel{border-radius:12px;margin-block:36px;padding:24px}.fieldnote .blog-article :is(.panel-head,.stat span,.legend,.flow .step span,.card p,.stack .layer p,details.tbl summary){font-size:12px}.fieldnote .blog-article .panel-title{font-size:15px;line-height:1.5}.fieldnote .blog-article figure.panel>figcaption{font:14px/1.65 var(--sans)}.fieldnote .blog-article :is(.stats,.cards,.flow){gap:10px}.fieldnote .blog-article :is(.stat,.card,.flow .step,.stack .layer){border-radius:8px}.fieldnote .blog-article .panel>.stats .stat b{font-size:32px}.fieldnote .blog-article :is(#c0,#c1,#c2,#c3){overflow-x:auto}.fieldnote .blog-article :is(#c0,#c1,#c2,#c3) svg{min-width:550px}.fieldnote .blog-article .author-card{background:var(--p-surface);border-color:var(--p-border);border-radius:12px;gap:24px;margin-top:64px;padding:28px}.fieldnote .blog-article .author-card .avatar{background:0 0;border-radius:0;width:64px;height:64px}.fieldnote .blog-article .author-card .who{min-width:0}.fieldnote .blog-article .author-card .h4{font:600 16px/1.5 var(--sans);overflow-wrap:anywhere}.fieldnote .blog-article .author-card .role{font:14px/1.5 var(--sans);letter-spacing:0;text-transform:none;margin-block:8px 16px}.fieldnote .blog-article .author-card p{font-size:15px;line-height:1.7}.fieldnote .blog-article footer.post{border:none;margin-top:28px;padding:0}.fieldnote .blog-article .series-nav a{background:var(--p-surface);border-radius:9px;transition:border-color .2s}.fieldnote .blog-article .series-nav a:hover{border-color:var(--p-accent);transform:none}.fieldnote .blog-article .series-nav small{font:13px/1.5 var(--sans);letter-spacing:0;text-transform:none}.fieldnote .blog-article .series-nav span{font-size:18px}@media (max-width:1100px){.blog-article .article-hero{width:min(960px,100% - 64px)}.fieldnote .blog-article h1{font-size:48px}.fieldnote .blog-article .doc{width:min(760px,100% - 64px)}}@media (max-width:700px){.blog-article .article-hero{padding-block:28px}.fieldnote .blog-article h1{font-size:36px}.fieldnote .blog-article .article-back{margin-bottom:20px}.fieldnote .blog-article{font-size:17px}.fieldnote .blog-article .hero-meta{gap:8px 12px;font-size:13px}.fieldnote .blog-article .hero-meta .sep{display:none}.fieldnote .blog-article .hero-meta .author-row{width:100%}.fieldnote .blog-article .doc{padding-top:24px}.fieldnote .blog-article .hero-dek{font-size:19px}.fieldnote .blog-article figure.panel{padding:18px 14px}.fieldnote .blog-article .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldnote .blog-article .stat{padding:14px 10px}.fieldnote .blog-article .author-card{flex-direction:column;gap:16px;padding:24px}}@media (max-width:600px){.blog-article .article-hero,.fieldnote .blog-article .doc{width:calc(100% - 36px)}}@media (prefers-reduced-motion:reduce){.fieldnote .blog-article .series-nav a{transition:none}}
