@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-vietnamese-wdth-normal.rJmnGBSt.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-ext-wdth-normal.7khWdh9v.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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/_astro/archivo-latin-wdth-normal.DY7AcnAa.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/_astro/martian-mono-cyrillic-ext-wdth-normal.BFx_pHPN.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/_astro/martian-mono-cyrillic-wdth-normal.Dgr-UBxV.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/_astro/martian-mono-latin-ext-wdth-normal.DeTdBbNh.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:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/_astro/martian-mono-latin-wdth-normal.1TqSgyfh.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}:root{color-scheme:light dark;--paper:light-dark(#f3f1eb,#0e1a2a);--pane:light-dark(#fcfbf8,#132235);--pane-2:light-dark(#efece5,#1a2d45);--ink:light-dark(#18212b,#e6edf5);--ink-2:light-dark(#434e5c,#adbbcc);--ink-3:light-dark(#5f6a78,#8597ad);--rule:light-dark(#18212b1c,#e6edf51c);--rule-strong:light-dark(#18212b3d,#e6edf53d);--accent:light-dark(#2545b8,#8fb5ff);--on-accent:light-dark(#fcfbf8,#0e1a2a);--accent-wash:color-mix(in srgb, var(--accent) 8%, var(--pane));--pass:light-dark(#1f7a4d,#5fd39a);--warn:light-dark(#a65f00,#f0b24a);--fail:light-dark(#b3261e,#ff8a7d);--unknown:var(--ink-3);--pass-wash:color-mix(in srgb, var(--pass) 10%, var(--pane));--warn-wash:color-mix(in srgb, var(--warn) 12%, var(--pane));--fail-wash:color-mix(in srgb, var(--fail) 9%, var(--pane));--unknown-wash:var(--pane-2);--ramp-1:light-dark(#dfe6f5,#223a5e);--ramp-2:light-dark(#b9c8ee,#2f5390);--ramp-3:light-dark(#8fa6e3,#4470bd);--ramp-4:light-dark(#6382d6,#5f8fe0);--ramp-5:light-dark(#3f61c6,#86adf5);--ramp-6:light-dark(#2545b8,#b9d0ff);--bar:color-mix(in srgb, var(--accent) 16%, var(--pane));--tool-1:light-dark(#6b4bc4,#b6a1f5);--tool-2:light-dark(#0b6e99,#6cc4e8);--tool-3:light-dark(#b5521a,#f0a070);--tool-4:light-dark(#0e7a6c,#62cdb9);--tool-5:light-dark(#9a3d7a,#e59ac6);--tool-6:light-dark(#6a6f1c,#c5c96e);--tool-7:light-dark(#3d5a8c,#9db7e0);--tool-8:light-dark(#8c4a4a,#e0a3a3);--map-water:light-dark(#dbe5ea,#12263b);--map-water-line:light-dark(#6a8ba3,#5f86a8);--map-green:light-dark(#e7e9da,#11222f);--map-road:light-dark(#18212b42,#bed2e833);--map-road-major:light-dark(#18212b80,#bed2e870);--map-building:light-dark(#e9e4d8,#18293e);--font-sans:"Archivo Variable", "Helvetica Neue", Arial, sans-serif;--font-mono:"Martian Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:.9375rem;--text-xl:1.125rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-1:3px;--r-2:5px;--r-sheet:10px;--lift:0 0 0 1px var(--rule-strong), 0 10px 28px -12px light-dark(#18212b57,#000000b3), 0 2px 6px -2px light-dark(#18212b1f,#0006);--dur-1:.11s;--dur-2:.14s;--dur-3:.2s;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-sheet:cubic-bezier(.32, .72, 0, 1);--side-w:224px;--bar-h:44px;--run-w:372px;--insp-w:408px;--row-h:32px;--ctl-h:28px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}@media (pointer:coarse){:root{--row-h:44px;--ctl-h:40px}}@media (prefers-reduced-motion:reduce){:root{--dur-2:1ms;--dur-3:1ms}}:root{--t-display:clamp(2.125rem, 1.1rem + 3.4vw, 3.5rem);--t-h2:clamp(1.5rem, 1.15rem + 1.2vw, 2.125rem);--t-h3:1.125rem;--t-lead:clamp(1.0625rem, 1rem + .3vw, 1.1875rem);--t-body:1rem;--s-8:64px;--s-9:96px;--s-10:128px;--wrap:1160px;--gutter:clamp(16px, 4vw, 40px)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-padding-top:76px;font-size:16px}body{font:400 var(--t-body) / 1.6 var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}img,svg,video{max-width:100%;height:auto;display:block}ul,ol{padding:0;list-style:none}h1,h2,h3,h4{letter-spacing:-.015em;text-wrap:balance;font-weight:620;line-height:1.12}p,li,dd{text-wrap:pretty}a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}code,.num{font-family:var(--font-mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:.86em;font-stretch:80%}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.wrap{max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.dim{color:var(--ink-2)}.muted{color:var(--ink-3)}.small{font-size:.875rem;line-height:1.5}.skip{left:var(--s-4);z-index:20;background:var(--ink);color:var(--pane);border-radius:var(--r-1);padding:8px 12px;position:absolute;top:-60px}.skip:focus{top:var(--s-2)}.btn{border:1px solid var(--rule-strong);border-radius:var(--r-1);background:var(--pane);height:40px;color:var(--ink);white-space:nowrap;user-select:none;transition:background-color var(--dur-1) ease, scale var(--dur-1) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 16px;font-size:.9375rem;font-weight:560;text-decoration:none;display:inline-flex}.btn:active{scale:.97}.btn.solid{background:var(--ink);color:var(--pane);border-color:var(--ink)}.btn.sm{height:32px;padding:0 12px;font-size:.875rem}@media (hover:hover) and (pointer:fine){.btn:hover{background:var(--pane-2)}.btn.solid:hover{background:color-mix(in srgb, var(--ink) 86%, var(--pane))}}.top{z-index:10;background:var(--paper);border-bottom:1px solid var(--rule);position:sticky;top:0}.top .wrap{align-items:center;gap:var(--s-5);height:56px;display:flex}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.0625rem;font-weight:640;font-stretch:108%;text-decoration:none;display:inline-flex}.brand svg{width:20px;height:20px}.top nav{gap:var(--s-5);margin-left:auto;display:flex}.top nav a{color:var(--ink-2);padding:6px 0;font-size:.9375rem;text-decoration:none}.top nav a[aria-current=page]{color:var(--ink);box-shadow:0 1px 0 var(--ink)}@media (hover:hover) and (pointer:fine){.top nav a:hover{color:var(--ink)}}@media (width<=860px){.top .wrap{gap:var(--s-3)}.top nav{gap:var(--s-4);scrollbar-width:none;flex:1;justify-content:flex-end;margin-left:0;overflow-x:auto}.top nav a.wide{display:none}}.sec{padding-block:clamp(56px,8vw,112px)}.sec+.sec{padding-top:0}.sec>.wrap{gap:var(--s-6) var(--s-8);grid-template-columns:minmax(0,4fr) minmax(0,8fr);align-items:start;display:grid}.sec .head{position:sticky;top:88px}.sec .head h2{font-size:var(--t-h2);font-stretch:106%}.sec .head p{margin-top:var(--s-4);color:var(--ink-2);max-width:34ch}.sec .body{gap:var(--s-6);min-width:0;display:grid}.sec .body>p,.prose>p{max-width:62ch}.lead{font-size:var(--t-lead);line-height:1.55}.sub{font-size:var(--t-h3);letter-spacing:-.01em}@media (width<=900px){.sec>.wrap{gap:var(--s-5);grid-template-columns:minmax(0,1fr)}.sec .head{position:static}.sec .head p{max-width:60ch}}.ledger{border-top:1px solid var(--rule-strong)}.ledger>li,.ledger>div{gap:var(--s-2) var(--s-5);padding:var(--s-4) 0;border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.ledger .k{font-weight:580}.ledger .v{color:var(--ink-2)}.ledger.head-row>:first-child{padding:var(--s-2) 0;color:var(--ink-3);font-size:.8125rem}@media (width<=620px){.ledger>li,.ledger>div{grid-template-columns:minmax(0,1fr)}.ledger.head-row>:first-child{display:none}}.st{white-space:nowrap;align-items:center;gap:6px;font-weight:560;display:inline-flex}.st svg{flex:none;width:11px;height:11px}.st.pass{color:var(--pass)}.st.warn{color:var(--warn)}.st.fail{color:var(--fail)}.st.unknown{color:var(--ink-3)}.foot{border-top:1px solid var(--rule);padding-block:var(--s-7) var(--s-8);margin-top:var(--s-8);color:var(--ink-2);font-size:.875rem}.foot .wrap{gap:var(--s-6);grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));display:grid}.foot h2{color:var(--ink);letter-spacing:0;margin-bottom:var(--s-2);font-size:.8125rem;font-weight:580}.foot li+li{margin-top:6px}.foot a{color:var(--ink-2);text-decoration:none}@media (hover:hover) and (pointer:fine){.foot a:hover{color:var(--ink);text-decoration:underline}}.foot .note{gap:var(--s-3);max-width:46ch;display:grid}@media (width<=760px){.foot .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.foot .note{grid-column:1/-1}}.page{padding-block:clamp(40px, 6vw, 80px) var(--s-7)}.page>.wrap{max-width:820px}.page h1{font-size:var(--t-h2);font-stretch:106%}.page .intro{margin-top:var(--s-4);font-size:var(--t-lead);color:var(--ink-2);max-width:60ch}.prose{gap:var(--s-4);margin-top:var(--s-6);min-width:0;display:grid}.prose h2{margin-top:var(--s-5);font-size:1.25rem}.prose h3{margin-top:var(--s-3);font-size:1.0625rem}.prose ul{gap:6px;max-width:62ch;padding-left:1.2em;list-style:outside;display:grid}.prose ol{gap:6px;max-width:62ch;padding-left:1.4em;list-style:decimal;display:grid}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem;display:block;overflow-x:auto}.prose th{text-align:left;color:var(--ink-3);font-size:.8125rem;font-weight:580}.prose th,.prose td{border-bottom:1px solid var(--rule);vertical-align:top;padding:10px 16px 10px 0}.prose thead th{border-bottom-color:var(--rule-strong)}.prose td:first-child{min-width:14ch}
