@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/gloock-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Gloock;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/gloock-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-wght-normal.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-ext-wght-normal.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@property --dk{syntax:"<number>";inherits:true;initial-value:0}:root{--bone:#eeece6;--umber:#1c1611;--cream:#f2e9d6;--ink:#1c1611;--lamp-bone:#b4621a;--lamp-night:#f2ab48;--lamp-ink-bone:#94500f;--fg-2-bone:#5c544a;--fg-2-night:#a99e8d;--fg-3-bone:#6a6257;--fg-3-night:#988d7d;--stage-bone:#e5e1d8;--stage-night:#262019;--display:"Gloock", "Iowan Old Style", Georgia, serif;--sans:"Bricolage Grotesque", "Avenir Next", "Segoe UI", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-display:clamp(2.75rem, 1.4rem + 4.2vw, 5.5rem);--text-chapter:clamp(2.5rem, 1.3rem + 3.9vw, 5rem);--text-case:clamp(2.125rem, 1.25rem + 2.9vw, 3.75rem);--text-section:clamp(1.875rem, 1.45rem + 1.4vw, 2.75rem);--text-title:clamp(2rem, 1.3rem + 2.6vw, 3.25rem);--text-name:clamp(1.375rem, 1.1rem + .8vw, 1.875rem);--text-lead:clamp(1.1875rem, 1.05rem + .45vw, 1.4375rem);--text-body:1.0625rem;--text-ui:.9375rem;--text-small:.875rem;--text-caption:.8125rem;--text-data:.8125rem;--text-micro:.6875rem;--space-3xs:4px;--space-2xs:8px;--space-xs:12px;--space-s:16px;--space-m:24px;--space-l:32px;--space-xl:48px;--space-2xl:64px;--space-3xl:96px;--gutter:clamp(16px, 3.4vw, 40px);--max:1520px;--measure:68ch;--header-h:72px;--section-pad:clamp(88px, 6vw + 48px, 152px);--head-gap:clamp(40px, 4vw, 64px);--case-gap:clamp(40px, 5vw, 96px);--radius-stage:20px;--radius-panel:14px;--radius-pill:999px;--radius-bar:4px;--radius-cell:3px;--cover-thumb-w:168px;--cover-thumb-h:72px;--cover-thumb-w-m:112px;--cover-thumb-h-m:48px;--cover-banner-w:1120px;--cover-banner-h:392px;--cover-banner-w-m:358px;--cover-banner-h-m:126px;--duration-stagger:40ms;--duration-micro:80ms;--duration-quick:.15s;--duration-fast:.25s;--duration-medium:.35s;--duration-slow:.4s;--duration-very-slow:.5s;--ease-smooth-out:cubic-bezier(.22, 1, .36, 1);--ease-expo-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:ease-in-out;--ease-out:ease-out;--ease-linear:linear;--distance-micro:4px;--distance-base:8px;--distance-medium:12px;--blur-small:2px;--blur-medium:3px;--tabs-dur:.25s;--tabs-ease:cubic-bezier(.22, 1, .36, 1);--stagger-dur:.5s;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(.22, 1, .36, 1);--learn-shift:2px;--learn-spread:8deg;--learn-in:.35s;--learn-out:.35s;--learn-ease:cubic-bezier(.22, 1, .36, 1);--reel-dur:1.4s;--reel-spin-blur:3px;--reel-stagger:90ms;--reel-ease:cubic-bezier(.16, 1, .3, 1);--think-hold:1.5s;--think-swap:.15s;--think-gap:50ms;--think-distance:8px;--think-blur:2px;--think-ease:ease-in-out;--stream-gap:60ms;--stream-fade:.35s;--stream-blur:1px;--stream-ease:cubic-bezier(.22, 1, .36, 1);--text-soft-dur:.2s;--text-soft-blur:2px;--text-soft-ease:ease-in-out;--text-soft-resize-dur:.24s;--text-soft-resize-ease:cubic-bezier(.22, 1, .36, 1);--develop-dur:1.6s}:root,[data-ground],.tone-night,.tone-bone{--ground:color-mix(in srgb, var(--bone), var(--umber) calc(var(--dk) * 100%));--fg:color-mix(in srgb, var(--ink), var(--cream) calc(var(--dk) * 100%));--fg-2:color-mix(in srgb, var(--fg-2-bone), var(--fg-2-night) calc(var(--dk) * 100%));--fg-3:color-mix(in srgb, var(--fg-3-bone), var(--fg-3-night) calc(var(--dk) * 100%));--line:color-mix(in srgb, #1c161121, #f2e9d621 calc(var(--dk) * 100%));--line-strong:color-mix(in srgb, #1c161142, #f2e9d645 calc(var(--dk) * 100%));--stage:color-mix(in srgb, var(--stage-bone), var(--stage-night) calc(var(--dk) * 100%));--stage-edge:color-mix(in srgb, #1c161112, #f2e9d612 calc(var(--dk) * 100%));--tint:color-mix(in srgb, #1c16110a, #f2e9d60d calc(var(--dk) * 100%));--pill-bg:color-mix(in srgb, var(--ink), var(--cream) calc(var(--dk) * 100%));--pill-fg:color-mix(in srgb, var(--bone), var(--ink) calc(var(--dk) * 100%));--lamp:color-mix(in srgb, var(--lamp-bone), var(--lamp-night) calc(var(--dk) * 100%));--lamp-ink:color-mix(in srgb, var(--lamp-ink-bone), var(--lamp-night) calc(var(--dk) * 100%));--lamp-soft:color-mix(in srgb, var(--lamp) 22%, transparent);color:var(--fg)}.tone-night,[data-ground=night]{--dk:1}.tone-bone,[data-ground=bone]{--dk:0}html[data-grounds=live] [data-ground]:not([data-ground-local]){--dk:inherit}html:not([data-grounds=live]) [data-ground=night],[data-ground][data-ground-local]{background:var(--ground)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:color-mix(in srgb, var(--fg) 32%, transparent) var(--ground);background:var(--ground);color-scheme:light;scroll-padding-top:24px}html[data-tone=night]{color-scheme:dark}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ground);min-height:100svh;color:var(--fg);font-family:var(--sans);font-size:var(--text-body);letter-spacing:-.003em;caret-color:var(--lamp);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;font-weight:400;line-height:1.55;overflow-x:clip}::selection{background:color-mix(in srgb, var(--lamp) 34%, var(--ground));color:var(--fg)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{border:3px solid var(--ground);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--fg) 32%, transparent)}img,svg,picture,canvas{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px;text-decoration-color:var(--line-strong);transition:text-decoration-color var(--duration-quick) var(--ease-out)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:var(--radius-bar)}h1,h2,h3,h4{text-wrap:balance;font-weight:400}p{text-wrap:pretty}ul,ol{list-style:none}code,kbd,pre,samp{font-family:var(--mono);font-size:.9em}.display{font-family:var(--display);font-size:var(--text-display);letter-spacing:-.012em;max-width:17em;font-weight:400;line-height:1}.chapter-title{font-family:var(--display);font-size:var(--text-chapter);letter-spacing:-.012em;font-weight:400;line-height:.98}.say{font-family:var(--display);font-size:var(--text-case);letter-spacing:-.01em;max-width:22ch;font-weight:400;line-height:1.04}.unkern{margin-right:.02em}.head-title{font-family:var(--display);font-size:var(--text-section);letter-spacing:-.01em;font-weight:400;line-height:1.06}.tail,.display .tail,.say .tail{color:var(--fg-2)}.lede{max-width:60ch;font-size:var(--text-lead);letter-spacing:-.008em;line-height:1.42}.name{font-family:var(--sans);font-size:var(--text-name);letter-spacing:-.022em;font-weight:560;line-height:1.12}.muted{color:var(--fg-2)}.faint{color:var(--fg-3)}.prose{max-width:var(--measure)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:0}.meta{font-family:var(--mono);font-size:var(--text-data);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--fg-2);line-height:1.45}.num{font-variant-numeric:tabular-nums}.lamp{color:var(--lamp-ink)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{left:var(--gutter);z-index:50;border-radius:var(--radius-pill);background:var(--pill-bg);min-height:40px;color:var(--pill-fg);transition:transform var(--duration-fast) var(--ease-smooth-out);align-items:center;padding:0 18px;font-weight:500;text-decoration:none;display:inline-flex;position:absolute;top:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.chapter{padding-block:var(--section-pad);position:relative}.chapter.tight{padding-bottom:0}.chapter-head{margin-bottom:var(--head-gap);gap:20px;display:grid}.head-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px 40px}.head-stack{gap:14px;display:grid}.head-stack>p{max-width:62ch}@media (width<=899px){.head-row{grid-template-columns:minmax(0,1fr);justify-items:start}}.over-paint{z-index:1;position:relative}.rows{border-top:1px solid var(--line)}.rows>li{border-bottom:1px solid var(--line)}.facts{border-top:1px solid var(--line);display:grid}.facts>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,9.5rem) minmax(0,1fr);gap:4px 24px;padding:14px 0 15px;display:grid}.facts dt{color:var(--fg-2);font-size:var(--text-small);padding-top:2px}.facts dd{letter-spacing:-.008em;font-size:1.0625rem;line-height:1.45}.facts dd.mono{font-size:.9375rem}@media (width<=559px){.facts>div{grid-template-columns:minmax(0,1fr)}}.stage{border-radius:var(--radius-stage);background:var(--stage);box-shadow:inset 0 0 0 1px var(--stage-edge);position:relative}.tag{border-radius:var(--radius-pill);height:20px;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--fg-2);font-family:var(--mono);font-size:var(--text-micro);letter-spacing:0;white-space:nowrap;align-items:center;padding:0 8px;display:inline-flex}.dot{background:var(--lamp);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.pill{border-radius:var(--radius-pill);background:var(--pill-bg);min-height:48px;color:var(--pill-fg);letter-spacing:-.008em;white-space:nowrap;transition:background-color var(--duration-quick) var(--ease-out), box-shadow var(--duration-quick) var(--ease-out), transform var(--duration-micro) var(--ease-out);align-items:center;gap:10px;padding:0 22px 0 24px;font-size:1rem;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}.pill:hover{background:color-mix(in srgb, var(--pill-bg) 86%, var(--pill-fg))}.pill:active{transform:scale(.98)}.pill-quiet{color:var(--fg);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}.pill-quiet:hover{background:var(--tint);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--fg) 40%, transparent)}.pill-small{gap:8px;min-height:32px;padding:0 12px;font-size:.8125rem}.pill[disabled],.pill[aria-disabled=true]{opacity:.45;pointer-events:none}.pill-row{flex-wrap:wrap;gap:12px;display:flex}.t-learn{align-items:center;gap:6px;display:inline-flex}.t-learn-chevron{transition:transform var(--learn-out) var(--learn-ease);display:inline-flex;transform:translate(0)}.t-learn-chevron svg{width:16px;height:16px}.t-learn-arm{transform-box:view-box;transform-origin:10px 8px;vector-effect:non-scaling-stroke;transition:transform var(--learn-out) var(--learn-ease)}.t-learn:hover .t-learn-chevron,.t-learn:focus-visible .t-learn-chevron{transform:translateX(var(--learn-shift));transition-duration:var(--learn-in)}.t-learn:hover .t-learn-arm,.t-learn:focus-visible .t-learn-arm{transition-duration:var(--learn-in)}.t-learn:hover .t-learn-arm-top,.t-learn:focus-visible .t-learn-arm-top{transform:rotate(var(--learn-spread))}.t-learn:hover .t-learn-arm-bot,.t-learn:focus-visible .t-learn-arm-bot{transform:rotate(calc(var(--learn-spread) * -1))}.arrow-out{transition:transform var(--duration-fast) var(--ease-smooth-out)}a:hover>.arrow-out,a:focus-visible>.arrow-out{transform:translate(1.5px,-1.5px)}.t-stagger-line{display:block}html.motion .t-stagger-line{opacity:0;transform:translateY(var(--stagger-distance));filter:blur(var(--stagger-blur));transition:opacity var(--stagger-dur) var(--stagger-ease), transform var(--stagger-dur) var(--stagger-ease), filter var(--stagger-dur) var(--stagger-ease);transition-delay:calc(var(--stagger-stagger) * var(--i,0));will-change:transform, opacity, filter}html.motion .t-stagger.is-shown .t-stagger-line{opacity:1;filter:blur();transform:translateY(0)}.t-text-soft{justify-items:var(--text-soft-align,start);transition:width var(--text-soft-resize-dur) var(--text-soft-resize-ease);display:inline-grid}.t-text-soft>span{white-space:pre;transition:filter var(--text-soft-dur) var(--text-soft-ease), opacity var(--text-soft-dur) var(--text-soft-ease);grid-area:1/1}.t-text-soft-new,.t-text-soft.is-swapping .t-text-soft-old{opacity:0;filter:blur(var(--text-soft-blur))}.t-text-soft.is-swapping .t-text-soft-new{opacity:1;filter:blur()}.cover{--cover-ink:var(--umber);--w:var(--w-d);--h:var(--h-d);width:var(--w);max-width:100%;height:var(--h);background:var(--cover-ink);flex:none;position:relative;overflow:hidden}.cover img,.cover canvas{top:0;left:0;left:round(down, (100% - var(--w)) / 2, 1px);width:var(--w);height:var(--h);max-width:none;image-rendering:pixelated;position:absolute}@media (width<=760px){.cover{--w:var(--w-m);--h:var(--h-m)}}html.motion .cover canvas[data-develop=load],.cover canvas[data-armed]{background:var(--cover-ink)}@media (prefers-reduced-motion:reduce){.t-learn-chevron,.t-learn-arm,.t-text-soft,.t-text-soft>span,.t-stagger-line,.arrow-out,.skip-link{transition:none!important}.pill:active{transform:none}}.mark[data-astro-cid-4pt2nqzy]{fill:currentColor;shape-rendering:crispedges;flex:none}.site-header[data-astro-cid-nen7h5rs]{z-index:5;height:var(--header-h);font-size:var(--text-ui);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.brand[data-astro-cid-nen7h5rs]{letter-spacing:-.02em;justify-self:start;align-items:center;gap:10px;font-size:1.0625rem;font-weight:600;text-decoration:none;display:inline-flex}.links[data-astro-cid-nen7h5rs]{gap:28px;display:flex}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--fg-2);transition:color var(--duration-quick) var(--ease-out);font-weight:450;text-decoration:none}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--fg)}.locales[data-astro-cid-nen7h5rs]{border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--line);justify-self:end;gap:2px;padding:3px;display:flex}.locales[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-pill);min-width:36px;height:28px;color:var(--fg-2);font-size:var(--text-caption);letter-spacing:.02em;transition:color var(--duration-quick) var(--ease-out), background-color var(--duration-quick) var(--ease-out);place-items:center;padding-inline:8px;font-weight:550;text-decoration:none;display:grid}.locales[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--fg)}.locales[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{background:var(--pill-bg);color:var(--pill-fg)}@media (width<=767px){.site-header[data-astro-cid-nen7h5rs]{grid-template-rows:64px auto;grid-template-columns:1fr auto;height:auto}nav[data-astro-cid-nen7h5rs]{scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);grid-area:2/1/auto/-1;overflow-x:auto}nav[data-astro-cid-nen7h5rs]::-webkit-scrollbar{display:none}.links[data-astro-cid-nen7h5rs]{align-items:center;gap:22px;height:40px}.links[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{white-space:nowrap}}.site-footer[data-astro-cid-hkbrpulz]{font-size:var(--text-small);color:var(--fg-2)}.site-footer[data-astro-cid-hkbrpulz].ruled{box-shadow:inset 0 1px 0 var(--line)}.colophon[data-astro-cid-hkbrpulz]{flex-wrap:wrap;align-items:center;gap:14px 32px;padding-block:32px 40px;display:flex}.colophon[data-astro-cid-hkbrpulz] .colophon-mark{color:var(--fg);margin-right:-16px}.colophon-note[data-astro-cid-hkbrpulz]{flex:28rem;max-width:62ch}.colophon-links[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:8px 22px;display:flex}.colophon-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{transition:color var(--duration-quick) var(--ease-out);text-decoration:none}.colophon-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--fg)}.colophon-year[data-astro-cid-hkbrpulz]{margin-left:auto}@media (width<=767px){.colophon[data-astro-cid-hkbrpulz]{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:20px 16px;display:grid}.colophon[data-astro-cid-hkbrpulz] .colophon-mark{margin:2px 0 0}.colophon[data-astro-cid-hkbrpulz] nav[data-astro-cid-hkbrpulz],.colophon-year[data-astro-cid-hkbrpulz]{grid-column:1/-1;margin-left:0}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--duration-fast);animation-timing-function:var(--ease-smooth-out)}@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.arrow-out[data-astro-cid-tns2tesc],.arrow-back[data-astro-cid-tns2tesc]{flex:none;width:16px;height:16px}
