@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-italic.B5xAaiFk.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-italic.DzZdc28x.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-italic.DcOpz6Lw.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-italic.CILZdfAp.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-italic.K3WlGtc8.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-italic.0pjOp8NU.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-italic.DpCbqKDY.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 Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-ext-wght-normal.X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-cyrillic-wght-normal.DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-symbols2-wght-normal.CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-vietnamese-wght-normal.DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-ext-wght-normal.Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2)format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.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:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.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{color-scheme:light dark;--bg:light-dark(#faf9f7,#0f1012);--surface:light-dark(#fff,#16181b);--surface-raised:light-dark(#f3f1ec,#1d2024);--text:light-dark(#1c1b18,#e8e6e1);--muted:light-dark(#6d6a62,#9c9890);--border:light-dark(#14120c1a,#ffffff17);--border-strong:light-dark(#14120c33,#ffffff2e);--accent:light-dark(#8a6d2f,#d9bc7a);--accent-hover:light-dark(#6d5522,#e8d093);--accent-soft:light-dark(#8a6d2f1a,#d9bc7a1f);--teal:light-dark(#33616d,#6fa9b7);--teal-soft:light-dark(#33616d1a,#5f9aa81f);--selection:light-dark(#8a6d2f38,#d9bc7a40);--glow:light-dark(#8a6d2f0f,#d9bc7a13);--font-sans:"Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius:14px;--radius-sm:8px;--page:66rem;--gutter:clamp(1.25rem, 4vw, 2rem);--rail:11.5rem;--rail-gap:clamp(2rem, 5vw, 4rem);--measure:43rem;--header-height:4rem;--ease:cubic-bezier(.22, .68, .3, 1);--fast:.16s}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{background-color:var(--bg);background-image:radial-gradient(ellipse 60rem 26rem at 50% -9rem, var(--glow), transparent 72%);min-height:100svh;color:var(--text);font-family:var(--font-sans);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;background-repeat:no-repeat;flex-direction:column;font-size:1.03125rem;line-height:1.65;display:flex}::selection{background:var(--selection)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;text-wrap:balance;font-weight:620;line-height:1.2}h1{font-family:var(--font-display);letter-spacing:-.015em;font-size:clamp(2.7rem,7vw,4rem);font-weight:400;line-height:1.04}p{text-wrap:pretty}a{color:inherit;text-decoration-color:color-mix(in oklab, currentColor 35%, transparent);text-underline-offset:.2em;transition:color var(--fast) ease, text-decoration-color var(--fast) ease;text-decoration-thickness:1px}a:hover{color:var(--accent-hover);text-decoration-color:currentColor}img,svg,video{max-width:100%;height:auto}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{width:100%;max-width:var(--page);padding-inline:var(--gutter);margin-inline:auto}main{flex:1 0 auto;padding-block:clamp(2.5rem,7vw,4.5rem) clamp(4rem,9vw,6.5rem)}.label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:450;line-height:1.6}.lede{max-width:36rem;color:var(--muted);margin-top:1.1rem;font-size:1.14rem;line-height:1.6}.arrow-link{color:var(--accent);align-items:baseline;gap:.4em;font-size:.94rem;font-weight:500;text-decoration:none;display:inline-flex}.arrow-link:after{content:"→";transition:transform var(--fast) var(--ease)}.arrow-link:hover:after{transform:translate(3px)}.arrow-link.back:after{content:none}.arrow-link.back:before{content:"←";transition:transform var(--fast) var(--ease)}.arrow-link.back:hover:before{transform:translate(-3px)}.chips{flex-wrap:wrap;gap:.35rem;padding:0;list-style:none;display:flex}.chip{font-family:var(--font-mono);letter-spacing:.02em;color:var(--teal);background:var(--teal-soft);border:1px solid color-mix(in oklab, var(--teal) 30%, transparent);border-radius:999px;padding:.1rem .55rem;font-size:.7rem;line-height:1.5}.button{color:var(--text);background:var(--surface);border:1px solid var(--border-strong);transition:color var(--fast) ease, border-color var(--fast) ease, background-color var(--fast) ease;border-radius:999px;align-items:center;padding:.55rem 1.1rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{color:var(--accent);border-color:color-mix(in oklab, var(--accent) 50%, transparent);background:var(--accent-soft)}.skip-link{z-index:30;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.6rem .9rem;font-size:.9rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:var(--gutter);top:.75rem}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}.reveal>*{animation:reveal .6s var(--ease) backwards;animation-delay:calc(var(--reveal-index,0) * 70ms)}.reveal>:nth-child(2){--reveal-index:1}.reveal>:nth-child(3){--reveal-index:2}.reveal>:nth-child(4){--reveal-index:3}.reveal>:nth-child(5){--reveal-index:4}.reveal>:nth-child(n+6){--reveal-index:5}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}}}.prose{max-width:var(--measure);font-size:1.06rem;line-height:1.75}.prose>*+*{margin-top:1.2rem}.prose h2{margin-top:3rem;font-size:1.5rem}.prose h3{margin-top:2.25rem;font-size:1.2rem}.prose h4,.prose h5,.prose h6{margin-top:1.9rem;font-size:1.04rem}.prose :is(h2,h3,h4,h5,h6)+*{margin-top:.75rem}.prose a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent)}.prose a:hover{color:var(--accent-hover);text-decoration-color:currentColor}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.4rem}.prose li::marker{color:var(--muted)}.prose p,.prose li{overflow-wrap:anywhere}.prose strong{font-weight:640}.prose del,.prose s{color:var(--muted)}.prose mark{background:var(--accent-soft);color:inherit;border-radius:4px;padding:.05em .25em}.prose hr{border:0;border-top:1px solid var(--border);margin:2.75rem 0}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);padding-left:1.2rem;font-style:italic}.prose blockquote p+p{margin-top:.8rem}.prose img{border-radius:var(--radius);border:1px solid var(--border);background-color:#fff;display:block}.prose figure{margin-block:1.75rem}.prose figcaption{color:var(--muted);text-align:center;margin-top:.6rem;font-size:.84rem;line-height:1.5}.prose iframe{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;height:auto;display:block}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;padding:.1em .35em;font-size:.86em}.prose .astro-code{tab-size:2;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.3rem;font-size:.86rem;line-height:1.65;overflow-x:auto}.prose .astro-code,.prose .astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}.prose .astro-code code{font-family:var(--font-mono)}.prose table{border-collapse:collapse;width:100%;font-size:.94rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.6rem 1rem .6rem 0}.prose th{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom-color:var(--border-strong);font-size:.72rem;font-weight:500}.prose-compact h2{margin-top:2.25rem;font-size:1.15rem}.theme-toggle[data-astro-cid-l6lhmie6]{width:2.15rem;height:2.15rem;color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:color var(--fast) ease, border-color var(--fast) ease, background-color var(--fast) ease;background:0 0;border-radius:999px;place-items:center;padding:0;display:inline-grid}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--accent);border-color:var(--border-strong);background:var(--accent-soft)}svg[data-astro-cid-l6lhmie6]{grid-area:1/1;width:1.05rem;height:1.05rem}.sun[data-astro-cid-l6lhmie6]{stroke:light-dark(#0000,currentColor)}.moon[data-astro-cid-l6lhmie6]{stroke:light-dark(currentColor,#0000)}.site-header[data-astro-cid-nen7h5rs]{z-index:20;background:color-mix(in oklab, var(--bg) 78%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--border);position:sticky;top:0}.wrap[data-astro-cid-nen7h5rs]{height:var(--header-height);justify-content:space-between;align-items:stretch;gap:1rem;display:flex}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand[data-astro-cid-nen7h5rs] svg{width:2rem;height:1.6rem;color:var(--accent);transition:color var(--fast) ease;display:block}.brand[data-astro-cid-nen7h5rs]:hover svg{color:var(--accent-hover)}.brand-name[data-astro-cid-nen7h5rs]{letter-spacing:-.012em;color:var(--text);font-size:.95rem;font-weight:560}nav[data-astro-cid-nen7h5rs]{align-items:center;gap:.15rem;display:flex}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{height:100%;color:var(--muted);align-items:center;padding-inline:.7rem;font-size:.92rem;text-decoration:none;display:inline-flex;position:relative}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{content:"";background:var(--accent);height:1px;transition:transform .22s var(--ease);position:absolute;inset:auto .7rem -1px;transform:scaleX(0)}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]:after{transform:scaleX(1)}nav[data-astro-cid-nen7h5rs] .theme-toggle{margin-left:.5rem}@media (width<=30rem){.brand-name[data-astro-cid-nen7h5rs]{display:none}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{padding-inline:.55rem}nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:after{inset-inline:.55rem}}.site-footer[data-astro-cid-jo6i4kqk]{color:var(--muted);border-top:1px solid var(--border);padding-block:2rem 2.75rem;font-size:.88rem}.wrap[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.colophon[data-astro-cid-jo6i4kqk]{align-items:center;gap:.7rem;display:flex}.colophon[data-astro-cid-jo6i4kqk] svg{width:1.5rem;height:1.2rem;color:var(--accent)}nav[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:.4rem 1.25rem;display:flex}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{text-decoration:none}nav[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}
