@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-cyrillic-ext-wght-normal.D_UHSL_T.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-vietnamese-wght-normal.CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-latin-ext-wght-normal.Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./hanken-grotesk-latin-wght-normal.CaVRRdDk.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(./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(./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(./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(./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(./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(./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}:root{--bg:#f4e8dc;--surface:#fbf4ec;--ink:#0d0e1c;--muted:#5a4e4a;--line:#e2d2c2;--sea:#1d4466;--accent:#c27a55;--accent-text:#5e2f22;--on-accent:#0d0e1c;--sky-top:var(--ink-sky);--sky-band:color-mix(in srgb, var(--ink-sky) 80%, var(--ink-lilac));--sky-mid:var(--ink-shell);--sky-low:color-mix(in srgb, var(--ink-ochre) 38%, var(--ink-shell));--sun:var(--ink-ochre);--sun-drop:0px;--cloud:var(--ink-shell);--cloud-shade:color-mix(in srgb, var(--ink-lilac) 45%, var(--ink-shell));--sea-fill:var(--ink-sea);--sea-shore:color-mix(in srgb, var(--ink-sea) 55%, var(--ink-sky));--esterel:var(--ink-lilac);--coast:color-mix(in srgb, var(--ink-ochre) 60%, var(--ink-shell));--city:var(--ink-shell);--plain:var(--ink-ochre);--hill-far:var(--ink-lilac);--hill-far-shade:color-mix(in srgb, var(--ink-lilac) 74%, var(--ink-sea));--hill-mid:var(--ink-sage);--hill-mid-shade:color-mix(in srgb, var(--ink-sage) 70%, var(--ink-sea));--hill-near:color-mix(in srgb, var(--ink-sage) 74%, var(--ink-sea));--hill-near-shade:color-mix(in srgb, var(--ink-sage) 48%, var(--ink-sea));--villa:var(--ink-shell);--villa-shade:color-mix(in srgb, var(--ink-lilac) 60%, var(--ink-shell));--roof:var(--ink-porphyry);--label:var(--ink-sea);--rock-lit:var(--ink-shell);--rock:color-mix(in srgb, var(--ink-shell) 62%, var(--ink-ochre));--rock-shade:var(--ink-lilac);--rock-crack:color-mix(in srgb, var(--ink-lilac) 55%, var(--ink-oxblood));--figure:color-mix(in srgb, var(--ink-sea) 70%, var(--ink-oxblood));--gear:var(--ink-oxblood);--gear-lit:var(--ink-lilac);--screen:color-mix(in srgb, var(--ink-sea) 55%, var(--ink-oxblood));--code-a:var(--ink-sky);--code-b:var(--ink-porphyry);--code-c:var(--ink-ochre);--screen-glow:var(--ink-sky);--glow-opacity:0;--lights:var(--ink-ochre);--lights-opacity:0;--pine:color-mix(in srgb, var(--ink-sage) 45%, var(--ink-sea));--pine-lit:var(--ink-sage);--trunk:var(--ink-porphyry);--trunk-shade:var(--ink-oxblood);--ground:var(--ink-oxblood);--on-ground:#f4e8dc;--contour:#c9a993;--route:#1d4466;--topo-low:#ecdccb;--topo-high:#fbf5ee;--topo-side:#d6bea8;--topo-edge:#c2a089;--route-casing:#fbf5ee;--ink-shell:#f4e8dc;--ink-sky:#c3d2e6;--ink-lilac:#a497c0;--ink-sea:#1d4466;--ink-sage:#8f9c76;--ink-ochre:#e4b47e;--ink-porphyry:#c27a55;--ink-oxblood:#5e2f22;--w-heavy:2.25px;--w-line:1.25px;--w-hair:.75px;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2.4' intercept='-.7'/%3E%3CfeFuncG type='linear' slope='2.4' intercept='-.7'/%3E%3CfeFuncB type='linear' slope='2.4' intercept='-.7'/%3E%3CfeFuncA type='linear' slope='0' intercept='1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23g)'/%3E%3C/svg%3E");--grain-opacity:.4;--f-display:"Hanken Grotesk Variable", "Helvetica Neue", system-ui, -apple-system, "Segoe UI", sans-serif;--f-body:"Hanken Grotesk Variable", "Helvetica Neue", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--step--1:calc(clamp(.83rem, .8rem + .15vw, .9rem));--step-0:calc(clamp(1rem, .96rem + .2vw, 1.1rem));--step-1:calc(clamp(1.25rem, 1.15rem + .5vw, 1.5rem));--step-2:calc(clamp(1.6rem, 1.4rem + 1vw, 2.2rem));--step-3:calc(clamp(2.2rem, 1.7rem + 2.6vw, 3.6rem));--step-4:calc(clamp(3rem, 2rem + 5.5vw, 6.5rem));--gutter:max(clamp(1.25rem, 4vw, 2.5rem), env(safe-area-inset-left,0px));--gutter-r:max(clamp(1.25rem, 4vw, 2.5rem), env(safe-area-inset-right,0px));--measure:65ch;--radius:.6rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--space-section:calc(clamp(5.5rem, 4rem + 4vw, 7.5rem));--space-head:calc(clamp(2.5rem, 1.5rem + 2.5vw, 4rem));--step-h2:calc(clamp(2.2rem, 1.5rem + 3vw, 4rem));--quiet:color-mix(in srgb, var(--ink) 60%, var(--bg));--wash:color-mix(in srgb, var(--ink) 5%, var(--bg));--header-h:4rem;--ease:cubic-bezier(.25, .8, .25, 1);--ease-draw:cubic-bezier(.3, .7, .2, 1);--dur-hover:.2s;--dur-fade:.4s;--dur-move:.6s;--dur-draw:.9s;--art-bg:#ecdfd2;--art-shadow:#ddcdbd;--art-ink:#2b3a44;--art-line:#cdbcab;--art-led:#8fbbe8;--art-paper:#fdf9f4;--art-sea-t:#5d7f9e;--art-sea-l:#2c4d6c;--art-sea-r:#1d3a55;--art-alu-t:#e6e9ec;--art-alu-l:#c4cbd2;--art-alu-r:#a9b3bd;--art-stone-t:#f6efe7;--art-stone-l:#ddcbb8;--art-stone-r:#c6ae97;--art-wall:#f3e8dc;--art-floor:#dccab8;--art-window:#cfe0ee;--art-sun:#f6d2ad}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#141e32;--surface:#1c2840;--ink:#ebe6dc;--muted:#aab4be;--line:#2c3850;--sea:#aab4be;--accent:#d27850;--accent-text:#e08a62;--on-accent:#141e32;--sky-band:color-mix(in srgb, var(--ink-sky) 70%, var(--ink-sea));--sky-mid:color-mix(in srgb, var(--ink-sky) 50%, var(--ink-lilac));--sky-low:color-mix(in srgb, var(--ink-lilac) 72%, var(--ink-ochre));--sun-drop:34px;--cloud:color-mix(in srgb, var(--ink-lilac) 62%, var(--ink-sky));--cloud-shade:var(--ink-sky);--sea-fill:color-mix(in srgb, var(--ink-lilac) 45%, var(--ink-sky));--sea-shore:color-mix(in srgb, var(--ink-lilac) 75%, var(--ink-sky));--coast:color-mix(in srgb, var(--ink-sage) 55%, var(--ink-lilac));--city:var(--ink-lilac);--plain:color-mix(in srgb, var(--ink-sage) 55%, var(--ink-lilac));--villa:var(--ink-lilac);--villa-shade:var(--ink-sage);--roof:color-mix(in srgb, var(--ink-porphyry) 40%, var(--ink-sage));--label:var(--ink-shell);--rock:color-mix(in srgb, var(--ink-lilac) 62%, var(--ink-shell));--rock-shade:var(--ink-sage);--rock-crack:color-mix(in srgb, var(--ink-sage) 60%, var(--ink-sea));--gear:color-mix(in srgb, var(--ink-sea) 70%, var(--ink-sky));--gear-lit:var(--ink-lilac);--screen:var(--ink-sea);--code-a:color-mix(in srgb, var(--ink-lilac) 55%, var(--ink-shell));--screen-glow:color-mix(in srgb, var(--ink-sky) 35%, var(--ink-shell));--glow-opacity:1;--lights-opacity:1;--pine:var(--ink-sea);--pine-lit:var(--ink-sage);--trunk:color-mix(in srgb, var(--ink-porphyry) 45%, var(--ink-sage));--trunk-shade:var(--ink-sea);--contour:#2f3b55;--route:#aab4be;--topo-low:#222e48;--topo-high:#3a4865;--topo-side:#131b2e;--topo-edge:#56658a;--route-casing:#131b2e;--ink-shell:#d9c3b0;--ink-sky:#29344f;--ink-lilac:#5c5b7f;--ink-sea:#111a2d;--ink-sage:#3d4964;--ink-ochre:#f2c595;--ink-porphyry:#d27850;--ink-oxblood:#0e1524;--grain-opacity:.32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--art-bg:#1c2840;--art-shadow:#16203a;--art-ink:#aab4be;--art-line:#3a4864;--art-led:#90bced;--art-paper:#c9cfd8;--art-sea-t:#4f6f8e;--art-sea-l:#33506d;--art-sea-r:#253d57;--art-alu-t:#8d97a6;--art-alu-l:#6b7586;--art-alu-r:#556071;--art-stone-t:#b2adb3;--art-stone-l:#858a9b;--art-stone-r:#6b7184;--art-wall:#26324d;--art-floor:#1f2a42;--art-window:#3a4560;--art-sun:#f4c79a}}:root[data-theme=dark]{--bg:#141e32;--surface:#1c2840;--ink:#ebe6dc;--muted:#aab4be;--line:#2c3850;--sea:#aab4be;--accent:#d27850;--accent-text:#e08a62;--on-accent:#141e32;--sky-band:color-mix(in srgb, var(--ink-sky) 70%, var(--ink-sea));--sky-mid:color-mix(in srgb, var(--ink-sky) 50%, var(--ink-lilac));--sky-low:color-mix(in srgb, var(--ink-lilac) 72%, var(--ink-ochre));--sun-drop:34px;--cloud:color-mix(in srgb, var(--ink-lilac) 62%, var(--ink-sky));--cloud-shade:var(--ink-sky);--sea-fill:color-mix(in srgb, var(--ink-lilac) 45%, var(--ink-sky));--sea-shore:color-mix(in srgb, var(--ink-lilac) 75%, var(--ink-sky));--coast:color-mix(in srgb, var(--ink-sage) 55%, var(--ink-lilac));--city:var(--ink-lilac);--plain:color-mix(in srgb, var(--ink-sage) 55%, var(--ink-lilac));--villa:var(--ink-lilac);--villa-shade:var(--ink-sage);--roof:color-mix(in srgb, var(--ink-porphyry) 40%, var(--ink-sage));--label:var(--ink-shell);--rock:color-mix(in srgb, var(--ink-lilac) 62%, var(--ink-shell));--rock-shade:var(--ink-sage);--rock-crack:color-mix(in srgb, var(--ink-sage) 60%, var(--ink-sea));--gear:color-mix(in srgb, var(--ink-sea) 70%, var(--ink-sky));--gear-lit:var(--ink-lilac);--screen:var(--ink-sea);--code-a:color-mix(in srgb, var(--ink-lilac) 55%, var(--ink-shell));--screen-glow:color-mix(in srgb, var(--ink-sky) 35%, var(--ink-shell));--glow-opacity:1;--lights-opacity:1;--pine:var(--ink-sea);--pine-lit:var(--ink-sage);--trunk:color-mix(in srgb, var(--ink-porphyry) 45%, var(--ink-sage));--trunk-shade:var(--ink-sea);--contour:#2f3b55;--route:#aab4be;--topo-low:#222e48;--topo-high:#3a4865;--topo-side:#131b2e;--topo-edge:#56658a;--route-casing:#131b2e;--ink-shell:#d9c3b0;--ink-sky:#29344f;--ink-lilac:#5c5b7f;--ink-sea:#111a2d;--ink-sage:#3d4964;--ink-ochre:#f2c595;--ink-porphyry:#d27850;--ink-oxblood:#0e1524;--grain-opacity:.32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--art-bg:#1c2840;--art-shadow:#16203a;--art-ink:#aab4be;--art-line:#3a4864;--art-led:#90bced;--art-paper:#c9cfd8;--art-sea-t:#4f6f8e;--art-sea-l:#33506d;--art-sea-r:#253d57;--art-alu-t:#8d97a6;--art-alu-l:#6b7586;--art-alu-r:#556071;--art-stone-t:#b2adb3;--art-stone-l:#858a9b;--art-stone-r:#6b7184;--art-wall:#26324d;--art-floor:#1f2a42;--art-window:#3a4560;--art-sun:#f4c79a}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(1.5rem + var(--header-h))}main section[id]:not(#top){scroll-margin-top:calc(-1 * var(--space-section))}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font:400 var(--step-0)/1.6 var(--f-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--f-display);letter-spacing:-.015em;text-wrap:balance;margin:0;line-height:1.05}h2{font-size:var(--step-h2);letter-spacing:-.03em;font-weight:650;line-height:1.04}h3{font-size:var(--step-1);letter-spacing:-.01em;font-weight:600}p{text-wrap:pretty;margin:0}.quiet{color:var(--quiet);display:block}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:.2em;transition:color var(--dur-hover),text-decoration-color var(--dur-hover);text-decoration-thickness:.08em}a:hover{color:var(--accent-text);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:2px}.on-ground :focus-visible{outline-color:var(--accent)}.wrap{width:100%;max-width:74rem;padding-left:var(--gutter);padding-right:var(--gutter-r);margin-inline:auto}.eyebrow{font:500 var(--step--1)/1.3 var(--f-body);color:var(--muted)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{top:.6rem;left:var(--gutter);z-index:50;background:var(--ink);color:var(--bg);border-radius:999px;padding:.6rem 1rem;font-weight:600;text-decoration:none;position:fixed;transform:translateY(-200%)}.skip:focus-visible{color:var(--bg);transform:none}.lead{max-width:52ch;font-size:var(--step-1);line-height:1.45}.btns{flex-wrap:wrap;gap:.75rem;margin-top:.4rem;display:flex}.btn{border:1px solid color-mix(in srgb,currentcolor 28%,transparent);min-height:2.75rem;color:inherit;transition:border-color var(--dur-hover),background-color var(--dur-hover);border-radius:999px;align-items:center;gap:.45rem;padding:.75rem 1.35rem;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{color:inherit;border-color:currentColor}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:color-mix(in srgb,var(--accent) 86%,#fff);color:var(--on-accent);border-color:#0000}.section{padding-top:var(--space-section)}main>.section:last-child{padding-bottom:var(--space-section)}.section-head{max-width:64rem;margin-bottom:var(--space-head);gap:1.25rem;display:grid}.section-head .sub{max-width:54ch;color:var(--muted);font-size:var(--step-1);line-height:1.45}.tags{font:400 .8rem/1.5 var(--f-mono);color:var(--muted);flex-wrap:wrap;gap:.15rem 1rem;margin:0;padding:0;list-style:none;display:flex}.tags li{white-space:nowrap}.print{isolation:isolate;position:relative}.print:after{content:"";z-index:1;background:var(--grain);mix-blend-mode:soft-light;opacity:var(--grain-opacity);pointer-events:none;position:absolute;inset:0}.ink-hair,.ink-heavy,.ink-line{fill:none;stroke-linecap:butt;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.ink-heavy{stroke-width:var(--w-heavy)}.ink-line{stroke-width:var(--w-line)}.ink-hair{stroke-width:var(--w-hair)}@media (forced-colors:active){.print:after{display:none}}.vt-header{view-transition-name:site-header}.vt-hero{view-transition-name:hero}::view-transition-group(*){animation-duration:var(--dur-fade);animation-timing-function:var(--ease)}::view-transition-old(root){animation:var(--dur-hover) ease-in both vt-out}::view-transition-new(root){animation:var(--dur-fade) 50ms var(--ease) both vt-in}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(12px)}}
