.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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: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:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.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:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.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 Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}:root{--paper:#f4f3ee;--paper-2:#ebe9e2;--ink:#121518;--ink-2:#353b41;--muted:#6a7077;--rule:#d6d3c9;--rule-strong:#b9b5a8;--accent:#0a6b5c;--accent-soft:color-mix(in oklab, var(--accent) 12%, var(--paper));--accent-ink:#f4f3ee;--trace:#0b8a71;--signal:#c2410c;--selection:color-mix(in oklab, var(--accent) 22%, transparent);--serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--sans:"IBM Plex Sans Variable", ui-sans-serif, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--step--1:clamp(.8rem, .78rem + .1vw, .86rem);--step-0:clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1:clamp(1.2rem, 1.1rem + .45vw, 1.45rem);--step-2:clamp(1.5rem, 1.3rem + .9vw, 2.05rem);--step-3:clamp(1.9rem, 1.5rem + 1.8vw, 3rem);--step-4:clamp(2.5rem, 1.8rem + 3.4vw, 4.6rem);--step-5:clamp(3rem, 1.9rem + 5.6vw, 7rem);--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--max:1320px;--measure:66ch;--header-h:68px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur:.9s;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0d1012;--paper-2:#151a1d;--ink:#e8e6df;--ink-2:#bfc2bd;--muted:#868c90;--rule:#252b2f;--rule-strong:#3a4247;--accent:#4fd1ad;--accent-ink:#0d1012;--trace:#4fd1ad;--signal:#fb923c;color-scheme:dark}}:root[data-theme=dark]{--paper:#0d1012;--paper-2:#151a1d;--ink:#e8e6df;--ink-2:#bfc2bd;--muted:#868c90;--rule:#252b2f;--rule-strong:#3a4247;--accent:#4fd1ad;--accent-ink:#0d1012;--trace:#4fd1ad;--signal:#fb923c;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);font-feature-settings:"ss01", "kern";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.6;transition:background-color .4s,color .4s;overflow-x:clip}::selection{background:var(--selection)}img,svg,canvas{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.018em;text-wrap:balance;margin:0;font-weight:380;line-height:1.06}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:var(--step--1);padding:.6rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(4.5rem,3rem + 7vw,9rem)}.section--tight{padding-block:clamp(3rem,2rem + 4vw,5.5rem)}.grid-12{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.section-head{column-gap:var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:baseline;margin-bottom:clamp(2.5rem,1.5rem + 3vw,4.5rem);padding-top:1.1rem;display:grid;position:relative}.section-head:before{content:"";background:var(--rule-strong);transform-origin:0;height:1px;position:absolute;inset:0 0 auto}.section-head .index{grid-column:span 3}.section-head h2{font-size:var(--step-3);grid-column:4/-1}@media (width<=760px){.section-head .index,.section-head h2{grid-column:1/-1}.section-head .index{margin-bottom:1rem}}.mono,.label{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.02em;font-weight:400}.label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.74rem}.muted{color:var(--muted)}.serif{font-family:var(--serif)}.italic,em.accent{font-style:italic}em.accent{color:var(--accent);font-weight:340}.lede{font-family:var(--serif);font-size:var(--step-2);letter-spacing:-.01em;color:var(--ink);font-weight:340;line-height:1.28}.link{transition:background-size .5s var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:100% 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:1px}.link:hover,.link:focus-visible{background-position:0 100%;background-size:100% 1px}.link--static{background-position:0 100%;background-size:100% 1px}.link--static:hover{background-position:100% 100%;background-size:0% 1px}.btn{--btn-bg:var(--ink);--btn-fg:var(--paper);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--mono);letter-spacing:.02em;border:1px solid var(--btn-bg);cursor:pointer;isolation:isolate;transition:color .45s var(--ease-out), border-color .45s var(--ease-out);border-radius:999px;align-items:center;gap:.75rem;padding:.95rem 1.35rem .95rem 1.4rem;font-size:.82rem;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--accent);transition:transform .6s var(--ease-out), border-radius .6s var(--ease-out);border-radius:50% 50% 0 0/30% 30% 0 0;position:absolute;inset:0;transform:translateY(101%)}.btn:hover:before,.btn:focus-visible:before{border-radius:0;transform:translateY(0)}.btn:hover,.btn:focus-visible{color:var(--accent-ink);border-color:var(--accent)}.btn .arrow{transition:transform .5s var(--ease-out);display:inline-block}.btn:hover .arrow{transform:translate(4px)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);border-color:var(--rule-strong)}.status{font-family:var(--mono);color:var(--ink-2);align-items:center;gap:.6rem;font-size:.78rem;display:inline-flex}.status .dot{background:var(--trace);border-radius:50%;width:8px;height:8px;position:relative}.status .dot:after{content:"";border:1px solid var(--trace);animation:ping 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-4px}.status--closed .dot{background:var(--muted)}.status--closed .dot:after{display:none}@keyframes ping{0%{opacity:.9;transform:scale(.6)}80%,to{opacity:0;transform:scale(1.9)}}.js [data-reveal]{opacity:0;transition:opacity var(--dur) var(--ease-out), transform calc(var(--dur) * 1.2) var(--ease-out);transition-delay:calc(var(--i,0) * 80ms + var(--delay,0s));transform:translateY(28px)}.js [data-reveal=fade]{transform:none}.js [data-reveal].is-in{opacity:1;transform:none}.js .section-head:before,.js [data-rule]{transition:transform 1.4s var(--ease-in-out);transform:scaleX(0)}.js .section-head.is-in:before,.js [data-rule].is-in{transform:scaleX(1)}[data-rule]{background:var(--rule-strong);transform-origin:0;border:0;height:1px;margin:0}.line-mask{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.line-mask>span{display:block}.js .line-mask>span{transition:transform 1.25s var(--ease-out);transition-delay:calc(var(--i,0) * .11s + .12s);transform:translateY(105%)}.js .line-mask.is-in>span{transform:none}.illuminate .w{transition:color .35s linear}.js .illuminate .w{color:color-mix(in oklab, var(--ink) 22%, var(--paper))}.js .illuminate .w.on{color:var(--ink)}.js .illuminate em .w.on{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js .illuminate .w{color:var(--ink)}}::view-transition-old(root){animation:vt-out .35s var(--ease-in-out) both}::view-transition-new(root){animation:vt-in .6s var(--ease-out) both}@keyframes vt-out{to{opacity:0;transform:translateY(-8px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(14px)}}::view-transition-group(site-header){animation:none}.prose{max-width:var(--measure);color:var(--ink-2);font-size:1.075rem;line-height:1.75}.prose>*+*{margin-top:1.25em}.prose h2{font-size:var(--step-2);color:var(--ink);margin-top:2.4em;margin-bottom:-.2em}.prose h3{font-size:var(--step-1);color:var(--ink);margin-top:2em;margin-bottom:-.3em}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-thickness .2s}.prose a:hover{text-decoration-thickness:2px}.prose strong{color:var(--ink);font-weight:600}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.45em}.prose li::marker{color:var(--accent);font-family:var(--mono);font-size:.85em}.prose blockquote{border-left:2px solid var(--accent);font-family:var(--serif);color:var(--ink);margin-inline:0;padding:.2em 0 .2em 1.4em;font-size:1.3em;font-style:italic;line-height:1.45}.prose code{font-family:var(--mono);background:var(--paper-2);border-radius:3px;padding:.12em .35em;font-size:.88em}.prose pre{border:1px solid var(--rule);border-radius:6px;padding:1.2em;font-size:.88rem;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{background:var(--rule);border:0;height:1px;margin-block:2.5em}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.7em 1em .7em 0}.prose th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem;font-weight:500}.prose img{border-radius:6px}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:var(--shiki-dark-bg)!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;background-color:var(--shiki-dark-bg)!important}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;height:var(--header-h);transition:transform .6s var(--ease-out), background-color .4s ease, box-shadow .4s ease;position:fixed;inset:0 0 auto}.site-header[data-astro-cid-nen7h5rs]:after{content:"";background:var(--rule);opacity:0;height:1px;transition:opacity .4s;position:absolute;inset:auto 0 0}.site-header.is-scrolled{background:color-mix(in oklab, var(--paper) 82%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.4)}.site-header.is-scrolled:after{opacity:1}.site-header.is-hidden{transform:translateY(-100%)}.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:2rem;height:100%;display:flex}.brand[data-astro-cid-nen7h5rs]{z-index:2;align-items:center;gap:.45rem;display:inline-flex;position:relative}.brand-word[data-astro-cid-nen7h5rs]{font-family:var(--serif);letter-spacing:-.02em;font-size:1.5rem;font-weight:420;line-height:1}.brand-sub[data-astro-cid-nen7h5rs]{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.68rem;transform:translateY(1px)}.brand-pulse[data-astro-cid-nen7h5rs]{fill:none;width:30px;height:13px;stroke:var(--trace);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:0}.brand[data-astro-cid-nen7h5rs]:hover .brand-pulse[data-astro-cid-nen7h5rs]{animation:draw 1.1s var(--ease-in-out)}@keyframes draw{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}.nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:clamp(1.25rem,2.2vw,2.4rem);margin:0;padding:0;list-style:none;display:flex}.nav-link[data-astro-cid-nen7h5rs]{color:var(--ink-2);padding-block:.4rem;font-size:.92rem;transition:color .3s;position:relative}.nav-link[data-astro-cid-nen7h5rs]:after{content:"";transform-origin:100%;height:1px;transition:transform .5s var(--ease-out);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.nav-link[data-astro-cid-nen7h5rs]:hover:after{transform-origin:0;transform:scaleX(1)}.nav-link[data-astro-cid-nen7h5rs].active{color:var(--ink)}.nav-link[data-astro-cid-nen7h5rs].active:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-9px;left:50%}.actions[data-astro-cid-nen7h5rs]{z-index:2;align-items:center;gap:.75rem;display:flex;position:relative}.header-cta[data-astro-cid-nen7h5rs]{padding:.62rem 1rem .62rem 1.1rem;font-size:.76rem}.theme-toggle[data-astro-cid-nen7h5rs]{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:38px;height:38px;transition:border-color .3s;display:grid}.theme-toggle[data-astro-cid-nen7h5rs]:hover{border-color:var(--rule-strong)}.theme-toggle[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{width:18px;height:18px;transition:transform .8s var(--ease-out)}.theme-toggle[data-astro-cid-nen7h5rs] circle[data-astro-cid-nen7h5rs]{fill:none;stroke:currentColor;stroke-width:1.3px}.theme-toggle[data-astro-cid-nen7h5rs] path[data-astro-cid-nen7h5rs]{fill:currentColor}[data-theme=dark] .theme-toggle[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{transform:rotate(180deg)}.menu-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;background:0 0;border:0;align-items:center;gap:.6rem;padding:.5rem 0;font-size:.78rem;display:none}.menu-icon[data-astro-cid-nen7h5rs]{gap:5px;width:20px;display:grid}.menu-icon[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]{height:1.5px;transition:transform .5s var(--ease-out);background:currentColor;display:block}.menu-open .menu-icon[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]:first-child{transform:translateY(3.25px)rotate(45deg)}.menu-open .menu-icon[data-astro-cid-nen7h5rs] i[data-astro-cid-nen7h5rs]:last-child{transform:translateY(-3.25px)rotate(-45deg)}.mobile-menu[data-astro-cid-nen7h5rs]{z-index:49;background:var(--paper);padding-top:calc(var(--header-h) + 6vh);clip-path:inset(0 0 100%);transition:clip-path .8s var(--ease-in-out);display:none;position:fixed;inset:0}.menu-open .mobile-menu[data-astro-cid-nen7h5rs]{clip-path:inset(0)}.menu-open body{overflow:hidden}.mobile-menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{margin:0;padding:0;list-style:none}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--rule);opacity:0;transition:opacity .6s var(--ease-out), transform .8s var(--ease-out);align-items:baseline;gap:1rem;padding-block:.7rem;display:flex;transform:translateY(24px)}.menu-open .mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs]{opacity:1;transition-delay:calc(.25s + var(--i) * 60ms);transform:none}.mobile-menu[data-astro-cid-nen7h5rs] li[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.1}.mobile-foot[data-astro-cid-nen7h5rs]{flex-direction:column;align-items:flex-start;gap:.9rem;margin-top:2.5rem;font-size:.85rem;display:flex}@media (width<=900px){.nav[data-astro-cid-nen7h5rs],.header-cta[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs]{display:inline-flex}.mobile-menu[data-astro-cid-nen7h5rs]{display:block}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--paper-2);margin-top:clamp(4rem,3rem + 5vw,8rem);padding-top:clamp(3rem,2rem + 4vw,6rem);overflow:hidden}.cta[data-astro-cid-jo6i4kqk]{padding-bottom:clamp(2.5rem,2rem + 3vw,5rem)}.big-link[data-astro-cid-jo6i4kqk]{font-family:var(--serif);font-size:var(--step-4);letter-spacing:-.03em;align-items:center;gap:.25em;margin-top:.8rem;font-weight:340;line-height:1;display:inline-flex}.big-link[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]{background-image:linear-gradient(var(--accent), var(--accent));transition:background-size .9s var(--ease-out);background-position:0 92%;background-repeat:no-repeat;background-size:0% 2px}.big-link[data-astro-cid-jo6i4kqk] svg[data-astro-cid-jo6i4kqk]{fill:none;stroke:currentColor;stroke-width:2.4px;width:.7em;height:.7em;transition:transform .7s var(--ease-out), stroke .4s}.big-link[data-astro-cid-jo6i4kqk]:hover span[data-astro-cid-jo6i4kqk]{background-size:100% 2px}.big-link[data-astro-cid-jo6i4kqk]:hover svg[data-astro-cid-jo6i4kqk]{stroke:var(--accent);transform:translate(6px,-6px)rotate(45deg)}.cols[data-astro-cid-jo6i4kqk]{gap:2rem var(--gutter);grid-template-columns:repeat(4,minmax(0,1fr));padding-block:2.5rem 1rem;display:grid}.cols[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.45rem;margin:.9rem 0 0;padding:0;font-size:.95rem;list-style:none;display:grid}.clock[data-astro-cid-jo6i4kqk]{font-variant-numeric:tabular-nums;margin-top:.9rem;font-size:1.05rem}.col--meta[data-astro-cid-jo6i4kqk] .muted[data-astro-cid-jo6i4kqk]{margin-top:.2rem;font-size:.82rem}.wordmark[data-astro-cid-jo6i4kqk]{font-family:var(--serif);letter-spacing:-.055em;color:color-mix(in oklab, var(--ink) 9%, var(--paper-2));user-select:none;white-space:nowrap;margin-top:clamp(2rem,4vw,4rem);margin-left:-.04em;font-size:clamp(5rem,24vw,22rem);font-weight:300;line-height:.8}.legal[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.4rem 1.8rem;font-size:.74rem;display:flex}@media (width<=760px){.cols[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}}
