@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.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:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-ext-400-italic-BELOEI8R.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-400-italic-D9J6q4_O.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-greek-400-italic-BEZwmy7D.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-vietnamese-400-italic-BbRnwouv.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-ext-400-italic-Du9zzoL2.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-400-italic-CZTNEAuW.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/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(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Space Grotesk", sans-serif;--font-sans: "IBM Plex Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--accent: #2f6bff;--accent-ink: var(--accent);--max: 1180px;--read: 720px;--r-sm: 8px;--r: 12px;--r-lg: 18px;--step: 1}[data-theme=light]{--bg: #ffffff;--bg-sub: #f4f6fa;--bg-sub2: #eef1f7;--text: #0e1525;--text-2: #3c465b;--muted: #6b7689;--border: #e4e8f0;--border-2: #d4dae6;--link: var(--accent);--accent-weak: color-mix(in oklab, var(--accent) 10%, transparent);--accent-line: color-mix(in oklab, var(--accent) 22%, transparent);--shadow: 0 1px 2px rgba(16,24,40,.04), 0 8px 24px -12px rgba(16,24,40,.14);--shadow-lg:0 2px 4px rgba(16,24,40,.05), 0 24px 48px -20px rgba(16,24,40,.22);--ph-stripe: rgba(14,21,37,.05);--ph-bg: #f7f9fc;color-scheme:light}[data-theme=dark]{--bg: #0a0d14;--bg-sub: #11151f;--bg-sub2: #161b27;--text: #e9eef7;--text-2: #b3bccd;--muted: #7e8aa0;--border: #1d2433;--border-2: #2a3344;--accent-ink: #6f97ff;--link: color-mix(in oklab, var(--accent) 72%, white);--accent-weak: color-mix(in oklab, var(--accent) 22%, transparent);--accent-line: color-mix(in oklab, var(--accent) 40%, transparent);--shadow: 0 1px 2px rgba(0,0,0,.4), 0 12px 28px -14px rgba(0,0,0,.6);--shadow-lg:0 2px 6px rgba(0,0,0,.5), 0 30px 60px -24px rgba(0,0,0,.7);--ph-stripe: rgba(255,255,255,.045);--ph-bg: #0e131d;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:calc(17px * var(--step));line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .35s ease,color .35s ease}a{color:inherit;text-decoration:none}::selection{background:var(--accent-weak)}#progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--accent);z-index:100;transition:width .08s linear;opacity:0}body[data-view=article] #progress{opacity:1}.site-head{position:sticky;top:0;z-index:60;background:color-mix(in oklab,var(--bg) 80%,transparent);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}.site-head.scrolled{border-bottom-color:var(--border)}.head-in{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:26px;padding:15px 28px}.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-weight:600;font-size:16px;letter-spacing:-.2px;flex:none;white-space:nowrap}.logo span{white-space:nowrap}.logo .mark{width:40px;height:40px;flex:none;display:block;object-fit:contain;filter:drop-shadow(0 2px 8px color-mix(in oklab,var(--accent) 45%,transparent))}.logo .blink{color:var(--accent-ink)}.nav{display:flex;align-items:center;gap:4px;margin-left:6px;flex-wrap:nowrap}.nav a{white-space:nowrap}.nav a{font-size:14.5px;color:var(--text-2);font-weight:500;padding:7px 12px;border-radius:var(--r-sm);position:relative;transition:color .15s,background .15s}.nav a:hover{color:var(--text);background:var(--bg-sub)}.nav a.active{color:var(--accent-ink)}.head-tools{margin-left:auto;display:flex;align-items:center;gap:8px}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text-2);cursor:pointer;transition:all .15s}.icon-btn:hover{color:var(--text);border-color:var(--border-2);background:var(--bg-sub)}.icon-btn svg{width:18px;height:18px}.burger,.nav-mobile{display:none}.nav-mobile a{padding:13px 14px;border-radius:var(--r-sm);font-size:16px;color:var(--text-2);font-weight:500;transition:color .15s,background .15s}.nav-mobile a:hover{color:var(--text);background:var(--bg-sub)}.nav-mobile a.active{color:var(--accent-ink)}.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}main{min-height:70vh}.eyebrow{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--accent-ink);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.eyebrow:before{content:"";width:16px;height:1.5px;background:currentColor;display:inline-block}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.12;color:var(--text)}.masthead{padding:54px 0 30px}.masthead h1{font-size:clamp(34px,5vw,52px);margin:0 0 14px;font-weight:700}.masthead .lede{font-size:19px;color:var(--text-2);max-width:600px;margin:0;line-height:1.5}.topic-bar{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.tag{font-family:var(--font-mono);font-size:12.5px;color:var(--text-2);background:var(--bg-sub);border:1px solid var(--border);padding:4px 10px;border-radius:30px;display:inline-flex;align-items:center;gap:5px;transition:all .14s;cursor:pointer;white-space:nowrap}.tag:hover{border-color:var(--accent-line);color:var(--text)}.tag .h{color:var(--accent-ink)}.tag.solid{background:var(--accent-weak);border-color:var(--accent-line);color:var(--link)}.meta{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted);flex-wrap:wrap}.meta .sep{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.5}.meta .mi{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.meta svg{width:14px;height:14px;opacity:.8}.ph{background-color:var(--ph-bg);background-image:repeating-linear-gradient(135deg,var(--ph-stripe) 0 1px,transparent 1px 11px);border:1px solid var(--border);border-radius:var(--r);display:grid;place-items:center;position:relative;overflow:hidden}.ph .ph-lbl{font-family:var(--font-mono);font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);padding:5px 11px;border-radius:30px;display:inline-flex;gap:7px;align-items:center}.ph .ph-lbl:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent)}.btn{font-family:var(--font-sans);font-weight:500;font-size:14.5px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;padding:10px 18px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--bg);color:var(--text);transition:all .15s}.btn:hover{background:var(--bg-sub);border-color:var(--muted)}.btn.primary{background:color-mix(in oklab,var(--accent) 90%,black);color:#fff;border-color:color-mix(in oklab,var(--accent) 90%,black);box-shadow:0 4px 14px -6px color-mix(in oklab,var(--accent) 70%,transparent)}.btn.primary:hover{filter:brightness(1.08)}.btn svg{width:16px;height:16px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:52px;padding-bottom:80px}.featured{display:flex;flex-direction:column;gap:16px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-sub);padding:12px;margin-bottom:46px;overflow:hidden}.featured .cover{border-radius:var(--r);width:100%;aspect-ratio:2 / 1}.featured .fbody{padding:4px 12px 14px;display:flex;flex-direction:column;gap:14px}.featured h2{font-size:29px;margin:0}.featured .excerpt{color:var(--text-2);margin:0;font-size:15.5px}.section-label{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 22px}.section-label h3{font-size:15px;font-family:var(--font-mono);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0}.section-label a{font-family:var(--font-mono);font-size:12.5px;color:var(--accent-ink)}.post-list{display:flex;flex-direction:column}.post{display:grid;grid-template-columns:168px minmax(0,1fr);gap:22px;padding:26px 0;border-top:1px solid var(--border);cursor:pointer;align-items:start}.post:first-child{border-top:none;padding-top:4px}.post .thumb{border-radius:var(--r-sm);height:112px}.post .pbody{display:flex;flex-direction:column;gap:10px}.post h3{font-size:21px;margin:0;transition:color .15s}.post:hover h3{color:var(--accent-ink)}.post .excerpt{color:var(--text-2);margin:0;font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post .ptags{display:flex;gap:7px;flex-wrap:wrap}[data-density=compact] .post{padding:17px 0}[data-density=comfy] .post{padding:34px 0}.rail{display:flex;flex-direction:column;gap:22px;position:sticky;top:86px;align-self:start}.card{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-sub);padding:20px}.card>.ct{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 16px;font-weight:600}.cat-row{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-top:1px solid var(--border);font-size:14.5px;color:var(--text-2);cursor:pointer;transition:color .14s}.cat-row:first-of-type{border-top:none}.cat-row:hover{color:var(--accent-ink)}.cat-row .n{font-family:var(--font-mono);font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:1px 9px}.cat-row .dot{display:inline-flex;align-items:center;gap:9px}.cat-row .dot:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--accent);opacity:.65}.pop{display:flex;gap:13px;padding:12px 0;border-top:1px solid var(--border);cursor:pointer}.pop:first-of-type{border-top:none;padding-top:0}.pop .num{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--muted);line-height:1;flex:none;width:22px}.pop:hover .num{color:var(--accent-ink)}.pop .pt{font-size:14px;font-weight:500;line-height:1.35;color:var(--text)}.pop:hover .pt{color:var(--accent-ink)}.pop .pm{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:4px}.news{background:var(--accent);border:none;color:#fff}.news .ct{color:#ffffffb3}.news h4{font-family:var(--font-display);font-size:17px;margin:0 0 6px;color:#fff}.news p{font-size:13.5px;margin:0 0 14px;color:#ffffffd1;line-height:1.45}.news .field{display:flex;gap:8px}.news input{flex:1;min-width:0;font-family:var(--font-mono);font-size:13px;padding:9px 11px;border-radius:var(--r-sm);border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff}.news input::placeholder{color:#fff9}.news button{background:#fff;color:var(--accent);border:none;border-radius:var(--r-sm);padding:0 14px;font-family:var(--font-sans);font-weight:600;font-size:13.5px;cursor:pointer}.article-head{padding:40px 0 0}.crumb{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);margin-bottom:22px;display:flex;gap:8px;align-items:center}.crumb a:hover{color:var(--accent-ink)}.crumb .c-sep{opacity:.5}.article-head h1{font-size:clamp(30px,4.4vw,46px);margin:14px 0 16px;font-weight:700;max-width:14ch}.article-head .dek{font-size:19px;color:var(--text-2);max-width:var(--read);margin:0 0 22px;line-height:1.5}.byline{display:flex;align-items:center;gap:12px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.byline .av{width:40px;height:40px;border-radius:50%;background:var(--accent-weak);border:1px solid var(--accent-line);display:grid;place-items:center;font-family:var(--font-mono);font-weight:600;color:var(--accent-ink);font-size:13px;flex:none}.byline .who{font-size:14px;font-weight:600}.byline .who span{display:block;font-family:var(--font-mono);font-weight:400;font-size:12px;color:var(--muted)}.article-cover{width:100%;aspect-ratio:2 / 1;margin:30px 0;border-radius:var(--r-lg)}.article-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding-bottom:70px;align-items:start}.toc{position:sticky;top:90px;align-self:start}.toc .tt{font-family:var(--font-mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin:0 0 14px;font-weight:600}.toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;border-left:1px solid var(--border)}.toc li a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:13.5px;color:var(--muted);transition:all .15s}.toc li a:hover{color:var(--text)}.toc li a.active{color:var(--accent-ink);border-left-color:var(--accent-ink);font-weight:500}.toc .share{margin-top:22px;padding-top:18px;border-top:1px solid var(--border);display:flex;gap:8px}.prose{max-width:var(--read);font-size:17px;color:var(--text)}.prose>*{margin-left:auto;margin-right:auto}.prose p{margin:0 0 22px;color:var(--text-2)}.prose h2{font-size:27px;margin:46px 0 16px;scroll-margin-top:92px}.prose h3{font-size:20px;margin:32px 0 12px;scroll-margin-top:92px}.prose strong{color:var(--text);font-weight:600}.prose a.inline{color:var(--link);border-bottom:1px solid var(--accent-line)}.prose a.inline:hover{border-bottom-color:var(--accent-ink)}.prose ul{margin:0 0 22px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}.prose ul li{color:var(--text-2);padding-left:26px;position:relative}.prose ul li:before{content:"";position:absolute;left:6px;top:11px;width:6px;height:6px;border-radius:2px;background:var(--accent)}.prose .figure{margin:30px auto}.prose .figure .ph{height:300px}.prose .figure figcaption{font-family:var(--font-mono);font-size:12px;color:var(--muted);text-align:center;margin-top:10px}.code{background:#0c1018;border:1px solid #1c2433;border-radius:var(--r);margin:0 0 26px;overflow:hidden;box-shadow:var(--shadow)}.code .bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #1c2433;background:#0a0e15}.code .bar .d{width:11px;height:11px;border-radius:50%}.code .bar .fn{margin-left:8px;font-family:var(--font-mono);font-size:12px;color:#6b7689;white-space:nowrap}.code .bar .lang{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:#566078;text-transform:uppercase;letter-spacing:.5px}.code pre{margin:0;padding:16px 18px;overflow-x:auto}.code code{font-family:var(--font-mono);font-size:13.5px;line-height:1.7;color:#c9d3e3;white-space:pre}.code .cm{color:#5c6678;font-style:italic}.code .kw{color:#7aa2ff}.code .st{color:#7ee2a8}.code .nm{color:#e3a978}.code .fn2{color:#c89bff}.callout{display:flex;gap:14px;padding:16px 18px;margin:0 0 26px;border:1px solid var(--accent-line);background:var(--accent-weak);border-radius:var(--r);border-left:3px solid var(--accent)}.callout .ci{color:var(--accent-ink);flex:none;margin-top:1px}.callout .ci svg{width:19px;height:19px}.callout .cc{font-size:14.5px;color:var(--text-2)}.callout .cc b{color:var(--text)}.article-end{max-width:var(--read);margin:0 auto}.end-tags{display:flex;gap:8px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--border)}.author-card{display:flex;gap:16px;padding:22px;border:1px solid var(--border);border-radius:var(--r);background:var(--bg-sub)}.author-card .av{width:52px;height:52px;border-radius:50%;background:var(--accent-weak);border:1px solid var(--accent-line);display:grid;place-items:center;font-family:var(--font-mono);font-weight:600;color:var(--accent-ink);flex:none}.author-card h4{font-family:var(--font-display);margin:0 0 4px;font-size:16px}.author-card p{margin:0;font-size:14px;color:var(--text-2);line-height:1.5}.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28px 0}.pn{border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;cursor:pointer;transition:all .15s}.pn:hover{border-color:var(--accent-line);background:var(--bg-sub)}.pn .l{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-bottom:7px}.pn .t{font-weight:600;font-size:15px}.pn:hover .t{color:var(--accent-ink)}.pn.next{text-align:right}.page-hero{padding:48px 0 30px;border-bottom:1px solid var(--border);margin-bottom:36px}.page-hero h1{font-size:clamp(30px,4.4vw,46px);margin:14px 0 12px;font-weight:700}.page-hero .ph-desc{font-size:18px;color:var(--text-2);max-width:620px;margin:0;line-height:1.5}.page-hero .h-meta{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin-top:18px}.filterbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:28px}.filterbar .sort{margin-left:auto;display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.filterbar select{font-family:var(--font-mono);font-size:12.5px;color:var(--text);background:var(--bg-sub);border:1px solid var(--border);border-radius:var(--r-sm);padding:7px 10px;cursor:pointer}.cat-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:16px;padding-bottom:70px}.cat-card{border:1px solid var(--border);border-radius:var(--r);background:var(--bg-sub);padding:22px;cursor:pointer;transition:all .16s}.cat-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--shadow)}.cat-card .ic{width:40px;height:40px;border-radius:10px;background:var(--accent-weak);border:1px solid var(--accent-line);display:grid;place-items:center;color:var(--accent-ink);font-family:var(--font-mono);font-weight:600;margin-bottom:16px}.cat-card h3{font-size:19px;margin:0 0 6px}.cat-card h3 .h{color:var(--accent-ink)}.cat-card p{margin:0 0 14px;font-size:14px;color:var(--text-2);line-height:1.45}.cat-card .n{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:70px}.tag-cloud .tag{font-size:14px;padding:7px 13px}.tag .tc{margin-left:7px;color:var(--muted);font-size:11px}.about{display:grid;grid-template-columns:280px minmax(0,1fr);gap:56px;padding:8px 0 70px;align-items:start}.about .side{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}.about .portrait{aspect-ratio:1;border-radius:var(--r-lg)}.about .links{display:flex;flex-direction:column;gap:8px}.about .links a{display:flex;align-items:center;gap:11px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--r-sm);font-size:14px;color:var(--text-2);font-family:var(--font-mono);transition:all .15s}.about .links a:hover{color:var(--accent-ink);border-color:var(--accent-line);background:var(--bg-sub)}.about .links a svg{width:17px;height:17px}.about .links a .ext{margin-left:auto;color:var(--muted)}.about-body .prose{max-width:640px;margin:0}.about-body .prose h2:first-child{margin-top:0}.specs{border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin:26px 0}.specs .srow{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:13px 18px;border-top:1px solid var(--border);font-size:14.5px}.specs .srow:first-child{border-top:none}.specs .srow .k{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;align-self:center}.specs .srow .v{color:var(--text-2)}.specs .srow .v b{color:var(--text);font-weight:600}.search-wrap{max-width:760px;margin:0 auto}.search-field{display:flex;align-items:center;gap:12px;border:1px solid var(--border-2);border-radius:var(--r);padding:15px 18px;background:var(--bg-sub);margin-bottom:14px;transition:border-color .15s}.search-field:focus-within{border-color:var(--accent-ink)}.search-field svg{width:20px;height:20px;color:var(--muted);flex:none}.search-field input{flex:1;border:none;background:none;outline:none;font-family:var(--font-sans);font-size:17px;color:var(--text)}.search-field input::placeholder{color:var(--muted)}.search-field kbd{font-family:var(--font-mono);font-size:11px;color:var(--muted);border:1px solid var(--border-2);border-radius:6px;padding:2px 7px;background:var(--bg)}.search-field .clear{flex:none;border:none;background:none;cursor:pointer;color:var(--muted);font-size:15px;line-height:1;padding:4px;border-radius:6px;transition:color .15s,background .15s}.search-field .clear:hover{color:var(--text);background:var(--bg)}.search-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:36px}.search-filters .lbl{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-right:4px;white-space:nowrap}.search-count{font-family:var(--font-mono);font-size:13px;color:var(--muted);margin:0 0 18px}.archive{max-width:760px;margin:0 auto;padding-bottom:70px}.arc-year{display:flex;align-items:baseline;gap:16px;margin:38px 0 8px}.arc-year h2{font-size:24px;margin:0;color:var(--accent-ink);font-family:var(--font-display)}.arc-year .line{flex:1;height:1px;background:var(--border)}.arc-year .n{font-family:var(--font-mono);font-size:12px;color:var(--muted);white-space:nowrap}.arc-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:18px;align-items:baseline;padding:13px 0;border-top:1px solid var(--border);cursor:pointer}.arc-row:hover .at{color:var(--accent-ink)}.arc-row .ad{font-family:var(--font-mono);font-size:12.5px;color:var(--muted)}.arc-row .at{font-size:16px;font-weight:500;transition:color .14s}.arc-row .acat{font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}@media (max-width: 1000px){.about{grid-template-columns:1fr;gap:28px}.about .side{position:static;flex-direction:row;flex-wrap:wrap}.about .portrait{width:160px}.about .links{flex:1;min-width:220px}}@media (max-width: 680px){.arc-row{grid-template-columns:1fr;gap:4px}}.site-foot{border-top:1px solid var(--border);background:var(--bg-sub);margin-top:30px}.foot-in{max-width:var(--max);margin:0 auto;padding:32px 28px;display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}.foot-in .fb{max-width:360px}.foot-in .fb p{color:var(--muted);font-size:13.5px;margin:10px 0 0;line-height:1.5}.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.foot-nav{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:flex-end}.foot-nav a{font-size:14px;color:var(--text-2)}.foot-nav a:hover{color:var(--accent-ink)}.foot-social{display:flex;align-items:center;gap:9px}.foot-social a{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--bg);color:var(--text-2)}.foot-social a:hover{color:var(--accent-ink);border-color:var(--accent-line);background:var(--bg-sub)}.foot-social svg{width:17px;height:17px}.foot-bottom{border-top:1px solid var(--border)}.foot-bottom .fb2{max-width:var(--max);margin:0 auto;padding:16px 28px;display:flex;justify-content:space-between;gap:16px;font-family:var(--font-mono);font-size:12px;color:var(--muted);flex-wrap:wrap}.foot-bottom .fb2 a{color:var(--muted);border-bottom:1px solid var(--border)}.foot-bottom .fb2 a:hover{color:var(--accent-ink);border-bottom-color:var(--accent-line)}.foot-bottom .foot-legal{display:flex;gap:18px;flex-wrap:wrap}.foot-bottom .foot-legal a{border-bottom:none}@media (max-width: 1000px){.home-grid{grid-template-columns:minmax(0,1fr);gap:40px}.rail{position:static;flex-direction:row;flex-wrap:wrap}.rail .card{flex:1;min-width:240px}.article-body{grid-template-columns:minmax(0,1fr);gap:24px}.toc{position:static;display:none}}@media (max-width: 680px){.head-in{gap:12px;padding:12px 18px}.nav{display:none}.burger{display:grid}.nav-mobile.open{display:flex;flex-direction:column;gap:2px;padding:6px 14px 14px;border-top:1px solid var(--border);background:color-mix(in oklab,var(--bg) 92%,transparent)}.wrap{padding:0 18px}.post{grid-template-columns:1fr}.post .thumb{display:none}.prevnext{grid-template-columns:1fr}}@media (prefers-reduced-motion: no-preference){.reveal{animation:rise .5s cubic-bezier(.2,.7,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}.prose a{color:var(--link);border-bottom:1px solid var(--accent-line)}.prose a:hover{border-bottom-color:var(--accent-ink)}.prose :not(pre)>code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-sub2);border:1px solid var(--border);padding:.1em .4em;border-radius:6px;color:var(--text)}.prose pre{background:#0c1018;border:1px solid #1c2433;border-radius:var(--r);margin:0 0 26px;padding:16px 18px;overflow-x:auto;box-shadow:var(--shadow)}.prose pre code{font-family:var(--font-mono);font-size:13.5px;line-height:1.7;color:#c9d3e3;background:none;border:none;padding:0;white-space:pre}.prose pre code.hljs{color:#c9d3e3}.prose .hljs-comment,.prose .hljs-quote{color:#5c6678;font-style:italic}.prose .hljs-keyword,.prose .hljs-selector-tag,.prose .hljs-literal,.prose .hljs-section,.prose .hljs-doctag,.prose .hljs-type{color:#7aa2ff}.prose .hljs-string,.prose .hljs-attr,.prose .hljs-regexp,.prose .hljs-addition,.prose .hljs-meta .hljs-string{color:#7ee2a8}.prose .hljs-number,.prose .hljs-symbol,.prose .hljs-bullet,.prose .hljs-variable,.prose .hljs-template-variable,.prose .hljs-params{color:#e3a978}.prose .hljs-title,.prose .hljs-name,.prose .hljs-built_in,.prose .hljs-title.class_,.prose .hljs-title.function_{color:#c89bff}.prose .hljs-attribute,.prose .hljs-property,.prose .hljs-selector-attr{color:#6bd4d0}.prose .hljs-meta,.prose .hljs-tag{color:#6b7689}.prose .hljs-deletion{color:#ff8b8b}.prose .hljs-emphasis{font-style:italic}.prose .hljs-strong{font-weight:600}.prose blockquote{margin:0 0 26px;padding:16px 18px;border:1px solid var(--accent-line);background:var(--accent-weak);border-radius:var(--r);border-left:3px solid var(--accent)}.prose blockquote p{margin:0;font-size:14.5px;color:var(--text-2)}.prose blockquote p strong{color:var(--text)}.prose table{width:100%;border-collapse:collapse;margin:0 0 26px;font-size:14.5px}.prose th,.prose td{text-align:left;padding:9px 12px;border:1px solid var(--border)}.prose th{background:var(--bg-sub);font-family:var(--font-mono);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.prose img{display:block;max-width:100%;height:auto;margin-inline:auto;border-radius:var(--r)}.prose hr{border:none;border-top:1px solid var(--border);margin:36px 0}.cover-img{width:100%;object-fit:cover;display:block;border:1px solid var(--border)}.featured .cover.cover-img{height:100%}
