@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-400-normal.D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-500-normal.CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-600-normal.D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-700-normal.BmRLXWpJ.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-ext-700-normal.DCQwxkRk.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:700;src:url(/_astro/ibm-plex-sans-cyrillic-700-normal.D_uavGvn.woff2) format("woff2"),url(/_astro/ibm-plex-sans-cyrillic-700-normal.RFb1v-CK.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:700;src:url(/_astro/ibm-plex-sans-greek-700-normal.wyJ6jzdA.woff2) format("woff2"),url(/_astro/ibm-plex-sans-greek-700-normal.CkZN0sRy.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:700;src:url(/_astro/ibm-plex-sans-vietnamese-700-normal.CkEo6LDy.woff2) format("woff2"),url(/_astro/ibm-plex-sans-vietnamese-700-normal.BV5B8Are.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:700;src:url(/_astro/ibm-plex-sans-latin-ext-700-normal.aMgXseD4.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-ext-700-normal.DZH6Xh-4.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:700;src:url(/_astro/ibm-plex-sans-latin-700-normal.Bxkt5Cjx.woff2) format("woff2"),url(/_astro/ibm-plex-sans-latin-700-normal.Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2) format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/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{--surface:#FAFAFA;--surface-raised:#FFFFFF;--surface-sunk:#ECF1FA;--text:#0A1633;--text-muted:#55658A;--border:#DCE4F2;--border-strong:#BCCAE6;--accent:#1D4ED8;--accent-deep:#132C7A;--accent-soft:#E6EDFD;--band:linear-gradient(120deg,#F2F6FE 0%,#E4ECFC 55%,#D6E3FB 100%);--on-accent:#FFFFFF;--tick:#A9B9DA;--focus:#1D4ED8;--radius:10px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--font-ui:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-data:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--measure:66ch;--shadow:0 1px 2px rgba(12,26,30,.05),0 8px 24px -12px rgba(12,26,30,.18)}html[data-theme=dark]{--surface:#000000;--surface-raised:#080F26;--surface-sunk:#050A1B;--text:#EAF0FE;--text-muted:#9FB0D6;--border:#1B274F;--border-strong:#2C3C71;--accent:#7CA3FF;--accent-deep:#A8C2FF;--accent-soft:#0D1738;--band:linear-gradient(120deg,#060D22 0%,#0A1436 55%,#0E1C4E 100%);--on-accent:#04091C;--tick:#28376B;--focus:#7CA3FF;--shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px -12px rgba(0,0,0,.6)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-ui);background:var(--surface);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1080px;margin:0 auto;padding:0 var(--space-4)}.site-head{border-bottom:1px solid var(--border);background:var(--surface-raised)}.head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:64px}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:600;letter-spacing:-.01em}.brand .mark{width:28px;height:28px;flex:none;color:var(--accent)}.brand b{font-weight:600;margin-right:-.22rem}.brand span{color:var(--text-muted);font-weight:400}.head-tools{display:flex;align-items:center;gap:var(--space-2)}.btn-ghost{min-height:44px;min-width:44px;padding:0 .75rem;display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:500 .875rem/1 var(--font-ui);cursor:pointer;transition:background .18s ease,border-color .18s ease}.btn-ghost:hover{background:var(--surface-sunk);border-color:var(--border-strong)}.btn-ghost svg{width:18px;height:18px}.lang{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.lang a{min-height:44px;display:inline-flex;align-items:center;padding:0 .7rem;text-decoration:none;font:500 .8125rem/1 var(--font-mono,var(--font-data));letter-spacing:.06em;color:var(--text-muted)}.lang a[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.hero{padding:var(--space-8) 0 0}.eyebrow{font:500 .75rem/1 var(--font-data);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-3)}h1{font-size:clamp(1.5rem,1.05rem + 2vw,2.75rem);text-wrap:balance;line-height:1.12;letter-spacing:-.025em;margin:0 0 var(--space-3);font-weight:600}.lede{margin:0;max-width:52ch;color:var(--text-muted);font-size:1.0625rem}.converter{margin-top:var(--space-8);background:var(--surface-raised);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.cats{display:flex;gap:var(--space-1);padding:var(--space-3) var(--space-3) 0;overflow-x:auto;scrollbar-width:thin}.cat{flex:none;min-height:40px;padding:0 .85rem;border:1px solid transparent;background:transparent;border-radius:999px;color:var(--text-muted);font:500 .875rem/1 var(--font-ui);cursor:pointer;transition:background .18s ease,color .18s ease}.cat:hover{background:var(--surface-sunk);color:var(--text)}.cat[aria-selected=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.io{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-4);align-items:end;padding:var(--space-6) var(--space-6) var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.field label{font:500 .75rem/1 var(--font-data);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}input[type=text],select,output{font-size:1.125rem;min-height:52px;padding:.6rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);font-family:var(--font-ui);width:100%}input[type=text],output{font-family:var(--font-data);font-variant-numeric:tabular-nums;font-weight:500}output{display:flex;align-items:center;overflow-wrap:anywhere;background:var(--surface-sunk);font-size:1.375rem;letter-spacing:-.01em}input[type=text]{font-size:1.375rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.swap{min-width:44px;min-height:44px;margin-bottom:.35rem;border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .18s ease,color .18s ease,border-color .18s ease}.swap:hover{color:var(--accent);border-color:var(--accent);transform:rotate(180deg)}.swap svg{width:18px;height:18px}.result-band{position:relative;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--band);overflow:hidden}.result-band:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(to right,var(--tick) 0 1px,transparent 1px 10%),repeating-linear-gradient(to right,var(--tick) 0 1px,transparent 1px 2%);background-size:100% 42%,100% 20%;background-repeat:no-repeat;background-position:0 0,0 0;opacity:.5}.band-row{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-4);padding:var(--space-6)}.band-hint{margin:0;font-size:.875rem;color:var(--text-muted)}.readout{justify-self:center;text-align:center;display:flex;align-items:center;justify-content:center;background:var(--surface-raised);border:1px solid var(--accent);border-radius:999px;padding:.55rem 1.25rem;box-shadow:var(--shadow);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-weight:600;font-size:clamp(1.0625rem,.9rem + .9vw,1.5rem);letter-spacing:-.01em;color:var(--accent-deep);white-space:nowrap;max-width:100%;overflow-x:auto}.band-row .btn{justify-self:end}.btn{min-height:44px;padding:0 1rem;display:inline-flex;align-items:center;gap:.45rem;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:var(--radius);font:600 .9375rem/1 var(--font-ui);cursor:pointer;transition:opacity .18s ease}.btn:hover{opacity:.88}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn svg{width:17px;height:17px;flex:none}.all-units{border-top:1px solid var(--border);padding:var(--space-4) var(--space-6) var(--space-6)}.all-units h2{font:500 .75rem/1 var(--font-data);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:0 0 var(--space-3)}.all-units ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 var(--space-6)}.all-units li{display:flex;justify-content:space-between;gap:var(--space-3);padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.9375rem}.all-units .u{color:var(--text-muted)}.all-units .v{font-family:var(--font-data);font-variant-numeric:tabular-nums}.ad{display:flex;align-items:center;justify-content:center;margin:var(--space-8) 0;min-height:280px;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-muted);font:500 .75rem/1 var(--font-data);letter-spacing:.12em;text-transform:uppercase}@media (min-width:768px){.ad{min-height:250px}}section.block{padding:var(--space-8) 0}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}h2.section-title{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin:0}.block-head p{margin:0;color:var(--text-muted);font-size:.875rem}.pairs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3)}.pairs a{display:flex;flex-direction:column;gap:.35rem;min-height:88px;justify-content:center;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:border-color .18s ease,transform .18s ease}.pairs a:hover{border-color:var(--accent);transform:translateY(-2px)}.pairs .p-name{font-weight:600;font-size:1rem}.pairs .p-eq{font-family:var(--font-data);font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.cats-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2)}.cats-grid a{display:flex;align-items:center;gap:.55rem;min-height:52px;padding:0 var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;font-weight:500;font-size:.9375rem;transition:border-color .18s ease,color .18s ease}.cats-grid a:hover{border-color:var(--accent);color:var(--accent)}.cats-grid svg{width:18px;height:18px;flex:none;color:var(--text-muted)}.cats-grid a:hover svg{color:var(--accent)}.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-6);padding:var(--space-6);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius)}.trust h3{margin:0 0 .35rem;font-size:.9375rem;font-weight:600}.trust p{margin:0;font-size:.875rem;color:var(--text-muted)}.site-foot{border-top:1px solid var(--border);margin-top:var(--space-12);padding:var(--space-8) 0;background:var(--surface-raised)}.foot-row{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center;font-size:.875rem;color:var(--text-muted)}.foot-row nav{display:flex;flex-wrap:wrap;gap:var(--space-4)}.foot-row a{text-decoration:none}.foot-row a:hover{color:var(--accent);text-decoration:underline}@media (max-width:640px){.io{grid-template-columns:1fr;gap:var(--space-3);padding:var(--space-4)}.swap{justify-self:center;margin:calc(var(--space-1) * -1) 0}.field{gap:var(--space-1)}.swap svg{transform:rotate(90deg)}.band-row{grid-template-columns:1fr;justify-items:stretch;text-align:center;padding:var(--space-4);gap:var(--space-3)}.band-row .btn{justify-self:center;order:3}.readout{order:1}.band-hint{order:2}.all-units{padding:var(--space-4)}.hero{padding:var(--space-6) 0 0}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}select{padding-right:2.25rem;background-image:none}.editorial{max-width:var(--measure);margin-top:var(--space-8)}.editorial .lede{font-size:1.1875rem;color:var(--text);margin:0 0 var(--space-6);font-weight:500}.editorial h2{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin:var(--space-8) 0 var(--space-3)}.editorial p{margin:0 0 var(--space-3)}.mini-table{border-collapse:collapse;margin:var(--space-4) 0;min-width:200px}.mini-table th,.mini-table td{text-align:left;padding:.4rem 1.25rem .4rem 0;border-bottom:1px solid var(--border);font-family:var(--font-data);font-variant-numeric:tabular-nums;font-size:.9375rem}.mini-table th{color:var(--text-muted);font-weight:500}.chart-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:var(--space-6) 0 var(--space-4)}.seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden}.seg button{min-height:44px;padding:0 .9rem;border:0;background:var(--surface-raised);color:var(--text-muted);font:500 .875rem/1 var(--font-ui);cursor:pointer}.seg button+button{border-left:1px solid var(--border-strong)}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.chart-block{margin-top:var(--space-8)}.chart-block>h2{font-size:1.25rem;font-weight:600;letter-spacing:-.015em;margin:0 0 var(--space-2)}.chart-block>p.note{margin:0 0 var(--space-3);color:var(--text-muted);font-size:.9375rem;max-width:var(--measure)}.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised)}.chart{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.chart caption{text-align:left;padding:var(--space-3) var(--space-4);font-weight:600;font-size:.9375rem;border-bottom:1px solid var(--border)}.chart th,.chart td{text-align:left;padding:.55rem var(--space-4);border-bottom:1px solid var(--border);white-space:nowrap}.chart thead th{position:sticky;top:0;background:var(--surface-sunk);color:var(--text-muted);font:500 .75rem/1.2 var(--font-data);letter-spacing:.08em;text-transform:uppercase}.chart td{font-family:var(--font-data);font-size:.9375rem}.chart td.txt,.chart th[scope=row]{font-family:var(--font-ui);font-size:.9375rem;font-weight:500}.chart tbody tr:last-child td,.chart tbody tr:last-child th{border-bottom:0}.chart tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-sunk) 55%,transparent)}.chart a{color:var(--accent)}.chart .frac{font-weight:600;color:var(--text)}.chart tr.major td{font-weight:600}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.chart-grid .chart-block{margin-top:0}[data-filter="16"] .chart tr[data-step="32"],[data-filter="16"] .chart tr[data-step="64"],[data-filter="32"] .chart tr[data-step="64"]{display:none}.tool-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-3)}.tool-cards a{display:flex;flex-direction:column;gap:.3rem;min-height:88px;justify-content:center;padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;transition:border-color .18s ease,transform .18s ease}.tool-cards a:hover{border-color:var(--accent);transform:translateY(-2px)}.tool-cards b{font-weight:600}.tool-cards span{font-size:.8125rem;color:var(--text-muted)}.print-only{display:none}@media (max-width:480px){.chart th,.chart td{padding:.5rem .6rem}.chart td{font-size:.875rem}.chart thead th{font-size:.6875rem;letter-spacing:.04em}}@media print{@page{margin:12mm}html,body{background:#fff!important;color:#000!important}.site-head,.site-foot,.crumbs,.ad,.no-print,section.block,.editorial,.chart-tools{display:none!important}.print-only{display:block}.hero{padding:0}.lede{color:#000}.chart-scroll{border:0;overflow:visible}.chart thead th{position:static;background:#eee!important;color:#000}.chart tbody tr:nth-child(2n){background:#f4f4f4!important}.chart th,.chart td{padding:.25rem .6rem;font-size:10pt}.chart-block{margin-top:6mm}.chart-block>h2,.chart-block>p.note{break-after:avoid}.chart tr{break-inside:avoid}.chart-grid{display:block}a{color:#000!important;text-decoration:none!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
