.content .story-anim{background:var(--color-paper-2);border-radius:var(--radius);border:0;margin:2rem 0;padding:1.25rem 1.25rem .9rem}.content .story-anim svg{width:100%;height:auto;display:block;overflow:visible}.content .story-anim svg.sa-narrow{display:none}@media (width<=600px){.content .story-anim{padding:1rem .75rem .75rem}.content .story-anim svg.sa-wide{display:none}.content .story-anim svg.sa-narrow{display:block}}.content .story-anim figcaption{text-align:left;font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.9rem;font-size:.78rem;line-height:1.5;display:flex}.content .story-anim-replay{font:inherit;color:var(--link-color);border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:.15rem .6rem;display:none}.content .story-anim.is-armed .story-anim-replay{display:inline-block}.content .story-anim-replay:hover,.content .story-anim-replay:focus-visible{border-color:var(--link-color)}.content .story-anim [fill=\#202a35 i]{fill:var(--color-ink)}.content .story-anim [stroke=\#202a35 i]{stroke:var(--color-ink)}.content .story-anim [fill=\#873d57 i]{fill:var(--color-accent)}.content .story-anim [stroke=\#873d57 i]{stroke:var(--color-accent)}.content .story-anim [fill=\#eadde0 i]{fill:var(--color-mark)}.content .story-anim [stroke=\#eadde0 i]{stroke:var(--color-mark)}.content .story-anim [fill=\#cdb8c0 i]{fill:var(--color-clip-edge)}.content .story-anim [stroke=\#cdb8c0 i]{stroke:var(--color-clip-edge)}.content .story-anim [fill=\#d8d7ce i]{fill:var(--color-rule-strong)}.content .story-anim [stroke=\#d8d7ce i]{stroke:var(--color-rule-strong)}.content .story-anim [fill=\#f5f2ea i]{fill:var(--color-paper)}.content .story-anim [stroke=\#f5f2ea i]{stroke:var(--color-paper)}.content .story-anim [fill=\#fffcf6 i]{fill:var(--color-paper-2)}.content .story-anim [stroke=\#fffcf6 i]{stroke:var(--color-paper-2)}.content .story-anim [fill=\#535e68 i]{fill:var(--color-muted)}.content .story-anim [stroke=\#535e68 i]{stroke:var(--color-muted)}.content .story-anim [fill=\#e6e4d9 i]{fill:var(--color-paper-3)}.content .story-anim [stroke=\#e6e4d9 i]{stroke:var(--color-paper-3)}.content .story-anim .sa-mono{font-family:var(--font-mono);letter-spacing:.06em;font-size:12px}.content .story-anim .sa-sans{font-family:var(--font-sans);font-size:16px}.content .story-anim .sa-ink{fill:var(--text-color)}.content .story-anim .sa-muted{fill:var(--text-muted)}.content .story-anim .sa-accent{fill:var(--accent-color)}.content .story-anim [data-a=grow]{transform-box:fill-box;transform-origin:0}.content .story-anim [data-a=grow-up]{transform-box:fill-box;transform-origin:bottom}.content .story-anim [data-a=out]{opacity:0}.content .story-anim [data-a=dim]{opacity:.35}.content .story-anim.is-armed :is([data-a=fade],[data-a=rise],[data-a=grow],[data-a=grow-up]){opacity:0}.content .story-anim.is-armed [data-a=word]{fill-opacity:0}.content .story-anim.is-armed [data-a=draw]{stroke-dashoffset:1px}.content .story-anim.is-armed :is([data-a=out],[data-a=dim]){opacity:1}.content .story-anim.is-playing [data-a=fade]{animation:sa-fade .5s ease-out var(--d,0s) both}.content .story-anim.is-playing [data-a=rise]{animation:sa-rise .55s cubic-bezier(.2, .7, .3, 1) var(--d,0s) both}.content .story-anim.is-playing [data-a=grow]{animation:sa-grow .5s cubic-bezier(.2, .7, .3, 1) var(--d,0s) both}.content .story-anim.is-playing [data-a=grow-up]{animation:sa-grow-up .45s cubic-bezier(.2, .7, .3, 1) var(--d,0s) both}.content .story-anim.is-playing [data-a=word]{animation:sa-word .3s ease-out var(--d,0s) both}.content .story-anim.is-playing [data-a=draw]{animation:sa-draw .45s ease-in-out var(--d,0s) both}.content .story-anim.is-playing [data-a=out]{animation:sa-out .4s ease-in var(--d,0s) both}.content .story-anim.is-playing [data-a=dim]{animation:sa-dim .6s ease-in-out var(--d,0s) both}.content .story-anim.is-playing [data-a=pulse]{animation:sa-pulse .5s ease-in-out var(--d,0s) both}@keyframes sa-fade{0%{opacity:0}to{opacity:1}}@keyframes sa-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes sa-grow{0%{opacity:1;transform:scaleX(0)}to{opacity:1;transform:none}}@keyframes sa-grow-up{0%{opacity:1;transform:scaleY(0)}to{opacity:1;transform:none}}@keyframes sa-word{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes sa-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes sa-out{0%{opacity:1}to{opacity:0}}@keyframes sa-dim{0%{opacity:1}to{opacity:.35}}@keyframes sa-pulse{0%,to{fill:var(--border-color)}45%{fill:var(--accent-color)}}.post-head[data-astro-cid-zg7dkzxc]{padding-top:var(--space-2xl)}h1[data-astro-cid-zg7dkzxc]{font-family:var(--font-display);letter-spacing:-.045em;max-width:17ch;color:var(--color-ink);margin:0;font-size:clamp(2.5rem,4.6vw + 1rem,5.25rem);font-weight:800;line-height:.94}.dek[data-astro-cid-zg7dkzxc]{margin:var(--space-lg) 0 0;max-width:54ch;color:var(--color-muted);font-size:clamp(1.125rem,.45vw + 1rem,1.4375rem);line-height:1.45}.meta[data-astro-cid-zg7dkzxc]{align-items:center;gap:var(--space-xs) var(--space-lg);margin-top:var(--space-lg);font-family:var(--font-display);color:var(--color-muted);flex-wrap:wrap;font-size:.875rem;font-weight:600;display:flex}.meta[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{min-height:44px;color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.25em;align-items:center;display:inline-flex}.meta[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:after{display:none}.tc[data-astro-cid-zg7dkzxc]{padding:var(--space-3xs) var(--space-xs);background:var(--color-paper-2);font-family:var(--font-mono);color:var(--color-ink);border-radius:3px;font-size:.8125rem;font-weight:400;display:inline-block}.hero[data-astro-cid-zg7dkzxc]{margin:var(--space-2xl) auto 0;max-width:calc(42rem + 2 * var(--gutter));padding-inline:var(--gutter)}.hero[data-astro-cid-zg7dkzxc] img[data-astro-cid-zg7dkzxc]{border-radius:var(--radius);width:100%;height:auto}.hero[data-astro-cid-zg7dkzxc].wide{max-width:1600px;padding-inline:0}.hero[data-astro-cid-zg7dkzxc].wide img[data-astro-cid-zg7dkzxc]{aspect-ratio:1600/700;object-fit:cover;object-position:center bottom;border-radius:0}.hero-credit[data-astro-cid-zg7dkzxc]{margin-top:var(--space-xs);padding-inline:var(--gutter);color:var(--color-muted);font-size:.8125rem}.read[data-astro-cid-zg7dkzxc]{margin-top:var(--space-3xl);grid-template-columns:minmax(0,42rem);justify-content:center;display:grid}.read[data-astro-cid-zg7dkzxc].has-rail{column-gap:var(--space-3xl);grid-template-columns:13rem minmax(0,42rem)}.rail-chapters[data-astro-cid-zg7dkzxc]{top:var(--space-xl);padding-left:var(--space-lg);align-self:start;position:sticky}.rail-title[data-astro-cid-zg7dkzxc]{margin:0 0 var(--space-sm);font-family:var(--font-display);color:var(--color-muted);font-size:.875rem;font-weight:600}.rail-chapters[data-astro-cid-zg7dkzxc] ol[data-astro-cid-zg7dkzxc]{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.rail-chapters[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{gap:var(--space-xs);padding-block:var(--space-xs);font-family:var(--font-display);color:var(--color-muted);transition:color var(--dur-short) var(--ease-out);grid-template-columns:1.75rem minmax(0,1fr);font-size:.875rem;font-weight:600;line-height:1.3;text-decoration:none;display:grid}.rail-chapters[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:after{display:none}.rc-n[data-astro-cid-zg7dkzxc]{font-family:var(--font-mono);padding-top:2px;font-size:.8125rem;font-weight:400}.rail-chapters[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover,.rail-chapters[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc].on{color:var(--color-ink)}.rail-chapters[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc].on .rc-n[data-astro-cid-zg7dkzxc]{color:var(--color-accent)}.rail-line[data-astro-cid-zg7dkzxc]{background:var(--color-rule);width:2px;position:absolute;top:0;bottom:0;left:0}.rail-fill[data-astro-cid-zg7dkzxc]{background:var(--color-accent);clip-path:inset(0 0 calc((1 - var(--read,0)) * 100%) 0);position:absolute;inset:0}.series[data-astro-cid-zg7dkzxc]{margin-top:var(--space-4xl);padding-bottom:var(--space-2xl)}.series[data-astro-cid-zg7dkzxc] .cut[data-astro-cid-zg7dkzxc]{margin-bottom:var(--space-xl)}.series[data-astro-cid-zg7dkzxc] h2[data-astro-cid-zg7dkzxc]{font-family:var(--font-display);letter-spacing:-.035em;color:var(--color-ink);margin:0;font-size:clamp(2rem,2vw + 1rem,3rem);font-weight:800;line-height:1}.series-track[data-astro-cid-zg7dkzxc]{margin:var(--space-2xl) 0 0;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));padding:0;list-style:none;display:grid;position:relative}.series-track[data-astro-cid-zg7dkzxc]:before{content:"";background:var(--color-rule);height:2px;position:absolute;top:6px;left:6px;right:0}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{gap:var(--space-2xs);padding-top:var(--space-xl);color:var(--color-muted);text-decoration:none;display:grid;position:relative}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:after{display:none}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:before{content:"";background:var(--color-ink);width:14px;height:14px;transition:transform var(--dur-short) var(--ease-snap);position:absolute;top:0;left:0;transform:rotate(45deg)scale(.75)}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc][aria-current]:before{background:var(--color-accent);transform:rotate(45deg)scale(1.1)}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover:before{transform:rotate(45deg)scale(1.1)}.sp-n[data-astro-cid-zg7dkzxc]{font-family:var(--font-display);font-size:.8125rem;font-weight:600}.sp-t[data-astro-cid-zg7dkzxc]{font-family:var(--font-display);color:var(--color-ink);transition:color var(--dur-short) var(--ease-out);font-size:1rem;font-weight:600;line-height:1.25}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]:hover .sp-t[data-astro-cid-zg7dkzxc],.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc][aria-current] .sp-t[data-astro-cid-zg7dkzxc]{color:var(--color-accent)}.series-track[data-astro-cid-zg7dkzxc] time[data-astro-cid-zg7dkzxc]{font-family:var(--font-mono);font-size:.8125rem}.series-nav[data-astro-cid-zg7dkzxc]{justify-content:space-between;gap:var(--space-md);margin-top:var(--space-2xl);flex-wrap:wrap;display:flex}@media (width<=70rem){.read[data-astro-cid-zg7dkzxc].has-rail{grid-template-columns:minmax(0,42rem)}.rail-chapters[data-astro-cid-zg7dkzxc]{display:none}}@media (width<=60rem){.series-track[data-astro-cid-zg7dkzxc]{grid-template-columns:minmax(0,1fr);gap:0}.series-track[data-astro-cid-zg7dkzxc]:before{width:2px;height:auto;inset:6px auto 0 6px}.series-track[data-astro-cid-zg7dkzxc] a[data-astro-cid-zg7dkzxc]{padding:0 0 var(--space-lg) var(--space-xl)}}body:has(.post) main{max-width:none;padding:0}.post .content{min-width:0;font-family:var(--font-body);color:var(--color-ink);font-size:1.1875rem;line-height:1.72}.post .content>p,.post .content>ul,.post .content>ol{margin:0 0 1.2em}.post .content>:first-child{margin-top:0}.post .content h2{margin:0 0 var(--space-lg);font-family:var(--font-display);letter-spacing:-.03em;max-width:22ch;scroll-margin-top:var(--space-xl);color:var(--color-ink);font-size:clamp(1.75rem,1.4vw + 1.1rem,2.5rem);font-weight:800;line-height:1.05}.post .content h3{margin:var(--space-xl) 0 var(--space-sm);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-ink);font-size:1.5625rem;font-weight:800}.post .content a:not(.term){color:var(--color-ink);text-decoration:underline;text-decoration-color:var(--color-rule-strong);text-underline-offset:.2em;transition:text-decoration-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);text-decoration-thickness:1px}.post .content a:not(.term):after{display:none}.post .content a:not(.term):hover,.post .content a:not(.term):focus-visible{color:var(--color-accent);text-decoration-color:currentColor;text-decoration-thickness:2px}.post .content :not(pre)>code{font-family:var(--font-mono);background:var(--color-paper-2);color:var(--color-ink);border-radius:3px;padding:.08em .35em;font-size:.82em}.post .content pre{margin:var(--space-xl) 0;padding:var(--space-lg);border-radius:var(--radius);font-size:.875rem;line-height:1.6;overflow-x:auto;background:var(--color-code-bg)!important}.post .content pre code,.post .content pre span{color:var(--color-ink)!important;background:0 0!important}.post .content blockquote{margin:var(--space-xl) 0;padding-left:var(--space-lg);border-left:3px solid var(--color-accent);color:var(--color-muted)}.post .content img{border-radius:var(--radius);max-width:100%;height:auto}.post .content li{margin-bottom:var(--space-xs)}.post .content table{border-collapse:collapse;width:100%;margin:var(--space-xl) 0;font-size:1rem}.post .content th,.post .content td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-rule);text-align:left}.post .content .term{background:var(--color-mark);border:1px solid var(--color-clip-edge);color:var(--color-ink);border-radius:999px;padding:.05em .4em}.post .content .term:is(:hover,:focus-within){border-color:var(--color-accent)}.post .content .term-tip{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule-strong);font-family:var(--font-display)}@media (width<=40rem){.post .content{font-size:1.125rem}}
