.blog-content{overflow-wrap:anywhere;font-size:1.0625rem;line-height:1.8}.blog-content>*+*{margin-top:1.25rem}.blog-content h2,.blog-content h3{font-family:var(--font-display);scroll-margin-top:2rem;line-height:1.3}.blog-content h2{margin-top:2.75rem;font-size:1.75rem}.blog-content h3{margin-top:1.75rem;font-size:1.25rem}.blog-content p,.blog-content li,.blog-content strong{color:var(--color-ink)}.blog-content ul,.blog-content ol{padding-left:1.5rem}.blog-content ul{list-style:outside}.blog-content ol{list-style:decimal}.blog-content li+li{margin-top:.5rem}.blog-content a{color:var(--color-forest);text-decoration:underline;-webkit-text-decoration-color:var(--color-link-line);text-decoration-color:var(--color-link-line);text-underline-offset:.2em;text-decoration-thickness:1px}.blog-content a:hover{text-decoration-color:currentColor}.blog-content a:focus-visible{outline:2px solid var(--color-forest);outline-offset:4px}.blog-content code{background:var(--color-sage);border-radius:.2rem;padding:.1rem .25rem;font-size:.875em}.blog-content pre{background:var(--color-editor);border:1px solid var(--color-rule);border-radius:.75rem;max-width:100%;padding:1.25rem;line-height:1.6;overflow-x:auto}.blog-content pre code{background:0 0;padding:0}.blog-content table{border-collapse:collapse;width:100%;max-width:100%;font-size:.875rem;display:block;overflow-x:auto}.blog-content th,.blog-content td{border:1px solid var(--color-rule);text-align:left;min-width:7rem;padding:.75rem}.blog-content th{background:var(--color-paper-raised)}.blog-content blockquote{border-left:3px solid var(--color-forest);padding-left:1rem}.blog-content .blog-prose>*+*{margin-top:1.25rem}.blog-content .blog-prose>h2{margin-top:2.75rem}.blog-content .blog-prose>h3{margin-top:1.75rem}.blog-content .blog-prose:empty{display:none}.blog-content .blog-code-example pre{border-top-left-radius:0;border-top-right-radius:0;margin:0}.blog-content pre:focus-visible{outline:2px solid var(--color-forest);outline-offset:3px}.blog-content img{border:1px solid var(--color-rule);border-radius:.75rem;max-width:100%;height:auto;display:block}.blog-article-shell{max-width:64rem;margin-inline:auto}.blog-layout{grid-template-columns:minmax(0,1fr);min-width:0;margin-top:2rem;display:grid}.blog-article{width:100%;min-width:0;max-width:var(--width-prose);margin-inline:auto}.blog-title{font-family:var(--font-display);margin-top:.75rem;font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.16}.blog-intro{margin-top:1.75rem}.blog-example-panel{border-radius:var(--radius-surface);background:var(--color-paper-raised);margin-block:2rem 2.75rem;padding:1.25rem}.blog-mobile-contents{border-block:1px solid var(--color-rule);margin-top:1.5rem}.blog-mobile-contents>summary{min-height:48px;color:var(--color-ink);cursor:pointer;padding-block:.75rem;font-size:.875rem;font-weight:600}.blog-mobile-contents>summary:focus-visible{outline:2px solid var(--color-forest);outline-offset:3px}.blog-toc ol{gap:.25rem;margin-block:.5rem 1rem;display:grid}.blog-toc a{border-radius:var(--radius-control);min-height:44px;color:var(--color-ink-muted);grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.65rem;padding:.65rem;font-size:.8125rem;line-height:1.65;text-decoration:none;display:grid}.blog-toc a:hover{color:var(--color-ink);background:var(--color-paper-raised)}.blog-toc a[aria-current=location]{background:var(--color-sage);color:var(--color-forest);font-weight:600}.blog-toc a:focus-visible{outline:2px solid var(--color-forest);outline-offset:2px}.blog-toc-number{font-variant-numeric:tabular-nums}.blog-sidebar{display:none}.blog-related{width:100%;min-width:0;max-width:var(--width-prose);margin:3.5rem auto 0}@media (min-width:640px){.blog-content{font-size:1.125rem}.blog-example-panel{padding:1.5rem}}@media (min-width:1280px){.blog-layout{grid-template-columns:minmax(0,44rem) minmax(0,15.5rem);align-items:start;column-gap:4rem}.blog-mobile-contents{display:none}.blog-sidebar{grid-area:1/2;max-height:calc(100dvh - 4rem);padding:.25rem;display:block;position:sticky;top:2rem;overflow-y:auto}.blog-toc-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);margin:0 .65rem 1rem;font-size:.75rem;font-weight:600}.blog-related{grid-column:1}}.blog-language-switcher [aria-current=page]{border-color:var(--color-forest);background:var(--color-sage)}
