@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{color-scheme:light;--bg: #f7f9fb;--bg-elevated: #ffffff;--surface: #ffffff;--surface-subtle: #eef4f6;--surface-strong: #e4edf1;--text: #10212b;--muted: #5e7280;--muted-strong: #425866;--primary: #116a63;--primary-strong: #0b4f4b;--primary-soft: #dff5f1;--link: #2b6cb0;--warning: #c2410c;--danger: #b91c1c;--border: #d8e1e8;--border-strong: #b9c8d2;--code-bg: #eef4f6;--shadow-sm: 0 1px 2px rgb(16 33 43 / .06), 0 1px 8px rgb(16 33 43 / .04);--shadow-md: 0 4px 24px rgb(16 33 43 / .1);--shadow-lg: 0 12px 48px rgb(16 33 43 / .16);--shadow-xl: 0 24px 80px rgb(16 33 43 / .22);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--container: 1180px;--font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}:root[data-resolved-theme=dark]{color-scheme:dark;--bg: #0a1014;--bg-elevated: #0e161b;--surface: #101a20;--surface-subtle: #16232b;--surface-strong: #1a2b35;--text: #e8eef2;--muted: #8a9ba8;--muted-strong: #b0c0c9;--primary: #2dd4bf;--primary-strong: #5ee8d4;--primary-soft: #0f3531;--link: #7db7f0;--warning: #f59e0b;--danger: #f87171;--border: #1e303a;--border-strong: #2d4352;--code-bg: #16232b;--shadow-sm: 0 1px 2px rgb(0 0 0 / .3);--shadow-md: 0 4px 24px rgb(0 0 0 / .35);--shadow-lg: 0 12px 48px rgb(0 0 0 / .42);--shadow-xl: 0 24px 80px rgb(0 0 0 / .5)}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 80% 60% at 50% -20%,color-mix(in srgb,var(--surface-subtle) 70%,transparent),transparent),linear-gradient(180deg,color-mix(in srgb,var(--surface-subtle) 40%,transparent),transparent 400px),var(--bg);color:var(--text);font-size:16px;line-height:1.6;overflow-x:clip}body.has-search-open{overflow:hidden}a{color:inherit;text-decoration:none;overflow-wrap:anywhere;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--primary)}button,input,select,textarea{font:inherit;max-width:100%}button{border:0}img,svg{max-width:100%;height:auto;display:block}::selection{background:color-mix(in srgb,var(--primary) 24%,transparent)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:fade-in var(--duration-slow) var(--ease-out) both}.animate-fade-up{animation:fade-up var(--duration-slow) var(--ease-out) both}.animate-fade-down{animation:fade-down var(--duration-normal) var(--ease-out) both}.animate-scale-in{animation:scale-in var(--duration-slow) var(--ease-in-out) both}.stagger-children>*{opacity:0;animation:fade-up var(--duration-slow) var(--ease-out) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:60ms}.stagger-children>*:nth-child(3){animation-delay:.12s}.stagger-children>*:nth-child(4){animation-delay:.18s}.stagger-children>*:nth-child(5){animation-delay:.24s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.36s}.stagger-children>*:nth-child(8){animation-delay:.42s}.stagger-children>*:nth-child(9){animation-delay:.48s}.stagger-children>*:nth-child(10){animation-delay:.54s}.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}.skip-link{position:fixed;z-index:1000;top:14px;left:14px;transform:translateY(-140%);border-radius:var(--radius-sm);background:var(--text);color:var(--bg);padding:10px 14px;font-weight:700;transition:transform var(--duration-fast) var(--ease-out)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:3px;border-radius:3px}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1 0 auto;width:100%;min-width:0}.shell{width:min(100% - 32px,var(--container));margin-inline:auto;min-width:0}.section{padding-block:clamp(48px,8vw,88px)}.page-hero{padding-block:clamp(54px,8vw,108px) clamp(30px,5vw,56px);animation:fade-up var(--duration-slow) var(--ease-out) both}.page-hero h1,.hero h1{max-width:900px;margin:0;font-size:clamp(40px,7vw,72px);font-weight:800;line-height:.98;letter-spacing:-.025em}.page-hero p:not(.eyebrow),.lede{max-width:720px;margin-top:14px;color:var(--muted-strong);font-size:clamp(17px,2vw,21px);line-height:1.5}.hero{padding-block:clamp(54px,10vw,130px) clamp(42px,7vw,84px)}.hero-grid,.two-column{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(28px,6vw,72px);align-items:center}.hero-copy{min-width:0}.hero-copy .lede{margin-bottom:4px}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.section-head{max-width:780px;margin-bottom:28px}.section-head.split{max-width:none;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.section-head h2,.two-column h2,.article-flow h2{margin:0;font-size:clamp(28px,5vw,46px);font-weight:800;line-height:1.06;letter-spacing:-.015em}.section-head p:not(.eyebrow),.two-column p,.article-flow p{color:var(--muted-strong)}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-sm);padding:0 20px;font-size:15px;font-weight:700;line-height:1;letter-spacing:-.01em;cursor:pointer;user-select:none;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out)}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.button:active{transform:translateY(0) scale(.98)}.button-primary,.button.primary{background:var(--primary);color:#fff;border:1px solid transparent}.button-primary:hover,.button.primary:hover{background:var(--primary-strong);color:#fff;box-shadow:0 4px 20px color-mix(in srgb,var(--primary) 35%,transparent)}:root[data-resolved-theme=dark] .button-primary,:root[data-resolved-theme=dark] .button.primary{color:#071210}.button-secondary,.button.secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.button-secondary:hover,.button.secondary:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.button-compact{min-height:38px;padding-inline:14px;font-size:14px}.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.trust-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.trust-strip span,.meta-row span,.tag-row span{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted-strong);font-size:12px;font-weight:700;padding:5px 11px;letter-spacing:.01em}.task-card,.tool-card,.content-card,.app-card,.compact-list a,.step-row article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 1px 3px #10212b0a;transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.task-card,.tool-card,.content-card,.app-card{display:flex;flex-direction:column;min-height:100%;min-width:0;padding:24px;gap:10px}.task-card:hover,.tool-card:hover,.content-card:hover,.app-card:hover,.compact-list a:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));box-shadow:0 8px 30px #10212b1a;color:var(--text);transform:translateY(-3px)}.task-card>span:first-child,.content-card>span:first-child,.tool-card>span:first-child{color:var(--primary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;order:-1}.task-card strong,.tool-card strong,.content-card h2,.content-card h3{display:block;margin:0;color:var(--text);font-size:18px;font-weight:700;line-height:1.22;letter-spacing:-.01em}.task-card p,.tool-card p,.content-card p,.app-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.task-card p:last-child,.tool-card p:last-child,.content-card p:last-child{margin-top:auto}.content-card h2,.content-card h3,.app-card h2,.app-card h3{margin:0;font-size:17px;font-weight:700;line-height:1.25}.task-grid,.tool-grid,.directory-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid{display:grid;gap:16px}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.app-card{gap:14px}.app-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--mark, var(--surface-subtle));color:#fff;font-weight:900;font-size:18px;flex-shrink:0;box-shadow:0 2px 8px #10212b0f}.app-card .tag-row{margin-top:0}.app-card .action-row{margin-top:auto;gap:8px}.app-card .action-row .button{flex:1;min-height:36px;font-size:13px;padding-inline:12px}.compact-list{display:grid;gap:8px}.compact-list a{display:grid;gap:3px;padding:16px 18px}.compact-list strong{color:var(--text);font-size:15px;font-weight:700}.compact-list span{color:var(--muted);font-size:13px;line-height:1.45}.step-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.step-row article{display:flex;flex-direction:column;padding:24px}.step-row article>span{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:900;font-size:15px;flex-shrink:0}.step-row h3{margin:16px 0 8px;font-size:17px;font-weight:700;line-height:1.2}.step-row p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}.pill-list,.meta-row,.tag-row{display:flex;flex-wrap:wrap;gap:8px}.pill-list a{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted-strong);font-size:13px;font-weight:700;padding:6px 13px;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.pill-list a:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.demo-panel,.side-panel,.decision-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 4px 24px #10212b14;padding:clamp(22px,4vw,28px);overflow:hidden}.demo-panel{position:relative}.demo-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 40%,transparent));border-radius:var(--radius-lg) var(--radius-lg) 0 0}.demo-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px;font-weight:700}.demo-head span{border:1px solid var(--border);border-radius:999px;background:var(--primary-soft);color:var(--primary);padding:4px 10px;font-size:11px}.demo-head a{color:var(--link);font-weight:600}.demo-code{display:grid;gap:8px;margin:20px 0}.demo-code div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--code-bg);padding:10px 16px}.demo-code span,.demo-code em{color:var(--muted);font-style:normal;font-weight:700;font-size:13px}.demo-code strong{font-family:var(--font-mono);font-size:clamp(22px,3vw,30px);font-weight:600;line-height:1;letter-spacing:-.02em}.demo-panel p{margin:0;color:var(--muted);font-size:13px}.article-flow{max-width:780px;min-width:0}.article-flow h2,.article-flow h3{margin:28px 0 10px;font-weight:700;line-height:1.2;letter-spacing:-.01em}.article-flow h2:first-child,.article-flow h3:first-child{margin-top:0}.article-flow ul,.article-flow ol{padding-left:1.25rem}.article-flow li+li{margin-top:6px}.detail-layout{align-items:start}.detail-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:18px 20px}.detail-section+.detail-section{margin-top:16px}.detail-section h2{margin:0 0 8px;color:var(--text);font-size:20px;line-height:1.2}.detail-section p{margin:0}.detail-block{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle);padding:18px 20px;margin-top:18px}.detail-block h2{margin:0 0 10px;font-size:20px;line-height:1.2}.detail-block-warning{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface-subtle))}.detail-list{margin:0}.detail-key-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}.detail-key-point{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 90%,var(--primary-soft));padding:14px 16px;color:var(--muted-strong);font-size:14px;line-height:1.5}.source-link-list{display:grid;gap:10px}.source-link-list a{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:12px;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring),background var(--duration-fast) var(--ease-out)}.source-link-list a:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--text);transform:translateY(-1px)}.source-link-list strong{color:var(--text);font-size:14px;line-height:1.3;overflow-wrap:anywhere}.source-link-list span{color:var(--muted);font-size:13px}.setup-guide{align-items:start}.setup-path{display:flex;flex-wrap:wrap;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:14px}.setup-path span{display:inline-flex;min-width:0;align-items:center;gap:8px}.setup-path b{color:var(--muted);font-weight:800}.setup-path code,.control-cloud code{max-width:100%;overflow-wrap:anywhere;white-space:normal;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);color:var(--text);font-family:var(--font-mono);font-size:12px;line-height:1.35;padding:5px 8px}.guide-steps{display:grid;gap:12px;list-style:none;padding-left:0!important}.guide-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:16px}.guide-step>span{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-family:var(--font-mono);font-size:12px;font-weight:800}.guide-step h3,.guide-notes h3{margin:0 0 6px;color:var(--text);font-size:16px;font-weight:800;line-height:1.25}.guide-step p,.guide-notes p{margin:0}.guide-notes{display:grid;gap:10px}.guide-notes section{border-left:3px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface-subtle);padding:13px 14px}.guide-notes.compact section{border-left-color:var(--warning)}.official-link-list{display:grid;gap:8px}.official-link-list a{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:12px;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring),background var(--duration-fast) var(--ease-out)}.official-link-list a:hover{border-color:var(--primary);background:var(--primary-soft);color:var(--text);transform:translateY(-1px)}.official-link-list strong{color:var(--text);font-size:14px;line-height:1.3;overflow-wrap:anywhere}.official-link-list span{color:var(--muted);font-size:13px}.control-cloud{display:flex;flex-wrap:wrap;gap:8px}.setup-guide .side-panel h2:not(:first-child){margin-top:8px}.side-panel{align-self:start;display:grid;gap:10px}.side-panel h2{font-size:18px;font-weight:700;margin:0}.side-panel p{margin:0;color:var(--muted);font-size:14px}.decision-box{display:grid;gap:12px}.decision-box h2{margin:0;font-size:20px;font-weight:700}.decision-box label{display:flex;align-items:center;gap:10px;color:var(--muted-strong);font-weight:600;font-size:14px;cursor:pointer}.decision-box input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.fine-print{color:var(--muted);font-size:13px;line-height:1.5}.filter-bar input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);padding:12px 14px;font-size:15px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.filter-bar input:hover{border-color:var(--border-strong)}.filter-bar input:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent);background:var(--surface);outline:none}.narrow{max-width:760px}.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.filter-bar input{max-width:420px}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--muted-strong);padding:24px;font-size:14px;text-align:center}.band{border-block:1px solid var(--border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-subtle) 60%,transparent),transparent 70%),color-mix(in srgb,var(--surface) 70%,transparent)}.comparison-table{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.comparison-table [role=row]{min-width:760px;display:grid;grid-template-columns:.8fr 1fr 1fr;border-bottom:1px solid var(--border)}.comparison-table [role=row]:last-child{border-bottom:0}.comparison-table span{padding:14px 16px}.comparison-table .table-head{background:var(--surface-subtle);color:var(--muted-strong);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.03em}.result-list{display:grid;gap:0;margin:0}.result-list div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.result-list div:last-child{border-bottom:0}.result-list dt{color:var(--muted);font-weight:700;font-size:13px}.result-list dd{min-width:0;margin:0;color:var(--text);overflow-wrap:anywhere}.template-block{max-width:100%;overflow:auto;white-space:pre-wrap;word-break:break-word;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--code-bg);color:var(--text);font-family:var(--font-mono);font-size:13px;padding:16px 18px;line-height:1.6}.tool-card small{color:var(--muted);font-size:12px;font-weight:600;margin-top:auto}.site-header{position:sticky;z-index:100;top:0;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);animation:fade-down var(--duration-normal) var(--ease-out) both}.header-inner{width:min(100% - 32px,var(--container));min-height:72px;margin:0 auto;display:flex;align-items:center;gap:20px}.brand{display:inline-flex;min-width:max-content;align-items:center;gap:11px;color:var(--text);flex-shrink:0}.brand:hover{color:var(--text)}.brand-mark{position:relative;width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 20%,transparent),transparent 60%),var(--surface);box-shadow:0 1px 3px #10212b0d;transition:transform var(--duration-fast) var(--ease-spring)}.brand:hover .brand-mark{transform:rotate(-5deg) scale(1.08)}.brand-mark__ring{width:17px;height:17px;border:2px solid var(--primary);border-radius:50%}.brand-mark__dot{position:absolute;right:8px;bottom:8px;width:7px;height:7px;border-radius:50%;background:var(--warning);box-shadow:0 0 0 3px var(--surface);animation:scale-in var(--duration-slow) var(--ease-out) both;animation-delay:.4s}.brand-copy{display:flex;flex-direction:column;gap:1px}.brand-name{font-size:17px;font-weight:800;line-height:1.1;letter-spacing:-.02em}.brand-tagline{color:var(--muted);font-size:11px;font-weight:700;line-height:1.1}.desktop-nav{display:flex;align-items:center;gap:2px;flex-shrink:0}.desktop-nav a{border-radius:var(--radius-sm);color:var(--muted-strong);font-size:14px;font-weight:700;padding:8px 12px;letter-spacing:-.01em;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.desktop-nav a:hover,.desktop-nav a:focus-visible{background:var(--surface-subtle);color:var(--text)}.desktop-nav a[aria-current=page]{color:var(--primary);background:var(--primary-soft)}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;color:var(--muted-strong);cursor:pointer;flex-shrink:0;position:relative;transition:color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.theme-toggle:hover{color:var(--text);background:var(--surface-subtle);transform:scale(1.1)}.theme-toggle:active{transform:scale(.9)}.theme-toggle__icon{display:block;position:absolute;transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-normal) var(--ease-spring)}.theme-toggle__sun{opacity:1;transform:rotate(0)}.theme-toggle__moon{opacity:0;transform:rotate(-90deg)}:root[data-resolved-theme=dark] .theme-toggle__sun{opacity:0;transform:rotate(90deg)}:root[data-resolved-theme=dark] .theme-toggle__moon{opacity:1;transform:rotate(0)}.theme-toggle:after{content:"";position:absolute;bottom:5px;right:5px;width:5px;height:5px;border-radius:50%;background:var(--primary);opacity:0;transform:scale(0);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.theme-toggle.is-system:after{opacity:1;transform:scale(1)}.search-trigger,.icon-button,.menu-toggle{cursor:pointer}.search-trigger{min-height:38px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted-strong);padding:0 10px;font-size:14px;font-weight:700;box-shadow:0 1px 2px #10212b0a;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.search-trigger:hover{border-color:var(--border-strong);color:var(--text);box-shadow:0 2px 8px #10212b14}.search-trigger__icon{flex-shrink:0;opacity:.65}.search-trigger:hover .search-trigger__icon{opacity:1}kbd{min-width:22px;border:1px solid var(--border);border-radius:4px;background:var(--code-bg);color:var(--muted);font-family:var(--font-mono);font-size:11px;font-weight:500;line-height:1;padding:3px 6px;text-align:center}.menu-toggle{width:42px;height:42px;display:none;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);align-items:center;justify-content:center;flex-direction:column;gap:5px;box-shadow:0 1px 2px #10212b0a;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.menu-toggle:hover{border-color:var(--border-strong);box-shadow:0 2px 8px #10212b14}.menu-toggle__bar{width:18px;height:2px;border-radius:99px;background:currentColor;transition:transform var(--duration-normal) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.menu-toggle.is-open .menu-toggle__bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.is-open .menu-toggle__bar:nth-child(2){opacity:0}.menu-toggle.is-open .menu-toggle__bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);animation:fade-down var(--duration-normal) var(--ease-out) both;overflow:hidden}.mobile-nav[hidden]{display:none}.mobile-nav__panel{width:min(100% - 32px,var(--container));margin:0 auto;padding:14px 0 18px}.mobile-nav nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.mobile-nav nav a{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:700;font-size:14px;padding:13px 14px;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.mobile-nav nav a[aria-current=page]{border-color:var(--primary);background:var(--primary-soft)}.mobile-nav nav a:hover{border-color:var(--primary);background:var(--primary-soft)}.search-trigger-mobile{width:100%;justify-content:flex-start;min-height:46px}.mobile-nav__actions{display:grid;gap:8px}.site-footer{width:min(100% - 32px,var(--container));margin:80px auto 0;padding-bottom:34px}.footer-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,transparent),transparent 50%),var(--surface);padding:28px 32px;box-shadow:0 1px 3px #10212b0a}.footer-cta h2{max-width:760px;margin:0;font-size:clamp(22px,3vw,34px);font-weight:800;line-height:1.12;letter-spacing:-.015em}.footer-cta__actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.footer-grid{display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(4,minmax(120px,1fr));gap:36px;padding:40px 0 28px}.footer-brand p{max-width:330px;margin:16px 0;color:var(--muted);font-size:14px;line-height:1.6}.brand-footer .brand-mark{box-shadow:none}.footer-badges{display:flex;flex-wrap:wrap;gap:8px}.footer-badges span{border:1px solid var(--border);border-radius:999px;background:var(--surface-subtle);color:var(--muted-strong);font-size:12px;font-weight:700;padding:5px 10px}.footer-column{display:flex;flex-direction:column;gap:9px}.footer-column h3{margin:0 0 5px;color:var(--text);font-size:13px;font-weight:800;line-height:1.2;letter-spacing:.02em;text-transform:uppercase}.footer-column a{color:var(--muted);font-size:14px;font-weight:600;padding:3px 0;transition:color var(--duration-fast) var(--ease-out)}.footer-column a:hover{color:var(--primary)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--border);color:var(--muted);font-size:13px;padding-top:18px}.footer-bottom p{margin:0}.search-overlay{position:fixed;z-index:300;inset:0;display:grid;place-items:start center;padding:7vh 16px 24px;animation:fade-in var(--duration-fast) var(--ease-out) both}.search-overlay[hidden]{display:none}.search-backdrop{position:absolute;inset:0;background:#040c108c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.search-dialog{position:relative;width:min(760px,100%);max-height:min(760px,86vh);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xl);padding:24px;animation:scale-in var(--duration-normal) var(--ease-in-out) both}.search-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.search-dialog h2,.search-dialog h3{margin:0;font-weight:800;line-height:1.2;letter-spacing:-.015em}.search-dialog h2{font-size:clamp(22px,4vw,30px)}.search-dialog p{margin:8px 0 0;color:var(--muted)}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-subtle);color:var(--text);font-size:20px;line-height:1;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.icon-button:hover{background:var(--surface-strong);color:var(--text)}.search-field{min-height:58px;display:flex;align-items:center;gap:12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg);margin:22px 0 16px;padding:0 14px;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:17px;font-weight:500}.search-field input::placeholder{color:var(--muted)}.search-state,.search-empty{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-subtle);color:var(--muted-strong);padding:18px;font-size:14px}.search-state-loading{display:flex;align-items:center;gap:10px}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.search-results{display:grid;gap:8px}.search-result{display:grid;gap:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);padding:13px 14px;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.search-result:hover,.quick-links__grid a:hover{border-color:var(--primary);color:var(--text);transform:translate(3px)}.search-result span,.quick-links__grid span{color:var(--primary);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.search-result strong{font-size:16px;line-height:1.25;font-weight:700}.search-result small{color:var(--muted);font-size:13px}.empty-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.empty-actions a{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-weight:700;font-size:14px;padding:8px 13px;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.empty-actions a:hover{border-color:var(--primary);color:var(--primary)}.quick-links__header{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--muted);font-size:13px;margin-bottom:10px}.quick-links__header h3{color:var(--text);font-size:15px;font-weight:700}.quick-links__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-links__grid a{display:grid;gap:5px;min-height:88px;align-content:center;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);padding:14px;transition:border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring)}.quick-links__grid strong{line-height:1.25;font-weight:700}@media(max-width:1120px){.desktop-nav a{padding-inline:7px;font-size:13px}}@media(max-width:980px){.desktop-nav,.header-actions>.theme-toggle,.header-actions>.button,.header-actions>.search-trigger{display:none}.menu-toggle{display:inline-flex}.header-inner{justify-content:space-between}.hero-grid,.two-column{grid-template-columns:1fr;align-items:stretch}.task-grid,.tool-grid,.directory-grid,.card-grid.three,.card-grid.four,.step-row,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{grid-column:1 / -1}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar input{max-width:none}}@media(max-width:720px){.header-inner,.mobile-nav__panel,.site-footer{width:min(100% - 24px,var(--container))}.header-inner{min-height:64px}.brand-tagline{display:none}.footer-cta,.footer-bottom{align-items:stretch;flex-direction:column}.footer-cta{padding:22px}.footer-cta__actions,.footer-cta__actions .button{width:100%}.footer-grid{grid-template-columns:1fr;gap:24px}.page-hero h1,.hero h1{font-size:clamp(32px,12vw,46px);line-height:1.04}.page-hero p:not(.eyebrow),.lede{font-size:17px}.task-grid,.tool-grid,.directory-grid,.card-grid.three,.card-grid.four,.step-row{grid-template-columns:1fr}.demo-code div{grid-template-columns:1fr;gap:6px;align-items:start}.demo-code strong{font-size:26px}.comparison-table{border-radius:var(--radius-md)}.comparison-table [role=row]{min-width:640px}.result-list div{grid-template-columns:1fr;gap:2px}.guide-step{grid-template-columns:1fr}.setup-path{flex-direction:column;align-items:flex-start}.setup-path span{width:100%}.setup-path b{display:none}.detail-key-points{grid-template-columns:1fr}.search-overlay{padding-top:12px}.search-dialog{max-height:calc(100vh - 24px);padding:18px}.search-dialog__header{gap:12px}.search-field{min-height:54px}.search-field kbd{display:none}.quick-links__grid{grid-template-columns:1fr}.app-card .action-row{flex-direction:column}}@media(max-width:480px){.mobile-nav nav{grid-template-columns:1fr}.brand-mark{width:34px;height:34px}.footer-badges{align-items:flex-start;flex-direction:column}.section-head.split{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
