:root{color-scheme:light;--ink:#0b0b0b;--ink-soft:#454543;--paper:#fff;--soft:#f4f4f2;--muted:#6e6e6b;--hair:#e3e3df;--grey-100:#f8f8f7;--grey-200:#ededeb;--grey-300:#dcdcd8;--grey-400:#bfbfbb;--grey-500:#9a9a96;--field-ink:#6e6e6b;--field-alpha:.25;--field-alpha-max:.5;--field-wave:1.8s;--field-ramp:1s;--ease-rise:cubic-bezier(.16, 1, .3, 1);--ease-swap:cubic-bezier(.65, 0, .35, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--duration-fast:.16s;--duration-base:.42s;--duration-slow:.76s;--t-merge:.76s;--stagger:70ms;--reveal-failsafe:3s;--stagger-tight:26ms;--stagger-scene:.11s;--duration-hold:.8s;--dot-lag:.11s;--shadow-card:0 1px 2px color-mix(in srgb, var(--ink) 5%, transparent), 0 14px 32px -18px color-mix(in srgb, var(--ink) 28%, transparent);--shadow-hair:inset 0 0 0 1px var(--hair);--shadow-outline-hair:0 0 0 1px var(--hair);--shadow-outline-ink:0 0 0 1px var(--ink);--font-sans:"Geist Variable", system-ui, -apple-system, sans-serif;--font-serif:"Newsreader Variable", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--step-display:clamp(2.75rem, 1.6rem + 4.2vw, 5.25rem);--step-h2:clamp(2rem, 1.35rem + 2.1vw, 3.25rem);--step-h3:clamp(1.75rem, 1.3rem + 1.4vw, 2.625rem);--step-lede:clamp(1.125rem, 1rem + .4vw, 1.375rem);--step-copy:clamp(1.0625rem, .98rem + .3vw, 1.25rem);--step-note:clamp(1.25rem, 1.05rem + .7vw, 1.75rem);--step-small:.875rem;--step-label:.75rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--gutter:clamp(16px, 4vw, 48px);--page-max:1440px;--section-gap:clamp(112px, 12vw, 192px);--radius-frame:16px;--radius-pill:999px;--touch:44px;--sk-label-min:11px;--sk-body-min:13px;--lift:-2px;--nav-h:68px;--ring:2.2px;--mark-a:calc(21px * 1.75);--stage-h:calc(100svh - var(--nav-h));--layer-scroll:80svh;--fit-h:64svh}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.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}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--paper);color:var(--ink);font:16px/1.55 var(--font-sans);margin:0;overflow-x:clip}body{-webkit-font-smoothing:antialiased}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}::selection{background:var(--ink);color:var(--paper)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--gutter);z-index:30;min-height:var(--touch);background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius-pill);font:500 14px/1 var(--font-sans);align-items:center;padding:0 16px;text-decoration:none;display:inline-flex;position:fixed;top:12px;transform:translateY(-160%)}.skip:focus-visible{transform:none}.hover-lift{display:inline-flex}.hover-lift>.lift{align-items:center;gap:inherit;transition:transform var(--duration-base) var(--ease-rise);display:inline-flex}@media (hover:hover){.hover-lift:hover>.lift{transform:translateY(var(--lift))}}@media (prefers-reduced-motion:reduce){.hover-lift>.lift{transition:none}}main,footer{z-index:1;position:relative}main{padding-top:var(--nav-h)}.wrap{width:100%;max-width:var(--page-max);padding-inline:var(--gutter);margin-inline:auto}section[id]{scroll-margin-top:var(--nav-h)}h2{font:400 var(--step-h2)/1.08 var(--font-serif);letter-spacing:-.012em;text-wrap:balance;margin:0}.lede{font-size:var(--step-lede);color:var(--ink-soft);text-wrap:pretty;margin:0;line-height:1.5}.label{font:500 var(--step-label)/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media (width>=900px){.cols{column-gap:var(--s-6);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;display:grid}}.rule{height:1px;margin-top:var(--s-6);background:var(--ink);transform-origin:0;display:block}.sec-head .rule{margin-top:var(--s-6)}.js .rv{opacity:0;transform:translateY(12px)}.js .rv.is-in{opacity:1;transition:opacity var(--duration-slow) var(--ease-rise), transform var(--duration-slow) var(--ease-rise);transition-delay:calc(var(--i,0) * var(--stagger));transform:none}.rv.i1{--i:1}.rv.i2{--i:2}.rv.i3{--i:3}.js .rule{transform:scaleX(0)}.js .rule.is-in{transition:transform var(--duration-slow) var(--ease-rise) var(--duration-fast);transform:none}.js:not(.js-live) .rv,.js:not(.js-live) .rule{animation:rv-failsafe 0s linear var(--reveal-failsafe) forwards}@keyframes rv-failsafe{to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.js .rv,.js .rv.is-in,.js .rule,.js .rule.is-in{opacity:1;transition:none;transform:none}}.field{z-index:0;pointer-events:none;opacity:0;width:100%;height:100lvh;transition:opacity var(--duration-slow) var(--ease-swap);position:fixed;top:0;left:0}.field.is-on{opacity:1}@media (prefers-reduced-motion:reduce){.field{transition:none}}.nav{height:var(--nav-h);z-index:10;background:var(--paper);align-items:center;gap:var(--s-5);padding:0 var(--gutter);display:flex;position:fixed;inset:0 0 auto}.nav:after{content:"";background:var(--hair);height:1px;transition:background-color var(--t-merge) var(--ease-swap);position:absolute;bottom:0;left:0;right:0}.merged .nav:after{background:var(--ink)}.word{height:40px;color:var(--ink);font:500 21px/1 var(--font-sans);letter-spacing:.2em;white-space:nowrap;align-items:center;text-decoration:none;display:flex;position:relative}.word:after{content:"";position:absolute;inset:-2px -4px}.merged .word:focus-visible{outline:none}.merged .word:focus-visible:after{right:auto;left:calc(var(--mark-x,0px) - 4px);outline:2px solid var(--ink);outline-offset:3px;border-radius:var(--radius-pill);width:80px}.ch{display:inline-block;position:relative}.a{z-index:2;-webkit-text-stroke:2px var(--paper);paint-order:stroke fill;transition:transform var(--t-merge) var(--ease-rise);transform-origin:50% 62%}.merged .a{transform:translateX(var(--shift,0px)) scale(1.75)}.mid{transition:opacity calc(var(--t-merge) * .5) var(--ease-swap), transform var(--t-merge) var(--ease-swap), filter calc(var(--t-merge) * .5) var(--ease-swap);transition-delay:var(--d,0s)}.merged .mid{opacity:0;transform:translateX(var(--toA,0)) scale(.55);filter:blur(2px)}.o{letter-spacing:0;transform-origin:50%;transition:transform var(--t-merge) var(--ease-rise), opacity calc(var(--t-merge) * .45) var(--ease-swap)}.merged .o{transform:translate(var(--ox,0), var(--oy,0)) scale(.5);opacity:0;transition-delay:0s, calc(var(--t-merge) * .35)}.ring{pointer-events:none;width:72px;height:24px;left:var(--rx,0);top:var(--ry,0);position:absolute;overflow:visible}.ring.back{z-index:1}.ring.front{z-index:3}.ring path{fill:none;stroke:var(--ink);stroke-width:var(--ring);stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1px;transition:stroke-dashoffset var(--t-merge) var(--ease-rise)}.ring .halo{stroke:var(--paper);stroke-width:calc(var(--ring) + 3px)}.merged .ring path{stroke-dashoffset:0;transition-delay:calc(var(--t-merge) * .3)}.merged .ring.back path{transition-delay:calc(var(--t-merge) * .45)}.links{gap:6px;margin-left:auto;display:flex}.links a,.nav-lang,.menu-btn{font:500 14px/1 var(--font-sans);color:var(--ink);background:var(--paper);border-radius:var(--radius-pill);border:1px solid var(--hair);transition:background-color var(--duration-fast) var(--ease-rise), border-color var(--duration-fast) var(--ease-rise);align-items:center;padding:9px 14px;text-decoration:none;display:inline-flex;position:relative}.links a:after,.nav-lang:after,.menu-btn:after{content:"";position:absolute;inset:-6px -3px}.links a:hover,.nav-lang:hover,.menu-btn:hover,.menu-btn[aria-expanded=true]{background:var(--soft);border-color:var(--ink)}.nav-lang{font-family:var(--font-mono);font-size:var(--step-label);letter-spacing:.08em}@media (prefers-reduced-motion:reduce){.a,.mid,.o,.ring path,.nav:after{transition:none}}.wm-measure .word .ch,.wm-measure .word .ring path,.wm-measure .nav:after{transition:none}.menu-btn{grid-template-areas:"l";display:none}.mb-l{text-align:center;grid-area:l}.menu-btn[aria-expanded=true] .is-open-l,.menu-btn:not([aria-expanded=true]) .is-close-l{visibility:hidden}.menu{padding:4px var(--gutter) var(--s-5);background:var(--paper);border-bottom:1px solid var(--hair);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-exit), transform var(--duration-fast) var(--ease-exit), visibility 0s linear var(--duration-fast);display:grid;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.menu.is-open{opacity:1;visibility:visible;transition:opacity var(--duration-base) var(--ease-rise), transform var(--duration-base) var(--ease-rise), visibility 0s;transform:none}.menu a{border-bottom:1px solid var(--hair);min-height:56px;font:400 1.5rem/1.2 var(--font-serif);color:var(--ink);align-items:center;text-decoration:none;display:flex}.menu a:last-child{border-bottom:0}@media (width<=720px){.links{display:none}.nav-lang{margin-left:auto}.nav{gap:var(--s-3)}.js .menu-btn{display:inline-grid}}@media (width>=721px){.menu{display:none}}@media (prefers-reduced-motion:reduce){.menu,.menu.is-open{transition:none;transform:none}}.colophon{align-items:center;gap:var(--s-4) var(--s-6);padding-block:var(--s-7) var(--s-8);border-top:1px solid var(--hair);font-size:var(--step-small);color:var(--muted);flex-wrap:wrap;display:flex}.colophon p{flex:18rem;margin:0}.foot-links{align-items:center;gap:0 var(--s-5);flex-wrap:wrap;display:flex}.foot-links a{color:var(--ink);text-underline-offset:.22em;min-height:var(--touch);align-items:center;text-decoration-thickness:1px;display:inline-flex}.foot-links .foot-lang{min-height:0;font:500 var(--step-label)/1 var(--font-mono);letter-spacing:.08em;border:1px solid var(--hair);border-radius:var(--radius-pill);transition:background-color var(--duration-fast) var(--ease-rise), border-color var(--duration-fast) var(--ease-rise);padding:9px 14px;text-decoration:none;position:relative}.foot-links .foot-lang:after{content:"";position:absolute;inset:-6px -3px}.foot-links .foot-lang:hover{background:var(--soft);border-color:var(--ink)}.fmark{width:72px;height:var(--mark-a);flex:none;position:relative}.fmark-a{z-index:2;font:500 var(--mark-a)/1 var(--font-sans);color:var(--ink);-webkit-text-stroke:3.5px var(--paper);paint-order:stroke fill;position:absolute;top:0;left:50%;transform:translate(-50%)}.fm-ring{left:0;top:calc(var(--mark-a) * .62 - 12px);pointer-events:none;width:72px;height:24px;position:absolute;overflow:visible}.fm-back{z-index:1}.fm-front{z-index:3}.fm-ring path{fill:none;stroke:var(--ink);stroke-width:var(--ring);stroke-linecap:round}.fm-ring .fm-halo{stroke:var(--paper);stroke-width:calc(var(--ring) + 3px)}
