@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.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:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.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:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.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: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:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-italic-CBjNughH.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-italic-B4oTjJdl.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:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-italic-CBJ8pzag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-italic-2syK4fUT.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:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-italic-DRuN92E5.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-italic-D6eaYXMU.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:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-italic-B7_fu1kp.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-italic-Bg0ZHwF4.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:italic;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-italic-BqAiT5Ww.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-italic-66oory27.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{--paper: #f4efe3;--paper-2: #ebe5d4;--paper-3: #e2dcc7;--ink: #1a1a24;--ink-2: #2d2d3d;--ink-muted: #6b6a77;--ink-faint: #a5a195;--rule: #cbc4ae;--rule-faint: #ddd7c4;--accent: #b8453c;--accent-hover: #9a3530;--accent-soft: #f0d7d2;--ok: #3d6b45;--warn: #9c6b2a;--cool: #2e5680;--highlight: #f5e3a6;--highlight-soft: #f5e3a633;--code-bg: #16161e;--code-bg-2: #1f1f2a;--code-ink: #e9e4d2;--code-accent: #f5c064;--serif: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans: "IBM Plex Sans", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:14px;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 12% 18%,rgba(184,69,60,.05) 0%,transparent 45%),radial-gradient(circle at 88% 82%,rgba(46,86,128,.045) 0%,transparent 50%);background-attachment:fixed}.app{display:flex;flex-direction:column;height:100%;min-height:100vh;padding:0 28px 18px}.app-header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:28px;padding:28px 0 18px;border-bottom:1px solid var(--ink);margin-bottom:18px;animation:fadeUp .7s cubic-bezier(.2,.8,.2,1) both}.app-title{font-family:var(--serif);font-weight:400;font-size:clamp(44px,6vw,72px);line-height:.92;letter-spacing:-.02em;margin:0;color:var(--ink)}.app-title-em{font-style:italic;font-weight:400;color:var(--accent);margin-left:.18em}.app-title-mark{color:var(--accent);font-style:italic;margin-left:.12em;font-size:.9em}.app-kicker{font-family:var(--serif);font-style:italic;font-size:17px;color:var(--ink-muted);margin:8px 0 0;letter-spacing:.005em}.app-header-meta{display:flex;gap:10px;align-items:baseline;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);padding-bottom:4px}.tag{position:relative}.tag-sep{color:var(--ink-faint)}.tag-link{color:var(--ink-muted);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.tag-link:hover{color:var(--ink);border-bottom-color:var(--ink)}.tag-link-icon{display:inline-block;vertical-align:-2px;margin-right:5px}.app-main{flex:1;display:grid;grid-template-columns:minmax(280px,var(--split-left, .9fr)) 6px minmax(280px,var(--split-right, 1.15fr));gap:18px;min-height:0;animation:fadeUp .85s .08s cubic-bezier(.2,.8,.2,1) both}@media (max-width: 1000px){.app-main{grid-template-columns:1fr;grid-template-rows:minmax(220px,1fr) 1px minmax(220px,1fr)}.panel-rule{width:100%!important;height:1px!important;cursor:default!important;background:var(--rule)!important}.panel-rule:before,.panel-rule:after{display:none!important}.history-item{grid-template-columns:1fr}.history-actions{justify-content:flex-start}.history-popover{left:0;right:0;width:auto}}.panel-rule{position:relative;width:6px;align-self:stretch;background:transparent;cursor:col-resize;touch-action:none;outline:none}.panel-rule:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--rule);transform:translate(-.5px);transition:background .15s ease,width .15s ease}.panel-rule:hover:before,.panel-rule:focus-visible:before,.panel-rule.is-dragging:before{background:var(--ink-muted);width:2px;transform:translate(-1px)}.panel-rule.is-dragging:before{background:var(--accent)}.panel{display:flex;flex-direction:column;min-height:0}.panel-label{display:flex;align-items:baseline;gap:14px;padding-bottom:8px;margin-bottom:6px}.panel-label-num{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--accent);font-weight:500}.panel-label-text{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink);letter-spacing:.005em}.panel-label-rule{flex:1;height:1px;background:linear-gradient(to right,var(--rule) 0%,var(--rule) 70%,transparent 100%);align-self:center}.panel-label-actions{display:inline-flex;align-items:center;gap:14px;align-self:center}.input-area-wrap{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.input-area{flex:1;width:100%;border:1px solid var(--rule);border-radius:2px;padding:14px 16px;font-family:var(--mono);font-size:13px;line-height:1.65;resize:none;outline:none;background:#fbf8f0;color:var(--ink);min-height:0;transition:border-color .15s}.input-area:focus{border-color:var(--ink)}.input-area::placeholder{color:var(--ink-faint);font-style:italic}.panel-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#f4efe3c7;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);border:1px solid var(--rule);border-radius:2px;pointer-events:none;animation:fadeIn .18s ease both}.panel-loading-spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--rule);border-top-color:var(--accent);animation:spin .9s linear infinite}.panel-loading-text{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ink-2);letter-spacing:.01em}@keyframes spin{to{transform:rotate(360deg)}}.panel-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 2px 0;font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-muted);text-transform:uppercase}.footer-meta{opacity:.85}.status{font-feature-settings:"ss01"}.status-err{color:var(--accent);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12px}.status-ok{color:var(--ok)}.status-info{color:var(--cool);text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:6px 0 12px;row-gap:4px}.toolbar-group{display:inline-flex;align-items:center;gap:2px;padding:0 10px;border-right:1px solid var(--rule)}.toolbar-group:first-child{padding-left:0}.toolbar-group:last-of-type{border-right:none}.btn{font-family:var(--sans);font-size:13px;padding:4px 8px;border:none;background:transparent;color:var(--ink);cursor:pointer;position:relative;transition:color .12s;letter-spacing:.005em}.btn:after{content:"";position:absolute;left:8px;right:8px;bottom:2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.btn:hover:not(:disabled):after{transform:scaleX(1)}.btn:hover:not(:disabled){color:var(--accent)}.btn:hover:not(:disabled):after{background:var(--accent)}.btn:disabled{color:var(--ink-faint);cursor:not-allowed}.btn.primary{color:var(--accent);font-weight:500}.btn.primary:after{background:var(--accent);transform:scaleX(1);opacity:.35}.btn.primary:hover:not(:disabled):after{opacity:1}.btn.danger:hover:not(:disabled){color:var(--accent)}.btn.ghost{color:var(--ink-muted)}.indent-select,.tree-toolbar select{font-family:var(--mono);font-size:12px;padding:2px 4px 2px 6px;border:1px solid var(--rule);border-radius:2px;background:#fbf8f0;color:var(--ink);cursor:pointer;margin:0 4px}.indent-select:focus,.tree-toolbar select:focus{border-color:var(--ink);outline:none}.toolbar-err{flex-basis:100%;color:var(--accent);font-size:12px;margin-top:6px;font-family:var(--mono)}.history-panel{position:relative;display:inline-flex;align-items:center;z-index:20}.history-trigger{display:inline-flex;align-items:center;gap:6px}.history-trigger.is-open{color:var(--accent)}.history-trigger.is-open:after{transform:scaleX(1);background:var(--accent)}.history-trigger-count{font-family:var(--mono);font-size:11px;color:var(--ink-muted)}.history-trigger:hover:not(:disabled) .history-trigger-count,.history-trigger.is-open .history-trigger-count{color:inherit}.history-popover{position:absolute;top:calc(100% + 6px);right:0;width:min(520px,calc(100vw - 72px));max-height:min(360px,48vh);display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--rule);border-radius:2px;background:#f4efe3fa;box-shadow:12px 12px #1a1a2414;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.history-head-actions{display:inline-flex;align-items:center;gap:10px}.history-title-wrap{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.history-title{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink)}.history-meta{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.history-clear{font-family:var(--sans);font-size:12px;color:var(--ink-muted);background:transparent;border:none;cursor:pointer;padding:0;position:relative}.history-clear:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.history-clear:hover:not(:disabled){color:var(--accent)}.history-clear:hover:not(:disabled):after{transform:scaleX(1)}.history-clear:disabled{color:var(--ink-faint);cursor:not-allowed}.history-close{font-family:var(--sans);font-size:12px;color:var(--ink-muted);border:none;background:transparent;cursor:pointer;padding:0}.history-close:hover{color:var(--accent)}.history-empty{padding:12px 14px;border:1px solid var(--rule);border-radius:2px;background:#fbf8f0;font-family:var(--serif);font-size:15px;color:var(--ink-muted);line-height:1.5}.history-list{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto;padding-right:2px}.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--rule);border-radius:2px;background:#fbf8f0;transition:border-color .15s ease,background .15s ease}.history-item:hover{border-color:var(--ink-faint)}.history-item.is-active{border-color:var(--accent);background:var(--accent-soft)}.history-main{min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:none;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit}.history-summary{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12px;color:var(--ink)}.history-item-meta{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--ink-muted);text-transform:uppercase}.history-actions{display:inline-flex;align-items:center;gap:6px}.history-btn{font-family:var(--sans);font-size:11px;color:var(--ink-muted);border:1px solid transparent;background:var(--paper-2);border-radius:1px;padding:2px 8px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.history-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--paper)}.share-panel{position:relative;display:inline-flex;align-items:center;z-index:19}.share-trigger{display:inline-flex;align-items:center;gap:6px}.share-trigger.is-open{color:var(--accent)}.share-trigger.is-open:after{transform:scaleX(1);background:var(--accent)}.share-popover{position:absolute;top:calc(100% + 6px);right:0;width:min(560px,calc(100vw - 72px));max-height:min(440px,70vh);overflow:auto;display:flex;flex-direction:column;gap:14px;padding:14px;border:1px solid var(--rule);border-radius:2px;background:#f4efe3fa;box-shadow:12px 12px #1a1a2414;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.share-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.share-title-wrap{display:inline-flex;align-items:baseline;gap:8px;min-width:0}.share-title{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ink)}.share-meta{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted)}.share-close{font-family:var(--sans);font-size:12px;color:var(--ink-muted);border:none;background:transparent;cursor:pointer;padding:0}.share-close:hover{color:var(--accent)}.share-section{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px dashed var(--rule-faint)}.share-section:first-of-type{padding-top:0;border-top:none}.share-field{display:flex;flex-direction:column;gap:4px}.share-field-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.share-input{font-family:var(--mono);font-size:13px;padding:8px 10px;border:1px solid var(--rule);border-radius:2px;background:#fbf8f0;color:var(--ink);outline:none;transition:border-color .15s ease;width:100%}.share-input:focus{border-color:var(--accent)}.share-input-readonly{background:var(--paper-2);color:var(--ink-2)}.share-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.share-field-hint{font-family:var(--mono);font-size:11px;color:var(--ink-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.share-action-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.share-action-hint{font-family:var(--mono);font-size:11px;color:var(--ink-muted)}.share-btn{font-family:var(--sans);font-size:12px;padding:4px 10px;border:1px solid var(--ink-faint);border-radius:2px;background:var(--paper-2);color:var(--ink);cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.share-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--paper)}.share-btn:disabled{color:var(--ink-faint);border-color:var(--rule-faint);cursor:not-allowed}.share-btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.share-btn-primary:hover:not(:disabled){background:var(--accent);color:var(--paper);border-color:var(--accent)}.share-btn-ghost{background:transparent;border-color:var(--rule)}.share-error{font-family:var(--sans);font-size:12px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:2px;padding:6px 10px}.share-result{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--rule);border-radius:2px;background:#fbf8f0}.share-result-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.share-result-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.share-result-link{font-family:var(--mono);font-size:12px;color:var(--cool);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-result-link:hover{color:var(--accent);border-color:var(--accent)}.share-result-note{margin:0;font-family:var(--serif);font-style:italic;font-size:13px;color:var(--ink-muted);line-height:1.5}@media (max-width: 1000px){.share-popover{left:0;right:0;width:auto}.share-result-row{grid-template-columns:1fr}}.tree-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:6px 0 12px}.tree-toolbar{display:flex;align-items:center;gap:0;flex:0 0 auto}.tree-toolbar-item{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);padding-right:10px}.tree-toolbar-label{opacity:.8}.tree-sep{width:1px;align-self:stretch;background:var(--rule);margin:0 8px}.tbtn{font-family:var(--sans);font-size:13px;border:none;background:transparent;color:var(--ink);padding:4px 10px;cursor:pointer;position:relative}.tbtn:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.tbtn:hover:not(:disabled){color:var(--accent)}.tbtn:hover:not(:disabled):after{transform:scaleX(1)}.tbtn:disabled{color:var(--ink-faint);cursor:not-allowed}.tbtn.is-active{color:var(--accent)}.tbtn.is-active:after{transform:scaleX(1)}.tree-search{display:flex;align-items:center;gap:6px;flex:1 1 260px;min-width:380px}.tree-search-input{flex:1 1 140px;min-width:120px;font-family:var(--mono);font-size:12px;color:var(--ink);background:#fbf8f0;border:1px solid var(--rule);border-radius:2px;padding:5px 8px;outline:none;transition:border-color .15s ease}.tree-search-input::placeholder{color:var(--ink-faint)}.tree-search-input:focus{border-color:var(--ink)}.tree-search-input:disabled{color:var(--ink-faint);cursor:not-allowed}.tree-search-scope{display:inline-flex;border:1px solid var(--rule);border-radius:2px;overflow:hidden}.scope-btn{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);background:transparent;border:none;padding:4px 9px;cursor:pointer;border-right:1px solid var(--rule);transition:color .12s ease,background .12s ease}.scope-btn:last-child{border-right:none}.scope-btn:hover:not(:disabled):not(.is-active){color:var(--ink)}.scope-btn.is-active{color:#fbf8f0;background:var(--ink)}.scope-btn:disabled{color:var(--ink-faint);cursor:not-allowed}.tree-search-count{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-muted);white-space:nowrap;min-width:60px;text-align:left}.tree-search-count.is-empty{color:var(--accent)}.tbtn-nav{font-family:var(--mono);font-size:13px;padding:4px 8px;min-width:28px}.tree-body{flex:1;overflow:auto;padding:12px 14px;font-family:var(--mono);font-size:13px;line-height:1.65;background:#fbf8f0;border:1px solid var(--rule);border-radius:2px}.tree-body::-webkit-scrollbar{width:10px;height:10px}.tree-body::-webkit-scrollbar-thumb{background:var(--rule);border-radius:0}.tree-body::-webkit-scrollbar-thumb:hover{background:var(--ink-faint)}.tree-empty{color:var(--ink-muted);padding:18px 6px;font-family:var(--serif);font-size:17px;line-height:1.55}.tree-empty em{font-family:var(--serif);font-style:italic;color:var(--ink)}.tree-empty.error em{color:var(--accent)}.jn{position:relative}.jn-mark{background:var(--accent-soft);color:inherit;border-radius:2px;padding:0 1px}.jn-mark-current{background:var(--accent);color:#fbf8f0}.jn-current>.jn-row{box-shadow:inset 2px 0 0 var(--accent)}.jn.jn-has-match .jn-v-long .jn-str-text{display:inline;max-width:none;white-space:pre-wrap;overflow:visible;text-overflow:clip;vertical-align:baseline}.jn-row{display:flex;align-items:center;gap:3px;padding:1px 4px 1px 2px;border-radius:2px;min-width:0;position:relative}.jn-row:hover{background:var(--highlight-soft)}.jn-row:hover .jn-actions{opacity:1;transform:translate(0)}.jn-row-close{color:var(--ink-muted)}.jn-toggle{width:14px;min-width:14px;height:18px;border:none;background:transparent;color:var(--ink-faint);cursor:pointer;padding:0;font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:color .1s}.jn-toggle:hover{color:var(--accent)}.jn-toggle-empty{cursor:default;pointer-events:none}.jn-children{padding-left:16px;margin-left:6px;border-left:1px dashed var(--rule)}.jn-children:hover{border-left-color:var(--ink-faint)}.jn-key{color:var(--cool);font-weight:500}.jn-index{color:var(--ink-faint);font-style:italic;padding-right:2px}.jn-punct{color:var(--ink-faint);margin-right:2px}.jn-bracket{color:var(--ink);font-weight:500}.jn-badge{display:inline-flex;align-items:center;font-size:10px;padding:1px 6px;margin:0 6px 0 2px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent);border-radius:1px;line-height:1.2;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.jn-summary{color:var(--ink-muted);font-style:italic;margin:0 6px;font-family:var(--serif);font-size:13px}.jn-value{white-space:pre-wrap;word-break:break-word;min-width:0}.jn-v-null,.jn-v-bool{color:var(--warn);font-style:italic}.jn-v-num{color:var(--warn);font-weight:500}.jn-v-str{color:var(--ok)}.jn-quote{color:var(--ink-faint)}.jn-v-long .jn-str-text{display:inline-block;max-width:70ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.jn-actions{margin-left:auto;display:inline-flex;gap:4px;opacity:0;transform:translate(4px);transition:opacity .12s,transform .12s;padding-left:12px}.jn-act{font-family:var(--sans);font-size:11px;padding:1px 7px;border:1px solid transparent;background:var(--paper-2);border-radius:1px;cursor:pointer;color:var(--ink-muted);white-space:nowrap;letter-spacing:.01em;transition:color .1s,background .1s,border-color .1s}.jn-act:hover{color:var(--accent);background:var(--paper);border-color:var(--accent)}.jn-act-danger{color:var(--accent)}.jn-act-danger:hover{background:var(--accent-soft)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a248c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:100;padding:40px 24px;animation:fadeIn .18s ease-out}.modal{background:var(--paper);border:1px solid var(--ink);border-radius:2px;width:min(960px,100%);max-height:84vh;display:flex;flex-direction:column;box-shadow:14px 14px #1a1a2426;overflow:hidden;animation:slideUp .26s cubic-bezier(.2,.85,.25,1)}.modal-head{display:flex;gap:14px;align-items:baseline;padding:14px 18px;border-bottom:1px solid var(--rule);background:var(--paper-2);flex-wrap:wrap}.modal-title{font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px;color:var(--ink);letter-spacing:.005em;margin-right:4px}.modal-meta{font-family:var(--mono);font-size:11px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.14em}.modal-check{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:11px;color:var(--ink);-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}.modal-check input{margin:0;accent-color:var(--accent)}.modal-head .btn{font-family:var(--sans);font-size:13px}.modal-body{margin:0;padding:18px 22px;background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);font-size:13px;line-height:1.7;flex:1;overflow:auto;background-image:linear-gradient(to bottom,transparent 0%,rgba(245,192,100,.03) 100%)}.modal-body.wrap{white-space:pre-wrap;word-break:break-word}.modal-body.nowrap{white-space:pre}.modal-body::-webkit-scrollbar{width:10px}.modal-body::-webkit-scrollbar-thumb{background:var(--code-bg-2)}.modal-check.is-disabled{opacity:.45;cursor:not-allowed}.modal-check.is-disabled input{cursor:not-allowed}.modal-body-md{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:15px;line-height:1.75;white-space:normal;background-image:none}.modal-body-md>:first-child{margin-top:0}.modal-body-md>:last-child{margin-bottom:0}.modal-body-md h1,.modal-body-md h2,.modal-body-md h3,.modal-body-md h4,.modal-body-md h5,.modal-body-md h6{font-family:var(--sans);font-weight:600;line-height:1.3;margin:1.2em 0 .5em;color:var(--ink);letter-spacing:-.005em}.modal-body-md h1{font-size:26px;border-bottom:1px solid var(--rule);padding-bottom:.25em}.modal-body-md h2{font-size:22px;border-bottom:1px solid var(--rule);padding-bottom:.2em}.modal-body-md h3{font-size:18px}.modal-body-md h4{font-size:16px}.modal-body-md h5{font-size:14px;color:var(--ink-muted)}.modal-body-md h6{font-size:13px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.08em}.modal-body-md p{margin:.6em 0;word-break:break-word}.modal-body-md ul,.modal-body-md ol{margin:.5em 0;padding-left:1.6em}.modal-body-md li{margin:.2em 0}.modal-body-md blockquote{margin:.8em 0;padding:.2em .9em;border-left:3px solid var(--accent);background:var(--paper-2);color:var(--ink-muted);font-style:italic}.modal-body-md hr{border:none;border-top:1px solid var(--rule);margin:1.2em 0}.modal-body-md del{color:var(--ink-muted)}.modal-body-md img{max-width:100%}.modal-body-md a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.modal-body-md a:hover{text-decoration:none}.modal-body-md :not(pre)>code{font-family:var(--mono);font-size:.88em;padding:1px 5px;background:var(--code-bg);color:var(--code-ink);border-radius:2px}.modal-body-md pre{margin:.8em 0;padding:12px 14px;background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);font-size:12.5px;line-height:1.6;border-radius:2px;overflow:auto}.modal-body-md pre code{font-family:inherit;background:transparent;padding:0;color:inherit}.modal-body-md table{border-collapse:collapse;margin:.9em 0;font-size:14px;max-width:100%}.modal-body-md th,.modal-body-md td{border:1px solid var(--rule);padding:6px 12px;text-align:left}.modal-body-md thead th{background:var(--paper-2);font-family:var(--sans);font-weight:600}.modal-body-md tbody tr:nth-child(2n){background:var(--paper-2)}.modal-body-md ul.contains-task-list{list-style:none;padding-left:.3em}.modal-body-md li.task-list-item{display:flex;align-items:baseline;gap:.5em}.modal-body-md li.task-list-item input[type=checkbox]{margin:0}.modal-body-md .hljs-comment,.modal-body-md .hljs-quote{color:#8a8f98;font-style:italic}.modal-body-md .hljs-keyword,.modal-body-md .hljs-selector-tag,.modal-body-md .hljs-literal,.modal-body-md .hljs-section,.modal-body-md .hljs-link{color:#b3261e}.modal-body-md .hljs-string,.modal-body-md .hljs-regexp,.modal-body-md .hljs-addition{color:#2a7d4f}.modal-body-md .hljs-number,.modal-body-md .hljs-symbol,.modal-body-md .hljs-bullet,.modal-body-md .hljs-attr,.modal-body-md .hljs-template-variable,.modal-body-md .hljs-variable{color:#b5690a}.modal-body-md .hljs-title,.modal-body-md .hljs-name,.modal-body-md .hljs-built_in{color:#2f5fb3}.modal-body-md .hljs-type,.modal-body-md .hljs-attribute{color:#6b4fb3}.modal-body-md .hljs-meta,.modal-body-md .hljs-deletion{color:#8a8f98}.modal-body-md .hljs-emphasis{font-style:italic}.modal-body-md .hljs-strong{font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-nav{display:inline-flex;gap:4px;align-items:center;margin-right:6px}.app-nav-tab{font-family:var(--sans);font-size:12px;letter-spacing:.04em;padding:4px 12px;border:1px solid var(--rule);background:transparent;color:var(--ink-muted);cursor:pointer;border-radius:2px;transition:color .15s,border-color .15s,background .15s}.app-nav-tab:hover{color:var(--ink);border-color:var(--ink-faint)}.app-nav-tab.is-active{color:var(--paper);background:var(--ink);border-color:var(--ink)}.app-nav-tab:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.diff-main{display:flex;flex-direction:column;gap:16px;min-height:0}:root{--diff-add-bg: rgba(61, 107, 69, .12);--diff-add-line: var(--ok);--diff-del-bg: rgba(184, 69, 60, .12);--diff-del-line: var(--accent);--diff-token-add: rgba(61, 107, 69, .28);--diff-token-del: rgba(184, 69, 60, .28)}.diff-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.diff-input-col{display:flex;flex-direction:column;min-height:180px}.diff-input-col .input-area{flex:1;min-height:140px}.diff-result{display:flex;flex-direction:column;flex:1;min-height:0}.diff-controls{display:flex;align-items:center;gap:10px;padding:8px 0;flex-wrap:wrap}.diff-summary-bar{display:inline-flex;gap:10px;margin-left:auto;font-family:var(--mono);font-size:12px}.diff-sum.add{color:var(--ok)}.diff-sum.del{color:var(--accent)}.diff-sum.chg{color:var(--warn)}.diff-body{flex:1;overflow:auto;border:1px solid var(--rule-faint);border-radius:3px;background:var(--paper-2);min-height:200px}.diff-grid{display:grid;grid-template-columns:1fr 1fr;font-family:var(--mono);font-size:12.5px;line-height:1.7}.diff-cell{padding:1px 10px;white-space:pre-wrap;word-break:break-word;border-right:1px solid var(--rule-faint);display:flex;align-items:baseline;gap:2px;min-height:1.7em}.diff-side-right{border-right:none}.diff-cell.is-add{background:var(--diff-add-bg);box-shadow:inset 3px 0 0 var(--diff-add-line)}.diff-cell.is-del{background:var(--diff-del-bg);box-shadow:inset 3px 0 0 var(--diff-del-line)}.diff-gutter{width:9px;flex:none;color:var(--ink-faint);font-weight:600}.diff-cell.is-del .diff-gutter{color:var(--diff-del-line)}.diff-cell.is-add .diff-gutter{color:var(--diff-add-line)}.diff-key{color:var(--cool)}.diff-scalar{color:var(--ink-2)}.diff-tok-del,.diff-tok-add{border-radius:2px;padding:0 1px;font-weight:600}.diff-tok-del{background:var(--diff-token-del)}.diff-tok-add{background:var(--diff-token-add)}.diff-punct,.diff-summary{color:var(--ink-muted)}.diff-toggle{background:none;border:none;cursor:pointer;color:var(--ink-muted);padding:0 2px;font-size:10px}.diff-badge{font-size:9px;padding:0 5px;border:1px solid var(--rule);border-radius:7px;color:var(--ink-muted);margin-left:6px}.diff-act{background:none;border:1px solid var(--rule-faint);border-radius:2px;cursor:pointer;font-size:10px;color:var(--ink-muted);margin-left:6px;padding:0 5px}.diff-act:hover{color:var(--ink);border-color:var(--ink-faint)}.diff-block{margin:0;font-family:var(--mono);white-space:pre-wrap}.diff-act:disabled{opacity:.45;cursor:not-allowed}.diff-act:disabled:hover{color:var(--ink-muted);border-color:var(--rule-faint)}
