@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/overpass-cyrillic-ext-600-normal.CW4Fknsm.woff2)format("woff2"),url(/_astro/overpass-cyrillic-ext-600-normal.Zx-mtRSD.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:Overpass;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/overpass-cyrillic-600-normal.B-hc8bdn.woff2)format("woff2"),url(/_astro/overpass-cyrillic-600-normal.CXB2Mrig.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/overpass-vietnamese-600-normal.CjS-4vQf.woff2)format("woff2"),url(/_astro/overpass-vietnamese-600-normal.DlMMlPfM.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:Overpass;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/overpass-latin-ext-600-normal.Cyj4Nio0.woff2)format("woff2"),url(/_astro/overpass-latin-ext-600-normal.DQKKMGzp.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:Overpass;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/overpass-latin-600-normal.25RhTNCi.woff2)format("woff2"),url(/_astro/overpass-latin-600-normal.DhYQrzaY.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:Overpass;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/overpass-cyrillic-ext-800-normal.CIth-cA7.woff2)format("woff2"),url(/_astro/overpass-cyrillic-ext-800-normal.hx3cL3ZN.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:Overpass;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/overpass-cyrillic-800-normal.CP6RWG8X.woff2)format("woff2"),url(/_astro/overpass-cyrillic-800-normal.PJW4A9xW.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/overpass-vietnamese-800-normal.BB8K9-Vo.woff2)format("woff2"),url(/_astro/overpass-vietnamese-800-normal.DZUygvj_.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:Overpass;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/overpass-latin-ext-800-normal.DZ60AB77.woff2)format("woff2"),url(/_astro/overpass-latin-ext-800-normal.D6WKWGNs.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:Overpass;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/overpass-latin-800-normal.Bzx_XP5l.woff2)format("woff2"),url(/_astro/overpass-latin-800-normal.D6-q4f0l.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:Overpass;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/overpass-cyrillic-ext-900-normal.P9UGsiq6.woff2)format("woff2"),url(/_astro/overpass-cyrillic-ext-900-normal.7nlQig5V.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:Overpass;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/overpass-cyrillic-900-normal.CPWYUWoj.woff2)format("woff2"),url(/_astro/overpass-cyrillic-900-normal.D0oVi4e2.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/overpass-vietnamese-900-normal.BzpQ9fEd.woff2)format("woff2"),url(/_astro/overpass-vietnamese-900-normal.D1DPeIVM.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:Overpass;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/overpass-latin-ext-900-normal.CXxCfwuC.woff2)format("woff2"),url(/_astro/overpass-latin-ext-900-normal.CL1fbAqK.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:Overpass;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/overpass-latin-900-normal.WqSsytnt.woff2)format("woff2"),url(/_astro/overpass-latin-900-normal.L-6UWqLA.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/public-sans-vietnamese-400-normal.TxZB8OSn.woff2)format("woff2"),url(/_astro/public-sans-vietnamese-400-normal.BO1meqcx.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-ext-400-normal.mk90oQqJ.woff2)format("woff2"),url(/_astro/public-sans-latin-ext-400-normal.B02wwOdZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-400-normal.8Rpg0ruU.woff2)format("woff2"),url(/_astro/public-sans-latin-400-normal.SBbinRkI.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:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/public-sans-vietnamese-400-italic.BxGMV3P9.woff2)format("woff2"),url(/_astro/public-sans-vietnamese-400-italic.BtoPYhHL.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:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-ext-400-italic.CNGQRUpp.woff2)format("woff2"),url(/_astro/public-sans-latin-ext-400-italic.BqkXX9t-.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:Public Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/public-sans-latin-400-italic.B1appi_f.woff2)format("woff2"),url(/_astro/public-sans-latin-400-italic.DsCWG5h0.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/public-sans-vietnamese-600-normal.P4BtCUdw.woff2)format("woff2"),url(/_astro/public-sans-vietnamese-600-normal.CcnAzmUX.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/public-sans-latin-ext-600-normal.DchWdWJ_.woff2)format("woff2"),url(/_astro/public-sans-latin-ext-600-normal.DfkbVac2.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/public-sans-latin-600-normal.Fru-LXNs.woff2)format("woff2"),url(/_astro/public-sans-latin-600-normal.BR59oU-I.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/overpass-mono-cyrillic-ext-400-normal.Dgejvo4A.woff2)format("woff2"),url(/_astro/overpass-mono-cyrillic-ext-400-normal.DgxwtUZy.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/overpass-mono-cyrillic-400-normal.B144qALP.woff2)format("woff2"),url(/_astro/overpass-mono-cyrillic-400-normal.XK9_jwT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/overpass-mono-vietnamese-400-normal.jmOeL0rj.woff2)format("woff2"),url(/_astro/overpass-mono-vietnamese-400-normal.DrLp_cHj.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/overpass-mono-latin-ext-400-normal.DBdJzBs_.woff2)format("woff2"),url(/_astro/overpass-mono-latin-ext-400-normal.5YIw-E8g.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:Overpass Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/overpass-mono-latin-400-normal.VINZG6Js.woff2)format("woff2"),url(/_astro/overpass-mono-latin-400-normal.DqAOLzCO.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{--sign:#0f7a48;--sign-2:#0a5a35;--footer-bg:#0a5a35;--footer-bg-2:#07442a;--header-bg:#fffffff7;--glow-sun:#f5c04a29;--glow-green:#0f7a481a;--alert-bg:#fde7e5;--alert-ink:#a4262c;--alert-rule:#f5b8b3;--sign-deep:#0a5a35;--sign-ink:#fff;--sky:#e3f1ea;--field:#c4e1c4;--sun:#f5c04a;--sun-soft:#fff5dc;--paper:#fff;--surface:#fff;--wash:#f4f8f6;--ink:#1b2a22;--muted:#5b6b63;--rule:#e1e8e4;--link:#0b6a3e;--code-bg:#1e2a24;--sign-soft:#e3f1ea;--caution:#f5c04a;--font-display:"Overpass", "Segoe UI", system-ui, sans-serif;--font-body:"Public Sans", "Segoe UI", system-ui, sans-serif;--font-code:"Overpass Mono", ui-monospace, Consolas, monospace;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.3rem;--step-2:clamp(1.6rem, 3vw, 2rem);--step-3:clamp(2rem, 4.5vw, 2.6rem);--step-hero:clamp(2.5rem, 5.6vw, 4.2rem);--measure:42rem;--wide:74rem;--gutter:clamp(1.1rem, 4vw, 2.5rem);--radius:14px;color-scheme:light}@media screen{html[data-theme=dark]{--sign:#1f8a55;--sign-2:#126b40;--sign-deep:#7fd9a8;--sign-ink:#fff;--sky:#14231c;--field:#1b3326;--sun:#f5c04a;--sun-soft:#2b2513;--paper:#0e1512;--surface:#16201b;--wash:#121c17;--ink:#e3ebe6;--muted:#9db0a6;--rule:#26352d;--link:#74d3a0;--code-bg:#08100c;--sign-soft:#14231c;--caution:#f5c04a;--footer-bg:#0b1f15;--footer-bg-2:#06130c;--header-bg:#0e1512f7;--glow-sun:#f5c04a12;--glow-green:#2fae6f24;--alert-bg:#3a1716;--alert-ink:#ffb4ae;--alert-rule:#6b2a27;color-scheme:dark}html[data-theme=dark] img:not([src$=\.svg]){filter:brightness(.9)saturate(.95)}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(1100px 520px at 88% -8%, var(--glow-sun), transparent 62%), radial-gradient(900px 480px at -8% 0%, var(--glow-green), transparent 58%), var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);background-repeat:no-repeat;flex-direction:column;min-height:100vh;margin:0;line-height:1.65;display:flex}main{flex:1}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:2.2em 0 .5em;font-weight:800;line-height:1.14}h1{font-size:var(--step-3);margin-top:0}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p,ul,ol{margin:0 0 1.1em}li+li{margin-top:.3em}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:4px}img{max-width:100%;height:auto}.container{width:100%;max-width:calc(var(--wide) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto}.wrap{width:100%;max-width:calc(var(--measure) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto}.skip{background:var(--sun);color:var(--ink);z-index:50;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:1rem;left:1rem}.site-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 2rem;min-height:4.5rem;padding-top:.6rem;padding-bottom:.6rem;display:flex}.brand{color:var(--ink);align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.brand-mark{background:linear-gradient(135deg, var(--sign), var(--sign-2));width:2.6rem;height:2rem;box-shadow:inset 0 0 0 2px transparent, inset 0 0 0 3.5px var(--sign-ink);color:var(--sign-ink);font-family:var(--font-display);letter-spacing:.02em;border-radius:7px;place-items:center;padding-top:2px;font-size:.74rem;font-weight:900;display:grid}.brand-name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.15rem;font-weight:800}.site-nav{flex-wrap:wrap;align-items:center;gap:1.6rem;display:flex}.site-nav a{color:var(--ink);font-family:var(--font-display);border-bottom:2px solid #0000;padding:.25rem 0;font-weight:600;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--sign);color:var(--sign-deep)}.site-nav a.nav-cta{background:var(--sun-soft);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--sun);border:0;border-radius:999px;padding:.5rem 1rem .4rem}.site-nav a.nav-cta:hover{background:var(--sun)}@media (width<=640px){.site-header{position:static}.site-nav a.nav-cta{display:none}}.btn{font-family:var(--font-display);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.4rem .75rem;font-size:1rem;font-weight:800;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--sign), var(--sign-2));color:var(--sign-ink);box-shadow:0 6px 18px -8px var(--sign)}.btn-primary:hover{background:var(--sign-2)}.btn-secondary{border-color:var(--rule);color:var(--ink);background:var(--surface)}.btn-secondary:hover{border-color:var(--sign);color:var(--sign-deep)}.section{padding:clamp(3.5rem,8vw,5.5rem) 0 0}.section-head{text-align:center;max-width:40rem;margin:0 auto 2.4rem}.section-head h2{margin:0 0 .5rem}.section-head p{color:var(--muted);margin:0}.band{background:linear-gradient(180deg, var(--wash), var(--sky));margin-top:clamp(3.5rem,8vw,5.5rem);padding:clamp(3.5rem,8vw,5rem) 0}.band .section{padding-top:0}.site-footer{background:linear-gradient(180deg, var(--footer-bg), var(--footer-bg-2));color:#d9ebe0;font-size:var(--step--1)}.footer-skyline{width:100%;height:clamp(48px,7vw,84px);color:var(--footer-bg);margin-top:clamp(4.5rem,10vw,7rem);display:block}.site-footer .container{grid-template-columns:1.4fr 1fr;gap:2rem;padding-top:2.6rem;padding-bottom:2.8rem;display:grid}.site-footer .brand{color:#fff}.site-footer p{max-width:34rem;margin:.8rem 0 0}.site-footer nav{flex-direction:column;justify-self:end;align-items:flex-start;gap:.5rem;display:flex}.site-footer a{color:#fff}.site-footer .legal{color:#a9c9b6;border-top:1px solid #ffffff2e;grid-column:1/-1;max-width:none;margin:0;padding-top:1.2rem}@media (width<=640px){.site-footer .container{grid-template-columns:1fr}.site-footer nav{justify-self:start}}code,pre{font-family:var(--font-code);font-size:.9em}:not(pre)>code{background:var(--wash);border:1px solid var(--rule);border-radius:5px;padding:.05em .35em}pre{color:#e3e8e5;border-radius:10px;margin:0 0 1.4em;padding:1rem 1.2rem;line-height:1.5;overflow-x:auto;background:var(--code-bg)!important}blockquote{background:var(--sun-soft);border-left:5px solid var(--sun);border-radius:0 10px 10px 0;margin:1.6em 0;padding:1rem 1.25rem}blockquote p:last-child{margin-bottom:0}hr{border:0;border-top:1px solid var(--rule);margin:2.5em 0}table{border-collapse:collapse;width:100%;font-size:var(--step--1);margin:0 0 1.4em;display:block;overflow-x:auto}th,td{text-align:left;border-bottom:1px solid var(--rule);padding:.5rem .7rem}th{font-family:var(--font-display)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{padding-top:clamp(2.5rem,6vw,4rem)}.page-intro{color:var(--muted);margin-top:-.2rem;font-size:1.15rem}.code-wrap{position:relative}.code-wrap pre{padding-top:2.4rem}.copy-btn{font-family:var(--font-display);cursor:pointer;color:#e3e8e5;background:#ffffff14;border:1px solid #ffffff47;border-radius:6px;padding:.3rem .75rem .22rem;font-size:.78rem;font-weight:700;position:absolute;top:.5rem;right:.5rem}.copy-btn:hover{background:#ffffff2e}.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}.theme-toggle{border:1px solid var(--rule);background:var(--surface);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;border-radius:999px;flex:none;place-items:center;transition:border-color .15s,background-color .15s;display:inline-grid}.theme-toggle:hover{border-color:var(--sign)}.theme-toggle svg{width:1.15rem;height:1.15rem}.theme-toggle .icon-sun{display:none}html[data-theme=dark] .theme-toggle .icon-sun{display:block}html[data-theme=dark] .theme-toggle .icon-moon{display:none}.header-tools{align-items:center;gap:.8rem;display:flex}@media print{.theme-toggle{display:none}}.site-header .container{flex-wrap:nowrap;max-width:none;min-height:4.25rem}.header-left{align-items:center;gap:.6rem;min-width:0;display:flex}.site-header a.nav-cta{font-family:var(--font-display);white-space:nowrap;background:var(--sun-soft);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--sun);border-radius:999px;padding:.5rem 1rem .4rem;font-weight:600;text-decoration:none}.site-header a.nav-cta:hover{background:var(--sun);color:#1b2a22}.menu-toggle,.search-jump{border:1px solid var(--rule);background:var(--surface);width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:none}.menu-toggle svg,.search-jump svg{width:1.25rem;height:1.25rem}.shell{flex:1;grid-template-columns:16.5rem minmax(0,1fr);display:grid}.shell-main{flex-direction:column;min-width:0;display:flex}.sidebar{z-index:30;overscroll-behavior:contain;border-right:1px solid var(--rule);background:linear-gradient(180deg, color-mix(in srgb, var(--wash) 75%, transparent), transparent 70%);scrollbar-width:thin;align-self:start;height:calc(100vh - 4.25rem);padding:1.1rem .9rem 2rem 1.1rem;position:sticky;top:4.25rem;overflow-y:auto}.sidebar nav{flex-direction:column;gap:.35rem;margin-top:.9rem;display:flex}.side-group{border-radius:10px}.side-group summary{cursor:pointer;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-radius:8px;justify-content:space-between;align-items:center;padding:.55rem .6rem .4rem;font-size:.74rem;font-weight:800;list-style:none;display:flex}.side-group summary::-webkit-details-marker{display:none}.side-group summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;margin-right:.2rem;transition:transform .15s;transform:rotate(-45deg)}.side-group[open] summary:after{transform:rotate(45deg)}.side-group summary:hover{color:var(--ink)}.side-group a{color:var(--ink);border-left:3px solid #0000;border-radius:8px;margin:1px 0;padding:.38rem .7rem;font-size:.95rem;line-height:1.35;text-decoration:none;display:block}.side-group a:hover{background:var(--sky)}.side-group a[aria-current=page]{background:var(--sky);border-left-color:var(--sign);color:var(--sign-deep);font-weight:600}.sidebar-backdrop{display:none}#site-search{--pagefind-ui-scale:.82;--pagefind-ui-primary:var(--sign);--pagefind-ui-text:var(--ink);--pagefind-ui-background:var(--surface);--pagefind-ui-border:var(--rule);--pagefind-ui-tag:var(--sky);--pagefind-ui-border-width:1px;--pagefind-ui-border-radius:10px;--pagefind-ui-font:var(--font-body);position:relative}#site-search .pagefind-ui__search-input{font-weight:500}#site-search .pagefind-ui__search-input::placeholder{color:var(--muted);opacity:1}#site-search .pagefind-ui__drawer:not(.pagefind-ui__hidden){z-index:40;background:var(--surface);border:1px solid var(--rule);border-radius:12px;width:min(36rem,100vw - 2.2rem);max-height:calc(100vh - 10rem);padding:.4rem 1rem 1rem;position:fixed;top:8.45rem;left:1.1rem;overflow-y:auto;box-shadow:0 18px 50px -12px #00000059}#site-search.results-hidden .pagefind-ui__drawer{display:none!important}#site-search .pagefind-ui__result-link{color:var(--link)}#site-search .pagefind-ui__search-clear{color:var(--muted);font-family:var(--font-display);cursor:pointer;background:0 0;border:0;height:auto;padding:0 .8rem;font-size:.8rem;font-weight:700;top:50%;transform:translateY(-50%)}#site-search .pagefind-ui__search-clear:hover{color:var(--ink)}#site-search .pagefind-ui__message{color:var(--muted)}#site-search mark{background:var(--sun-soft);color:inherit;box-shadow:inset 0 -2px 0 var(--sun)}@media (width<=1099px){.shell{grid-template-columns:minmax(0,1fr)}.menu-toggle,.search-jump{display:inline-grid}.sidebar{z-index:60;background:var(--paper);border-right:1px solid var(--rule);width:min(20rem,86vw);height:100vh;padding-top:1.2rem;transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:0 0 40px #00000040}html.nav-open .sidebar{transform:none}html.nav-open .sidebar-backdrop:not([hidden]){z-index:55;background:#00000073;display:block;position:fixed;inset:0}#site-search .pagefind-ui__drawer:not(.pagefind-ui__hidden){width:auto;box-shadow:none;max-height:none;margin-top:.4rem;position:static}}@media (width<=640px){.site-header a.nav-cta{display:none}.brand-name{font-size:1rem}}@media print{.sidebar,.site-header{display:none!important}.shell{display:block}}html{scroll-padding-top:5.5rem}@media (width<=640px){html{scroll-padding-top:1rem}}.toc-layout{flex-direction:column;display:flex;position:relative}.toc-layout>.toc{order:-1}.toc{max-width:calc(var(--measure) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto 1.8rem}.toc-box{border:1px solid var(--rule);background:var(--surface);border-radius:12px}.toc-box summary{cursor:pointer;font-family:var(--font-display);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-size:.95rem;font-weight:800;list-style:none;display:flex}.toc-box summary::-webkit-details-marker{display:none}.toc-box summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;transition:transform .15s;transform:rotate(45deg)}.toc-box[open] summary:after{transform:rotate(-135deg)}.toc-title{display:none}.toc ol{margin:0;padding:0 .6rem .6rem;list-style:none}.toc li{margin:0}.toc li+li{margin-top:0}.toc a[data-slug]{border-left:2px solid var(--rule);color:var(--muted);padding:.3rem .6rem;font-size:.9rem;line-height:1.35;text-decoration:none;transition:color .15s,border-color .15s,background-color .15s;display:block}.toc li.d3 a[data-slug]{padding-left:1.4rem;font-size:.84rem}.toc a[data-slug]:hover{color:var(--ink);border-left-color:var(--muted)}.toc a[data-slug][aria-current=true]{color:var(--sign-deep);border-left-color:var(--sign);background:var(--sky);border-radius:0 6px 6px 0;font-weight:600}.toc-top,.rail-ad{display:none}.toc:not(:has(.toc-nav)){margin:0}@media (width>=1280px){.toc-layout:has(.toc){max-width:calc(var(--measure) + var(--gutter) * 2 + 17.5rem);padding-right:var(--gutter);grid-template-columns:minmax(0,1fr) 15.5rem;gap:2rem;margin:0 auto;display:grid}.toc-layout:has(.toc)>.body{margin:0}.toc-layout>.toc{order:0}.rail-ad{flex:none;display:block}.inline-ad-wrap{display:none}.toc{flex-direction:column;align-self:start;gap:1.6rem;max-width:none;max-height:calc(100vh - 7.25rem);margin:0;padding:0;display:flex;position:sticky;top:5.75rem}.toc-nav{flex-direction:column;flex:0 auto;min-height:8rem;display:flex}.toc-box{background:0 0;border:0;border-radius:0;flex-direction:column;min-height:0;display:flex}.toc-box summary{display:none}.toc-title{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;padding-left:.6rem;font-size:.74rem;font-weight:800;display:block}.toc ol{overscroll-behavior:contain;scrollbar-width:thin;padding:0;overflow-y:auto}.toc-top{font-size:.84rem;font-family:var(--font-display);margin:.9rem 0 0 .6rem;font-weight:700;text-decoration:none;display:inline-block}article:has(.toc) .head .wrap,.toc-layout:has(.toc)+.body.after{max-width:calc(var(--measure) + var(--gutter) * 2 + 17.5rem);padding-right:calc(var(--gutter) + 17.5rem)}}@media print{.toc{display:none}}.sidebar-ad{margin:1.4rem .2rem 0}body:has(.rail-ad) .sidebar-ad{display:none}@media (width<=1099px){.sidebar-ad{display:none}}.ad[data-astro-cid-ygkiugat]{margin:0;position:relative}.ad[data-astro-cid-ygkiugat][hidden]{display:none!important}.ad-close[data-astro-cid-ygkiugat]{z-index:2;border:1px solid var(--rule);background:var(--surface);width:1.6rem;height:1.6rem;color:var(--muted);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-size:1.05rem;line-height:1;display:grid;position:absolute;top:-.25rem;right:0}.ad-close[data-astro-cid-ygkiugat]:hover{color:var(--ink);border-color:var(--muted)}.ad-label[data-astro-cid-ygkiugat]{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 2rem .35rem 0;font-size:.68rem;font-weight:700}.house-ad[data-astro-cid-ygkiugat]{color:var(--ink);border:1px solid var(--rule);background:linear-gradient(150deg, var(--surface), var(--wash));border-radius:14px;flex-direction:column;gap:.35rem;padding:1rem 1.05rem;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.house-ad[data-astro-cid-ygkiugat][hidden]{display:none}.house-ad[data-astro-cid-ygkiugat]:hover{border-color:var(--sign);transform:translateY(-1px)}.house-ad[data-astro-cid-ygkiugat].tone-sun{background:linear-gradient(150deg, var(--sun-soft), var(--surface));border-color:color-mix(in srgb, var(--sun) 55%, var(--rule))}.house-ad[data-astro-cid-ygkiugat].tone-sky{background:linear-gradient(150deg, var(--sky), var(--surface))}.house-ad[data-astro-cid-ygkiugat].tone-green{background:linear-gradient(150deg, color-mix(in srgb, var(--sign) 14%, var(--surface)), var(--surface))}.h-kicker[data-astro-cid-ygkiugat]{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--sign-deep);font-size:.72rem;font-weight:800}.h-title[data-astro-cid-ygkiugat]{font-family:var(--font-display);font-size:1.05rem;font-weight:800;line-height:1.2}.h-text[data-astro-cid-ygkiugat]{color:var(--muted);font-size:.88rem;line-height:1.45}.h-cta[data-astro-cid-ygkiugat]{font-family:var(--font-display);color:var(--link);margin-top:.2rem;font-size:.88rem;font-weight:800}.h-video[data-astro-cid-ygkiugat]{aspect-ratio:16/9;background:#000;border-radius:10px;margin:-.2rem -.25rem .4rem;display:block;position:relative;overflow:hidden}.h-video[data-astro-cid-ygkiugat] video[data-astro-cid-ygkiugat]{object-fit:cover;width:100%;height:100%;display:block}.ad-mute[data-astro-cid-ygkiugat]{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:999px;width:2rem;height:2rem;padding:0;font-size:.95rem;position:absolute;bottom:.45rem;right:.45rem}.ad-inline[data-astro-cid-ygkiugat]{max-width:34rem;margin:2rem 0}.ad-inline[data-astro-cid-ygkiugat] .house-ad[data-astro-cid-ygkiugat]{flex-direction:column}@media print{.ad[data-astro-cid-ygkiugat]{display:none!important}}
