@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-ext-wght-normal.DjL33-gN.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-cyrillic-wght-normal.BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-vietnamese-wght-normal.6IgcOCM7.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-ext-wght-normal.DC-KSUi6.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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.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}:root{color-scheme:light;--paper:#f5f6f2;--surface:#fff;--surface-2:#eceee8;--surface-sunk:#e3e6df;--line:#d6dad2;--line-strong:#b9bfb5;--ink:#121614;--ink-2:#3a423e;--ink-3:#59625d;--ink-inverse:#f5f6f2;--pine:#0f4c3a;--pine-hover:#0b3d2e;--pine-press:#08301f;--pine-soft:#dcebe3;--pine-line:#9fc4b1;--brand-ground:#0d4434;--brand-ground-ink:#f5f6f2;--brand-ground-muted:#c4dccf;--marker:#e6ef5f;--marker-soft:#f3f7b8;--success:#1c6e41;--success-soft:#dff0e5;--warning:#8a5a00;--warning-soft:#f8ecd2;--danger:#b42318;--danger-soft:#fbe4e1;--info:#1f5a99;--info-soft:#e1ecf8;--code-bg:#121614;--code-ink:#e8ece6;--code-muted:#8f9a94;--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--font-sans:"Geist Variable", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-xl:clamp(1.5rem, 1.25rem + 1vw, 2rem);--text-2xl:clamp(2rem, 1.5rem + 2vw, 3rem);--text-3xl:clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem);--text-display:clamp(3rem, 1.8rem + 5vw, 6rem);--leading-tight:1.08;--leading-snug:1.25;--leading-body:1.6;--tracking-display:-.03em;--tracking-heading:-.02em;--measure:68ch;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--gutter:clamp(1rem, .5rem + 2.5vw, 2.5rem);--wrap:76rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--shadow-1:0 1px 2px #1216140f, 0 2px 6px #1216140d;--shadow-2:0 2px 4px #1216140f, 0 8px 24px #12161414;--shadow-3:0 4px 8px #12161414, 0 24px 56px #12161424;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur-press:.14s;--dur-fast:.18s;--dur-base:.22s;--dur-slow:.32s;--press-scale:.97;--focus-ring:0 0 0 2px var(--paper), 0 0 0 4px var(--pine);--z-nav:50;--z-drawer:80;--z-modal:90;--z-toast:100}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper:#0e1210;--surface:#151a17;--surface-2:#1c221f;--surface-sunk:#232a26;--line:#2a322e;--line-strong:#3b4540;--ink:#eceee9;--ink-2:#bcc4bf;--ink-3:#939d97;--ink-inverse:#121614;--pine:#6cc9a0;--pine-hover:#86d6b2;--pine-press:#a1e1c4;--pine-soft:#17372b;--pine-line:#2f6b54;--marker:#dbe35c;--marker-soft:#3a3d17;--success:#6fcf97;--success-soft:#16301f;--warning:#f0b955;--warning-soft:#33280f;--danger:#f2877b;--danger-soft:#3a1714;--info:#85b6ee;--info-soft:#152839;--code-bg:#0a0d0b;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 4px #00000059, 0 8px 24px #00000059;--shadow-3:0 4px 8px #0006, 0 24px 56px #00000080}}:root[data-theme=dark]{color-scheme:dark;--paper:#0e1210;--surface:#151a17;--surface-2:#1c221f;--surface-sunk:#232a26;--line:#2a322e;--line-strong:#3b4540;--ink:#eceee9;--ink-2:#bcc4bf;--ink-3:#939d97;--ink-inverse:#121614;--pine:#6cc9a0;--pine-hover:#86d6b2;--pine-press:#a1e1c4;--pine-soft:#17372b;--pine-line:#2f6b54;--marker:#dbe35c;--marker-soft:#3a3d17;--success:#6fcf97;--success-soft:#16301f;--warning:#f0b955;--warning-soft:#33280f;--danger:#f2877b;--danger-soft:#3a1714;--info:#85b6ee;--info-soft:#152839;--code-bg:#0a0d0b;--shadow-1:0 1px 2px #0006;--shadow-2:0 2px 4px #00000059, 0 8px 24px #00000059;--shadow-3:0 4px 8px #0006, 0 24px 56px #00000080}@media (prefers-reduced-motion:reduce){:root{--dur-press:0s;--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--press-scale:1}}:root{--syntax-keyword:#86d6b2;--syntax-string:#e2c98f;--syntax-number:#f2a27b;--syntax-comment:#8f9a94;--syntax-function:#9cc4f0;--syntax-type:#7fd3cf;--syntax-attr:#cfd89c;--syntax-invalid:#f2877b;--code-selection:#dbe35c47;--code-line:#e8ece60d;--header-h:3.5rem;--drawer-w:min(28rem, 100vw);--hue-blue:#2a78d6;--hue-blue-soft:#e3eefb;--hue-blue-ink:#1a4f91;--hue-green:#1baf7a;--hue-green-soft:#dcf3e9;--hue-green-ink:#0d6545;--hue-orange:#eb6834;--hue-orange-soft:#fde8de;--hue-orange-ink:#973711;--hue-amber:#eda100;--hue-amber-soft:#fbefd0;--hue-amber-ink:#714c00;--hue-rose:#e87ba4;--hue-rose-soft:#fbe5ee;--hue-rose-ink:#962c55;--brand-glow:#6cc9a052;--brand-glow-2:#e6ef5f29}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--hue-blue-soft:#14283f;--hue-blue-ink:#92bdf0;--hue-green-soft:#112d23;--hue-green-ink:#74d4ad;--hue-orange-soft:#36190d;--hue-orange-ink:#f5a582;--hue-amber-soft:#302407;--hue-amber-ink:#f0c35a;--hue-rose-soft:#351523;--hue-rose-ink:#f2a5c2}}:root[data-theme=dark]{--hue-blue-soft:#14283f;--hue-blue-ink:#92bdf0;--hue-green-soft:#112d23;--hue-green-ink:#74d4ad;--hue-orange-soft:#36190d;--hue-orange-ink:#f5a582;--hue-amber-soft:#302407;--hue-amber-ink:#f0c35a;--hue-rose-soft:#351523;--hue-rose-ink:#f2a5c2}.hue-pine{--hue:var(--pine);--hue-soft:var(--pine-soft);--hue-ink:var(--pine)}.hue-blue{--hue:var(--hue-blue);--hue-soft:var(--hue-blue-soft);--hue-ink:var(--hue-blue-ink)}.hue-green{--hue:var(--hue-green);--hue-soft:var(--hue-green-soft);--hue-ink:var(--hue-green-ink)}.hue-orange{--hue:var(--hue-orange);--hue-soft:var(--hue-orange-soft);--hue-ink:var(--hue-orange-ink)}.hue-amber{--hue:var(--hue-amber);--hue-soft:var(--hue-amber-soft);--hue-ink:var(--hue-amber-ink)}.hue-rose{--hue:var(--hue-rose);--hue-soft:var(--hue-rose-soft);--hue-ink:var(--hue-rose-ink)}:root{--on-marker:#121614;--brand-ground-deep:#08301f;--brand-ground-surface:#f5f6f212;--brand-ground-surface-2:#f5f6f21f;--brand-ground-line:#f5f6f229;--hue-pine-bright:#86d6b2;--hue-blue-bright:#92bdf0;--hue-green-bright:#74d4ad;--hue-orange-bright:#f5a582;--hue-amber-bright:#f0c35a;--hue-rose-bright:#f2a5c2;--shadow-band:0 2px 4px #0000001f, 0 16px 40px #0000002e;--shadow-band-lift:0 4px 8px #00000024, 0 24px 56px #00000042;--dur-reveal:.52s;--dur-moment:.76s}@media (prefers-reduced-motion:reduce){:root{--dur-reveal:0s;--dur-moment:0s}}.hue-pine{--hue-bright:var(--hue-pine-bright)}.hue-blue{--hue-bright:var(--hue-blue-bright)}.hue-green{--hue-bright:var(--hue-green-bright)}.hue-orange{--hue-bright:var(--hue-orange-bright)}.hue-amber{--hue-bright:var(--hue-amber-bright)}.hue-rose{--hue-bright:var(--hue-rose-bright)}.theme-atelier{--ws-bg:var(--paper);--ws-panel:var(--surface);--ws-panel-2:var(--surface-2);--ws-line:var(--line);--ws-accent:var(--hue-ink,var(--pine));--ws-accent-fill:var(--hue,var(--pine));--ws-mark-ink:var(--pine);--ws-strong:var(--ink);--ws-practice:var(--hue-amber-ink);--ws-inline-code-bg:var(--marker-soft);--ws-inline-code-ink:var(--ink);--ws-frame-line:color-mix(in srgb, var(--code-ink) 14%, transparent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-atelier{--ws-bg:#0b1512;--ws-panel:#0f1c18;--ws-panel-2:#142520;--ws-line:#21362f;--paper:var(--ws-bg);--surface:var(--ws-panel);--surface-2:var(--ws-panel-2);--surface-sunk:#1a2d27;--line:var(--ws-line);--line-strong:#2e4a41;--ink:#eef2ee;--ink-2:#b9c7c0;--ink-3:#8a9c94;--ink-inverse:var(--ws-bg);--pine:#6cc9a0;--pine-hover:#86d6b2;--pine-soft:#17372b;--pine-line:#2f6b54;--success-soft:#16301f;--danger-soft:#3a1714;--warning-soft:#33280f;--ws-accent:var(--hue-bright);--ws-accent-fill:var(--hue-bright);--ws-mark-ink:var(--marker);--ws-strong:var(--brand-ground-ink);--ws-practice:var(--hue-amber-bright);--ws-inline-code-bg:color-mix(in srgb, var(--marker) 12%, transparent);--ws-inline-code-ink:var(--marker);color-scheme:dark}}:root[data-theme=dark] .theme-atelier{--ws-bg:#0b1512;--ws-panel:#0f1c18;--ws-panel-2:#142520;--ws-line:#21362f;--paper:var(--ws-bg);--surface:var(--ws-panel);--surface-2:var(--ws-panel-2);--surface-sunk:#1a2d27;--line:var(--ws-line);--line-strong:#2e4a41;--ink:#eef2ee;--ink-2:#b9c7c0;--ink-3:#8a9c94;--ink-inverse:var(--ws-bg);--pine:#6cc9a0;--pine-hover:#86d6b2;--pine-soft:#17372b;--pine-line:#2f6b54;--success-soft:#16301f;--danger-soft:#3a1714;--warning-soft:#33280f;--ws-accent:var(--hue-bright);--ws-accent-fill:var(--hue-bright);--ws-mark-ink:var(--marker);--ws-strong:var(--brand-ground-ink);--ws-practice:var(--hue-amber-bright);--ws-inline-code-bg:color-mix(in srgb, var(--marker) 12%, transparent);--ws-inline-code-ink:var(--marker);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--line-strong) transparent;hanging-punctuation:first last}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;caret-color:var(--pine);margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:640;line-height:var(--leading-snug);letter-spacing:var(--tracking-heading);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}img,svg,video,canvas{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--pine);text-underline-offset:.2em;transition:color var(--dur-fast) ease, text-decoration-color var(--dur-fast) ease;text-decoration-thickness:1px}a:hover{color:var(--pine-hover)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.92em}:not(pre)>code{border-radius:var(--radius-sm);background:var(--surface-2);padding:.1em .35em}table,.tabular{font-variant-numeric:tabular-nums}::selection{background:var(--marker);color:#121614}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--paper);border-radius:var(--radius-pill)}::-webkit-scrollbar-track{background:0 0}.marker{background:linear-gradient(var(--marker), var(--marker)) no-repeat 0 82% / 100% .62em;color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}.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}.skip-link{left:var(--space-4);top:var(--space-4);z-index:calc(var(--z-nav) + 1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--ink);color:var(--ink-inverse);position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.ui-control{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font-size:var(--text-base);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);line-height:1.4}.ui-control::placeholder{color:var(--ink-3);opacity:1}@media (hover:hover) and (pointer:fine){.ui-control:hover:not(:disabled,:focus-visible){border-color:var(--ink-3)}}.ui-control:focus-visible{border-color:var(--pine);border-radius:var(--radius-md);box-shadow:0 0 0 3px var(--pine-soft)}.ui-control[aria-invalid=true]{border-color:var(--danger)}.ui-control[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px var(--danger-soft)}.ui-control:disabled{background:var(--surface-sunk);color:var(--ink-3);border-color:var(--line);cursor:not-allowed}textarea.ui-control{resize:vertical;min-height:6rem;line-height:var(--leading-body)}select.ui-control{appearance:none;padding-right:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2359625d' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;cursor:pointer;background-size:18px}:root{--header-h:4rem;--section-y:clamp(4.5rem, 3rem + 6vw, 8.5rem);--band-ink:#121614;--band-paper:#eceee9;--band-muted:#a9b3ad;--rule:1px solid var(--line)}html{scroll-padding-top:calc(var(--header-h) + 1rem);overflow-x:clip}body{flex-direction:column;min-height:100dvh;display:flex;overflow-x:clip}main{flex:1}.wrap{width:100%;max-width:var(--wrap);padding-inline:var(--gutter);margin-inline:auto}.wrap--narrow{max-width:calc(var(--measure) + 2 * var(--gutter))}.display{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:660;line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}.h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-display);line-height:1.12}.h3{font-size:var(--text-lg);line-height:var(--leading-snug)}.lead{font-size:var(--text-md);color:var(--ink-2);max-width:60ch;line-height:1.55}.muted{color:var(--ink-3)}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:.8125rem}.prose{max-width:var(--measure);color:var(--ink)}.prose>*+*{margin-top:1em}.prose h2{font-size:var(--text-xl);margin-top:2.2em}.prose h3{font-size:var(--text-lg);margin-top:1.8em}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:.35em}.prose pre,pre.astro-code{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);color:var(--code-ink);scrollbar-color:#3b4540 transparent;margin:1.25em 0;font-size:.875rem;line-height:1.6;overflow-x:auto;background:var(--code-bg)!important}pre.astro-code code{font-size:inherit}.btn{--btn-bg:var(--pine);--btn-ink:#fff;justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-5);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-ink);font-weight:560;font-size:var(--text-base);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:0;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{color:var(--btn-ink)}.btn svg{transition:transform var(--dur-fast) var(--ease-out)}@media (hover:hover) and (pointer:fine){.btn:hover{--btn-bg:var(--pine-hover)}.btn:hover svg{transform:translate(3px)}}.btn--marker,.on-dark .btn:not(.btn--ghost),.page-head .btn:not(.btn--ghost),.site-header .btn:not(.btn--ghost){--btn-bg:var(--marker);--btn-ink:var(--on-marker);font-weight:620;box-shadow:0 1px 2px #0000002e,0 6px 18px #00000029}@media (hover:hover) and (pointer:fine){.btn--marker:hover,.on-dark .btn:not(.btn--ghost):hover,.page-head .btn:not(.btn--ghost):hover,.site-header .btn:not(.btn--ghost):hover{--btn-bg:color-mix(in oklab, var(--marker) 82%, white);--btn-ink:var(--on-marker)}}.btn:active{transform:scale(var(--press-scale))}.btn--ghost{--btn-bg:transparent;--btn-ink:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong)}@media (hover:hover) and (pointer:fine){.btn--ghost:hover{--btn-bg:var(--surface);--btn-ink:var(--ink);box-shadow:inset 0 0 0 1px var(--ink-3)}}.btn--sm{min-height:2.25rem;padding:0 var(--space-4);font-size:var(--text-sm)}.btn--lg{min-height:3.25rem;padding:0 var(--space-6);font-size:var(--text-md)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn:not(.btn--ghost){--btn-ink:var(--on-marker)}}.link-arrow{transition:background-size var(--dur-base) var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;align-items:center;gap:.35em;font-weight:540;text-decoration:none;display:inline-flex}.link-arrow:hover{background-size:100% 1px}.link-arrow svg{transition:transform var(--dur-fast) var(--ease-out)}.link-arrow:hover svg{transform:translate(2px)}.actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.chip{border-radius:var(--radius-sm);background:var(--surface-2);color:var(--ink-2);font-size:var(--text-xs);white-space:nowrap;align-items:center;gap:.4em;padding:.2em .6em;font-weight:540;line-height:1.5;display:inline-flex}.chip--pine{background:var(--pine-soft);color:var(--pine)}.chip--warn{background:var(--warning-soft);color:var(--warning)}.chip--mono{font-family:var(--font-mono);font-weight:500}.section{padding-block:var(--section-y)}.section:not(.on-dark):not(.section--tint)+.section:not(.on-dark):not(.section--tint){border-top:var(--rule)}.section--tint{background:var(--surface-2)}.on-dark .h2{color:var(--ink)}.section__head{gap:var(--space-4);max-width:46rem;margin-bottom:clamp(2rem,1.5rem + 2vw,3.5rem);display:grid}.on-dark,.page-head,.site-header,.site-footer{--ink:var(--brand-ground-ink);--ink-2:var(--brand-ground-muted);--ink-3:var(--brand-ground-muted);--line:var(--brand-ground-line);--line-strong:#f5f6f252;--surface:var(--brand-ground-surface);--surface-2:var(--brand-ground-surface-2);--pine:var(--hue-pine-bright);--pine-hover:var(--marker);--pine-soft:color-mix(in oklab, var(--hue-pine-bright) 20%, transparent);--warning:var(--hue-amber-bright);--warning-soft:color-mix(in oklab, var(--hue-amber-bright) 20%, transparent);--focus-ring:0 0 0 2px var(--brand-ground-deep), 0 0 0 4px var(--marker);color:var(--ink)}.band-ink{background:var(--band-ink)}.on-dark.band-ink,.band-ink .on-dark,.site-footer.band-ink{--ink-2:var(--band-muted);--ink-3:var(--band-muted);--focus-ring:0 0 0 2px var(--band-ink), 0 0 0 4px var(--marker)}.band-brand{background:radial-gradient(50% 60% at 100% 0%, var(--brand-glow-2), transparent 70%), radial-gradient(55% 70% at 0% 100%, var(--brand-glow), transparent 70%), var(--brand-ground)}.ribbon-rule{background:linear-gradient(90deg, var(--hue-pine-bright) 0 18%, transparent 18% 18.4%, var(--hue-blue) 18.4% 39%, transparent 39% 39.4%, var(--hue-amber) 39.4% 52%, transparent 52% 52.4%, var(--hue-green) 52.4% 70%, transparent 70% 70.4%, var(--hue-orange) 70.4% 86%, transparent 86% 86.4%, var(--hue-rose) 86.4% 100%);height:6px}.page-head{background:radial-gradient(42% 90% at 96% 0%, color-mix(in oklab, var(--hue-bright,var(--marker)) 26%, transparent), transparent 72%), radial-gradient(50% 80% at 0% 100%, var(--brand-glow), transparent 70%), var(--brand-ground);padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(2.75rem,2rem + 3vw,4.5rem);position:relative;overflow:clip}.page-head:after{content:"";background:var(--hue-bright,var(--marker));transform-origin:0;height:4px;animation:head-rule var(--dur-moment) var(--ease-out) .12s both;position:absolute;inset:auto 0 0}@keyframes head-rule{0%{transform:scaleX(0)}}.page-head h1{letter-spacing:var(--tracking-display);max-width:20ch;color:var(--ink);font-size:clamp(2.25rem,1.5rem + 3vw,3.75rem);font-weight:680;line-height:1.04}.answer{margin-top:var(--space-5);max-width:62ch;font-size:var(--text-md);color:var(--ink-2);line-height:1.55}.answer strong{color:var(--ink);font-weight:600}.crumbs{margin:0 0 var(--space-5);font-size:var(--text-sm);color:var(--ink-3);flex-wrap:wrap;gap:.25rem .5rem;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--line-strong);margin-right:.5rem}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--marker);text-decoration:underline}.facts{gap:var(--space-2);margin:var(--space-6) 0 0;font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.facts li{border-radius:var(--radius-md);background:var(--surface-2);padding:.35rem .75rem}.facts strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.rows{border-top:var(--rule);margin:0;padding:0;list-style:none}.rows>li{border-bottom:var(--rule)}.row-link{gap:var(--space-1) var(--space-6);padding:var(--space-4) var(--space-2);margin-inline:calc(var(--space-2) * -1);border-radius:var(--radius-sm);color:inherit;transition:background-color var(--dur-fast) var(--ease-out);text-decoration:none;display:grid}.row-link:hover{color:inherit}@media (hover:hover) and (pointer:fine){.row-link:hover{background:var(--surface)}.row-link:hover .row-title{color:var(--pine)}}.row-title{color:var(--ink);transition:color var(--dur-fast) var(--ease-out);font-weight:580}.row-meta{font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums}.panel{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1);padding:clamp(1.25rem,1rem + 1vw,2rem)}.split{gap:clamp(2rem,1rem + 4vw,5rem);display:grid}@media (width>=960px){.split{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.split--even{grid-template-columns:1fr 1fr}.sticky{top:calc(var(--header-h) + 1.5rem);position:sticky}}.stack>*+*{margin-top:var(--space-4)}.stack-lg>*+*{margin-top:clamp(2.5rem,2rem + 2vw,4rem)}.checklist{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.checklist li{gap:var(--space-3);grid-template-columns:1.25rem 1fr;align-items:start;display:grid}.checklist svg{color:var(--pine);margin-top:.2em}.faq{border-top:var(--rule)}.faq details{border-bottom:var(--rule)}.faq summary{justify-content:space-between;gap:var(--space-4);padding:var(--space-5) 0;cursor:pointer;font-weight:580;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{transition:transform var(--dur-base) var(--ease-out);flex:none;margin-top:.2em}.faq details[open] summary svg{transform:rotate(45deg)}.faq details p{padding-bottom:var(--space-5);max-width:64ch;color:var(--ink-2)}.empty{border-radius:var(--radius-lg);background:var(--surface-2);max-width:44rem;padding:clamp(2rem,1.5rem + 3vw,4rem)}.tile{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--hue-soft,var(--surface-2))}.glyph{border-radius:var(--radius-md);background:var(--hue,var(--pine));min-width:2.25rem;height:2.25rem;color:var(--glyph-ink,#fff);font-family:var(--font-mono);letter-spacing:0;flex:none;place-items:center;padding-inline:.4rem;font-size:.75rem;font-weight:600;line-height:1;display:inline-grid}.hue-amber .glyph,.hue-green .glyph,.hue-rose .glyph,.hue-orange .glyph,.glyph.hue-amber,.glyph.hue-green,.glyph.hue-rose,.glyph.hue-orange{--glyph-ink:var(--on-marker)}.track-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));margin:0;padding:0;list-style:none;display:grid}@media (width>=760px){.track-grid--pairs{grid-template-columns:repeat(2,minmax(0,1fr))}}.band-brand .track-grid,.band-ink .track-grid{--card-shadow:0 2px 4px #0000001f, 0 16px 40px #0000002e;--card-shadow-hover:0 4px 8px #00000024, 0 24px 56px #0000003d}[data-deal].is-armed>*{opacity:0;transform:translateY(16px)}[data-deal].is-in>*{opacity:1;transition:opacity .42s var(--ease-out), transform var(--dur-reveal) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);transition-delay:calc(var(--i,0) * 60ms);transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header[data-astro-cid-nen7h5rs]{z-index:var(--z-nav);background:var(--brand-ground-deep);border-bottom:1px solid var(--brand-ground-line);position:sticky;top:0}@supports (backdrop-filter:blur(1px)){.site-header[data-astro-cid-nen7h5rs]{background:color-mix(in oklab, var(--brand-ground-deep) 88%, transparent);backdrop-filter:saturate(1.4)blur(14px)}}.site-header__inner[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-6);height:var(--header-h);display:flex}.wordmark[data-astro-cid-nen7h5rs]{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;flex:none;align-items:center;gap:.55rem;font-size:1.25rem;font-weight:680;text-decoration:none;display:inline-flex}.wordmark[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.wordmark__accent[data-astro-cid-nen7h5rs]{color:var(--marker)}.wordmark__mark[data-astro-cid-nen7h5rs]{width:2.125rem;height:auto;transition:transform var(--dur-base) var(--ease-out);flex:none}@media (hover:hover) and (pointer:fine){.wordmark[data-astro-cid-nen7h5rs]:hover .wordmark__mark[data-astro-cid-nen7h5rs]{transform:translateY(-1px)scale(1.04)}}.site-nav[data-astro-cid-nen7h5rs]{display:none}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs],.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:var(--space-1);margin:0;padding:0;list-style:none;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);color:var(--ink-2);font-size:var(--text-sm);transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);padding:.45rem .65rem;font-weight:500;text-decoration:none;display:block}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover,.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--ink);background:var(--surface-2)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page],.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--ink);background:linear-gradient(var(--marker), var(--marker)) no-repeat .65rem calc(100% - .2rem) / calc(100% - 1.3rem) 2px}.site-header__end[data-astro-cid-nen7h5rs]{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.lang-switch[data-astro-cid-nen7h5rs],.auth-link[data-astro-cid-nen7h5rs]{color:var(--ink-2);font-size:var(--text-sm);white-space:nowrap;font-weight:540;text-decoration:none}.lang-switch[data-astro-cid-nen7h5rs]{font-family:var(--font-mono);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--line-strong);padding:.25rem .4rem;font-size:.75rem}.lang-switch[data-astro-cid-nen7h5rs]:hover,.auth-link[data-astro-cid-nen7h5rs]:hover{color:var(--marker)}.site-header__end[data-astro-cid-nen7h5rs]>.auth-link[data-astro-cid-nen7h5rs],.site-header__cta[data-astro-cid-nen7h5rs]{display:none}.menu-toggle[data-astro-cid-nen7h5rs],.drawer__close[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);min-height:2.5rem;box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-press) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;gap:.4rem;padding:0 .75rem;font-weight:540;display:inline-flex}.drawer__close[data-astro-cid-nen7h5rs]{width:2.5rem;padding:0}.menu-toggle[data-astro-cid-nen7h5rs]:active,.drawer__close[data-astro-cid-nen7h5rs]:active{transform:scale(var(--press-scale))}@media (hover:hover) and (pointer:fine){.menu-toggle[data-astro-cid-nen7h5rs]:hover,.drawer__close[data-astro-cid-nen7h5rs]:hover{background:var(--surface-2)}}.drawer[data-astro-cid-nen7h5rs]{width:min(22rem,100vw - 3rem);max-width:none;height:100dvh;max-height:none;padding:0 var(--gutter) max(var(--space-6), env(safe-area-inset-bottom));border:none;border-left:1px solid var(--brand-ground-line);background:var(--brand-ground-deep);color:var(--ink);box-shadow:var(--shadow-3);overscroll-behavior:contain;transition:transform var(--dur-base) var(--ease-drawer);flex-direction:column;margin:0;display:none;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(0)}.drawer[data-astro-cid-nen7h5rs][open]{display:flex}@starting-style{.drawer[data-astro-cid-nen7h5rs][open]{transform:translate(100%)}}.drawer[data-astro-cid-nen7h5rs].is-closing{transition-duration:var(--dur-fast);transition-timing-function:var(--ease-in-out);transform:translate(100%)}.drawer[data-astro-cid-nen7h5rs]::backdrop{opacity:1;transition:opacity var(--dur-base) var(--ease-out);background:#0000006b}@starting-style{.drawer[data-astro-cid-nen7h5rs][open]::backdrop{opacity:0}}.drawer[data-astro-cid-nen7h5rs].is-closing::backdrop{opacity:0;transition-duration:var(--dur-fast)}html:has(#site-drawer[open]){overflow:hidden}.drawer__head[data-astro-cid-nen7h5rs]{height:var(--header-h);margin-bottom:var(--space-4);flex:none;justify-content:space-between;align-items:center;display:flex}.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{flex-direction:column}.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);font-size:var(--text-lg);letter-spacing:-.01em;padding:.75rem;font-weight:560}.menu[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page]{background:var(--surface-2);text-decoration:underline 2px var(--marker);text-underline-offset:.4em}.drawer__foot[data-astro-cid-nen7h5rs]{gap:var(--space-4);padding-top:var(--space-6);margin-top:auto;display:grid}.drawer__foot[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{justify-content:center;width:100%}.drawer__foot[data-astro-cid-nen7h5rs] .auth-link[data-astro-cid-nen7h5rs]{font-size:var(--text-base);justify-self:center}.drawer__foot[data-astro-cid-nen7h5rs] .lang-switch[data-astro-cid-nen7h5rs]{font-family:inherit;font-size:var(--text-sm);box-shadow:none;color:var(--ink-2);justify-self:center}@media (width>=720px){.site-header__cta[data-astro-cid-nen7h5rs]{display:inline-flex}}@media (width>=1100px){.site-nav[data-astro-cid-nen7h5rs]{display:block}.site-header__end[data-astro-cid-nen7h5rs]>.auth-link[data-astro-cid-nen7h5rs]{display:inline}.menu-toggle[data-astro-cid-nen7h5rs]{display:none}}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:var(--space-16) var(--space-10);font-size:var(--text-sm);margin-top:auto}.site-footer__grid[data-astro-cid-jo6i4kqk]{gap:var(--space-10) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.site-footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1;max-width:34ch}.site-footer__name[data-astro-cid-jo6i4kqk]{margin-bottom:var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);align-items:center;gap:.55rem;font-weight:660;display:flex}.site-footer__accent[data-astro-cid-jo6i4kqk]{color:var(--marker)}.site-footer__tagline[data-astro-cid-jo6i4kqk]{margin:calc(-1 * var(--space-2)) 0 var(--space-3);color:var(--ink);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.01em;font-weight:560}.site-footer__mark[data-astro-cid-jo6i4kqk]{flex:none;width:2.125rem;height:auto}.site-footer__note[data-astro-cid-jo6i4kqk]{color:var(--ink-2)}.site-footer__cta[data-astro-cid-jo6i4kqk]{margin-top:var(--space-5)}.site-footer__title[data-astro-cid-jo6i4kqk]{margin-bottom:var(--space-3);color:var(--ink);font-weight:600}.site-footer[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:not(.btn){color:var(--ink-2);text-decoration:none}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:not(.btn):hover{color:var(--marker);text-decoration:underline}.site-footer__meta[data-astro-cid-jo6i4kqk]{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--line);color:var(--ink-3)}.site-footer__meta[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.site-footer__consent[data-astro-cid-jo6i4kqk]{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.site-footer__meta[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.site-footer__consent[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}@media (width>=860px){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:2fr repeat(3,1fr)}.site-footer__brand[data-astro-cid-jo6i4kqk]{grid-column:auto}}
