#page-blog{scrollbar-gutter:stable;min-width:360px}:root{--sh-class:#2d5e9d;--sh-identifier:#354150;--sh-sign:#8996a3;--sh-property:#0550ae;--sh-entity:#249a97;--sh-jsxliterals:#6266d1;--sh-string:#00a99a;--sh-keyword:#f47067;--sh-comment:#a19595}.blog-prose{color:var(--sub-ink2);letter-spacing:-.003em;font-size:1.0625rem;line-height:1.75}.blog-prose>*+*{margin-top:1.25em}.blog-prose h1,.blog-prose h2,.blog-prose h3,.blog-prose h4{color:var(--sub-ink);font-family:var(--font-archivo,system-ui), var(--font-google-sans,system-ui), system-ui, sans-serif;letter-spacing:-.02em;text-wrap:balance;font-weight:900}.blog-prose h2{margin-bottom:.5em;padding-top:1em;scroll-margin-top:5rem;font-size:1.875rem;line-height:1.25}.blog-prose h3{margin-bottom:.25em;padding-top:.75em;scroll-margin-top:5rem;font-size:1.375rem;line-height:1.3}.blog-prose h4{padding-top:.5em;scroll-margin-top:5rem;font-size:1.125rem;line-height:1.4}.blog-prose h2+p,.blog-prose h3+p,.blog-prose h4+p{margin-top:.5em}.blog-prose p{color:var(--sub-ink2);font-size:1.0625rem;line-height:1.75}.blog-prose strong{color:var(--sub-ink);font-weight:600}.blog-prose a{color:#326de6;text-underline-offset:3px;-webkit-text-decoration:underline #326de659;text-decoration:underline #326de659;text-decoration-thickness:1px;transition:color .15s,text-decoration-color .15s}.blog-prose a:hover{color:#326de6;text-decoration-color:#326de6}.blog-prose ul,.blog-prose ol{padding-left:1.5rem}.blog-prose ul{list-style-type:disc}.blog-prose ol{list-style-type:decimal}.blog-prose ul>li,.blog-prose ol>li{margin-top:.5em;padding-left:.5rem}.blog-prose ul>li::marker{color:var(--sub-ink3)}.blog-prose ol>li::marker{color:var(--sub-ink3);font-weight:600;font-family:var(--font-space-mono,"Menlo"), ui-monospace, monospace;font-size:.875em}.blog-prose ul>li>p,.blog-prose ol>li>p{margin-top:0}.blog-prose blockquote{color:var(--sub-ink2);border-left:2px solid #326de6;padding-top:.5rem;padding-bottom:.5rem;padding-left:1.25rem;font-style:italic}.blog-prose blockquote p{font-size:1.125rem;line-height:1.65}.blog-prose hr{border:0;border-top:1px solid var(--sub-line);margin-top:3em;margin-bottom:3em}.blog-prose img{border:1px solid var(--sub-line);border-radius:.75rem;width:100%}.blog-prose figure{flex-direction:column;gap:.5rem;display:flex}.blog-prose figcaption{font-family:var(--font-space-mono,"Menlo"), ui-monospace, monospace;letter-spacing:.04em;color:var(--sub-ink3);text-align:center;font-size:.75rem}.blog-prose table{border-collapse:separate;border-spacing:0;background-color:var(--sub-paper);border:1px solid var(--sub-line);border-radius:.75rem;width:100%;font-size:.9375rem;overflow:hidden}.blog-prose thead{background-color:#11151c08}.blog-prose th{text-align:left;font-family:var(--font-space-mono,"Menlo"), ui-monospace, monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--sub-ink3);border-bottom:1px solid var(--sub-line);padding:.75rem 1rem;font-size:.6875rem;font-weight:700}.blog-prose td{color:var(--sub-ink2);border-bottom:1px solid var(--sub-line);padding:.75rem 1rem}.blog-prose tbody tr:last-child td{border-bottom:0}.blog-prose tbody tr:hover{background-color:#11151c05}#page-blog pre{background-color:var(--sub-paper);color:var(--sub-ink2);border:1px solid var(--sub-line);border-radius:.75rem;margin-top:1.75em;margin-bottom:1.75em;padding:1.25rem 1.5rem;font-size:.875rem;line-height:1.6;overflow-x:auto}#page-blog pre::-webkit-scrollbar{height:8px}#page-blog pre::-webkit-scrollbar-track{background:0 0}#page-blog pre::-webkit-scrollbar-thumb{background-color:var(--sub-line);border-radius:4px}#page-blog code{font-family:var(--font-space-mono,"Menlo"), ui-monospace, "Monaco", "Courier New", monospace;color:var(--sub-ink);background-color:#11151c0f;border-radius:.3em;padding:.15em .4em;font-size:.875em;font-weight:500}#page-blog pre code{color:inherit;font-weight:400;font-size:inherit;background-color:#0000;border:none;padding:0;line-height:1.6}.blog-prose :not(pre)>code:before,.blog-prose :not(pre)>code:after{content:""}.dark{--sh-class:#d2a8ff;--sh-identifier:#c9d1d9;--sh-sign:#8b949e;--sh-property:#79c0ff;--sh-entity:#7ee787;--sh-jsxliterals:#a5d6ff;--sh-string:#a5d6ff;--sh-keyword:#ff7b72;--sh-comment:#8b949e}.dark .blog-prose img{filter:brightness(.85)}.dark .blog-prose thead{background-color:#ffffff0a}.dark .blog-prose tbody tr:hover{background-color:#ffffff08}.dark #page-blog code{background-color:#ffffff14}.dark #page-blog pre code{background-color:#0000}.dark #page-blog pre+button{border-color:var(--sub-line);background-color:var(--sub-paper);color:var(--sub-ink3)}.dark #page-blog pre+button:hover{border-color:var(--sub-ink3);color:var(--sub-ink)}.blog-hero-enter{opacity:0;animation:.75s cubic-bezier(.16,1,.3,1) forwards blog-hero-enter}@keyframes blog-hero-enter{0%{opacity:0;filter:blur(8px);transform:translateY(26px)}to{opacity:1;filter:blur();transform:none}}.blog-hero-d1{animation-delay:60ms}.blog-hero-d2{animation-delay:.18s}.blog-hero-d3{animation-delay:.3s}.blog-hero-d4{animation-delay:.42s}.blog-hero-draw{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.6s cubic-bezier(.6,.05,.2,1) forwards blog-hero-draw}@keyframes blog-hero-draw{to{stroke-dashoffset:0}}@keyframes blog-hero-cue{0%{opacity:0;transform:translate(-50%,-12px)}35%{opacity:1}to{opacity:0;transform:translate(-50%,40px)}}.blog-hero-cue{animation:2.4s cubic-bezier(.4,0,.2,1) infinite blog-hero-cue}@media (prefers-reduced-motion:reduce){.blog-hero-enter{opacity:1;animation:none}.blog-hero-draw{stroke-dashoffset:0;animation:none}.blog-hero-cue{opacity:0;animation:none}}
