.share:where(.astro-wkojbtzc){gap:.25rem;display:grid}.share-row:where(.astro-wkojbtzc){flex-wrap:wrap;gap:0 1rem;margin:0;display:flex}.hint:where(.astro-wkojbtzc){color:var(--muted)}button:where(.astro-wkojbtzc):active{transform:scale(.97)}:root,html[data-theme=light]{--dg-orange:224 86 0;--dg-green:36 138 61;--dg-blue:0 113 227;--dg-purple:137 68 171;--dg-red:215 0 21;--dg-wash:4%;--dg-tint:8%;--dg-rim:30%}html[data-theme=dark]{--dg-orange:255 159 10;--dg-green:48 209 88;--dg-blue:64 156 255;--dg-purple:191 90 242;--dg-red:255 105 97;--dg-wash:7%;--dg-tint:14%;--dg-rim:36%}.diagram{margin-block:3rem;margin-inline:calc(-1*var(--figure-bleed))}.diagram-scroll{scrollbar-width:none;overflow-x:auto}.diagram-scroll::-webkit-scrollbar{display:none}.prose .diagram figcaption{max-width:min(calc(var(--dg-w,640)*1px),var(--column));margin:1.25rem auto 0}.diagram[data-live] .dg-steps{display:none}@media (width<=43rem){.diagram-stage{margin-inline:calc(-1*var(--gutter));border-block:1px solid var(--line);background:var(--raised);padding-block:1.25rem}.diagram-scroll{padding-inline:var(--gutter)}}.dg{--dg-fill:var(--paper);--dg-edge:color-mix(in srgb,var(--ink)30%,transparent);--dg-text:var(--ink);--dg-soft:var(--muted);--dg-stroke:var(--faint);--dg-surface:var(--paper);min-width:calc(var(--dg-w,0)*.85px);max-width:calc(var(--dg-w,640)*1px);font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:0;text-rendering:geometricPrecision;width:100%;height:auto;margin-inline:auto;display:block;overflow:visible}@media (width<=43rem){.dg{min-width:calc(var(--dg-w,0)*1px)}}.dg-t-orange{--dg-hue:rgb(var(--dg-orange))}.dg-t-green{--dg-hue:rgb(var(--dg-green))}.dg-t-blue{--dg-hue:rgb(var(--dg-blue))}.dg-t-purple{--dg-hue:rgb(var(--dg-purple))}.dg-t-red{--dg-hue:rgb(var(--dg-red))}.dg :is(.dg-t-orange,.dg-t-green,.dg-t-blue,.dg-t-purple,.dg-t-red){--dg-fill:color-mix(in srgb,var(--dg-hue)var(--dg-tint),var(--paper));--dg-edge:color-mix(in srgb,var(--dg-hue)var(--dg-rim),var(--paper));--dg-soft:color-mix(in srgb,var(--dg-hue)72%,var(--ink));--dg-stroke:var(--dg-hue)}.dg .dg-t-strong{--dg-hue:var(--ink);--dg-soft:var(--ink);--dg-stroke:var(--ink)}.dg .dg-node.dg-t-strong{--dg-fill:var(--ink);--dg-edge:var(--ink);--dg-text:var(--paper);--dg-soft:color-mix(in srgb,var(--paper)68%,var(--ink))}.dg-on-orange{--dg-surface:color-mix(in srgb,rgb(var(--dg-orange))var(--dg-wash),var(--paper))}.dg-on-green{--dg-surface:color-mix(in srgb,rgb(var(--dg-green))var(--dg-wash),var(--paper))}.dg-on-blue{--dg-surface:color-mix(in srgb,rgb(var(--dg-blue))var(--dg-wash),var(--paper))}.dg-on-purple{--dg-surface:color-mix(in srgb,rgb(var(--dg-purple))var(--dg-wash),var(--paper))}.dg-on-red{--dg-surface:color-mix(in srgb,rgb(var(--dg-red))var(--dg-wash),var(--paper))}.dg-shape,.dg-avatar{fill:var(--dg-fill);stroke:var(--dg-edge);stroke-width:1px}.dg-actor[class*=dg-t-]>.dg-avatar{fill:color-mix(in srgb,var(--dg-hue)var(--dg-tint),var(--paper));stroke:color-mix(in srgb,var(--dg-hue)var(--dg-rim),var(--line))}.dg-actor .dg-glyph{--dg-knock:var(--dg-fill)}.dg-group>.dg-shape{fill:#0000}.dg-group:is(.dg-t-orange,.dg-t-green,.dg-t-blue,.dg-t-purple,.dg-t-red)>.dg-shape{fill:color-mix(in srgb,var(--dg-hue)var(--dg-wash),var(--paper))}.dg-node.dg-dashed:not([class*=dg-t-])>.dg-shape{fill:none;stroke:var(--faint)}.dg-dashed>.dg-shape,.dg-dashed>.dg-line,.dg-rule.dg-dashed,.dg-free.dg-dashed{stroke-dasharray:2.5 3}.dg text{fill:var(--dg-text);stroke:none;pointer-events:none;-webkit-user-select:none;user-select:none}.dg-label{font-weight:500}.dg .dg-sub,.dg .dg-grouplabel,.dg .dg-note,.dg .dg-linktext{fill:var(--dg-soft)}.dg .dg-grouplabel,.dg-actorlabel{font-weight:500}.dg .dg-notestrong{fill:var(--dg-text);font-weight:500}.dg .dg-linktext{fill:var(--dg-text);paint-order:stroke;stroke:var(--dg-surface);stroke-width:8px;stroke-linejoin:round}.dg-halo{fill:var(--dg-surface)}.dg-line,.dg-free,.dg-head{fill:none;stroke:var(--dg-stroke);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.dg-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.dg-rule{fill:none;stroke:var(--faint);stroke-width:1px;stroke-linecap:round}.dg-rule[class*=dg-t-]{stroke:var(--dg-stroke)}.dg-free.dg-filled{fill:var(--dg-fill);stroke:var(--dg-edge);stroke-width:1px}.dg-glyph{--dg-knock:var(--paper);color:var(--dg-text)}.dg-node .dg-glyph{--dg-knock:var(--dg-fill)}.dg-drawn{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}:is(.dg-actor,.dg-mark)[class*=dg-t-] .dg-glyph{color:var(--dg-hue)}.dg-node[class*=dg-t-]:not(.dg-t-strong) .dg-glyph{color:var(--dg-soft)}.dg-token circle{fill:var(--dg-hue,var(--ink))}.dg .dg-token text{fill:var(--paper);font-size:8px;font-weight:700}.dg [data-n],.dg [data-l]{transition:opacity .15s}.dg .dg-line,.dg .dg-head,.dg .dg-shape,.dg .dg-avatar,.dg .dg-linktext{transition:stroke .15s,fill .15s,stroke-width .15s}.dg [data-off]{opacity:.25}.dg [data-on] .dg-line,.dg [data-on] .dg-head{stroke:var(--ink);stroke-width:2.25px}.dg :is([data-n][data-on],[data-ring])>:is(.dg-shape,.dg-avatar){stroke:var(--ink);stroke-width:2px}.dg .dg-actor[data-on] .dg-glyph,.dg .dg-mark[data-on] .dg-glyph{color:var(--ink)}.dg .dg-linklabel[data-on] .dg-linktext{font-weight:500}.dg-marker{pointer-events:none}.dg-marker circle{fill:var(--ink);stroke:var(--paper);stroke-width:2px}.dg .dg-linklabel[data-on] .dg-linktext{fill:var(--ink)}.dg .dg-step{cursor:pointer;transition:opacity .15s}.dg .dg-step circle{fill:var(--dg-surface);stroke:var(--dg-edge);stroke-width:1px;transition:fill .15s,stroke .15s}.dg .dg-step text{fill:var(--dg-text);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:600;transition:fill .15s}.dg .dg-step:hover circle{stroke:var(--ink)}.dg .dg-step[data-on] circle{fill:var(--ink);stroke:var(--ink)}.dg .dg-step[data-on] text{fill:var(--paper)}.dg .dg-step[data-off]{opacity:.25}.dg-tools{max-width:calc(var(--dg-w,640)*1px);justify-content:center;margin:1rem auto 0;display:flex}.dg-play{vertical-align:middle;background:rgb(var(--color-text-base)/.07);color:var(--ink);font:inherit;white-space:nowrap;transition:background-color .15s var(--ease),transform .15s var(--ease);border-radius:999px;align-items:center;gap:.45em;height:1.75rem;margin-left:.375rem;padding:0 .75rem 0 .625rem;font-size:.8125rem;font-weight:500;line-height:1;display:inline-flex}.dg-play svg{fill:currentColor;width:.5625rem;height:.5625rem}.dg-play:hover{background:rgb(var(--color-text-base)/.12)}.dg-play:active{transform:scale(.97)}.prose .dg-steps{max-width:calc(var(--dg-w,640)*1px);color:var(--muted);text-wrap:pretty;margin:.75rem auto 0;padding:0;font-size:.875rem;line-height:1.5;list-style:none}.prose .dg-steps li{cursor:default;transition:color .15s var(--ease);border-radius:6px;grid-template-columns:1.625rem 1fr;align-items:start;margin:0;padding:.3125rem 0;display:grid}.prose .dg-steps li:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.dg-phase{color:var(--muted);letter-spacing:.01em;grid-column:1/-1;margin:.875rem 0 .3125rem;font-size:.75rem;font-weight:600}.dg-steps li:first-child .dg-phase{margin-top:.125rem}.dg-n{box-shadow:inset 0 0 0 1px var(--faint);color:var(--ink);font-variant-numeric:tabular-nums;transition:background-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease);border-radius:50%;place-items:center;width:1rem;height:1rem;margin-top:.1875rem;font-size:.625rem;font-weight:600;line-height:1;display:inline-grid}.dg-steps li:is([data-on],[data-near],[aria-current]){color:var(--ink)}.dg-steps li:is([data-on],[aria-current]) .dg-n{background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);color:var(--paper)}.dg-steps .dg-ref{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:.16em;cursor:default;font-weight:500;text-decoration-thickness:1px}.dg-steps .dg-ref:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.dg-show{color:var(--ink);background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,4vw,3rem);overflow:hidden}.dg-show[open]{grid-template-rows:minmax(0,1fr) auto auto auto;grid-template-columns:minmax(0,1fr);place-items:center;gap:1.25rem;display:grid}.dg-show::backdrop{background:rgb(var(--color-fill)/.84);backdrop-filter:saturate(180%)blur(28px);transition:opacity .28s var(--ease)}.dg-show[open]::backdrop{animation:dg-appear .25s var(--ease)}.dg-show :is(.dg-show-say,.dg-show-bar,.dg-show-toggle,.dg-show-close){transition:opacity .16s var(--ease),transform .16s var(--ease)}.dg-show[data-closing]::backdrop{opacity:0}.dg-show[data-closing] :is(.dg-show-say,.dg-show-bar,.dg-show-toggle,.dg-show-close){opacity:0;transform:translateY(6px)}.dg-show-stage{transform-origin:0 0;cursor:pointer;min-width:0;max-width:100%}.dg[data-show] :is([data-dim],[data-off]),.dg[data-show] .dg-step:not([data-on]){opacity:.3}.dg-show .diagram-scroll{background:0 0;border:0;margin:0;padding:0}.dg-show .dg{width:100%;min-width:0;max-width:none}.dg-show-say{text-align:center;text-wrap:balance;align-self:end;min-width:0;max-width:40rem;min-height:2.6em;margin:0;font-size:1.0625rem;line-height:1.5}.dg-show-say .dg-ref{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:.16em;font-weight:500;text-decoration-thickness:1px}.dg-show-say .dg-n{vertical-align:.125em;background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);color:var(--paper);width:1.125rem;height:1.125rem;margin:0 .5em 0 0;font-size:.6875rem}.dg-show-bar{align-self:end;gap:.25rem;width:min(100%,40rem);display:flex}.dg-show-seg{cursor:pointer;border-radius:4px;flex:1;height:1.5rem;padding:0;position:relative}.dg-show-seg:before,.dg-show-seg i{border-radius:2px;height:3px;margin-top:-1.5px;position:absolute;top:50%;left:0;right:0}.dg-show-seg:before{content:"";background:rgb(var(--color-text-base)/.12);transition:background-color .15s var(--ease)}.dg-show-seg i{background:var(--ink);transform:scaleX(var(--p,0));transform-origin:0}.dg-show-seg:hover:before{background:rgb(var(--color-text-base)/.24)}.dg-show-seg:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.dg-show-toggle{background:rgb(var(--color-text-base)/.07);color:var(--ink);font:inherit;transition:background-color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease);border-radius:999px;justify-content:center;align-self:end;align-items:center;gap:.55em;min-width:7.5rem;height:2.5rem;margin-bottom:clamp(.5rem,5vh,3rem);padding:0 1.25rem;font-size:.875rem;font-weight:500;display:inline-flex}.dg-show-toggle:hover{background:rgb(var(--color-text-base)/.12)}.dg-show-toggle:active{transform:scale(.97)}.dg-show-toggle svg{fill:currentColor;width:.625rem;height:.625rem}.dg-show-toggle svg[data-line]{fill:none;stroke:currentColor;stroke-width:2.25px;stroke-linecap:round;stroke-linejoin:round;width:.875rem;height:.875rem}.dg-show-close{background:rgb(var(--color-text-base)/.07);color:var(--ink);transition:background-color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:absolute;top:1rem;right:1rem}.dg-show-close:hover{background:rgb(var(--color-text-base)/.12)}.dg-show-close:active{transform:scale(.94)}.dg-show-close svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;width:1rem;height:1rem}@media (width<=43rem){.dg-show{padding:3.5rem 0 1.5rem}.dg-show-stage{width:100%}.dg-show .diagram-scroll{padding-inline:var(--gutter)}.dg-show .dg{min-width:calc(var(--dg-w,0)*1px);width:auto}.dg-show-say{padding-inline:var(--gutter)}.dg-show-bar{width:calc(100% - 2*var(--gutter))}}@media (hover:none){.dg-play{height:2.125rem;padding:0 .875rem 0 .75rem}.dg-show-seg{height:2rem}.dg-show-toggle{height:2.75rem}.dg-show-close{top:max(.75rem,env(safe-area-inset-top));right:max(.75rem,env(safe-area-inset-right))}}html[data-show]{overflow:hidden}@keyframes dg-appear{0%{opacity:0}}@media print{.dg-play,.dg-show{display:none}.diagram[data-live] .dg-steps{display:block}}.prose div:has(>.tweet){display:block}.prose .tweet{border:1px solid var(--line);background:var(--raised);text-align:left;text-wrap:pretty;hyphens:manual;overflow-wrap:anywhere;border-radius:14px;gap:.7em;width:100%;max-width:33em;margin:2.2em auto;padding:1.1em 1.25em 1em;font-size:.92em;line-height:1.45;display:grid}.tweet-head{align-items:center;gap:.7em;min-width:0;display:flex}.tweet-avatar{background:var(--hover);border-radius:50%;flex:none;width:2.6em;height:2.6em;overflow:hidden}.prose .tweet-avatar img{-o-object-fit:cover;object-fit:cover;background:0 0;border:0;border-radius:0;width:100%;height:100%;margin:0}.tweet-initial{color:var(--muted);place-items:center;font-weight:700;display:grid}.tweet-who{flex-wrap:wrap;flex:1;align-items:center;gap:0 .3em;min-width:0;line-height:1.25;display:flex}.prose .tweet a{text-decoration:none}.prose .tweet-name,.tweet-name{color:var(--ink);font-weight:700}.prose a.tweet-name:hover{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:.18em}.tweet-seal{flex:none;width:1em;height:1em}.tweet-seal path:first-child{fill:rgb(var(--color-focus))}.tweet-seal path:last-child{fill:none;stroke:var(--raised);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.tweet-handle{color:var(--muted);flex-basis:100%;font-size:.86em}.prose .tweet-mark{color:var(--quiet);transition:color .15s var(--ease);border-radius:6px;flex:none;align-self:flex-start;padding:.25em}.prose .tweet-mark:hover{color:var(--ink)}.tweet-mark svg{fill:currentColor;width:1.05em;height:1.05em;display:block}.tweet-context{color:var(--muted);font-size:.86em}.prose .tweet-text a{color:color-mix(in srgb,rgb(var(--color-focus))82%,var(--ink));text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:.18em;text-decoration-thickness:1px}.prose .tweet-text a:hover{text-decoration-color:currentColor}.tweet-media{border:1px solid var(--line);border-radius:12px;gap:2px;display:grid;overflow:hidden}.tweet-media[data-count="2"],.tweet-media[data-count="4"]{grid-template-columns:1fr 1fr}.tweet-media[data-count="3"]{grid-template-columns:2fr 1fr}.tweet-media[data-count="3"] img:first-child{grid-row:span 2}.prose .tweet-media img{-o-object-fit:cover;object-fit:cover;border:0;border-radius:0;width:100%;height:100%;max-height:24rem;margin:0}.prose .tweet-quote{border:1px solid var(--line);color:var(--ink);transition:border-color .15s var(--ease);border-radius:12px;gap:.15em;padding:.8em .95em;font-size:.93em;display:grid}.prose .tweet-quote:hover{border-color:var(--faint)}.tweet-quote .tweet-handle{flex-basis:auto}.tweet-quoted{color:var(--ink);display:block}.prose .tweet-date{color:var(--muted);transition:color .15s var(--ease);width:fit-content;font-size:.86em}.prose .tweet-date:hover{color:var(--ink)}.footnote-pop{z-index:45;background:rgb(var(--color-fill));backdrop-filter:saturate(180%)blur(28px);box-shadow:0 0 0 1px var(--glass-edge),0 18px 50px -12px #00000047;color:var(--ink);overflow-wrap:break-word;border-radius:16px;max-width:34rem;margin-inline:auto;padding:.875rem 2.75rem .875rem 1rem;font-size:.875rem;line-height:1.5;position:fixed;bottom:1rem;left:1rem;right:1rem}.footnote-pop[hidden]{display:none}.footnote-pop p+p{margin-top:.5em}.footnote-pop a,.sidenote a{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:.18em;text-decoration-thickness:1.5px}.footnote-pop button{color:var(--muted);border-radius:6px;place-items:center;width:1.75rem;height:1.75rem;font-size:1rem;line-height:1;display:grid;position:absolute;top:.5rem;right:.5rem}.footnote-pop button:hover{color:var(--ink)}.lightbox img{background:rgb(var(--plate));box-shadow:0 0 0 1px var(--glass-edge),0 40px 100px -24px #00000059;transform-origin:0 0;border-radius:14px;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 8rem)}.sidenote{color:var(--muted);overflow-wrap:break-word;transition:color .15s var(--ease);font-size:.9375rem;line-height:1.45;position:absolute;left:0;right:0}.sidenote[data-active]{color:var(--ink)}.sidenote p+p{margin-top:.5em}.sidenote-no{color:var(--ink);font-variant-numeric:tabular-nums;margin-right:.5em;font-weight:500}@media (width>=1200px){[data-post-layout][data-sidenotes] .prose section[data-footnotes]{display:none}}.post-head:where(.astro-vj4tpspi){margin-bottom:clamp(2rem,6vw,3rem)}.post-head:where(.astro-vj4tpspi) h1:where(.astro-vj4tpspi){letter-spacing:-.023em;width:fit-content;font-size:clamp(2rem,7.2vw,2.5625rem);line-height:1.07}.lede:where(.astro-vj4tpspi){color:var(--muted);letter-spacing:-.012em;text-wrap:pretty;margin-top:1rem;font-size:clamp(1.125rem,3.6vw,1.25rem);line-height:1.4}.meta:where(.astro-vj4tpspi){color:var(--muted);font-size:.875rem;line-height:1.6}.byline:where(.astro-vj4tpspi){margin-top:1.25rem}.byline:where(.astro-vj4tpspi)>span:where(.astro-vj4tpspi):not(:first-child){white-space:nowrap}.sep:where(.astro-vj4tpspi){color:var(--quiet);margin-inline:.3em}.meta:where(.astro-vj4tpspi) a{text-decoration:underline;-webkit-text-decoration-color:var(--faint);text-decoration-color:var(--faint);text-underline-offset:.18em;transition:color .15s var(--ease),text-decoration-color .15s var(--ease);text-decoration-thickness:1.5px}.meta:where(.astro-vj4tpspi) a:hover{color:var(--ink);-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.toc:where(.astro-vj4tpspi),.sidenotes:where(.astro-vj4tpspi){display:none}.toc:where(.astro-vj4tpspi) ol:where(.astro-vj4tpspi){border-left:1px solid var(--line);margin:0;padding:0 0 0 1rem;list-style:none;position:relative}.toc-marker:where(.astro-vj4tpspi){background:var(--ink);opacity:0;transition:top .42s var(--spring),height .42s var(--spring),opacity .2s var(--ease);width:1px;height:0;position:absolute;top:0;left:-1px}.toc:where(.astro-vj4tpspi)[data-active] .toc-marker:where(.astro-vj4tpspi){opacity:1}.toc:where(.astro-vj4tpspi) li:where(.astro-vj4tpspi)[data-depth="3"]{opacity:0;transition:grid-template-rows .32s var(--spring),opacity .2s var(--ease);grid-template-rows:0fr;display:grid}.toc:where(.astro-vj4tpspi) li:where(.astro-vj4tpspi)[data-depth="3"][data-open]{opacity:1;grid-template-rows:1fr}.toc:where(.astro-vj4tpspi) li:where(.astro-vj4tpspi)[data-depth="3"]>a:where(.astro-vj4tpspi){min-height:0;overflow:hidden}.toc:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi){color:var(--muted);text-wrap:pretty;transition:color .15s var(--ease);padding-block:.25rem;font-size:.875rem;line-height:1.45;display:block}.toc:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi)[data-depth="3"]{padding-left:.875rem;font-size:.8125rem}.toc:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi):hover,.toc:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi)[aria-current=true]{color:var(--ink)}@media (prefers-reduced-motion:reduce){.toc-marker:where(.astro-vj4tpspi),.toc:where(.astro-vj4tpspi) li:where(.astro-vj4tpspi)[data-depth="3"]{transition:none}}.page-outline:where(.astro-vj4tpspi){border-block:1px solid var(--line);margin-bottom:2.5rem;font-size:.875rem;line-height:1.45}.page-outline:where(.astro-vj4tpspi) summary:where(.astro-vj4tpspi){color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;padding-block:.75rem;list-style:none;display:flex}.page-outline:where(.astro-vj4tpspi) summary:where(.astro-vj4tpspi)::-webkit-details-marker{display:none}.page-outline:where(.astro-vj4tpspi) summary:where(.astro-vj4tpspi):after{content:"";border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transition:transform .2s var(--ease);width:.4375rem;height:.4375rem;margin-right:.25rem;transform:translateY(-25%)rotate(45deg)}.page-outline:where(.astro-vj4tpspi)[open]>summary:where(.astro-vj4tpspi):after{transform:translateY(25%)rotate(-135deg)}.page-outline:where(.astro-vj4tpspi) ol:where(.astro-vj4tpspi){margin:0;padding:0 0 .75rem;list-style:none}.page-outline:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi){color:var(--muted);text-wrap:pretty;transition:color .15s var(--ease);padding-block:.3rem;display:block}.page-outline:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi)[data-depth="3"]{padding-left:.875rem}.page-outline:where(.astro-vj4tpspi) a:where(.astro-vj4tpspi):hover{color:var(--ink)}@media (width>=1200px){.page-outline:where(.astro-vj4tpspi){display:none}}.post-end:where(.astro-vj4tpspi){border-top:1px solid var(--line);color:var(--muted);gap:.25rem;margin-top:4rem;padding-top:1.5rem;font-size:.8em;line-height:1.6;display:grid}.filed:where(.astro-vj4tpspi){flex-wrap:wrap;gap:0 .4em;display:flex}.tag:where(.astro-vj4tpspi){display:inline-flex}.tag:where(.astro-vj4tpspi):not(:last-child):after{content:","}.more:where(.astro-vj4tpspi){margin-top:3.5rem;margin-inline:calc(-1*var(--bleed));padding:1.25rem calc(var(--bleed) + 1.25rem)1.5rem;background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px}.more:where(.astro-vj4tpspi) .group-label{margin-bottom:.75rem}.select-pop:where(.astro-vj4tpspi){z-index:45;background:var(--glass);backdrop-filter:var(--glass-blur);box-shadow:0 0 0 1px var(--glass-edge),0 14px 40px -14px #0000004d;animation:appear .15s var(--ease);border-radius:999px;flex-wrap:wrap;justify-content:center;gap:.125rem;max-width:calc(100vw - 1rem);padding:.25rem;font-size:.8125rem;line-height:1.25;display:flex;position:absolute}.select-pop:where(.astro-vj4tpspi)[hidden]{display:none}.select-pop:where(.astro-vj4tpspi)>:where(.astro-vj4tpspi){color:var(--ink);white-space:nowrap;transition:background-color .15s var(--ease),transform .15s var(--ease);border-radius:999px;padding:.4rem .75rem}.select-pop:where(.astro-vj4tpspi)>:where(.astro-vj4tpspi):hover{background:rgb(var(--color-text-base)/.07)}.select-pop:where(.astro-vj4tpspi)>:where(.astro-vj4tpspi):active{transform:scale(.97)}@media (width<=479px){.select-pop:where(.astro-vj4tpspi){border-radius:18px}}.lightbox:where(.astro-vj4tpspi){cursor:zoom-out;background:0 0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,4vw,3.5rem);overflow:hidden}.lightbox:where(.astro-vj4tpspi)[open]{place-items:center;display:grid}.lightbox:where(.astro-vj4tpspi)::backdrop{background:rgb(var(--color-fill)/.8);backdrop-filter:saturate(180%)blur(28px);transition:opacity .2s var(--ease)}.lightbox:where(.astro-vj4tpspi)[open]::backdrop{animation:appear .25s var(--ease)}.lightbox:where(.astro-vj4tpspi)[data-closing]::backdrop,.lightbox:where(.astro-vj4tpspi)[data-closing] .lightbox-close:where(.astro-vj4tpspi),.lightbox:where(.astro-vj4tpspi)[data-closing] figcaption:where(.astro-vj4tpspi){opacity:0}.lightbox:where(.astro-vj4tpspi) figure:where(.astro-vj4tpspi){justify-items:center;gap:.75rem;min-width:0;max-width:100%;margin:0;display:grid}.lightbox:where(.astro-vj4tpspi) figcaption:where(.astro-vj4tpspi){color:var(--muted);text-align:center;transition:opacity .15s var(--ease);max-width:40rem;font-size:.8125rem;line-height:1.5}.lightbox:where(.astro-vj4tpspi) figcaption:where(.astro-vj4tpspi):empty{display:none}.lightbox-close:where(.astro-vj4tpspi){background:rgb(var(--color-text-base)/.07);color:var(--ink);transition:background-color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease);border-radius:50%;place-items:center;width:2.5rem;height:2.5rem;display:grid;position:absolute;top:1rem;right:1rem}.lightbox-close:where(.astro-vj4tpspi):hover{background:rgb(var(--color-text-base)/.12)}.lightbox-close:where(.astro-vj4tpspi):active{transform:scale(.94)}.lightbox-close:where(.astro-vj4tpspi) svg:where(.astro-vj4tpspi){fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;width:1rem;height:1rem}@keyframes appear{0%{opacity:0}}@media (width>=1200px){.post:where(.astro-vj4tpspi){grid-template-columns:minmax(0,1fr)var(--column)minmax(0,1fr);align-items:start;display:grid}.column:where(.astro-vj4tpspi){grid-column:2;width:100%;min-width:0;margin:0}.toc:where(.astro-vj4tpspi){top:calc(var(--header) + 2rem);width:min(15rem,calc((100cqw - var(--column))/2 - 4rem));max-height:calc(100vh - var(--header) - 4rem);margin-right:clamp(2rem,calc((100cqw - var(--column))/2 - 15rem - var(--gutter)),6rem);scrollbar-width:none;grid-column:1;justify-self:end;display:block;position:sticky;overflow-y:auto}.sidenotes:where(.astro-vj4tpspi){width:min(14rem,calc((100cqw - var(--column))/2 - 3rem));grid-column:3;align-self:stretch;margin-left:2rem;display:block;position:relative}}