.blog-prose{color:var(--color-ink-700);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.75}.blog-prose>:first-child{margin-top:0}.blog-prose.blog-prose-inline>:first-child{margin-top:1.25rem}.blog-prose h2,.blog-prose h3,.blog-prose h4{font-family:var(--font-display);color:var(--color-ink-900);letter-spacing:-.015em;text-wrap:balance;scroll-margin-top:7rem;font-weight:700}.blog-prose h2{margin-top:3rem;margin-bottom:1rem;font-size:1.875rem;line-height:1.2}.blog-prose h3{margin-top:2.25rem;margin-bottom:.75rem;font-size:1.375rem;line-height:1.3}.blog-prose h4{margin-top:1.75rem;margin-bottom:.5rem;font-size:1.125rem}.blog-prose p{margin-block:1.25rem}.blog-prose a{color:var(--color-primary-800);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklab,var(--color-primary-800),transparent 65%);text-decoration-color:color-mix(in oklab,var(--color-primary-800),transparent 65%);transition:text-decoration-color .2s var(--ease-smooth);font-weight:500}.blog-prose a:hover{text-decoration-color:currentColor}.blog-prose strong{color:var(--color-ink-900);font-weight:600}.blog-prose ol,.blog-prose ul{margin-block:1.25rem;padding-left:1.4rem}.blog-prose ul{list-style-type:disc}.blog-prose ol{list-style-type:decimal}.blog-prose li{margin-block:.4rem}.blog-prose li::marker{color:var(--color-ink-400)}.blog-prose blockquote{border-left:2px solid var(--cast-20);color:var(--color-ink-600);margin-block:1.75rem;padding-left:1.25rem;font-style:italic}.blog-prose blockquote p:first-child{margin-top:0}.blog-prose blockquote p:last-child{margin-bottom:0}.blog-prose .tldr{border-radius:var(--radius-2xl);background:var(--color-primary-50);outline:1px solid var(--cast-10);outline-offset:-1px;margin:0 0 2.5rem;padding:1.5rem 1.75rem}.blog-prose .tldr .tldr-label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-primary-800);margin:0 0 .625rem;font-size:.6875rem;font-weight:700}.blog-prose .tldr p{letter-spacing:-.005em;color:var(--color-ink-900);margin:0;font-size:1.125rem;line-height:1.55}.blog-prose .tldr ul{margin:.875rem 0 0}.blog-prose .tldr li{margin-block:.25rem;font-size:.9375rem;line-height:1.55}.blog-prose blockquote.pull{border-left:0;border-top:1px solid var(--cast-10);border-bottom:1px solid var(--cast-10);font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-ink-900);text-wrap:balance;margin-block:2.5rem;padding:1.5rem 0;font-size:1.5rem;font-style:normal;font-weight:700;line-height:1.35}@media (width>=768px){.blog-prose blockquote.pull{font-size:1.75rem}}.blog-prose img{border-radius:var(--radius-2xl);outline:1px solid var(--cast-10);outline-offset:-1px;width:100%;height:auto;margin-block:2rem;display:block}.blog-prose hr{border:0;border-top:1px solid var(--cast-10);margin-block:3rem}.blog-prose :not(pre)>code{font-family:var(--font-mono);color:var(--color-ink-800);background:var(--cast-06);border-radius:.3rem;padding:.15em .35em;font-size:.875em}.blog-prose pre{border-radius:var(--radius-xl);background:var(--color-ink-950);color:var(--color-ink-100);margin-block:1.75rem;padding:1.15rem 1.25rem;font-size:.875rem;line-height:1.7;overflow-x:auto}.blog-prose pre code{font-family:var(--font-mono);color:inherit;background:0 0;padding:0}.blog-prose table{border-collapse:collapse;width:100%;margin-block:2rem;font-size:.95rem;display:block;overflow-x:auto}.blog-prose td,.blog-prose th{text-align:left;border-bottom:1px solid var(--cast-10);padding:.7rem .9rem}.blog-prose th{color:var(--color-ink-900);font-weight:600}.blog-prose .token.cdata,.blog-prose .token.comment,.blog-prose .token.doctype,.blog-prose .token.prolog{color:var(--color-ink-500)}.blog-prose .token.punctuation{color:var(--color-ink-400)}.blog-prose .token.constant,.blog-prose .token.deleted,.blog-prose .token.property,.blog-prose .token.symbol,.blog-prose .token.tag{color:var(--color-accent-c-300)}.blog-prose .token.boolean,.blog-prose .token.number{color:var(--color-accent-b-300)}.blog-prose .token.attr-name,.blog-prose .token.builtin,.blog-prose .token.char,.blog-prose .token.inserted,.blog-prose .token.selector,.blog-prose .token.string{color:var(--color-accent-a-300)}.blog-prose .token.entity,.blog-prose .token.operator,.blog-prose .token.url{color:var(--color-primary-200)}.blog-prose .token.atrule,.blog-prose .token.attr-value,.blog-prose .token.keyword{color:var(--color-primary-300)}.blog-prose .token.class-name,.blog-prose .token.function{color:var(--color-accent-d-300)}
