@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.BELOEI8R.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-italic.CfSXsIbO.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-italic.D9J6q4_O.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-italic.Bf1n82Tb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-italic.BEZwmy7D.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-italic.CTYLy0lX.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-italic.BbRnwouv.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-italic.78jqtfZH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-italic.Du9zzoL2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-italic.V_9i1P_m.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-italic.CsGl1sm0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #f3f1ec;--paper-2: #ebe8e1;--ink: #121212;--ink-2: #3a3a3a;--muted: #6b6b6b;--rule: #d6d3cc;--rule-strong: #121212;--accent: #ff4f00;--accent-ink: #c43c00;--accent-wash: color-mix(in srgb, var(--accent) 10%, transparent);--grid: color-mix(in srgb, var(--ink) 6%, transparent);--selection: color-mix(in srgb, var(--accent) 28%, transparent);--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs: .6875rem;--fs-sm: .8125rem;--fs-base: 1rem;--fs-md: 1.125rem;--fs-lg: 1.5rem;--fs-xl: clamp(1.875rem, 1.2rem + 2.6vw, 2.75rem);--fs-display: clamp(2.25rem, 1.2rem + 4.2vw, 4rem);--lh-tight: 1.08;--lh-snug: 1.3;--lh-body: 1.6;--track-label: .08em;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4.5rem;--s-9: 6rem;--page-max: 72rem;--prose-max: 68ch;--gutter: clamp(1rem, .5rem + 2vw, 2rem);--hair: 1px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .12s;--dur: .24s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--paper: #0f0f0f;--paper-2: #181818;--ink: #e9e6df;--ink-2: #c4c1ba;--muted: #8f8c86;--rule: #2a2a2a;--rule-strong: #e9e6df;--accent-ink: #ff6a26;--grid: color-mix(in srgb, var(--ink) 7%, transparent)}}:root[data-theme=dark]{color-scheme:dark;--paper: #0f0f0f;--paper-2: #181818;--ink: #e9e6df;--ink-2: #c4c1ba;--muted: #8f8c86;--rule: #2a2a2a;--rule-strong: #e9e6df;--accent-ink: #ff6a26;--grid: color-mix(in srgb, var(--ink) 7%, transparent)}@media screen and (prefers-reduced-motion:no-preference){@keyframes m-rise{0%{opacity:0;transform:translateY(12px)}}@keyframes m-fade{0%{opacity:0}}@keyframes m-draw-x{0%{transform:scaleX(0)}}@keyframes m-line-up{0%{transform:translateY(108%)}}:root[data-intro] .site-header .rule{transform-origin:left center;animation:m-draw-x .9s var(--ease-out) .12s both}:root[data-intro] .site-header .rule-2{animation-delay:.32s}:root[data-intro] .site-header .strip>:not(.rule){animation:m-fade .5s ease 60ms both}:root[data-intro] .site-nav li{animation:m-rise .5s var(--ease-out) both;animation-delay:calc(.26s + var(--n, 0) * 55ms)}:root[data-intro] .site-nav li:nth-child(1){--n: 0}:root[data-intro] .site-nav li:nth-child(2){--n: 1}:root[data-intro] .site-nav li:nth-child(3){--n: 2}:root[data-intro] .site-nav li:nth-child(4){--n: 3}:root[data-intro] .site-nav li:nth-child(5){--n: 4}:root[data-intro] .site-nav li:nth-child(6){--n: 5}:root{--m-base: 60ms}:root[data-intro]{--m-base: .38s}main>:not(.section){animation:m-rise .7s var(--ease-out) both;animation-delay:calc(var(--m-base) + var(--m, 0) * 90ms)}main>:nth-child(2){--m: 1}main>:nth-child(3){--m: 2}main>:nth-child(4){--m: 3}main>:nth-child(n+5){--m: 4}main>.hero{animation:none}.hero>*{animation:m-rise .7s var(--ease-out) both}.hero>.hero-meta{animation-name:m-fade;animation-delay:var(--m-base)}.hero>.headline{animation:none}.headline .ln>span{animation:m-line-up .9s var(--ease-out) both;animation-delay:calc(var(--m-base) + 80ms + var(--i, 0) * .13s)}.hero>.intro{animation-delay:calc(var(--m-base) + .42s)}.hero>.cta{animation-delay:calc(var(--m-base) + .52s)}main>.telemetry{animation-delay:calc(var(--m-base) + .62s)}.list .projects tbody tr{animation:m-rise .6s var(--ease-out) both;animation-delay:calc(var(--m-base) + .2s + var(--r, 0) * 70ms)}.list .projects tbody tr:nth-child(2){--r: 1}.list .projects tbody tr:nth-child(3){--r: 2}.list .projects tbody tr:nth-child(4){--r: 3}.list .projects tbody tr:nth-child(5){--r: 4}.list .projects tbody tr:nth-child(n+6){--r: 5}@supports (animation-timeline: view()){.section,.trajectory .item,.trajectory .phase-head{animation:m-rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--s-6)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-body);font-feature-settings:"ss01","tnum" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh;display:flex;flex-direction:column}img,svg,video{display:block;max-width:100%;height:auto}::selection{background:var(--selection)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}h1,h2,h3,h4{margin:0;font-weight:500;line-height:var(--lh-snug);letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:-.025em}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0;text-wrap:pretty}a{color:inherit;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);transition:text-decoration-color var(--dur-fast),color var(--dur-fast)}a:hover{text-decoration-color:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:1px}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}hr{border:0;border-top:var(--hair) solid var(--rule);margin:var(--s-6) 0}.label,.mono{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--track-label);text-transform:uppercase;line-height:1.4}.mono{text-transform:none;letter-spacing:0;font-size:var(--fs-sm)}.muted{color:var(--muted)}.accent{color:var(--accent-ink)}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{width:100%;max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}main{flex:1;padding-block:var(--s-6) var(--s-9)}.stack>*+*{margin-top:var(--s-4)}.section{margin-top:var(--s-8)}.doc-head{display:grid;gap:var(--s-3);padding-bottom:var(--s-5);border-bottom:var(--hair) solid var(--rule-strong)}.doc-head p{max-width:60ch;color:var(--ink-2)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.datatable{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.datatable th,.datatable td{text-align:left;vertical-align:top;padding:var(--s-2) var(--s-3);border-bottom:var(--hair) solid var(--rule)}.datatable thead th{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:400;letter-spacing:var(--track-label);text-transform:uppercase;color:var(--muted);border-bottom-color:var(--rule-strong);white-space:nowrap}.datatable td.num,.datatable th.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.datatable .mono-cell{font-family:var(--font-mono);white-space:nowrap}.status{display:inline-flex;align-items:center;gap:.45em;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--track-label);text-transform:uppercase;white-space:nowrap}.status:before{content:"";width:.55em;height:.55em;border-radius:50%;border:1.5px solid currentColor}.status[data-status=complete]:before{background:currentColor}.status[data-status=in-progress]{color:var(--accent-ink)}.status[data-status=in-progress]:before{background:linear-gradient(90deg,currentColor 50%,transparent 50%)}.status[data-status=concept],.status[data-status=archived]{color:var(--muted)}.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.02em;padding:.05em .45em;border:var(--hair) solid var(--rule);color:var(--ink-2);white-space:nowrap}.prose{max-width:var(--prose-max);color:var(--ink-2)}.prose>*+*{margin-top:var(--s-4)}.prose>:first-child{margin-top:0}.prose h2,.prose h3{color:var(--ink);margin-top:var(--s-7)}.prose h2{font-size:var(--fs-md);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-label);font-weight:500;padding-bottom:var(--s-2);border-bottom:var(--hair) solid var(--rule)}.prose h3{font-size:var(--fs-base);font-weight:600}.prose ul,.prose ol{padding-left:1.25em}.prose li+li{margin-top:var(--s-1)}.prose li::marker{color:var(--muted)}.prose strong{color:var(--ink);font-weight:600}.prose blockquote{margin-inline:0;padding-left:var(--s-4);border-left:2px solid var(--accent);color:var(--ink)}.prose :not(pre)>code{background:var(--paper-2);padding:.1em .35em;border-radius:2px}.prose pre{padding:var(--s-4);overflow-x:auto;border:var(--hair) solid var(--rule);background:var(--paper-2)!important;font-size:var(--fs-sm);line-height:1.55}.prose table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:var(--hair) solid var(--rule)}.prose th{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-label);font-weight:400;color:var(--muted);border-bottom-color:var(--rule-strong)}.prose img{border:var(--hair) solid var(--rule)}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}}figure{margin:0}figcaption{margin-top:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--muted);letter-spacing:.02em}figcaption b{color:var(--ink);font-weight:500;letter-spacing:var(--track-label)}.btn{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--track-label);text-transform:uppercase;text-decoration:none;color:var(--ink);background:transparent;border:var(--hair) solid var(--rule-strong);padding:var(--s-2) var(--s-3);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.btn:hover{background:var(--ink);color:var(--paper);text-decoration:none}.btn[aria-pressed=true],.btn.is-active{background:var(--ink);color:var(--paper)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@view-transition{navigation:none}}@media print{html:root,html:root[data-theme]{--paper: #fff;--paper-2: #f3f3f3;--ink: #000;--ink-2: #222;--muted: #555;--rule: #bbb;--rule-strong: #000;color-scheme:light}@page{margin:16mm 14mm}body{font-size:10.5pt}.no-print,.site-nav,.theme-toggle,.site-footer .footer-links{display:none!important}main{padding-block:0}a{text-decoration:none}.section{margin-top:var(--s-6);break-inside:avoid-page}}.theme-toggle[data-astro-cid-x3pjskd3]{display:inline-flex;align-items:center;gap:.5em;background:none;border:var(--hair) solid var(--rule);color:var(--ink);padding:.2em .55em;cursor:pointer;white-space:nowrap}.theme-toggle[data-astro-cid-x3pjskd3]:hover{border-color:var(--ink)}.ico[data-astro-cid-x3pjskd3]{width:.8em;height:.8em;border-radius:50%;border:1.5px solid currentColor;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}.t-dark[data-astro-cid-x3pjskd3]{display:none}[data-theme=dark] .t-dark[data-astro-cid-x3pjskd3]{display:inline}[data-theme=dark] .t-light[data-astro-cid-x3pjskd3]{display:none}.site-header[data-astro-cid-tavxq7zw]{padding-top:var(--s-4)}.strip[data-astro-cid-tavxq7zw]{display:flex;align-items:center;gap:var(--s-3);min-height:2rem}.mark[data-astro-cid-tavxq7zw]{text-decoration:none;font-weight:500;color:var(--ink);white-space:nowrap}.mark[data-astro-cid-tavxq7zw]:hover{color:var(--accent-ink)}.rule[data-astro-cid-tavxq7zw]{flex:1;min-width:var(--s-4);border-top:var(--hair) solid var(--rule)}.doc[data-astro-cid-tavxq7zw],.rev[data-astro-cid-tavxq7zw]{white-space:nowrap;color:var(--muted)}.doc-code[data-astro-cid-tavxq7zw]{color:var(--ink)}.site-nav[data-astro-cid-tavxq7zw]{border-top:var(--hair) solid var(--rule-strong);border-bottom:var(--hair) solid var(--rule);margin-top:var(--s-2)}.site-nav[data-astro-cid-tavxq7zw] ul[data-astro-cid-tavxq7zw]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;column-gap:var(--s-5)}.site-nav[data-astro-cid-tavxq7zw] a[data-astro-cid-tavxq7zw]{position:relative;display:inline-flex;align-items:baseline;gap:.5em;padding:var(--s-2) 0;font-family:var(--font-mono);font-size:var(--fs-sm);text-decoration:none;color:var(--ink-2)}.code[data-astro-cid-tavxq7zw]{font-size:var(--fs-xs);color:var(--muted)}.site-nav[data-astro-cid-tavxq7zw] a[data-astro-cid-tavxq7zw]:hover{color:var(--ink)}.site-nav[data-astro-cid-tavxq7zw] a[data-astro-cid-tavxq7zw]:hover .code[data-astro-cid-tavxq7zw],.site-nav[data-astro-cid-tavxq7zw] a[data-astro-cid-tavxq7zw][aria-current=page] .code[data-astro-cid-tavxq7zw]{color:var(--accent-ink)}.site-nav[data-astro-cid-tavxq7zw] a[data-astro-cid-tavxq7zw][aria-current=page]{color:var(--ink)}.site-nav[data-astro-cid-tavxq7zw] a[data-astro-cid-tavxq7zw][aria-current=page]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}@media(max-width:40rem){.rule-2[data-astro-cid-tavxq7zw],.rev[data-astro-cid-tavxq7zw]{display:none}.site-nav[data-astro-cid-tavxq7zw] ul[data-astro-cid-tavxq7zw]{column-gap:var(--s-4)}}@media(max-width:26rem){.doc[data-astro-cid-tavxq7zw]{display:none}}.site-footer[data-astro-cid-sz7xmlte]{padding-bottom:var(--s-6)}.row[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3) var(--s-5);padding-top:var(--s-3);border-top:var(--hair) solid var(--rule-strong)}.footer-links[data-astro-cid-sz7xmlte]{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-4);margin:0;padding:0}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{text-decoration:none;color:var(--ink-2)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent-ink)}.skip-link[data-astro-cid-5hce7sga]{position:absolute;left:var(--s-3);top:-100px;z-index:10;padding:var(--s-2) var(--s-3);background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:var(--fs-sm)}.skip-link[data-astro-cid-5hce7sga]:focus{top:var(--s-3)}
