.prose{font-size:var(--step-0);color:var(--text-muted);max-width:var(--measure);line-height:1.75}.prose>*+*{margin-top:1.15em}.prose p{text-wrap:pretty}.prose h2,.prose h3,.prose h4{color:var(--text);scroll-margin-top:5.5rem}.prose h2{font-size:var(--step-2);border-top:1px solid var(--border);letter-spacing:-.024em;margin-top:2.6em;padding-top:1.4rem}.prose h3{font-size:var(--step-1);letter-spacing:-.018em;margin-top:2em}.prose h4{font-size:var(--step-0);margin-top:1.7em;font-weight:620}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.7em}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent) 38%, transparent);text-underline-offset:3px;transition:text-decoration-color var(--dur) var(--ease)}.prose a:hover{text-decoration-color:currentColor}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{flex-direction:column;gap:.5em;padding-left:1.3rem;display:flex}.prose li::marker{color:var(--text-faint)}.prose li>ul,.prose li>ol{margin-top:.5em}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text);word-break:break-word;border-radius:4px;padding:.1em .35em;font-size:.87em}.prose blockquote{border-left:2px solid var(--accent);color:var(--text-muted);padding:.2rem 0 .2rem 1.1rem;font-style:normal}.prose blockquote p{margin-top:.5em}.prose blockquote>:first-child{margin-top:0}.prose .table-wrap{border:1px solid var(--border);border-radius:var(--radius);-webkit-overflow-scrolling:touch;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1);min-width:34rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .85rem}.prose thead th{background:var(--bg-subtle);color:var(--text);font-weight:560;font-size:var(--step--2);letter-spacing:.02em;white-space:nowrap}.prose tbody tr:last-child td{border-bottom:0}.prose hr{border-top:1px solid var(--border);margin-block:2.2em}.prose img{border-radius:var(--radius);border:1px solid var(--border)}.prose figure{margin:0}.prose figcaption{font-size:var(--step--2);color:var(--text-faint);text-align:center;margin-top:.6rem}.prose .expressive-code{margin-block:1.6em}.prose .expressive-code pre{font-size:var(--step--1);border-radius:var(--radius)!important}.prose .wide{width:max(100%,0px);max-width:min(100%,60rem)}@media (width>=1180px){.prose .wide{width:calc(var(--measure) + 12rem);max-width:calc(100vw - 2 * var(--page-pad));margin-left:-6rem}}.toc[data-astro-cid-7k3pnqyz]{overscroll-behavior:contain;max-height:calc(100vh - 8rem);padding-right:.5rem;position:sticky;top:5.5rem;overflow-y:auto}.toc-title[data-astro-cid-7k3pnqyz]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.8rem;font-weight:400}.toc-list[data-astro-cid-7k3pnqyz]{border-left:1px solid var(--border);flex-direction:column;list-style:none;display:flex}.toc-item[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]{font-size:var(--step--1);color:var(--text-faint);transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease);border-left:1px solid #0000;margin-left:-1px;padding:.35rem 0 .35rem .85rem;line-height:1.45;display:block}.toc-item[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]:hover{color:var(--text)}.toc-item[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz][aria-current=true]{color:var(--accent);border-left-color:var(--accent)}.depth-3[data-astro-cid-7k3pnqyz] a[data-astro-cid-7k3pnqyz]{font-size:var(--step--2);padding-left:1.7rem}@media (width<=1079px){.toc[data-astro-cid-7k3pnqyz]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:none;margin-bottom:2rem;padding:1rem 1.1rem;position:static}}.reading-progress[data-astro-cid-sgg5joot]{z-index:110;pointer-events:none;background:0 0;height:2px;position:fixed;top:0;left:0;right:0}.reading-progress[data-astro-cid-sgg5joot] span[data-astro-cid-sgg5joot]{background:linear-gradient(90deg, var(--accent), var(--signal));width:0%;height:100%;transition:width 90ms linear;display:block}.article-head[data-astro-cid-sgg5joot]{border-bottom:1px solid var(--border);padding-top:clamp(2.5rem,6vw,4rem);padding-bottom:clamp(1.75rem,4vw,2.5rem)}.back[data-astro-cid-sgg5joot]{width:fit-content;font-size:var(--step--1);color:var(--text-faint);transition:color var(--dur) var(--ease);align-items:center;gap:.45rem;margin-bottom:1.5rem;display:flex}.back[data-astro-cid-sgg5joot]:hover{color:var(--accent)}.back[data-astro-cid-sgg5joot]:hover .back-arrow[data-astro-cid-sgg5joot]{translate:-2px}.back-arrow[data-astro-cid-sgg5joot]{transition:translate var(--dur) var(--ease);display:inline-block}.draft-flag[data-astro-cid-sgg5joot]{font-family:var(--font-mono);font-size:var(--step--2);background:var(--amber-wash);color:var(--amber);border:1px solid color-mix(in srgb, var(--amber) 35%, transparent);border-radius:999px;margin-bottom:1rem;padding:.15rem .5rem;display:inline-block}.article-title[data-astro-cid-sgg5joot]{font-size:var(--step-4);letter-spacing:-.03em;max-width:22ch}.article-summary[data-astro-cid-sgg5joot]{font-size:var(--step-1);color:var(--text-muted);text-wrap:pretty;max-width:62ch;margin-top:1.1rem}.article-meta[data-astro-cid-sgg5joot]{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.6rem;display:flex}.author[data-astro-cid-sgg5joot]{color:var(--text-muted);align-items:center;gap:.45rem;display:inline-flex}.author[data-astro-cid-sgg5joot] a[data-astro-cid-sgg5joot]{transition:color var(--dur) var(--ease)}.author[data-astro-cid-sgg5joot] a[data-astro-cid-sgg5joot]:hover{color:var(--accent)}.author-mark[data-astro-cid-sgg5joot]{background:linear-gradient(135deg, var(--accent), var(--signal));border-radius:4px;flex:none;width:14px;height:14px}.byline-avatar[data-astro-cid-sgg5joot]{object-fit:cover;border:1px solid var(--border);background:var(--surface-2);border-radius:10px;flex:none;width:48px;height:48px}.sep[data-astro-cid-sgg5joot]{opacity:.5}.article-tags[data-astro-cid-sgg5joot]{flex-wrap:wrap;gap:.35rem;margin-top:1.1rem;list-style:none;display:flex}.article-body[data-astro-cid-sgg5joot]{grid-template-columns:minmax(0,1fr);gap:0;padding-block:clamp(2rem,5vw,3rem) clamp(3rem,7vw,5rem);display:grid}@media (width>=1080px){.article-body[data-astro-cid-sgg5joot]{grid-template-columns:210px minmax(0,1fr);align-items:start;gap:3.5rem}}.article-content[data-astro-cid-sgg5joot]{min-width:0}.article-foot[data-astro-cid-sgg5joot]{border-top:1px solid var(--border);margin-top:3.5rem;padding-top:2rem}.byline[data-astro-cid-sgg5joot]{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);align-items:flex-start;gap:.9rem;padding:1.25rem;display:flex}.byline-name[data-astro-cid-sgg5joot]{font-weight:600;font-size:var(--step-0)}.byline-role[data-astro-cid-sgg5joot]{font-size:var(--step--1);color:var(--text-muted);max-width:58ch;margin-top:.35rem;line-height:1.6}.byline-links[data-astro-cid-sgg5joot]{flex-wrap:wrap;gap:.45rem;margin-top:1rem;display:flex}.pager[data-astro-cid-sgg5joot]{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.75rem;margin-top:1rem;display:grid}.pager-link[data-astro-cid-sgg5joot]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);flex-direction:column;gap:.3rem;padding:1rem 1.1rem;display:flex}.pager-link[data-astro-cid-sgg5joot]:hover{border-color:var(--border-strong);background:var(--surface-2)}.is-next[data-astro-cid-sgg5joot]{text-align:right;align-items:flex-end}.pager-dir[data-astro-cid-sgg5joot]{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-faint)}.pager-title[data-astro-cid-sgg5joot]{font-size:var(--step--1);color:var(--text);line-height:1.45}.pager-link[data-astro-cid-sgg5joot]:hover .pager-title[data-astro-cid-sgg5joot]{color:var(--accent)}.callout[data-astro-cid-lnlu5god]{--c:var(--accent);border:1px solid var(--border);border-left:2px solid var(--c);border-radius:0 var(--radius) var(--radius) 0;background:var(--surface);padding:1rem 1.15rem;margin-block:1.6em!important}.callout-note[data-astro-cid-lnlu5god]{--c:var(--accent)}.callout-gotcha[data-astro-cid-lnlu5god]{--c:var(--amber)}.callout-wrong[data-astro-cid-lnlu5god]{--c:var(--rose)}.callout-key[data-astro-cid-lnlu5god]{--c:var(--signal)}.callout-title[data-astro-cid-lnlu5god]{font-size:var(--step--1);color:var(--c);letter-spacing:.01em;align-items:center;gap:.5rem;margin:0 0 .5rem;font-weight:600;display:flex}.callout-icon[data-astro-cid-lnlu5god]{background:color-mix(in srgb, var(--c) 16%, transparent);border:1px solid color-mix(in srgb, var(--c) 30%, transparent);width:17px;height:17px;font-family:var(--font-mono);border-radius:4px;flex:none;justify-content:center;align-items:center;font-size:.68rem;line-height:1;display:inline-flex}.callout-body[data-astro-cid-lnlu5god]>*{font-size:var(--step--1);color:var(--text-muted);line-height:1.7}.callout-body[data-astro-cid-lnlu5god]>*+*{margin-top:.7em}.callout-body[data-astro-cid-lnlu5god] p:first-child{margin-top:0}.flow[data-astro-cid-jigva4ep]{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-subtle);padding:1.15rem;margin-block:1.8em!important}.flow-track[data-astro-cid-jigva4ep]{flex-wrap:wrap;align-items:stretch;gap:.5rem;display:flex}.flow-step[data-astro-cid-jigva4ep]{--c:var(--accent);border:1px solid var(--border);border-top:2px solid var(--c);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;flex:auto;gap:.15rem;min-width:0;padding:.6rem .8rem;display:flex}.accent-accent[data-astro-cid-jigva4ep]{--c:var(--accent)}.accent-signal[data-astro-cid-jigva4ep]{--c:var(--signal)}.accent-amber[data-astro-cid-jigva4ep]{--c:var(--amber)}.accent-rose[data-astro-cid-jigva4ep]{--c:var(--rose)}.accent-muted[data-astro-cid-jigva4ep]{--c:var(--text-faint)}.flow-label[data-astro-cid-jigva4ep]{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text);word-break:break-word;font-weight:500;line-height:1.4}.flow-note[data-astro-cid-jigva4ep]{color:var(--text-faint);font-size:.66rem;line-height:1.4}.flow-arrow[data-astro-cid-jigva4ep]{color:var(--border-strong);flex:none;align-items:center;display:flex}.flow-caption[data-astro-cid-jigva4ep]{font-size:var(--step--2);color:var(--text-faint);text-align:left;margin-top:.9rem}@media (width<=680px){.flow-track[data-astro-cid-jigva4ep]{flex-direction:column}.flow-arrow[data-astro-cid-jigva4ep]{align-self:flex-start;margin-left:1rem;rotate:90deg}}.is-vertical[data-astro-cid-jigva4ep] .flow-track[data-astro-cid-jigva4ep]{flex-direction:column}.is-vertical[data-astro-cid-jigva4ep] .flow-arrow[data-astro-cid-jigva4ep]{align-self:flex-start;margin-left:1rem;rotate:90deg}
