button[data-astro-cid-l6lhmie6]{block-size:2rem;inline-size:2rem;color:var(--c-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;padding:0;transition:color .12s,border-color .12s;display:grid}button[data-astro-cid-l6lhmie6]:hover{color:var(--c-accent);border-color:var(--c-border)}button[data-astro-cid-l6lhmie6]>svg[data-astro-cid-l6lhmie6]{grid-area:1/1}.sun[data-astro-cid-l6lhmie6]{display:none}.moon[data-astro-cid-l6lhmie6],:root[data-theme=dark] .sun[data-astro-cid-l6lhmie6]{display:block}:root[data-theme=dark] .moon[data-astro-cid-l6lhmie6]{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .sun[data-astro-cid-l6lhmie6]{display:block}:root:not([data-theme=light]) .moon[data-astro-cid-l6lhmie6]{display:none}}#pagefind{--pagefind-ui-scale:.85;--pagefind-ui-primary:var(--c-text);--pagefind-ui-text:var(--c-text);--pagefind-ui-background:var(--c-surface);--pagefind-ui-border:var(--c-border);--pagefind-ui-tag:var(--c-tinted);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:var(--radius);--pagefind-ui-font:var(--f-sans)}#pagefind mark{background:color-mix(in srgb, var(--c-accent) 18%, transparent);color:inherit}#search-open[data-astro-cid-ac66eqjo]{block-size:2rem;inline-size:2rem;color:var(--c-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;padding:0;transition:color .12s,border-color .12s;display:grid}#search-open[data-astro-cid-ac66eqjo]:hover{color:var(--c-accent);border-color:var(--c-border)}dialog[data-astro-cid-ac66eqjo]{max-block-size:80vh;inline-size:min(92vw,40rem);padding:var(--s-xs);border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);color:var(--c-text);margin-block-start:12vh}dialog[data-astro-cid-ac66eqjo]::backdrop{background:color-mix(in srgb, var(--c-bg) 70%, transparent);backdrop-filter:blur(3px)}.site-header[data-astro-cid-fzpbxy5g]{padding-block:var(--s-s)}.bar[data-astro-cid-fzpbxy5g]{inline-size:100%;padding-inline:clamp(var(--s-s), 3vw, var(--s-xl));box-sizing:border-box;align-items:center;gap:var(--s-s);flex-wrap:wrap;display:flex;position:relative}.controls[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--s-2xs);flex-shrink:0;display:flex}.wordmark[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--s-3xs);min-block-size:24px;font-family:var(--f-serif);font-variation-settings:var(--axis-display);font-size:var(--t-sm);margin-inline-end:auto;font-weight:700;text-decoration:none;display:inline-flex}.leaf[data-astro-cid-fzpbxy5g]{color:var(--c-mark)}nav[data-astro-cid-fzpbxy5g]{align-items:center;gap:var(--s-s);font-family:var(--f-sans);font-size:var(--t-sm);display:flex}.lang[data-astro-cid-fzpbxy5g]{justify-content:center;align-items:center;min-block-size:24px;min-inline-size:28px;text-decoration:none;display:inline-flex}nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g].top{align-items:center;min-block-size:24px;text-decoration:none;display:inline-flex}.hub[data-astro-cid-fzpbxy5g] summary[data-astro-cid-fzpbxy5g]{min-block-size:24px}.hub[data-astro-cid-fzpbxy5g]{position:static}.hub[data-astro-cid-fzpbxy5g] summary[data-astro-cid-fzpbxy5g]{cursor:pointer;user-select:none;align-items:center;gap:.35em;list-style:none;display:inline-flex}.hub[data-astro-cid-fzpbxy5g] summary[data-astro-cid-fzpbxy5g]::-webkit-details-marker{display:none}.hub[data-astro-cid-fzpbxy5g] summary[data-astro-cid-fzpbxy5g]:hover{color:var(--c-accent)}.hub[data-astro-cid-fzpbxy5g][open] summary[data-astro-cid-fzpbxy5g] svg[data-astro-cid-fzpbxy5g]{transform:rotate(180deg)}.hub[data-astro-cid-fzpbxy5g] summary[data-astro-cid-fzpbxy5g] svg[data-astro-cid-fzpbxy5g]{transition:transform .15s}.menu[data-astro-cid-fzpbxy5g]{z-index:40;gap:var(--s-3xs);padding:var(--s-xs);inline-size:max-content;max-inline-size:min(38rem, calc(100vw - var(--s-m)));background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:0 18px 40px -22px color-mix(in srgb, var(--c-text) 55%, transparent);grid-template-columns:repeat(2,minmax(15rem,1fr));display:grid;position:absolute;inset-block-start:calc(100% + var(--s-2xs));inset-inline-end:clamp(var(--s-s), 3vw, var(--s-xl))}.item[data-astro-cid-fzpbxy5g]{gap:var(--s-2xs);padding:var(--s-2xs);border-radius:var(--radius);color:var(--c-text);grid-template-columns:auto 1fr;align-items:start;text-decoration:none;transition:background-color .14s,color .14s;display:grid}.item[data-astro-cid-fzpbxy5g]:hover,.item[data-astro-cid-fzpbxy5g]:focus-visible{background:var(--c-tinted)}.item[data-astro-cid-fzpbxy5g] svg{color:var(--c-muted);margin-block-start:1px;transition:color .14s}.item[data-astro-cid-fzpbxy5g]:hover svg{color:var(--c-accent)}.txt[data-astro-cid-fzpbxy5g]{gap:.1em;min-inline-size:0;display:grid}.item[data-astro-cid-fzpbxy5g] strong[data-astro-cid-fzpbxy5g]{font-family:var(--f-sans);font-size:var(--t-sm);align-items:center;gap:.5em;font-weight:600;display:flex}.item[data-astro-cid-fzpbxy5g] .dek[data-astro-cid-fzpbxy5g]{font-family:var(--f-sans);font-size:var(--t-xs);color:var(--c-muted);line-height:1.4}.item[data-astro-cid-fzpbxy5g].all{background:var(--c-tinted)}.item[data-astro-cid-fzpbxy5g].all:hover{background:color-mix(in srgb, var(--c-accent) 9%, var(--c-tinted))}.item[data-astro-cid-fzpbxy5g].machine{box-shadow:inset 2px 0 0 color-mix(in srgb, var(--c-accent) 45%, transparent)}.item[data-astro-cid-fzpbxy5g].machine svg{color:var(--c-accent);opacity:.75}.tag[data-astro-cid-fzpbxy5g]{font-size:var(--t-xs);color:var(--c-accent);background:color-mix(in srgb, var(--c-accent) 11%, transparent);border-radius:999px;padding:.1em .5em;font-weight:400}@media (width<=52rem){.menu[data-astro-cid-fzpbxy5g]{inline-size:calc(100vw - var(--s-m));grid-template-columns:1fr 1fr;max-inline-size:none}}@media (width<=40rem){.bar[data-astro-cid-fzpbxy5g]>nav[data-astro-cid-fzpbxy5g]{justify-content:flex-start;gap:var(--s-s);flex-basis:100%;order:3}.wordmark[data-astro-cid-fzpbxy5g]{margin-inline-end:auto}}@media (width<=34rem){.menu[data-astro-cid-fzpbxy5g]{grid-template-columns:1fr}.item[data-astro-cid-fzpbxy5g] .dek[data-astro-cid-fzpbxy5g]{display:none}.item[data-astro-cid-fzpbxy5g]{align-items:center;min-block-size:44px}}.site-footer[data-astro-cid-nns7i3if]{border-block-start:1px solid var(--c-border);padding-block:var(--s-xl) var(--s-2xl)}.grid[data-astro-cid-nns7i3if]{gap:var(--s-l);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.cta[data-astro-cid-nns7i3if] h2[data-astro-cid-nns7i3if]{font-family:var(--f-serif);font-variation-settings:var(--axis-display);font-weight:400;font-size:var(--t-md);line-height:var(--lh-snug)}.rss[data-astro-cid-nns7i3if]{border:1px solid var(--c-border);background:var(--c-surface);font-family:var(--f-sans);font-size:var(--t-xs);border-radius:999px;align-items:center;gap:.5em;margin-block-start:var(--s-2xs);padding:.4em .9em;text-decoration:none;display:inline-flex}.rss[data-astro-cid-nns7i3if]:hover{border-color:var(--c-accent)}.mail[data-astro-cid-nns7i3if]{font-family:var(--f-sans);font-size:var(--t-sm);margin-block-start:var(--s-s)}.social[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{justify-content:center;align-items:center;min-block-size:24px;min-inline-size:24px;display:inline-flex}.social[data-astro-cid-nns7i3if]{gap:var(--s-2xs);color:var(--c-muted);margin-block-start:var(--s-xs);padding:0;list-style:none;display:flex}.social[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{display:inline-flex}.social[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--c-accent)}.copyright[data-astro-cid-nns7i3if]{margin-block-start:var(--s-xs)}.sitemap[data-astro-cid-nns7i3if] ul[data-astro-cid-nns7i3if]{gap:var(--s-3xs) var(--s-m);font-family:var(--f-sans);font-size:var(--t-sm);color:var(--c-muted);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.sitemap[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{text-decoration:none}@media (width<=40rem){.grid[data-astro-cid-nns7i3if]{gap:var(--s-l);grid-template-columns:1fr}}:root{--fluid-min-width:320;--fluid-max-width:1200;--fluid-screen:100vw;--fluid-bp:calc((var(--fluid-screen) - var(--fluid-min-width) / 16 * 1rem) / (var(--fluid-max-width) - var(--fluid-min-width)));--f--2-min:12.5;--f--2-max:15;--f--1-min:14;--f--1-max:16.5;--f-0-min:17;--f-0-max:22;--f-1-min:19;--f-1-max:28.6;--f-2-min:22;--f-2-max:36;--f-3-min:26;--f-3-max:44;--f-4-min:30;--f-4-max:56;--f-5-min:34;--f-5-max:81.8;--t-xs:calc(((var(--f--2-min) / 16) * 1rem) + (var(--f--2-max) - var(--f--2-min)) * var(--fluid-bp));--t-sm:calc(((var(--f--1-min) / 16) * 1rem) + (var(--f--1-max) - var(--f--1-min)) * var(--fluid-bp));--t-base:calc(((var(--f-0-min) / 16) * 1rem) + (var(--f-0-max) - var(--f-0-min)) * var(--fluid-bp));--t-md:calc(((var(--f-1-min) / 16) * 1rem) + (var(--f-1-max) - var(--f-1-min)) * var(--fluid-bp));--t-lg:calc(((var(--f-2-min) / 16) * 1rem) + (var(--f-2-max) - var(--f-2-min)) * var(--fluid-bp));--t-xl:calc(((var(--f-3-min) / 16) * 1rem) + (var(--f-3-max) - var(--f-3-min)) * var(--fluid-bp));--t-2xl:calc(((var(--f-4-min) / 16) * 1rem) + (var(--f-4-max) - var(--f-4-min)) * var(--fluid-bp));--t-3xl:calc(((var(--f-5-min) / 16) * 1rem) + (var(--f-5-max) - var(--f-5-min)) * var(--fluid-bp));--sc-min:17;--sc-max:22;--s-3xs:calc(((var(--sc-min) * .25 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * .25 * var(--fluid-bp));--s-2xs:calc(((var(--sc-min) * .5 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * .5 * var(--fluid-bp));--s-xs:calc(((var(--sc-min) * .75 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * .75 * var(--fluid-bp));--s-s:calc(((var(--sc-min) * 1 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 1 * var(--fluid-bp));--s-m:calc(((var(--sc-min) * 1.5 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 1.5 * var(--fluid-bp));--s-l:calc(((var(--sc-min) * 2 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 2 * var(--fluid-bp));--s-xl:calc(((var(--sc-min) * 3 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 3 * var(--fluid-bp));--s-2xl:calc(((var(--sc-min) * 4 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 4 * var(--fluid-bp));--s-3xl:calc(((var(--sc-min) * 6 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 6 * var(--fluid-bp));--s-4xl:calc(((var(--sc-min) * 8 / 16) * 1rem) + (var(--sc-max) - var(--sc-min)) * 8 * var(--fluid-bp));--f-serif:var(--font-serif);--f-sans:var(--font-sans);--f-mono:var(--font-mono);--axis-text:"SOFT" 0, "WONK" 0, "opsz" 14;--axis-display:"SOFT" 0, "WONK" 0, "opsz" 144;--lh-body:1.6;--lh-tight:1.12;--lh-snug:1.2;--w-prose:66ch;--w-page:78rem;--w-narrow:46rem;--radius-sm:.2rem;--radius:.4rem;--radius-lg:.6rem;--c-bg:#f6f5f1;--c-surface:#fcfbf7;--c-tinted:#e6e3e1;--c-text:#353534;--c-muted:#666360;--c-border:#e3e3e0;--c-accent:#5f023e;--c-accent-lo:#960462;--c-mark:#04a5bb;--c-mark-ink:#00707f;--c-muted-on-tint:#5f5c59;color-scheme:light}:root[data-theme=dark]{--c-bg:#1c1b18;--c-surface:#252420;--c-tinted:#3a3835;--c-text:#c2bfba;--c-muted:#a8a5a0;--c-border:#3a3835;--c-accent:#e85aab;--c-accent-lo:#ff7ac4;--c-mark:#2bc4da;--c-mark-ink:#45d3e6;--c-muted-on-tint:#b6b2ad;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--c-bg:#1c1b18;--c-surface:#252420;--c-tinted:#3a3835;--c-text:#c2bfba;--c-muted:#a8a5a0;--c-border:#3a3835;--c-accent:#e85aab;--c-accent-lo:#ff7ac4;--c-mark:#2bc4da;--c-mark-ink:#45d3e6;--c-muted-on-tint:#b6b2ad;color-scheme:dark}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--c-bg);color:var(--c-text);font-family:var(--f-serif);font-variation-settings:var(--axis-text);font-size:var(--t-base);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}img,picture,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px;border-radius:var(--radius-sm)}a{color:inherit;text-decoration-color:var(--c-border);text-underline-offset:.18em;text-decoration-thickness:1px;transition:color .12s,text-decoration-color .12s}a:hover{color:var(--c-accent);text-decoration-color:var(--c-accent)}.wrap{width:min(100% - var(--s-l), var(--w-page));margin-inline:auto}.narrow{width:min(100% - var(--s-l), var(--w-narrow));margin-inline:auto}.prose{width:min(100%, var(--w-prose))}.sans{font-family:var(--f-sans)}.meta{font-family:var(--f-sans);font-size:var(--t-xs);color:var(--c-muted);line-height:1.5}.section-title{font-family:var(--f-sans);font-weight:700;font-size:var(--t-sm);letter-spacing:0;line-height:1.3}.section-title a{text-decoration:none}.section-title a:hover{color:var(--c-accent)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.prose>*+*{margin-block-start:var(--s-s)}.prose h2,.prose h3{font-family:var(--f-serif);font-variation-settings:var(--axis-display);font-weight:700;line-height:var(--lh-snug);margin-block-start:var(--s-l);margin-block-end:var(--s-2xs)}.prose h2{font-size:var(--t-md)}.prose h3{font-size:var(--t-base)}.prose h2+*,.prose h3+*{margin-block-start:0}.prose a{color:var(--c-accent);text-decoration-color:var(--c-accent)}.prose blockquote{border-inline-start:2px solid var(--c-border);color:var(--c-muted);padding-inline-start:var(--s-s);font-style:italic}.prose ul,.prose ol{padding-inline-start:var(--s-s)}.prose li+li{margin-block-start:var(--s-3xs)}.prose hr{border:0;border-top:1px solid var(--c-border);margin-block:var(--s-l)}.prose :not(pre)>code{font-family:var(--f-mono);background:var(--c-tinted);border-radius:var(--radius-sm);padding:.1em .35em;font-size:.8em}.prose pre{font-family:var(--f-mono);font-size:var(--t-sm);border:1px solid var(--c-border);border-radius:var(--radius);padding:var(--s-xs);line-height:1.6;overflow-x:auto;background:var(--c-surface)!important}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important}}.prose :is(c-replicas){margin-block:var(--s-m);display:block}.ex{border:1px solid var(--c-border);border-radius:var(--radius-lg);background:var(--c-surface);margin:0;overflow:hidden}.ex canvas{inline-size:100%;block-size:var(--ex-height,210px);display:block}.ex-bar{align-items:center;gap:var(--s-2xs) var(--s-s);padding:var(--s-2xs) var(--s-xs);border-block-start:1px solid var(--c-border);background:var(--c-tinted);font-family:var(--f-sans);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.ex-bar button{border:1px solid var(--c-border);background:var(--c-surface);block-size:1.9rem;inline-size:1.9rem;color:var(--c-text);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:.7rem;display:grid}.ex-bar button:hover{border-color:var(--c-accent);color:var(--c-accent)}.ex-ctl{color:var(--c-muted);align-items:center;gap:.5em;display:inline-flex}.ex-ctl input[type=range]{inline-size:6.5rem;accent-color:var(--c-accent)}.ex-ctl output{color:var(--c-text);font-variant-numeric:tabular-nums;min-inline-size:3ch}.ex-stats{gap:0 var(--s-s);padding:var(--s-2xs) var(--s-xs);border-block-start:1px solid var(--c-border);font-family:var(--f-sans);font-size:var(--t-xs);flex-wrap:wrap;display:flex}.ex-stats dt{color:var(--c-muted)}.ex-stats dt:after{content:" "}.ex-stats dd{color:var(--c-text);font-variant-numeric:tabular-nums;margin:0;margin-inline-end:var(--s-2xs)}.ex-stats dt,.ex-stats dd{display:inline}.ex figcaption{padding:var(--s-2xs) var(--s-xs);border-block-start:1px solid var(--c-border);font-family:var(--f-sans);font-size:var(--t-xs);color:var(--c-muted);line-height:1.45}.prose .kicker{font-family:var(--f-sans);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--c-muted);margin-block:var(--s-l) 0;text-wrap:balance}.prose .kicker+h2{margin-block-start:var(--s-3xs)}@media (width<=40rem){.prose :is(h1,h2,h3,h4){text-wrap:balance;overflow-wrap:break-word}.prose :is(pre,table){max-inline-size:100%}.prose pre{overflow-x:auto}.prose a{overflow-wrap:anywhere}}.prose sup.ref{font-size:.66em;line-height:0}.prose sup.ref a{font-variant-numeric:tabular-nums;padding-inline:.12em;text-decoration:none}.prose sup.ref a:before{content:"["}.prose sup.ref a:after{content:"]"}h2.section-title a,.group h2 a,.entry-card h3 a,.card h2 a,.card h3 a{align-items:center;min-block-size:24px;display:inline-flex}.skip[data-astro-cid-hkbrpulz]{z-index:30;background:var(--c-surface);border:1px solid var(--c-border);padding:var(--s-3xs) var(--s-2xs);border-radius:var(--radius);font-family:var(--f-sans);font-size:var(--t-sm);position:absolute;inset-block-start:-100%;inset-inline-start:var(--s-xs)}.skip[data-astro-cid-hkbrpulz]:focus{inset-block-start:var(--s-xs)}main[data-astro-cid-hkbrpulz]{padding-block:var(--s-l) var(--s-3xl)}
