.public-article{font-family:var(--article-font-family,Inter), system-ui, sans-serif;overflow-wrap:anywhere}.public-article .article-shell{max-width:1200px;margin:auto;padding:24px 20px 40px;position:relative}.public-article .article-reading-column{width:100%;min-width:0;max-width:720px;margin:auto}.public-article .article-introduction{margin-bottom:24px}.public-article .article-back{align-items:center;min-height:44px;margin-bottom:12px;font-size:.875rem;text-decoration:underline;display:inline-flex}.public-article a{color:var(--article-color-accent,hsl(var(--primary)));text-underline-offset:3px}.public-article .article-meta{color:var(--article-color-text,inherit);font-size:.8125rem;line-height:1.6}.public-article .article-title{font-family:var(--article-heading-font,"Source Serif 4"), serif;font-weight:var(--article-heading-weight,600);color:var(--article-color-heading,inherit);font-size:clamp(32px, calc(var(--article-font-size,18px) * 1.9), 38px);text-wrap:balance;margin:12px 0;line-height:1.15}.public-article .article-description{font-family:var(--article-subheading-font,inherit);font-weight:var(--article-subheading-weight,400);font-size:clamp(16px, var(--article-subheading-size,20px), 22px);color:var(--article-color-subheading,inherit);margin:12px 0;line-height:1.6}.public-article .article-byline{align-items:center;gap:8px;margin-top:16px;font-size:.875rem;display:flex}.public-article .article-byline img{object-fit:cover;border-radius:50%;width:32px;height:32px}.public-article .article-body.blog-article{font-size:clamp(16px, var(--article-font-size,18px), 20px);line-height:max(1.6, var(--article-line-height,1.7))}.public-article .article-body.blog-article :is(p,li,ul,ol){line-height:inherit}.public-article .article-body.blog-article :is(h1,h2,h3,h4,h5,h6){line-height:1.3;font-family:var(--article-heading-font,serif);font-weight:var(--article-heading-weight,600);color:var(--article-color-heading,inherit);margin-top:1.5em;margin-bottom:.55em;scroll-margin-top:100px}.public-article .article-body.blog-article h2{font-size:1.5em}.public-article .article-body.blog-article h3{font-size:1.25em}.public-article .article-body.blog-article :is(h4,h5,h6){font-size:1.1em}.public-article .article-body.blog-article :is(strong,code,th){color:inherit}.public-article .article-body.blog-article li>p{margin:.35em 0}.public-article .article-body.blog-article :is(img,video,iframe){max-width:100%}.public-article .article-body.blog-article img{object-fit:contain;height:auto}.public-article .article-body.blog-article figure{margin:1.5em 0}.public-article .article-body.blog-article blockquote{border-left:3px solid var(--article-color-border,hsl(var(--border)));color:inherit;padding-left:1em}.public-article .article-body.blog-article pre{white-space:pre;overflow-wrap:normal;background:var(--article-color-bg,hsl(var(--muted)));max-width:100%;color:var(--article-color-text,inherit);border:1px solid var(--article-color-border,hsl(var(--border)));padding:16px;overflow-x:auto}.public-article .article-body.blog-article pre code{white-space:pre}.public-article .article-table-scroll{max-width:100%;margin:1.5em 0;overflow-x:auto}.public-article .article-table-scroll table{width:max-content;min-width:100%;margin:0}.public-article .article-table-scroll :is(th,td){border-color:var(--article-color-border,hsl(var(--border)));min-width:8rem;max-width:26rem;padding:.65em}.public-article .article-toc-desktop{display:none}.public-article :is(.article-toc-mobile,.article-series){border-block:1px solid var(--article-color-border,hsl(var(--border)));margin-bottom:20px}.public-article summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:.875rem;font-weight:600}.public-article nav ol{margin:0;padding:0 0 12px;list-style:none}.public-article nav a,.public-article nav [aria-current]{padding:10px 0;font-size:.875rem;line-height:1.5;display:block}.public-article .article-toc-nested{padding-left:12px}.public-article .article-section-label{margin-bottom:8px;font-size:.875rem;font-weight:600}.public-article .article-support{margin-top:clamp(24px, calc(var(--article-paragraph-spacing,1.2em) * 1.5), 48px);border-top:1px solid var(--article-color-border,hsl(var(--border)));padding-top:24px}.public-article .article-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:0;list-style:none;display:flex}.public-article .article-tags li{border:1px solid var(--article-color-border,hsl(var(--border)));border-radius:var(--radius);padding:3px 10px;font-size:.75rem}.public-article .article-share-actions{color:var(--footer-share-text-color,inherit);flex-wrap:wrap;gap:8px 16px;display:flex}.public-article .article-share-actions :is(button,a){min-height:44px;color:var(--footer-share-button-color,var(--article-color-accent,inherit));align-items:center;font-size:.875rem;text-decoration:underline;display:inline-flex}.public-article .article-author .line-clamp-3{-webkit-line-clamp:unset;display:block;overflow:visible}.public-article .article-author [data-slot=avatar],.public-article .article-author .rounded-full{flex-shrink:0}.public-article .article-subscribe form{flex-wrap:wrap}.public-article .article-subscribe input[type=email]{flex-basis:100%;min-width:0;height:44px}.public-article .article-subscribe button{min-height:44px}.public-article .article-section-title{font-family:var(--article-heading-font,serif);font-weight:var(--article-heading-weight,600);color:var(--article-color-heading,inherit);margin-bottom:16px;font-size:1.4rem}.public-article .article-related-grid{gap:16px;display:grid}.public-article .article-related-card{border:1px solid var(--related-card-border,var(--article-color-border,hsl(var(--border))));border-radius:var(--radius);background:var(--related-card-bg,var(--article-color-bg,hsl(var(--card))));padding:16px}.public-article .article-related-card h3{font-size:1rem;line-height:1.4;font-family:var(--related-card-title-font,var(--article-heading-font,inherit));font-weight:var(--related-card-title-weight,600);color:var(--related-card-title-color,var(--article-color-heading,inherit))}.public-article .article-related-card p{color:var(--related-card-excerpt-color,var(--article-color-text,inherit));margin-top:8px;font-size:.875rem}.public-article .article-related-card span{color:var(--related-card-read-more,var(--article-color-accent,inherit));margin-top:12px;font-size:.875rem;display:inline-block}.public-article>header a{flex-wrap:wrap;min-width:0}.public-article>header span{color:var(--article-color-heading,inherit)}.public-article>footer{margin-top:24px;padding-block:20px}.public-article>footer>div>div{flex-wrap:wrap;justify-content:center}.public-article :is(a,button,summary,input,[tabindex]):focus-visible{outline-offset:3px;outline:2px solid}@media (width>=640px){.public-article .article-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-article .article-subscribe input[type=email]{flex-basis:auto}.public-article .article-title{font-size:clamp(38px, calc(var(--article-font-size,18px) * 2.4), 56px)}.public-article .article-description{font-size:var(--article-subheading-size,20px)}.public-article .article-body.blog-article{font-size:var(--article-font-size,18px)}.public-article .article-shell{padding-block:40px 56px}}@media (width>=1200px){.public-article .article-toc-desktop{width:190px;display:block;position:absolute;top:40px;bottom:56px;left:20px}.public-article .article-toc-desktop>div{max-height:calc(100dvh - 120px);position:sticky;top:96px;overflow-y:auto}.public-article .article-toc-mobile{display:none}.public-article .article-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=340px){.public-article .article-shell{padding-inline:16px}}.public-article{--footer-author-label-color:var(--article-color-text,hsl(var(--muted-foreground)));--footer-author-bio-color:var(--article-color-text,hsl(var(--muted-foreground)));--footer-author-link-color:var(--article-color-accent,hsl(var(--primary)));--footer-subscribe-heading-color:var(--article-color-text,hsl(var(--muted-foreground)));--footer-subscribe-text-color:var(--article-color-text,hsl(var(--muted-foreground)));--footer-subscribe-input-bg:var(--article-color-bg,hsl(var(--background)));--footer-subscribe-input-border:var(--article-color-border,hsl(var(--border)));--footer-subscribe-input-text:var(--article-color-text,hsl(var(--foreground)));--footer-subscribe-input-placeholder:var(--article-color-text,hsl(var(--muted-foreground)))}.public-article nav a{min-height:44px}
