@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-opsz-normal.CfYZpDVp.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-opsz-normal.BFQXbQ-f.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-opsz-normal.BmPQvyvo.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-opsz-normal.BM0NlUE_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-opsz-normal.Ci9T9ieq.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-opsz-normal.DpK-iCPk.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-opsz-normal.BwkfbSeq.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-opsz-italic.fe11NjBs.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-opsz-italic.Ck9oD2H0.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-opsz-italic.BIcRYUEt.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-opsz-italic.mtaF_0H_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-opsz-italic.C7TReJrb.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-opsz-italic.BLMf5All.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:Inter Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-opsz-italic.BbqH_2Ar.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}@font-face{font-family:IBM Plex Mono;font-style:italic;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-italic.N7A9E2Yg.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-italic.D-lPmOBg.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:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-italic.BkZTplhZ.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-italic.DweczOj8.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:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-italic.B2ThFYzE.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-italic.BBsY2dvH.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:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-italic.xMSC0T8m.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-italic.DVumefDh.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:500;src:url(/_astro/ibm-plex-mono-latin-500-italic.As4cCeDr.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-italic.C4MYrNFW.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-paper:#fefefc;--color-paper-shade:#f0f0ec;--color-paper-deep:#e4e4df;--color-surface:#fff;--color-ink:#1d2733;--color-graphite:#4b5563;--color-graphite-soft:#5f6773;--color-rule:#dcdcd6;--color-highlight:#2447d6;--color-on-highlight:#fff;--color-accent:#2447d6;--color-accent-hover:#1f3db8;--color-accent-tint:#e9edfb;--color-on-accent:#fff;--color-focus:var(--color-accent);--color-shadow:#1d273314;--color-scrim:#1d273399;--color-danger:#b3261e;--texture-grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.1  0 0 0 0 0.12  0 0 0 0 0.15  0.16 0 0 0 -0.05'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");color-scheme:light;--font-title:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--font-body:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-system:"IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--type-display:clamp(2rem, 1.3rem + 2.8vw, 3.5rem);--type-heading-xl:clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem);--type-heading-l:clamp(1.35rem, 1.15rem + .9vw, 1.9rem);--type-heading-m:clamp(1.1rem, 1.02rem + .35vw, 1.3rem);--type-heading-s:clamp(1rem, .97rem + .15vw, 1.075rem);--type-lede:clamp(1.125rem, 1.05rem + .3vw, 1.25rem);--type-body:1rem;--type-body-s:.9375rem;--type-caption:.8125rem;--type-label:.6875rem;--type-nav:.9375rem;--type-meta:.875rem;--type-code:.875rem;--leading-tight:1.12;--leading-heading:1.2;--leading-body:1.6;--leading-system:1.45;--tracking-display:-.04em;--tracking-heading:-.025em;--tracking-label:.08em;--weight-title:500;--weight-body:400;--weight-body-strong:550;--weight-system:400;--weight-system-strong:500;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--layout-max:72rem;--layout-text:38rem;--layout-gutter:clamp(1rem, .4rem + 3vw, 3rem);--layout-gap:clamp(1rem, .6rem + 1vw, 1.5rem);--section-space:clamp(4rem, 2.5rem + 6vw, 8rem);--nav-height:3.5rem;--tap-min:2.75rem;--radius-none:0;--radius-soft:4px;--radius-pill:999px;--rule-hair:1px solid var(--color-rule);--rule-ink:1px solid var(--color-ink);--shadow-soft:0 1px 2px var(--color-shadow), 0 8px 24px var(--color-shadow);--duration-instant:80ms;--duration-quick:.16s;--duration-settle:.28s;--duration-slow:.52s;--ease-soft:cubic-bezier(.25, .1, .25, 1);--ease-settle:cubic-bezier(.2, .8, .2, 1);--ease-snap:cubic-bezier(.5, 0, .1, 1);--stagger-step:60ms;--jitter:0s}@media (prefers-reduced-motion:reduce){:root{--duration-quick:1ms;--duration-settle:1ms;--duration-slow:1ms;--stagger-step:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-height) + var(--space-4))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-paper) var(--texture-grain) fixed;min-height:100dvh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--type-body);font-weight:var(--weight-body);line-height:var(--leading-body);font-optical-sizing:auto;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0}img,svg,video{max-width:100%;display:block}[hidden]{display:none!important}img{height:auto}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}::selection{background:var(--color-highlight);color:var(--color-on-highlight)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}:focus:not(:focus-visible){outline:none}.t-display{font-family:var(--font-title);font-size:var(--type-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-display);font-weight:var(--weight-title);text-wrap:balance}.t-heading-xl,.t-heading-l,.t-heading-m,.t-heading-s{font-family:var(--font-title);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);font-weight:var(--weight-title);text-wrap:balance}.t-heading-xl{font-size:var(--type-heading-xl);line-height:var(--leading-tight)}.t-heading-l{font-size:var(--type-heading-l)}.t-heading-m{font-size:var(--type-heading-m)}.t-heading-s{font-size:var(--type-heading-s);letter-spacing:0}.t-lede{font-size:var(--type-lede);color:var(--color-graphite);line-height:1.55}.t-body{font-size:var(--type-body);line-height:var(--leading-body)}.t-body-s{font-size:var(--type-body-s);line-height:var(--leading-body)}.t-caption,.t-label,.t-nav,.t-meta,.t-code{font-family:var(--font-system);font-weight:var(--weight-system);line-height:var(--leading-system)}.t-caption{font-size:var(--type-caption);color:var(--color-graphite)}.t-label{font-size:var(--type-label);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:var(--weight-system-strong)}.t-nav{font-size:var(--type-nav)}.t-meta{font-size:var(--type-meta);color:var(--color-graphite-soft)}.t-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--type-code)}.t-muted{color:var(--color-graphite-soft)}.t-secondary{color:var(--color-graphite)}.t-italic{font-style:italic}.t-pretty{text-wrap:pretty}.caret:after{content:"_";animation:1.1s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.caret:after{animation:none}}.mark{color:inherit;background:0 0}.link{color:var(--color-accent);text-underline-offset:.22em;text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);transition:text-decoration-color var(--duration-quick) var(--ease-soft)}.link:visited{color:var(--color-accent)}.link:hover,.link:active{color:var(--color-accent-hover);text-decoration-color:currentColor}.container{width:100%;max-width:calc(var(--layout-max) + 2 * var(--layout-gutter));padding-inline:var(--layout-gutter);margin-inline:auto}.section{padding-block:calc(var(--section-space) * .5)}.measure{max-width:var(--layout-text)}.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{left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-ink);color:var(--color-paper);font-size:var(--type-meta);position:absolute;top:-10rem}.skip-link:focus{top:var(--space-4)}.js-reveal [data-reveal],.js-reveal [data-develop]{opacity:0;transition:opacity var(--duration-slow) var(--ease-soft), transform var(--duration-slow) var(--ease-settle);transition-delay:var(--reveal-delay,0s);transform:translateY(.5rem)}.js-reveal [data-develop]{transform:none}.js-reveal :is([data-reveal],[data-develop]).is-revealed{opacity:1;transform:none}html:has(dialog[open]){scrollbar-gutter:stable;overflow:hidden}.paper-card{background:var(--color-surface);border:var(--rule-hair);border-radius:var(--radius-soft)}.lift{transition:border-color var(--duration-quick) var(--ease-soft)}.crop{position:relative}.crop:before,.crop:after{content:none}.spec-layer{z-index:70;pointer-events:none;width:100%;position:absolute;inset:0 auto auto 0}.spec-box{outline:1px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 5%, transparent);position:absolute}.spec-tag{font-family:var(--font-system);white-space:nowrap;color:var(--color-on-accent);background:var(--color-accent);padding:1px 5px;font-size:10px;line-height:1.5;position:absolute;bottom:100%;left:-1px}.spec-grid{column-gap:var(--layout-gap);grid-template-columns:repeat(12,1fr);margin-inline:auto;display:grid;position:fixed;inset:0}.spec-grid i{background:color-mix(in srgb, var(--color-accent) 6%, transparent);border-inline:1px dashed color-mix(in srgb, var(--color-accent) 35%, transparent)}@media (width<=64rem){.spec-grid{grid-template-columns:repeat(6,1fr)}.spec-grid i:nth-child(n+7){display:none}}@media (width<=40rem){.spec-grid{grid-template-columns:repeat(4,1fr)}.spec-grid i:nth-child(n+5){display:none}}.spec-ruler{right:var(--space-4);top:calc(var(--nav-height) + var(--space-2));font-family:var(--font-system);color:var(--color-on-accent);background:var(--color-accent);padding:2px 6px;font-size:10px;position:fixed}.lang[data-astro-cid-34uxj53s]{min-height:var(--tap-min);padding-inline:var(--space-1);font-family:var(--font-system);font-size:var(--type-label);letter-spacing:var(--tracking-label);color:var(--color-graphite);isolation:isolate;grid-template-columns:1fr 1fr;align-items:center;text-decoration:none;display:inline-grid;position:relative}.lang__opt[data-astro-cid-34uxj53s]{padding:var(--space-1) var(--space-2);transition:color var(--duration-quick) var(--ease-soft);position:relative}.lang__opt[data-astro-cid-34uxj53s][data-on=true]{color:var(--color-on-highlight);font-weight:500}.lang__marker[data-astro-cid-34uxj53s]{z-index:-1;top:50%;left:var(--space-1);width:calc(50% - var(--space-1));background:var(--color-highlight);height:1.5em;transition:translate var(--duration-settle) var(--ease-settle), scale var(--duration-settle) var(--ease-settle);position:absolute;translate:0 -50%}.lang[data-astro-cid-34uxj53s][data-current=pt] .lang__marker[data-astro-cid-34uxj53s]{translate:100% -50%}.lang[data-astro-cid-34uxj53s]:hover .lang__marker[data-astro-cid-34uxj53s],.lang[data-astro-cid-34uxj53s]:focus-visible .lang__marker[data-astro-cid-34uxj53s]{translate:12% -50%;scale:1.12 1}.lang[data-astro-cid-34uxj53s][data-current=pt]:hover .lang__marker[data-astro-cid-34uxj53s],.lang[data-astro-cid-34uxj53s][data-current=pt]:focus-visible .lang__marker[data-astro-cid-34uxj53s]{translate:88% -50%}.nav[data-astro-cid-wpvy4v7s]{z-index:40;background:color-mix(in srgb, var(--color-paper) 92%, transparent) var(--texture-grain) fixed;backdrop-filter:blur(6px);border-bottom:var(--rule-hair);transition:background-color var(--duration-slow) var(--ease-soft);position:sticky;top:0}.nav__inner[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--space-6);min-height:var(--nav-height);display:flex}.nav[data-astro-cid-wpvy4v7s]{font-family:var(--font-system)}.nav[data-astro-cid-wpvy4v7s] [data-astro-cid-wpvy4v7s]:is(.nav__mark,.nav__link),.menu[data-astro-cid-wpvy4v7s] [data-astro-cid-wpvy4v7s]:is(.menu__link,.menu__lang){text-transform:uppercase;letter-spacing:.06em}.nav__mark[data-astro-cid-wpvy4v7s],.nav__link[data-astro-cid-wpvy4v7s]{font-size:.8125rem}.nav__mark[data-astro-cid-wpvy4v7s]{min-height:var(--tap-min);color:var(--color-ink);align-items:center;margin-right:auto;font-weight:500;text-decoration:none;display:inline-flex}.nav__links[data-astro-cid-wpvy4v7s] ul[data-astro-cid-wpvy4v7s]{gap:var(--space-1);display:flex}.nav__link[data-astro-cid-wpvy4v7s]{min-height:var(--tap-min);padding-inline:var(--space-3);color:var(--color-graphite);transition:color var(--duration-quick) var(--ease-soft);align-items:center;text-decoration:none;display:inline-flex;position:relative}.nav__link[data-astro-cid-wpvy4v7s]:after{content:"";left:var(--space-3);right:var(--space-3);transform-origin:0;height:1px;transition:scale var(--duration-settle) var(--ease-settle);background:currentColor;position:absolute;bottom:.7rem;scale:0 1}.nav__link[data-astro-cid-wpvy4v7s]:hover,.nav__link[data-astro-cid-wpvy4v7s][aria-current=page]{color:var(--color-ink)}.nav__link[data-astro-cid-wpvy4v7s]:hover:after,.nav__link[data-astro-cid-wpvy4v7s][aria-current=page]:after{scale:1}.nav__tools[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--space-2);display:flex}.nav__burger[data-astro-cid-wpvy4v7s],.menu__close[data-astro-cid-wpvy4v7s]{width:var(--tap-min);height:var(--tap-min);margin-right:calc(-1 * var(--space-2));color:var(--color-ink);background:0 0;border:0;display:none;position:relative}.nav__burger[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s],.menu__close[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]{background:currentColor;width:1.5rem;height:2px;position:absolute;top:50%;left:50%;translate:-50% -50%}.nav__burger[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:first-child{margin-top:-7px}.nav__burger[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:nth-child(3){margin-top:7px}.menu__close[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:first-child{rotate:45deg}.menu__close[data-astro-cid-wpvy4v7s] span[data-astro-cid-wpvy4v7s]:nth-child(2){rotate:-45deg}.menu[data-astro-cid-wpvy4v7s]{width:100%;max-width:none;height:100%;max-height:none;padding:0 0 env(safe-area-inset-bottom);background:var(--color-paper) var(--texture-grain) fixed;color:var(--color-ink);border:0;margin:0}.menu[data-astro-cid-wpvy4v7s][open]{grid-template-rows:auto 1fr;display:grid}.menu[data-astro-cid-wpvy4v7s]::backdrop{background:var(--color-paper)}.menu__top[data-astro-cid-wpvy4v7s]{min-height:var(--nav-height);justify-content:flex-end;align-items:center;display:flex}.menu__close[data-astro-cid-wpvy4v7s]{display:block}.menu__body[data-astro-cid-wpvy4v7s]{align-content:center;justify-items:center;gap:var(--space-12);padding-bottom:var(--nav-height);display:grid}.menu__links[data-astro-cid-wpvy4v7s]{justify-items:center;gap:var(--space-4);display:grid}.menu__link[data-astro-cid-wpvy4v7s]{min-height:var(--tap-min);padding-inline:var(--space-3);font-family:var(--font-system);letter-spacing:.02em;color:var(--color-graphite);align-items:center;gap:.15em;font-size:1.375rem;text-decoration:none;display:inline-flex}.menu__link[data-astro-cid-wpvy4v7s]:hover{color:var(--color-ink)}.menu__link[data-astro-cid-wpvy4v7s][aria-current=page]{color:var(--color-graphite-soft);opacity:.7}.menu__lang[data-astro-cid-wpvy4v7s]{align-items:center;gap:var(--space-2);font-family:var(--font-system);letter-spacing:.08em;color:var(--color-graphite-soft);font-size:.9375rem;display:flex}.menu__lang[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]{min-height:var(--tap-min);padding-inline:var(--space-1);color:var(--color-graphite-soft);align-items:center;text-decoration:none;display:inline-flex}.menu__lang[data-astro-cid-wpvy4v7s] a[data-astro-cid-wpvy4v7s]:hover{color:var(--color-ink)}.menu__lang-on[data-astro-cid-wpvy4v7s]{color:var(--color-ink);padding-inline:var(--space-1);font-weight:500}.menu[data-astro-cid-wpvy4v7s][open] .menu__body[data-astro-cid-wpvy4v7s]{animation:menu-in var(--duration-settle) var(--ease-settle)}@keyframes menu-in{0%{opacity:0;translate:0 .5rem}}@media (width<=40rem){.nav__links[data-astro-cid-wpvy4v7s],.nav__tools[data-astro-cid-wpvy4v7s]{display:none}.nav__burger[data-astro-cid-wpvy4v7s]{display:block}}.footer[data-astro-cid-jo6i4kqk]{margin-top:var(--section-space);padding-block:var(--space-16) var(--space-8);border-top:var(--rule-hair);color:var(--color-ink)}.footer__top[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:flex-end;gap:var(--space-8);display:flex}.footer__hello[data-astro-cid-jo6i4kqk]{max-width:12ch}.footer__mid[data-astro-cid-jo6i4kqk]{gap:0 var(--space-6);flex-wrap:wrap;align-items:baseline;display:flex}.footer__links[data-astro-cid-jo6i4kqk]{gap:0 var(--space-8);flex-wrap:wrap;display:flex}.footer__link[data-astro-cid-jo6i4kqk]{min-height:var(--tap-min);font-family:var(--font-body);font-size:var(--type-body);color:var(--color-ink);align-items:center;text-decoration:none;display:inline-flex}.footer__link[data-astro-cid-jo6i4kqk]:hover{text-underline-offset:.25em;text-decoration:underline}.footer__base[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-2) var(--space-6);margin-top:var(--space-12);padding-top:var(--space-4);border-top:var(--rule-hair);flex-wrap:wrap;display:flex}.footer__controls[data-astro-cid-jo6i4kqk]{gap:var(--space-1);margin-left:auto;margin-right:calc(-1 * var(--space-3));display:flex}.footer__ctl[data-astro-cid-jo6i4kqk]{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3);color:var(--color-ink);font-family:var(--font-system);font-size:var(--type-meta);background:0 0;border:0;display:inline-flex}.footer__ctl[data-astro-cid-jo6i4kqk][aria-pressed=true] .footer__ico[data-astro-cid-jo6i4kqk]{color:var(--color-accent)}.footer__ruler[data-astro-cid-jo6i4kqk]{width:1.5rem}@media (width<=40rem){.footer[data-astro-cid-jo6i4kqk]{padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom))}.footer__top[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:var(--space-8);flex-direction:column}}.page__main{outline:none}
