@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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 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+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 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+??,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 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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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 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+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 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+??,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 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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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 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+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 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+??,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 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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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 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+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 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+??,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}:root{--elfex-ink:#0f1412;--elfex-jade:#0e7c66;--elfex-light:#f6f7f4;--elfex-white:#fff;--elfex-neutral-50:#f6f7f4;--elfex-neutral-100:#edf1ef;--elfex-neutral-200:#dde3e0;--elfex-neutral-300:#c7cfcc;--elfex-neutral-400:#a0aaa6;--elfex-neutral-500:#7a8783;--elfex-neutral-600:#5c6b66;--elfex-neutral-700:#3f4a46;--elfex-neutral-800:#2a3330;--elfex-neutral-900:#1a211f;--elfex-neutral-950:#0f1412;--elfex-jade-50:#f1f8f5;--elfex-jade-100:#e3eee9;--elfex-jade-200:#b7e7d9;--elfex-jade-300:#7fd3bc;--elfex-jade-400:#3fb896;--elfex-jade-500:#1fa88d;--elfex-jade-600:#13917a;--elfex-jade-700:#0e7c66;--elfex-jade-800:#0a5546;--elfex-jade-900:#06352c;--elfex-success-fg:#0a5546;--elfex-success-bg:#e3eee9;--elfex-success-solid:#0e7c66;--elfex-warning-fg:#7a4a00;--elfex-warning-bg:#fff1d6;--elfex-warning-solid:#b26a00;--elfex-error-fg:#9b2318;--elfex-error-bg:#fdebe8;--elfex-error-solid:#c2362b;--elfex-info-fg:#1f4a6e;--elfex-info-bg:#e6eff7;--elfex-info-solid:#2f5f8a;--color-bg:var(--elfex-light);--color-surface:var(--elfex-white);--color-surface-muted:var(--elfex-neutral-100);--color-surface-inverse:var(--elfex-ink);--color-text:var(--elfex-ink);--color-text-muted:var(--elfex-neutral-600);--color-text-inverse:var(--elfex-light);--color-text-on-accent:var(--elfex-white);--color-border:var(--elfex-neutral-200);--color-border-strong:var(--elfex-neutral-500);--color-focus:var(--elfex-jade);--color-accent:var(--elfex-jade);--color-accent-hover:var(--elfex-jade-800);--color-accent-soft:var(--elfex-jade-100);--color-success-fg:var(--elfex-success-fg);--color-success-bg:var(--elfex-success-bg);--color-success-border:var(--elfex-success-solid);--color-warning-fg:var(--elfex-warning-fg);--color-warning-bg:var(--elfex-warning-bg);--color-warning-border:var(--elfex-warning-solid);--color-danger-fg:var(--elfex-error-fg);--color-danger-bg:var(--elfex-error-bg);--color-danger-border:var(--elfex-error-solid);--color-danger-solid:var(--elfex-error-solid);--color-info-fg:var(--elfex-info-fg);--color-info-bg:var(--elfex-info-bg);--color-info-border:var(--elfex-info-solid);--font-display:"Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--font-text:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-extrabold:800;--text-xs:.75rem;--leading-xs:1.333;--text-sm:.8125rem;--leading-sm:1.538;--text-base:1rem;--leading-base:1.625;--text-ui:.875rem;--leading-ui:1.429;--text-lg:1.25rem;--leading-lg:1.6;--text-xl:1.25rem;--leading-xl:1.4;--text-2xl:1.75rem;--leading-2xl:1.143;--text-3xl:2.25rem;--leading-3xl:1.111;--text-4xl:3rem;--leading-4xl:1.083;--text-5xl:4rem;--leading-5xl:1.063;--space-0:0rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f141214;--shadow-md:0 1px 2px #0f14120f, 0 4px 12px #0f141214;--shadow-lg:0 2px 4px #0f14120f, 0 16px 40px #0f141224;--duration-fast:.12s;--duration-base:.2s;--duration-moderate:.32s;--duration-slow:.52s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-enter:cubic-bezier(0, 0, 0, 1);--ease-exit:cubic-bezier(.3, 0, 1, 1);--z-dropdown:1000;--z-sticky:1100;--z-overlay:1200;--z-modal:1300;--z-toast:1400;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:var(--elfex-ink);--color-surface:var(--elfex-neutral-900);--color-surface-muted:var(--elfex-neutral-800);--color-surface-inverse:var(--elfex-light);--color-text:var(--elfex-light);--color-text-muted:var(--elfex-neutral-400);--color-text-inverse:var(--elfex-ink);--color-text-on-accent:var(--elfex-ink);--color-border:var(--elfex-neutral-800);--color-border-strong:#6b7a75;--color-focus:var(--elfex-jade-400);--color-accent:var(--elfex-jade-400);--color-accent-hover:var(--elfex-jade-300);--color-accent-soft:#12302a;--color-success-fg:var(--elfex-jade-300);--color-success-bg:#12302a;--color-success-border:var(--elfex-jade-400);--color-warning-fg:#f2c46d;--color-warning-bg:#3a2a0a;--color-warning-border:#b26a00;--color-danger-fg:#f2a79f;--color-danger-bg:#3d1a16;--color-danger-border:#d9574c;--color-danger-solid:#d9574c;--color-info-fg:#9cc3e6;--color-info-bg:#16283a;--color-info-border:#5a8ab6;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #0006, 0 4px 12px #00000059;--shadow-lg:0 2px 4px #0006, 0 16px 40px #0000008c;color-scheme:dark}}:root[data-theme=dark]{--color-bg:var(--elfex-ink);--color-surface:var(--elfex-neutral-900);--color-surface-muted:var(--elfex-neutral-800);--color-surface-inverse:var(--elfex-light);--color-text:var(--elfex-light);--color-text-muted:var(--elfex-neutral-400);--color-text-inverse:var(--elfex-ink);--color-text-on-accent:var(--elfex-ink);--color-border:var(--elfex-neutral-800);--color-border-strong:#6b7a75;--color-focus:var(--elfex-jade-400);--color-accent:var(--elfex-jade-400);--color-accent-hover:var(--elfex-jade-300);--color-accent-soft:#12302a;--color-success-fg:var(--elfex-jade-300);--color-success-bg:#12302a;--color-success-border:var(--elfex-jade-400);--color-warning-fg:#f2c46d;--color-warning-bg:#3a2a0a;--color-warning-border:#b26a00;--color-danger-fg:#f2a79f;--color-danger-bg:#3d1a16;--color-danger-border:#d9574c;--color-danger-solid:#d9574c;--color-info-fg:#9cc3e6;--color-info-bg:#16283a;--color-info-border:#5a8ab6;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #0006, 0 4px 12px #00000059;--shadow-lg:0 2px 4px #0006, 0 16px 40px #0000008c;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--duration-fast:1ms;--duration-base:1ms;--duration-moderate:1ms;--duration-slow:1ms}}:root{--font-display:"Bricolage Grotesque Variable", "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;--gutter:1rem;--content-max:76rem;--header-h:4rem;--section-y:clamp(4rem, 2.75rem + 5vw, 8rem);--text-body:1.0625rem;--h1:clamp(2.375rem, 1.55rem + 3.6vw, 4.5rem);--h2:clamp(2rem, 1.3rem + 2.8vw, 3.75rem);--h3:clamp(1.25rem, 1.15rem + .45vw, 1.5rem)}@media (width>=48rem){:root{--gutter:2.5rem;--header-h:4.5rem}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-text);font-size:var(--text-body);font-kerning:normal;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;line-height:1.625;display:flex}main{flex:1}img,svg,picture{max-width:100%;display:block}img{height:auto}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:700}h1{font-size:var(--h1);letter-spacing:-.03em;font-weight:750;line-height:1.04}h2{font-size:var(--h2);letter-spacing:-.03em;font-weight:800;line-height:1.04}h3{font-size:var(--h3);letter-spacing:-.01em;line-height:1.25}p{text-wrap:pretty;margin:0}p+p{margin-top:1em}ul,ol{margin:0;padding:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-underline-offset:.15em;text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--color-accent);color:var(--color-text-on-accent)}strong{font-weight:600}[hidden]{display:none!important}.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(--gutter);z-index:var(--z-toast);background:var(--color-surface-inverse);color:var(--color-text-inverse);border-radius:var(--radius-md);padding:.75rem 1rem;font-weight:500;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:.75rem}.wrap{width:min(100% - 2 * var(--gutter), var(--content-max));margin-inline:auto}.section{padding-block:var(--section-y)}.section:not(.inverse,.tinted)+.section:not(.inverse,.tinted){padding-top:0}.section-head{gap:var(--space-4);max-width:46rem;margin-bottom:clamp(2.5rem,2rem + 2vw,4rem);display:grid}.section-head p{color:var(--color-text-muted);font-size:1.125rem}.section-head--split{max-width:none}@media (width>=64rem){.section-head--split{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:end;column-gap:4rem}}.prose{max-width:40rem}.prose p,.prose li{color:var(--color-text)}.prose ul{padding-left:1.25rem}.prose li+li{margin-top:.5rem}.muted{color:var(--color-text-muted)}.inverse{--color-bg:var(--elfex-ink);--color-surface:var(--elfex-neutral-900);--color-surface-muted:var(--elfex-neutral-800);--color-text:var(--elfex-light);--color-text-muted:var(--elfex-neutral-400);--color-border:var(--elfex-neutral-800);--color-border-strong:#6b7a75;--color-accent:var(--elfex-jade-400);--color-accent-hover:var(--elfex-jade-300);--color-accent-soft:#12302a;--color-text-on-accent:var(--elfex-ink);--color-focus:var(--elfex-jade-400);background:var(--color-bg);color:var(--color-text)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .inverse{--color-bg:var(--elfex-neutral-900);--color-surface:var(--elfex-neutral-800);--color-border:#33403c}}:root[data-theme=dark] .inverse{--color-bg:var(--elfex-neutral-900);--color-surface:var(--elfex-neutral-800);--color-border:#33403c}.tinted{background:var(--color-surface-muted)}.page-hero{position:relative;padding-top:clamp(2rem,1rem + 4vw,5rem)!important;padding-bottom:calc(clamp(3rem,2rem + 4vw,5.5rem) + clamp(2.5rem,2rem + 2vw,4rem))!important}.page-hero:after{content:"";border-top:1px solid var(--color-border);background:url(/weave-dark-tile.svg) 0 -60px/120px 250px repeat-x;height:clamp(2.5rem,2rem + 2vw,4rem);position:absolute;bottom:0;left:0;right:0}.page-hero h1{letter-spacing:-.035em;font-size:clamp(2.75rem,1.4rem + 5vw,5.25rem);font-weight:800;line-height:.98}.page-hero .section-head p{color:var(--color-text-muted)}.btn{border-radius:var(--radius-md);min-height:3rem;font:500 1rem/1.25 var(--font-text);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border:1px solid #0000;justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1.375rem;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{color:var(--color-text);border-color:var(--color-border-strong);background:0 0}.btn-secondary:hover{border-color:var(--color-text)}.btn-small{min-height:2.5rem;padding:.5rem 1rem;font-size:.9375rem}.btn[disabled],.btn[aria-disabled=true]{opacity:.6;cursor:progress}.btn-row{flex-wrap:wrap;gap:.75rem;display:flex}.arrow{transition:transform var(--duration-base) var(--ease-standard);flex:none}a:hover .arrow,button:hover .arrow{transform:translate(3px,-1.5px)}.link-arrow{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-border-strong);align-items:center;gap:.5rem;font-weight:500;display:inline-flex}.link-arrow:hover{text-decoration-color:currentColor}.badge{border-radius:var(--radius-sm);font:500 .75rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid;align-items:center;gap:.4rem;padding:.1875rem .5rem;display:inline-flex}.badge:before{content:"";background:currentColor;flex:none;width:.375rem;height:.375rem}.badge--own,.badge--live,.badge--client{color:var(--color-success-fg);background:var(--color-success-bg);border-color:var(--color-success-border)}.badge--demo{color:var(--color-info-fg);background:var(--color-info-bg);border-color:var(--color-info-border)}.badge--concept{color:var(--color-text-muted);border-color:var(--color-border-strong);background:0 0}.badge--concept:before{background:0 0;border:1px solid}.chips{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.chips li{border:1px solid var(--color-border);border-radius:var(--radius-sm);font:400 .8125rem/1.5 var(--font-mono);color:var(--color-text-muted);padding:.25rem .625rem}.grid{gap:var(--space-6);display:grid}@media (width>=48rem){.grid--2,.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.check-list{gap:.75rem;list-style:none;display:grid}.check-list li{padding-left:1.75rem;position:relative}.check-list li:before{content:"";border-left:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);width:.875rem;height:.4375rem;position:absolute;top:.55em;left:0;transform:rotate(-45deg)translateY(-25%)}.steps{counter-reset:step;gap:0;list-style:none;display:grid}.steps>li{counter-increment:step;border-top:1px solid var(--color-border);gap:.5rem;padding-block:1.5rem;display:grid}.steps>li:before{content:counter(step);font:800 clamp(2.75rem, 2rem + 2.5vw, 4rem)/.9 var(--font-display);color:var(--color-accent);letter-spacing:-.04em;margin-bottom:.5rem}.steps h3{font-size:1.25rem}.steps p{color:var(--color-text-muted)}@media (width>=64rem){.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.steps>li{align-content:start;padding-top:1.25rem}}.card{gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);align-content:start;padding:clamp(1.5rem,1.25rem + 1vw,2rem);display:grid;position:relative}.card p{color:var(--color-text-muted)}.card--link:hover{border-color:var(--color-border-strong);transform:translateY(-2px)}.card--link .card-link{text-decoration:none}.card--link .card-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card--link .card-link:focus-visible{outline:none}.card--link:has(.card-link:focus-visible){outline:2px solid var(--color-focus);outline-offset:3px}.card-icon{width:2rem;height:2rem;color:var(--color-accent)}.marked{padding-left:1.75rem;position:relative}.marked:before{content:"";background:var(--color-accent);width:.375rem;height:1.5rem;position:absolute;top:.2rem;left:.25rem;transform:skew(-25.6deg)}.notice{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);gap:.25rem;padding:1rem 1.25rem;font-size:.9375rem;display:grid}.notice--info{border-color:var(--color-info-border);background:var(--color-info-bg);color:var(--color-info-fg)}.notice--success{border-color:var(--color-success-border);background:var(--color-success-bg);color:var(--color-success-fg)}.notice--danger{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger-fg)}.notice strong{font-weight:600}.notice a{color:inherit}@media (prefers-reduced-motion:no-preference){@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rise{animation:rise var(--duration-slow) var(--ease-enter) both;animation-delay:calc(var(--i,0) * 80ms)}@supports (animation-timeline:view()){.reveal{animation:linear both rise view();animation-range:entry entry 40%}}}.logo[data-astro-cid-f7espo7c]{height:auto;color:var(--logo-ink,var(--color-text));display:block}.logo-x[data-astro-cid-f7espo7c]{fill:var(--logo-accent,var(--color-accent))}.site-header[data-astro-cid-nen7h5rs]{z-index:var(--z-sticky);background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__inner[data-astro-cid-nen7h5rs]{min-height:var(--header-h);align-items:center;gap:2rem;display:flex}.site-header__logo[data-astro-cid-nen7h5rs]{margin-right:auto;padding-block:.5rem;display:block}.site-header__logo[data-astro-cid-nen7h5rs] .logo{width:auto;height:1.5rem}.site-nav[data-astro-cid-nen7h5rs] ul[data-astro-cid-nen7h5rs]{gap:.25rem;list-style:none;display:flex}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-radius:var(--radius-sm);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-standard);padding:.5rem .75rem;font-size:.9375rem;font-weight:500;text-decoration:none;display:block}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--color-text)}.site-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{color:var(--color-text);box-shadow:inset 0 -2px 0 var(--color-accent);border-radius:0}.theme-toggle[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);width:2.75rem;height:2.75rem;color:var(--color-text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;place-items:center;margin-left:-1rem;display:grid}.theme-toggle[data-astro-cid-nen7h5rs]:hover{color:var(--color-text);border-color:var(--color-border)}.theme-toggle__sun{display:none}[data-theme=dark] .theme-toggle__sun{display:block}[data-theme=dark] .theme-toggle__moon{display:none}@media (width<=63.99rem){.site-header__inner[data-astro-cid-nen7h5rs]>.theme-toggle[data-astro-cid-nen7h5rs]{margin-left:0;margin-right:-.5rem}}.site-header__toggle[data-astro-cid-nen7h5rs]{border-radius:var(--radius-md);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;background:0 0;border:0;place-items:center;margin-right:-.625rem;display:none}@media (width<=63.99rem){.site-nav[data-astro-cid-nen7h5rs],.site-header__cta[data-astro-cid-nen7h5rs]{display:none}.site-header__toggle[data-astro-cid-nen7h5rs]{display:grid}}.mobile-menu[data-astro-cid-nen7h5rs]{background:var(--color-bg);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--color-text);border:0;margin:0;padding:0;inset:0;overflow-y:auto}.mobile-menu__top[data-astro-cid-nen7h5rs]{min-height:var(--header-h);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.mobile-menu__list[data-astro-cid-nen7h5rs]{padding-block:1.5rem;list-style:none;display:grid}.mobile-menu__list[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--color-border);font:650 1.75rem/1.2 var(--font-display);letter-spacing:-.02em;padding-block:.875rem;text-decoration:none;display:block}.mobile-menu__list[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current]{color:var(--color-accent)}.mobile-menu__cta[data-astro-cid-nen7h5rs]{width:100%;margin-top:.5rem}@media (prefers-reduced-motion:no-preference){.mobile-menu[data-astro-cid-nen7h5rs]:popover-open{animation:menu-in var(--duration-base) var(--ease-enter)}@keyframes menu-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}.divider[data-astro-cid-boktbqod]{background:linear-gradient(var(--color-border), var(--color-border)) 0 50% / 100% 2px no-repeat;height:20px;position:relative}.divider-cut[data-astro-cid-boktbqod]{position:absolute;top:0;left:20px}.divider-cut[data-astro-cid-boktbqod] path[data-astro-cid-boktbqod]{fill:var(--color-accent)}.legal[data-astro-cid-ca6mz5cy]{border-top:1px solid var(--color-border);margin:0;font-size:.9375rem;display:grid}.legal[data-astro-cid-ca6mz5cy] div[data-astro-cid-ca6mz5cy]{border-bottom:1px solid var(--color-border);grid-template-columns:9rem 1fr;gap:1rem;padding-block:.625rem;display:grid}.legal[data-astro-cid-ca6mz5cy] dt[data-astro-cid-ca6mz5cy]{font:500 .75rem/1.9 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.legal[data-astro-cid-ca6mz5cy] dd[data-astro-cid-ca6mz5cy]{min-width:0;margin:0}.pending[data-astro-cid-ca6mz5cy]{border:1px dashed var(--color-warning-border);border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning-fg);font:500 .8125rem/1.6 var(--font-mono);padding:0 .375rem;display:inline-block}.legal-inline[data-astro-cid-ca6mz5cy]{line-height:1.9}.site-footer[data-astro-cid-jo6i4kqk]{padding-block:4rem 2rem;font-size:.9375rem}.site-footer__grid[data-astro-cid-jo6i4kqk]{gap:2.5rem;padding-bottom:3rem;display:grid}@media (width>=48rem){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(3,minmax(0,1fr))}.site-footer__brand[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}@media (width>=64rem){.site-footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr 1fr 1fr 1fr}.site-footer__brand[data-astro-cid-jo6i4kqk]{grid-column:auto}}.site-footer__brand[data-astro-cid-jo6i4kqk]{align-content:start;gap:1rem;display:grid}.site-footer[data-astro-cid-jo6i4kqk] .site-footer__logo{--logo-ink:var(--color-text);width:10rem}.site-footer__title[data-astro-cid-jo6i4kqk]{font:500 .75rem/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:1rem}.site-footer[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{gap:.5rem;list-style:none;display:grid}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{text-decoration:none}.site-footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{text-decoration:underline}.site-footer__legal[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-top:1.5rem;font-size:.8125rem;display:flex}.site-footer__legal[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]+p[data-astro-cid-jo6i4kqk]{margin-top:0}.site-footer__company[data-astro-cid-jo6i4kqk]{gap:.25rem;max-width:48rem;display:grid}.site-footer__links[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;align-self:end;gap:.5rem 1.5rem;display:flex}.crumbs[data-astro-cid-vx4iavld] ol[data-astro-cid-vx4iavld]{color:var(--color-text-muted);flex-wrap:wrap;gap:.25rem .5rem;font-size:.875rem;line-height:1.5;list-style:none;display:flex}.crumbs[data-astro-cid-vx4iavld] li[data-astro-cid-vx4iavld]{align-items:center;gap:.5rem;display:inline-flex}.crumbs[data-astro-cid-vx4iavld] li[data-astro-cid-vx4iavld]+li[data-astro-cid-vx4iavld]:before{content:"/";color:var(--color-border-strong)}.crumbs[data-astro-cid-vx4iavld] a[data-astro-cid-vx4iavld]{color:inherit;text-decoration:none}.crumbs[data-astro-cid-vx4iavld] a[data-astro-cid-vx4iavld]:hover{color:var(--color-text);text-decoration:underline}.crumbs[data-astro-cid-vx4iavld] [data-astro-cid-vx4iavld][aria-current]{color:var(--color-text)}.page-crumbs[data-astro-cid-z4jru4n3]{padding-top:1.5rem}.page-crumbs[data-astro-cid-z4jru4n3].inverse{background:var(--color-bg)}main[data-astro-cid-z4jru4n3]:focus{outline:none}
