@media (prefers-reduced-motion: no-preference){html:has(.prose-blog){scroll-behavior:smooth}}.prose-blog{max-width:68ch;font-size:1.125rem;line-height:1.75;color:var(--color-ink, #0e1726);overflow-wrap:break-word}.prose-blog>*+*{margin-top:1.25rem}.prose-blog>:first-child{margin-top:0}.prose-blog h2,.prose-blog h3,.prose-blog h4{font-weight:600;letter-spacing:-.01em;text-wrap:balance;scroll-margin-top:9rem}.prose-blog h2{margin-top:3rem;font-size:1.75rem;line-height:1.3}.prose-blog h3{margin-top:2.5rem;font-size:1.375rem;line-height:1.4}.prose-blog h4{margin-top:2rem;font-size:1.125rem;line-height:1.5}.prose-blog h2+*,.prose-blog h3+*,.prose-blog h4+*{margin-top:.75rem}@media (width >= 48rem){.prose-blog h2{font-size:2rem}}.prose-blog .heading-anchor{margin-left:.5rem;color:var(--color-slate-muted, #5b6678);text-decoration:none;opacity:0;transition:opacity .15s}.prose-blog :is(h2,h3):hover .heading-anchor,.prose-blog .heading-anchor:focus-visible{opacity:1}.prose-blog a:not(.heading-anchor){color:var(--color-amber-ink, #9a520f);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.prose-blog a:not(.heading-anchor):hover{text-decoration-thickness:2px}.prose-blog strong{font-weight:600}.prose-blog ul,.prose-blog ol{padding-left:1.5rem}.prose-blog li+li{margin-top:.5rem}.prose-blog li::marker{color:var(--color-amber-deep, #c76a14)}.prose-blog ol>li::marker{font-weight:600}.prose-blog blockquote{border-left:3px solid var(--color-amber, #e8852b);padding:.25rem 0 .25rem 1.25rem;font-size:1.25rem;line-height:1.6;font-style:normal;color:var(--color-ink, #0e1726)}.prose-blog blockquote p+p{margin-top:.75rem}.prose-blog hr{margin:3rem 0;border:0;border-top:1px solid var(--color-hairline, #e4e7ee)}.prose-blog :not(pre)>code{border:1px solid var(--color-hairline, #e4e7ee);border-radius:.375rem;background:var(--color-mist, #f3f5f8);padding:.125rem .375rem;font-family:var(--font-mono, ui-monospace, monospace);font-size:.875em}.prose-blog img{height:auto;max-width:100%;border-radius:.75rem}.prose-blog figure{margin-top:2rem;margin-bottom:2rem}.prose-blog figure img{border:1px solid var(--color-hairline, #e4e7ee)}.prose-blog figcaption{margin-top:.75rem;text-align:center;font-size:.875rem;line-height:1.5;color:var(--color-slate-muted, #5b6678)}.prose-blog .table-wrap{overflow-x:auto;border:1px solid var(--color-hairline, #e4e7ee);border-radius:.75rem}.prose-blog table{display:table;width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.5}.prose-blog th,.prose-blog td{border:0;border-bottom:1px solid var(--color-hairline, #e4e7ee);padding:.75rem 1rem;text-align:left;vertical-align:top}.prose-blog th{background:var(--color-mist, #f3f5f8);font-weight:600}.prose-blog tr:last-child td{border-bottom:0}.prose-blog .code-block{overflow:hidden;border:1px solid var(--color-ink-line, #243450);border-radius:.75rem;background:var(--color-ink, #0e1726)}.prose-blog .code-block-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--color-ink-line, #243450);background:var(--color-ink-soft, #16233a);padding:.25rem .5rem .25rem 1rem;font-family:var(--font-mono, ui-monospace, monospace);font-size:.75rem;color:#a9b3c4}.prose-blog .code-copy{display:inline-flex;min-height:2rem;align-items:center;gap:.375rem;border-radius:.375rem;padding:.25rem .5rem;font-family:var(--font-sans, sans-serif);font-weight:600;color:#e6ebf3;transition:background-color .15s}.prose-blog .code-copy:hover{background:#ffffff14}.prose-blog .code-copy:active{background:#ffffff24}.prose-blog .code-copy:focus-visible{outline:2px solid var(--color-amber-bright, #f4a12b);outline-offset:1px}.prose-blog .code-copy[data-state=copied]{color:#86efac}.prose-blog pre{margin:0;overflow-x:auto;border-radius:0;background:var(--color-ink, #0e1726);padding:1rem 1.25rem;font-family:var(--font-mono, ui-monospace, monospace);font-size:.875rem;line-height:1.7;color:#e6ebf3;-moz-tab-size:4;tab-size:4}.prose-blog pre:focus-visible{outline:2px solid var(--color-amber-bright, #f4a12b);outline-offset:-2px}.prose-blog pre code{background:none;border:0;padding:0;font-size:inherit;color:inherit}.prose-blog .tok-comment{color:#9aa6ba;font-style:italic}.prose-blog .tok-keyword{color:#f4a12b}.prose-blog .tok-string{color:#86efac}.prose-blog .tok-number{color:#c4b5fd}.prose-blog .tok-fn{color:#7dd3fc}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}
