.share:where(.astro-wkojbtzc){display:grid;gap:.25rem}.share-row:where(.astro-wkojbtzc){display:flex;flex-wrap:wrap;gap:0 1rem;margin:0}.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{overflow-x:auto;scrollbar-width:none}.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 (max-width: 43rem){.diagram-stage{margin-inline:calc(-1 * var(--gutter));padding-block:1.25rem;border-block:1px solid var(--line);background:var(--raised)}.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);display:block;width:100%;min-width:calc(var(--dg-w, 0) * .85px);max-width:calc(var(--dg-w, 640) * 1px);height:auto;margin-inline:auto;overflow:visible;font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:0;text-rendering:geometricPrecision}@media (max-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:1}.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:transparent}.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;-moz-user-select:none;user-select:none}.dg-label{font-size:13px;font-weight:500}.dg .dg-sub,.dg .dg-grouplabel,.dg .dg-note,.dg .dg-linktext{fill:var(--dg-soft);font-size:12px}.dg .dg-grouplabel,.dg-actorlabel{font-size:12px;font-weight:500}.dg .dg-notestrong{fill:var(--dg-text);font-size:13px;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.5;stroke-linecap:round;stroke-linejoin:round}.dg-hit{fill:none;stroke:transparent;stroke-width:14;pointer-events:stroke;cursor:pointer}.dg-rule{fill:none;stroke:var(--faint);stroke-width:1;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:1}.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:2;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 ease}.dg .dg-line,.dg .dg-head,.dg .dg-shape,.dg .dg-avatar,.dg .dg-linktext{transition:stroke .15s ease,fill .15s ease,stroke-width .15s ease}.dg [data-off]{opacity:.25}.dg [data-on] .dg-line,.dg [data-on] .dg-head{stroke:var(--ink);stroke-width:2.25}.dg :is([data-n][data-on],[data-ring])>:is(.dg-shape,.dg-avatar){stroke:var(--ink);stroke-width:2}.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:2}.dg .dg-linklabel[data-on] .dg-linktext{fill:var(--ink)}.dg .dg-step{cursor:pointer;transition:opacity .15s ease}.dg .dg-step circle{fill:var(--dg-surface);stroke:var(--dg-edge);stroke-width:1;transition:fill .15s ease,stroke .15s ease}.dg .dg-step text{fill:var(--dg-text);font-size:10px;font-weight:600;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:fill .15s ease}.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{display:flex;max-width:calc(var(--dg-w, 640) * 1px);margin:1rem auto 0;justify-content:center}.dg-play{display:inline-flex;height:1.75rem;margin-left:.375rem;padding:0 .75rem 0 .625rem;align-items:center;gap:.45em;vertical-align:middle;border-radius:999px;background:rgb(var(--color-text-base) / .07);color:var(--ink);font:inherit;font-size:.8125rem;font-weight:500;line-height:1;white-space:nowrap;transition:background-color .15s var(--ease),transform .15s var(--ease)}.dg-play svg{width:.5625rem;height:.5625rem;fill:currentColor}.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);margin:.75rem auto 0;padding:0;color:var(--muted);font-size:.875rem;line-height:1.5;list-style:none;text-wrap:pretty}.prose .dg-steps li{display:grid;margin:0;padding:.3125rem 0;grid-template-columns:1.625rem 1fr;align-items:start;border-radius:6px;cursor:default;transition:color .15s var(--ease)}.prose .dg-steps li:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.dg-phase{margin:.875rem 0 .3125rem;grid-column:1 / -1;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.01em}.dg-steps li:first-child .dg-phase{margin-top:.125rem}.dg-n{display:inline-grid;width:1rem;height:1rem;margin-top:.1875rem;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px var(--faint);color:var(--ink);font-size:.625rem;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;transition:background-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.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{font-weight:500;text-decoration:underline;text-decoration-color:var(--faint);text-decoration-thickness:1px;text-underline-offset:.16em;cursor:default}.dg-steps .dg-ref:hover{text-decoration-color:var(--ink)}.dg-show{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,4vw,3rem);overflow:hidden;border:0;background:transparent;color:var(--ink)}.dg-show[open]{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;align-items:center;justify-items:center}.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{min-width:0;max-width:100%;transform-origin:0 0;cursor:pointer}.dg[data-show] :is([data-dim],[data-off]){opacity:.3}.dg[data-show] .dg-step:not([data-on]){opacity:.3}.dg-show .diagram-scroll{margin:0;padding:0;border:0;background:none}.dg-show .dg{width:100%;min-width:0;max-width:none}.dg-show-say{min-width:0;max-width:40rem;min-height:2.6em;margin:0;align-self:end;font-size:1.0625rem;line-height:1.5;text-align:center;text-wrap:balance}.dg-show-say .dg-ref{font-weight:500;text-decoration:underline;text-decoration-color:var(--faint);text-decoration-thickness:1px;text-underline-offset:.16em}.dg-show-say .dg-n{width:1.125rem;height:1.125rem;margin:0 .5em 0 0;vertical-align:.125em;background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);color:var(--paper);font-size:.6875rem}.dg-show-bar{display:flex;width:min(100%,40rem);gap:.25rem;align-self:end}.dg-show-seg{position:relative;flex:1;height:1.5rem;padding:0;border-radius:4px;cursor:pointer}.dg-show-seg:before,.dg-show-seg i{position:absolute;top:50%;right:0;left:0;height:3px;margin-top:-1.5px;border-radius:2px}.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:left center}.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{display:inline-flex;min-width:7.5rem;height:2.5rem;margin-bottom:clamp(.5rem,5vh,3rem);padding:0 1.25rem;align-items:center;justify-content:center;gap:.55em;align-self:end;border-radius:999px;background:rgb(var(--color-text-base) / .07);color:var(--ink);font:inherit;font-size:.875rem;font-weight:500;transition:background-color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease)}.dg-show-toggle:hover{background:rgb(var(--color-text-base) / .12)}.dg-show-toggle:active{transform:scale(.97)}.dg-show-toggle svg{width:.625rem;height:.625rem;fill:currentColor}.dg-show-toggle svg[data-line]{width:.875rem;height:.875rem;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.dg-show-close{position:absolute;top:1rem;right:1rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:rgb(var(--color-text-base) / .07);color:var(--ink);transition:background-color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease)}.dg-show-close:hover{background:rgb(var(--color-text-base) / .12)}.dg-show-close:active{transform:scale(.94)}.dg-show-close svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}@media (max-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{width:auto;min-width:calc(var(--dg-w, 0) * 1px)}.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 .tweet{display:grid;gap:.625rem;max-width:34rem;margin:2rem auto;padding:1rem 1.125rem .875rem;border:1px solid var(--line);border-radius:14px;background:var(--raised);font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}.tweet-head{display:flex;align-items:center;gap:.625rem;min-width:0}.tweet-avatar{flex:none;width:2.5rem;height:2.5rem;overflow:hidden;border-radius:50%;background:var(--hover)}.prose .tweet-avatar img{width:100%;height:100%;margin:0;border:0;border-radius:0;background:none;-o-object-fit:cover;object-fit:cover}.tweet-initial{display:grid;place-items:center;color:var(--muted);font-weight:500}.tweet-who{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:0 .3rem;min-width:0;line-height:1.3}.prose .tweet a{text-decoration:none}.prose .tweet-name,.tweet-name{color:var(--ink);font-weight:500}.prose a.tweet-name:hover{text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:.18em}.tweet-seal{flex:none;width:1rem;height:1rem}.tweet-seal path:first-child{fill:rgb(var(--color-focus))}.tweet-seal path:last-child{fill:none;stroke:var(--raised);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tweet-handle{flex-basis:100%;color:var(--muted);font-size:.8125rem}.prose .tweet-mark{flex:none;align-self:flex-start;padding:.25rem;border-radius:6px;color:var(--quiet);transition:color .15s var(--ease)}.prose .tweet-mark:hover{color:var(--ink)}.tweet-mark svg{display:block;width:1rem;height:1rem;fill:currentColor}.tweet-context{color:var(--muted);font-size:.8125rem}.prose .tweet-text a{color:color-mix(in srgb,rgb(var(--color-focus)) 82%,var(--ink));text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-thickness:1px;text-underline-offset:.18em}.prose .tweet-text a:hover{text-decoration-color:currentColor}.tweet-media{display:grid;gap:2px;overflow:hidden;border:1px solid var(--line);border-radius:12px}.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{width:100%;height:100%;max-height:24rem;margin:0;border:0;border-radius:0;-o-object-fit:cover;object-fit:cover}.prose .tweet-quote{display:grid;gap:.125rem;padding:.75rem .875rem;border:1px solid var(--line);border-radius:12px;color:var(--ink);font-size:.875rem;transition:border-color .15s var(--ease)}.prose .tweet-quote:hover{border-color:var(--faint)}.tweet-quote .tweet-handle{flex-basis:auto}.tweet-quoted{display:block;color:var(--ink)}.prose .tweet-date{width:-moz-fit-content;width:fit-content;color:var(--muted);font-size:.8125rem;transition:color .15s var(--ease)}.prose .tweet-date:hover{color:var(--ink)}.footnote-pop{position:fixed;right:1rem;bottom:1rem;left:1rem;z-index:45;max-width:34rem;margin-inline:auto;padding:.875rem 2.75rem .875rem 1rem;border-radius:16px;background:rgb(var(--color-fill) / .8);backdrop-filter:saturate(180%) blur(28px);box-shadow:0 0 0 1px var(--glass-edge),0 18px 50px -12px #00000047;color:var(--ink);font-size:.875rem;line-height:1.5;overflow-wrap:break-word}.footnote-pop[hidden]{display:none}.footnote-pop p+p{margin-top:.5em}.footnote-pop a,.sidenote a{text-decoration:underline;text-decoration-color:var(--faint);text-decoration-thickness:1.5px;text-underline-offset:.18em}.footnote-pop button{position:absolute;top:.5rem;right:.5rem;display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:6px;color:var(--muted);font-size:1rem;line-height:1}.footnote-pop button:hover{color:var(--ink)}.lightbox img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 8rem);border-radius:14px;background:rgb(var(--plate));box-shadow:0 0 0 1px var(--glass-edge),0 40px 100px -24px #00000059;transform-origin:0 0}.sidenote{position:absolute;right:0;left:0;color:var(--muted);font-size:.9375rem;line-height:1.45;overflow-wrap:break-word;transition:color .15s var(--ease)}.sidenote[data-active]{color:var(--ink)}.sidenote p+p{margin-top:.5em}.sidenote-no{margin-right:.5em;color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}@media (min-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){width:-moz-fit-content;width:fit-content;font-size:clamp(2rem,7.2vw,2.75rem);line-height:1.07;letter-spacing:-.023em}.lede:where(.astro-vj4tpspi){margin-top:1rem;color:var(--muted);font-size:clamp(1.125rem,3.6vw,1.25rem);line-height:1.4;letter-spacing:-.012em;text-wrap:pretty}.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){margin-inline:.3em;color:var(--quiet)}.meta:where(.astro-vj4tpspi) a{text-decoration:underline;text-decoration-color:var(--faint);text-decoration-thickness:1.5px;text-underline-offset:.18em;transition:color .15s var(--ease),text-decoration-color .15s var(--ease)}.meta:where(.astro-vj4tpspi) a:hover{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){position:relative;margin:0;padding:0 0 0 1rem;border-left:1px solid var(--line);list-style:none}.toc-marker:where(.astro-vj4tpspi){position:absolute;top:0;left:-1px;width:1px;height:0;background:var(--ink);opacity:0;transition:top .42s var(--spring),height .42s var(--spring),opacity .2s var(--ease)}.toc:where(.astro-vj4tpspi)[data-active] .toc-marker:where(.astro-vj4tpspi){opacity:1}.toc:where(.astro-vj4tpspi) li:where(.astro-vj4tpspi)[data-depth="3"]{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .32s var(--spring),opacity .2s var(--ease)}.toc:where(.astro-vj4tpspi) li:where(.astro-vj4tpspi)[data-depth="3"][data-open]{grid-template-rows:1fr;opacity:1}.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){display:block;padding-block:.25rem;color:var(--muted);font-size:.875rem;line-height:1.45;text-wrap:pretty;transition:color .15s var(--ease)}.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){margin-bottom:2.5rem;border-block:1px solid var(--line);font-size:.875rem;line-height:1.45}.page-outline:where(.astro-vj4tpspi) summary:where(.astro-vj4tpspi){display:flex;align-items:center;justify-content:space-between;padding-block:.75rem;color:var(--muted);list-style:none;cursor:pointer}.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:"";width:.4375rem;height:.4375rem;margin-right:.25rem;border-right:1.5px solid var(--quiet);border-bottom:1.5px solid var(--quiet);transform:translateY(-25%) rotate(45deg);transition:transform .2s var(--ease)}.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){display:block;padding-block:.3rem;color:var(--muted);text-wrap:pretty;transition:color .15s var(--ease)}.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 (min-width: 1200px){.page-outline:where(.astro-vj4tpspi){display:none}}.post-end:where(.astro-vj4tpspi){display:grid;gap:.25rem;margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8em;line-height:1.6}.filed:where(.astro-vj4tpspi){display:flex;flex-wrap:wrap;gap:0 .4em}.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;border-radius:16px;background:var(--raised);box-shadow:inset 0 0 0 1px var(--line)}.more:where(.astro-vj4tpspi) .group-label{margin-bottom:.75rem}.select-pop:where(.astro-vj4tpspi){position:absolute;z-index:45;display:flex;flex-wrap:wrap;justify-content:center;gap:.125rem;max-width:calc(100vw - 1rem);padding:.25rem;border-radius:999px;background:var(--glass);backdrop-filter:var(--glass-blur);box-shadow:0 0 0 1px var(--glass-edge),0 14px 40px -14px #0000004d;font-size:.8125rem;line-height:1.25;animation:appear .15s var(--ease)}.select-pop:where(.astro-vj4tpspi)[hidden]{display:none}.select-pop:where(.astro-vj4tpspi)>:where(.astro-vj4tpspi){padding:.4rem .75rem;border-radius:999px;color:var(--ink);white-space:nowrap;transition:background-color .15s var(--ease),transform .15s var(--ease)}.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 (max-width: 479px){.select-pop:where(.astro-vj4tpspi){border-radius:18px}}.lightbox:where(.astro-vj4tpspi){width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:clamp(1rem,4vw,3.5rem);overflow:hidden;border:0;background:transparent;cursor:zoom-out}.lightbox:where(.astro-vj4tpspi)[open]{display:grid;place-items:center}.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){display:grid;justify-items:center;gap:.75rem;min-width:0;max-width:100%;margin:0}.lightbox:where(.astro-vj4tpspi) figcaption:where(.astro-vj4tpspi){max-width:40rem;color:var(--muted);font-size:.8125rem;line-height:1.5;text-align:center;transition:opacity .15s var(--ease)}.lightbox:where(.astro-vj4tpspi) figcaption:where(.astro-vj4tpspi):empty{display:none}.lightbox-close:where(.astro-vj4tpspi){position:absolute;top:1rem;right:1rem;display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:rgb(var(--color-text-base) / .07);color:var(--ink);transition:background-color .15s var(--ease),opacity .15s var(--ease),transform .15s var(--ease)}.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){width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}@keyframes appear{0%{opacity:0}}@media (min-width: 1200px){.post:where(.astro-vj4tpspi){display:grid;grid-template-columns:minmax(0,1fr) var(--column) minmax(0,1fr);align-items:start}.column:where(.astro-vj4tpspi){grid-column:2;width:100%;min-width:0;margin:0}.toc:where(.astro-vj4tpspi){position:sticky;top:calc(var(--header) + 2rem);display:block;grid-column:1;justify-self:end;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);overflow-y:auto;scrollbar-width:none}.sidenotes:where(.astro-vj4tpspi){position:relative;display:block;grid-column:3;align-self:stretch;width:min(14rem,calc((100cqw - var(--column)) / 2 - 3rem));margin-left:2rem}}
