@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.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:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-ext-wght-normal.hsMS0n0O.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:Schibsted Grotesk Variable;font-style:normal;font-display:swap;font-weight:400 900;src:url(/_astro/schibsted-grotesk-latin-wght-normal.Bb8VGrTG.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.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:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-italic.CBjNughH.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-italic.B4oTjJdl.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:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-italic.CBJ8pzag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-italic.2syK4fUT.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-italic.DRuN92E5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-italic.D6eaYXMU.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:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-italic.B7_fu1kp.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-italic.Bg0ZHwF4.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:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-italic.BqAiT5Ww.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-italic.66oory27.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;--bg:#f6f4ef;--bg-elev:#fbfaf7;--bg-sunk:#eeebe3;--ink:#1b1a17;--ink-2:#47443d;--ink-3:#66625a;--rule:#e1ddd3;--rule-2:#cbc6ba;--accent:#b03a19;--accent-ink:#9a3114;--accent-wash:#f4e4dc;--accent-line:#b03a1973;--blue:#245685;--ochre:#7c4510;--mark:#f7dc9b;--code-paren:#736d64;--shadow:0 1px 2px #1b1a170f, 0 12px 32px -12px #1b1a172e;--overlay:#1b1a1752;--d-event:#1b1a17;--d-event-fill:#ebe7de;--d-query:#b03a19;--d-query-fill:#b03a1914;--d-muted:#a49f94;--glow:none;--glow-soft:none;--glow-hero:none;--glow-mark:none;--glow-line:none;--raster:none;--button-hover-ink:#fff;--button-primary-bg:var(--ink);--button-primary-ink:var(--bg);--button-primary-border:var(--ink);--button-primary-glow:none;--header-bg:color-mix(in srgb, var(--bg) 92%, transparent);--header-rule:var(--rule);--code-inline-ink:inherit;--stop-ink:var(--accent-ink);--sr-first-line:var(--rule-2);--font-serif:"Newsreader Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-sans:"Schibsted Grotesk Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--step--2:.75rem;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:clamp(1.375rem, 1.25rem + .5vw, 1.625rem);--step-3:clamp(1.75rem, 1.45rem + 1.2vw, 2.375rem);--step-4:clamp(2.25rem, 1.7rem + 2.4vw, 3.5rem);--step-5:clamp(2.75rem, 1.6rem + 5vw, 5.75rem);--gutter:clamp(1rem, 3.5vw, 3rem);--max:1320px;--measure:68ch;--header-h:4rem;--radius:6px;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#04100a;--bg-elev:#08180f;--bg-sunk:#0c1f15;--ink:#c9f7d6;--ink-2:#97d6ab;--ink-3:#6aae84;--rule:#143022;--rule-2:#1f4a33;--accent:#4dff88;--accent-ink:#7dffa6;--accent-wash:#0e2c1b;--accent-line:#4dff8873;--blue:#6fe3e0;--ochre:#ffbd5c;--mark:#1d5434;--code-paren:#5c9f77;--shadow:0 1px 2px #00000080, 0 16px 40px -12px #000000b3;--overlay:#010805a8;--d-event:#c9f7d6;--d-event-fill:#10281b;--d-query:#4dff88;--d-query-fill:#4dff881a;--d-muted:#3f7a58;--glow:0 0 .5em #4dff884d, 0 0 .08em #4dff8859;--glow-soft:0 0 .45em color-mix(in srgb, currentColor 32%, transparent);--glow-hero:0 0 .04em #aaffc88c, 0 0 .4em #4dff8852, 0 0 1.1em #4dff8821;--glow-mark:drop-shadow(0 0 3px #4dff88a6);--glow-line:0 0 6px #4dff8899;--raster:radial-gradient(140% 120% at 50% 45%, transparent 55%, #0006 100%), radial-gradient(120% 70% at 50% 0%, #34aa6024, transparent 60%), repeating-linear-gradient(to bottom, transparent 0 2px, #4dff8808 2px 3px);--button-hover-ink:#03100a;--button-primary-bg:#0e2c1b;--button-primary-ink:#7dffa6;--button-primary-border:#4dff88;--button-primary-glow:0 0 0 1px #4dff8838, 0 0 18px -6px #4dff888c;--header-bg:#04100a;--header-rule:#4dff8829;--code-inline-ink:#94fdb4;--stop-ink:#ffbd5c;--sr-first-line:#4dff8873}}:root[data-theme=dark]{color-scheme:dark;--bg:#04100a;--bg-elev:#08180f;--bg-sunk:#0c1f15;--ink:#c9f7d6;--ink-2:#97d6ab;--ink-3:#6aae84;--rule:#143022;--rule-2:#1f4a33;--accent:#4dff88;--accent-ink:#7dffa6;--accent-wash:#0e2c1b;--accent-line:#4dff8873;--blue:#6fe3e0;--ochre:#ffbd5c;--mark:#1d5434;--code-paren:#5c9f77;--shadow:0 1px 2px #00000080, 0 16px 40px -12px #000000b3;--overlay:#010805a8;--d-event:#c9f7d6;--d-event-fill:#10281b;--d-query:#4dff88;--d-query-fill:#4dff881a;--d-muted:#3f7a58;--glow:0 0 .5em #4dff884d, 0 0 .08em #4dff8859;--glow-soft:0 0 .45em color-mix(in srgb, currentColor 32%, transparent);--glow-hero:0 0 .04em #aaffc88c, 0 0 .4em #4dff8852, 0 0 1.1em #4dff8821;--glow-mark:drop-shadow(0 0 3px #4dff88a6);--glow-line:0 0 6px #4dff8899;--raster:radial-gradient(140% 120% at 50% 45%, transparent 55%, #0006 100%), radial-gradient(120% 70% at 50% 0%, #34aa6024, transparent 60%), repeating-linear-gradient(to bottom, transparent 0 2px, #4dff8808 2px 3px);--button-hover-ink:#03100a;--button-primary-bg:#0e2c1b;--button-primary-ink:#7dffa6;--button-primary-border:#4dff88;--button-primary-glow:0 0 0 1px #4dff8838, 0 0 18px -6px #4dff888c;--header-bg:#04100a;--header-rule:#4dff8829;--code-inline-ink:#94fdb4;--stop-ink:#ffbd5c;--sr-first-line:#4dff8873}@media (prefers-contrast:more){:root{--glow:none!important;--glow-soft:none!important;--glow-hero:none!important;--glow-mark:none!important;--glow-line:none!important;--button-primary-glow:none!important;--raster:none!important}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1.25rem);hanging-punctuation:first}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--step-0);font-kerning:normal;font-variant-numeric:proportional-nums;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.6}img,svg,video{max-width:100%;display:block}figure{margin:0}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:500}p,li,dd{text-wrap:pretty}p{margin:0}a{color:inherit}button,input{font:inherit;color:inherit}::selection{background:var(--accent-wash);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:var(--bg);border-radius:var(--radius);padding:.6rem 1rem;text-decoration:none;position:absolute;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}code,kbd,pre,samp{font-family:var(--font-mono);font-variant-ligatures:none;font-size:.875em}kbd{border:1px solid var(--rule-2);background:var(--bg-elev);white-space:nowrap;color:var(--ink-2);border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-size:.8em;line-height:1.4;display:inline-block}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.overline{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.marker{font-family:var(--font-mono);font-size:var(--step--1);color:var(--accent-ink);font-feature-settings:"zero" 0;letter-spacing:.02em}.lede{font-size:var(--step-1);color:var(--ink-2);line-height:1.5}.serif{font-family:var(--font-serif)}.link,.prose a:not(.heading-anchor){color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--accent-line);text-underline-offset:.2em;transition:text-decoration-color .15s var(--ease), color .15s var(--ease);text-decoration-thickness:1px}.link:hover,.prose a:not(.heading-anchor):hover{color:var(--accent-ink);text-decoration-color:currentColor}.arrow-link{color:var(--ink);border-bottom:1px solid var(--accent-line);transition:border-color .15s var(--ease), color .15s var(--ease);align-items:baseline;gap:.4em;padding-bottom:.1em;font-weight:500;text-decoration:none;display:inline-flex}.arrow-link:after{content:"→";content:"→" / "";transition:transform .2s var(--ease)}.arrow-link:hover{color:var(--accent-ink);border-color:currentColor}@media (prefers-reduced-motion:no-preference){.arrow-link:hover:after{transform:translate(3px)}}.button{border:1px solid var(--ink);border-radius:var(--radius);min-height:2.875rem;font-size:var(--step--1);letter-spacing:.01em;cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);justify-content:center;align-items:center;gap:.5em;padding:.7rem 1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.button--primary{background:var(--button-primary-bg);border-color:var(--button-primary-border);color:var(--button-primary-ink);box-shadow:var(--button-primary-glow);text-shadow:var(--glow-soft)}.button--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--button-hover-ink)}.button--secondary{color:var(--ink);border-color:var(--rule-2);background:0 0}.button--secondary:hover{border-color:var(--ink)}.code-block{border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-elev);margin:1.5rem 0;position:relative;overflow:hidden}.code-block__bar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;min-height:2.25rem;padding:.2rem .4rem .2rem 1rem;display:flex}.code-block__lang,.code-block__title{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.code-block__title{text-transform:none;letter-spacing:.01em;font-size:.78rem}.copy-button{min-height:1.875rem;color:var(--ink-3);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .6rem;display:inline-flex}.copy-button:hover{color:var(--ink);border-color:var(--rule-2)}.copy-button[data-state=copied]{color:var(--accent-ink)}.code-block pre,.astro-code{tab-size:2;margin:0;padding:1rem 1.25rem 1.1rem;font-size:.875rem;line-height:1.7;overflow-x:auto;background:0 0!important}.code-block pre code{font-size:inherit;min-width:max-content;display:block}.code-block pre:focus-visible{outline-offset:-3px}.astro-code span{color:var(--shiki-light);font-style:var(--shiki-light-font-style)}.astro-code span.pn{color:var(--code-paren)}:root[data-theme=dark] .astro-code span:not(.pn){color:var(--shiki-dark);font-style:var(--shiki-dark-font-style)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code span:not(.pn){color:var(--shiki-dark);font-style:var(--shiki-dark-font-style)}}.code-block .line.is-lit{background:var(--accent-wash);box-shadow:-1.25rem 0 0 var(--accent-wash), 1.25rem 0 0 var(--accent-wash)}.prose{color:var(--ink);font-size:1.03125rem;line-height:1.7}.prose>*+*{margin-top:1.1em}.prose>:first-child{margin-top:0}.prose h2{border-top:1px solid var(--rule);font-family:var(--font-serif);font-size:var(--step-3);letter-spacing:-.012em;font-variation-settings:"opsz" 48;margin-top:2.1em;padding-top:1.15em;font-weight:500;line-height:1.15}.prose h3{font-family:var(--font-sans);letter-spacing:-.005em;margin-top:2em;font-size:1.1875rem;font-weight:600;line-height:1.35}.prose h2+*,.prose h3+*,.prose .heading-wrap+*{margin-top:.7em}.prose .heading-wrap{align-items:baseline;gap:.35rem;display:flex}.prose .heading-wrap--h2{border-top:1px solid var(--rule);margin-top:2.1em;padding-top:1.15em}.prose .heading-wrap--h3{margin-top:2em}.prose .heading-wrap>h2,.prose .heading-wrap>h3{border:0;margin:0;padding:0}.prose h2 code,.prose h3 code{background:0 0;padding:0;font-size:.82em}.heading{position:relative}.heading-anchor{width:1.5rem;height:1.5rem;color:var(--ink-3);opacity:0;transition:opacity .15s var(--ease), color .15s var(--ease);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.heading-wrap:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.heading-anchor:hover{color:var(--accent-ink)}@media (hover:none){.heading-anchor{opacity:.55}}.prose h2:target,.prose h3:target{animation:target-flash 1.6s var(--ease)}@keyframes target-flash{0%{background:var(--accent-wash);box-shadow:0 0 0 .4rem var(--accent-wash)}to{background:0 0;box-shadow:0 0 0 .4rem #0000}}@media (prefers-reduced-motion:reduce){.prose h2:target,.prose h3:target{text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:.25em;animation:none}}.prose :not(pre)>code{color:var(--code-inline-ink);background:var(--bg-sunk);overflow-wrap:anywhere;border-radius:3px;padding:.12em .32em;font-size:.86em}.prose a code{color:inherit}.prose strong{font-weight:650}.prose ul,.prose ol{padding-left:1.35em}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.4em}.prose ul li::marker{color:var(--ink-3)}.prose ol li::marker{font-family:var(--font-mono);color:var(--ink-3);font-size:.85em}.prose blockquote{border-left:2px solid var(--rule-2);font-family:var(--font-serif);color:var(--ink-2);margin-inline:0;padding-left:1.25rem;font-size:1.2em;line-height:1.45}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.5em 0}.prose .code-block{margin:1.5em 0}.table-scroll{border-top:1px solid var(--rule-2);margin:1.5em 0;overflow-x:auto}.table-scroll:focus-visible{outline-offset:2px}.prose table,table.data{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.5}.prose th,table.data th{border-bottom:1px solid var(--rule-2);text-align:left;vertical-align:bottom;font-size:var(--step--2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;padding:.7rem 1rem .6rem 0;font-weight:500}.prose td,table.data td{border-bottom:1px solid var(--rule);vertical-align:top;padding:.7rem 1rem .7rem 0}.prose td:first-child,table.data td:first-child{min-width:9rem}.prose td code{white-space:nowrap;overflow-wrap:normal}.prose td:last-child,.prose th:last-child{padding-right:0}.callout{--callout:var(--ink-3);border-left:2px solid var(--callout);background:color-mix(in srgb, var(--callout) 6%, transparent);border-radius:0 var(--radius) var(--radius) 0;margin:1.6em 0;padding:.95rem 1.15rem 1rem;font-size:.96875rem;line-height:1.6}.callout>*+*{margin-top:.6em}.callout__label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--callout);font-weight:500}.callout--requires{--callout:var(--blue)}.callout--boundary{--callout:var(--accent-ink)}.callout--proposed{--callout:var(--ochre)}.callout .code-block{margin:.8em 0 .2em}.figure{margin:0}figure>figcaption.caption{margin-top:1rem}.figure figcaption,.caption{font-size:var(--step--1);color:var(--ink-3);margin-top:.85rem;line-height:1.55}.figure figcaption strong,.caption strong{color:var(--ink-2);font-weight:600}.tag{border:1px solid var(--rule-2);font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;gap:.35em;padding:.15rem .5rem;font-size:.72rem;display:inline-flex}.tag--optional{border-style:dashed}.tag--needs:before,.tag--optional:before{content:"";border-radius:50%;width:.4rem;height:.4rem}.tag--needs:before{background:var(--ink-2)}.tag--optional:before{border:1px solid var(--ink-2)}mark{background:var(--mark);color:inherit;border-radius:2px;padding:0 .1em}@media print{.site-header,.site-footer,.docs-sidebar,.docs-toc,.copy-button,.heading-anchor{display:none!important}}.code-block__actions{align-items:center;gap:.25rem;display:inline-flex}.play-button{border:1px solid var(--accent-line);min-height:1.875rem;color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), color .15s var(--ease);background:0 0;border-radius:4px;align-items:center;gap:.4rem;padding:.2rem .65rem .2rem .55rem;display:inline-flex}.play-button:hover{border-color:var(--accent);background:var(--accent-wash)}.code-block[data-playing]{border-color:var(--accent-line)}.code-block[data-playing] .play-button{background:var(--accent);border-color:var(--accent);color:var(--bg)}.code-block.has-form-markers pre{padding-left:2.6rem}.code-block .line{position:relative}.form-marker{border:1px solid var(--rule-2);background:var(--bg-elev);width:1.5rem;height:1.5rem;color:var(--accent-ink);cursor:pointer;user-select:none;transition:border-color .15s var(--ease), background .15s var(--ease);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;left:-2rem;transform:translateY(-50%)}.form-marker:hover{border-color:var(--accent)}.form-marker[data-active]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.form-marker svg{width:.6rem;height:.6rem}.play-status{border-top:1px solid var(--rule);background:color-mix(in srgb, var(--accent) 5%, var(--bg-elev));color:var(--ink-2);padding:.75rem 1.1rem .9rem;font-size:.84rem;line-height:1.55}.play-status>*+*{margin-top:.45rem}.play-status__error{color:var(--accent-ink);font-weight:600}:root{--syn-comment:#706a60;--syn-string:#2b6447;--syn-number:#a83a1b;--syn-keyword:#245685;--syn-form:#7c4510;--syn-special:#86345a}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--syn-comment:#6aa884;--syn-string:#7dff9f;--syn-number:#ffb95a;--syn-keyword:#72e2ea;--syn-form:#d2f56c;--syn-special:#aab9ff}}:root[data-theme=dark]{--syn-comment:#6aa884;--syn-string:#7dff9f;--syn-number:#ffb95a;--syn-keyword:#72e2ea;--syn-form:#d2f56c;--syn-special:#aab9ff}.hl-c{color:var(--syn-comment);font-style:italic}.hl-s{color:var(--syn-string)}.hl-n{color:var(--syn-number)}.hl-k{color:var(--syn-keyword)}.hl-f{color:var(--syn-form)}.hl-v{color:var(--syn-special)}.hl-p,.hl-q{color:var(--code-paren)}body:before{content:"";z-index:-1;pointer-events:none;background:var(--raster);position:fixed;inset:0}h2{text-shadow:var(--glow)}h1,.hero__title{text-shadow:var(--glow-hero)}.astro-code,.mora-lisp,.pg__highlight,a.link:hover,.marker{text-shadow:var(--glow-soft)}::highlight(mora-playing){background-color:color-mix(in srgb, var(--accent) 42%, transparent);color:var(--ink);text-decoration:underline 2px var(--accent)}.code-edit{position:relative}.code-edit>pre{overflow-x:hidden}.code-edit__input{resize:none;color:#0000;-webkit-text-fill-color:transparent;caret-color:var(--accent);white-space:pre;font-variant-ligatures:none;scrollbar-width:thin;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding-left:0;position:absolute;top:0;bottom:0;right:0;overflow:auto hidden}.code-edit__input::selection{background:color-mix(in srgb, var(--accent) 28%, transparent)}.code-block:has(.code-edit__input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.code-edit__gutter{pointer-events:none;width:2.6rem;position:absolute;top:0;bottom:0;left:0}.code-edit__gutter .form-marker{pointer-events:auto;left:.55rem}@media (pointer:coarse){.code-block[data-playable] pre.mora-lisp{font-size:max(1rem,16px)!important}}.code-block .line.is-lit .hl-p,.code-block .line.is-lit .hl-q,.code-block .line.is-lit .hl-c{color:var(--ink-2)}.code-block[data-loading] .play-button{animation:play-loading 1s var(--ease) infinite alternate}@keyframes play-loading{to{opacity:.55}}@media (prefers-reduced-motion:reduce){.code-block[data-loading] .play-button{animation:none}}.reset-button[hidden]{display:none}html.has-modal{overflow:hidden}main:focus{outline:none}.sr-caption{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:.9rem 1.3rem 0}.sr{border-radius:var(--radius);cursor:pointer}.sr__body{border-radius:0 var(--radius) var(--radius) 0;color:var(--ink);border-left:2px solid #0000;gap:.15rem;padding:.7rem .8rem .75rem;display:grid}.sr.is-first .sr__body{border-left-color:var(--sr-first-line)}.sr[aria-selected=true] .sr__body{background:var(--bg-sunk);border-left-color:var(--accent)}.sr__path{color:var(--ink-3);letter-spacing:.01em;font-size:.75rem}.sr__heading{font-size:.98rem;font-weight:600;line-height:1.35}.sr__excerpt{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.sr__excerpt--code{font-family:var(--font-mono);white-space:pre;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.sr mark{background:var(--mark);color:var(--ink)}.search__hint{color:var(--ink-3);font-size:.875rem;line-height:1.6}.search__state p+p{margin-top:.4rem}.search__state code{background:var(--bg-sunk);border-radius:3px;padding:.05em .3em;font-size:.85em}.search__state a{color:var(--ink);text-decoration-color:var(--accent-line);text-underline-offset:.2em}.copy{font-size:var(--step-0);color:var(--ink-2);max-width:62ch;line-height:1.65}.copy>*+*{margin-top:1em}.copy strong{color:var(--ink);font-weight:600}.copy :not(pre)>code,.notes :not(pre)>code,.index-list :not(pre)>code,.qa :not(pre)>code,.split :not(pre)>code{background:var(--bg-sunk);color:var(--ink);border-radius:3px;padding:.1em .3em;font-size:.86em}.copy ul{padding-left:1.2em}.copy li+li{margin-top:.35em}.copy a:not(.arrow-link):not(.button){color:var(--ink);text-decoration-color:var(--accent-line);text-underline-offset:.2em}.copy a:not(.arrow-link):not(.button):hover{color:var(--accent-ink)}.hsec{border-top:1px solid var(--rule);grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:1.5rem clamp(1.5rem,4vw,4rem);padding-block:clamp(3.5rem,8vw,6.5rem);display:grid}.hsec__label{flex-direction:column;gap:.35rem;padding-top:.6rem;display:flex}.hsec__label-text{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.hsec__main{min-width:0}.hsec__title{max-width:20ch;font-family:var(--font-serif);font-size:var(--step-4);letter-spacing:-.02em;font-variation-settings:"opsz" 72;font-weight:420;line-height:1.04}.hsec__title+.copy{margin-top:1.5rem}.hsec__figure{margin-top:clamp(2rem,4vw,3rem)}.hsec__more{margin-top:2rem}@media (width<=860px){.hsec{grid-template-columns:minmax(0,1fr)}.hsec__label{flex-direction:row;align-items:baseline;gap:.75rem;padding-top:0}}.split{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem clamp(1.5rem,3vw,3rem);display:grid}.split>*{min-width:0}.split__title{font-family:var(--font-serif);font-size:1.5rem;font-weight:450;line-height:1.2}.split__title+p,.split__title+.copy{margin-top:.6rem}.split p{color:var(--ink-2)}@media (width<=860px){.split{grid-template-columns:minmax(0,1fr)}}.index-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.index-list>li{border-bottom:1px solid var(--rule)}.index-list a,.index-list .index-list__row{color:var(--ink);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:baseline;gap:.4rem 2rem;padding:1.15rem 0;text-decoration:none;display:grid}.index-list__name{font-family:var(--font-serif);font-size:var(--step-2);line-height:1.2}.index-list__desc{color:var(--ink-2);font-size:.9375rem}.index-list a:after{content:"→";content:"→" / "";color:var(--ink-3);transition:transform .2s var(--ease), color .2s var(--ease)}.index-list a:hover .index-list__name,.index-list a:hover:after{color:var(--accent-ink)}@media (prefers-reduced-motion:no-preference){.index-list a:hover:after{transform:translate(4px)}}@media (width<=640px){.index-list a,.index-list .index-list__row{grid-template-columns:minmax(0,1fr) auto}.index-list__desc{grid-area:2/1/auto/2}}.notes{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,3vw,3rem);margin:0;padding:0;list-style:none;display:grid}.notes>li,.notes>div{border-top:1px solid var(--rule-2);padding:1.1rem 0 1.25rem}.notes dt,.notes__term{color:var(--ink);font-size:1rem;font-weight:600;display:block}.notes dd,.notes__desc{color:var(--ink-2);margin:.35rem 0 0;font-size:.9375rem;line-height:1.55;display:block}@media (width<=760px){.notes{grid-template-columns:minmax(0,1fr)}}.deps{flex-wrap:wrap;gap:.4rem;margin-top:1rem;padding:0;list-style:none;display:flex}.qa{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,3vw,3rem);margin:0;display:grid}.qa>div{border-top:1px solid var(--rule-2);padding:1.25rem 0 1.5rem}.qa dt{font-family:var(--font-serif);color:var(--ink);font-size:1.3rem;line-height:1.25}.qa dd{color:var(--ink-2);margin:.5rem 0 0;font-size:.9375rem;line-height:1.6}@media (width<=760px){.qa{grid-template-columns:minmax(0,1fr)}}.page-hero{padding-top:clamp(3rem,9vw,7rem);padding-bottom:clamp(2.5rem,6vw,4.5rem)}.page-hero__title{max-width:18ch;font-family:var(--font-serif);font-size:var(--step-5);letter-spacing:-.025em;font-variation-settings:"opsz" 72;margin-top:1.1rem;font-weight:400;line-height:1}.page-hero__lede{max-width:44em;font-size:var(--step-1);color:var(--ink-2);margin-top:1.75rem;line-height:1.5}.page-body{grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:0 clamp(2rem,5vw,5rem);display:grid}.page-index{top:calc(var(--header-h) + 2rem);padding-top:.25rem;position:sticky}.page-index ol{border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}.page-index a{color:var(--ink-3);border-left:1px solid #0000;grid-template-columns:2.6rem 1fr;gap:.25rem;margin-left:-1px;padding:.35rem 0 .35rem .85rem;font-size:.85rem;line-height:1.35;text-decoration:none;display:grid}.page-index a span:first-child{font-family:var(--font-mono);color:var(--ink-3);padding-top:.1rem;font-size:.72rem}.page-index a:hover,.page-index a[aria-current=true]{color:var(--ink)}.page-index a[aria-current=true]{border-left-color:var(--accent)}.page-index a[aria-current=true] span:first-child{color:var(--accent-ink)}.page-content{min-width:0}.psec{padding-block:0 clamp(3.5rem,7vw,5.5rem)}.psec+.psec{border-top:1px solid var(--rule);padding-top:clamp(2.5rem,5vw,3.5rem)}.psec__head{margin-bottom:1.5rem}.psec__head .marker{margin-bottom:.6rem;display:block}.psec__title{max-width:22ch;font-family:var(--font-serif);font-size:var(--step-3);letter-spacing:-.015em;font-variation-settings:"opsz" 60;font-weight:450;line-height:1.1}.psec>*+*{margin-top:1.5rem}.psec>.psec__head+*{margin-top:0}.psec figure,.psec .figure-wide{margin-block:2.25rem}.psec h3{margin-top:2.25rem;font-size:1.125rem;font-weight:600}.psec h3+*{margin-top:.6rem}.psec .table-wrap{overflow-x:auto}@media (width<=1000px){.page-body{grid-template-columns:minmax(0,1fr)}.page-index{display:none}}.notice{border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--bg-elev);color:var(--ink-2);grid-template-columns:auto minmax(0,1fr);gap:.25rem 1rem;max-width:62ch;padding:1rem 1.15rem;font-size:.9375rem;line-height:1.55;display:grid}.notice__label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);padding-top:.2rem}.notice strong{color:var(--ink)}@media (width<=560px){.notice{grid-template-columns:minmax(0,1fr)}}.wordmark[data-astro-cid-qisgtjgl]{color:var(--ink);align-items:center;gap:.55rem;display:inline-flex}.wordmark__mark[data-astro-cid-qisgtjgl]{width:1.9rem;height:auto;color:var(--accent);filter:var(--glow-mark);flex:none;transform:translateY(.06em)}.wordmark__word[data-astro-cid-qisgtjgl]{text-shadow:var(--glow);font-family:var(--font-serif);letter-spacing:-.01em;font-variation-settings:"opsz" 36;font-size:1.5rem;font-weight:500;line-height:1}.wordmark--sm[data-astro-cid-qisgtjgl] .wordmark__word[data-astro-cid-qisgtjgl]{font-size:1.25rem}.wordmark--sm[data-astro-cid-qisgtjgl] .wordmark__mark[data-astro-cid-qisgtjgl]{width:1.6rem}.theme-menu[data-astro-cid-qouowx25]{position:relative}html:not(.js) .theme-menu[data-astro-cid-qouowx25]{display:none}.theme-menu__trigger[data-astro-cid-qouowx25]{border:1px solid var(--rule-2);border-radius:var(--radius);width:2.375rem;height:2.375rem;color:var(--ink-2);cursor:pointer;anchor-name:--theme-trigger;background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-menu__trigger[data-astro-cid-qouowx25]:hover{color:var(--ink);border-color:var(--ink-3)}.icon[data-astro-cid-qouowx25]{display:none}html[data-theme-pref=system] .icon--system[data-astro-cid-qouowx25],html:not([data-theme-pref]) .icon--system[data-astro-cid-qouowx25],html[data-theme-pref=light] .icon--light[data-astro-cid-qouowx25],html[data-theme-pref=dark] .icon--dark[data-astro-cid-qouowx25]{display:block}.theme-menu__panel[data-astro-cid-qouowx25]{inset:auto;top:calc(var(--header-h) - .25rem);right:var(--gutter);border:1px solid var(--rule);border-radius:var(--radius);background:var(--bg-elev);min-width:10rem;color:var(--ink);box-shadow:var(--shadow);margin:0;padding:.5rem;position:fixed}@supports (position-anchor:--theme-trigger){.theme-menu__panel[data-astro-cid-qouowx25]{position-anchor:--theme-trigger;top:calc(anchor(bottom) + .4rem);right:anchor(right)}}.theme-menu__title[data-astro-cid-qouowx25]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);padding:.25rem .5rem .4rem}.theme-menu__panel[data-astro-cid-qouowx25] button[data-astro-cid-qouowx25]{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:.45rem .5rem;font-size:.9rem;display:flex}.theme-menu__panel[data-astro-cid-qouowx25] button[data-astro-cid-qouowx25]:hover{background:var(--bg-sunk)}.theme-menu__panel[data-astro-cid-qouowx25] button[data-astro-cid-qouowx25][aria-pressed=true]:after{content:"";background:var(--accent);border-radius:50%;width:.45rem;height:.45rem}.site-header[data-astro-cid-fzpbxy5g]{z-index:40;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.2)blur(10px);transition:border-color .2s var(--ease);border-bottom:1px solid #0000;position:sticky;top:0}.site-header[data-astro-cid-fzpbxy5g][data-scrolled]{border-bottom-color:var(--header-rule)}.site-header__inner[data-astro-cid-fzpbxy5g]{height:var(--header-h);align-items:center;gap:2rem;display:flex}.site-header__brand[data-astro-cid-fzpbxy5g]{border-radius:4px;flex:none;text-decoration:none}.site-nav[data-astro-cid-fzpbxy5g]{margin-right:auto}.site-nav[data-astro-cid-fzpbxy5g] ul[data-astro-cid-fzpbxy5g]{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{color:var(--ink-2);transition:color .15s var(--ease);border-radius:4px;padding:.5rem .7rem;font-size:.9375rem;text-decoration:none;display:block;position:relative}.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:hover,.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--ink)}.site-nav[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]:after{content:"";height:1.5px;box-shadow:var(--glow-line);background:var(--accent);position:absolute;bottom:.15rem;left:.7rem;right:.7rem}.site-header__tools[data-astro-cid-fzpbxy5g]{align-items:center;gap:.5rem;display:flex}.search-trigger[data-astro-cid-fzpbxy5g]{border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--bg-elev);min-width:13.5rem;height:2.375rem;color:var(--ink-3);cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:.6rem;padding:0 .5rem 0 .75rem;font-size:.875rem;display:inline-flex}.search-trigger[data-astro-cid-fzpbxy5g]:hover{border-color:var(--ink-3);color:var(--ink-2)}.search-trigger__label[data-astro-cid-fzpbxy5g]{margin-right:auto}.search-trigger__kbd[data-astro-cid-fzpbxy5g]{font-size:.7rem}.menu-trigger[data-astro-cid-fzpbxy5g]{border:1px solid var(--rule-2);border-radius:var(--radius);cursor:pointer;background:0 0;align-items:center;gap:.4rem;height:2.375rem;padding:0 .75rem;font-size:.875rem;display:none}@media (width<=1080px){.search-trigger[data-astro-cid-fzpbxy5g]{min-width:0}.search-trigger__kbd[data-astro-cid-fzpbxy5g]{display:none}}@media (width<=920px){.site-nav[data-astro-cid-fzpbxy5g]{display:none}.site-header__tools[data-astro-cid-fzpbxy5g]{margin-left:auto}.menu-trigger[data-astro-cid-fzpbxy5g]{display:inline-flex}.search-trigger[data-astro-cid-fzpbxy5g]{justify-content:center;width:2.375rem;padding:0}.search-trigger__label[data-astro-cid-fzpbxy5g]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.mobile-nav[data-astro-cid-fzpbxy5g]{width:100%;max-width:100%;height:100%;max-height:100%;padding:0 var(--gutter) 2rem;background:var(--bg);color:var(--ink);border:0;margin:0}.mobile-nav[data-astro-cid-fzpbxy5g]::backdrop{background:var(--overlay)}.mobile-nav__head[data-astro-cid-fzpbxy5g]{height:var(--header-h);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.mobile-nav__brand[data-astro-cid-fzpbxy5g]{text-decoration:none}.mobile-nav__close[data-astro-cid-fzpbxy5g]{border:1px solid var(--rule-2);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.mobile-nav__list[data-astro-cid-fzpbxy5g]{margin:1rem 0 2rem;padding:0;list-style:none}.mobile-nav__list[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]{border-bottom:1px solid var(--rule);font-family:var(--font-serif);justify-content:space-between;align-items:center;padding:.9rem 0;font-size:1.75rem;line-height:1.2;text-decoration:none;display:flex}.mobile-nav__list[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g][aria-current=page]{color:var(--accent-ink)}.mobile-nav__list[data-astro-cid-fzpbxy5g] a[data-astro-cid-fzpbxy5g]:after{content:"→";content:"→" / "";font-family:var(--font-sans);color:var(--ink-3);font-size:1rem}.mobile-nav__search[data-astro-cid-fzpbxy5g]{border:1px solid var(--rule-2);border-radius:var(--radius);background:var(--bg-elev);width:100%;height:3rem;color:var(--ink-2);cursor:pointer;align-items:center;gap:.6rem;padding:0 1rem;display:flex}.site-footer[data-astro-cid-nns7i3if]{border-top:1px solid var(--rule);color:var(--ink-2);margin-top:clamp(4rem,10vw,8rem);font-size:.9375rem}.site-footer__grid[data-astro-cid-nns7i3if]{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem;padding-block:3rem 2.5rem;display:grid}.site-footer__about[data-astro-cid-nns7i3if] p[data-astro-cid-nns7i3if]{max-width:34ch;margin-top:1rem;line-height:1.55}.site-footer__heading[data-astro-cid-nns7i3if]{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.75rem}.site-footer[data-astro-cid-nns7i3if] ul[data-astro-cid-nns7i3if]{margin:0;padding:0;list-style:none}.site-footer[data-astro-cid-nns7i3if] li[data-astro-cid-nns7i3if]+li[data-astro-cid-nns7i3if]{margin-top:.4rem}.site-footer[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{color:var(--ink-2);text-decoration:none}.site-footer[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]:hover{color:var(--accent-ink);text-underline-offset:.2em;text-decoration:underline}.site-footer__base[data-astro-cid-nns7i3if]{border-top:1px solid var(--rule);color:var(--ink-3);font-size:var(--step--1);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;padding-block:1.5rem 2.5rem;display:flex}.site-footer__base[data-astro-cid-nns7i3if] a[data-astro-cid-nns7i3if]{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:.2em}@media (width<=760px){.site-footer__grid[data-astro-cid-nns7i3if]{grid-template-columns:1fr 1fr}.site-footer__about[data-astro-cid-nns7i3if]{grid-column:1/-1}}.search[data-astro-cid-e66w4awt]{border:1px solid var(--rule-2);background:var(--bg-elev);width:min(44rem,100vw - 2rem);max-height:min(40rem,100vh - 6rem);color:var(--ink);box-shadow:var(--shadow);border-radius:10px;margin:4.5rem auto auto;padding:0;overflow:hidden}.search[data-astro-cid-e66w4awt][open]{display:flex}.search[data-astro-cid-e66w4awt]::backdrop{background:var(--overlay);backdrop-filter:blur(2px)}.search__panel[data-astro-cid-e66w4awt]{width:100%;max-height:inherit;flex-direction:column;min-height:0;display:flex}.search__field[data-astro-cid-e66w4awt]{border-bottom:1px solid var(--rule);color:var(--ink-3);flex:none;align-items:center;gap:.75rem;padding:0 .75rem 0 1.1rem;display:flex}.search__field[data-astro-cid-e66w4awt] input[data-astro-cid-e66w4awt]{min-width:0;height:3.5rem;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:1.0625rem}.search__field[data-astro-cid-e66w4awt]:focus-within{box-shadow:inset 0 -2px 0 var(--accent)}.search__field[data-astro-cid-e66w4awt] input[data-astro-cid-e66w4awt]::placeholder{color:var(--ink-3)}.search__close[data-astro-cid-e66w4awt]{cursor:pointer;background:0 0;border:0;padding:.25rem}.search__body[data-astro-cid-e66w4awt]{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.search__results[data-astro-cid-e66w4awt]{margin:0;padding:.5rem;list-style:none}.search__results[data-astro-cid-e66w4awt]:empty,.search__state[data-astro-cid-e66w4awt]:empty{display:none}.search__state[data-astro-cid-e66w4awt]{color:var(--ink-2);padding:1.25rem 1.25rem 1.5rem;font-size:.9375rem}.search__foot[data-astro-cid-e66w4awt]{border-top:1px solid var(--rule);color:var(--ink-3);flex-wrap:wrap;flex:none;gap:.4rem 1.1rem;padding:.6rem 1.1rem;font-size:.75rem;display:flex}.search__foot[data-astro-cid-e66w4awt] kbd[data-astro-cid-e66w4awt]{margin-right:.15rem}.search__foot-note[data-astro-cid-e66w4awt]{margin-left:auto}@media (width<=640px){.search[data-astro-cid-e66w4awt]{border:0;border-radius:0;width:100vw;max-width:100vw;height:100%;max-height:100%;margin:0}.search__foot[data-astro-cid-e66w4awt]{display:none}}
