@font-face{font-family:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-cyrillic-ext-wght-normal.DwsuhU2Y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-cyrillic-wght-normal.CeZyc_3Q.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-greek-ext-wght-normal.B0csX6R_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-greek-wght-normal.BWSpOBI-.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-math-wght-normal.ChZGBGZa.woff2) format("woff2-variations");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-vietnamese-wght-normal.G-hP2cUo.woff2) format("woff2-variations");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:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-latin-ext-wght-normal.NX2Olof3.woff2) format("woff2-variations");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:"Noto Serif Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/openvaala/assets/noto-serif-latin-wght-normal.DKWgU5qY.woff2) format("woff2-variations");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:400;src:url(/openvaala/assets/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-greek-400-normal._efipK4i.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-ext-400-italic.BELOEI8R.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-400-italic.D9J6q4_O.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-greek-400-italic.BEZwmy7D.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-vietnamese-400-italic.BbRnwouv.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-ext-400-italic.Du9zzoL2.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-400-italic.CZTNEAuW.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/openvaala/assets/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(/openvaala/assets/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/openvaala/assets/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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-cyrillic-wght-italic.CfQkWpeR.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-greek-wght-italic.Dmq-fBVQ.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-vietnamese-wght-italic.Dcombn6O.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-latin-ext-wght-italic.BrDczivE.woff2) format("woff2-variations");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:JetBrains Mono Variable;font-style:italic;font-display:swap;font-weight:100 800;src:url(/openvaala/assets/jetbrains-mono-latin-wght-italic.B2M6KQje.woff2) format("woff2-variations");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{--paper: #faf9f6;--paper-raised: #ffffff;--paper-sunken: #f0eeea;--ink: #1c1917;--ink-soft: #44403c;--ink-muted: #6f6964;--rule: #e7e5e4;--rule-strong: #d6d3d1;--signal: #2563eb;--warning: #9a5b13;--caution: #b42318;--font-display: "Noto Serif Variable", "Songti SC", "Noto Serif CJK SC", serif;--font-text: "IBM Plex Sans", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-code: "JetBrains Mono Variable", ui-monospace, monospace;--top-bar-height: 60px;--site-max-width: 1360px;--site-gutter: 32px;--sidebar-width: 256px;--content-width: 680px;--outline-width: 208px;--home-width: 1184px;--ease-out: cubic-bezier(.2, .8, .2, 1);color-scheme:light}.dark{--paper: #1c1917;--paper-raised: #22201e;--paper-sunken: #2a2725;--ink: #fafaf9;--ink-soft: #d6d3d1;--ink-muted: #a8a29e;--rule: #322e2b;--rule-strong: #46413d;--signal: #60a5fa;--warning: #e0b25a;--caution: #f48c84;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%}html.is-search-open{overflow:hidden}body{margin:0;background:var(--paper);color:var(--ink-soft);font-family:var(--font-text);font-size:1rem;line-height:1.65;font-synthesis-weight:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:color-mix(in srgb,var(--ink) 14%,transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}button,input{color:inherit}img,svg{max-width:100%}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:fixed;top:10px;left:10px;z-index:200;padding:8px 14px;border-radius:8px;background:var(--ink);color:var(--paper);font-size:.875rem;text-decoration:none;transform:translateY(-160%);transition:transform .16s var(--ease-out)}.skip-link:focus-visible{transform:none}.eyebrow{margin:0 0 14px;color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;font-weight:500;letter-spacing:.09em;line-height:1.6;text-transform:uppercase}.text-link,.prose a:not(.header-anchor){color:var(--ink);font-weight:600;text-decoration:none;background-image:linear-gradient(var(--signal),var(--signal)),linear-gradient(var(--rule-strong),var(--rule-strong));background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 2px,100% 1px;padding-bottom:2px}.text-link:hover,.text-link:focus-visible,.prose a:not(.header-anchor):hover,.prose a:not(.header-anchor):focus-visible{background-size:100% 2px,100% 1px}@keyframes caret-blink{0%,55%{opacity:1}56%,to{opacity:0}}.site-shell{display:flex;flex-direction:column;min-height:100dvh}.site-body{flex:1;width:100%}.site-body--doc{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);gap:64px;max-width:var(--site-max-width);margin:0 auto;padding:0 var(--site-gutter)}.site-main{min-width:0;outline:none}.not-found{max-width:var(--content-width);padding:96px 0 160px}.not-found h1{margin:0 0 16px;color:var(--ink);font-family:var(--font-display);font-size:2.5rem;font-weight:400;line-height:1.15}.site-footer{border-top:1px solid var(--rule)}.site-footer p{max-width:var(--site-max-width);margin:0 auto;padding:28px var(--site-gutter) 36px;color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.06em}@media (max-width: 1279px){.site-body--doc{gap:48px}}@media (max-width: 959px){.site-body--doc{display:block}}@media (max-width: 719px){:root{--site-gutter: 20px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.prose{color:var(--ink-soft);font-size:1rem;line-height:1.7;overflow-wrap:break-word}.prose>div>:first-child{margin-top:0}.prose h1,.prose h2{color:var(--ink);font-family:var(--font-display);font-weight:400;text-wrap:balance}.prose h1{margin:0 0 20px;font-size:2.375rem;letter-spacing:-.02em;line-height:1.15}.prose h2{margin:56px 0 16px;font-size:1.625rem;letter-spacing:-.01em;line-height:1.25}.prose h3,.prose h4{color:var(--ink);font-family:var(--font-text);font-weight:600}.prose h3{margin:36px 0 10px;font-size:1.125rem;line-height:1.4}.prose h4{margin:28px 0 8px;font-size:1rem;line-height:1.5}.prose :is(h1,h2,h3,h4){scroll-margin-top:calc(var(--top-bar-height) + 56px)}.prose h1+p{color:var(--ink-soft);font-size:1.1875rem;line-height:1.6}.prose p,.prose ul,.prose ol,.prose table,.prose blockquote,.prose details{margin:16px 0}.prose strong{color:var(--ink);font-weight:600}.prose .header-anchor{margin-left:.35em;color:var(--ink-muted);font-family:var(--font-code);font-size:.8em;font-weight:400;text-decoration:none;opacity:0;transition:opacity .15s ease-out}.prose .header-anchor:before{content:"#"}.prose :is(h1,h2,h3,h4):hover .header-anchor,.prose .header-anchor:focus-visible{opacity:1}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:6px}.prose li>ul,.prose li>ol{margin:6px 0 0}.prose ul>li::marker{color:var(--ink-muted)}.prose ol>li::marker{color:var(--ink-muted);font-family:var(--font-code);font-size:.875em}.prose hr{height:1px;margin:48px 0;border:0;background:var(--rule)}.prose blockquote{padding:2px 0 2px 18px;border-left:2px solid var(--rule-strong);color:var(--ink-muted)}.prose blockquote>p{margin:8px 0}.prose img{display:block;max-width:100%;height:auto;margin:28px 0;border:1px solid var(--rule);border-radius:12px}.prose kbd{display:inline-block;min-width:1.6em;padding:0 6px;border:1px solid var(--rule-strong);border-bottom-width:2px;border-radius:6px;background:var(--paper-raised);color:var(--ink);font-family:var(--font-code);font-size:.75rem;line-height:1.7;text-align:center}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.9375rem;line-height:1.55}.prose th,.prose td{padding:10px 16px 10px 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.prose th{border-bottom-color:var(--rule-strong);color:var(--ink);font-weight:600;white-space:nowrap}.prose tr:last-child td{border-bottom:0}.prose :not(pre)>code{padding:.12em .4em;border:1px solid var(--rule);border-radius:6px;background:var(--paper-raised);color:var(--ink);font-family:var(--font-code);font-size:.85em;overflow-wrap:anywhere}.prose a>code{font-weight:500}.prose table code{white-space:nowrap}.prose div[class*=language-]{position:relative;margin:20px 0;border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised)}.prose pre{margin:0;padding:18px 20px;overflow-x:auto;background:transparent!important;font-family:var(--font-code);font-size:.8125rem;line-height:1.75;-moz-tab-size:4;tab-size:4;scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}.prose pre code{display:block;width:fit-content;min-width:100%;font-family:inherit;font-feature-settings:"calt" 0}.prose .vp-code span{color:var(--shiki-light, inherit);font-style:var(--shiki-light-font-style, inherit);font-weight:var(--shiki-light-font-weight, inherit)}.dark .prose .vp-code span{color:var(--shiki-dark, inherit);font-style:var(--shiki-dark-font-style, inherit);font-weight:var(--shiki-dark-font-weight, inherit)}.prose div[class*=language-]>span.lang{position:absolute;top:8px;right:12px;z-index:1;color:var(--ink-muted);font-family:var(--font-code);font-size:.625rem;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;transition:opacity .15s ease-out}.prose div[class*=language-]>button.copy{position:absolute;top:6px;right:8px;z-index:2;padding:2px 8px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink-soft);font-family:var(--font-code);font-size:.625rem;letter-spacing:.1em;line-height:1.8;text-transform:uppercase;cursor:pointer;opacity:0;transition:opacity .15s ease-out}.prose div[class*=language-]>button.copy:before{content:"Copy"}.prose div[class*=language-]>button.copy.copied:before{content:"Copied"}.prose:lang(zh) div[class*=language-]>button.copy:before{content:"复制"}.prose:lang(zh) div[class*=language-]>button.copy.copied:before{content:"已复制"}.prose div[class*=language-]:hover>button.copy,.prose div[class*=language-]>button.copy:focus-visible,.prose div[class*=language-]>button.copy.copied{opacity:1}.prose div[class*=language-]:hover>span.lang,.prose div[class*=language-]:has(>button.copy:focus-visible)>span.lang{opacity:0}.prose div[class*=language-]>button.copy:hover{border-color:var(--rule-strong);color:var(--ink)}@media (hover: none){.prose div[class*=language-]>button.copy{opacity:1}.prose div[class*=language-]>span.lang{display:none}}.prose .vp-code .line.highlighted{display:inline-block;width:calc(100% + 40px);margin:0 -20px;padding:0 20px;background:var(--paper-sunken)}.prose .vp-code .diff.remove{opacity:.6;text-decoration:line-through}.prose .vp-code.has-focused-lines .line:not(.has-focus){opacity:.45}.prose .vp-code-group{margin:20px 0}.prose .vp-code-group .tabs{display:flex;gap:18px;padding:0 16px;overflow-x:auto;border:1px solid var(--rule);border-bottom:0;border-radius:12px 12px 0 0;background:var(--paper-raised)}.prose .vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.prose .vp-code-group .tabs label{position:relative;padding:10px 0 9px;color:var(--ink-muted);font-family:var(--font-code);font-size:.75rem;white-space:nowrap;cursor:pointer}.prose .vp-code-group .tabs label:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transition:transform .2s var(--ease-out)}.prose .vp-code-group input:checked+label{color:var(--ink)}.prose .vp-code-group input:checked+label:after{transform:scaleX(1)}.prose .vp-code-group input:focus-visible+label{outline:2px solid var(--signal);outline-offset:2px;border-radius:4px}.prose .vp-code-group .blocks>div[class*=language-]{display:none;margin:0;border-radius:0 0 12px 12px}.prose .vp-code-group .blocks>div[class*=language-].active{display:block}.prose .custom-block{--alert-mark: var(--ink);margin:24px 0;padding:14px 18px 14px 20px;border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised);font-size:.9375rem;line-height:1.65}.prose .custom-block.warning{--alert-mark: var(--warning)}.prose .custom-block:is(.caution,.danger){--alert-mark: var(--caution)}.prose .custom-block.warning{border-color:color-mix(in srgb,var(--warning) 32%,var(--rule))}.prose .custom-block:is(.caution,.danger){border-color:color-mix(in srgb,var(--caution) 32%,var(--rule))}.prose .custom-block-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--alert-mark);font-family:var(--font-code);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.prose .custom-block-title:before{content:"";width:3px;height:12px;background:var(--alert-mark)}.prose .custom-block>:last-child{margin-bottom:0}.prose .custom-block p{margin:6px 0}.prose .custom-block div[class*=language-]{background:var(--paper)}.prose details.custom-block>summary{color:var(--ink);font-weight:600;cursor:pointer}.prose details.custom-block[open]>summary{margin-bottom:8px}.scene-canvas{--scene-edge: color-mix(in srgb, var(--ink) 58%, transparent);--scene-mid: color-mix(in srgb, var(--ink) 38%, transparent);--scene-lo: color-mix(in srgb, var(--ink) 20%, transparent);--scene-hi: var(--signal);--scene-plate: var(--paper)}.scene-canvas svg{display:block;width:100%;height:auto;overflow:visible}.scene-canvas :is(path,rect,circle,ellipse,line){vector-effect:non-scaling-stroke}.scene-canvas:not(.is-playing) *{animation-play-state:paused!important}.iso-silhouette{fill:var(--scene-plate);stroke:var(--scene-edge);stroke-width:1;stroke-linejoin:round}.iso-rim,.iso-inset{fill:none;stroke:var(--scene-mid);stroke-width:1;stroke-linejoin:round}.iso-corner{fill:none;stroke:var(--scene-lo);stroke-width:1}.iso-row{fill:none;stroke:var(--scene-lo);stroke-width:2;stroke-linecap:round}.iso-row--hi,.iso-slab--hi .iso-silhouette{stroke:var(--scene-hi)}.iso-slab--hi .iso-rim{stroke:color-mix(in srgb,var(--scene-hi) 55%,transparent)}.iso-slab--ghost{opacity:.5}.iso-slab--ghost :is(.iso-silhouette,.iso-rim,.iso-inset){stroke:var(--scene-mid);stroke-dasharray:2 3}.scene-wire{fill:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}.scene-wire--lo{stroke:var(--scene-lo)}.scene-wire--mid{stroke:var(--scene-mid)}.scene-wire--hi{stroke:var(--scene-hi)}.scene-wire--ghost{stroke:var(--scene-lo);stroke-dasharray:2 3}.scene-canvas .scene-packet{fill:var(--scene-hi);stroke:none;opacity:0}.iso-cursor-arrow{fill:var(--scene-hi);stroke:var(--scene-plate);stroke-width:1;stroke-linejoin:round}.iso-cursor-tag{fill:var(--scene-hi)}.iso-cursor-text{fill:var(--paper);font-family:var(--font-code);font-size:7px;letter-spacing:.04em}.scene-label{fill:var(--ink-muted);font-family:var(--font-code);font-size:9px;letter-spacing:.03em}.scene-label--ink{fill:var(--ink-soft)}.scene-label--hi{fill:var(--signal)}.scene-label--small{font-size:7.5px}.flow-node-box{fill:var(--scene-plate);stroke:var(--scene-edge);stroke-width:1}.flow-node--hi .flow-node-box{stroke:var(--scene-hi)}.flow-node--ghost{opacity:.5}.flow-node--ghost .flow-node-box{stroke:var(--scene-mid);stroke-dasharray:2 3}.scene-figure{margin:0}.scene-figure figcaption{margin-top:12px;color:var(--ink-muted);font-size:.8125rem;line-height:1.5;text-align:center}.scene-figure--band{display:flex;justify-content:center;padding:8px 0 20px;border-bottom:1px solid var(--rule)}.scene-figure--band .scene-canvas svg{width:auto;height:224px;max-width:100%}.scene-figure--inline{margin:28px 0}.scene-figure--inline .scene-canvas{padding:24px;border:1px solid var(--rule);border-radius:14px}.scene-figure--inline .scene-canvas svg{max-height:300px}.scene-figure--inline .scene-canvas--flow svg{max-width:560px;max-height:none;margin:0 auto}.scene-figure--pillar .scene-canvas{--scene-plate: var(--paper-raised);padding:28px;border:1px solid var(--rule);border-radius:18px;background:var(--paper-raised)}@media (max-width: 719px){.scene-label{font-size:10.5px}.scene-label--small{font-size:9px}.scene-figure--band .scene-canvas svg{height:168px}.scene-figure--inline .scene-canvas,.scene-figure--pillar .scene-canvas{padding:14px;border-radius:12px}}@media (prefers-reduced-motion: reduce){.scene-canvas *{animation:none!important}}.scene-light{fill:var(--scene-hi);opacity:0}.scene-canvas--flow .scene-label{font-size:10px}.scene-canvas--flow .scene-label--small{font-size:8px}.scene-captions .scene-caption{grid-area:1 / 1;margin:0;color:var(--ink-soft);font-family:var(--font-code);font-size:.75rem;line-height:1.6;letter-spacing:.02em}.scene-captions{display:grid;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}.scene-compact{display:none}.scene-group-label{fill:var(--ink-muted);font-family:var(--font-code);font-size:8px;letter-spacing:.12em;text-transform:uppercase}@media (max-width: 719px){.scene-canvas--flow .scene-label{font-size:12.5px}.scene-canvas--flow .scene-label--small,.scene-group-label{font-size:10px}.scene-detail{display:none}.scene-compact{display:inline}}.scene-rule{stroke:var(--scene-lo);stroke-width:1}.outline-list[data-v-586f603c]{position:relative}.outline-list ul[data-v-586f603c]{margin:0;padding:0;list-style:none}.outline-list--aside[data-v-586f603c]{border-left:1px solid var(--rule)}.outline-indicator[data-v-586f603c]{position:absolute;top:0;left:-1px;width:2px;height:1px;background:var(--signal);opacity:0;transform-origin:top;will-change:transform}.outline-indicator.is-visible[data-v-586f603c]{opacity:1}.outline-indicator.is-gliding[data-v-586f603c]{transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .16s ease-out}.outline-link[data-v-586f603c]{display:block;padding:5px 0 5px 14px;color:var(--ink-muted);font-size:.8125rem;line-height:1.45;text-decoration:none}.outline-item--h3 .outline-link[data-v-586f603c]{padding-left:26px}.outline-link[data-v-586f603c]:hover,.outline-link[aria-current=location][data-v-586f603c]{color:var(--ink)}.outline-list--menu .outline-link[data-v-586f603c]{padding:7px 10px;border-radius:8px;font-size:.875rem}.outline-list--menu .outline-item--h3 .outline-link[data-v-586f603c]{padding-left:22px}.outline-list--menu .outline-link[aria-current=location][data-v-586f603c]{background:var(--paper-sunken)}.loop-ring[data-v-278ac56d]{fill:none;stroke:var(--scene-lo);stroke-width:1;stroke-dasharray:2 3}.loop-dot[data-v-278ac56d]{fill:var(--scene-hi)}.loop-orbit[data-v-278ac56d]{transform-box:view-box}.future-mark[data-v-278ac56d]{fill:none;stroke:var(--scene-mid);stroke-width:1;stroke-dasharray:2 2}.frame[data-v-e49c207b]{fill:var(--scene-plate);stroke:var(--scene-edge);stroke-width:1}.frame-rule[data-v-e49c207b]{stroke:var(--scene-lo);stroke-width:1}.frame-dot[data-v-e49c207b]{fill:none;stroke:var(--scene-mid);stroke-width:1}.frame-address[data-v-e49c207b],.frame-input[data-v-e49c207b]{fill:none;stroke:var(--scene-lo);stroke-width:1}.frame-input--active[data-v-e49c207b]{stroke:var(--scene-hi);opacity:0}.frame-notch[data-v-e49c207b],.code-bar[data-v-e49c207b]{fill:var(--scene-lo)}.row-bar[data-v-e49c207b]{fill:var(--scene-mid);transform-box:fill-box;transform-origin:left center}.row-bar--user[data-v-e49c207b]{fill:none;stroke:var(--scene-mid);stroke-width:1}.row-bar--text[data-v-e49c207b]{fill:var(--scene-lo)}.prompt-mark[data-v-e49c207b]{fill:var(--ink-muted);font-family:var(--font-code);font-size:7px}.tool-running[data-v-e49c207b]{fill:var(--scene-hi);opacity:0}.tool-done[data-v-e49c207b]{fill:var(--scene-mid)}.cursor-track[data-v-e49c207b]{opacity:0;transform-box:view-box;transform-origin:0 0}.edge-light[data-v-e87debce]{fill:none;stroke:var(--scene-hi);stroke-width:1.5;stroke-linecap:butt;opacity:0;vector-effect:none}.port[data-v-e87debce]{fill:var(--scene-plate);stroke:var(--scene-mid);stroke-width:1}.port--docked[data-v-e87debce]{fill:var(--scene-edge);stroke:var(--scene-edge)}.panel[data-v-c4dd2805]{fill:var(--scene-plate);stroke:var(--scene-edge);stroke-width:1}.machine[data-v-c4dd2805]{fill:none;stroke:var(--scene-mid);stroke-width:1;stroke-dasharray:3 3}.folder-glyph[data-v-c4dd2805],.db-glyph[data-v-c4dd2805]{fill:none;stroke:var(--scene-edge);stroke-width:1;stroke-linejoin:round}.record-line[data-v-c4dd2805]{fill:var(--ink-soft)}.scan-mark[data-v-c4dd2805]{fill:var(--scene-hi);opacity:0}.item-bar[data-v-c4dd2805]{fill:var(--scene-lo)}.index-cell[data-v-c4dd2805]{fill:var(--scene-mid)}.index-cell--wide[data-v-c4dd2805]{fill:var(--scene-lo)}.future-pill[data-v-c4dd2805]{fill:none;stroke:var(--scene-mid);stroke-width:1;stroke-dasharray:2 3}.copy-card[data-v-c4dd2805]{transform-box:view-box}.command-row[data-v-85276430]{stroke:var(--scene-mid)}.typed-row[data-v-85276430]{fill:none;stroke:var(--scene-mid);stroke-width:2;stroke-linecap:round;transform-box:fill-box;transform-origin:0 0}.caret[data-v-85276430]{fill:var(--scene-hi);stroke:none}.drop-shadow[data-v-fcf14895]{fill:color-mix(in srgb,var(--ink) 7%,transparent);stroke:none;transform-box:fill-box;transform-origin:center}.install-light[data-v-fcf14895]{fill:var(--scene-hi)}.prompt-mark[data-v-a1f013f9]{stroke:var(--scene-mid)}.stream-row[data-v-a1f013f9]{fill:none;stroke:var(--scene-lo);stroke-width:2;stroke-linecap:round;transform-box:fill-box;transform-origin:0 0}.caret[data-v-a1f013f9]{fill:var(--scene-hi);stroke:none}.user-bubble[data-v-38e3df83]{fill:none;stroke:var(--scene-mid)}.stream-row[data-v-38e3df83]{fill:none;stroke:var(--scene-lo);stroke-width:2;stroke-linecap:round;transform-box:fill-box;transform-origin:0 0}.caret[data-v-38e3df83]{fill:var(--scene-hi);stroke:none}.window-shadow[data-v-9012854d]{fill:color-mix(in srgb,var(--ink) 6%,transparent);stroke:none}.dock-light[data-v-9012854d],.socket-light[data-v-b2fe7a42]{fill:var(--scene-hi)}.user-bubble[data-v-dde3af5f]{fill:none;stroke:var(--scene-mid)}.telemetry-line[data-v-e530af9b]{fill:none;stroke:var(--scene-hi);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.cli-prompt[data-v-df808c12]{fill:var(--ink-soft);font-family:var(--font-code);font-size:12px}.cli-prompt-sign[data-v-df808c12]{fill:var(--ink-muted)}.cli-caret[data-v-df808c12]{fill:var(--scene-hi);animation:caret-blink 1.6s steps(1,end) infinite}.timeline[data-v-b2fd93bd]{stroke:var(--scene-lo);stroke-width:1}.fork-path[data-v-b2fd93bd]{fill:none;stroke:var(--scene-hi);stroke-width:1.5;vector-effect:none}.card[data-v-b2fd93bd]{fill:var(--scene-plate);stroke:var(--scene-edge);stroke-width:1}.card-bar[data-v-b2fd93bd]{fill:var(--scene-lo)}.card-bar--user[data-v-b2fd93bd]{fill:var(--scene-mid)}.rewind-bar[data-v-b2fd93bd]{fill:var(--scene-hi)}.rewind[data-v-b2fd93bd]{transform-box:view-box}.meter[data-v-912bb74b]{fill:none;stroke:var(--scene-edge);stroke-width:1}.meter-fill[data-v-912bb74b]{fill:var(--scene-mid);transform-box:fill-box;transform-origin:left center}.threshold[data-v-912bb74b]{stroke:var(--scene-hi);stroke-width:1;stroke-dasharray:2 2}.item[data-v-912bb74b]{transform-box:fill-box;transform-origin:left center}.item-card[data-v-912bb74b]{fill:var(--scene-plate);stroke:var(--scene-edge);stroke-width:1}.item-bar[data-v-912bb74b]{fill:var(--scene-lo)}.summary-card[data-v-912bb74b]{fill:var(--scene-plate);stroke:var(--scene-hi);stroke-width:1}.layer[data-v-b7fe7c1e]{transform-box:fill-box;transform-origin:center}.layer-box[data-v-b7fe7c1e]{fill:var(--scene-plate);stroke:var(--scene-mid);stroke-width:1}.layer-box--agent[data-v-b7fe7c1e]{stroke:var(--scene-edge)}.loop-ring[data-v-b7fe7c1e]{fill:none;stroke:var(--scene-lo);stroke-width:1;stroke-dasharray:2 3}.loop-dot[data-v-b7fe7c1e]{fill:var(--scene-hi)}.loop-orbit[data-v-b7fe7c1e]{transform-box:view-box}.item-bar[data-v-b7fe7c1e]{fill:var(--scene-lo)}.item-bar--tool[data-v-b7fe7c1e]{fill:var(--scene-mid)}.doc-columns[data-v-a2c1e710]{display:grid;grid-template-columns:minmax(0,var(--content-width)) var(--outline-width);gap:72px;padding:48px 0 96px}.doc-article[data-v-a2c1e710]{min-width:0}.doc-band[data-v-a2c1e710]{margin-bottom:36px}.doc-content[data-v-a2c1e710]{animation:content-rise-a2c1e710 .26s cubic-bezier(.2,.8,.2,1)}@keyframes content-rise-a2c1e710{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.doc-outline[data-v-a2c1e710]{position:sticky;top:calc(var(--top-bar-height) + 48px);align-self:start;max-height:calc(100dvh - var(--top-bar-height) - 96px);overflow-y:auto;scrollbar-width:none}.doc-outline-label[data-v-a2c1e710]{margin:0 0 12px;color:var(--ink);font-family:var(--font-display);font-size:.9375rem}.doc-pager[data-v-a2c1e710]{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:72px;padding-top:24px;border-top:1px solid var(--rule)}.doc-pager-link[data-v-a2c1e710]{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;color:var(--ink);text-decoration:none}.doc-pager-link[data-v-a2c1e710]:hover{border-color:var(--rule-strong);background:var(--paper-raised)}.doc-pager-link--next[data-v-a2c1e710]{grid-column:2;text-align:right}.doc-pager-label[data-v-a2c1e710]{color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.09em;text-transform:uppercase}.doc-pager-title[data-v-a2c1e710]{font-family:var(--font-display);font-size:1.125rem}.outline-bar[data-v-a2c1e710]{display:none}@media (max-width: 1279px){.doc-columns[data-v-a2c1e710]{grid-template-columns:minmax(0,var(--content-width))}.doc-outline[data-v-a2c1e710]{display:none}.outline-bar[data-v-a2c1e710]{position:sticky;top:var(--top-bar-height);z-index:20;display:block;margin:0 calc(var(--site-gutter) * -1);padding:0 var(--site-gutter);border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.outline-bar-toggle[data-v-a2c1e710]{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0;border:0;background:transparent;color:var(--ink-soft);font-family:var(--font-display);font-size:.9375rem;cursor:pointer}.outline-bar-toggle svg[data-v-a2c1e710]{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s ease-out}.outline-bar-toggle[aria-expanded=true] svg[data-v-a2c1e710]{transform:rotate(180deg)}.outline-bar-menu[data-v-a2c1e710]{position:absolute;top:100%;left:var(--site-gutter);right:var(--site-gutter);max-width:420px;max-height:60dvh;overflow-y:auto;padding:12px 8px;border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised);box-shadow:0 12px 32px -12px color-mix(in srgb,var(--ink) 22%,transparent)}.doc-columns[data-v-a2c1e710]{padding-top:32px}}@media (max-width: 719px){.doc-pager[data-v-a2c1e710]{grid-template-columns:1fr}.doc-pager-link--next[data-v-a2c1e710]{grid-column:1}}@media (prefers-reduced-motion: reduce){.doc-content[data-v-a2c1e710]{animation:none}}.home[data-v-5cf4eb21]{max-width:var(--home-width);margin:0 auto;padding:0 var(--site-gutter)}.home-hero[data-v-5cf4eb21]{padding:96px 0 48px}.home-title[data-v-5cf4eb21]{max-width:21ch;margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(2.5rem,1.5rem + 3.4vw,4.125rem);font-weight:380;letter-spacing:-.025em;line-height:1.04}.home-title-segment[data-v-5cf4eb21]{display:inline-block}.home-title-caret[data-v-5cf4eb21]{display:inline-block;width:.42em;height:.1em;margin-left:.12em;background:var(--signal);animation:caret-blink 1.6s steps(1,end) infinite}.home-tagline[data-v-5cf4eb21]{max-width:36rem;margin:24px 0 0;color:var(--ink-soft);font-size:1.25rem;line-height:1.55}.home-actions[data-v-5cf4eb21]{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.home-action[data-v-5cf4eb21]{display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:10px;font-size:.9375rem;font-weight:500;text-decoration:none;transition:transform .16s ease-out}.home-action[data-v-5cf4eb21]:active{transform:translateY(1px)}.home-action--primary[data-v-5cf4eb21]{background:var(--ink);color:var(--paper)}.home-action--primary[data-v-5cf4eb21]:hover{background:var(--ink-soft)}.home-action--secondary[data-v-5cf4eb21]{border:1px solid var(--rule-strong);color:var(--ink)}.home-action--secondary[data-v-5cf4eb21]:hover{border-color:var(--ink-muted);background:var(--paper-raised)}.home-install[data-v-5cf4eb21]{display:inline-flex;align-items:center;gap:12px;max-width:100%;margin-top:20px;padding:6px 6px 6px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--paper-raised);font-family:var(--font-code);font-size:.8125rem}.home-install-prompt[data-v-5cf4eb21]{color:var(--ink-muted)}.home-install-command[data-v-5cf4eb21]{overflow-x:auto;color:var(--ink);white-space:nowrap;scrollbar-width:none}.home-install-copy[data-v-5cf4eb21]{flex:none;min-width:64px;height:30px;padding:0 10px;border:1px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink-soft);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.home-install-copy[data-v-5cf4eb21]:hover{border-color:var(--rule-strong);color:var(--ink)}.home-shot[data-v-5cf4eb21]{margin:24px 0 0;overflow:hidden;border:1px solid var(--rule);border-radius:18px;background:var(--paper-raised)}.home-shot img[data-v-5cf4eb21]{display:block;width:100%;height:auto}.home-shot-pending[data-v-5cf4eb21]{display:grid;place-items:center;aspect-ratio:16 / 9;background-image:linear-gradient(var(--rule) 1px,transparent 1px),linear-gradient(90deg,var(--rule) 1px,transparent 1px);background-position:-1px -1px;background-size:48px 48px;color:var(--ink-muted);font-family:var(--font-code);font-size:.75rem;letter-spacing:.09em;text-transform:uppercase}.home-shot-pending span[data-v-5cf4eb21]{padding:6px 12px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised)}.pillar[data-v-5cf4eb21]{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:center;margin-top:120px;padding-top:32px;border-top:1px solid var(--rule)}.pillar--flip[data-v-5cf4eb21]{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.pillar--flip .pillar-text[data-v-5cf4eb21]{order:2}.pillar-number[data-v-5cf4eb21]{margin:0 0 20px;color:var(--ink-muted);font-family:var(--font-code);font-size:.75rem;letter-spacing:.08em}.pillar-title[data-v-5cf4eb21]{margin:0;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.75rem,1.3rem + 1.2vw,2.25rem);font-weight:400;letter-spacing:-.015em;line-height:1.15;text-wrap:balance}.pillar-details[data-v-5cf4eb21]{margin:20px 0 0;color:var(--ink-soft);font-size:1.0625rem;line-height:1.65}.pillar-link[data-v-5cf4eb21]{display:inline-block;margin-top:20px;font-size:.9375rem}.pillar-figure[data-v-5cf4eb21]{min-width:0}.home-content[data-v-5cf4eb21]{max-width:var(--content-width);padding:96px 0 120px}.home-content[data-v-5cf4eb21]:not(:has(>div>*)){padding-bottom:72px}@media (max-width: 959px){.home-hero[data-v-5cf4eb21]{padding-top:72px}.pillar[data-v-5cf4eb21],.pillar--flip[data-v-5cf4eb21]{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:80px}.pillar--flip .pillar-text[data-v-5cf4eb21]{order:0}}@media (max-width: 719px){.home-hero[data-v-5cf4eb21]{padding:56px 0 40px}.home-tagline[data-v-5cf4eb21]{font-size:1.125rem}.home-install[data-v-5cf4eb21]{display:flex}.home-shot[data-v-5cf4eb21]{border-radius:12px}}@media (prefers-reduced-motion: reduce){.home-title-caret[data-v-5cf4eb21]{animation:none}}.search-layer[data-v-f78d5449]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:min(14vh,120px) 16px 16px}.search-backdrop[data-v-f78d5449]{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--paper) 55%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.search-dialog[data-v-f78d5449]{position:relative;display:flex;flex-direction:column;width:min(640px,100%);max-height:min(560px,calc(100dvh - min(14vh,120px) - 16px));border:1px solid var(--rule-strong);border-radius:16px;background:var(--paper-raised);box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 6%,transparent),0 24px 64px -16px color-mix(in srgb,var(--ink) 28%,transparent);overflow:hidden}.search-field[data-v-f78d5449]{display:flex;align-items:center;gap:10px;padding:0 12px 0 18px;border-bottom:1px solid var(--rule)}.search-field-icon[data-v-f78d5449]{flex:none;width:18px;height:18px;fill:none;stroke:var(--ink-muted);stroke-width:1.6;stroke-linecap:round}.search-input[data-v-f78d5449]{flex:1;min-width:0;height:56px;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:1.0625rem}.search-input[data-v-f78d5449]::placeholder{color:var(--ink-muted)}.search-input[data-v-f78d5449]::-webkit-search-cancel-button{display:none}.search-close[data-v-f78d5449]{padding:3px 7px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.06em;cursor:pointer}.search-close[data-v-f78d5449]:hover{color:var(--ink);border-color:var(--rule-strong)}.search-close-label[data-v-f78d5449]{display:none}.search-body[data-v-f78d5449]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px}.search-message[data-v-f78d5449]{margin:0;padding:28px 12px;color:var(--ink-muted);font-size:.9375rem;text-align:center}.search-results[data-v-f78d5449]{margin:0;padding:0;list-style:none}.search-result[data-v-f78d5449]{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 14px 10px 22px;border-radius:10px;color:var(--ink-soft);text-decoration:none}.search-result[aria-selected=true][data-v-f78d5449]{background:var(--paper-sunken)}.search-result[aria-selected=true][data-v-f78d5449]:before{content:"";position:absolute;top:12px;bottom:12px;left:8px;width:3px;background:var(--signal)}.search-result-path[data-v-f78d5449]{color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.04em}.search-result-title[data-v-f78d5449]{color:var(--ink);font-size:.9375rem;font-weight:500}.search-result-snippet[data-v-f78d5449]{display:-webkit-box;overflow:hidden;color:var(--ink-muted);font-size:.8125rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.search-result[data-v-f78d5449] mark{background:transparent;color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:1.5px;text-underline-offset:3px}.search-footer[data-v-f78d5449]{display:flex;gap:18px;padding:10px 18px;border-top:1px solid var(--rule);color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.04em}.search-footer span[data-v-f78d5449]{display:inline-flex;align-items:center;gap:4px}.search-footer kbd[data-v-f78d5449]{min-width:18px;padding:1px 5px;border:1px solid var(--rule);border-radius:5px;background:var(--paper);font-family:inherit;text-align:center}.search-footer kbd+kbd[data-v-f78d5449]{margin-left:-1px}.search-enter-active .search-backdrop[data-v-f78d5449],.search-enter-active .search-dialog[data-v-f78d5449]{transition:opacity .2s ease-out,transform .22s cubic-bezier(.2,.8,.2,1)}.search-leave-active .search-backdrop[data-v-f78d5449],.search-leave-active .search-dialog[data-v-f78d5449]{transition:opacity .14s ease-in,transform .14s ease-in}.search-enter-from .search-backdrop[data-v-f78d5449],.search-leave-to .search-backdrop[data-v-f78d5449]{opacity:0}.search-enter-from .search-dialog[data-v-f78d5449],.search-leave-to .search-dialog[data-v-f78d5449]{opacity:0;transform:translateY(-4px) scale(.97)}@media (max-width: 719px){.search-layer[data-v-f78d5449]{padding:0}.search-dialog[data-v-f78d5449]{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.search-field[data-v-f78d5449]{padding-top:env(safe-area-inset-top)}.search-body[data-v-f78d5449]{padding-bottom:max(8px,env(safe-area-inset-bottom))}.search-close[data-v-f78d5449]{min-width:44px;min-height:44px;border:0;background:transparent;font-family:var(--font-text);font-size:.8125rem}.search-close-key[data-v-f78d5449]{display:none}.search-close-label[data-v-f78d5449]{display:inline}.search-footer[data-v-f78d5449]{display:none}}.site-sidebar[data-v-6f4c2c20]{position:sticky;top:var(--top-bar-height);align-self:start;height:calc(100dvh - var(--top-bar-height));overflow-y:auto;overscroll-behavior:contain;padding:40px 12px 48px 0;scrollbar-width:thin;scrollbar-color:transparent transparent}.site-sidebar[data-v-6f4c2c20]:hover{scrollbar-color:var(--rule-strong) transparent}.site-sidebar.is-drawer-only[data-v-6f4c2c20],.sidebar-drawer-head[data-v-6f4c2c20],.sidebar-backdrop[data-v-6f4c2c20]{display:none}.sidebar-nav[data-v-6f4c2c20]{position:relative}.sidebar-group+.sidebar-group[data-v-6f4c2c20]{margin-top:28px}.sidebar-group-label[data-v-6f4c2c20]{margin:0 0 8px;padding:0 12px;color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;font-weight:500;letter-spacing:.09em;line-height:1.6;text-transform:uppercase}.sidebar-group ul[data-v-6f4c2c20]{margin:0;padding:0;list-style:none}.sidebar-link[data-v-6f4c2c20]{position:relative;z-index:1;display:block;padding:6px 12px 6px 18px;border-radius:8px;color:var(--ink-soft);font-size:.9375rem;line-height:1.5;text-decoration:none}.sidebar-link[data-v-6f4c2c20]:hover{color:var(--ink);background:color-mix(in srgb,var(--paper-sunken) 60%,transparent)}.sidebar-link[aria-current=page][data-v-6f4c2c20]{color:var(--ink);font-weight:500}.sidebar-nav:not(.has-marker) .sidebar-link[aria-current=page][data-v-6f4c2c20]{background:var(--paper-sunken);box-shadow:inset 3px 0 0 var(--signal)}.sidebar-nav.has-marker .sidebar-link[aria-current=page][data-v-6f4c2c20]:hover{background:transparent}.sidebar-marker[data-v-6f4c2c20]{position:absolute;top:0;left:0;right:0;border-radius:8px;background:var(--paper-sunken);opacity:0;pointer-events:none;will-change:transform}.sidebar-marker.is-visible[data-v-6f4c2c20]{opacity:1}.sidebar-marker.is-gliding[data-v-6f4c2c20]{transition:transform .3s cubic-bezier(.2,.8,.2,1)}.sidebar-marker-bar[data-v-6f4c2c20]{position:absolute;top:9px;bottom:9px;left:6px;width:3px;background:var(--signal);transform-origin:center}@media (max-width: 959px){.site-sidebar[data-v-6f4c2c20],.site-sidebar.is-drawer-only[data-v-6f4c2c20]{position:fixed;top:0;bottom:0;left:0;z-index:50;display:block;width:min(320px,86vw);height:auto;padding:0 16px 40px;border-right:1px solid var(--rule);background:var(--paper);transform:translate(-100%);visibility:hidden;transition:transform .26s cubic-bezier(.2,.8,.2,1),visibility 0s linear .26s}.site-sidebar.is-open[data-v-6f4c2c20]{transform:translate(0);visibility:visible;transition:transform .26s cubic-bezier(.2,.8,.2,1)}.sidebar-drawer-head[data-v-6f4c2c20]{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;height:var(--top-bar-height);align-items:center;margin-bottom:8px;background:var(--paper)}.sidebar-close[data-v-6f4c2c20]{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer}.sidebar-close svg[data-v-6f4c2c20]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.sidebar-backdrop[data-v-6f4c2c20],.sidebar-backdrop.is-drawer-only[data-v-6f4c2c20]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;display:block;background:color-mix(in srgb,var(--ink) 28%,transparent);opacity:0;pointer-events:none;transition:opacity .22s ease-out}.sidebar-backdrop.is-open[data-v-6f4c2c20]{opacity:1;pointer-events:auto}}.logo-mark[data-v-b03cfdcc]{display:block;width:28px;height:28px;border-radius:7px}.logo-mark-plate[data-v-b03cfdcc]{fill:#1c1917}.dark{fill:#2f2b28}.dark{box-shadow:0 0 0 1px var(--rule-strong)}.logo-mark-cursor[data-v-b03cfdcc]{animation:caret-blink 1.6s steps(1,end) infinite}@media (prefers-reduced-motion: reduce){.logo-mark-cursor[data-v-b03cfdcc]{animation:none}}.theme-toggle[data-v-b502913a]{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer}.theme-toggle[data-v-b502913a]:hover{background:var(--paper-sunken);color:var(--ink)}svg[data-v-b502913a]{width:20px;height:20px}.theme-toggle-ring[data-v-b502913a]{fill:none;stroke:currentColor;stroke-width:1.5}.theme-toggle-fill[data-v-b502913a]{fill:currentColor;transform:translate(-10px);transition:transform .24s cubic-bezier(.2,.8,.2,1)}[data-mode=light] .theme-toggle-fill[data-v-b502913a]{transform:translate(-20px)}[data-mode=dark] .theme-toggle-fill[data-v-b502913a]{transform:translate(0)}.top-bar[data-v-d7e813da]{position:sticky;top:0;z-index:30;height:var(--top-bar-height);border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px)}.top-bar-inner[data-v-d7e813da]{display:flex;align-items:center;gap:12px;max-width:var(--site-max-width);height:100%;margin:0 auto;padding:0 var(--site-gutter)}.brand[data-v-d7e813da]{display:inline-flex;align-items:center;gap:10px;margin-right:auto;border-radius:8px;color:var(--ink);text-decoration:none}.brand-wordmark[data-v-d7e813da]{font-family:var(--font-display);font-size:1.25rem;font-weight:500;letter-spacing:-.01em}.top-bar-actions[data-v-d7e813da]{display:flex;align-items:center;gap:6px}.icon-button[data-v-d7e813da]{display:inline-grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--ink-soft);cursor:pointer}.icon-button[data-v-d7e813da]:hover{background:var(--paper-sunken);color:var(--ink)}.icon-button svg[data-v-d7e813da]{width:18px;height:18px}.menu-button svg[data-v-d7e813da]{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.github-link svg[data-v-d7e813da]{fill:currentColor}.menu-button[data-v-d7e813da]{display:none;margin-left:-8px}.search-trigger[data-v-d7e813da]{display:inline-flex;align-items:center;gap:8px;width:232px;height:36px;margin-right:10px;padding:0 8px 0 12px;border:1px solid var(--rule);border-radius:10px;background:var(--paper-raised);color:var(--ink-muted);font:inherit;font-size:.875rem;cursor:pointer}.search-trigger[data-v-d7e813da]:hover{border-color:var(--rule-strong);color:var(--ink-soft)}.search-trigger-icon[data-v-d7e813da]{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.search-trigger-text[data-v-d7e813da]{flex:1;text-align:left}.search-trigger-keys[data-v-d7e813da]{padding:2px 6px;border:1px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink-muted);font-family:var(--font-code);font-size:.6875rem;letter-spacing:.04em}.locale-switch[data-v-d7e813da]{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 8px;font-family:var(--font-code);font-size:.75rem;letter-spacing:.06em}.locale-switch>a[data-v-d7e813da],.locale-switch>span[aria-current][data-v-d7e813da]{padding:2px 0;border-radius:4px;text-decoration:none}.locale-switch>span[aria-current][data-v-d7e813da]{color:var(--ink);font-weight:600}.locale-switch>a[data-v-d7e813da]{color:var(--ink-muted)}.locale-switch>a[data-v-d7e813da]:hover{color:var(--ink)}.locale-switch-rule[data-v-d7e813da]{width:1px;height:12px;background:var(--rule-strong)}@media (max-width: 959px){.menu-button[data-v-d7e813da]{display:inline-grid}}@media (max-width: 719px){.top-bar-inner[data-v-d7e813da]{gap:4px}.search-trigger[data-v-d7e813da]{width:36px;margin-right:0;padding:0;justify-content:center;border-color:transparent;background:transparent;color:var(--ink-soft)}.search-trigger-text[data-v-d7e813da],.search-trigger-keys[data-v-d7e813da],.github-link[data-v-d7e813da]{display:none}.search-trigger-icon[data-v-d7e813da]{width:18px;height:18px}.locale-switch[data-v-d7e813da]{padding:0 4px}}
