.post{--measure:70ch;max-width:var(--measure);padding-bottom:var(--space-12);color:var(--text-2);overflow-wrap:break-word;min-width:0;margin-inline:auto;font-size:1.0625rem;line-height:1.75}.post>*+*{margin-top:1.25rem}.post p{text-wrap:pretty}.post strong{color:var(--text);font-weight:650}.post a{color:var(--accent-text);text-underline-offset:3px;text-decoration:underline 1px}.post a:hover{text-decoration-thickness:2px}.post :is(h2,h3){color:var(--text);letter-spacing:-.02em;scroll-margin-top:calc(var(--header-h,64px) + 24px);line-height:1.25}.post h2{margin-top:3rem;font-size:1.625rem;font-weight:700}.post h3{margin-top:2.25rem;font-size:1.25rem;font-weight:650}.post :is(h2,h3)+*{margin-top:.75rem}.post ul{padding-left:1.4rem;list-style:outside}.post ol{padding-left:1.4rem;list-style:decimal}.post li{padding-left:.25rem}.post li+li{margin-top:.5rem}.post li::marker{color:var(--text-3)}.post blockquote{border-left:3px solid var(--accent);color:var(--text);padding:.25rem 0 .25rem 1.1rem}.post hr{border:0;border-top:1px solid var(--border);margin-block:2.5rem}.post :not(pre)>code{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);color:var(--text);overflow-wrap:anywhere;border-radius:6px;padding:.15em .4em;font-size:.875em}.post table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.post th,.post td{text-align:left;border-bottom:1px solid var(--border);padding:8px 10px}.post .expressive-code{--ec-brdRad:12px;--ec-brdWd:1px;--ec-brdCol:var(--border-strong);--ec-codeBg:#f6f6f9;--ec-codeFg:#1c2024;--ec-codeFontFml:var(--font-mono);--ec-codeFontSize:.8125rem;--ec-codeFontWg:400;--ec-codeLineHt:1.7;--ec-codePadBlk:14px;--ec-codePadInl:16px;--ec-frm-frameBoxShdCssVal:var(--shadow-xs,none);--ec-frm-trmBg:#f6f6f9;--ec-frm-trmTtbBg:#ececf1;--ec-frm-trmTtbFg:#4f535b;--ec-frm-trmTtbBrdBtmCol:#dcdce3;--ec-frm-trmTtbDotsFg:#8b8d98;--ec-frm-trmTtbDotsOpa:.6;--ec-frm-edBg:#f6f6f9;--ec-frm-edTabBarBg:#ececf1;--ec-frm-inlBtnFg:#4f535b;--ec-frm-inlBtnBg:#4f535b;--ec-uiFontFml:var(--font-sans);--ec-uiFontSize:.75rem;--ec-uiFontWg:600;--ec-uiLineHt:1.5;--ec-uiPadBlk:9px;--ec-uiPadInl:14px;--ec-gtrFg:#8b8d98;--ec-gtrBrdCol:#dcdce3;--ec-sbThumbCol:#c3c4cc;--ec-sbThumbHoverCol:#9a9ba6;--ec-focusBrd:var(--accent);color:var(--text);margin-block:1.5rem;font-size:1rem;line-height:1.5}:root[data-theme=dark] .post .expressive-code{--ec-brdCol:#2c2e33;--ec-codeBg:#121316;--ec-codeFg:#e7e8ec;--ec-frm-trmBg:#121316;--ec-frm-trmTtbBg:#1a1b1f;--ec-frm-trmTtbFg:#a4a8b0;--ec-frm-trmTtbBrdBtmCol:#2c2e33;--ec-frm-trmTtbDotsFg:#6b6f79;--ec-frm-edBg:#121316;--ec-frm-edTabBarBg:#1a1b1f;--ec-frm-inlBtnFg:#a4a8b0;--ec-frm-inlBtnBg:#a4a8b0;--ec-gtrFg:#6b6f79;--ec-gtrBrdCol:#2c2e33;--ec-sbThumbCol:#3a3c42;--ec-sbThumbHoverCol:#55585f}.post .expressive-code pre{margin:0}.post :is(h2,h3,h4) .heading-anchor{color:var(--text-3);opacity:0;margin-left:.45rem;font-weight:500;text-decoration:none;transition:opacity .15s}.post :is(h2,h3,h4):hover .heading-anchor,.post .heading-anchor:focus-visible{opacity:1}.post .heading-anchor:hover{color:var(--accent-text)}@media (hover:none){.post .heading-anchor{opacity:.6}}.draft:where(.astro-zg7dkzxc){background:var(--planned-bg,var(--surface-2));border-bottom:1px solid var(--border-strong);font-size:var(--text-sm);color:var(--text-2);padding-block:10px}.draft:where(.astro-zg7dkzxc) .container:where(.astro-zg7dkzxc){flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.draft:where(.astro-zg7dkzxc) strong:where(.astro-zg7dkzxc){color:var(--text)}.post-head:where(.astro-zg7dkzxc){padding:clamp(2rem,1.5rem + 3vw,4rem) 0 clamp(1.5rem,1rem + 2vw,2.5rem)}.post-head:where(.astro-zg7dkzxc) .container:where(.astro-zg7dkzxc){max-width:calc(70ch + 2 * var(--gutter))}.crumb:where(.astro-zg7dkzxc){margin-bottom:var(--space-6)}.crumb:where(.astro-zg7dkzxc) a:where(.astro-zg7dkzxc){font-size:var(--text-sm);color:var(--text-2);align-items:center;gap:6px;font-weight:550;display:inline-flex}.crumb:where(.astro-zg7dkzxc) a:where(.astro-zg7dkzxc):hover{color:var(--text)}.crumb:where(.astro-zg7dkzxc) .flip{transform:rotate(180deg)}.tags:where(.astro-zg7dkzxc){margin-bottom:var(--space-4);flex-wrap:wrap;gap:8px;display:flex}.tags:where(.astro-zg7dkzxc) a:where(.astro-zg7dkzxc){border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);font-size:var(--text-xs);color:var(--text-2);align-items:center;gap:8px;padding:4px 12px 4px 5px;font-weight:600;display:inline-flex}.tags:where(.astro-zg7dkzxc) a:where(.astro-zg7dkzxc):hover{border-color:var(--border-strong);color:var(--text)}.post-head:where(.astro-zg7dkzxc) h1:where(.astro-zg7dkzxc){text-wrap:balance}.post-head:where(.astro-zg7dkzxc) .lede:where(.astro-zg7dkzxc){margin-top:var(--space-4)}.byline:where(.astro-zg7dkzxc){margin-top:var(--space-5);font-size:var(--text-sm);color:var(--text-3);flex-wrap:wrap;gap:4px 10px;display:flex}.post-wrap:where(.astro-zg7dkzxc) .container:where(.astro-zg7dkzxc):last-child{max-width:calc(70ch + 2 * var(--gutter))}.related:where(.astro-zg7dkzxc){padding:0 0 var(--space-12)}.rel-in:where(.astro-zg7dkzxc){max-width:calc(70ch + 2 * var(--gutter));padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg-subtle);margin-inline:auto}.rel-h:where(.astro-zg7dkzxc){font-size:var(--text-lg,1.125rem);letter-spacing:-.01em;margin-bottom:var(--space-4)}.rel-list:where(.astro-zg7dkzxc){gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.rel-list:where(.astro-zg7dkzxc) a:where(.astro-zg7dkzxc){border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-3);align-items:center;gap:12px;padding:12px 14px;display:flex}.rel-list:where(.astro-zg7dkzxc) a:where(.astro-zg7dkzxc):hover{border-color:var(--accent)}.rel-t:where(.astro-zg7dkzxc){flex-direction:column;flex:1;min-width:0;display:flex}.rel-t:where(.astro-zg7dkzxc) strong:where(.astro-zg7dkzxc){color:var(--text);font-size:var(--text-sm)}.rel-t:where(.astro-zg7dkzxc) span:where(.astro-zg7dkzxc){font-size:var(--text-xs);color:var(--text-3)}.rel-ico:where(.astro-zg7dkzxc){background:var(--surface-2);width:32px;height:32px;color:var(--text-2);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}
