.blog-waves:where(.astro-ua3qr6u7){width:100%;height:100%;color:var(--blog-accent);pointer-events:none;position:absolute;inset:0;mask-image:linear-gradient(90deg,#0000,#00000040 35%,#000 80%)}@media (width<=639px){.blog-waves:where(.astro-ua3qr6u7){opacity:.65;mask-image:linear-gradient(#0000 25%,#000)}}.blog-page{--blog-ink:#17253e;--blog-muted:#53647c;--blog-border:#d8e1ec;--blog-accent:var(--color-brand-primary);--blog-paper:#fff;--blog-wash:#f5f8fc;color:var(--blog-ink);background:var(--blog-paper)}[data-theme=dark] .blog-page{--blog-ink:#e5edf8;--blog-muted:#a1b1c7;--blog-border:#2b3c55;--blog-accent:var(--color-brand-primary-light);--blog-paper:var(--color-slate-900);--blog-wash:#131f34}.blog-container{width:min(1200px,100% - 3rem);margin-inline:auto}.blog-masthead{border-top:1px solid var(--blog-border);min-height:64px;font-family:var(--font-mono);justify-content:space-between;align-items:center;font-size:12px;display:flex}.blog-wordmark{color:var(--blog-accent);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.blog-wordmark>span{margin-right:12px}.blog-feed{color:var(--blog-muted);align-items:center;gap:8px;display:inline-flex}.blog-page a:focus-visible,.blog-page summary:focus-visible{outline:2px solid var(--blog-accent);outline-offset:5px}.blog-feed:hover,.blog-author:hover,.blog-article-footer a:hover{color:var(--blog-accent)}.blog-hero{border-block:1px solid var(--blog-border);background-color:var(--blog-wash);position:relative}.blog-hero-inner{border-inline:1px solid #0000;padding:76px 40px 64px;position:relative}.blog-eyebrow{color:var(--blog-muted);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:500;line-height:1.6}.blog-hero .blog-eyebrow{color:var(--blog-accent)}.blog-hero h1{letter-spacing:-.035em;text-wrap:balance;max-width:1020px;margin-top:24px;font-size:clamp(36px,4.5vw,64px);font-weight:600;line-height:1.08}.blog-deck{max-width:760px;color:var(--blog-muted);text-wrap:pretty;margin-top:26px;font-size:21px;line-height:1.6}.blog-article-grid{grid-template-columns:208px minmax(0,760px);justify-content:center;align-items:start;gap:64px;padding:56px 40px 96px;display:grid}.blog-sidebar{overflow-anchor:none;max-height:calc(100vh - 64px);position:sticky;top:32px;overflow-y:auto}.blog-sidebar-title{visibility:hidden;color:var(--blog-ink);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere;grid-template-rows:0fr;font-size:13px;font-weight:500;line-height:1.6;transition:grid-template-rows .28s cubic-bezier(.22,1,.36,1),visibility 0s .28s;display:grid}.blog-sidebar-title[data-visible]{visibility:visible;grid-template-rows:1fr;transition-delay:0s}.blog-sidebar-title-inner{min-height:0;overflow:hidden}.blog-sidebar-title a{opacity:0;padding-bottom:8px;transition:opacity .14s ease-out,transform .28s cubic-bezier(.22,1,.36,1);display:block;transform:translateY(-4px)}.blog-sidebar-title[data-visible] a{opacity:1;transition:opacity .18s ease-out 60ms,transform .28s cubic-bezier(.22,1,.36,1);transform:translateY(0)}.blog-sidebar-title a:hover{color:var(--blog-accent)}.blog-sidebar-title a:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion:reduce){.blog-sidebar-title,.blog-sidebar-title[data-visible],.blog-sidebar-title a,.blog-sidebar-title[data-visible] a{transition:none}}.blog-metadata>div{border-bottom:1px solid var(--blog-border);padding-block:18px}.blog-metadata dt{color:var(--blog-muted);font:10px/1.6 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.blog-metadata dd{margin-top:8px;font-size:15px}.blog-metadata time{font-family:var(--font-mono);font-size:12px}.blog-author{align-items:center;gap:9px;font-size:14px;font-weight:500;display:inline-flex}.blog-author img{flex:none;margin:0}.blog-metadata>.blog-byline{padding-block:24px}.blog-byline dd{margin-top:0}.blog-author-profile{border:1px solid var(--blog-border);background:var(--blog-paper);max-width:100%;color:var(--blog-ink);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:inline-flex;box-shadow:0 1px 2px #0f172a14}[data-theme=dark] .blog-author-profile{background:var(--color-slate-800)}.blog-author-profile:hover{box-shadow:0 2px 5px #0f172a1f}.blog-author-profile img{flex:none;width:36px;height:36px}.blog-byline-name{font-size:14px;font-weight:600;line-height:1.4}.blog-author-profile:hover .blog-byline-name{color:var(--blog-accent)}blog-table-of-contents{padding-top:28px;display:block}blog-table-of-contents summary{cursor:pointer;justify-content:space-between;align-items:center;list-style:none;display:none}blog-table-of-contents summary::-webkit-details-marker{display:none}blog-table-of-contents details[open] summary>svg{transform:rotate(180deg)}blog-table-of-contents ol{margin:18px 0 0;padding:0;list-style:none}blog-table-of-contents li+li{margin-top:4px}blog-table-of-contents a{color:var(--blog-muted);gap:12px;padding:7px 0;font-size:14px;line-height:1.45;display:flex}blog-table-of-contents a:hover,blog-table-of-contents a[aria-current]{color:var(--blog-accent)}blog-table-of-contents a[aria-current]{font-weight:600}.blog-section-number{font:10px/1.6 var(--font-mono);flex:0 0 19px;padding-top:2px}blog-table-of-contents .is-nested a{padding-left:12px;font-size:13px}blog-table-of-contents .is-nested+.is-nested{margin-top:0}blog-table-of-contents .is-nested+.is-nested a{padding-top:3px}.blog-article{min-width:0;max-width:760px;padding-top:14px}.blog-article .prose{color:var(--blog-ink);counter-reset:section;font-size:17px;line-height:1.75}.blog-article .prose h2[id]:not(.sr-only):not(:where(.not-prose,.not-prose *)){counter-increment:section;margin-top:64px;margin-bottom:40px;font-size:28px;line-height:1.3;display:block;position:relative}.blog-article .prose h2[id]:not(.sr-only):not(:where(.not-prose,.not-prose *)):before{content:counter(section, decimal-leading-zero);border:1px solid var(--blog-border);background:var(--blog-wash);width:28px;height:28px;color:var(--blog-accent);font:12px/1.6 var(--font-mono);vertical-align:middle;border-radius:6px;justify-content:center;align-items:center;margin-right:8px;display:inline-flex}.blog-article .prose :is(h2,h3,h4):not(:where(.not-prose,.not-prose *)){color:var(--blog-ink);letter-spacing:-.015em}.blog-article .prose h3:not(:where(.not-prose,.not-prose *)){margin-top:48px;margin-bottom:20px;font-size:22px;line-height:1.4}.blog-article .prose h4:not(:where(.not-prose,.not-prose *)){margin-top:32px;margin-bottom:16px;font-size:19px;line-height:1.4}.blog-article .prose h2.markdown-heading>.anchor{top:.65em;transform:translateY(-50%)}.blog-article .prose>:first-child,.blog-article .prose>article>:first-child{margin-top:0}.blog-article .prose blockquote:not(:where(.not-prose,.not-prose *)){border-left:2px solid var(--blog-accent);background:var(--blog-wash);padding:12px 24px;font-style:normal}.blog-article .prose :not(pre)>code:not(:where(.not-prose,.not-prose *)){border:1px solid var(--blog-border);background:var(--blog-wash);overflow-wrap:anywhere;border-radius:3px;padding:.1em .3em;font-size:.8em;font-weight:500}.blog-article .prose pre:not(:where(.not-prose,.not-prose *)){border:1px solid var(--blog-border);max-width:100%;box-shadow:none;border-radius:6px}.blog-article .expressive-code{--ec-brdRad:6px;--ec-frm-frameBoxShdCssVal:none}.blog-article .prose table:not(:where(.not-prose,.not-prose *)){border-block:1px solid var(--blog-border);font-variant-numeric:tabular-nums;width:100%;max-width:100%;font-size:16px;line-height:1.5;display:table}.blog-article .prose thead:not(:where(.not-prose,.not-prose *)){background:var(--blog-wash);color:var(--blog-ink);font-family:var(--font-sans);font-size:16px}.blog-article .prose :is(th,td):not(:where(.not-prose,.not-prose *)){border-bottom:1px solid var(--blog-border);padding:14px 18px}.blog-article .prose th:not(:where(.not-prose,.not-prose *)){vertical-align:bottom;font-weight:600}.blog-article .prose td[align=right]:not(:where(.not-prose,.not-prose *)){white-space:nowrap}.blog-article .prose tbody tr:nth-child(2n):not(:where(.not-prose,.not-prose *)){background:color-mix(in srgb, var(--blog-wash) 50%, transparent)}@media (width<=767px){.blog-article .prose table:not(:where(.not-prose,.not-prose *)){display:block;overflow-x:auto}.blog-article .prose th:not(:where(.not-prose,.not-prose *)){min-width:7.5rem}}.blog-article .prose figcaption:not(:where(.not-prose,.not-prose *)){color:var(--blog-muted);font:12px/1.6 var(--font-mono)}.blog-article-footer{border-top:1px solid var(--blog-border);color:var(--blog-muted);justify-content:space-between;gap:24px;margin-top:64px;padding-top:24px;font-size:14px;display:flex}.blog-back{align-items:center;gap:8px;display:inline-flex}.blog-index-hero h1{font-size:clamp(42px,5vw,72px)}.blog-index-hero .blog-deck{max-width:1020px}.blog-index{padding:48px 40px 96px}.blog-index-label{border-bottom:2px solid var(--blog-accent);justify-content:space-between;padding-bottom:20px;display:flex}.blog-entry{border-bottom:1px solid var(--blog-border);grid-template-columns:208px minmax(0,1fr);gap:64px;padding-block:36px;display:grid}.blog-entry-meta{flex-direction:column;align-items:flex-start;gap:16px;padding-top:6px;display:flex}.blog-entry time{color:var(--blog-muted);font:11px/1.6 var(--font-mono)}.blog-entry h2{letter-spacing:-.015em;font-size:27px;font-weight:600;line-height:1.25}.blog-entry h2 a{justify-content:space-between;align-items:baseline;gap:20px;display:flex}.blog-entry h2 a>span{color:var(--blog-accent);font-size:22px;font-weight:400}.blog-entry h2 a:hover{color:var(--blog-accent)}.blog-entry p{max-width:700px;color:var(--blog-muted);margin-top:12px;font-size:17px;line-height:1.65}@media (width<=1023px){.blog-article-grid{grid-template-columns:minmax(0,1fr);gap:32px;max-width:840px}.blog-article{padding-top:0}.blog-sidebar-title{display:none}.blog-sidebar{max-height:none;position:static;overflow:visible}.blog-metadata{border-bottom:1px solid var(--blog-border);flex-wrap:wrap;gap:0 40px;display:flex}.blog-metadata>div{border-bottom:0;padding-top:0}.blog-metadata>.blog-byline{padding-block:0 18px}.blog-byline dd{margin-top:8px}.blog-author-profile,.blog-author-profile:hover,[data-theme=dark] .blog-author-profile{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:inline}.blog-author-profile img{display:none}.blog-byline-name{font-family:var(--font-mono);font-size:12px;font-weight:400;line-height:1.5}.blog-contents-heading{display:none}blog-table-of-contents summary{display:flex}blog-table-of-contents{border-bottom:1px solid var(--blog-border);padding-block:18px}.blog-entry{grid-template-columns:160px minmax(0,1fr);gap:32px}}@media (width<=639px){.blog-metadata{gap:0 24px}.blog-container{width:calc(100% - 2rem)}.blog-masthead{min-height:52px;font-size:10px}.blog-hero-inner{padding:48px 16px 40px}.blog-hero h1{margin-top:18px}.blog-deck{margin-top:20px;font-size:18px}.blog-article-grid{padding:28px 8px 64px}.blog-article .prose{font-size:16px}.blog-article .prose h2[id]:not(.sr-only):not(:where(.not-prose,.not-prose *)){margin-top:48px;margin-bottom:32px;font-size:24px}.blog-article .prose h2[id]:not(.sr-only):not(:where(.not-prose,.not-prose *)):before{margin-right:6px;font-size:10px}.blog-article .prose h3:not(:where(.not-prose,.not-prose *)){margin-top:36px;font-size:21px}.blog-article-footer{gap:12px;font-size:13px}.blog-index{padding:32px 8px 64px}.blog-entry{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:28px}.blog-entry-meta{flex-flow:wrap;justify-content:space-between;align-items:center;gap:12px}.blog-entry h2{font-size:24px}.blog-entry p{font-size:16px}}
