@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-vietnamese-400-normal-B7xT_GF5.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-400-normal-BIWiOVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-400-normal-DRPE3kg4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2"),url(/assets/space-grotesk-latin-400-normal-BnQMeOim.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-vietnamese-600-normal-DUi7WF5p.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-600-normal-D6zpsUhD.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-600-normal-VcznFIpX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2"),url(/assets/space-grotesk-latin-600-normal-BflQw4A9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight: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}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.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:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.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{--navy-0: #000000;--navy-10: #151B29;--navy-20: #0E2A4D;--navy-30: #3A4761;--navy-40: #4F5E80;--navy-50: #6477A1;--navy-60: #8190B5;--navy-70: #9FABCA;--navy-80: #BDC6DF;--navy-90: #DCE2F5;--navy-95: #EBF0FF;--navy-99: #F8FCFF;--navy-100: #FFFFFF;--red-0: #000000;--red-10: #400400;--red-20: #640C00;--red-30: #8D1608;--red-40: #CC0000;--red-50: #E52C15;--red-60: #F85D3E;--red-70: #FF8566;--red-80: #FFAA8E;--red-90: #FFCEB8;--red-95: #FFE1CE;--red-99: #FFEFE0;--red-100: #FFFFFF;--cyan-0: #000000;--cyan-10: #002026;--cyan-20: #003740;--cyan-30: #00505C;--cyan-40: #006A79;--cyan-50: #008698;--cyan-60: #2D9EAE;--cyan-70: #1FB6C9;--cyan-80: #95D0DA;--cyan-90: #C0EAF1;--cyan-95: #D5F7FD;--cyan-99: #E6FFFF;--cyan-100: #FFFFFF;--gold-0: #000000;--gold-10: #2C1800;--gold-20: #452B00;--gold-30: #624000;--gold-40: #815600;--gold-50: #A16D00;--gold-60: #BB872D;--gold-70: #E8A93B;--gold-80: #E9C086;--gold-90: #FEDDB3;--gold-95: #FFECCA;--gold-99: #FFF9DC;--gold-100: #FFFFFF;--green-0: #000000;--green-10: #002211;--green-20: #003921;--green-30: #005332;--green-40: #006D44;--green-50: #008A57;--green-60: #2FB07A;--green-70: #6DBB93;--green-80: #97D4B3;--green-90: #C0EDD4;--green-95: #D5F9E5;--green-99: #E6FFF2;--green-100: #FFFFFF;--amber-0: #000000;--amber-10: #321500;--amber-20: #4D2800;--amber-30: #6B3B00;--amber-40: #8D5000;--amber-50: #B06500;--amber-60: #C9810D;--amber-70: #F59E0B;--amber-80: #F5BC79;--amber-90: #FFDAA9;--amber-95: #FFEAC2;--amber-99: #FFF7D6;--amber-100: #FFFFFF;--crimson-0: #000000;--crimson-10: #3D0506;--crimson-20: #620F18;--crimson-30: #8A1926;--crimson-40: #B42534;--crimson-50: #D7263D;--crimson-60: #F26063;--crimson-70: #FF8784;--crimson-80: #FFABA6;--crimson-90: #FFCFCA;--crimson-95: #FFE1DD;--crimson-99: #FFF0EC;--crimson-100: #FFFFFF;--neutral-0: #000000;--neutral-10: #171C23;--neutral-20: #2A313B;--neutral-30: #3E4755;--neutral-40: #5C6B80;--neutral-50: #69788E;--neutral-60: #8592A5;--neutral-70: #A2ACBC;--neutral-80: #BFC7D4;--neutral-90: #DDE3ED;--neutral-95: #ECF1F9;--neutral-99: #F9FCFF;--neutral-100: #FFFFFF}:root{color-scheme:light;--ink: #08182B;--navy: #0E2A4D;--navy-2: #0B2240;--accent: #1FB6C9;--accent-deep: #0E7C86;--gold: #E8A93B;--danger: #D7263D;--fau-navy: var(--navy);--fau-blue: var(--navy);--fau-blue-light: color-mix(in srgb, var(--navy) 55%, var(--panel));--fau-red: #CC0000;--fau-gold: var(--gold);--primary: var(--navy);--bg: #E6EDF5;--panel: #F4F7FB;--panel-2: #EBF0F7;--line: #69788E;--line-2: #A2ACBC;--text: #0E1B2C;--muted: var(--text);--swatch-edge: var(--navy-40);--map-legend-w: 216px;--muted-2: var(--text);--accent-text: var(--cyan-30);--navy-text: #0E2A4D;--gold-text: var(--gold-30);--success-text: #005332;--warning-text: var(--amber-30);--accent-strong: var(--cyan-50);--on-primary: var(--on-fill);--danger-fill: var(--crimson-30);--on-danger: var(--on-fill);--icon-duo-tint: 30%;--icon-duo: color-mix(in srgb, currentColor var(--icon-duo-tint), transparent);--icon-duo-brand: var(--accent-strong);--display: "Space Grotesk", sans-serif;--sans: "IBM Plex Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--r-1: 4px;--r-2: 8px;--r-3: 10px;--r-4: 14px;--r-5: 20px;--r-pill: 999px;--fs-2xs: 12px;--fs-xs: 14px;--fs-sm: 14px;--fs-base: 16px;--fs-md: 18px;--fs-lg: 20px;--fs-xl: 24px;--fs-2xl: 30px;--lh-tight: 1.25;--lh-body: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--state-layer: 8, 24, 43;--state-hover: .08;--state-focus: .1;--state-pressed: .12;--ring: 0 0 0 2px var(--panel), 0 0 0 4px var(--accent-text);--shadow-sm: 0 1px 2px rgba(13,38,64,.06), 0 1px 3px rgba(13,38,64,.05);--shadow: 0 6px 20px rgba(11,34,64,.1), 0 2px 6px rgba(11,34,64,.06);--shadow-lg: 0 24px 60px rgba(8,24,43,.22);--nav-h: 60px;--gap: 16px;--success: #2FB07A;--warning: #f59e0b;--surface: var(--panel);--surface-raised: #ffffff;--surface-2: var(--panel-2);--border: var(--line);--text-muted: var(--muted);--brand: var(--navy);--font-mono: var(--mono);--tint-accent: color-mix(in srgb, var(--accent) 10%, var(--panel));--tint-accent-md: color-mix(in srgb, var(--accent) 14%, var(--panel));--tint-accent-lg: color-mix(in srgb, var(--accent) 22%, var(--panel));--tint-danger: color-mix(in srgb, var(--danger) 10%, var(--panel));--tint-danger-md: color-mix(in srgb, var(--danger) 18%, var(--panel));--tint-navy: color-mix(in srgb, var(--navy) 8%, var(--panel));--tint-primary: color-mix(in srgb, var(--primary) 14%, var(--panel));--tint-primary-md: color-mix(in srgb, var(--primary) 22%, var(--panel));--tint-success: color-mix(in srgb, var(--success) 12%, var(--panel));--green-30: var(--tint-success);--green-40: var(--tint-success);--green-80: var(--success-text);--tint-warning: color-mix(in srgb, var(--warning) 12%, var(--panel));--tint-warning-md: color-mix(in srgb, var(--warning) 22%, var(--panel));--warning-deep: color-mix(in srgb, var(--warning) 70%, black);--tint-amber: color-mix(in srgb, var(--gold) 12%, var(--panel));--sidebar-w: 376px;--rail-w: clamp(260px, 17vw, 340px);--dock-w: clamp(408px, 29vw, 452px);--picker-w: 760px;--modal-w: 440px;--modal-wide-w: 580px;--cmdk-w: 620px;--space-px: 1px;--space-0-5: 2px;--space-7: 40px;--space-8: 48px;--fs-3xl: 36px;--fs-4xl: 48px;--lh-snug: 1.4;--lh-loose: 1.6;--track-tight: -.02em;--track-wide: .04em;--track-caps: .08em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-heavy: 800;--r-xs: 2px;--r-round: 50%;--bw: 1px;--bw-strong: 2px;--bw-accent: 3px;--on-fill: #FFFFFF;--on-accent: #021018;--on-chrome: #D6E6F2;--danger-text: var(--crimson-30);--veil-1: rgba(255,255,255,.04);--veil-2: rgba(255,255,255,.08);--veil-3: rgba(255,255,255,.12);--veil-4: rgba(255,255,255,.2);--veil-5: rgba(255,255,255,.3);--veil-6: rgba(255,255,255,.5);--veil-7: rgba(255,255,255,.92);--shade-1: rgba(0,0,0,.06);--shade-2: rgba(0,0,0,.12);--shade-3: rgba(0,0,0,.2);--shade-4: rgba(0,0,0,.35);--shade-5: rgba(0,0,0,.5);--map-space-deep: #030814;--map-space-glow: #16305A;--map-star: rgba(255,255,255,.6);--glow-accent: 0 4px 18px color-mix(in srgb, var(--accent) 38%, transparent), 0 1px 4px color-mix(in srgb, var(--accent) 22%, transparent);--glow-accent-strong: 0 7px 28px color-mix(in srgb, var(--accent) 48%, transparent), 0 2px 8px color-mix(in srgb, var(--accent) 28%, transparent);--bar-accent: inset var(--bw-accent) 0 0 var(--accent-strong);--z-base: 0;--z-raised: 1;--z-sticky: 10;--z-dropdown: 30;--z-overlay: 60;--z-float: 9000;--z-toast: 9200;--z-tooltip: 9500;--dur-fast: .12s;--dur: .15s;--dur-slow: .2s;--dur-slower: .4s;--dur-loop-fast: .8s;--dur-loop: 1.2s;--dur-loop-slow: 1.8s;--opacity-disabled: .45;--opacity-hover: .88;--opacity-subtle: .55;--opacity-faint: .25;--control-sm: 32px;--control-md: 40px;--control-lg: 48px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--icon-xl: 32px;--error: var(--danger-text);--statusbar-h: 30px;--scrim: color-mix(in srgb, var(--ink) 48%, transparent);--surface-chrome: color-mix(in srgb, var(--ink) 80%, transparent);--panel-glass: color-mix(in srgb, var(--surface-raised) 92%, transparent);--tint-info: color-mix(in srgb, var(--accent) 12%, var(--panel));--tint-neutral: var(--panel-2);--on-surface-disabled: color-mix(in srgb, var(--text) 45%, var(--panel));--link-underline: color-mix(in srgb, var(--accent-text) 48%, transparent);--status-running-bg: var(--tint-warning);--status-running-fg: var(--warning-text);--status-running-dot: var(--amber-50);--status-queued-bg: var(--tint-neutral);--status-queued-fg: var(--text);--status-queued-dot: var(--line);--status-success-bg: var(--tint-success);--status-success-fg: var(--success-text);--status-success-dot: var(--green-50);--status-warning-bg: var(--tint-warning);--status-warning-fg: var(--warning-text);--status-warning-dot: var(--amber-50);--status-error-bg: var(--tint-danger);--status-error-fg: var(--danger-text);--status-error-dot: var(--danger);--status-info-bg: var(--tint-info);--status-info-fg: var(--accent-text);--status-info-dot: var(--accent-strong);--status-neutral-bg: var(--tint-neutral);--status-neutral-fg: var(--text);--status-neutral-dot: var(--line);--bp-sm: 640px;--bp-md: 900px;--bp-lg: 1180px;--bp-xl: 1440px}[data-theme=dark]{color-scheme:dark;--state-layer: 200, 220, 240;--surface-raised: #0E1F35;--ink: #071320;--navy: #0A1B2E;--navy-2: #091828;--bg: #071320;--panel: #0E1F35;--panel-2: #0B1A2C;--line: #69788E;--line-2: #3E4755;--swatch-edge: var(--navy-70);--accent-text: var(--cyan-90);--navy-text: var(--navy-90);--gold-text: var(--gold-90);--success-text: var(--green-90);--warning-text: var(--amber-90);--fau-red: #FF8566;--danger-text: var(--crimson-90);--text: #C8DCF0;--muted: var(--text);--muted-2: var(--text);--shadow-sm: 0 1px 2px rgba(0,0,0,.2), 0 1px 4px rgba(0,0,0,.18);--shadow: 0 6px 20px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.2);--shadow-lg: 0 24px 60px rgba(0,0,0,.5);--scrim: color-mix(in srgb, #000 65%, transparent);--primary: var(--navy-80);--on-primary: #0E2A4D;--accent-strong: var(--accent);--status-running-dot: var(--warning);--status-warning-dot: var(--warning);--status-success-dot: var(--success)}[data-theme=light] .rail,[data-theme=light] .rail-mini{background:var(--panel);color:var(--text);border-right:var(--bw) solid var(--line)}[data-theme=light] .rail-kicker{color:var(--muted-2)}[data-theme=light] .rail-proj-hdr{border-bottom-color:var(--line-2)}[data-theme=light] .rail-proj-name{color:var(--text)}[data-theme=light] .rail-progress{border-bottom-color:var(--line-2)}[data-theme=light] .phase-hdr{color:var(--muted-2)}[data-theme=light] .step:not([aria-disabled=true]):hover{background:var(--panel-2)}[data-theme=light] .step-on{background:color-mix(in srgb,var(--accent) 7%,var(--panel))}[data-theme=light] .step-on:before{background:var(--accent)}[data-theme=light] .step-dot{border-color:var(--line);color:var(--muted)}[data-theme=light] .step-dot.st-active{background:var(--tint-amber);border-color:var(--gold-text)}[data-theme=light] .step-line{background:var(--line)}[data-theme=light] .step-sub{color:var(--muted)}[data-theme=light] .step-tag.st-ready{color:var(--muted);background:var(--panel-2)}[data-theme=light] .step-tag.st-locked,[data-theme=light] .step-tag.st-new{color:var(--muted-2);background:var(--panel-2)}[data-theme=light] .substep{background:var(--panel-2);color:var(--muted)}[data-theme=light] .substep:before{border-color:var(--line)}[data-theme=light] .substep.ss-now{background:var(--tint-amber);color:var(--text)}[data-theme=light] .substep.ss-now:before{border-color:var(--gold-text);background:var(--gold)}[data-theme=light] .nb-row{color:var(--text)}[data-theme=light] .nb-row:hover{background:var(--panel-2)}[data-theme=light] .nb-row-open{background:var(--tint-accent);color:var(--accent-text)}[data-theme=light] .nb-new:hover{background:var(--panel-2)}[data-theme=light] .nb-cell-code{background:var(--panel)}[data-theme=light] .nb-gutter{background:var(--panel-2)}[data-theme=light] .nb-run{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .nb-run:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}[data-theme=light] .nb-count{color:var(--muted-2)}[data-theme=light] .nb-source{color:var(--text)}[data-theme=light] .nb-act{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .nb-act:hover{background:var(--panel);color:var(--text)}[data-theme=light] .nb-output{border-top-color:var(--line);background:var(--panel-2)}[data-theme=light] .nb-output pre{color:var(--text)}[data-theme=light] .nb-output-layer{background:var(--tint-accent)}[data-theme=light] .nb-layer-out{color:var(--accent-text)}[data-theme=light] .nb-spin{border-color:var(--line);border-top-color:var(--accent-text)}[data-theme=light] .codecard{background:var(--panel);border-color:var(--line)}[data-theme=light] .codecard-bar{color:var(--muted);background:var(--panel-2)}[data-theme=light] .codecard pre{color:var(--accent-text)}[data-theme=light] .mini-dot{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .mini-dot:hover:not(:disabled){background:var(--panel);color:var(--text)}[data-theme=light] .mini-sep{background:var(--line)}[data-theme=light] .mini-expand{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .mini-expand:hover{background:var(--panel);color:var(--text)}[data-theme=light] .sys-bar{background:var(--panel-2);border-top-color:var(--line-2)}[data-theme=light] .sys-bar-label{color:var(--muted)}[data-theme=light] .dock{background:var(--panel);border-left-color:var(--line)}[data-theme=light] .dock-tabs{background:var(--panel-2);border-bottom-color:var(--line-2)}[data-theme=light] .dock-tabs>button{color:var(--muted)}[data-theme=light] .dock-tabs>button:hover{color:var(--text)}[data-theme=light] .dock-tabs>button.on{background:var(--panel);color:var(--text);border-color:var(--line)}[data-theme=light] .dock-tab-ico{color:var(--accent-text)}[data-theme=light] .dock-close{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .dock-strip{background:var(--panel-2);color:var(--muted)}[data-theme=light] .dock-strip:hover{background:var(--panel);color:var(--accent-text)}[data-theme=light] .steppanel{background:var(--panel);color:var(--text)}[data-theme=light] .sp-param-v,[data-theme=light] .sp-metric-v,[data-theme=light] .sp-issue-text,[data-theme=light] .sp-ds-year,[data-theme=light] .ds-name,[data-theme=light] .ds-dropdown,[data-theme=light] .ds-input-label,[data-theme=light] .bc-edge-name,[data-theme=light] .bc-edge-type-sel,[data-theme=light] .bc-stage-input,[data-theme=light] .rom-cfg-input{color:var(--text)}[data-theme=light] .sp-param-k,[data-theme=light] .sp-param-col,[data-theme=light] .ds-input-opt,[data-theme=light] .sp-dropzone-hint{color:var(--muted)}[data-theme=light] .sp-metric-l,[data-theme=light] .sp-check-lock,[data-theme=light] .bc-edge-closed{color:var(--muted-2)}[data-theme=light] .exp-layer-name,[data-theme=light] .fdet-title,[data-theme=light] .fdet-mono,[data-theme=light] .infil-ga-vals,[data-theme=light] .nsp-stage-hdr{color:var(--text)}[data-theme=light] .exp-layer-val,[data-theme=light] .exp-layer-note,[data-theme=light] .infil-param-k,[data-theme=light] .manning-auto-note,[data-theme=light] .wb-neteditor-hint,[data-theme=light] .wb-struct-adv,[data-theme=light] .nsp-stage-add,[data-theme=light] .fdet-k,[data-theme=light] .bg-task-label,[data-theme=light] .task-banner-cancel{color:var(--muted)}[data-theme=light] .bg-task-msg{color:var(--muted-2)}[data-theme=light] .wb-panel-close,[data-theme=light] .wb-attr-table-filter,[data-theme=light] .wb-attr-table-filter input{color:var(--text)}[data-theme=light] .wb-attr-table-filter{background:color-mix(in srgb,var(--navy) 4%,transparent);border-color:var(--line-2)}[data-theme=light] .exp-layer-chevron,[data-theme=light] .fdet-close,[data-theme=light] .wb-struct-x,[data-theme=light] .rail-view-toggle{color:var(--muted-2)}[data-theme=light] .exp-layer-hdr{background:var(--surface-2, color-mix(in srgb, var(--navy) 4%, transparent))}[data-theme=light] .exp-layer-hdr:hover{background:color-mix(in srgb,var(--navy) 8%,transparent)}[data-theme=light] .ds-row,[data-theme=light] .ds-row--sel,[data-theme=light] .ds-kind-badge,[data-theme=light] .ds-info-btn,[data-theme=light] .wf-type-btn--on{color:var(--accent-text)}[data-theme=light] .steppanel-head{border-bottom-color:var(--line-2)}[data-theme=light] .steppanel-head h2{color:var(--text)}[data-theme=light] .steppanel-ctx{color:var(--muted)}[data-theme=light] .task-banner{background:var(--tint-accent);border-bottom-color:var(--accent-text)}[data-theme=light] .sp-check{color:var(--text);border-bottom-color:var(--line-2)}[data-theme=light] .task-banner-name{color:var(--text)}[data-theme=light] .task-banner-sub,[data-theme=light] .task-banner-elapsed{color:var(--muted)}[data-theme=light] .steppanel-nav{background:var(--panel-2);border-top-color:var(--line)}[data-theme=light] .sim-hub-card{background:var(--panel-2);border-color:var(--line);color:var(--text)}[data-theme=light] .ws-map,[data-theme=light] .portal-map{background:var(--bg)}[data-theme=light] .net-toolbar{background:var(--panel);border-bottom-color:var(--line)}[data-theme=light] .neteditor{background:var(--panel-2)}[data-theme=light] .ws-viewtabs{background:var(--panel-2);border-bottom-color:var(--line)}[data-theme=light] .vtab{color:var(--muted)}[data-theme=light] button.vtab:hover,[data-theme=light] a.vtab:hover,[data-theme=light] .vtab-on{background:var(--panel);color:var(--text)}[data-theme=light] .wb-gis-btn{color:var(--muted)}[data-theme=light] .wb-gis-btn:hover{background:var(--panel);color:var(--text);border-color:var(--line)}[data-theme=light] .wb-gis-sep{background:var(--line)}[data-theme=light] .rail-nb{border-top-color:var(--line)}[data-theme=light] .panel-collapse.light{border-color:var(--line);background:var(--panel-2);color:var(--muted)}[data-theme=light] .panel-collapse.light:hover{background:var(--panel);color:var(--text)}[data-theme=light] .layer-row{color:var(--text)}[data-theme=light] .layer-eye:not(.layer-eye--on){border-color:var(--line);background:var(--panel);color:var(--muted)}[data-theme=light] .layer-eye:not(.layer-eye--on):hover{border-color:var(--accent-text);color:var(--text)}[data-theme=light] .layer-type-chip{background:var(--panel-2);color:var(--muted-2);border:var(--bw) solid var(--line)}[data-theme=light] .layer-act-btn{color:var(--muted)}[data-theme=light] .layer-act-btn:hover{background:var(--panel-2);color:var(--text)}[data-theme=light] .layer-filter-bar{border-top-color:var(--line-2)}[data-theme=light] .layer-filter-input{background:var(--panel-2);border-color:var(--line);color:var(--text)}[data-theme=light] .lgp-clear{color:var(--muted-2)}[data-theme=light] .lgp-clear:hover{color:var(--muted)}[data-theme=light] .rail-layers-empty{color:var(--muted-2)}[data-theme=light] .opac-v{color:var(--muted)}[data-theme=light] .layer-card{border-color:var(--line)}[data-theme=light] .layer-card:hover{border-color:var(--muted-2)}[data-theme=light] .sp-block{background:var(--panel-2);border-color:var(--line)}[data-theme=light] .sp-block-label{color:var(--muted-2)}[data-theme=light] .steppanel-nav-btn{border-color:var(--line);background:var(--panel);color:var(--muted)}[data-theme=light] .steppanel-nav-btn:hover{background:var(--panel-2);color:var(--text);border-color:var(--accent-text)}[data-theme=light] .sp-ds-map-btn{border-color:var(--line);background:var(--tint-navy);color:var(--muted)}[data-theme=light] .sp-ds-map-btn:hover{background:var(--tint-accent);color:var(--accent-text)}[data-theme=light] .sp-catalog-embed .wb-search{background:var(--panel-2);border-color:var(--line);color:var(--text)}[data-theme=light] .sp-catalog-embed .wb-search::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent)}[data-theme=light] .sp-catalog-embed .wb-catalog-tabs button,[data-theme=light] .sp-catalog-embed .wb-catalog-tabs-2 button,[data-theme=light] .sp-catalog-embed .wb-catalog-tabs-3 button{color:var(--muted)}[data-theme=light] .sp-catalog-embed .wb-catalog-card{border-color:var(--line);background:var(--panel)}[data-theme=light] .sp-catalog-embed .wb-catalog-card:hover{border-color:var(--muted-2);background:var(--panel-2)}[data-theme=light] .sp-catalog-embed .wb-card-top strong{color:var(--text)}[data-theme=light] .wf-type-btn{border-color:var(--line);background:var(--panel-2)}[data-theme=light] .wf-type-btn:hover{border-color:var(--accent-text);background:var(--tint-accent)}[data-theme=light] .wf-type-tag,[data-theme=light] .wf-type-label{color:var(--text)}[data-theme=light] .wf-type-engine,[data-theme=light] .wf-type-info{color:var(--muted-2)}[data-theme=light] .wf-ds-need{color:var(--muted)}[data-theme=light] .maptool{color:var(--muted);border-color:transparent}[data-theme=light] .maptool:hover{background:var(--panel-2);color:var(--text);border-color:var(--line)}[data-theme=light] .maptool.on{background:var(--tint-accent);color:var(--accent-text);border-color:var(--accent-text)}[data-theme=light] .net-tool{color:var(--muted)}[data-theme=light] .net-tool:hover{background:var(--panel-2);color:var(--text);border-color:var(--line)}[data-theme=light] .net-toolbar-label{color:var(--muted-2)}[data-theme=light] .net-legend-it{color:var(--muted)}[data-theme=light] .track{background:var(--line)}[data-theme=light] .sys-task-dot{background:var(--muted-2)}[data-theme=light] .sys-task-dot.busy{background:var(--success)}[data-theme=light] .sys-res-k,[data-theme=light] .sys-res-v{color:var(--muted)}[data-theme=light] .sys-res-bar{background:var(--line)}[data-theme=light] .sys-queue-info{color:var(--muted);background:var(--panel-2)}[data-theme=light] .auth-card{box-shadow:var(--glow-accent-strong)}[data-theme=light] .steppanel-badge{background:var(--panel-2);color:var(--muted)}[data-theme=light] .sp-step{color:var(--muted-2)}[data-theme=light] .sp-note{color:var(--text);background:color-mix(in srgb,var(--success) 8%,transparent);border-color:color-mix(in srgb,var(--success) 32%,transparent)}[data-theme=light] .sp-note--info{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}[data-theme=light] .sp-note--caution{background:color-mix(in srgb,var(--gold) 8%,transparent);border-color:color-mix(in srgb,var(--gold) 32%,transparent)}[data-theme=light] .sp-note--success{color:var(--text);background:color-mix(in srgb,var(--success) 8%,transparent);border-color:color-mix(in srgb,var(--success) 32%,transparent)}[data-theme=light] .sp-aoi-hint,[data-theme=light] .sp-aoi-dims{color:var(--muted-2)}[data-theme=light] .sp-ds-label{color:var(--text)}[data-theme=light] .sp-catalog-embed .wb-catalog-header{border-top-color:var(--line-2);border-bottom-color:var(--line-2)}[data-theme=light] .sp-catalog-embed .wb-catalog-tabs-3{border-bottom-color:var(--line-2)}[data-theme=light] .sp-catalog-embed .wb-card-source,[data-theme=light] .sp-catalog-embed .wb-card-del{color:var(--muted-2)}[data-theme=light] .sp-catalog-embed .wb-file-name{color:var(--text)}[data-theme=light] .sp-catalog-embed .wb-file-icon,[data-theme=light] .sp-catalog-embed .wb-mydata-count{color:var(--muted-2)}[data-theme=light] .sp-catalog-embed .wb-mydata-card{background:var(--panel-2);border-color:var(--line)}[data-theme=light] .sp-catalog-embed .wb-mydata-card:hover{background:var(--panel);border-color:var(--muted-2)}[data-theme=light] .sp-catalog-embed .wb-ds-card{background:var(--panel-2);border-color:var(--line)}[data-theme=light] .sp-catalog-embed .wb-ds-card:hover{background:var(--panel);border-color:var(--muted-2)}[data-theme=light] .sp-catalog-embed .wb-btn-sm{background:var(--panel-2);border-color:var(--line);color:var(--muted)}[data-theme=light] .sp-catalog-embed .wb-btn-sm:hover{background:var(--panel);color:var(--text)}[data-theme=light] .sp-catalog-embed .wb-chip{border-color:var(--line);color:var(--muted);background:var(--panel-2)}[data-theme=light] .sp-catalog-embed .wb-chip:hover{background:var(--panel);color:var(--text)}[data-theme=light] .sp-catalog-embed .wb-status{background:var(--panel-2);color:var(--muted)}[data-theme=light] .sp-catalog-embed .wb-catalog-list{color:var(--text)}[data-theme=light] .sp-catalog-embed .wb-create-row input,[data-theme=light] .sp-catalog-embed .wb-sort-select{background:var(--panel-2);border-color:var(--line);color:var(--text)}[data-theme=light] .bubble-user{background:color-mix(in srgb,var(--accent) 18%,var(--panel));color:var(--accent-text);border-bottom-right-radius:var(--r-1)}[data-theme=light] .sim-hub-card-title{color:var(--text)}[data-theme=light] .sim-hub-card-eta{color:var(--muted-2)}[data-theme=light] .sim-hub-card-desc{color:var(--muted)}[data-theme=light] .sim-hub-card-chevron{color:var(--muted-2)}[data-theme=light] .sim-hub-dot.locked{background:var(--line)}[data-theme=light] .sim-hub-outlet-input{background:var(--panel-2);border-color:var(--line);color:var(--text)}[data-theme=light] .sim-hub-outlet-input::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent)}[data-theme=light] .sim-hub-card-running-bar{background:var(--line)}[data-theme=light] .eng-cfg-hdr-row{border-bottom-color:var(--line-2)}[data-theme=light] .eng-cfg-back{color:var(--muted)}[data-theme=light] .eng-cfg-back:hover{background:var(--panel-2);color:var(--text)}[data-theme=light] .eng-cfg-title{color:var(--text)}[data-theme=light] .eng-cfg-footer{border-top-color:var(--line-2)}[data-theme=light] .eng-run-progress-hdr{color:var(--muted)}[data-theme=light] .wb-data-section{background:var(--panel-2);border-color:var(--line)}[data-theme=light] .wb-data-section-hdr{color:var(--muted)}[data-theme=light] .wb-data-row-title{color:var(--text)}[data-theme=light] .wb-upload-option{color:var(--muted)}[data-theme=light] .wb-dz-hint,[data-theme=light] .wb-mydata-count{color:var(--muted-2)}[data-theme=light] .nb-panel,[data-theme=light] .nb-cells{background:var(--surface-raised)}[data-theme=light] .nb-code-area{box-shadow:var(--shadow-sm)}[data-theme=light] .nb-code-area:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--navy) 14%,transparent),0 2px 8px color-mix(in srgb,var(--ink) 12%,transparent)}[data-theme=light] .nb-cell:hover{border-left-color:var(--line)}[data-theme=light] .nb-cell:focus-within{border-left-color:var(--navy-text)}[data-theme=light] .nb-toolbar{background:var(--panel-2);border-bottom-color:var(--line)}[data-theme=light] .nb-cell-output{background:var(--surface-raised);border-left-color:var(--line)}[data-theme=light] .nb-insert-btn:hover{background:var(--tint-accent);color:var(--accent-text);border-color:var(--accent-text)}[data-theme=dark] .nb-toolbar{background:var(--panel-2);border-bottom-color:var(--veil-2)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--panel-2);color:var(--text);border-color:var(--veil-3)}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{border-color:var(--accent-text);background:var(--veil-1)}[data-theme=dark] .msg-compose-input:focus,[data-theme=dark] .newproj-row input:focus,[data-theme=dark] .fld input:focus{background:var(--veil-1)}[data-density=compact]{--gap: 12px}[data-density=comfy]{--gap: 22px}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:var(--fs-md);line-height:var(--lh-body)}#root{height:100%}button{font-family:inherit;cursor:pointer}a{color:var(--accent-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-text) 48%,transparent);text-underline-offset:2px;transition:color var(--dur-fast),text-decoration-color var(--dur-fast)}a:hover{color:var(--accent-text);text-decoration-color:color-mix(in srgb,var(--accent-text) 64%,transparent)}[data-theme=dark] a{color:var(--accent-text);text-decoration-color:color-mix(in srgb,var(--accent) 48%,transparent)}[data-theme=dark] a:hover{color:var(--accent-text);text-decoration-color:color-mix(in srgb,var(--accent) 64%,transparent)}.maplibregl-ctrl-attrib a,[data-theme=dark] .maplibregl-ctrl-attrib a,[data-theme=dark] .maplibregl-ctrl-attrib a:hover{color:inherit}code:not([class]){background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent-text);padding:var(--space-0-5) var(--space-1);border-radius:var(--r-1);font-family:var(--mono);font-size:var(--fs-sm)}[data-theme=dark] code:not([class]){background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}blockquote{border-left:var(--bw-accent) solid var(--accent);margin:.6rem 0;padding:.1rem .85rem;color:var(--muted)}blockquote p{margin:0}.card-accent-cyan{border-top:var(--bw-accent) solid var(--accent)}.card-accent-gold{border-top:var(--bw-accent) solid var(--gold)}.card-accent-green{border-top:var(--bw-accent) solid var(--success)}.card-accent-danger{border-top:var(--bw-accent) solid var(--danger)}[data-theme=dark] .badge-pill{color:var(--accent-text)}.mono{font-family:var(--mono);font-feature-settings:"tnum" 1;letter-spacing:var(--track-tight)}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.screen{flex:1;min-height:0;overflow:hidden;position:relative;z-index:var(--z-base)}.statusbar{flex:none;height:32px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-4);background:var(--ink);border-top:var(--bw) solid var(--veil-2);color:var(--on-chrome);font-size:var(--fs-base)}@keyframes sbfade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}@keyframes sbpulse{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 50%,transparent)}70%{box-shadow:0 0 0 5px transparent}to{box-shadow:0 0 0 0 transparent}}.sb-cmdk kbd,.cmdk kbd{font-family:var(--mono);font-size:var(--fs-2xs);background:var(--veil-3);border-radius:var(--r-1);padding:0 var(--space-1);line-height:var(--lh-body)}@media(max-width:900px){.sb-mid{display:none}}.cmdk-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-float);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:11vh;animation:fade var(--dur) ease}.cmdk{width:var(--cmdk-w);max-width:calc(100vw - 32px);max-height:70vh;display:flex;flex-direction:column;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);overflow:hidden;animation:cmdkin var(--dur-slow) cubic-bezier(.2,.7,.3,1)}@keyframes cmdkin{0%{transform:translateY(-10px) scale(.99);opacity:.6}to{transform:none;opacity:1}}.cmdk-input{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:var(--bw) solid var(--line-2)}.cmdk-input svg{color:var(--accent-text);flex:none}.cmdk-input input{flex:1;border:none;background:none;font-family:inherit;font-size:var(--fs-lg);color:var(--text)}.cmdk-esc{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);padding:var(--space-0-5) var(--space-2)}.cmdk-x{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-base);display:grid;place-items:center;transition:var(--dur)}.cmdk-x:hover{border-color:var(--danger);color:var(--danger)}.cmdk-body{flex:1;overflow-y:auto;padding:var(--space-2)}.cmdk-answer{margin:var(--space-2);padding:var(--space-4);border-radius:var(--r-4);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 9%,var(--panel)),var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 28%,var(--line))}.cmdk-answer-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--accent-text)}.cmdk-answer p{font-size:var(--fs-md);line-height:var(--lh-body);color:var(--text);margin:var(--space-2) 0 0}.cmdk-answer-act{margin-top:var(--space-3);background:var(--primary);color:var(--on-primary);border:none;font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);transition:var(--dur)}.cmdk-group{margin-bottom:var(--space-1)}.cmdk-group-t{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--muted-2);padding:var(--space-2) var(--space-3) var(--space-1)}.cmdk-item{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:none;background:none;border-radius:var(--r-2);text-align:left;transition:background var(--dur-fast)}.cmdk-item-on{background:var(--tint-primary-md)}.cmdk-ico{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:var(--r-2);background:var(--panel-2);border:var(--bw) solid var(--line);color:var(--accent-text);font-size:var(--fs-base)}.cmdk-label{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text);flex:none}.cmdk-hint{font-size:var(--fs-sm);color:var(--muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-none{padding:var(--space-5);text-align:center;color:var(--muted);font-size:var(--fs-base)}.cmdk-foot{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:var(--bw) solid var(--line-2);background:var(--panel-2);font-size:var(--fs-xs);color:var(--muted)}.cmdk-foot kbd{font-family:var(--mono);font-size:var(--fs-2xs);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-1);padding:0 var(--space-1);margin-right:var(--space-0-5)}.cmdk-foot-ai{margin-left:auto;color:var(--accent-text);font-weight:var(--fw-semibold)}.topnav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:var(--nav-h);flex:none;display:flex;align-items:center;gap:var(--space-5);padding:0 var(--space-5);background:linear-gradient(100deg,var(--ink),var(--navy));color:var(--accent);border-bottom:var(--bw) solid var(--veil-1);position:relative;z-index:var(--z-dropdown)}.brand{display:flex;align-items:center;gap:var(--space-3);color:inherit;min-width:0;flex:none}.brand-mark{width:40px;height:40px;border-radius:var(--r-3);display:grid;place-items:center;background:var(--surface-raised);padding:var(--space-1);flex:none;border:none;cursor:pointer;box-shadow:var(--shadow)}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-width:0}.brand-line{display:flex;align-items:baseline;gap:var(--space-2);line-height:1}.brand-name{font-family:var(--display);font-weight:var(--fw-bold);font-size:var(--fs-xl);letter-spacing:var(--track-tight);white-space:nowrap;line-height:1;cursor:pointer}.brand-name sup{font-size:.6em;font-weight:var(--fw-semibold);color:var(--accent);margin-left:var(--space-px);top:-.5em}.brand-ver{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--on-chrome);letter-spacing:0;padding:var(--space-px) var(--space-1);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);white-space:nowrap;line-height:var(--lh-tight)}.brand-sub{display:flex;align-items:center;gap:var(--space-2);font-family:var(--sans);font-size:var(--fs-2xs);color:var(--on-chrome);white-space:nowrap;line-height:var(--lh-tight)}.brand-fau{font-weight:var(--fw-semibold)}.brand-sep{width:var(--bw);height:.9em;background:var(--veil-4);flex:none}.brand-centre{color:var(--on-chrome);text-decoration:none;display:inline-flex;align-items:center;min-height:var(--space-5);margin-block:calc((var(--space-5) - 1lh) / -2)}.brand-centre:hover{color:var(--on-fill);text-decoration:underline;text-underline-offset:2px}@media(max-width:1280px){.brand-sep,.brand-centre{display:none}}.pmenu{--pmenu-inset: var(--space-5);position:relative;margin-left:var(--space-1);padding-left:var(--pmenu-inset);border-left:var(--bw) solid var(--veil-3)}.pmenu-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--veil-1);border:var(--bw) solid var(--veil-3);border-radius:var(--r-3);color:var(--on-fill);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);white-space:nowrap;max-width:320px}.pmenu-btn:hover{background:var(--veil-2);border-color:var(--veil-4)}.pmenu-btn[aria-expanded=true]{background:var(--veil-3);border-color:var(--accent)}.pmenu-btn-ico{display:grid;place-items:center;color:var(--accent)}.pmenu-btn-ico .icon,.pmenu-btn-ico svg{width:var(--icon-md);height:var(--icon-md)}.pmenu-btn-label{overflow:hidden;text-overflow:ellipsis}.pmenu-chev{display:grid;place-items:center;color:var(--on-chrome)}.pmenu-chev .icon,.pmenu-chev svg{width:var(--icon-sm);height:var(--icon-sm)}.pmenu-btn[aria-expanded=true] .pmenu-chev{transform:rotate(180deg)}.pmenu-panel{position:absolute;top:calc(100% + var(--space-2));left:var(--pmenu-inset, 0);z-index:var(--z-dropdown);min-width:340px;max-width:min(420px,calc(100vw - var(--space-8)));background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);padding:var(--space-2);max-height:calc(100vh - var(--nav-h) - var(--space-6));overflow-y:auto}.pmenu-grp{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2);padding:var(--space-2) var(--space-2) var(--space-1)}.pmenu-sep{border:0;border-top:var(--bw) solid var(--line-2);margin:var(--space-1) var(--space-1)}.pmenu-row{display:grid;grid-template-columns:var(--control-sm) 1fr var(--icon-md);gap:var(--space-2);align-items:center;width:100%;text-align:left;background:none;border:none;border-radius:var(--r-2);padding:var(--space-2);color:var(--text)}.pmenu-row:hover:not(:disabled){background:var(--panel-2)}.pmenu-row:disabled,.pmenu-row.is-blocked{cursor:not-allowed}.pmenu-row.is-blocked .pmenu-t,.pmenu-row.is-blocked .pmenu-ico{color:var(--muted-2)}.pmenu-row[aria-current=page]{background:color-mix(in srgb,var(--accent) 12%,var(--panel));box-shadow:inset var(--bw-accent) 0 0 var(--accent)}.pmenu-row[aria-current=page] .pmenu-t,.pmenu-row[aria-current=page] .pmenu-ico{color:var(--accent-text)}.pmenu-ico{display:grid;place-items:center;color:var(--muted)}.pmenu-ico .icon,.pmenu-ico svg{width:var(--icon-md);height:var(--icon-md)}.pmenu-text{display:flex;flex-direction:column;gap:var(--space-px);min-width:0}.pmenu-t{font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.pmenu-d{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug)}.pmenu-chk{display:grid;place-items:center;color:var(--accent-text);width:var(--icon-md)}.pmenu-chk .icon,.pmenu-chk svg{width:var(--icon-md);height:var(--icon-md)}.pmenu-lock{display:grid;place-items:center;color:var(--muted-2)}.pmenu-lock .icon,.pmenu-lock svg{width:var(--icon-sm);height:var(--icon-sm)}.pmenu-home{grid-template-columns:var(--control-sm) 1fr var(--icon-md)}.pmenu-home .pmenu-t{font-family:var(--display);font-size:var(--fs-md);letter-spacing:var(--track-tight)}.pmenu-mark{display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);background:var(--surface-raised);padding:var(--space-px);box-shadow:var(--shadow);flex:none}.pmenu-mark img{width:100%;height:100%;object-fit:contain;display:block}.pmenu-home .pmenu-t{color:var(--navy-text);font-family:var(--display)}.pmenu-home .pmenu-t sup{font-size:.6em;font-weight:var(--fw-semibold);color:var(--accent-text);margin-left:var(--space-px);top:-.5em}.nav-right{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.nav-bell{position:relative;background:none;border:none;color:var(--on-chrome);padding:var(--space-1)}.nav-bell-wrap{position:relative;display:inline-flex}.bell-dot{position:absolute;top:var(--space-0-5);right:var(--space-0-5);width:var(--space-2);height:var(--space-2);border-radius:var(--r-round);background:var(--status-warning-dot)}.notif-dd{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-dropdown);width:312px;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);overflow:hidden}.notif-dd-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--line-2);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text)}.notif-dd-head button{border:none;background:none;color:var(--accent-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.dd-head-actions{display:flex;align-items:center;gap:var(--space-1)}.dd-x{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);border:var(--bw) solid var(--line)!important;background:var(--panel)!important;color:var(--muted)!important;font-size:var(--fs-xs)!important;display:grid;place-items:center;font-weight:var(--fw-regular)!important}.dd-x:hover{border-color:var(--danger)!important;color:var(--danger)!important}.nav-menu-head .dd-x{display:grid;width:var(--control-sm);height:var(--control-sm);padding:0;margin:0}.nav-menu-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-2);margin-bottom:var(--space-1);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2)}.nav-menu-head span{padding-left:var(--space-0-5)}.bm-menu-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-2);margin-bottom:var(--space-1);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2)}.moverlay-x{margin-left:var(--space-1);width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--veil-4);background:var(--veil-2);color:var(--on-chrome);font-size:var(--fs-xs);display:grid;place-items:center}.moverlay-x:hover{border-color:var(--danger);color:var(--danger-text)}.notif-dd-list{max-height:340px;overflow-y:auto}.notif-it{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--line-2)}.notif-it:last-child{border-bottom:none}.notif-group+.notif-group{border-top:var(--bw) solid var(--line)}.notif-group-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4) 0}.notif-group-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-group-act{border:none;background:none;padding:0;color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap}.notif-group-act:hover{text-decoration:underline}.notif-mark{width:8px;height:8px;border-radius:var(--r-round);flex:none;margin-top:var(--space-1);background:var(--accent)}.notif-good .notif-mark{background:var(--success)}.notif-warn .notif-mark{background:var(--status-warning-dot)}.notif-info .notif-mark{background:var(--accent)}.notif-t{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.notif-m{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-px);line-height:var(--lh-snug)}.notif-at{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-1)}.nav-user{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);color:var(--cyan-80);background:none;border:none;padding:var(--space-1) var(--space-2);border-radius:var(--r-2)}.nav-user:hover{background:var(--veil-1)}.nav-theme-toggle{background:none;border:var(--bw) solid var(--veil-4);color:var(--on-chrome);font-size:var(--fs-lg);width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);display:grid;place-items:center;transition:var(--dur);flex:none;line-height:var(--lh-tight)}.nav-theme-toggle svg,.nav-theme-toggle .icon{width:var(--icon-md);height:var(--icon-md)}.nav-theme-toggle:hover{background:var(--veil-3);color:var(--on-fill)}.nav-right .btn.nav-theme-toggle,.nav-right .btn.nav-bell,.nav-right .btn.nav-tour-btn{background:none;color:var(--on-chrome)}.nav-right .btn.nav-theme-toggle:hover,.nav-right .btn.nav-bell:hover,.nav-right .btn.nav-tour-btn:hover{background:var(--veil-3);color:var(--on-fill)}.nav-publish-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:34px;padding:0 var(--space-3);background:none;border:var(--bw) solid var(--veil-4);color:var(--on-chrome);font-size:var(--fs-base);font-weight:var(--fw-bold);border-radius:var(--r-2);cursor:pointer;white-space:nowrap;flex:none;line-height:var(--lh-tight);transition:var(--dur)}.nav-publish-btn:hover{background:var(--veil-3);color:var(--on-fill)}.nav-user-wrap{position:relative}@media(max-width:900px){.topnav{gap:var(--space-3);padding:0 var(--space-3)}.brand{gap:var(--space-2)}.brand-sub,.brand-ver{display:none}.brand-name{font-size:var(--fs-lg)}.pmenu{--pmenu-inset: 0px;margin-left:0;border-left:none;min-width:0}.pmenu-btn{max-width:200px;font-size:var(--fs-base)}.nav-right{gap:var(--space-2)}.topnav .nav-right .nav-tour-btn{display:none}.nav-publish-btn span,.nav-publish-btn{font-size:0;gap:0;padding:0;width:var(--control-sm);justify-content:center}.nav-publish-btn .icon,.nav-publish-btn svg{font-size:var(--fs-base);width:var(--icon-md);height:var(--icon-md)}.nav-user .mono{display:none}}@media(max-width:640px){.brand-text{display:none}.pmenu-btn{max-width:150px}.pmenu-btn-label{display:none}.nav-right .btn--sm{padding:0 var(--space-2)}}.nav-menu-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dropdown)}.nav-menu{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-dropdown);min-width:184px;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);padding:var(--space-2)}.nav-menu button{display:block;width:100%;text-align:left;border:none;background:none;font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--text);padding:var(--space-2) var(--space-3);border-radius:var(--r-2)}.nav-menu button:hover{background:var(--panel-2)}.nav-menu-sep{height:1px;background:var(--line-2);margin:var(--space-1) 0}.nav-menu-out{color:var(--danger-text)!important;font-weight:var(--fw-semibold)!important}.avatar{width:28px;height:28px;border-radius:var(--r-round);display:grid;place-items:center;background:linear-gradient(150deg,var(--gold),var(--warning));color:var(--gold-10);font-weight:var(--fw-bold);font-size:var(--fs-sm)}.auth-stage{height:100%;display:flex;padding:var(--space-5);position:relative;overflow-y:auto}.auth-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(900px 650px at 75% 15%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 65%),radial-gradient(700px 500px at 10% 85%,color-mix(in srgb,var(--gold) 10%,transparent),transparent 60%),radial-gradient(500px 400px at 50% 110%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 55%),linear-gradient(155deg,var(--ink) 0%,var(--navy) 55%,var(--ink) 100%)}.auth-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--accent) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse 120% 120% at 50% 40%,var(--ink) 20%,transparent 75%);mask-image:radial-gradient(ellipse 120% 120% at 50% 40%,var(--ink) 20%,transparent 75%)}.auth-card{position:relative;margin:auto;width:408px;background:var(--panel);border-radius:var(--r-5);padding:var(--space-6) var(--space-6) var(--space-5);border:var(--bw) solid var(--line);box-shadow:var(--glow-accent-strong);animation:cardIn var(--dur-slower) cubic-bezier(.2,.7,.3,1)}@keyframes cardIn{0%{transform:translateY(12px) scale(.98);opacity:0}to{transform:none;opacity:1}}.auth-mark{width:56px;height:56px;display:grid;place-items:center;margin-bottom:var(--space-4)}.auth-mark img{width:100%;height:100%;object-fit:contain;display:block}.auth-x{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-md);display:grid;place-items:center;transition:var(--dur);z-index:var(--z-raised)}.auth-x:hover{border-color:var(--danger);color:var(--danger)}.auth-card h1{font-family:var(--display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:0 0 var(--space-2);letter-spacing:var(--track-tight)}.auth-card>p{margin:0 0 var(--space-5);color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-body)}.fld{display:block;margin-bottom:var(--space-4)}.fld span{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);margin-bottom:var(--space-2)}.fld input{width:100%;padding:var(--space-3) var(--space-4);border:var(--bw-strong) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-md);background:var(--panel-2);color:var(--text);transition:border-color var(--dur),box-shadow var(--dur),background var(--dur)}.fld input:focus{border-color:var(--accent-text);background:var(--panel);box-shadow:var(--ring)}.auth-alt{margin-top:var(--space-2)}.auth-foot{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--bw) solid var(--line-2);font-size:var(--fs-base);color:var(--muted)}.auth-foot .mono{display:inline-block;font-size:var(--fs-2xs);background:var(--panel-2);border:var(--bw) solid var(--line);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);margin-right:var(--space-2);color:var(--accent);font-weight:var(--fw-semibold)}.auth-card-wide{width:560px;max-width:calc(100vw - 32px)}.su-grid .fld{margin-bottom:0}.su-grid .fld.full{grid-column:1 / -1}.link-btn{border:none;background:none;color:var(--accent-text);font-weight:var(--fw-semibold);font-size:var(--fs-base);padding:0}.link-btn:hover{text-decoration:underline}.profile{height:100%;overflow-y:auto;background:var(--bg)}.prof-band{background:linear-gradient(120deg,var(--ink),var(--navy));color:var(--accent);border-bottom:var(--bw) solid var(--veil-2)}.prof-band-inner{max-width:min(1600px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-5) var(--space-5) 0}.prof-band-back{border:var(--bw) solid var(--veil-4);background:var(--veil-1);color:var(--on-chrome);font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);transition:var(--dur)}.prof-band-back:hover{background:var(--veil-3);color:var(--on-fill)}.prof-band-main{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) 0 var(--space-5)}.prof-avatar-lg{width:72px;height:72px;flex:none;border-radius:var(--r-5);display:grid;place-items:center;background:linear-gradient(150deg,var(--gold),var(--warning));color:var(--gold-10);font-family:var(--display);font-weight:var(--fw-bold);font-size:var(--fs-2xl);box-shadow:var(--shadow)}.prof-band-id{flex:1;min-width:0}.prof-band-name{font-family:var(--display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight)}.prof-band-sub{font-size:var(--fs-base);color:var(--on-chrome)}.prof-band-org{font-size:var(--fs-base);color:var(--on-chrome);margin-top:var(--space-2)}.prof-badges{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.prof-badge{font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-2);border-radius:var(--r-4)}.prof-badge.admin{background:color-mix(in srgb,var(--danger) 26%,transparent);color:var(--danger-text)}.prof-badge.role{background:color-mix(in srgb,var(--accent) 26%,transparent);color:var(--accent-text)}.prof-band .prof-badge.admin{color:var(--crimson-90)}.prof-band .prof-badge.role{color:var(--cyan-90)}.prof-band-stats{display:flex;gap:var(--space-5);padding:0 var(--space-2);flex:none}.prof-band-stats>div{text-align:center}.prof-band-stats b{display:block;font-family:var(--display);font-size:var(--fs-xl);font-weight:var(--fw-semibold)}.prof-band-stats span{font-size:var(--fs-xs);color:var(--on-chrome)}.prof-band-signout{flex:none;align-self:flex-start;border:var(--bw) solid var(--veil-4);background:var(--veil-1);color:var(--on-chrome);font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);white-space:nowrap;transition:var(--dur)}.prof-band-signout:hover{border-color:var(--danger);color:var(--danger-text)}.prof-tabs{display:flex;flex-wrap:wrap;gap:var(--space-0-5) 0}.prof-tabs button{border:none;background:none;color:var(--on-chrome);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--space-3) var(--space-4);border-bottom:var(--bw-accent) solid transparent;transition:var(--dur);white-space:nowrap;flex:none}.prof-tabs button:hover{color:var(--on-fill)}.prof-tabs button.on{color:var(--on-fill);border-bottom-color:var(--accent)}.prof-tab-badge{display:inline-block;min-width:18px;margin-left:var(--space-2);padding:var(--space-px) var(--space-2);border-radius:var(--r-3);background:var(--fau-red);color:var(--on-fill);font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-snug);vertical-align:1px}.profile-inner{max-width:min(1600px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-5)}.prof-card{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-5);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.prof-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.prof-stat{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-4);text-align:center}.prof-stat-n{font-family:var(--display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text)}.prof-stat-l{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-1)}button.prof-stat{font:inherit;width:100%}.prof-cta{cursor:pointer;border-color:color-mix(in srgb,var(--accent) 30%,var(--line));transition:var(--dur)}.prof-cta:hover{border-color:var(--accent-text);transform:translateY(-2px);box-shadow:var(--shadow)}.prof-cta .prof-stat-n{color:var(--accent-text)}.prof-section-title{font-family:var(--display);font-size:var(--fs-md);font-weight:var(--fw-semibold);margin-bottom:var(--space-4)}.prof-bars{display:flex;flex-direction:column;gap:var(--space-3)}.prof-bar-row{display:flex;align-items:center;gap:var(--space-4)}.prof-bar-label{width:150px;flex:none;display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);font-weight:var(--fw-medium)}.prof-dot{width:10px;height:10px;border-radius:var(--r-round);flex:none}.prof-bar-track{flex:1;height:9px;border-radius:var(--r-2);background:var(--line-2);overflow:hidden}.prof-bar{height:100%;border-radius:var(--r-2)}.prof-bar-n{width:22px;text-align:right;font-size:var(--fs-base);color:var(--muted);flex:none}.prof-proj-list{display:flex;flex-direction:column;gap:var(--space-2)}.prof-proj{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel);text-align:left;transition:var(--dur)}.prof-proj:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translate(2px)}.prof-proj-dot{width:8px;height:8px;border-radius:var(--r-round);background:var(--accent);flex:none}.prof-proj-name{font-family:var(--display);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.prof-proj-model{font-size:var(--fs-sm);color:var(--muted);margin-left:auto}.prof-proj-upd{font-size:var(--fs-xs);color:var(--muted-2);width:92px;text-align:right}.pm-av{display:inline-grid;place-items:center;border-radius:var(--r-round);color:var(--accent-text);font-weight:var(--fw-bold);flex:none}.task-od{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--danger-text);background:color-mix(in srgb,var(--danger) 12%,transparent);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1)}.kanban-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.kanban-projsel{display:flex;gap:var(--space-2);flex-wrap:wrap}.kanban-projsel button{display:inline-flex;align-items:center;gap:var(--space-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-base);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-3);transition:var(--dur)}.kanban-projsel button.on{background:var(--navy);color:var(--on-fill);border-color:var(--navy-text)}.kanban-pct{font-size:var(--fs-xs)}.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-3)}.kcol{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-4);display:flex;flex-direction:column;min-height:180px}.kcol-head{display:flex;align-items:center;justify-content:space-between;margin:0;padding:var(--space-3) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-bold);border-bottom:var(--bw) solid var(--line);border-radius:var(--r-4) var(--r-4) 0 0}.kcol-n{background:var(--shade-1);border-radius:var(--r-3);padding:var(--space-px) var(--space-2);font-size:var(--fs-xs)}.kcol-body{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);flex:1}.kcol-empty{color:var(--muted-2);text-align:center;padding:var(--space-4) var(--space-2);font-size:var(--fs-base)}.task-card{text-align:left;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-3);transition:var(--dur);box-shadow:var(--shadow-sm)}.task-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-2px);box-shadow:var(--shadow)}[data-theme=dark] .task-card:hover{box-shadow:var(--shadow)}button.task-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}.task-card.overdue{border-left:var(--bw-accent) solid var(--status-error-dot)}.task-overdue{border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.task-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.task-card-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.task-card-proj{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-1)}.task-card-foot{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.task-card-assignee{font-size:var(--fs-sm);color:var(--muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-due{font-size:var(--fs-xs);color:var(--muted-2)}.team-head-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.team-card{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-4);box-shadow:var(--shadow-sm)}.team-card-top{display:flex;align-items:center;gap:var(--space-3)}.team-name{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.team-role{font-size:var(--fs-sm);color:var(--muted)}.team-stats{display:flex;gap:var(--space-4);margin:var(--space-4) 0;padding:var(--space-3) 0;border-top:var(--bw) solid var(--line-2);border-bottom:var(--bw) solid var(--line-2)}.team-stats>div{text-align:center}.team-stats b{display:block;font-family:var(--display);font-size:var(--fs-xl)}.team-stats span{font-size:var(--fs-xs);color:var(--muted-2)}.team-load-top{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--space-2)}.team-load-track{height:7px;border-radius:var(--r-1);background:var(--line-2);overflow:hidden}.team-load-track i{display:block;height:100%;border-radius:var(--r-1)}.perf-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.perf-tile{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-4);text-align:center}.perf-n{font-family:var(--display);font-size:var(--fs-2xl);font-weight:var(--fw-semibold);color:var(--text)}.perf-warn{color:var(--danger)}.perf-l{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-1)}.perf-bars{display:flex;flex-direction:column;gap:var(--space-3)}.perf-bar-row{display:flex;align-items:center;gap:var(--space-4)}.perf-bar-name{width:170px;flex:none;display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);font-weight:var(--fw-medium)}.perf-bar-track{flex:1;height:10px;border-radius:var(--r-2);background:var(--line-2);overflow:hidden}.perf-bar-track i{display:block;height:100%;border-radius:var(--r-2);background:linear-gradient(90deg,var(--accent),var(--accent-deep))}.perf-bar-n{width:26px;text-align:right;font-size:var(--fs-base);color:var(--muted);flex:none}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(34px)}to{transform:translate(0)}}.drawer-proj{font-size:var(--fs-xs);color:var(--accent-text);font-weight:var(--fw-semibold)}.drawer-meta{display:flex;gap:var(--space-2);padding:0 var(--space-5) var(--space-4)}@media(max-width:900px){.kanban{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.perf-tiles,.prof-stats{grid-template-columns:1fr 1fr}.prof-band-main{flex-wrap:wrap}}.mtgs-col-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2);margin:var(--space-4) 0 var(--space-2)}.mtg-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-4);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-sm);text-align:left;width:100%}button.mtg-card{transition:var(--dur)}button.mtg-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-1px)}.mtg-when{flex:none;width:56px;display:flex;flex-direction:column;align-items:center;gap:var(--space-0-5);padding-right:var(--space-4);border-right:var(--bw) solid var(--line-2)}.mtg-day{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--accent-text)}.mtg-time{font-size:var(--fs-xs);color:var(--muted)}.mtg-main{flex:1;min-width:0}.mtg-title{font-family:var(--display);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.mtg-meta{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-0-5)}.mtg-attendees{display:flex;align-items:center;margin-top:var(--space-2)}.mtg-attendees .pm-av{margin-right:calc(-1 * var(--space-2));border:var(--bw-strong) solid var(--panel)}.mtg-actions{display:flex;gap:var(--space-2);flex:none}.mtg-ai-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,var(--line));padding:var(--space-1) var(--space-2);border-radius:var(--r-2);flex:none}.mtg-summary{margin:var(--space-4) var(--space-5);padding:var(--space-4);border-radius:var(--r-4);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 26%,var(--line))}.mtg-summary-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--accent-text);margin-bottom:var(--space-2)}.mtg-summary p{font-size:var(--fs-base);line-height:var(--lh-loose);margin:0;color:var(--text)}.mtg-decisions{padding:0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.mtg-decision{display:flex;gap:var(--space-2);font-size:var(--fs-base);line-height:var(--lh-snug)}.mtg-check{color:var(--success-text);font-weight:var(--fw-heavy);flex:none}.mtg-actions-list{padding:0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.mtg-action-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel)}.mtg-action-body{flex:1;min-width:0}.mtg-action-text{font-size:var(--fs-base);font-weight:var(--fw-medium)}.mtg-action-meta{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-0-5)}.mtg-action-task{flex:none;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 10%,var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,var(--line));padding:var(--space-1) var(--space-2);border-radius:var(--r-2);transition:var(--dur)}.mtg-agenda{padding:0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.mtg-agenda-row{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-base);padding:var(--space-2) 0;border-bottom:var(--bw) solid var(--line-2)}.mtg-agenda-n{width:20px;height:20px;flex:none;display:grid;place-items:center;border-radius:var(--r-2);background:var(--panel-2);border:var(--bw) solid var(--line);font-size:var(--fs-xs);color:var(--muted)}.mtg-transcript{padding:0 var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.mtg-tline{font-size:var(--fs-base);line-height:var(--lh-body);color:var(--muted)}.mtg-tline b{color:var(--text)}.msg-thread.on{background:var(--panel);box-shadow:inset 3px 0 0 var(--accent)}.msg-thread-ico.group{background:color-mix(in srgb,var(--navy) 14%,var(--panel));color:var(--navy-text)}.msg-thread-ico.group.sm{width:30px;height:30px;font-size:var(--fs-md)}.msg-thread-count{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--muted);background:var(--panel-2);border-radius:var(--r-2);padding:var(--space-px) var(--space-2)}.msg-unread{flex:none;min-width:18px;height:18px;padding:0 var(--space-1);border-radius:var(--r-2);background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);font-weight:var(--fw-bold);display:grid;place-items:center}.msg-sum-toggle{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);background:var(--panel-2);border:var(--bw) solid var(--line);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);flex:none;transition:var(--dur)}.msg-sum-toggle.on{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.msg-summary{position:relative;margin:var(--space-3) var(--space-4) var(--space-1);padding:var(--space-3) var(--space-7) var(--space-3) var(--space-3);border-radius:var(--r-3);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 8%,var(--panel)),var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,var(--line))}.msg-summary-head{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--accent-text);margin-bottom:var(--space-2)}.msg-summary p{font-size:var(--fs-base);line-height:var(--lh-body);margin:0;color:var(--text)}.msg-summary-x{position:absolute;top:8px;right:8px;width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-xs)}.msg-summary-x:hover{border-color:var(--danger);color:var(--danger)}.msg-bubble-row{display:flex;align-items:flex-end;gap:var(--space-2);max-width:78%}.msg-bubble-row.them{align-self:flex-start}.msg-bubble-row.me{align-self:flex-end;flex-direction:row-reverse}.msg-bubble{padding:var(--space-2) var(--space-3);border-radius:var(--r-4)}.msg-bubble-row.them .msg-bubble{background:var(--panel-2);border:var(--bw) solid var(--line);border-bottom-left-radius:var(--r-1)}.msg-bubble-row.me .msg-bubble{background:var(--navy);color:var(--accent-text);border-bottom-right-radius:var(--r-1)}.msg-bubble-from{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent-text);margin-bottom:var(--space-0-5)}.msg-bubble-text{font-size:var(--fs-base);line-height:var(--lh-snug)}.msg-bubble-at{font-size:var(--fs-sm);margin-top:var(--space-1);text-align:right}.msg-compose input{flex:1;padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-base);background:var(--panel-2)}.msg-compose input:focus{border-color:var(--accent-text);background:var(--surface-raised)}@media(max-width:640px){.msgs{grid-template-columns:1fr}.msg-threads{display:none}}@media(max-width:640px){.mtg-card{flex-wrap:wrap}.mtg-actions{width:100%}.prof-band-stats,.prof-band-main{gap:var(--space-4)}}.apidocs{height:100%;overflow-y:auto;background:var(--bg)}.api-band-main{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);padding:var(--space-5) 0 var(--space-5);flex-wrap:wrap}.api-kicker{font-size:var(--fs-xs);color:var(--accent-text);font-weight:var(--fw-semibold);letter-spacing:var(--track-caps)}.api-title{font-family:var(--display);font-size:var(--fs-xl);margin:var(--space-2) 0 0;letter-spacing:var(--track-tight)}.api-lead{font-size:var(--fs-base);color:var(--on-chrome);margin:var(--space-2) 0 0;max-width:520px;line-height:var(--lh-body)}.api-baseurl{display:flex;flex-direction:column;gap:var(--space-1)}.api-base-l{font-size:var(--fs-2xs);color:var(--on-chrome);letter-spacing:var(--track-caps)}.api-baseurl code{font-size:var(--fs-base);color:var(--accent-text);background:var(--veil-1);border:var(--bw) solid var(--veil-3);padding:var(--space-2) var(--space-3);border-radius:var(--r-2)}.api-inner{max-width:min(1600px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-5);display:grid;grid-template-columns:220px 1fr;gap:var(--space-5)}.api-nav{display:flex;flex-direction:column;gap:var(--space-1);align-self:start;position:sticky;top:24px}.api-nav>button{text-align:left;border:var(--bw) solid transparent;background:none;color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);transition:var(--dur)}.api-nav>button:hover{background:var(--panel);color:var(--text)}.api-nav>button.on{background:var(--panel);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:var(--shadow-sm)}.api-auth-note{margin-top:var(--space-4);padding:var(--space-4);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4)}.api-auth-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);margin-bottom:var(--space-2)}.api-auth-note p{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-body);margin:0}.api-auth-note code{font-size:var(--fs-xs);background:var(--panel-2);padding:var(--space-px) var(--space-1);border-radius:var(--r-1);color:var(--accent-text)}.api-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.api-group-head h2{font-family:var(--display);font-size:var(--fs-lg);margin:0}.api-endpoints{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.api-m{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);flex:none;width:46px;text-align:center}.api-m-get{background:color-mix(in srgb,var(--success) 16%,var(--surface-raised));color:var(--success-text)}.api-m-post{background:color-mix(in srgb,var(--accent) 16%,var(--panel));color:var(--accent-text)}.api-path{font-size:var(--fs-base);color:var(--text);flex:none}.api-ep-d{font-size:var(--fs-sm);color:var(--muted);margin-left:auto;text-align:right}.api-sample{background:var(--ink);border:var(--bw) solid var(--veil-2);border-radius:var(--r-4);overflow:hidden;margin-bottom:var(--space-4)}.api-sample-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);color:var(--on-chrome);background:var(--veil-1)}.api-sample-head>span{display:flex;align-items:center;gap:var(--space-1)}.api-sample-head i{width:8px;height:8px;border-radius:var(--r-round);background:var(--veil-4)}.api-sample-head i:first-child{background:var(--danger)}.api-sample-head i:nth-child(2){background:var(--warning)}.api-sample-head i:nth-child(3){background:var(--success);margin-right:var(--space-2)}.api-sample-head button{border:none;background:var(--veil-2);color:var(--on-chrome);font-size:var(--fs-xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);font-family:var(--mono)}.api-sample pre{margin:0;padding:var(--space-4);font-size:var(--fs-sm);line-height:var(--lh-loose);color:var(--accent-text);overflow-x:auto}.api-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-4);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);font-size:var(--fs-base);color:var(--muted)}@media(max-width:900px){.api-inner{grid-template-columns:1fr}.api-nav{position:static;flex-direction:row;flex-wrap:wrap}}.settings{height:100%;overflow-y:auto;background:var(--bg)}.set-band-main{padding:var(--space-4) 0 var(--space-5)}.set-inner{max-width:min(1600px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-5);display:grid;grid-template-columns:220px 1fr;gap:var(--space-5)}.set-nav{display:flex;flex-direction:column;gap:var(--space-1);align-self:start;position:sticky;top:24px}.set-nav>button{text-align:left;border:var(--bw) solid transparent;background:none;color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);transition:var(--dur)}.set-nav>button:hover{background:var(--panel);color:var(--text)}.set-nav>button.on{background:var(--panel);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 30%,var(--line));box-shadow:var(--shadow-sm)}.set-nav-sep{height:1px;background:var(--line);margin:var(--space-2) var(--space-1)}.set-nav-out{text-align:left;border:var(--bw) solid transparent;background:none;color:var(--danger);font-size:var(--fs-md);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2)}.set-nav-out:hover{background:color-mix(in srgb,var(--danger) 8%,var(--panel))}.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.set-grid .fld{margin-bottom:0}.set-grid .fld.full{grid-column:1 / -1}.set-actions{margin-top:var(--space-4)}.set-lead{font-size:var(--fs-base);color:var(--muted);margin:0 0 var(--space-4);line-height:var(--lh-body)}.set-lead code,.set-row code{font-size:var(--fs-sm);background:var(--panel-2);padding:var(--space-px) var(--space-1);border-radius:var(--r-1);color:var(--accent-text)}.set-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:var(--bw) solid var(--line-2)}.set-row:last-child{border-bottom:none}.set-row-t{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.set-row-d{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-0-5)}.set-row select{padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);font-family:inherit;font-size:var(--fs-base);background:var(--panel-2);color:var(--text);min-width:170px}.set-row select:focus{border-color:var(--accent-text);background:var(--surface-raised)}label.set-row{cursor:pointer}.set-check{flex:none;width:var(--icon-md);height:var(--icon-md);margin:0;cursor:pointer;accent-color:var(--primary)}.set-saved{font-size:var(--fs-sm);color:var(--success-text);margin:var(--space-3) 0 0}.set-signin{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4)}.set-signin>.icon{color:var(--muted);flex:none;margin-top:var(--space-1)}.toggle{width:44px;height:25px;border-radius:var(--r-4);border:none;background:var(--line);position:relative;transition:background var(--dur);flex:none;cursor:pointer}.token{flex:1;min-width:200px;font-size:var(--fs-base);background:var(--panel-2);border:var(--bw) solid var(--line);padding:var(--space-3) var(--space-3);border-radius:var(--r-3);color:var(--text);letter-spacing:var(--track-wide)}.set-pat-reveal{background:var(--tint-warning);border:var(--bw) solid var(--tint-warning-md);border-radius:var(--r-3);padding:var(--space-4) var(--space-4);margin-bottom:var(--space-4)}.set-pat-reveal-t{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--warning-deep);margin-bottom:var(--space-2)}.set-pat-reveal-d{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-body);margin-bottom:var(--space-2)}[data-theme=dark] .set-pat-reveal-t{color:var(--warning-text)}.set-pat-secret{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.set-pat-secret code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-2) var(--space-3);font-size:var(--fs-base);color:var(--text);-webkit-user-select:all;user-select:all}.set-pat-dismiss{border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-3);border-radius:var(--r-2);cursor:pointer}.set-pat-dismiss:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.set-pat-empty{font-size:var(--fs-base);color:var(--muted);line-height:var(--lh-body);background:var(--panel-2);border:var(--bw) dashed var(--line);border-radius:var(--r-3);padding:var(--space-4)}.set-pat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.set-pat-row{border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel-2);padding:var(--space-3) var(--space-4)}.set-pat-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.set-pat-name{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text)}.set-pat-prefix{font-size:var(--fs-sm);color:var(--muted);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-1);padding:var(--space-px) var(--space-2)}.set-pat-tag{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--danger);background:var(--tint-danger);border:var(--bw) solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:var(--r-pill);padding:var(--space-0-5) var(--space-2)}.set-pat-revoke{margin-left:auto;border:var(--bw) solid var(--line);background:var(--panel);color:var(--danger);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);cursor:pointer}.set-pat-revoke:hover{border-color:var(--danger);background:var(--tint-danger)}.set-pat-scopes{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.set-pat-chip{font-family:var(--mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--accent-text);background:var(--tint-accent);border:var(--bw) solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--r-pill);padding:var(--space-0-5) var(--space-2)}.set-pat-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--muted)}.set-pat-create{margin-top:var(--space-5);padding-top:var(--space-4);border-top:var(--bw) solid var(--line-2)}.set-pat-fields{margin-top:var(--space-3)}.set-pat-fields select{width:100%;padding:var(--space-3) var(--space-4);border:var(--bw-strong) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-md);background:var(--panel-2);color:var(--text)}.set-pat-fields select:focus{border-color:var(--accent-text);background:var(--panel);box-shadow:var(--ring)}.set-pat-scopepick{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.set-pat-scopepick-t{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted)}.set-pat-scope{display:flex;align-items:flex-start;gap:var(--space-2);min-height:var(--control-sm);font-size:var(--fs-base);color:var(--text);cursor:pointer}.set-pat-scope input{width:var(--space-4);height:var(--space-4);margin:0;flex:none;cursor:pointer;accent-color:var(--accent-deep)}.set-pat-scope code{font-size:var(--fs-sm);color:var(--accent-text)}.set-pat-scope i{display:block;font-style:normal;font-size:var(--fs-sm);color:var(--muted)}.set-pat-err{font-size:var(--fs-sm);color:var(--danger);margin-left:var(--space-2)}.set-pat-linkish{background:none;border:0;padding:0;margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--accent-text);cursor:pointer;text-decoration:underline}.set-pat-hint{margin:var(--space-4) 0 0;font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-loose)}.set-pat-hint code{font-family:var(--mono);font-size:var(--fs-sm);background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);padding:var(--space-px) var(--space-1);color:var(--accent-text)}@media(max-width:900px){.set-inner{grid-template-columns:1fr}.set-nav{position:static;flex-direction:row;flex-wrap:wrap}.set-grid{grid-template-columns:1fr}}.portal2{height:100%;display:flex;min-height:0;position:relative}.disc{position:relative;width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;min-height:0;border-right:var(--bw) solid var(--veil-2);background:linear-gradient(180deg,var(--ink),var(--navy-2));box-shadow:var(--shadow)}[data-theme=light] .disc{background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%);border-right:var(--bw) solid var(--line);box-shadow:var(--shadow)}.disc-head{padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:var(--bw) solid var(--line-2);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 5%,var(--panel)) 0%,var(--panel) 100%);position:relative}.disc-head:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-deep))}.disc-head h2{font-family:var(--display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:0;letter-spacing:var(--track-tight);padding-right:var(--control-md)}.disc-head .disc-collapse{position:absolute;top:var(--space-4);right:var(--space-3)}.disc-body{flex:1;min-height:0;display:flex;flex-direction:column}.disc.is-collapsed{width:auto;flex:none;align-items:center}.disc-handle{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-1)}.disc-handle-label{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--display);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--track-wide);color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none}@media(max-width:768px){.disc:not(.is-collapsed){position:absolute;top:0;left:0;bottom:0;z-index:var(--z-sticky);width:min(var(--sidebar-w),calc(100vw - var(--control-lg) - var(--space-4)));box-shadow:var(--shadow-lg)}}.disc-head p{margin:var(--space-1) 0 0;font-size:var(--fs-base);color:var(--muted);line-height:var(--lh-snug)}.disc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-2)}.dstat{background:var(--panel);border:var(--bw) solid var(--line);border-top:var(--bw-strong) solid var(--line);border-radius:var(--r-3);padding:var(--space-2) var(--space-2);text-align:center;transition:border-color var(--dur),box-shadow var(--dur)}.dstat:hover{border-color:var(--accent-text);box-shadow:var(--shadow-sm)}.dstat span{display:block;font-size:var(--fs-2xs);color:var(--muted-2);text-transform:uppercase;letter-spacing:var(--track-caps);margin-top:var(--space-1)}.dstat strong{font-family:var(--display);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text);display:block}.disc-tabs{display:flex;gap:var(--space-1);margin:0 var(--space-5) var(--space-1);background:var(--panel-2);padding:var(--space-1);border-radius:var(--r-3);border:var(--bw) solid var(--line)}.disc-tabs button{flex:1;border:none;background:none;padding:var(--space-2);border-radius:var(--r-2);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--muted);transition:color var(--dur),background var(--dur)}.disc-tabs button:hover:not(.on){color:var(--text);background:var(--veil-6)}.disc-tabs button.on{background:var(--panel);color:var(--accent-text);box-shadow:var(--shadow-sm);font-weight:var(--fw-bold)}.disc-scroll{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-5) var(--space-5)}.fld2{display:block;margin-bottom:var(--space-4)}.fld2-top{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);margin-bottom:var(--space-2)}.nl-toggle.on{border-color:var(--accent-text);background:var(--tint-accent);color:var(--accent-text)}.fld2-input{width:100%;padding:var(--space-3) var(--space-4);border:var(--bw-strong) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-base);background:var(--panel-2);color:var(--text);transition:border-color var(--dur),box-shadow var(--dur),background var(--dur)}.fld2-input:focus{border-color:var(--accent-text);background:var(--panel);box-shadow:var(--ring)}.extent{border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-3);background:var(--panel-2);margin-bottom:var(--space-4)}.extent-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.extent-head h3{font-size:var(--fs-base);margin:0;font-weight:var(--fw-semibold)}.extent-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--accent-text);background:var(--tint-accent-md);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-4)}.extent-tools{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.extent-tools .tool{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);border-radius:var(--r-2);transition:var(--dur)}.extent-tools .tool:hover{border-color:var(--accent-text);color:var(--accent-text)}.extent-tools .tool.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.bbox{display:flex;align-items:center;gap:var(--space-2)}.bbox-l{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--muted-2);background:var(--panel);border:var(--bw) solid var(--line);padding:var(--space-1) var(--space-2);border-radius:var(--r-1)}.bbox-v{font-size:var(--fs-xs);color:var(--muted)}.search-go{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3);border:var(--bw) solid transparent;border-radius:var(--r-3);background:var(--primary);color:var(--on-primary);font-weight:var(--fw-bold);font-size:var(--fs-md);box-shadow:var(--shadow-sm);transition:var(--dur)}.search-go:hover{transform:translateY(-1px)}.search-go:disabled{color:var(--on-surface-disabled);background:var(--panel-2);box-shadow:none;cursor:not-allowed;transform:none}.search-go--secondary{background:var(--surface-raised);color:var(--text);border-color:var(--line);box-shadow:none}.ai-toggle{font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;letter-spacing:var(--track-wide);transition:var(--dur)}.ai-toggle:hover{border-color:var(--navy-text);color:var(--navy-text)}.ai-toggle.on{background:linear-gradient(135deg,var(--navy),var(--navy));color:var(--on-fill);border-color:transparent;box-shadow:var(--shadow)}.ai-spin{display:inline-block;animation:ai-pulse var(--dur-loop) ease-in-out infinite}@keyframes ai-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.ai-interp{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--r-3);background:var(--tint-navy);border:var(--bw) solid color-mix(in srgb,var(--navy-text) 18%,var(--line))}.ai-interp-head{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-2)}.ai-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--track-caps);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);background:var(--primary);color:var(--on-primary);flex:none}.ai-interp-summary{font-size:var(--fs-base);color:var(--text);line-height:var(--lh-snug);flex:1}.ai-interp-x{margin-left:auto;font-size:var(--fs-sm);color:var(--muted);background:none;border:none;cursor:pointer;padding:0 var(--space-0-5);line-height:var(--lh-tight);flex:none}.ai-interp-x:hover{color:var(--text)}.ai-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.ai-chip{font-size:var(--fs-sm);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-2);font-weight:var(--fw-semibold)}.ai-chip.key{background:var(--tint-accent-md);color:var(--accent-text);border:var(--bw) solid color-mix(in srgb,var(--accent) 25%,var(--line))}.ai-chip.loc{background:var(--tint-navy);color:var(--navy-text);border:var(--bw) solid color-mix(in srgb,var(--navy-text) 20%,var(--line))}.ai-chip.date{background:var(--tint-amber);color:var(--muted);border:var(--bw) solid color-mix(in srgb,var(--gold) 20%,var(--line))}.ai-chip.cat{background:var(--tint-navy);color:var(--navy-text);border:var(--bw) solid color-mix(in srgb,var(--navy-text) 18%,var(--line))}.disc-summary{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-5) var(--space-2);font-size:var(--fs-sm);color:var(--muted)}.disc-summary strong{color:var(--text);font-weight:var(--fw-bold)}.disc-summary .icon{color:var(--accent-text);flex:none}.area{border:var(--bw) solid var(--line);border-radius:var(--r-4);background:var(--panel-2);padding:var(--space-3);margin-bottom:var(--space-4)}.area-h{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--muted-2);text-transform:uppercase;letter-spacing:var(--track-caps);margin:0 0 var(--space-2)}.area-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--r-3);background:var(--panel);border:var(--bw) solid var(--line);margin-bottom:var(--space-3)}.area-card.set{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--tint-accent)}.area-card>.icon{color:var(--accent-text);flex:none;margin-top:var(--space-0-5)}.area-card-body{flex:1;min-width:0}.area-name{font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.area-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-0-5)}.area-x{flex:none;border:none;background:none;color:var(--muted);padding:var(--space-1);border-radius:var(--r-2)}.area-x:hover{color:var(--danger);background:var(--veil-6)}.area-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.area-tools select.tool{width:100%}.area-tools .tool{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);border-radius:var(--r-2);transition:var(--dur);min-width:0}.area-tools .tool:hover:not(:disabled){border-color:var(--accent-text);color:var(--accent-text)}.area-tools .tool.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.area-tools .tool:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.area-projects{width:100%;margin-top:var(--space-2)}.area-hint{font-size:var(--fs-sm);color:var(--muted);margin:var(--space-2) 0 0;line-height:var(--lh-body)}.search-row{position:relative;display:flex;gap:var(--space-2);align-items:stretch;margin-bottom:var(--space-3)}.search-row .fld2-input{flex:1;min-width:0}.search-row .ai-toggle{flex:none}.themes{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-1);margin-bottom:var(--space-4)}.theme-chip{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-4);border:var(--bw) solid var(--line);background:var(--panel);color:var(--text);transition:var(--dur)}.theme-chip:hover:not(:disabled){border-color:var(--accent-text)}.theme-chip.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.theme-chip--empty{color:var(--muted-2)}.theme-chip b{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.fetch{border:var(--bw) dashed var(--line);border-radius:var(--r-4);padding:var(--space-3);margin-top:var(--space-4)}.fetch-h{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);margin:0 0 var(--space-1)}.fetch-sub{font-size:var(--fs-xs);color:var(--muted);margin:0 0 var(--space-3);line-height:var(--lh-snug)}.fetch-list{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.fetch-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);font-size:var(--fs-sm);cursor:pointer;padding:var(--space-1) 0}.fetch-row input{accent-color:var(--accent-text);width:var(--space-4);height:var(--space-4);margin:0}.fetch-row small{margin-left:auto;color:var(--muted-2);font-size:var(--fs-2xs)}.onmap-sec{margin-bottom:var(--space-5)}.onmap-row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);font-size:var(--fs-base);margin-bottom:var(--space-1)}.onmap-row.on{border-color:var(--accent-text);background:var(--tint-accent)}.onmap-row>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onmap-row input[type=range]{width:90px;accent-color:var(--accent-text)}.onmap-row input[type=checkbox]{accent-color:var(--accent-text);width:var(--space-4);height:var(--space-4);margin:0}.onmap-row small{flex:none;color:var(--muted-2);font-size:var(--fs-2xs)}.onmap-val{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;min-width:3ch;text-align:right}.lchips{display:flex;gap:var(--space-2);margin:var(--space-3) 0}.lchips button{font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-weight:var(--fw-semibold)}.lchips button.on{background:var(--navy);color:var(--on-fill);border-color:var(--navy-text)}.llist{display:flex;flex-direction:column;gap:var(--space-1)}.lrow{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);font-size:var(--fs-base);cursor:pointer;transition:var(--dur)}.lrow:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.lrow.on{border-color:var(--accent-text);background:var(--tint-accent)}.lrow input{accent-color:var(--accent-text);width:var(--space-4);height:var(--space-4);margin:0}.ltype{width:18px;height:18px;border-radius:var(--r-1);display:grid;place-items:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold);flex:none}.ltype.raster{background:color-mix(in srgb,var(--accent) 16%,var(--surface-raised));color:var(--accent-text)}.ltype.vector{background:color-mix(in srgb,var(--success) 18%,var(--surface-raised));color:var(--text)}.lname{flex:1}.lsummary{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-3);text-align:center}.gis-section-h{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2);margin-bottom:var(--space-2)}.gis-count{font-size:var(--fs-xs);color:var(--muted);text-transform:none;letter-spacing:0}.layer-stack{display:flex;flex-direction:column;gap:var(--space-2)}.layer-empty{font-size:var(--fs-sm);color:var(--muted-2);text-align:center;padding:var(--space-3);border:var(--bw) dashed var(--line);border-radius:var(--r-2)}.glayer-sw.lg{width:60px;height:12px}.add-layer-list{display:flex;flex-direction:column;gap:var(--space-1)}.add-layer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);transition:var(--dur)}.add-layer:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.add-layer-name{flex:1;min-width:0;font-size:var(--fs-base);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-layer-plus{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent-text);font-size:var(--fs-md);font-weight:var(--fw-bold);display:grid;place-items:center}.gis-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:var(--space-5);animation:fade var(--dur) ease}.gis-modal{width:440px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);overflow:hidden;animation:cmdkin var(--dur-slow) cubic-bezier(.2,.7,.3,1)}.gis-table-modal{width:560px}.gis-modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:var(--bw) solid var(--line-2);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.gis-modal-head>span{display:flex;align-items:center;gap:var(--space-2);min-width:0}.gis-modal-ico{color:var(--accent-text)}.gis-modal-x{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-base)}.gis-modal-x:hover{border-color:var(--danger);color:var(--danger)}.gis-modal-body{padding:var(--space-4);overflow-y:auto}.gis-modal-foot{padding:var(--space-2) var(--space-4);border-top:var(--bw) solid var(--line-2);font-size:var(--fs-xs);color:var(--muted-2)}.gis-modal-foot-actions{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--bw) solid var(--line-2);background:var(--panel-2)}.gis-table-wrap{overflow:auto;flex:1}.gis-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.gis-table th{position:sticky;top:0;text-align:left;padding:var(--space-2) var(--space-4);background:var(--panel-2);border-bottom:var(--bw) solid var(--line);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted);white-space:nowrap}.gis-table td{padding:var(--space-2) var(--space-4);border-bottom:var(--bw) solid var(--line-2);color:var(--text);white-space:nowrap}.gis-table tr:nth-child(2n) td{background:color-mix(in srgb,var(--accent) 4%,transparent)}[data-theme=dark] .gis-table tr:nth-child(2n) td{background:var(--veil-1)}.gis-table tr:hover td{background:rgba(var(--state-layer),var(--state-hover))}.gis-td-key{font-weight:var(--fw-semibold);color:var(--accent-text)}.sym-ramp.on{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 7%,var(--panel))}.ds-swatch,.lc-swatch,.layer-swatch{flex:none;border-radius:var(--r-2);display:block;position:relative;overflow:hidden;border:var(--bw) solid var(--swatch-edge)}.ds-swatch[data-k=depth]{background:linear-gradient(135deg,#9fd6ef,#2c90c8 55%,#114a78)}.ds-swatch[data-k=dem]{background:linear-gradient(135deg,#e8dec4,#b39b6a 55%,#6f5a32)}.ds-swatch[data-k=landcover]{background:linear-gradient(135deg,#a9d6a0,#5c9e5e 55%,#2f6b39)}.ds-swatch[data-k=soils]{background:linear-gradient(135deg,#e3b98a,#b5783c 55%,#7a4e22)}.ds-swatch[data-k=rain]{background:linear-gradient(135deg,#b9cdee,#3f6fb0 55%,#1f3f70)}.ds-swatch[data-k=hydro]{background:linear-gradient(135deg,#9be4ec,#1f9baa 55%,#0c5b66)}.ds-swatch:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:var(--opacity-faint);background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:8px 8px}.portal-map{flex:1;position:relative;display:flex;flex-direction:column;min-width:320px;background:var(--ink)}.portal-map .mapwrap{flex:1;min-height:0}.bm-menu{position:absolute;top:0;right:calc(100% + 8px);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-dropdown);min-width:170px}.bm-menu button{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-3);border:none;background:none;font-size:var(--fs-base);color:var(--text);border-radius:var(--r-2);white-space:nowrap}.bm-menu button:hover{background:var(--panel-2)}.bm-menu button.on{color:var(--navy-text);font-weight:var(--fw-semibold);background:var(--tint-primary)}.wb-bm-section-head{padding:var(--space-2) var(--space-2) var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text);border-top:var(--bw) solid var(--line, var(--line-2));margin-top:var(--space-1)}.moverlay{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);background:color-mix(in srgb,var(--ink) 80%,transparent);color:var(--accent);border:var(--bw) solid color-mix(in srgb,var(--accent) 35%,transparent);padding:var(--space-2) var(--space-4);border-radius:var(--r-3);font-size:var(--fs-base);font-weight:var(--fw-medium);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-raised)}.portal-help{position:absolute;right:var(--space-4);bottom:var(--space-4);width:var(--control-lg);height:var(--control-lg);border-radius:var(--r-round);border:none;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;box-shadow:var(--shadow);transition:var(--dur);z-index:var(--z-raised)}.portal-help:hover{transform:translateY(-2px) scale(1.04)}.portal-help-on{background:var(--ink);color:var(--on-fill)}.results{position:relative;width:var(--dock-w);flex:none;display:flex;flex-direction:column;min-height:0;border-left:var(--bw) solid var(--line);background:var(--panel)}@media(max-width:1180px){.portal2.has-results .results{position:absolute;top:0;right:0;bottom:0;z-index:var(--z-sticky);width:var(--dock-w);box-shadow:var(--shadow-lg)}}@media(max-width:1280px){.portal2.has-results .results{position:absolute;top:0;right:0;bottom:0;z-index:var(--z-sticky);width:var(--dock-w);box-shadow:var(--shadow-lg)}}@media(max-width:900px){.portal2.has-results .results{width:320px}}.results-head{position:relative;padding:var(--space-4) var(--space-5);border-bottom:var(--bw) solid var(--line-2)}.results-head h2{font-family:var(--display);font-size:var(--fs-xl);margin:0;letter-spacing:var(--track-tight)}.results-head p{margin:var(--space-1) 0 0;font-size:var(--fs-sm);color:var(--muted)}.results-close{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-base);display:grid;place-items:center}.results-close:hover{border-color:var(--danger);color:var(--danger)}.results-empty{padding:var(--space-6) var(--space-5);color:var(--muted);font-size:var(--fs-base);text-align:center}.rlist{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.rcard{position:relative;text-align:left;padding:var(--space-4);border:var(--bw) solid var(--line);border-radius:var(--r-4);background:var(--panel);transition:var(--dur);cursor:pointer}.rcard:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-2px);box-shadow:var(--shadow)}[data-theme=dark] .rcard:hover{box-shadow:var(--shadow)}.rcard-on{border-color:var(--accent-text);box-shadow:var(--ring)}.rcard-x{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);display:grid;place-items:center;z-index:var(--z-raised);transition:var(--dur)}.rcard-x:hover{border-color:var(--danger);color:var(--danger)}.rcard-head{display:flex;gap:var(--space-3);align-items:center}.rcard-titles{min-width:0;flex:1}.rcard-titles h3{font-size:var(--fs-md);margin:0;font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.rcard-date{font-size:var(--fs-xs);color:var(--muted-2)}.rcard-badges{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-3) 0 var(--space-2)}.abadge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-2);border-radius:var(--r-1);text-transform:uppercase;letter-spacing:var(--track-wide)}.abadge.raster{background:color-mix(in srgb,var(--accent) 16%,var(--surface-raised));color:var(--accent-text)}.abadge.vector{background:color-mix(in srgb,var(--success) 18%,var(--surface-raised));color:var(--text)}.abadge.cat{background:var(--panel-2);color:var(--muted);border:var(--bw) solid var(--line)}.abadge.abadge--free{background:var(--tint-success);color:var(--success-text)}.abadge.abadge--request{background:var(--tint-amber);color:var(--gold-text)}.abadge.abadge--reference{display:inline-flex;align-items:center;gap:var(--space-1);background:color-mix(in srgb,var(--navy) 14%,var(--surface-raised));color:var(--navy-text);border:var(--bw) solid color-mix(in srgb,var(--navy) 30%,var(--line))}.rcard-cite{font-size:var(--fs-xs);color:var(--muted);margin:0 0 var(--space-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.abadge.abadge--reference svg,.abadge.abadge--reference .icon{width:var(--icon-sm, 12px);height:var(--icon-sm, 12px)}.ract svg,.ract .icon{width:var(--icon-sm, 14px);height:var(--icon-sm, 14px);vertical-align:-2px;margin-right:var(--space-1)}.rcard-id{font-size:var(--fs-2xs);color:var(--muted-2);margin-left:auto}.rcard-meta{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-2)}.rcard-meta span{font-size:var(--fs-2xs);color:var(--muted);background:var(--panel-2);border:var(--bw) solid var(--line-2);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1)}.rcard-kw{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.kw{font-size:var(--fs-xs);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 7%,var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 20%,transparent);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-4)}.rcard-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ract{font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);border-radius:var(--r-2);transition:var(--dur)}.ract:hover{border-color:var(--accent-text);color:var(--accent-text)}.ract.primary{background:var(--navy);color:var(--on-fill);border-color:var(--navy-text)}.ract.accent{background:var(--panel);color:var(--primary);border-color:var(--primary)}a.ract{text-decoration:none;display:inline-flex;align-items:center}.results-tabs{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--line-2)}.results-tabs>button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:var(--bw) solid transparent;border-radius:var(--r-2);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--muted);background:transparent;transition:var(--dur)}.results-tabs>button.on{background:var(--tint-primary);color:var(--navy-text);border-color:color-mix(in srgb,var(--primary) 45%,transparent)}.results-tabs .dock-tab-ico{font-size:var(--fs-sm)}.results-tabs .dock-tab-live{width:6px;height:6px;border-radius:var(--r-round);background:var(--success)}.results-tabs .results-close{position:relative;top:auto;right:auto;flex:none}.results-tabs>.results-fold{flex:none;width:var(--control-sm);height:var(--control-sm);padding:0}.results-tabs>button:not(.results-fold):not(.results-close){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1599px){.results-tabs{gap:2px;padding-inline:var(--space-2)}.results-tabs>button:not(.results-fold):not(.results-close){gap:var(--space-1);padding-inline:var(--space-1);font-size:var(--fs-sm)}}.cat-tab-n{font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);color:var(--muted)}.results-tabs>button.on .cat-tab-n{color:inherit}.cat-controls{flex:none;max-height:42%;overflow-y:auto;padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--line-2);display:flex;flex-direction:column;gap:var(--space-3)}.cat-filters{display:flex;flex-direction:column;gap:var(--space-3)}.cat-filter{display:flex;flex-direction:column;gap:var(--space-1)}.cat-filter-lbl{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted)}.cat-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.cat-filter--dates{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.cat-date{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 8rem;min-width:0}.cat-switch{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text);min-height:var(--control-sm)}.cat-clear{align-self:flex-start}.cat-sort{display:flex;flex-direction:column;gap:var(--space-1)}.cat-note{margin:0;font-size:var(--fs-sm);color:var(--muted);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.cat-note p{margin:0}.cat-summary{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-sm);color:var(--text);background:var(--panel-2)}.cat-summary-txt{min-width:0;overflow-wrap:anywhere}.results-pypilot{flex:1;min-height:0;display:flex}.results-pypilot .pypilot{width:100%;flex:1;min-height:0;border-left:none}.rcard.compact{padding:var(--space-3) var(--space-3)}.rcard-desc-clamp{font-size:var(--fs-sm);color:var(--muted);margin:var(--space-2) 0;line-height:var(--lh-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rcard.compact .rcard-badges{margin:var(--space-2) 0 var(--space-2)}.rcard.compact .rcard-actions{gap:var(--space-2)}.dataset-detail{max-width:620px}.dataset-detail h2{font-size:var(--fs-lg);margin:0 var(--space-5) var(--space-0-5) 0;line-height:var(--lh-tight)}.dd-desc{font-size:var(--fs-base);color:var(--text);line-height:var(--lh-loose);margin:var(--space-3) 0}.dd-meta{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-4);margin:var(--space-2) 0;font-size:var(--fs-base)}.dd-meta dt{color:var(--muted);font-weight:var(--fw-semibold)}.dd-meta dd{margin:0;color:var(--text)}.dd-kw{margin:var(--space-2) 0 var(--space-1)}.dd-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-4)}.map-legend{position:static;background:var(--panel-glass);border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-2) var(--space-2);box-shadow:var(--shadow);min-width:148px;max-width:var(--map-legend-w);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.map-legend-title{display:block;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-2);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-legend-bar{height:10px;border-radius:var(--r-1);border:var(--bw) solid var(--swatch-edge)}.map-legend-scale{display:flex;justify-content:space-between;font-size:var(--fs-2xs);color:var(--muted);margin-top:var(--space-1)}.rcard-ai{margin-top:var(--space-3)}.ds-ai{display:flex;gap:var(--space-2);align-items:flex-start;margin-top:var(--space-4);padding:var(--space-3) var(--space-3);background:color-mix(in srgb,var(--accent) 8%,var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--r-3);font-size:var(--fs-base);color:var(--text);line-height:var(--lh-body)}.ds-ai svg{color:var(--accent-text);flex:none;margin-top:var(--space-0-5)}.wb{height:100%;display:grid;place-items:center;position:relative;background:var(--bg);overflow:auto}.wb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(900px 600px at 75% 5%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 65%),radial-gradient(600px 500px at 5% 85%,color-mix(in srgb,var(--navy) 18%,transparent),transparent 60%)}.wb-panel{position:relative;width:var(--picker-w);max-width:calc(100vw - 48px);max-height:calc(100dvh - var(--nav-h) - var(--statusbar-h) - 2 * var(--space-6));background:var(--panel);border-radius:var(--r-5);box-shadow:var(--shadow-lg);border:var(--bw) solid var(--line);overflow:hidden;margin:var(--space-6) 0;display:flex;flex-direction:column}.wb-head{display:flex;align-items:flex-end;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-5);border-bottom:var(--bw) solid var(--line-2);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--panel)) 0%,var(--panel) 100%)}.wb-kicker{font-size:var(--fs-xs);color:var(--accent-text);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase}.wb-head h1{font-family:var(--display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:var(--space-2) 0 0;letter-spacing:var(--track-tight)}.wb-tabs{display:flex;gap:var(--space-1);background:var(--panel-2);padding:var(--space-1);border-radius:var(--r-3);border:var(--bw) solid var(--line)}.wb-tabs button{border:none;background:none;padding:var(--space-2) var(--space-4);border-radius:var(--r-2);font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--muted)}.wb-tabs button.on{background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm)}.wb-projects{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:max-content;align-content:start;gap:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-6);overflow-y:auto;min-height:0;flex:1 1 auto}.proj-card{text-align:left;padding:var(--space-4) var(--space-4) var(--space-4);border:var(--bw) solid var(--line);border-radius:var(--r-4);background:var(--panel);transition:border-color var(--dur),transform var(--dur),box-shadow var(--dur);position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;min-width:0}.proj-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);border-radius:var(--r-1) 0 0 var(--r-1)}.proj-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));transform:translateY(-2px);box-shadow:var(--shadow)}.proj-card:focus-visible{outline:var(--bw-strong) solid var(--accent);outline-offset:2px}.proj-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);min-width:0}.proj-model{font-size:var(--fs-2xs);color:var(--muted-2);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);white-space:nowrap;flex-shrink:0}.proj-status{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-5);background:var(--tint-accent-md);color:var(--accent-text);white-space:nowrap;flex-shrink:0}.proj-name{font-family:var(--display);font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.proj-aoi{font-size:var(--fs-sm);color:var(--muted-2);margin:var(--space-1) 0 var(--space-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-track{height:5px;border-radius:var(--r-1);background:var(--line);overflow:hidden}.proj-track span{display:block;height:100%;background:var(--accent);border-radius:var(--r-1)}.proj-facts{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin-top:var(--space-2);font-size:var(--fs-xs);color:var(--muted-2)}.proj-facts b{color:var(--text);font-weight:var(--fw-semibold)}.proj-actions{display:flex;margin-left:auto}.proj-card.on{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.proj-del-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--tint-danger);border:var(--bw) solid color-mix(in srgb,var(--danger) 25%,transparent);border-radius:var(--r-2);font-size:var(--fs-sm);color:var(--text);min-width:0}.proj-del-confirm span{flex:1 1 260px;min-width:0;font-weight:var(--fw-medium);line-height:var(--lh-snug)}.proj-del-yes{padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:none;background:var(--danger);color:var(--on-fill);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer}.proj-del-no{padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);cursor:pointer}.clone-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:color-mix(in srgb,var(--ink) 48%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center}.clone-modal{width:min(440px,92vw);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg, 0 20px 60px var(--shade-4));padding:var(--space-5) var(--space-5)}.clone-modal-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--text)}.clone-modal-sub{font-size:var(--fs-sm);color:var(--muted);margin-top:var(--space-1);line-height:var(--lh-snug)}.clone-modal-label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-wide);margin:var(--space-4) 0 var(--space-1)}.clone-modal-input{width:100%;padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel-2, var(--panel));color:var(--text);font-size:var(--fs-base)}.clone-modal-input:focus{border-color:var(--accent-text);box-shadow:var(--ring)}.clone-modal-hint{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-2);line-height:var(--lh-snug)}.clone-modal-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4)}.proj-status--new{background:var(--status-neutral-bg);color:var(--status-neutral-fg);border:var(--bw) solid var(--line)}.proj-status--done{background:var(--status-success-bg);color:var(--status-success-fg)}.proj-status--active{background:var(--status-info-bg);color:var(--status-info-fg)}.proj-status--running{background:var(--status-running-bg);color:var(--status-running-fg)}.proj-status--failed{background:var(--status-error-bg);color:var(--status-error-fg)}.wb-tab-count{display:inline-block;margin-left:var(--space-2);padding:0 var(--space-2);min-width:18px;border-radius:var(--r-5);background:var(--tint-accent-md);color:var(--accent-text);font-size:var(--fs-2xs);font-weight:var(--fw-bold);line-height:var(--lh-tight);text-align:center}.wb-capline{font-size:var(--fs-2xs);color:var(--muted);padding:var(--space-2) var(--space-6) 0}.plist-wrap{display:flex;flex-direction:column;min-height:0;flex:1 1 auto}.plist-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-4) var(--space-5) 0}.plist-search{flex:1 1 260px;min-width:220px;max-width:380px;min-height:var(--control-sm);padding:0 var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel-2);color:var(--text);font-size:var(--fs-sm)}.plist-search:focus{border-color:var(--accent-text);box-shadow:var(--ring)}.plist-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.plist-chips .chip{padding:var(--space-1) var(--space-2);border-radius:var(--r-5);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);cursor:pointer;line-height:var(--lh-tight);transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast)}.plist-chips .chip:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));color:var(--text)}.plist-chips .chip.on{background:var(--navy);border-color:var(--navy-text);color:var(--on-fill)}.plist-chips .chip--failed.on{background:var(--danger);border-color:var(--danger)}.plist-spacer{flex:1 1 0}.plist-sort{min-height:var(--control-sm);padding:0 var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--text);font-size:var(--fs-sm);margin-left:auto}.plist-view{display:flex;min-height:var(--control-sm);border:var(--bw) solid var(--line);border-radius:var(--r-2);overflow:hidden}.plist-view button{border:none;background:var(--panel);color:var(--muted);min-height:var(--control-sm);padding:0 var(--space-2);font-size:var(--fs-sm);cursor:pointer;line-height:var(--lh-tight)}.plist-view button+button{border-left:var(--bw) solid var(--line)}.plist-view button.on{background:var(--primary);color:var(--on-primary)}.plist-more{position:relative;display:flex}.plist-more .plist-more__btn{border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--muted)}.plist-more .plist-more__btn:hover,.plist-more .plist-more__btn.on{background:var(--panel-2);color:var(--text)}.plist-more__menu{position:absolute;right:0;top:calc(100% + var(--space-1));z-index:var(--z-dropdown);min-width:200px;display:flex;flex-direction:column;padding:var(--space-1);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow)}.plist-more__menu--start{right:auto;left:0}.plist-more__item{text-align:left;border:none;background:transparent;color:var(--text);font-size:var(--fs-sm);padding:var(--space-2);border-radius:var(--r-2);cursor:pointer}.plist-more__item:hover,.plist-more__item:focus-visible{background:var(--panel-2)}.plist-more__item--danger{color:var(--danger-text)}.plist-more__item--danger:hover,.plist-more__item--danger:focus-visible{background:var(--tint-danger)}@media(max-width:1180px){.plist-toolbar .plist-spacer{flex:0 0 100%;height:0}}.plist-count{font-size:var(--fs-2xs);color:var(--muted-2);padding:var(--space-2) var(--space-5) 0;text-transform:uppercase;letter-spacing:var(--track-wide);font-weight:var(--fw-semibold)}.plist-empty{padding:var(--space-6) var(--space-5) var(--space-7);color:var(--muted);font-size:var(--fs-xs);text-align:center}.plist{display:flex;flex-direction:column;padding:var(--space-2) var(--space-5) var(--space-5);overflow-y:auto;min-height:min(15rem,30vh);flex:1 1 0}.plist-row{display:grid;grid-template-columns:minmax(280px,40ch) 150px 120px auto;justify-content:start;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border:var(--bw) solid transparent;border-bottom-color:var(--line-2);cursor:pointer;position:relative;transition:background var(--dur-fast),border-color var(--dur-fast)}.plist-row:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:var(--r-1);background:var(--accent);opacity:0;transition:opacity var(--dur-fast)}.plist-row:hover{background:rgba(var(--state-layer),var(--state-hover));border-radius:var(--r-3);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.plist-row.on{background:var(--tint-accent);border-radius:var(--r-3);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.plist-row:hover:before,.plist-row.on:before{opacity:1}.plist-row:focus-visible{outline:var(--bw-strong) solid var(--accent);outline-offset:-2px;border-radius:var(--r-3)}.plist-row--confirming{grid-template-columns:minmax(0,1fr);gap:var(--space-1);background:var(--tint-danger);border-radius:var(--r-3)}.plist-row--confirming .plist-status,.plist-row--confirming .plist-dates{display:none}.plist-row .proj-del-confirm{margin-top:0;padding:var(--space-1) var(--space-2);background:transparent;border:none}.plist-main{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.plist-name{font-family:var(--display);font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:var(--track-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.plist-sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--fs-xs);color:var(--muted-2);min-width:0}.plist-type-badge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--accent-text);background:var(--tint-accent);padding:var(--space-px) var(--space-2);border-radius:var(--r-1);white-space:nowrap}.plist-fact{white-space:nowrap}.plist-fact b{color:var(--text);font-weight:var(--fw-semibold)}.plist-status{display:flex;flex-direction:column;gap:var(--space-1);align-items:flex-start;min-width:0}.plist-status .proj-status{max-width:100%;overflow:hidden;text-overflow:ellipsis}.plist-track{width:100%;height:4px;border-radius:var(--r-1);background:var(--line);overflow:hidden}.plist-track span{display:block;height:100%;background:var(--accent);border-radius:var(--r-1)}.plist-dates{display:flex;flex-direction:column;gap:var(--space-0-5);font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.plist-meta{font-size:var(--fs-sm);color:var(--muted-2);text-transform:capitalize;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plist-actions{display:flex;gap:var(--space-0-5)}.plist-rowmenu{position:relative;display:flex}.plist-rowmenu .plist-rowmenu__btn.on{color:var(--text);background:var(--panel-2)}.plist-rowmenu__menu{position:fixed;left:auto}.plist-rowmenu__menu .plist-more__item{display:flex;align-items:center;gap:var(--space-2)}.plist-rowmenu__sep{height:var(--bw);background:var(--line);margin:var(--space-1) 0}.plist-next{font-size:var(--fs-xs);color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plist-next span{color:var(--muted-2);font-weight:var(--fw-semibold)}.proj-card .plist-next{margin:0 0 var(--space-2)}.plist-sort-label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--muted);margin-left:auto}.plist-sort-label .plist-sort{margin-left:0}.plist-empty--error{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);font-size:var(--fs-sm)}.plist-empty__title{font-weight:var(--fw-semibold);color:var(--text)}.plist-empty__detail{font-size:var(--fs-xs);color:var(--muted-2)}.proj-status .icon,.proj-status svg{width:1em;height:1em;vertical-align:-.125em}.plist-act{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-round);border:none;background:transparent;color:var(--muted-2);font-size:var(--fs-md);line-height:var(--lh-tight);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background var(--dur-fast),color var(--dur-fast)}.plist-act svg,.plist-act .icon{width:var(--icon-md);height:var(--icon-md)}.plist-act:hover{color:var(--accent-text)}.plist-act--danger:hover{color:var(--danger-text)}@media(max-width:900px){.plist-row{grid-template-columns:minmax(0,1fr) 110px auto}.plist-dates,.plist-fact{display:none}}.proj-card--confirming{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.plist-empty--compact{padding:var(--space-4) var(--space-5)}.plist-ref{flex:0 1 auto;max-height:40vh;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin:0 var(--space-5) var(--space-5);padding-top:var(--space-3);border-top:var(--bw) solid var(--line)}.plist-ref__head{display:flex;align-items:baseline;gap:var(--space-2)}.plist-ref__title{font-size:var(--fs-2xs);color:var(--muted-2);text-transform:uppercase;letter-spacing:var(--track-wide);font-weight:var(--fw-semibold)}.plist-ref__count{font-size:var(--fs-2xs);color:var(--muted-2);font-variant-numeric:tabular-nums}.plist-ref__hint{font-size:var(--fs-xs);color:var(--muted);margin:var(--space-1) 0 var(--space-2)}.plist-ref__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.plist-ref__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--line)}.plist-ref__row:last-child{border-bottom:none}.plist-ref__desc{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plist-ref__actions{display:flex;align-items:center;gap:var(--space-1)}.plist-ref__cite{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug)}.plist-ref__cite b,.rcard-cite b{color:var(--text);font-weight:var(--fw-semibold)}@media(max-width:600px){.plist-ref__row{grid-template-columns:minmax(0,1fr)}}.wb-new{padding:var(--space-5);overflow-y:auto;min-height:0;flex:1 1 auto;overscroll-behavior:contain}.newproj-section-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);color:var(--muted-2);text-transform:uppercase;margin-bottom:var(--space-2)}.newproj-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2)}.newproj-type-card{text-align:left;padding:var(--space-4) var(--space-4) var(--space-3);border:var(--bw-strong) solid var(--line);border-radius:var(--r-4);background:var(--panel-2);cursor:pointer;transition:border-color var(--dur),background var(--dur);display:flex;flex-direction:column;gap:var(--space-1)}.newproj-type-card:hover{border-color:var(--accent-text)}.newproj-type-card--active{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 8%,var(--panel-2))}.newproj-type-top{display:flex;align-items:center;gap:var(--space-2)}.newproj-type-tag{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-2);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent-text)}.newproj-type-label{font-size:var(--fs-base);font-weight:var(--fw-semibold);flex:1;color:var(--text)}.newproj-type-check{font-size:var(--fs-sm);color:var(--accent-text);font-weight:var(--fw-bold)}.newproj-type-engine{font-size:var(--fs-xs);color:var(--muted-2);font-family:var(--mono)}.newproj-type-desc{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}.newproj-type-best{font-size:var(--fs-xs);color:var(--text);line-height:var(--lh-snug);margin-top:var(--space-1)}.newproj-type-best b{font-weight:var(--fw-semibold)}.newproj-type-note{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug);margin:0 0 var(--space-2)}.newproj-units{display:inline-flex;border:var(--bw) solid var(--line);border-radius:var(--r-3);overflow:hidden;margin-top:var(--space-2)}.newproj-units__opt{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-0-5);border:none;background:var(--panel);color:var(--muted);padding:var(--space-2) var(--space-4);cursor:pointer;text-align:left}.newproj-units__opt+.newproj-units__opt{border-left:var(--bw) solid var(--line)}.newproj-units__opt.on{background:var(--primary);color:var(--on-primary)}.newproj-units__opt.on .newproj-units__hint{color:inherit;opacity:.85}.newproj-units__label{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.newproj-units__hint{font-size:var(--fs-2xs);color:var(--muted-2)}.newproj-name-msg{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-1);min-height:1.2em}.newproj-name-msg--bad{color:var(--danger-text)}.newproj-foot{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-2)}.newproj-type-steps{margin:var(--space-1) 0 0 var(--space-4);padding:0;font-size:var(--fs-xs);color:var(--muted-2);line-height:var(--lh-loose)}.newproj-row{display:flex;gap:var(--space-2);margin:var(--space-2) 0 0}.newproj-row input{flex:1;padding:var(--space-3) var(--space-4);border:var(--bw-strong) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-md);background:var(--panel-2);transition:border-color var(--dur),box-shadow var(--dur)}.newproj-row input:focus{border-color:var(--accent-text);background:var(--panel);box-shadow:var(--ring)}.wb-new .ds-ai{margin-top:var(--space-4)}.newproj-cases-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.newproj-case{display:flex;gap:var(--space-4);align-items:flex-start;padding:var(--space-3) var(--space-4);border:var(--bw) solid var(--line);border-radius:var(--r-4);background:var(--panel-2)}.newproj-case-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.newproj-case-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.newproj-case-summary{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}.newproj-case-cite{font-size:var(--fs-xs);color:var(--muted-2);font-style:italic}.newproj-case-actions{display:flex;flex-direction:column;gap:var(--space-2);flex:none}.newproj-case-actions .btn{text-decoration:none}.newproj-cases-empty{font-size:var(--fs-sm);color:var(--muted-2)}.newproj-cases-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-5);margin-bottom:var(--space-2)}.newproj-cases-head .newproj-section-label{margin:0}.bundle-part{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text);margin-top:var(--space-2);cursor:pointer}.bundle-part input{margin-top:2px}.bundle-part-hint{display:block;font-size:var(--fs-xs);color:var(--muted)}@media(max-width:640px){.newproj-case{flex-direction:column}.newproj-case-actions{flex-direction:row}}.workspace{height:100%;display:flex;min-height:0}.dock{position:relative;width:var(--dock-w);flex:none;display:flex;flex-direction:column;min-height:0;background:var(--navy);border-left:var(--bw) solid var(--veil-2)}.dock.is-collapsed{display:none}.dock-tabs{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-2);border-bottom:var(--bw) solid var(--veil-2);background:color-mix(in srgb,var(--ink) 80%,transparent)}.dock-tabs>button{flex:1;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:var(--bw) solid transparent;background:none;border-radius:var(--r-2);font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-tabs>button:hover{color:var(--text)}.dock-tabs>button.on{background:var(--veil-2);color:var(--text);box-shadow:none;border-color:var(--veil-3)}.dock-tabs>.panel-collapse{flex:none;width:var(--control-sm);height:var(--control-sm);padding:0;justify-content:center}.dock-tab-ico{display:inline-grid;place-items:center;color:var(--accent-text);flex:none}.dock-tab-live{width:6px;height:6px;border-radius:var(--r-round);background:var(--success);flex:none}.dock-close{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--text);font-size:var(--fs-base);display:grid;place-items:center;transition:var(--dur)}.dock-close:hover{border-color:var(--danger);color:var(--danger-text)}.dock-body{flex:1;min-height:0;display:flex;flex-direction:column}.dock-body .steppanel,.dock-body .pypilot{width:100%;flex:1;min-height:0;border-left:none}.dock-reopen{width:46px;flex:none;display:flex;flex-direction:column;border-left:var(--bw) solid var(--veil-2)}.dock-reopen .dock-strip{flex:1;border-left:none;border-bottom:var(--bw) solid var(--veil-2)}.panel-collapse{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-tight);display:grid;place-items:center;transition:var(--dur)}.panel-collapse:hover{border-color:var(--accent-text);color:var(--accent-text)}.panel-collapse.light{border-color:var(--veil-4);background:var(--veil-1);color:var(--text)}.panel-collapse.light:hover{background:var(--veil-3);color:var(--on-fill)}.head-right{display:flex;align-items:center;gap:var(--space-2)}.dock-strip{flex:none;width:46px;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;background:color-mix(in srgb,var(--ink) 64%,transparent);color:var(--on-chrome);transition:background var(--dur)}.dock-strip:hover{background:var(--navy);color:var(--accent)}.dock-strip-ico{width:28px;height:28px;border-radius:var(--r-2);display:grid;place-items:center;background:var(--veil-1);border:var(--bw) solid var(--veil-3);color:var(--accent)}.dock-strip-pypilot .dock-strip-ico{background:linear-gradient(150deg,var(--accent),var(--accent-deep));color:var(--on-accent);border:none}.dock-strip-label{writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--track-wide)}.dock-strip-chev{margin-top:auto;font-size:var(--fs-lg)}.rail{position:relative;width:var(--rail-w);flex:none;background:linear-gradient(180deg,var(--ink),var(--navy-2));color:var(--text);display:flex;flex-direction:column;overflow-y:auto}.rail-mini{width:66px;flex:none;background:linear-gradient(180deg,var(--ink),var(--navy-2));display:flex;flex-direction:column;align-items:center;padding:var(--space-3) 0;gap:var(--space-4);overflow-y:auto}.mini-expand{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--veil-4);background:var(--veil-1);color:var(--on-chrome);font-size:var(--fs-lg);display:grid;place-items:center}.mini-expand:hover{background:var(--veil-3);color:var(--on-fill)}.mini-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);align-items:center}.mini-dot{width:36px;height:36px;border-radius:var(--r-3);border:var(--bw-strong) solid var(--veil-4);background:var(--veil-1);color:var(--on-chrome);font-family:var(--mono);font-size:var(--fs-base);font-weight:var(--fw-semibold);display:grid;place-items:center;transition:var(--dur);position:relative}.mini-dot:hover:not(:disabled){background:var(--veil-3);color:var(--on-fill)}.mini-dot:disabled{opacity:var(--opacity-disabled)}.mini-dot.st-done{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.mini-dot.st-active{border-color:var(--gold-text);color:var(--gold-text)}.mini-on{box-shadow:0 0 0 2px var(--accent)}.mini-sep{width:28px;height:1px;background:var(--veil-3)}.mini-nb-wrap{position:relative}.mini-nb-btn{position:relative;width:36px;height:36px;border-radius:var(--r-3);border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--accent);font-size:var(--fs-md);display:grid;place-items:center;transition:var(--dur)}.mini-nb-btn:hover,.mini-nb-btn.on{background:var(--veil-3)}.mini-nb-count{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 var(--space-1);border-radius:var(--r-2);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs);font-weight:var(--fw-bold);display:grid;place-items:center;font-family:var(--mono)}.mini-nb-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dropdown)}.mini-nb-flyout{position:absolute;left:calc(100% + var(--space-2));bottom:0;z-index:var(--z-dropdown);width:210px;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);padding:var(--space-2);animation:slideIn var(--dur) ease}.mini-nb-flyout-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-2);margin-bottom:var(--space-1);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2)}.mini-nb-flyout-head button{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-1);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-2xs)}.mini-nb-flyout-head button:hover{border-color:var(--danger);color:var(--danger)}.mini-nb-item{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-2);border:none;background:none;border-radius:var(--r-2);font-size:var(--fs-base);color:var(--text)}.mini-nb-item:hover{background:var(--panel-2)}.mini-nb-item-ico{color:var(--accent-text)}.rail-kicker{font-size:var(--fs-sm);letter-spacing:var(--track-caps);color:var(--text);font-weight:var(--fw-semibold)}.rail-progress{padding:var(--space-4) var(--space-4) var(--space-4);border-bottom:var(--bw) solid var(--veil-2)}.rail-progress-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.rail-count{font-size:var(--fs-base);color:var(--accent-text);font-weight:var(--fw-semibold)}.track{height:5px;border-radius:var(--r-1);background:var(--veil-3);overflow:hidden}.track span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:var(--r-1);transition:width var(--dur-slower)}.sys-bar{padding:var(--space-2) var(--space-4) var(--space-2);border-top:var(--bw) solid var(--veil-2);margin-top:var(--space-1);background:var(--shade-2)}.sys-bar--busy{border-top-color:color-mix(in srgb,var(--accent) 24%,transparent)}.sys-bar--warn{border-top-color:color-mix(in srgb,var(--warning) 32%,transparent);background:color-mix(in srgb,var(--warning) 4%,transparent)}.sys-bar-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.sys-task-dot{width:6px;height:6px;border-radius:var(--r-round);background:color-mix(in srgb,var(--accent) 32%,transparent);flex-shrink:0}.sys-task-dot.busy{background:var(--status-running-dot);box-shadow:var(--shadow);animation:pulse var(--dur-loop-slow) ease-in-out infinite}.sys-bar-label{font-size:var(--fs-sm);color:var(--text);flex:1}.sys-res-row{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1)}.sys-res-k{font-size:var(--fs-xs);color:var(--text);width:30px;flex-shrink:0;letter-spacing:var(--track-wide)}.sys-res-bar{flex:1;height:3px;background:var(--veil-2);border-radius:var(--r-1);overflow:hidden}.sys-res-fill{height:100%;background:var(--accent);border-radius:var(--r-1);transition:width var(--dur-slower) ease}.sys-res-fill.warn{background:var(--warning)}.sys-res-v{font-size:var(--fs-xs);color:var(--text);width:52px;text-align:right;flex-shrink:0}.sys-bar-warn-msg{font-size:var(--fs-sm);color:var(--warning-text);margin-top:var(--space-1)}.sys-warn-banner{font-size:var(--fs-xs);color:var(--warning-text);background:color-mix(in srgb,var(--warning) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--warning) 24%,transparent);border-radius:var(--r-2);padding:var(--space-2) var(--space-2);margin-bottom:var(--space-2);line-height:var(--lh-body)}.sys-queue-info{font-size:var(--fs-2xs);color:var(--text);background:var(--veil-1);border-radius:var(--r-1);padding:var(--space-1) var(--space-2);margin-bottom:var(--space-2)}.steps{list-style:none;margin:0;padding:var(--space-2) 0;flex:none}.phase-hdr{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);color:var(--text);padding:var(--space-2) var(--space-4) var(--space-1);margin-top:var(--space-1)}.step{width:100%;text-align:left;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:none;border:none;color:inherit;position:relative;transition:background var(--dur);cursor:pointer;font:inherit;box-sizing:border-box}.step:not([aria-disabled=true]):hover{background:var(--veil-1)}.step[aria-disabled=true]{cursor:not-allowed}.step:focus-visible{outline:var(--bw-strong) solid var(--accent);outline-offset:-2px}.step-on{background:var(--veil-1)}.step-on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}.step-rail{display:flex;flex-direction:column;align-items:center;flex:none}.step-dot{width:24px;height:24px;border-radius:var(--r-round);display:grid;place-items:center;font-size:var(--fs-xs);flex:none;border:var(--bw-strong) solid var(--veil-4);color:var(--on-fill)}.step-dot.st-done{background:var(--accent);border-color:var(--accent-text);color:var(--on-accent)}.step-dot.st-active{background:var(--veil-2);border-color:var(--gold-text);color:var(--gold-text)}.step-dot.st-ready{border-color:var(--accent-text);color:var(--accent-text)}.step-line{flex:1;width:2px;background:var(--veil-3);margin:var(--space-1) 0;min-height:14px}.step-body{flex:1;min-width:0;padding-bottom:var(--space-0-5)}.step-top{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2)}.step-name{font-weight:var(--fw-semibold);font-size:var(--fs-md)}.step-tag{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap;flex:none;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-wide);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);font-weight:var(--fw-semibold)}.step-tag.st-done{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.step-tag.st-active{color:var(--gold-text);background:color-mix(in srgb,var(--gold) 18%,transparent)}.step-tag.st-ready{color:var(--text);background:var(--veil-2)}.step-tag.st-locked,.step-tag.st-new{color:var(--text);background:var(--veil-1)}.step-sub{font-size:var(--fs-base);color:var(--text);margin-top:var(--space-px);display:block}.substeps{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.substep{font-size:var(--fs-base);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);background:var(--veil-1);color:var(--text);position:relative;padding-left:var(--space-5);font-family:inherit;text-align:left;width:100%;border:none;cursor:pointer}.substep:disabled{cursor:not-allowed;color:var(--on-surface-disabled)}.substep:before{content:"";position:absolute;left:9px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:var(--r-round);border:var(--bw-strong) solid var(--veil-5)}.substep.ss-done:before{background:var(--accent);border-color:var(--accent-text)}.substep.ss-now{background:color-mix(in srgb,var(--gold) 12%,transparent);color:var(--text)}.substep.ss-now:before{border-color:var(--gold-text);background:var(--gold)}.pulse-dot{width:8px;height:8px;border-radius:var(--r-round);background:var(--gold);box-shadow:0 0 color-mix(in srgb,var(--gold) 70%,transparent);animation:pulse var(--dur-loop-slow) infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--gold) 60%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}.rail-view-toggle{display:flex;gap:var(--space-0-5);background:var(--veil-1);border-radius:var(--r-2);padding:var(--space-0-5);flex:1}.rail-view-toggle button{flex:1;padding:var(--space-1) 0;border:none;border-radius:var(--r-1);background:none;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur),color var(--dur)}.rail-view-toggle button.active{background:var(--primary);color:var(--on-primary)}.rail-layers-panel{display:flex;flex-direction:column;gap:0;padding:var(--space-4) 0;flex:1;overflow-y:auto}.rail-layers-section{padding:0 var(--space-3) var(--space-4)}.rail-layers-section .rail-kicker{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.rail-layers-empty{font-size:var(--fs-sm);color:var(--text);padding:var(--space-2) var(--space-0-5);font-style:italic}.rail-layers-add-btn{font-size:var(--fs-sm);color:var(--accent-text);background:none;border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--r-1);cursor:pointer;padding:var(--space-0-5) var(--space-2);font-weight:var(--fw-semibold);transition:var(--dur-fast)}.layer-card{border-radius:var(--r-2);margin-bottom:var(--space-2);background:var(--veil-1);border:var(--bw) solid var(--veil-2);transition:border-color var(--dur),opacity var(--dur);overflow:hidden}.layer-card:hover{border-color:var(--veil-4)}.layer-card--hidden>.layer-row>:not(.layer-eye),.layer-card--hidden>.layer-controls{opacity:.5}.layer-card--hidden .layer-row-name{font-style:italic}.layer-card-open{border-color:color-mix(in srgb,var(--accent) 32%,transparent)!important;background:color-mix(in srgb,var(--accent) 4%,transparent)!important}.layer-row{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-base);padding:var(--space-2) var(--space-2) var(--space-1);color:var(--text);-webkit-user-select:none;user-select:none}.layer-row>.layer-type-ico-wrap,.layer-row>.layer-type-chip,.layer-row>.layer-spin{margin-top:var(--space-1)}.layer-row-aoi{padding-bottom:var(--space-2)}.layer-row-name{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;font-weight:var(--fw-medium);letter-spacing:var(--track-tight);line-height:var(--lh-tight);padding-top:var(--space-1)}.layer-eye{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw-strong) solid var(--line);background:transparent;color:var(--muted);display:grid;place-items:center;flex-shrink:0;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);padding:0;line-height:1}.layer-eye--on{border-color:var(--primary);color:var(--primary);background:var(--tint-primary)}.layer-eye--off{border-style:dashed}.layer-eye:hover{border-color:var(--accent-text);color:var(--text)}.layer-eye--on:hover{border-color:var(--primary);color:var(--primary);background:var(--tint-primary-md)}.layer-eye:focus-visible{outline:none;box-shadow:var(--ring)}.layer-swatch{width:18px;height:18px;border-radius:var(--r-1);flex-shrink:0;display:block}.layer-swatch-label{position:relative;display:inline-flex;align-items:center;flex-shrink:0;cursor:pointer}.layer-swatch-label:hover .layer-swatch{outline:var(--bw-strong) solid var(--veil-5)}.layer-swatch-label input[type=color]{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:none}.layer-type-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}label.layer-type-ico{cursor:pointer}label.layer-type-ico:hover{outline:var(--bw-strong) solid var(--veil-4);border-radius:var(--r-1)}.layer-type-ico input[type=color]{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;padding:0;border:none}.layer-type-ico svg{display:block}.layer-type-chip{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-3);background:var(--veil-2);color:var(--text);white-space:nowrap;flex-shrink:0}.layer-type-chip--filtered{color:var(--accent-text);background:color-mix(in srgb,var(--accent) 16%,transparent)}.layer-spin{font-size:var(--fs-sm);color:var(--accent-text);animation:sp-spin var(--dur-loop-fast) linear infinite;flex-shrink:0}.layer-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-2);padding:0 var(--space-2) var(--space-2)}.layer-opacity{flex:1 1 96px;min-width:96px;display:flex;align-items:center;gap:var(--space-2)}.layer-opacity-pct{font-size:var(--fs-xs);color:var(--muted);min-width:4ch;text-align:right}.layer-opacity-row{padding:var(--space-0-5) var(--space-2) var(--space-1)}.layer-opacity-bar{flex:1;width:100%;height:var(--space-5);accent-color:var(--accent-text);cursor:pointer;display:block}.layer-actions{display:flex;align-items:center;gap:var(--space-px);margin-left:auto}.btn.layer-act{background:transparent;border:var(--bw) solid transparent;color:var(--muted);border-radius:var(--r-2);box-shadow:none}.btn.layer-act:hover{background:var(--veil-2);color:var(--text)}.btn.layer-act:focus-visible{outline:none;box-shadow:var(--ring)}.btn.layer-act--on{color:var(--navy-text);border-color:var(--primary);background:var(--tint-primary)}.btn.layer-act--danger:hover{color:var(--danger-text);background:color-mix(in srgb,var(--danger) 10%,transparent)}[data-theme=light] .btn.layer-act:hover{background:var(--panel-2)}.layer-act-btn{font-size:var(--fs-sm);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--r-1);border:none;background:none;color:var(--text);cursor:pointer;transition:var(--dur-fast);white-space:nowrap}.layer-act-btn--active{color:var(--accent-text)!important}.layer-act-btn--danger:hover{color:var(--danger-text)}.layer-act-btn--right{margin-left:auto}.layer-filter-bar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-2);border-top:var(--bw) solid var(--veil-1)}.layer-filter-input{flex:1;background:var(--veil-2);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);padding:var(--space-1) var(--space-2);color:var(--text);font-size:var(--fs-sm);min-width:0}.layer-filter-input:focus{border-color:var(--accent-text)}.layer-filter-count{font-size:var(--fs-xs);color:var(--accent-text);white-space:nowrap;flex-shrink:0;font-weight:var(--fw-semibold)}.lgp-clear{background:none;border:none;color:var(--text);font-size:var(--fs-base);cursor:pointer;padding:0 var(--space-1);line-height:var(--lh-tight)}.lgp-clear:hover{color:var(--text)}.layer-badge{font-size:var(--fs-2xs);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:var(--r-2);padding:var(--space-px) var(--space-1);white-space:nowrap}.steppanel-nav{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2);border-top:var(--bw) solid var(--veil-2);flex-shrink:0;background:color-mix(in srgb,var(--ink) 32%,transparent)}.steppanel-nav-btn{flex:1;font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);background:var(--veil-2);color:var(--text);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:var(--dur-fast);text-align:left}.steppanel-nav-btn:hover{background:var(--veil-3);color:var(--text);border-color:color-mix(in srgb,var(--accent) 48%,transparent)}.steppanel-nav-btn--next{text-align:right}.sp-ds-map-btn{font-size:var(--fs-xs);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--r-1);border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);background:color-mix(in srgb,var(--accent-deep) 12%,transparent);color:var(--text);cursor:pointer;white-space:nowrap;flex-shrink:0}.sp-ds-map-btn:hover{background:color-mix(in srgb,var(--accent-deep) 32%,transparent);color:var(--on-fill)}.bg-tasks-bar{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-overlay);background:color-mix(in srgb,var(--ink) 92%,transparent);border-top:var(--bw) solid color-mix(in srgb,var(--accent) 32%,transparent);padding:var(--space-2) var(--space-4) var(--space-2);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bg-tasks-hdr{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent);letter-spacing:var(--track-wide);white-space:nowrap;flex-shrink:0}.bg-task{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1;max-width:340px}.bg-task-label{font-size:var(--fs-xs);color:var(--on-chrome);white-space:nowrap;flex-shrink:0;min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:40ch}.bg-task-track{flex:1;height:4px;background:var(--veil-3);border-radius:var(--r-1);overflow:hidden;min-width:60px}.bg-task-fill{height:100%;background:var(--accent);border-radius:var(--r-1);transition:width var(--dur-slower) ease}.bg-task-pct{font-size:var(--fs-xs);color:var(--accent);font-weight:var(--fw-semibold);white-space:nowrap;flex-shrink:0;min-width:28px;text-align:right}.bg-task-msg{font-size:var(--fs-sm);color:var(--on-chrome);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.wf-type-selector{padding:var(--space-2) 0 var(--space-2)}.wf-type-fixed{margin:var(--space-2) 0 0;font-size:var(--fs-xs);color:var(--muted);line-height:1.45}.wf-type-fixed strong{color:var(--text)}.wf-type-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.wf-type-current{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--accent-text);letter-spacing:var(--track-wide);padding:var(--space-0-5) var(--space-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:var(--r-2)}.wf-type-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:var(--space-2)}.wf-type-wrap{display:flex;flex-direction:column;gap:var(--space-1)}.wf-type-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 16%,transparent);background:var(--veil-1);cursor:pointer;transition:var(--dur);position:relative}.wf-type-btn--on{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent-deep) 12%,transparent);cursor:pointer}.wf-type-btn--on:hover{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent-deep) 24%,transparent)}.wf-type-btn--off{cursor:default}.wf-type-btn--active{border-color:var(--primary)!important;background:var(--tint-primary)!important;opacity:1!important}.wf-type-tag{font-size:var(--fs-md);font-weight:var(--fw-heavy);letter-spacing:var(--track-tight);color:var(--text);line-height:var(--lh-tight)}.wf-type-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text)}.wf-type-engine{font-size:var(--fs-2xs);color:var(--text);letter-spacing:var(--track-wide);text-align:center;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:var(--space-px)}.wf-type-check{position:absolute;top:4px;right:5px;font-size:var(--fs-2xs);color:var(--accent-text);font-weight:var(--fw-bold)}.wf-type-info{position:absolute;top:3px;right:4px;font-size:var(--fs-2xs);color:var(--text);cursor:help;font-weight:var(--fw-bold)}.wf-type-info:hover{color:var(--text)}.wf-type-needs{display:flex;flex-direction:column;gap:var(--space-0-5);min-height:16px}.wf-ds-ok{font-size:var(--fs-sm);color:var(--success-text);font-weight:var(--fw-semibold);padding-left:var(--space-1)}.wf-ds-need{font-size:var(--fs-sm);color:var(--text);padding-left:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.rail-layers{margin-top:auto;padding:var(--space-4) var(--space-4) var(--space-5);border-top:var(--bw) solid var(--veil-2)}.rail-layers .rail-kicker{display:block;margin-bottom:var(--space-2)}.layer-swatch[data-k=aoi]{background:color-mix(in srgb,var(--accent) 40%,transparent);border:var(--bw-strong) solid var(--accent)}.layer-swatch[data-k=dem]{background:linear-gradient(135deg,#e8dec4,#6f5a32)}.layer-swatch[data-k=landcover]{background:linear-gradient(135deg,#a9d6a0,#2f6b39)}.layer-swatch[data-k=mesh]{background:repeating-linear-gradient(45deg,var(--accent) 0 1px,transparent 1px 5px);border:var(--bw) solid var(--accent)}.ws-map{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--ink);position:relative;overflow:hidden}.maptool{flex:none;background:none;border:var(--bw) solid transparent;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);transition:var(--dur);white-space:nowrap}.maptool:hover{background:var(--veil-2);color:var(--on-fill);border-color:var(--veil-3)}.neteditor{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--ink);position:relative}.net-toolbar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--ink) 92%,transparent);border-bottom:var(--bw) solid var(--veil-2);overflow-x:auto;scrollbar-width:thin}.net-toolbar>*{flex:none}.net-tool{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid transparent;background:none;color:var(--text);display:grid;place-items:center;transition:var(--dur)}.net-tool svg,.net-tool .icon{width:var(--icon-md);height:var(--icon-md)}.net-tool:hover{color:var(--on-fill)}.net-tool-on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.net-tool-sep{width:var(--bw);height:var(--icon-md);background:var(--veil-3);margin:0 var(--space-1)}.net-toolbar-label{margin-left:auto;font-size:var(--fs-xs);color:var(--text)}.net-delineate{display:inline-flex;align-items:center;gap:var(--space-2);margin-left:var(--space-2);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--r-2);background:var(--primary);color:var(--on-primary);font-size:var(--fs-base);font-weight:var(--fw-bold);box-shadow:none;transition:var(--dur)}.net-delineate:hover{transform:translateY(-1px)}.net-delineate:disabled{color:var(--on-surface-disabled);background:var(--panel-2);box-shadow:none;cursor:progress;transform:none}.net-delineate-redo{background:none;color:var(--text);box-shadow:none;border:var(--bw) solid var(--veil-3);font-weight:var(--fw-semibold)}.net-delineate-redo:hover{background:var(--veil-2);color:var(--on-fill);transform:none;filter:none}.net-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-6)}.net-empty-ico{width:72px;height:72px;border-radius:var(--r-5);display:grid;place-items:center;background:var(--veil-1);border:var(--bw) solid var(--veil-3);color:var(--accent-text);margin-bottom:var(--space-4)}.net-empty-title{font-family:var(--display);font-size:var(--fs-lg);color:var(--text)}.net-empty p{font-size:var(--fs-base);color:var(--muted);max-width:360px;line-height:var(--lh-body);margin:var(--space-2) 0 var(--space-5)}.net-delin-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-overlay)}.net-cur-select .netsvg{cursor:default}.net-cur-select .netnode,.net-cur-select .net-edge-routed{cursor:pointer}.net-cur-node .netsvg,.net-cur-node .netnode,.net-cur-node .net-edge,.net-cur-link .netsvg,.net-cur-link .netnode,.net-cur-link .net-edge{cursor:crosshair}.net-cur-pan .netsvg,.net-cur-pan .netnode,.net-cur-pan .net-edge{cursor:grab}.net-cur-pan .netsvg:active{cursor:grabbing}.net-edge{cursor:default}.net-legend{position:absolute;left:var(--space-3);bottom:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3);background:var(--surface-chrome);border:var(--bw) solid var(--veil-3);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.net-legend-it{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--on-chrome);text-transform:capitalize}.net-legend-it i{width:11px;height:11px;border-radius:var(--r-1);border:var(--bw-strong) solid;display:block}.maptools-spacer{flex:1}.ws-proj{font-size:var(--fs-xs);color:var(--text)}.ws-map .mapwrap{flex:1;min-height:0}.ws-layers-btn{flex:none;display:inline-flex;align-items:center;gap:var(--space-2);background:var(--veil-1);border:var(--bw) solid var(--line);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);transition:var(--dur)}.ws-layers-btn:hover{background:var(--veil-3)}.ws-layers-btn.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.ws-layers-btn:focus-visible{outline:none;box-shadow:var(--ring)}.ws-layers-n{font-size:var(--fs-2xs);background:var(--shade-3);border-radius:var(--r-2);padding:0 var(--space-2)}.ws-layers-btn.on .ws-layers-n{background:transparent;box-shadow:inset 0 0 0 var(--bw) currentColor}.ws-layers-panel{position:absolute;top:52px;right:var(--space-3);z-index:var(--z-sticky);width:290px;max-height:calc(100% - 70px);display:flex;flex-direction:column;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);overflow:hidden;animation:slideIn var(--dur-slow) ease}.ws-layers-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-3);border-bottom:var(--bw) solid var(--line-2);font-weight:var(--fw-bold);font-size:var(--fs-base)}.ws-layers-head>span{display:flex;align-items:center;gap:var(--space-2)}.ws-layers-head svg{color:var(--accent-text)}.ws-layers-x{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-sm)}.ws-layers-x:hover{border-color:var(--danger);color:var(--danger)}.ws-layers-body{flex:1;overflow-y:auto;padding:var(--space-2)}.ws-layers-foot{padding:var(--space-2) var(--space-3);border-top:var(--bw) solid var(--line-2);font-size:var(--fs-xs);color:var(--muted-2)}.mapwrap.map-cross{cursor:crosshair}.mapwrap{position:relative;width:100%;height:100%;overflow:hidden}.map-tag{position:absolute;top:12px;left:14px;font-size:var(--fs-xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);background:color-mix(in srgb,var(--ink) 64%,transparent);color:var(--accent-text);border:var(--bw) solid var(--veil-3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app[data-map=light] .map-tag{background:var(--veil-7);color:var(--accent-text);border-color:var(--line)}.map-attrib{position:absolute;bottom:10px;right:12px;font-size:var(--fs-2xs);color:var(--text)}.map-scale{position:absolute;bottom:10px;left:14px;display:flex;flex-direction:column;gap:var(--space-1);color:var(--text);font-size:var(--fs-2xs)}.map-scale i{display:block;height:4px;width:60px;border:var(--bw) solid color-mix(in srgb,var(--accent) 48%,transparent);border-top:none}.app[data-map=light] .map-attrib,.app[data-map=light] .map-scale{color:var(--accent-text)}.app[data-map=light] .map-scale i{border-color:color-mix(in srgb,var(--navy-text) 48%,transparent)}.steppanel{width:100%;flex:1;background:var(--navy);color:var(--text);display:flex;flex-direction:column;min-height:0}.steppanel-head h2{font-family:var(--display);font-size:var(--fs-xl);margin:0 0 var(--space-0-5);letter-spacing:var(--track-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.steppanel-head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:var(--space-0-5) var(--space-2);padding:var(--space-3) var(--space-4) var(--space-2);border-bottom:var(--bw) solid var(--veil-2)}.steppanel-ctx{font-size:var(--fs-base);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.task-banner{padding:var(--space-2) var(--space-4) var(--space-3);background:color-mix(in srgb,var(--accent) 8%,transparent);border-bottom:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent)}.task-banner-hdr{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.task-banner-dot{width:8px;height:8px;border-radius:var(--r-round);background:var(--accent);flex:none;animation:task-dot-pulse var(--dur-loop) ease-in-out infinite}@keyframes task-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.task-banner-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-banner-elapsed{font-size:var(--fs-sm);color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;flex:none}.task-banner-pct{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);flex:none;margin-left:var(--space-2)}.task-banner-track{height:4px;border-radius:var(--r-1);background:var(--veil-3);overflow:hidden}.task-banner-fill{height:100%;border-radius:var(--r-1);background:var(--accent);transition:width var(--dur-slower) ease}.task-banner-fill.indeterminate{width:40%;animation:task-bar-slide var(--dur-loop-slow) ease-in-out infinite}@keyframes task-bar-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.task-banner-sub{font-size:var(--fs-sm);color:var(--text);margin-top:var(--space-1);letter-spacing:var(--track-wide)}.task-banner-cancel{margin-left:var(--space-2);flex:none;background:none;border:none;color:var(--text);font-size:var(--fs-base);line-height:var(--lh-tight);cursor:pointer;padding:var(--space-0-5) var(--space-1);border-radius:var(--r-1);transition:color var(--dur-fast),background var(--dur-fast)}.task-banner-cancel:hover{color:var(--danger-text);background:color-mix(in srgb,var(--danger) 12%,transparent)}.task-banner--queued{background:color-mix(in srgb,var(--warning) 8%,transparent);border-bottom-color:color-mix(in srgb,var(--warning) 24%,transparent)}.task-banner--queued .task-banner-dot{background:var(--warning)}.task-banner--queued .task-banner-elapsed{color:var(--warning-text)}.guide{margin-top:var(--space-4);border-radius:var(--r-4);padding:var(--space-4);border:var(--bw) solid var(--veil-2)}.guide-mark.warn{background:var(--status-warning-bg);color:var(--status-warning-fg)}.guide-mark.ok{background:var(--status-success-bg);color:var(--status-success-fg)}.steppanel-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);background:var(--veil-3);color:var(--text)}.sp-scroll{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-4) var(--space-5)}.sp-step{font-size:var(--fs-2xs);letter-spacing:var(--track-caps);color:var(--text);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.aoi-card{display:flex;gap:var(--space-2);align-items:center;padding:var(--space-3) var(--space-3);border:var(--bw) solid color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent);border-radius:var(--r-3)}.aoi-card>svg{color:var(--accent-text);flex:none}.aoi-title{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text)}.aoi-coords{font-size:var(--fs-xs);color:var(--text)}.ghost-x{margin-left:auto;border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--text);font-size:var(--fs-xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-2)}.res-row{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-base);color:var(--text);margin-bottom:var(--space-3)}.seg{display:flex;background:var(--veil-1);border:var(--bw) solid var(--veil-3);border-radius:var(--r-2);padding:var(--space-1);gap:var(--space-0-5)}.seg button{border:none;background:none;font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);color:var(--text);font-family:var(--mono)}.seg button.on{background:var(--primary);color:var(--on-primary)}.seg button:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.sp-note{padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--success) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--success) 24%,transparent);border-radius:var(--r-3);font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-body)}.sp-note svg{color:var(--success-text);flex:none;margin-top:var(--space-0-5)}.sp-note--info{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}.wb-outlet-marker{width:16px;height:16px;border-radius:50%;background:var(--fau-red);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--fau-red),0 1px 4px #00000059}.sp-note--caution{background:color-mix(in srgb,var(--gold) 12%,transparent);border-color:color-mix(in srgb,var(--gold) 32%,transparent)}.sp-note--success{background:color-mix(in srgb,var(--success) 12%,transparent);border-color:color-mix(in srgb,var(--success) 32%,transparent);font-weight:var(--fw-medium);color:var(--text)}.sp-blocks{display:flex;flex-direction:column;gap:var(--space-4)}.sp-blocks--prepare{gap:0}.sp-aoi-bar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--veil-2)}.sp-aoi-btn{flex-shrink:0;font-size:var(--fs-xs)!important;padding:var(--space-1) var(--space-3)!important}.sp-aoi-set{font-size:var(--fs-xs);color:var(--success-text);font-weight:var(--fw-semibold)}.sp-aoi-drawing{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:var(--bw) solid var(--veil-2);background:color-mix(in srgb,var(--accent) 8%,transparent)}.sp-aoi-hint{font-size:var(--fs-xs);color:var(--text)}.sp-aoi-confirm{padding:var(--space-2) var(--space-4);border-bottom:var(--bw) solid var(--veil-2);background:color-mix(in srgb,var(--gold) 8%,transparent)}.sp-aoi-dims{display:flex;gap:var(--space-4);margin-bottom:var(--space-2);font-size:var(--fs-xs);color:var(--text)}.sp-aoi-actions{display:flex;gap:var(--space-2)}.wb-usgs-tab{padding:var(--space-2) 0 var(--space-1)}.sp-ds-grid{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-2)}.sp-ds-no-aoi{font-size:var(--fs-xs);color:var(--text-muted, var(--accent-text));text-align:center;padding:var(--space-2) 0 var(--space-1);font-style:italic}.sp-ds-card{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--r-2);background:var(--veil-1);border:var(--bw) solid var(--veil-2)}.sp-ds-card--done{border-color:var(--success-text);background:color-mix(in srgb,var(--success) 12%,transparent)}.sp-ds-card--downloading{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.sp-ds-card--error{border-color:var(--danger-text);background:color-mix(in srgb,var(--danger) 12%,transparent)}.sp-ds-card--disabled{opacity:var(--opacity-disabled)}.sp-ds-icon{font-size:var(--fs-2xs);font-weight:var(--fw-heavy);letter-spacing:var(--track-tight);color:var(--accent-text);min-width:30px;text-align:center;flex-shrink:0}.sp-ds-info{display:flex;flex-direction:column;flex:1;min-width:0}.sp-ds-label{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight)}.cmp-points{list-style:none;margin:0 0 var(--space-2);padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.cmp-points__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--border);border-radius:var(--r-xs)}.cmp-points__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.sp-ds-err{display:block;font-size:var(--fs-sm);color:var(--status-error-fg);line-height:var(--lh-tight);margin-top:var(--space-1);white-space:normal}.sp-ds-desc{font-size:var(--fs-sm);color:var(--text-muted, var(--accent-text));line-height:var(--lh-tight);margin-top:var(--space-px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-setting-hint{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-tight);margin:var(--space-1) 0 0}.sp-setting-hint--warn{color:var(--text)}.sp-setting-hint--warn svg{color:var(--gold-text)}.sp-aoi-checks{list-style:none;margin:var(--space-2) 0 0;padding:0;font-size:var(--fs-sm);color:var(--text)}.sp-aoi-checks li{display:flex;gap:var(--space-1);align-items:baseline;padding:var(--space-0-5) 0}.sp-aoi-check--warn svg{color:var(--gold-text)}.sp-ds-need{display:block;font-size:var(--fs-xs);line-height:var(--lh-tight);margin-top:var(--space-px);color:var(--muted);white-space:normal}.sp-ds-need--required{color:var(--text);font-weight:var(--fw-medium)}.sp-ds-year{font-size:var(--fs-xs);padding:var(--space-0-5) var(--space-1);border-radius:var(--r-1);border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--text);cursor:pointer;flex-shrink:0}.sp-ds-btn{min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--r-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);border:none;background:var(--primary);color:var(--on-primary);cursor:pointer;flex-shrink:0}.sp-ds-btn--err{background:var(--danger)}.sp-ds-done{color:var(--success-text);font-weight:var(--fw-bold);font-size:var(--fs-md);flex-shrink:0}.sp-ds-spin{color:var(--accent-text);flex-shrink:0;animation:sp-spin var(--dur-loop-fast) linear infinite;display:inline-block}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-ds-idf{margin-top:var(--space-0-5)}.sp-catalog-embed{flex:1;min-height:0}.sp-catalog-embed .wb-catalog{height:auto}.sp-catalog-embed .wb-catalog-header h3{display:none}.sp-catalog-embed .wb-catalog-header{padding:var(--space-2) var(--space-3) var(--space-1);border-top:var(--bw) solid var(--veil-2);border-bottom-color:var(--veil-2)}.sp-catalog-embed .wb-catalog-header-row{margin-bottom:0}.sp-catalog-embed .wb-search{background:var(--veil-2);border-color:var(--veil-3);color:var(--text)}.sp-catalog-embed .wb-search::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent)}.sp-catalog-embed .wb-catalog-tabs,.sp-catalog-embed .wb-catalog-tabs-2,.sp-catalog-embed .wb-catalog-tabs-3{border-bottom-color:var(--veil-2)}.sp-catalog-embed .wb-catalog-tabs button,.sp-catalog-embed .wb-catalog-tabs-2 button,.sp-catalog-embed .wb-catalog-tabs-3 button{color:var(--text)}.sp-catalog-embed .wb-catalog-tabs button.active,.sp-catalog-embed .wb-catalog-tabs-2 button.active,.sp-catalog-embed .wb-catalog-tabs-3 button.active{color:var(--accent-text);border-bottom-color:var(--accent-text)}.sp-catalog-embed .wb-catalog-tabs button:hover,.sp-catalog-embed .wb-catalog-tabs-2 button:hover,.sp-catalog-embed .wb-catalog-tabs-3 button:hover{color:var(--text)}.sp-catalog-embed .wb-catalog-card{border-color:var(--veil-2);background:transparent}.sp-catalog-embed .wb-catalog-card:hover{border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:var(--veil-1)}.sp-catalog-embed .wb-catalog-card.active{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent)}.sp-catalog-embed .wb-card-top strong,.sp-catalog-embed .wb-card-meta,.sp-catalog-embed .wb-card-source,.sp-catalog-embed .wb-card-del{color:var(--text)}.sp-catalog-embed .wb-card-del:hover{color:var(--danger)}.sp-catalog-embed .wb-tag{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-text)}.sp-catalog-embed .wb-btn-new{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.sp-catalog-embed .wb-create-row input,.sp-catalog-embed .wb-sort-select{background:var(--veil-1);border-color:var(--veil-3);color:var(--text)}.sp-catalog-embed .wb-mydata-count{color:var(--text)}.sp-catalog-embed .wb-filter-chips{gap:var(--space-1)}.sp-catalog-embed .wb-catalog-controls{gap:var(--space-2)}.sp-catalog-embed .wb-chip{border-color:var(--veil-3);color:var(--text);background:var(--veil-1)}.sp-catalog-embed .wb-chip:hover{background:var(--veil-2);color:var(--text)}.sp-catalog-embed .wb-chip.active{background:var(--tint-primary);color:var(--navy-text);border-color:var(--navy-text)}.sp-catalog-embed .wb-status{background:var(--veil-2);color:var(--text)}.sp-catalog-embed .wb-status-active{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success-text)}.sp-catalog-embed .wb-status-created,.sp-catalog-embed .wb-type-badge{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}.sp-catalog-embed .wb-btn-upload{background:var(--primary)!important;color:var(--on-primary)!important}.sp-catalog-embed .wb-upload-zone{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.sp-catalog-embed .wb-file-icon,.sp-catalog-embed .wb-file-name{color:var(--text)}.sp-catalog-embed .wb-mydata-card{background:var(--veil-1);border-color:var(--veil-2)}.sp-catalog-embed .wb-mydata-card:hover{background:var(--veil-1)}.sp-catalog-embed .wb-ds-card{background:var(--veil-1);border-color:var(--veil-2)}.sp-catalog-embed .wb-ds-card:hover{background:var(--veil-1)}.sp-catalog-embed .wb-btn-sm{background:var(--veil-2);border-color:var(--veil-3);color:var(--text)}.sp-catalog-embed .wb-btn-sm:hover{background:var(--veil-3)}.sp-catalog-embed .wb-btn-add{background:color-mix(in srgb,var(--success) 16%,transparent)!important;color:var(--success-text)!important;border-color:color-mix(in srgb,var(--success) 32%,transparent)!important}.sp-catalog-embed .wb-btn-add:hover:not(:disabled){background:color-mix(in srgb,var(--success) 24%,transparent)!important}.sp-catalog-embed .wb-catalog-list,.sp-catalog-embed .wb-hint{color:var(--text)}.sp-catalog-embed .wb-warn{background:color-mix(in srgb,var(--gold) 12%,transparent);border-left:var(--bw-accent) solid var(--gold-text);color:var(--text);padding:var(--space-2) var(--space-2);border-radius:var(--r-2)}.sp-catalog-embed select{background:var(--veil-1);border-color:var(--veil-3);color:var(--text)}.steppanel .wb-hint{color:var(--text)}.steppanel .wb-table th{background:var(--veil-2);color:var(--text)}.steppanel .wb-table tr:hover{background:var(--veil-1)}.steppanel .wb-table tr.selected{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}.steppanel .wb-method-name,.steppanel .wb-method-tip{color:var(--text)}.steppanel .wb-sub-params{background:var(--veil-1);border-left-color:var(--accent-text)}.steppanel .wb-progress{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text);border-radius:var(--r-1)}.steppanel .wb-warn{background:color-mix(in srgb,var(--gold) 12%,transparent);border-left-color:var(--gold-text);color:var(--text)}.steppanel .wb-val-warn{color:var(--danger-text)}.steppanel .wb-scenario-label,.steppanel .wb-scenario-desc,.steppanel .wb-panel-close{color:var(--text)}.steppanel .wb-panel-close:hover{background:var(--veil-2);color:var(--danger)}.sp-block{margin-bottom:var(--space-4);background:var(--veil-1);border:var(--bw) solid var(--veil-2);border-radius:var(--r-4);padding:var(--space-3) var(--space-4)}.sp-block-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text);margin-bottom:var(--space-2)}.sp-metrics-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-2)}.sp-metric{background:var(--veil-1);border:var(--bw) solid var(--veil-2);border-radius:var(--r-2);padding:var(--space-2) var(--space-2);text-align:center}.sp-metric-v{display:block;font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.sp-metric-l{font-size:var(--fs-2xs);color:var(--text)}.sp-param{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--bw) solid var(--veil-2);font-size:var(--fs-base)}.sp-param:last-child{border-bottom:none}.sp-param-row{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--fs-md)}.sp-param-k{color:var(--text);white-space:nowrap}.sp-param-v{color:var(--text);font-size:var(--fs-sm);text-align:right}.sp-param-v.sp-warn{color:var(--gold-text);font-weight:var(--fw-semibold)}.sp-issue{background:color-mix(in srgb,var(--gold) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--gold) 32%,transparent);border-radius:var(--r-3);padding:var(--space-3) var(--space-3)}.sp-issue-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--warning-text);margin-bottom:var(--space-1)}.sp-issue-text{font-size:var(--fs-base);color:var(--text);line-height:var(--lh-body)}.sp-check{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;font-size:var(--fs-base);border-bottom:var(--bw) solid var(--veil-2);color:var(--text)}.sp-check:last-child{border-bottom:none}.sp-check-ok{font-size:var(--fs-sm);color:var(--success-text);font-weight:var(--fw-bold);width:16px;text-align:center}.sp-check-warn{font-size:var(--fs-sm);color:var(--gold-text);font-weight:var(--fw-bold);width:16px;text-align:center}.sp-check-lock{font-size:var(--fs-sm);color:var(--text);width:16px;text-align:center}.sp-run-block{padding:var(--space-1) 0}.sp-blocks .sp-note{margin:0}.sp-action-row{display:flex;gap:var(--space-2);justify-content:space-between;align-items:center;margin-top:var(--space-3)}.sp-action-row>.btn{flex:none;font-size:var(--fs-sm)}.wf-ds-summary{display:flex;gap:var(--space-1);flex-wrap:wrap;padding:var(--space-2) 0 var(--space-2)}.wf-ds-pill{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-3);border:var(--bw) solid var(--line-2);color:var(--muted-2);background:var(--surface-2, transparent);letter-spacing:var(--track-wide)}.wf-ds-pill.ok{color:var(--success-text);border-color:var(--success-text);background:var(--tint-success)}.ds-picker{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-1) 0 var(--space-1)}.ds-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--veil-1);background:var(--veil-1);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast)}.ds-row:hover{background:var(--veil-2);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.ds-row--sel{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 48%,transparent)}.ds-kind-badge{font-size:var(--fs-xs);font-weight:var(--fw-bold);min-width:14px;color:var(--accent-text);flex-shrink:0}.ds-name{flex:1;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ds-missing-tag{font-size:var(--fs-2xs);color:var(--danger-text);background:color-mix(in srgb,var(--danger) 16%,transparent);border-radius:var(--r-1);padding:var(--space-0-5) var(--space-2);flex-shrink:0}.ds-info-btn{flex-shrink:0;background:none;border:none;color:var(--accent-text);cursor:pointer;font-size:var(--fs-base);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1);line-height:var(--lh-tight);transition:var(--dur-fast)}.ds-info-btn svg,.ds-info-btn .icon{width:var(--icon-md);height:var(--icon-md)}.dock-sep{flex-shrink:0;height:1px;background:var(--veil-2)}.fdet{flex-shrink:0;overflow-y:auto;padding:var(--space-2) var(--space-4) var(--space-3);background:color-mix(in srgb,var(--ink) 48%,transparent);min-height:100px;max-height:210px}.fdet-hdr{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.fdet-kind{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-caps);padding:var(--space-0-5) var(--space-1);border-radius:var(--r-1);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-text);flex-shrink:0}.fdet-title{flex:1;font-size:var(--fs-sm);color:var(--text);font-weight:var(--fw-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fdet-close{background:none;border:none;color:var(--text);cursor:pointer;font-size:var(--fs-md);padding:var(--space-px) var(--space-1);line-height:var(--lh-tight);border-radius:var(--r-1);transition:var(--dur-fast)}.fdet-close:hover{background:var(--veil-3);color:var(--text)}.fdet-body{display:flex;flex-direction:column;gap:var(--space-1)}.fdet-row{display:flex;gap:var(--space-2);font-size:var(--fs-xs);line-height:var(--lh-snug);align-items:baseline}.fdet-k{width:76px;flex-shrink:0;color:var(--text);font-size:var(--fs-xs)}.fdet-mono{font-family:var(--mono);font-size:var(--fs-xs);color:var(--text);word-break:break-all;background:none;border:none;padding:0}.steppanel--split{min-height:0}.steppanel--split .sp-scroll{max-height:360px}.sim-hub-grid{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-1) 0 var(--space-2)}.sim-hub-card{background:var(--veil-1);border:var(--bw) solid var(--veil-2);border-radius:var(--r-3);padding:var(--space-3) var(--space-4);transition:border-color var(--dur),transform var(--dur),box-shadow var(--dur)}.sim-hub-card:hover{border-color:color-mix(in srgb,var(--accent) 32%,transparent);transform:translateY(-2px);box-shadow:var(--shadow)}[data-theme=light] .sim-hub-card:hover{box-shadow:var(--shadow)}.sim-hub-card--ready{border-color:color-mix(in srgb,var(--success) 24%,transparent);background:color-mix(in srgb,var(--success) 4%,transparent)}.sim-hub-card-hdr{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.sim-hub-dot{width:8px;height:8px;border-radius:var(--r-round);flex-shrink:0}.sim-hub-dot.ready{background:var(--status-success-dot);box-shadow:var(--shadow)}.sim-hub-dot.warn{background:var(--status-warning-dot)}.sim-hub-dot.locked{background:var(--status-neutral-dot)}.sim-hub-dot.running{background:var(--status-running-dot);animation:task-dot-pulse var(--dur-loop) ease-in-out infinite}.sim-hub-card-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text);flex:1}.sim-hub-card-eta{font-size:var(--fs-sm);color:var(--text);font-family:var(--mono)}.sim-hub-card-desc{font-size:var(--fs-base);color:var(--text);line-height:var(--lh-snug);margin-bottom:var(--space-2)}.sim-hub-missing{margin:0 0 var(--space-2) var(--space-0-5);padding:0 0 0 var(--space-4)}.sim-hub-missing li{font-size:var(--fs-sm);color:var(--warning-text);line-height:var(--lh-loose)}.sim-hub-card-actions{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.sim-hub-outlet-input{flex:1;min-width:120px;font-size:var(--fs-base);padding:var(--space-1) var(--space-2);background:var(--veil-2);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);color:var(--text)}.sim-hub-outlet-input::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent)}.sim-hub-card--btn{width:100%;text-align:left;cursor:pointer;border:none;font-family:inherit}.sim-hub-card--btn:hover{background:var(--veil-2);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.sim-hub-card--running{border-color:var(--status-running-dot)!important;background:var(--status-running-bg)!important}.sim-hub-card-chevron{margin-left:auto;font-size:var(--fs-lg);color:var(--text);line-height:var(--lh-tight)}.sim-hub-card-miss{font-size:var(--fs-sm);color:var(--warning-text);margin-top:var(--space-1)}.sim-hub-card-running-bar{height:3px;border-radius:var(--r-1);background:var(--veil-2);overflow:hidden;margin-top:var(--space-2)}.eng-cfg-hdr-row{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) 0 var(--space-2);border-bottom:var(--bw) solid var(--veil-2);margin-bottom:var(--space-2)}.eng-cfg-back{background:none;border:none;color:var(--text);font-size:var(--fs-base);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--r-1);transition:background var(--dur-fast)}.eng-cfg-back:hover{background:var(--veil-2);color:var(--text)}.eng-cfg-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text);flex:1}.eng-cfg-footer{display:flex;gap:var(--space-2);padding:var(--space-2) 0 var(--space-0-5);border-top:var(--bw) solid var(--veil-2);margin-top:var(--space-2)}.eng-run-progress{padding:var(--space-2) 0 var(--space-2)}.eng-run-progress-hdr{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text);margin-bottom:var(--space-1)}.ds-input-group{margin-bottom:var(--space-2)}.ds-input-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);letter-spacing:var(--track-wide);margin-bottom:var(--space-1);display:flex;align-items:center;gap:var(--space-2)}.ds-input-req{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--warning-text);background:color-mix(in srgb,var(--warning) 12%,transparent);border-radius:var(--r-1);padding:var(--space-px) var(--space-1)}.ds-input-opt{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--text)}.ds-dropdown{width:100%;font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);background:var(--veil-2);border:var(--bw) solid var(--veil-3);border-radius:var(--r-2);color:var(--text);cursor:pointer}.ds-dropdown:focus{border-color:var(--accent-text)}.exp-layer{margin-bottom:var(--space-1);border:var(--bw) solid var(--veil-2);border-radius:var(--r-2);overflow:hidden}.exp-layer-hdr{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--veil-1);border:none;cursor:pointer;font-family:inherit;transition:background var(--dur-fast)}.exp-layer-hdr:hover{background:var(--veil-2)}.exp-layer-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);flex:0 0 auto}.exp-layer-val{font-size:var(--fs-xs);color:var(--text);flex:1;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-2)}.exp-layer-chevron{font-size:var(--fs-xs);color:var(--text);flex-shrink:0}.exp-layer-body{padding:var(--space-2) var(--space-2) var(--space-2);background:var(--shade-2)}.exp-layer-note{font-size:var(--fs-xs);color:var(--text);font-style:italic}.sp-param-col{margin-bottom:var(--space-2)}.sp-param-col .sp-param-k{display:block;font-size:var(--fs-xs);color:var(--text);margin-bottom:var(--space-1)}.sp-param-col .rom-cfg-select,.sp-param-col .rom-cfg-input{width:100%;margin-top:0}.sp-param-col .rom-cfg-input{margin-top:var(--space-1)}.manning-tabs{display:flex;gap:0;margin-bottom:var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);overflow:hidden}.manning-tab{flex:1;font-size:var(--fs-xs);padding:var(--space-1) 0;background:none;border:none;color:var(--text);cursor:pointer;font-family:inherit;transition:background var(--dur-fast),color var(--dur-fast)}.manning-tab:not(:last-child){border-right:var(--bw) solid var(--line)}.manning-tab.active{background:var(--primary);color:var(--on-primary);font-weight:var(--fw-semibold)}.manning-tab:hover:not(.active){background:rgba(var(--state-layer),var(--state-hover));color:var(--text)}.manning-auto-note{font-size:var(--fs-xs);color:var(--text);font-style:italic;padding:var(--space-1) var(--space-0-5);line-height:var(--lh-body)}.bc-edge-grid{display:flex;flex-direction:column;gap:var(--space-1);width:100%}.bc-edge-row{display:flex;align-items:center;gap:var(--space-2);min-height:28px}.bc-edge-toggle{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;min-width:68px;min-height:var(--control-sm)}.bc-edge-toggle input[type=checkbox]{accent-color:var(--accent-text);width:var(--space-4);height:var(--space-4);margin:0;cursor:pointer;flex-shrink:0}.bc-edge-toggle input:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.bc-edge-name{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);text-transform:capitalize}.bc-edge-type-sel{flex:1;font-size:var(--fs-xs);background:var(--veil-2);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);color:var(--text);padding:var(--space-1) var(--space-2)}.bc-edge-type-sel:focus{border-color:var(--accent-text)}.bc-stage-input{width:80px;font-size:var(--fs-xs);background:var(--veil-2);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);color:var(--text);padding:var(--space-1) var(--space-2)}.bc-stage-input:focus{border-color:var(--accent-text)}.bc-edge-closed{font-size:var(--fs-2xs);color:var(--text);font-style:italic}.bc-edge-row{flex-wrap:wrap}.bc-tide{flex-basis:100%;margin-top:var(--space-1);padding:var(--space-2);background:var(--shade-3);border:var(--bw) solid var(--veil-2);border-radius:var(--r-2);display:flex;flex-direction:column;gap:var(--space-2)}.bc-tide .rom-cfg-select,.bc-tide .rom-cfg-input{width:100%}.bc-tide-two{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.bc-tide-preview{font-size:var(--fs-2xs);color:var(--text);line-height:var(--lh-body)}.bc-tide-preview b{font-weight:var(--fw-semibold)}.bc-tide-err{font-size:var(--fs-2xs);color:var(--error);line-height:var(--lh-body)}[data-theme=light] .bc-tide-preview{color:var(--text)}.wb-struct{display:flex;flex-direction:column;gap:var(--space-2)}.wb-struct-intro,.wb-struct-empty{font-size:var(--fs-xs);color:var(--text);line-height:var(--lh-body)}.wb-struct-empty{font-style:italic;padding:var(--space-2) 0}.wb-struct-list{display:flex;flex-direction:column;gap:var(--space-2)}.wb-struct-row{border:var(--bw) solid var(--veil-3);border-radius:var(--r-2);background:var(--shade-2);overflow:hidden}.wb-struct-row.open{border-color:var(--veil-4)}.wb-struct-row-hdr{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);cursor:pointer}.wb-struct-row-hdr:hover{background:var(--veil-1)}.wb-struct-swatch{width:var(--icon-md);height:var(--icon-md);border-radius:var(--r-round);display:inline-flex;align-items:center;justify-content:center;color:var(--on-fill);font-size:var(--fs-2xs);flex:none;border:var(--bw-strong) solid var(--on-fill);box-shadow:0 0 0 var(--bw) var(--shade-3)}.wb-struct-swatch.sm{width:var(--space-4);height:var(--space-4);font-size:var(--fs-2xs);margin-right:var(--space-1)}.wb-struct-name{flex:1;min-width:60px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);background:transparent;border:var(--bw) solid transparent;border-radius:var(--r-1);color:var(--text);padding:var(--space-0-5) var(--space-1)}.wb-struct-name:hover,.wb-struct-name:focus{border-color:var(--veil-4);background:var(--veil-1)}.wb-struct-kind{font-size:var(--fs-2xs);color:var(--text);white-space:nowrap}.wb-struct-status{font-size:var(--fs-xs);font-weight:var(--fw-bold)}.wb-struct-status.ok{color:var(--success-text)}.wb-struct-status.bad{color:var(--status-error-fg)}.wb-struct-toggle{display:inline-flex;align-items:center;min-height:var(--control-sm)}.wb-struct-toggle input{accent-color:var(--accent-text);width:var(--space-4);height:var(--space-4);margin:0;cursor:pointer}.wb-struct-x,.wb-struct-locate{background:none;border:none;color:var(--text);cursor:pointer;font-size:var(--fs-sm);width:var(--control-sm);height:var(--control-sm);padding:0;display:inline-grid;place-items:center;border-radius:var(--r-1)}.wb-struct-x svg,.wb-struct-locate svg,.wb-struct-x .icon,.wb-struct-locate .icon{width:var(--icon-md);height:var(--icon-md)}.wb-struct-x:hover{color:var(--danger-text)}.wb-struct-locate:hover{color:var(--accent-text)}.wb-struct-row-sub{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2) var(--space-2) var(--space-6);font-size:var(--fs-2xs);color:var(--text);font-family:var(--mono)}.wb-struct-arrow{color:var(--fau-red);font-weight:var(--fw-bold)}.wb-struct-body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2);border-top:var(--bw) solid var(--veil-2)}.wb-struct-hint{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-body)}.wb-struct-section{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text);margin-top:var(--space-1)}.wb-struct-endpoint{border:var(--bw) dashed var(--veil-3);border-radius:var(--r-2);padding:var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.wb-struct-endpoint-hdr{display:flex;align-items:center;gap:var(--space-2)}.wb-struct-endpoint-role{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--text);min-width:92px}.wb-struct-endpoint-hdr .rom-cfg-select{flex:1}.wb-struct-endpoint-body{display:flex;flex-direction:column;gap:var(--space-2)}.wb-struct-draw-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wb-struct-draw-row .rom-cfg-select{flex:1;min-width:120px}.wb-struct-drawing{font-size:var(--fs-2xs);color:var(--fau-red);font-weight:var(--fw-semibold);animation:wb-struct-pulse var(--dur-loop) ease-in-out infinite}@keyframes wb-struct-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.wb-struct-drawing{animation:none}}.wb-struct-geom{font-size:var(--fs-2xs);color:var(--text);font-family:var(--mono)}.wb-struct-val{font-size:var(--fs-2xs);color:var(--success-text);font-family:var(--mono)}.wb-struct-val-list{display:flex;flex-direction:column;gap:var(--space-1)}.wb-struct-warn{font-size:var(--fs-sm);color:var(--status-error-fg);line-height:var(--lh-body)}.wb-struct-warn.soft{color:var(--status-warning-fg)}.wb-struct-ts{width:100%;font-family:var(--mono);font-size:var(--fs-2xs);background:var(--veil-2);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);color:var(--text);padding:var(--space-1) var(--space-2);resize:vertical}.wb-struct-ts:focus{border-color:var(--accent-text)}.wb-struct-adv summary{font-size:var(--fs-sm);color:var(--text);cursor:pointer;min-height:var(--control-sm);display:flex;align-items:center}.wb-struct-add{display:flex;gap:var(--space-2);align-items:center}.wb-struct-add .rom-cfg-select{flex:1}.wb-struct-ponds{display:flex;flex-direction:column;gap:var(--space-2)}.wb-struct-pond{border:var(--bw) solid var(--veil-3);border-radius:var(--r-2);padding:var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);background:var(--shade-2)}.wb-struct-validate{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.wb-struct-res-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-1) 0 var(--space-2)}.wb-struct-res-tab{display:inline-flex;align-items:center;font-size:var(--fs-2xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-pill);border:var(--bw) solid var(--veil-3);background:none;color:var(--text);cursor:pointer;font-family:inherit}.wb-struct-res-tab.active{border-color:var(--accent-text);background:var(--veil-2);color:var(--on-fill)}.wb-struct-chart{height:200px;position:relative}.wb-struct-table{font-size:var(--fs-sm);line-height:var(--lh-tight);border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.wb-struct-table th{text-align:left;padding:var(--space-1) var(--space-3);color:var(--muted);font-weight:var(--fw-semibold);font-size:var(--fs-2xs);white-space:nowrap}.wb-struct-table td{padding:var(--space-1) var(--space-3);border-top:var(--bw) solid var(--veil-1);cursor:pointer}.wb-struct-table td.num,.wb-struct-table th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.wb-struct-table th:nth-child(n+3),.wb-struct-table td:nth-child(n+3){text-align:right;font-family:var(--mono)}.wb-struct-table tr.sel td{background:var(--veil-1)}[data-theme=light] .wb-struct-row,[data-theme=light] .wb-struct-pond{background:color-mix(in srgb,var(--navy) 4%,transparent);border-color:color-mix(in srgb,var(--navy-text) 16%,transparent)}[data-theme=light] .wb-struct-name,[data-theme=light] .wb-struct-endpoint-role{color:var(--text)}[data-theme=light] .wb-struct-intro,[data-theme=light] .wb-struct-kind,[data-theme=light] .wb-struct-hint,[data-theme=light] .wb-struct-row-sub,[data-theme=light] .wb-struct-geom,[data-theme=light] .wb-struct-section{color:var(--muted-2)}[data-theme=light] .wb-struct-ts{background:var(--surface-raised);color:var(--text);border-color:color-mix(in srgb,var(--navy-text) 24%,transparent)}[data-theme=light] .wb-struct-res-tab{color:var(--text);border-color:color-mix(in srgb,var(--navy-text) 24%,transparent)}.wb-lid-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.wb-lid-head .sp-block-label{margin-bottom:0}.wb-lid-head-actions{display:flex;align-items:center;gap:var(--space-2)}.wb-lid-tabs{display:flex;gap:var(--space-0-5);margin-bottom:var(--space-2);border-bottom:var(--bw) solid var(--veil-3)}.wb-lid-tabs button{flex:1;border:none;background:none;padding:var(--space-2) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);border-bottom:var(--bw-strong) solid transparent;cursor:pointer;white-space:nowrap}.wb-lid-tabs button:hover{color:var(--text)}.wb-lid-tabs button.on{color:var(--success-text);border-bottom-color:var(--success-text)}.wb-lid-tabs .wb-tab-count{margin-left:var(--space-1)}.wb-lid-msg{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--r-2);background:var(--shade-3)}.wb-lid-msg .wb-struct-x{margin-left:auto}.wb-lid-icon{font-size:var(--fs-xs);line-height:var(--lh-tight);flex:none}.wb-lid-static{cursor:default}.wb-lid-opt{font-weight:var(--fw-regular);text-transform:none;letter-spacing:0;margin-left:var(--space-1);font-size:var(--fs-2xs);color:var(--muted-2)}.wb-lid-layer{display:flex;flex-direction:column;gap:var(--space-1)}.wb-lid-layer-hdr .wb-struct-toggle{display:inline-flex;align-items:center;gap:var(--space-1);text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.wb-lid-layer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2) var(--space-2)}.wb-lid-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.wb-lid-field-k{font-size:var(--fs-2xs);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-lid-field-k:has(.info-hint--inline),.wb-lid-kpi-k:has(.info-hint--inline){overflow:visible}.wb-lid-field-k em{font-style:normal}.wb-lid-field .rom-cfg-input,.wb-lid-field .rom-cfg-select{width:100%;text-align:left;margin-top:0}.wb-lid-text{font-family:inherit}.wb-lid-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-2xs);color:var(--text);cursor:pointer;align-self:end;padding-bottom:var(--space-1)}.wb-lid-table-wrap{overflow-x:auto;max-height:300px;overflow-y:auto;border:var(--bw) solid var(--veil-2);border-radius:var(--r-2)}.wb-lid-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.wb-lid-table th{position:sticky;top:0;z-index:var(--z-raised);text-align:right;padding:var(--space-1) var(--space-3);background:var(--shade-4);color:var(--text);font-weight:var(--fw-semibold);font-size:var(--fs-2xs);white-space:nowrap}.wb-lid-table th:first-child,.wb-lid-table td.wb-lid-td-name{text-align:left}.wb-lid-table td{padding:var(--space-1) var(--space-3);text-align:right;border-top:var(--bw) solid var(--veil-1);color:var(--text);font-family:var(--mono);white-space:nowrap}.wb-lid-table td.wb-lid-td-name{font-family:inherit;font-weight:var(--fw-semibold);max-width:140px;overflow:hidden;text-overflow:ellipsis}.wb-lid-table tr.selected td{background:color-mix(in srgb,var(--success) 12%,transparent)}.wb-lid-compare-table tbody tr{cursor:pointer}.wb-lid-compare-table tbody tr:hover td{background:var(--veil-1)}.wb-lid-sub{font-weight:var(--fw-regular);color:var(--text);font-size:var(--fs-sm)}.wb-lid-ok{color:var(--success-text)}.wb-lid-inline{width:62px;padding:var(--space-0-5) var(--space-1);font-size:var(--fs-2xs);font-family:var(--mono);text-align:right;background:var(--veil-1);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);color:var(--text)}.wb-lid-inline:focus{border-color:var(--accent-text)}.wb-lid-total{font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.wb-lid-delta-pos{color:var(--success-text);font-weight:var(--fw-bold)}.wb-lid-delta-neg{color:var(--status-error-fg);font-weight:var(--fw-bold)}.wb-lid-progress{position:relative;height:18px;border-radius:var(--r-5);background:var(--veil-2);overflow:hidden;font-size:var(--fs-2xs)}.wb-lid-progress-bar{position:absolute;inset:0 auto 0 0;background:var(--success);opacity:var(--opacity-subtle);transition:width var(--dur-slower) ease}.wb-lid-progress span{position:relative;display:block;line-height:var(--lh-tight);text-align:center;color:var(--text);font-weight:var(--fw-semibold)}.sys-bar-jobs{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--text)}.report-contents{list-style:none;margin:var(--space-2) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-sm)}.report-contents label{display:flex;gap:var(--space-2);align-items:center;color:var(--text)}.report-contents--off label{color:var(--muted)}.report-contents-why{display:block;margin-left:var(--space-5);font-size:var(--fs-2xs);color:var(--muted)}.steppanel-nav--next{flex-wrap:wrap}.steppanel-next{flex-basis:100%;font-size:var(--fs-sm);color:var(--text)}.substep-opt{margin-left:var(--space-1);font-size:var(--fs-2xs);font-style:italic;color:var(--text)}.wq-range{font-size:var(--fs-2xs);line-height:var(--lh-snug);color:var(--text);margin-top:var(--space-0-5)}.wq-range--warn{color:var(--warning-text);font-weight:var(--fw-semibold)}.wb-lid-ba{margin:var(--space-2) 0}.wb-lid-ba-table td:not(:first-child),.wb-lid-ba-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.wb-lid-ba-table td em{font-style:normal;font-size:var(--fs-2xs);color:var(--text)}.wb-lid-zero{margin:var(--space-1) var(--space-2) 0}.wb-lid-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2)}.wb-lid-kpi{display:flex;flex-direction:column;gap:var(--space-0-5);padding:var(--space-2) var(--space-2);border-radius:var(--r-2);background:var(--shade-3);border:var(--bw) solid var(--veil-2);min-width:0}.wb-lid-kpi-k{font-size:var(--fs-2xs);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wb-lid-kpi-v{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);font-variant-numeric:tabular-nums}.wb-lid-kpi-v em{font-style:normal;font-size:var(--fs-2xs);font-weight:var(--fw-medium)}.wb-lid-kpi-d{font-size:var(--fs-2xs);color:var(--text);font-variant-numeric:tabular-nums}.wb-lid-chart{height:200px;padding:var(--space-2);border-radius:var(--r-2);background:var(--surface-raised)}.obs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.obs-item{padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--veil-2);border-radius:var(--r-2);background:var(--surface-raised)}.obs-item-head{display:flex;align-items:center;gap:var(--space-2);min-width:0}.obs-item-name{flex:1 1 auto;min-width:0;font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-item-del{flex:none}.obs-item-sub,.obs-item-src{font-size:var(--fs-2xs);color:var(--text);line-height:var(--lh-body);margin-top:var(--space-1)}.obs-item-src{font-style:italic;overflow-wrap:anywhere}.obs-file-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.obs-file-name{font-family:var(--mono);font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.obs-preview{max-height:200px}.obs-preview th.obs-col-time,.obs-preview th.obs-col-value{background:color-mix(in srgb,var(--accent) 22%,var(--shade-4))}.obs-sub{margin-top:var(--space-3)}.obs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.obs-field{display:flex;flex-direction:column;min-width:0}.obs-field--wide{grid-column:1 / -1}.obs-check{flex-direction:row;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);grid-column:1 / -1}.obs-refs{max-height:320px}.obs-refs-table td{padding:var(--space-0-5) var(--space-1)}.obs-cell{min-width:110px;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);font-family:inherit}.obs-cell--id{min-width:80px;font-family:var(--mono)}.obs-cell--sm{min-width:70px}.obs-cell--num{min-width:70px;text-align:right;font-family:var(--mono)}.cmp-sub{margin-top:var(--space-3)}.cmp-pick{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.cmp-pick-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--fs-sm);cursor:pointer}.cmp-pick-name{font-weight:var(--fw-semibold)}.cmp-pick-sub{font-size:var(--fs-2xs);color:var(--text)}.cmp-window{display:flex;align-items:center;gap:var(--space-2)}.cmp-window .field-input{width:100px}.cmp-head{margin-top:0}.cmp-head .sp-block-label{margin-bottom:0}.cmp-chart{height:280px;padding:var(--space-2);border-radius:var(--r-2);background:var(--surface-raised)}.cmp-banner{display:flex;align-items:flex-start;gap:var(--space-2)}.cmp-sources ul{margin:0;padding-left:var(--space-4);font-size:var(--fs-2xs);line-height:var(--lh-body)}.cmp-sources li{overflow-wrap:anywhere}.wb-lid-init{margin:var(--space-2) 0}.wb-lid-init>summary{cursor:pointer}.wb-lid-init>summary em{font-style:normal;color:var(--text-muted, inherit)}.cmp-context{margin:var(--space-1) 0 0;padding-left:var(--space-4);font-size:var(--fs-2xs);line-height:var(--lh-body)}.cmp-context li{overflow-wrap:anywhere}.unit-confirm{border-color:color-mix(in srgb,var(--status-warning-dot) 45%,transparent);background:var(--status-warning-bg)}.unit-confirm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.unit-confirm-item{display:flex;flex-direction:column;gap:var(--space-1)}.unit-confirm-item .wb-struct-warn{color:var(--status-warning-fg)}.unit-confirm-code{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text);opacity:.75}.unit-confirm-sugg{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);font-size:var(--fs-2xs)}.unit-confirm-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}.storm-picker{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.storm-picker-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.storm-picker-title{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--text)}.storm-picker-kind{align-self:flex-start;flex-wrap:wrap}.storm-picker-kind button{cursor:pointer}.storm-picker-kind button.on{background:var(--primary);color:var(--on-primary)}.storm-picker-kind button:hover:not(.on){background:rgba(var(--state-layer),var(--state-hover))}.storm-picker-kind button:focus-visible{box-shadow:var(--ring);outline:none}.storm-picker-body{display:flex;flex-direction:column;gap:var(--space-1)}.storm-picker-body .field-label{margin-bottom:0}.storm-picker-body .field-input{margin-top:var(--space-1)}.storm-picker-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2)}.storm-picker-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text);cursor:pointer}.storm-picker-hint{font-size:var(--fs-2xs);color:var(--muted);line-height:var(--lh-body)}.storm-picker-preview{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);background:var(--panel-2);transition:opacity var(--dur)}.storm-picker-preview--busy{opacity:.6}.storm-picker-spark{display:block;width:100%;height:40px}.storm-picker-spark rect{fill:var(--accent-text)}.storm-picker-spark-axis{stroke:var(--line-2);stroke-width:1;vector-effect:non-scaling-stroke}.storm-picker-spark--empty{height:0}.storm-picker-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2);font-size:var(--fs-sm);color:var(--text)}.storm-picker-total{font-family:var(--mono);font-weight:var(--fw-bold)}.storm-picker-label{min-width:0;overflow-wrap:anywhere}.storm-picker-notes{margin:0;padding-left:1.1em;font-size:var(--fs-2xs);color:var(--text);line-height:var(--lh-body)}.cmp-units{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--fs-2xs);line-height:var(--lh-body)}.wb-lid-balance{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) 0;border-top:var(--bw) solid var(--veil-1)}.wb-lid-balance-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-2xs)}.wb-lid-bar{display:flex;height:10px;border-radius:var(--r-5);overflow:hidden;background:var(--veil-2)}.wb-lid-bar span{display:block;height:100%}.wb-lid-bar-held{background:var(--success)}.wb-lid-bar-et{background:var(--gold)}.wb-lid-bar-drain{background:var(--accent)}.wb-lid-bar-over{background:var(--fau-red)}.wb-lid-bar-legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);font-size:var(--fs-2xs);color:var(--text)}.wb-lid-bar-legend i{display:inline-block;width:8px;height:8px;border-radius:var(--r-xs);margin-right:var(--space-1);vertical-align:middle}.wb-lid-bar-stored{background:var(--veil-3)}.wb-lid-unit-chart{height:260px}.wb-lid-unit-warnings{margin:0;padding-left:var(--space-4);font-size:var(--fs-2xs)}[data-theme=light] .wb-lid-tabs{border-bottom-color:color-mix(in srgb,var(--navy-text) 16%,transparent)}[data-theme=light] .wb-lid-tabs button{color:var(--muted-2)}[data-theme=light] .wb-lid-tabs button:hover,[data-theme=light] .wb-lid-check,[data-theme=light] .wb-lid-total,[data-theme=light] .wb-lid-kpi-v,[data-theme=light] .wb-lid-progress span{color:var(--text)}[data-theme=light] .wb-lid-field-k,[data-theme=light] .wb-lid-kpi-k,[data-theme=light] .wb-lid-kpi-d,[data-theme=light] .wb-lid-sub,[data-theme=light] .wb-lid-bar-legend,[data-theme=light] .wb-lid-table th{color:var(--muted-2)}[data-theme=light] .wb-lid-table th{background:var(--panel-2)}[data-theme=light] .wb-lid-table td{color:var(--text);border-top-color:color-mix(in srgb,var(--navy-text) 8%,transparent)}[data-theme=light] .wb-lid-table-wrap,[data-theme=light] .wb-lid-kpi{border-color:color-mix(in srgb,var(--navy-text) 16%,transparent)}[data-theme=light] .wb-lid-kpi,[data-theme=light] .wb-lid-msg{background:color-mix(in srgb,var(--navy) 4%,transparent)}[data-theme=light] .wb-lid-inline{background:var(--surface-raised);color:var(--text);border-color:color-mix(in srgb,var(--navy-text) 24%,transparent)}[data-theme=light] .wb-lid-progress,[data-theme=light] .wb-lid-bar{background:color-mix(in srgb,var(--navy) 12%,transparent)}.infil-params{margin-top:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--shade-3);border:var(--bw) solid var(--veil-2);border-radius:var(--r-2);display:flex;flex-direction:column;gap:var(--space-2)}.infil-param-row{display:flex;flex-direction:column;gap:var(--space-1)}.infil-param-k{font-size:var(--fs-2xs);color:var(--text)}.infil-param-row .rom-cfg-select,.infil-param-row .rom-cfg-input{width:100%}.infil-ga-vals{display:flex;gap:var(--space-3);padding:var(--space-1) var(--space-0-5)}.infil-ga-vals span{font-size:var(--fs-2xs);color:var(--text)}.infil-ga-vals b{color:var(--text);font-weight:var(--fw-semibold);margin-left:var(--space-0-5)}.sp-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);border:var(--bw-strong) dashed color-mix(in srgb,var(--accent) 32%,transparent);border-radius:var(--r-3);cursor:pointer;background:color-mix(in srgb,var(--accent) 8%,transparent);transition:background var(--dur),border-color var(--dur)}.sp-dropzone:hover{border-color:var(--accent-text)}.sp-dropzone-icon{font-size:var(--fs-2xl)}.sp-dropzone-hint{font-size:var(--fs-sm);color:var(--text);text-align:center;line-height:var(--lh-snug)}.rom-cfg-input,.rom-cfg-select{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);color:var(--text);font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);font-family:var(--mono)}.rom-cfg-input{width:90px;text-align:right}.rom-cfg-select{width:150px}.rom-cfg-input:focus,.rom-cfg-select:focus{border-color:var(--accent-text)}.wb-upload-zone{margin:var(--space-2) 0 var(--space-1);width:100%;box-sizing:border-box;text-align:center}.wb-upload-zone:focus-within{box-shadow:var(--ring)}.adddata .wb-catalog{border:none;padding:0;background:none}.adddata-lead{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-body)}.adddata-results{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel-2)}.adddata-results-t{font-weight:var(--fw-semibold);color:var(--text);font-size:var(--fs-base)}.adddata-results-d{color:var(--muted);font-size:var(--fs-sm)}.adddata-note{min-height:var(--space-5);margin:var(--space-2) 0;font-size:var(--fs-sm);color:var(--text)}.adddata-note:empty{min-height:0;margin:var(--space-1) 0}.wb-area-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text);padding:var(--space-1) 0 var(--space-2)}.wb-dz-label{font-size:var(--fs-base);font-weight:var(--fw-medium);color:var(--accent-text)}.wb-dz-hint{font-size:var(--fs-xs);color:var(--text)}.rail-sim-section{padding:var(--space-2) var(--space-2) var(--space-2);border-bottom:var(--bw) solid var(--line-2);margin-bottom:var(--space-0-5)}.sim-row{display:flex;align-items:center;gap:var(--space-2);width:100%;background:none;border:none;cursor:pointer;padding:var(--space-1) var(--space-1);border-radius:var(--r-2);text-align:left;transition:background var(--dur-fast)}.sim-row:hover{background:rgba(var(--state-layer),var(--state-hover))}.sim-row.sim-row-on{background:color-mix(in srgb,var(--accent) 16%,transparent)}.sim-row-label{flex:1;font-size:var(--fs-base);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sim-row-on .sim-row-label{color:var(--text)}.sim-row-badge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--on-fill);background:var(--gold);border-radius:var(--r-3);padding:0 var(--space-1);min-width:16px;text-align:center;flex-shrink:0}.rail-sim-dot{width:8px;height:8px;border-radius:var(--r-round);display:inline-block;flex-shrink:0}.rail-sim-dot.ready{background:var(--success)}.rail-sim-dot.warn{background:var(--status-warning-dot)}.rail-sim-dot.locked{background:var(--muted-2)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-2)}.metric{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-3);text-align:center}.metric-v{display:block;font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text)}.metric-l{font-size:var(--fs-xs);color:var(--muted-2)}.param-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-base)}.param-row:last-child{border-bottom:none}.param-row>span:first-child{white-space:nowrap}.param-v{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;text-align:right}.warn-text{color:var(--status-warning-fg);font-weight:var(--fw-semibold)}.pf-mark.warn{background:var(--status-warning-bg);color:var(--status-warning-fg);font-weight:var(--fw-bold);font-size:var(--fs-sm)}.run-big{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);border:none;border-radius:var(--r-4);background:var(--primary);color:var(--on-primary);font-weight:var(--fw-bold);font-size:var(--fs-md);box-shadow:var(--shadow-sm);transition:var(--dur)}.run-big:hover{transform:translateY(-2px)}.run-big:disabled{color:var(--on-surface-disabled);background:var(--panel-2);box-shadow:none;cursor:progress;transform:none}.run-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:var(--z-overlay)}.run-card{position:relative;width:320px;max-width:calc(100% - 32px);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-5);box-shadow:var(--shadow-lg);text-align:center}.run-cancel-x{position:absolute;top:10px;right:10px;width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);display:grid;place-items:center;transition:var(--dur)}.run-cancel-x:hover{border-color:var(--danger);color:var(--danger)}.run-cancel-btn{margin-top:var(--space-4);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--muted);background:var(--panel-2);border:var(--bw) solid var(--line);padding:var(--space-2) var(--space-4);border-radius:var(--r-2);transition:var(--dur)}.run-cancel-btn:hover{border-color:var(--danger);color:var(--danger)}.run-spinner{width:34px;height:34px;margin:0 auto var(--space-4);border:var(--bw-accent) solid var(--line);border-top-color:var(--accent-text);border-radius:var(--r-round);animation:spin var(--dur-loop-fast) linear infinite}.run-card-title{font-family:var(--display);font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.run-card-sub{font-size:var(--fs-xs);color:var(--muted-2);margin:var(--space-1) 0 var(--space-4)}.run-bar{height:7px;border-radius:var(--r-1);background:var(--line);overflow:hidden}.run-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--gold));border-radius:var(--r-1);transition:width var(--dur-fast) linear}.run-card-pct{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-2)}.hydro{width:100%;height:120px;display:block;border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel-2);padding:var(--space-1)}.legend{display:flex;flex-direction:column;gap:var(--space-2)}.legend-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm)}.legend-sw{width:var(--space-4);height:var(--space-4);border-radius:var(--r-1);flex:none;border:var(--bw) solid var(--shade-2)}.legend-lab{width:56px;flex:none;color:var(--muted)}.legend-bar{flex:1;height:8px;border-radius:var(--r-1);background:var(--line-2);overflow:hidden}.legend-bar i{display:block;height:100%;border-radius:var(--r-1)}.legend-pct{width:34px;text-align:right;color:var(--muted);flex:none}.results-locked{text-align:center;padding:var(--space-7) var(--space-5)}.results-locked p{color:var(--muted);font-size:var(--fs-base);line-height:var(--lh-body);margin:var(--space-2) 0 var(--space-4)}.pypilot{width:100%;flex:1;background:var(--panel-2);display:flex;flex-direction:column;min-height:0}.pypilot-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4);border-bottom:var(--bw) solid var(--line-2);background:var(--panel)}.pypilot-brand{display:flex;align-items:center;gap:var(--space-2)}.pypilot-orb{width:32px;height:32px;border-radius:var(--r-3);display:grid;place-items:center;background:linear-gradient(150deg,var(--accent),var(--accent-deep));color:var(--on-accent);box-shadow:var(--glow-accent)}.pypilot-title{font-family:var(--display);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.pypilot-sub{font-size:var(--fs-sm);color:var(--muted-2)}.pypilot-live{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--accent-text);font-family:var(--mono)}.pypilot-live i{width:7px;height:7px;border-radius:var(--r-round);background:var(--success);box-shadow:0 0 color-mix(in srgb,var(--success) 60%,transparent);animation:pulse var(--dur-loop-slow) infinite}.pypilot-scroll{flex:1;overflow-y:auto;padding:var(--space-4)}.insights{margin-top:var(--space-4)}.insights-label,.chat-label{font-size:var(--fs-2xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted-2);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.insight{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-2) var(--space-3);border-radius:var(--r-3);font-size:var(--fs-base);line-height:var(--lh-body);margin-bottom:var(--space-2);border:var(--bw) solid var(--line);background:var(--panel)}[data-theme=dark] .insight-warn{background:color-mix(in srgb,var(--gold) 14%,var(--panel-2));border-color:color-mix(in srgb,var(--gold) 35%,transparent);color:var(--text)}[data-theme=dark] .insight-good{background:color-mix(in srgb,var(--success) 14%,var(--panel-2));border-color:color-mix(in srgb,var(--success) 30%,transparent);color:var(--text)}[data-theme=dark] .insight-info{background:color-mix(in srgb,var(--accent) 12%,var(--panel-2));border-color:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--text)}.chat-label{margin-top:var(--space-4)}.chat-thread{display:flex;flex-direction:column;gap:var(--space-2)}.bubble{max-width:92%;padding:var(--space-2) var(--space-3);border-radius:var(--r-4);font-size:var(--fs-base);line-height:var(--lh-body)}.bubble-ai{align-self:flex-start;background:var(--panel-2);border:var(--bw) solid var(--line);border-bottom-left-radius:var(--r-1)}.bubble-md>:first-child{margin-top:0}.bubble-md>:last-child{margin-bottom:0}.bubble-md p,.bubble-md ul,.bubble-md ol{margin:0 0 var(--space-2)}.bubble-md ul,.bubble-md ol{padding-left:var(--space-5)}.bubble-md h1,.bubble-md h2,.bubble-md h3,.bubble-md h4{font-size:inherit;font-weight:600;margin:0 0 var(--space-1)}.bubble-md code{font-family:var(--font-mono, monospace);font-size:.92em}.bubble-user{align-self:flex-end;background:var(--navy);color:var(--accent-text);border-bottom-right-radius:var(--r-1)}[data-theme=dark] .bubble-ai{background:var(--navy);border-color:var(--veil-3);color:var(--text)}[data-theme=dark] .bubble-user{background:var(--navy);color:var(--accent-text);border:var(--bw) solid var(--accent-text)}[data-theme=dark] .msg-bubble-row.me .msg-bubble{border:var(--bw) solid var(--accent-text)}.bubble-suggest{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:color-mix(in srgb,var(--accent) 6%,var(--surface-raised))}.bubble-tip{display:inline-block;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--accent-text);margin-bottom:var(--space-1);font-weight:var(--fw-bold)}.dots{display:inline-flex;gap:var(--space-1)}.dots i{width:6px;height:6px;border-radius:var(--r-round);background:var(--muted-2);animation:blink var(--dur-loop) infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,60%,to{opacity:.3}30%{opacity:1}}.pypilot-compose{border-top:var(--bw) solid var(--line-2);padding:var(--space-3) var(--space-3);background:var(--panel)}.compose-row{display:flex;gap:var(--space-2);align-items:center}.compose-row input{flex:1;padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-base);background:var(--panel-2)}.compose-row input:focus{border-color:var(--accent-text);background:var(--panel)}.send{width:var(--control-md);height:var(--control-md);flex:none;border:none;border-radius:var(--r-3);background:var(--primary);color:var(--on-primary);display:grid;place-items:center}.send:disabled{background:var(--panel-2);color:var(--on-surface-disabled);box-shadow:inset 0 0 0 var(--bw) var(--line-2);cursor:not-allowed}.send--stop{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 var(--bw) var(--line);cursor:pointer}.send--stop:hover{background:var(--panel)}.toast{position:fixed;bottom:var(--space-5);left:50%;transform:translate(-50%);z-index:var(--z-toast);background:var(--ink);color:var(--cyan-80);padding:var(--space-3) var(--space-4);border-radius:var(--r-4);font-size:var(--fs-base);font-weight:var(--fw-medium);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-2);border:var(--bw) solid var(--veil-3);animation:toastIn var(--dur-slow)}.toast svg{color:inherit}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.rail-nb{padding:var(--space-4) var(--space-4);border-top:var(--bw) solid var(--veil-2)}.rail-nb .rail-kicker{display:block;margin-bottom:var(--space-2)}.nb-row{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:none;background:none;color:var(--text);font-size:var(--fs-md);border-radius:var(--r-2);text-align:left;transition:var(--dur)}.nb-row:hover{background:var(--veil-1)}.nb-row-open{background:var(--veil-1);color:var(--on-fill)}.nb-ico{color:var(--accent-text);font-size:var(--fs-base)}.nb-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nb-row-dot{width:6px;height:6px;border-radius:var(--r-round);background:var(--accent)}.nb-new{width:100%;text-align:left;padding:var(--space-2) var(--space-2);margin-top:var(--space-1);border:none;background:none;color:var(--accent-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:var(--r-2)}.nb-new:hover{background:var(--veil-1)}.ws-viewtabs{display:flex;align-items:center;gap:var(--space-1);min-width:0;max-width:100%;box-sizing:border-box;padding:var(--space-2) var(--space-3) 0;background:color-mix(in srgb,var(--ink) 92%,transparent);border-bottom:var(--bw) solid var(--veil-2)}.vtab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:var(--bw) solid transparent;border-bottom:none;background:none;color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-medium);border-radius:var(--r-2) var(--r-2) 0 0;transition:var(--dur)}button.vtab:hover,a.vtab:hover{background:var(--veil-1);color:var(--on-fill)}.vtab-on{background:var(--panel);color:var(--text)}.app[data-map=light] .vtab-on{background:var(--panel-2)}.vtab-ico{font-size:var(--fs-base)}.vtab-x{margin-left:var(--space-1);font-size:var(--fs-2xs);padding:var(--space-0-5);border-radius:var(--r-1)}.vtab-x:hover{opacity:1;background:var(--shade-2)}.map-layer-chip{font-size:var(--fs-2xs);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 30%,transparent);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-4)}.nb-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--panel)}.nb-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);border-bottom:var(--bw) solid var(--line-2);background:var(--panel-2)}.nb-kernel{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--muted);font-family:var(--mono)}.nb-kernel i{width:8px;height:8px;border-radius:var(--r-round)}.nb-toolbar-btns{display:flex;gap:var(--space-1)}.nb-tb{font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);border-radius:var(--r-2);font-weight:var(--fw-medium);transition:var(--dur)}.nb-tb:hover{border-color:var(--accent-text);color:var(--accent-text)}.nb-cells{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.nb-cell-md{padding:var(--space-1) var(--space-2)}.nb-md-h{font-family:var(--display);font-size:var(--fs-xl);margin:0 0 var(--space-2);letter-spacing:var(--track-tight)}.nb-md-p{margin:0 0 var(--space-1);color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-body)}.nb-cell-code{display:flex;gap:0;border:var(--bw) solid var(--line);border-radius:var(--r-3);overflow:hidden;background:var(--ink)}.nb-cell-code.nb-running{border-color:var(--gold-text)}.nb-gutter{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);background:var(--veil-1);flex:none}.nb-run{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--text);display:grid;place-items:center;transition:var(--dur)}.nb-run:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.nb-count{font-size:var(--fs-2xs);color:var(--text)}.nb-spin{width:13px;height:13px;border:var(--bw-strong) solid var(--veil-5);border-top-color:var(--accent-text);border-radius:var(--r-round);animation:spin var(--dur-loop-fast) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nb-cell-main{flex:1;min-width:0;position:relative}.nb-source{width:100%;border:none;background:none;resize:none;color:var(--text);font-size:var(--fs-base);line-height:var(--lh-loose);padding:var(--space-3) var(--space-3);display:block;overflow:hidden}.nb-source:focus{background:var(--veil-1)}.nb-cell-actions{position:absolute;top:8px;right:8px;display:flex;gap:var(--space-1);opacity:0;transition:var(--dur)}.nb-cell-code:hover .nb-cell-actions{opacity:1}.nb-act{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:color-mix(in srgb,var(--ink) 64%,transparent);color:var(--text);display:grid;place-items:center;font-size:var(--fs-xs)}.nb-act:hover{color:var(--on-fill)}.nb-run svg,.nb-act svg,.nb-run .icon,.nb-act .icon{width:var(--icon-md);height:var(--icon-md)}.nb-output{border-top:var(--bw) solid var(--veil-2);padding:var(--space-2) var(--space-3);background:var(--veil-1)}.nb-output pre{margin:0;font-size:var(--fs-sm);line-height:var(--lh-loose);color:var(--success-text);white-space:pre-wrap}.nb-output-layer{background:color-mix(in srgb,var(--accent) 12%,var(--ink))}.nb-layer-out{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--accent-text)}.nb-layer-out svg{color:var(--success-text)}.nb-addrow{align-self:flex-start;font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);border:var(--bw-strong) dashed var(--line);border-radius:var(--r-2);background:var(--panel-2);color:var(--muted);font-weight:var(--fw-semibold)}.nb-addrow:hover{border-color:var(--accent-text);color:var(--accent-text)}.insert-cell{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent-text);transition:var(--dur)}.insert-cell:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.modal{position:relative;width:var(--modal-w);max-width:100%;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-5);padding:var(--space-6) var(--space-6) var(--space-5);box-shadow:var(--shadow-lg)}.modal-wide{width:var(--modal-wide-w)}.modal h2{font-family:var(--display);font-size:var(--fs-2xl);margin:0 0 var(--space-2);letter-spacing:var(--track-tight)}.modal-subtitle{margin:0 0 var(--space-5);color:var(--muted);font-size:var(--fs-base)}.modal-close{position:absolute;top:var(--space-3);right:var(--space-3);width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-md);display:grid;place-items:center;transition:var(--dur)}.modal-close:hover{border-color:var(--danger);color:var(--danger)}.modal-field{display:block;margin-bottom:var(--space-4)}.modal-field span{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--muted);margin-bottom:var(--space-2)}.modal-field input,.modal-field textarea,.modal-field select{width:100%;padding:var(--space-3) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-md);background:var(--panel-2);color:var(--text);transition:var(--dur)}.modal-field input:focus,.modal-field textarea:focus,.modal-field select:focus{border-color:var(--accent-text);background:var(--surface-raised);box-shadow:var(--ring)}.modal-field.required>span:after{content:" *";color:var(--danger)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-bottom:var(--space-2)}.form-grid .modal-field{margin-bottom:0}.privacy-check{display:flex;align-items:flex-start;gap:var(--space-2);margin:var(--space-3) 0 var(--space-2);font-size:var(--fs-base);line-height:var(--lh-snug);cursor:pointer}.privacy-check input{flex:none;width:var(--space-4);height:var(--space-4);margin:var(--space-0-5) 0 0;cursor:pointer;accent-color:var(--primary)}.privacy-check a{color:var(--accent-text)}.privacy-banner{position:fixed;left:var(--space-4);bottom:calc(var(--statusbar-h, 30px) + var(--space-4));z-index:var(--z-toast);width:min(var(--modal-w),calc(100vw - var(--space-8)));display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:var(--bw) solid var(--line-2);border-left:var(--space-1) solid var(--status-info-dot);border-radius:var(--r-3);background:var(--status-info-bg);color:var(--status-info-fg);box-shadow:var(--shadow-lg);font-size:var(--fs-base);line-height:var(--lh-snug)}.privacy-banner__text{flex:1;margin:0}.privacy-banner__text a{color:inherit;font-weight:var(--fw-semibold);text-decoration:underline}.form-grid .modal-field.full-width{grid-column:1 / -1}.modal-error{color:var(--danger);font-size:var(--fs-base);font-weight:var(--fw-medium);margin:var(--space-1) 0 var(--space-3)}.modal-notice{margin:0 0 var(--space-5);padding:var(--space-2) var(--space-3);border-radius:var(--r-1);font-size:var(--fs-base);color:var(--text);background:color-mix(in srgb,var(--gold) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--gold) 32%,transparent)}.modal-hint{font-size:var(--fs-base);color:var(--muted);margin-top:var(--space-3)}.modal-hint .link-btn{font-size:var(--fs-base)}.modal-hint--tight{margin:calc(-1 * var(--space-2)) 0 var(--space-3);text-align:right}.modal-actions{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.modal-actions>.btn,.verify-actions>.btn{flex:1}.signup-success{text-align:center;padding:var(--space-4) 0;color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-loose)}.fb-attach-hint{font-weight:var(--fw-regular);color:var(--muted);font-size:var(--fs-xs)}.fb-file-hidden{display:none}.fb-attach-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:var(--bw) dashed var(--line);border-radius:var(--r-3);background:var(--panel-2);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-semibold);cursor:pointer;transition:var(--dur)}.fb-attach-btn:hover{border-color:var(--accent-text);color:var(--accent-text);background:var(--panel)}.fb-attach-btn:focus-visible{outline:none;border-color:var(--accent-text);box-shadow:var(--ring)}.fb-attach-list{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.fb-attach-list li{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel-2);font-size:var(--fs-base)}.fb-attach-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.fb-attach-size{color:var(--muted);font-size:var(--fs-xs);flex:none}.fb-attach-x{flex:none;width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-2);border:none;background:none;color:var(--muted);font-size:var(--fs-xs);display:grid;place-items:center}.fb-attach-x:hover{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.about-page{display:flex;height:100%;background:var(--bg)}.about-nav{flex:none;width:252px;border-right:var(--bw) solid var(--line);background:var(--panel);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.about-nav-brand{margin-bottom:var(--space-4)}.about-nav-kicker{display:block;font-size:var(--fs-2xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted)}.about-nav-title{font-family:var(--display);font-size:var(--fs-xl);margin:var(--space-1) 0 var(--space-0-5);color:var(--text);letter-spacing:var(--track-tight);line-height:var(--lh-tight)}.about-nav-sub{display:block;font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}.about-nav-list{display:flex;flex-direction:column;gap:var(--space-1)}.about-nav-list button{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-md);text-align:left;padding:0 var(--space-3);border:none;border-radius:var(--r-3);background:none;color:var(--text);font-size:var(--fs-base);font-weight:var(--fw-semibold);transition:var(--dur-fast)}.about-nav-list button:hover{background:var(--panel-2)}.about-nav-list button.on{background:color-mix(in srgb,var(--accent) 14%,var(--panel));color:var(--accent-text)}.about-nav-ico{display:inline-flex;color:var(--muted)}.about-nav-list button.on .about-nav-ico{color:var(--accent-text)}.about-nav-ver{margin-top:auto;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted-2);padding:0 var(--space-3)}.about-nav-back{min-height:var(--control-md);text-align:left;padding:0 var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:none;color:var(--muted);font-size:var(--fs-base);display:flex;align-items:center;gap:var(--space-2)}.about-nav-back:hover{border-color:var(--accent-text);color:var(--accent-text)}.about-content{flex:1;min-width:0;overflow-y:auto;padding:var(--space-8) var(--space-8) var(--space-8);scroll-padding-top:var(--space-6)}.about-content>*{max-width:960px;margin-inline:auto}.about-hero{margin-bottom:var(--space-8)}.about-hero-title{font-family:var(--display);font-size:var(--fs-3xl);line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--text);margin:0 0 var(--space-4);max-width:22ch}.about-hero-lead{font-size:var(--fs-md);line-height:var(--lh-loose);color:var(--muted);margin:0 0 var(--space-5);max-width:62ch}.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4);margin:var(--space-6) 0 0;padding:var(--space-4) 0 0;border-top:var(--bw) solid var(--line)}.about-stats .stat__value{font-size:var(--fs-lg)}.about-stats dd{margin:0}.about-eyebrow{display:inline-block;font-size:var(--fs-2xs);letter-spacing:var(--track-caps);text-transform:uppercase;font-weight:var(--fw-bold);color:var(--accent-text);margin-bottom:var(--space-2)}.about-sec{scroll-margin-top:var(--space-6);padding-top:var(--space-6);margin-top:var(--space-6);border-top:var(--bw) solid var(--line)}.about-sec h2{font-family:var(--display);font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0 0 var(--space-5);letter-spacing:var(--track-tight);color:var(--text);max-width:40ch;text-wrap:balance}.about-hero-title{text-wrap:balance}.about-sec h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text);margin:0}.about-sec p{font-size:var(--fs-base);color:var(--muted);line-height:var(--lh-body);margin:0}.about-cta{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-5);flex-wrap:wrap}.about-cta a.btn{text-decoration:none}.about-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.about-why{display:flex;flex-direction:column;gap:var(--space-2)}.about-why-ico{display:inline-flex;width:var(--control-md);height:var(--control-md);align-items:center;justify-content:center;border-radius:var(--r-3);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 12%,var(--panel));margin-bottom:var(--space-1)}.about-audience{margin-top:var(--space-4)!important}.about-audience strong{color:var(--text)}.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.about-pillar{display:flex;gap:var(--space-3);align-items:flex-start;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.about-pillar:hover{border-color:var(--accent-text);box-shadow:var(--shadow)}.about-pillar:focus-visible{outline:none;box-shadow:var(--ring)}.about-pillar-ico{display:inline-flex;flex:none;width:var(--control-md);height:var(--control-md);align-items:center;justify-content:center;border-radius:var(--r-3);color:var(--on-fill);background:linear-gradient(135deg,var(--navy),var(--accent))}.about-pillar-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.about-pillar-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-1) var(--space-2)}.about-pillar-tag{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--accent-text)}.about-pillar-go{display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text)}.about-pypilot{display:flex;gap:var(--space-3);align-items:flex-start;margin-top:var(--space-4);background:color-mix(in srgb,var(--accent) 6%,var(--surface-raised))}.about-pypilot h3{margin-bottom:var(--space-1)}.about-tech{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}.about-tech-tile{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:var(--space-3);row-gap:var(--space-0-5);padding:var(--space-3) var(--space-4);border:var(--bw) solid var(--line);border-radius:var(--r-4);background:var(--surface-raised)}.about-tech-ico{grid-row:1 / span 2;display:inline-flex;align-items:center;color:var(--accent-text)}.about-tech-label{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-tight)}.about-tech-desc{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-body)}.about-team-group+.about-team-group{margin-top:var(--space-6)}.about-team-h{font-family:var(--display);font-size:var(--fs-md);margin:0 0 var(--space-1)!important}.about-team-intro{margin:0 0 var(--space-4)!important;max-width:70ch}.about-team{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.about-team--brief{grid-template-columns:repeat(3,1fr)}.about-team-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-4);background:var(--surface-raised)}.about-avatar{width:52px;height:52px;border-radius:var(--r-round);object-fit:cover;flex:none;border:var(--bw-strong) solid color-mix(in srgb,var(--accent) 35%,transparent);background:var(--panel)}.about-avatar-initials{display:grid;place-items:center;font-weight:var(--fw-bold);font-size:var(--fs-xl);color:var(--on-fill);background:linear-gradient(135deg,var(--navy),var(--accent));border-color:transparent}.about-avatar-placeholder{display:grid;place-items:center;color:var(--muted-2);background:var(--panel-2);border-style:dashed;border-color:var(--line)}.about-team-meta{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.about-team-name{font-weight:var(--fw-bold);font-size:var(--fs-base);color:var(--text)}.about-team-title{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}.about-team-focus{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--accent-text);margin-top:var(--space-0-5)}.about-team-contrib{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-body);margin-top:var(--space-1)}.about-team-card:has(.about-team-contrib){align-items:flex-start}.about-contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.about-contact-card{display:flex;flex-direction:column;gap:var(--space-2)}.about-contact-card p{flex:1}.about-contact-card a{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text);word-break:break-all}.about-contact-card .btn{align-self:flex-start}@media(min-width:1440px){.about-content{padding:var(--space-8) var(--space-8) var(--space-8)}.about-content>*{max-width:1280px}.about-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);column-gap:var(--space-8);align-items:end}.about-hero>*{grid-column:1}.about-hero-title{font-size:var(--fs-3xl);max-width:none}.about-hero-lead{max-width:none}.about-stats{grid-column:2;grid-row:1 / span 4;grid-template-columns:1fr 1fr;align-self:end;margin:0;padding:var(--space-5);border:var(--bw) solid var(--line);border-top-width:var(--bw);border-radius:var(--r-4);background:var(--surface-raised)}.about-team{grid-template-columns:repeat(3,1fr)}}@media(min-width:1920px){.about-nav{width:288px}.about-content>*{max-width:1560px}.about-hero-title{font-size:var(--fs-4xl);line-height:var(--lh-tight)}.about-sec h2{font-size:var(--fs-2xl)}.about-pillars{grid-template-columns:repeat(4,1fr)}.about-pillar{flex-direction:column}.about-tech{grid-template-columns:repeat(4,1fr)}.about-tech-tile{grid-template-columns:1fr;row-gap:var(--space-1)}.about-tech-ico{grid-row:auto;margin-bottom:var(--space-1)}.about-team{grid-template-columns:repeat(4,1fr)}.about-team--brief{grid-template-columns:repeat(3,1fr)}}@media(max-width:1100px){.about-trio,.about-tech,.about-contact-grid,.about-team--brief{grid-template-columns:1fr 1fr}}@media(max-width:900px){.about-page{flex-direction:column}.about-nav{width:auto;border-right:none;border-bottom:var(--bw) solid var(--line);padding:var(--space-3) var(--space-4);flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.about-nav-brand{margin:0;flex:1 1 100%}.about-nav-sub,.about-nav-kicker,.about-nav-ver{display:none}.about-nav-list{flex-direction:row;flex-wrap:wrap}.about-nav-list button{min-height:var(--control-sm);font-size:var(--fs-sm)}.about-nav-back{margin-left:auto;min-height:var(--control-sm);font-size:var(--fs-sm)}.about-content{padding:var(--space-5) var(--space-4)}.about-hero-title{font-size:var(--fs-2xl)}.about-pillars,.about-team{grid-template-columns:1fr}}@media(max-width:640px){.about-trio,.about-tech,.about-contact-grid,.about-team--brief{grid-template-columns:1fr}.about-stats{grid-template-columns:1fr 1fr}}.signup-success p{margin:0 0 var(--space-2)}.layer-editor-section-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-wide);margin:var(--space-4) 0 var(--space-2);padding-top:var(--space-4);border-top:var(--bw) solid var(--line-2)}.wb-map-container{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.wb-schematic-banner{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-2);max-width:min(720px,calc(100% - 2 * var(--space-4)));padding:var(--space-2) var(--space-3);border-radius:var(--r-3);background:var(--surface-raised, var(--surface));color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);font-size:var(--fs-sm)}.wb-schematic-banner>span{flex:1}.wb-schematic-banner--pick{top:auto;bottom:var(--space-6);border-color:var(--navy)}.wb-map{flex:1;min-height:0}.wb-gis-toolbar{display:flex;align-items:center;gap:var(--space-1);flex-wrap:nowrap}.wb-gis-group{display:flex;align-items:center;gap:var(--space-px)}.wb-gis-toolbar .wb-gis-lbl,.ws-layers-btn .wb-gis-lbl{font-size:var(--fs-sm)}.btn.wb-gis-btn--icon{width:var(--control-sm);min-height:var(--control-sm);padding:0;justify-content:center;border-radius:var(--r-2);background:none;border:var(--bw) solid transparent;color:var(--text);box-shadow:none}.btn.wb-gis-btn--icon:hover{background:var(--veil-2);border-color:var(--veil-3)}[data-theme=light] .btn.wb-gis-btn--icon{color:var(--muted)}[data-theme=light] .btn.wb-gis-btn--icon:hover{background:var(--panel);color:var(--text);border-color:var(--line)}.wb-gis-btn:focus-visible{outline:none;box-shadow:var(--ring)}.wb-gis-toolbar--l1 .wb-gis-lbl,.wb-gis-toolbar--l2 .wb-gis-lbl{display:none}.wb-gis-toolbar--l1 .wb-gis-btn,.wb-gis-toolbar--l2 .wb-gis-btn{padding:0 var(--space-2)}.ws-viewtabs:has(.wb-gis-toolbar--l2) .ws-layers-btn .wb-gis-lbl{display:none}.wb-gis-more-menu button{display:flex;align-items:center;gap:var(--space-2)}.wb-gis-btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-2);border:var(--bw) solid transparent;background:none;color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);border-radius:var(--r-2);transition:var(--dur);white-space:nowrap}.wb-gis-btn:hover{background:var(--veil-2);color:var(--on-fill);border-color:var(--veil-3)}.wb-gis-btn.active,.wb-gis-btn.active:hover,.btn.wb-gis-btn--icon.active,.btn.wb-gis-btn--icon.active:hover,[data-theme=light] .wb-gis-btn.active,[data-theme=light] .wb-gis-btn.active:hover,[data-theme=light] .btn.wb-gis-btn--icon.active,[data-theme=light] .btn.wb-gis-btn--icon.active:hover{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.wb-gis-btn span{font-size:var(--fs-base)}.wb-net-toolbar{flex:1 1 auto;min-width:0;flex-wrap:wrap}.wb-net-toolbar .wb-gis-btn,.wb-net-toolbar .wb-gis-sep,.wb-net-toolbar .wb-net-title{flex:0 0 auto}.wb-net-toolbar.compact .wb-net-label{display:none}.wb-net-toolbar.compact .wb-gis-btn{padding:var(--space-1) var(--space-2)}.wb-neteditor-dot{width:8px;height:8px;border-radius:var(--r-round);background:var(--accent);box-shadow:var(--glow-accent)}.wb-net-title{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--accent-text);font-size:var(--fs-sm);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);padding:0 var(--space-2) 0 var(--space-0-5);white-space:nowrap}.wb-net-ico{font-size:var(--fs-base);line-height:var(--lh-tight);display:inline-flex;align-items:center}.vtab-net.vtab-on{color:var(--accent-text)}.wb-neteditor-hint{position:absolute;bottom:12px;left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--ink) 92%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--text);font-size:var(--fs-sm);padding:var(--space-2) var(--space-4);border-radius:var(--r-2);pointer-events:none;z-index:var(--z-raised);white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wb-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-bottom:var(--bw) solid color-mix(in srgb,var(--danger) 30%,var(--line));color:var(--danger);font-size:var(--fs-base);font-weight:var(--fw-medium);flex:none}.wb-error button{background:none;border:none;color:var(--danger);font-size:var(--fs-md);cursor:pointer;padding:0 var(--space-1)}.wb-error button:hover{opacity:1}.rail-proj-hdr{padding:var(--space-2) var(--space-4) var(--space-3);border-bottom:var(--bw) solid var(--veil-2)}.rail-proj-name{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--space-2)}.rail-proj-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);justify-content:space-between}.rail-proj-row>.step-tag{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-proj-switch{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap;transition:background var(--dur),color var(--dur),border-color var(--dur)}.rail-proj-switch:hover{background:var(--tint-accent-md);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.hint{font-size:var(--fs-sm);color:var(--muted)}.app-shell{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,var(--ink),var(--navy) 60%,var(--ink))}.verify-card{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-5);padding:var(--space-7) var(--space-7) var(--space-6);width:420px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg)}.verify-card h1{font-family:var(--display);font-size:var(--fs-2xl);margin:0 0 var(--space-3);letter-spacing:var(--track-tight)}.verify-msg{font-size:var(--fs-md);color:var(--muted);line-height:var(--lh-loose);margin:0 0 var(--space-5)}.verify-msg.error{color:var(--status-error-fg)}.verify-actions{display:flex;gap:var(--space-2)}.pywmp-signin-gate{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,var(--ink),var(--navy) 60%,var(--ink));padding:var(--space-5)}[data-theme=light] .pywmp-signin-gate{background:linear-gradient(155deg,var(--bg),var(--panel-2) 60%,var(--bg))}.pywmp-signin-card{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-5);padding:var(--space-7) var(--space-7) var(--space-6);width:440px;max-width:100%;box-shadow:var(--shadow-lg);text-align:center}.pywmp-signin-card h2{font-family:var(--display);font-size:var(--fs-xl);margin:0 0 var(--space-2);letter-spacing:var(--track-tight)}.pywmp-signin-card p{color:var(--muted);font-size:var(--fs-md);line-height:var(--lh-loose);margin:0 0 var(--space-5)}.pywmp-signin-card p.pywmp-signin-return{margin-top:calc(-1 * var(--space-3));color:var(--text);font-size:var(--fs-base)}.pywmp-signin-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.pywmp-signin-btn{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--r-3);font-size:var(--fs-md);font-weight:var(--fw-semibold);border:none;background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm);transition:var(--dur);cursor:pointer}.pywmp-signup-btn{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--r-3);font-size:var(--fs-md);font-weight:var(--fw-semibold);background:var(--panel-2);color:var(--text);border:var(--bw) solid var(--line);transition:var(--dur);cursor:pointer}.pywmp-signup-btn:hover{border-color:var(--accent-text);background:var(--panel)}.pywmp-back-link{color:var(--accent-text);background:none;border:none;font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer}.pywmp-back-link:hover{text-decoration:underline}.fp-action-btn{border:var(--bw) solid var(--accent-text);background:var(--surface-raised);color:var(--navy-text);border-radius:var(--r-3);min-width:var(--control-sm);height:var(--control-sm);font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.fp-action-btn:hover{background:var(--bg)}.sw-sim-list{border:var(--bw) solid var(--line-2);border-radius:var(--r-3);background:var(--surface-raised);margin-bottom:var(--space-2);overflow:hidden}.sw-sim-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);background:var(--panel);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--navy-text)}.sw-sim-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-base);color:var(--accent-text)}.sw-sim-row:last-child{border-bottom:none}.sw-sim-row:hover{background:var(--panel)}.sw-tree-dl-btn{border:none;background:transparent;color:var(--text);cursor:pointer;padding:var(--space-0-5) var(--space-2);font-size:var(--fs-base);border-radius:var(--r-1);line-height:var(--lh-tight);flex-shrink:0;transition:opacity var(--dur),background var(--dur)}.sw-tree-dl-btn:hover{opacity:1;background:var(--panel-2)}.sw-filter-btn{border:var(--bw) solid var(--accent-text);background:var(--surface-raised);color:var(--navy-text);border-radius:var(--r-3);padding:var(--space-0-5) var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer}.sw-filter-btn:hover{background:var(--panel)}.sw-filter-btn-primary{background:var(--navy);border-color:var(--navy-text);color:var(--on-fill)}.sw-filter-btn-primary:hover{background:var(--navy)}.layer-editor-modal{width:860px}.tools-page{padding:var(--space-6);max-width:min(1600px,calc(100% - var(--space-8)));margin:0 auto;flex:1;overflow-y:auto}.tools-header{margin-bottom:var(--space-6)}.tools-header h2{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--text);margin:0 0 .4rem}.tools-header p{color:var(--text-muted);font-size:var(--fs-sm);margin:0}.tool-card:hover:not(.disabled){border-color:var(--accent-text);box-shadow:var(--shadow);transform:translateY(-2px)}.tool-card.disabled{cursor:not-allowed}.back-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--accent-text);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:0}.back-btn:hover{text-decoration:underline}.form-field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.75rem}.form-field:last-child{margin-bottom:0}.form-field span{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-muted)}.form-field input,.form-field select{padding:.45rem .6rem;border:var(--bw) solid var(--border);border-radius:var(--r-3);font-size:var(--fs-sm);background:var(--surface);color:var(--text)}.form-field input:focus,.form-field select:focus{border-color:var(--accent-text);box-shadow:var(--ring)}.run-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.7rem 1rem;background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur)}.run-btn:hover:not(:disabled){background:var(--danger)}.run-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:wait}.spinner{display:inline-block;width:16px;height:16px;border:var(--bw-strong) solid var(--veil-5);border-top-color:var(--on-fill);border-radius:var(--r-round);animation:spin var(--dur-slower) linear infinite}.spinner.large{width:32px;height:32px;border-width:var(--bw-accent);border-color:color-mix(in srgb,var(--fau-red) 20%,transparent);border-top-color:var(--accent-text)}.result-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.chart-container{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--r-2);padding:1rem;height:300px;position:relative}.chart-container h3{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 .5rem}.tools-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.cascade-tool{display:flex;flex-direction:column;flex:1;overflow:hidden}.cascade-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--primary, var(--navy));color:var(--on-fill);flex-shrink:0}.cascade-toolbar .back-btn{color:var(--on-fill);font-size:var(--fs-xs)}.cascade-toolbar .back-btn:hover{color:var(--on-fill)}.cascade-title{font-weight:var(--fw-bold);font-size:var(--fs-md);white-space:nowrap}.cascade-project-bar{display:flex;align-items:center;gap:var(--space-2)}.cascade-project-bar select{min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--r-3);border:var(--bw) solid var(--veil-5);background:var(--veil-3);color:var(--on-fill);font-size:var(--fs-base);min-width:160px}.cascade-project-bar select option{color:var(--text);background:var(--surface-raised)}.cascade-create-inline{display:flex;gap:var(--space-1)}.cascade-create-inline input{padding:var(--space-1) var(--space-2);border-radius:var(--r-3);border:var(--bw) solid var(--veil-5);background:var(--veil-3);color:var(--on-fill);font-size:var(--fs-base);width:140px}.cascade-create-inline input::placeholder{color:var(--veil-6)}.cascade-steps{display:flex;gap:var(--space-1);margin-left:auto}.cascade-error{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:var(--tint-danger);color:var(--danger-text);font-size:var(--fs-base);flex-shrink:0}.cascade-error button{background:none;border:none;color:var(--danger-text);font-size:var(--fs-lg);cursor:pointer}.cascade-main{display:flex;flex:1;overflow:hidden}.cascade-sidebar{width:360px;min-width:360px;background:var(--surface, var(--on-fill));border-right:var(--bw) solid var(--border, var(--line));overflow-y:auto;flex-shrink:0}.cascade-sidebar-empty{padding:var(--space-6) var(--space-5);text-align:center;color:var(--text)}.cascade-section{padding:var(--space-4)}.cascade-section h3{font-size:var(--fs-md);color:var(--primary, var(--navy-text));margin-bottom:var(--space-2)}.cascade-section h4{font-size:var(--fs-base);color:var(--text);margin-top:var(--space-3);margin-bottom:var(--space-2)}.cascade-section hr{border:none;border-top:var(--bw) solid var(--line-2);margin:var(--space-3) 0}.cascade-hint{font-size:var(--fs-sm);color:var(--text);margin-bottom:var(--space-2);line-height:var(--lh-body)}.cascade-file-list{list-style:none;font-size:var(--fs-sm);max-height:120px;overflow-y:auto;padding:0}.cascade-file-list li{padding:var(--space-1) 0;border-bottom:var(--bw) solid var(--line-2);word-break:break-all}.cascade-section input[type=file]{display:block;font-size:var(--fs-sm);margin-bottom:var(--space-1);width:100%}.cascade-table-wrap{max-height:260px;overflow:auto;border:var(--bw) solid var(--line);border-radius:var(--r-3);margin-top:var(--space-1)}.cascade-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.cascade-table th{background:var(--panel);position:sticky;top:0;padding:var(--space-2) var(--space-2);text-align:left;font-weight:var(--fw-semibold);border-bottom:var(--bw-strong) solid var(--line);white-space:nowrap}.cascade-table td{padding:var(--space-1) var(--space-2);border-bottom:var(--bw) solid var(--line-2);white-space:nowrap}.cascade-table tr{cursor:pointer;transition:background var(--dur-fast)}.cascade-table tr:hover,.cascade-table tr.selected{background:var(--panel-2)}.cascade-basin-list{max-height:180px;overflow-y:auto;border:var(--bw) solid var(--line);border-radius:var(--r-3)}.cascade-edit-panel{margin-top:var(--space-3);padding:var(--space-3);background:var(--panel-2);border-radius:var(--r-3);border:var(--bw) solid var(--line)}.cascade-edit-panel h4{margin-bottom:var(--space-2);color:var(--primary, var(--navy-text))}.cascade-form-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.cascade-form-row label{min-width:130px;font-size:var(--fs-sm);color:var(--text)}.cascade-form-row input{flex:1;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-base)}.cascade-hydro-list{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.cascade-map-area{flex:1;display:flex;flex-direction:column;position:relative}.cascade-map{flex:1;min-height:0}.cascade-chart-panel{height:220px;border-top:var(--bw-strong) solid var(--primary, var(--navy-text));background:var(--surface-raised);flex-shrink:0;display:flex;flex-direction:column}.cascade-chart-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-3);background:var(--panel-2);border-bottom:var(--bw) solid var(--line);font-size:var(--fs-base)}.cascade-chart-wrap{flex:1;padding:var(--space-1) var(--space-3);min-height:0}.cascade-map .maplibregl-popup-content{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);border-radius:var(--r-3);box-shadow:var(--shadow-sm)}.net-stats{background:var(--panel);border:var(--bw) solid var(--line-2);border-radius:var(--r-3);padding:var(--space-2) var(--space-2);margin:var(--space-2) 0}.net-stats-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-wide);margin-bottom:var(--space-2)}.net-stat-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);padding:var(--space-0-5) 0}.net-stat-dot{width:10px;height:10px;border-radius:var(--r-round);flex-shrink:0;border:var(--bw-strong) solid var(--veil-6)}.net-stat-count{margin-left:auto;font-weight:var(--fw-semibold);color:var(--navy-text)}.node-inspect-panel{background:var(--surface-raised);border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);box-shadow:var(--shadow-sm)}.node-inspect-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.node-inspect-id{flex:1;font-size:var(--fs-base);color:var(--navy-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-inspect-close{background:none;border:none;cursor:pointer;color:var(--text);font-size:var(--fs-md);padding:0 var(--space-0-5);line-height:var(--lh-tight)}.node-inspect-close:hover{color:var(--danger)}.node-type-badge{display:inline-flex;align-items:center;padding:var(--space-0-5) var(--space-2);border-radius:var(--r-3);color:var(--on-fill);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);white-space:nowrap;flex-shrink:0}.node-attr-group{margin:var(--space-2) 0 0}.node-attr-group-title{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-caps);margin-bottom:var(--space-1);padding-bottom:var(--space-0-5);border-bottom:var(--bw) solid var(--line-2)}.node-attr-row{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm);padding:var(--space-0-5) 0;gap:var(--space-2)}.node-attr-label{color:var(--text);flex:1;min-width:0}.node-attr-val{font-weight:var(--fw-semibold);color:var(--navy-text);white-space:nowrap}.net-legend-header{display:flex;justify-content:space-between;align-items:center;font-weight:var(--fw-bold);font-size:var(--fs-xs);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-wide);margin-bottom:var(--space-2)}.net-legend-header button{background:none;border:none;cursor:pointer;color:var(--text);font-size:var(--fs-base);padding:0;line-height:var(--lh-tight)}.net-legend-header button:hover{color:var(--danger)}.net-legend-row{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0;font-size:var(--fs-sm)}.net-legend-dot{width:10px;height:10px;border-radius:var(--r-round);flex-shrink:0;border:var(--bw-strong) solid var(--veil-6);box-shadow:0 0 0 var(--bw) var(--shade-2)}.net-legend-count{margin-left:auto;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text)}.net-legend-toggle{position:absolute;bottom:28px;left:8px;z-index:var(--z-sticky);background:var(--panel-glass);border:var(--bw) solid var(--line);border-radius:var(--r-3);min-height:var(--control-sm);padding:0 var(--space-2);font-size:var(--fs-sm);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm)}.cascade-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.cascade-edit-header button{background:none;border:none;cursor:pointer;color:var(--text);font-size:var(--fs-lg)}.cascade-edit-header button:hover{color:var(--danger)}.wb-hint{color:var(--text);font-size:var(--fs-sm);margin:var(--space-1) 0}.wb-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border:none;border-radius:var(--r-1);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur),color var(--dur)}.wb-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.wb-btn-accent{background:var(--navy);color:var(--on-fill)}.wb-btn-run{width:100%;margin-top:var(--space-2);padding:var(--space-2);font-size:var(--fs-md);letter-spacing:var(--track-wide)}.wb-btn-sm{padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);background:var(--surface-raised);font-size:var(--fs-sm);cursor:pointer}.wb-btn-sm:hover{background:var(--panel-2)}.wb-table-wrap{max-height:240px;overflow:auto;margin:var(--space-1) 0}.wb-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs)}.wb-table th,.wb-table td{padding:var(--space-1) var(--space-2);text-align:left;border-bottom:var(--bw) solid var(--line);white-space:nowrap}.wb-table th{background:var(--panel);font-weight:var(--fw-semibold);position:sticky;top:0;z-index:var(--z-raised)}.wb-table tr:nth-child(2n) td{background:color-mix(in srgb,var(--accent) 4%,transparent)}[data-theme=dark] .wb-table tr:nth-child(2n) td{background:var(--veil-1)}.wb-table tr:hover{background:var(--panel)}.wb-table tr.selected{background:var(--panel-2)}.net-empty-icon{font-size:var(--fs-2xl);margin-bottom:var(--space-2)}.net-stats-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.net-stat-chip{display:flex;flex-direction:column;align-items:center;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--navy) 48%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--r-2);min-width:64px}.net-stat-icon{font-size:var(--fs-lg)}.net-stat-val{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-text);line-height:var(--lh-tight)}.net-stat-lbl{font-size:var(--fs-2xs);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-wide)}.net-gis-hint{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:color-mix(in srgb,var(--navy) 32%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--r-2);font-size:var(--fs-sm);color:var(--accent-text);line-height:var(--lh-snug)}.net-gis-hint-icon{font-size:var(--fs-xl);flex-shrink:0;padding-top:var(--space-px)}.net-section-hdr{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-caps);margin-bottom:var(--space-1)}.net-node-section{margin-bottom:var(--space-3)}.net-node-list{display:flex;flex-direction:column;gap:var(--space-0-5);max-height:240px;overflow-y:auto}.net-node-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-1);cursor:pointer;font-size:var(--fs-sm);color:var(--text);transition:background var(--dur-fast)}.net-node-row:hover{background:var(--veil-1);color:var(--text)}.net-node-row.active{background:color-mix(in srgb,var(--navy) 48%,transparent);color:var(--on-fill);font-weight:var(--fw-medium);border-left:var(--bw-accent) solid var(--accent-text);padding-left:var(--space-1)}.net-node-icon{font-size:var(--fs-base);width:18px;flex-shrink:0}.net-node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.net-node-type{font-size:var(--fs-2xs);color:var(--text);flex-shrink:0}.build-step-card{margin-bottom:var(--space-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 16%,transparent);border-radius:var(--r-2);overflow:hidden}.build-step-hdr{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--navy) 48%,transparent);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text)}.build-step-num{width:20px;height:20px;border-radius:var(--r-round);background:color-mix(in srgb,var(--accent) 24%,transparent);color:var(--accent-text);display:flex;align-items:center;justify-content:center;font-size:var(--fs-2xs);font-weight:var(--fw-bold);flex-shrink:0}.build-step-body{padding:var(--space-2) var(--space-3)}.build-done-note{margin-top:var(--space-2);padding:var(--space-2) var(--space-2);background:color-mix(in srgb,var(--success) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--success) 24%,transparent);border-radius:var(--r-3);font-size:var(--fs-xs);color:var(--success-text);line-height:var(--lh-body)}.build-network-hint{font-size:var(--fs-sm)}.build-stat-chip{display:flex;flex-direction:column;align-items:center;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--navy) 48%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--r-2)}.build-stat-val{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-text);line-height:var(--lh-tight)}.build-stat-lbl{font-size:var(--fs-2xs);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-wide)}.wb-basin-list{display:flex;flex-direction:column;gap:var(--space-1);max-height:200px;overflow-y:auto}.wb-edit-panel{background:var(--panel-2);padding:var(--space-2);border-radius:var(--r-3);margin-top:var(--space-2)}.wb-form-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.wb-form-row label{font-size:var(--fs-sm);color:var(--text);min-width:90px;flex-shrink:0}.wb-form-row input,.wb-form-row select{flex:1;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm)}.wb-fieldset{border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-2) var(--space-2);margin:var(--space-2) 0}.wb-fieldset legend{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--navy-text);padding:0 var(--space-1)}.wb-hydro-btns{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-1)}.wb-chart-panel{height:var(--wb-chart-h, 220px);border-top:var(--bw-strong) solid var(--navy-text);display:flex;flex-direction:column;background:var(--surface-raised);flex-shrink:0}.wb-chart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-3);background:var(--navy);color:var(--on-fill);font-size:var(--fs-base)}.wb-chart-wrap{flex:1;padding:var(--space-2) var(--space-3);min-height:0}.wb-catalog{display:flex;flex-direction:column;height:100%}.wb-catalog-header{padding:var(--space-2) var(--space-3) var(--space-2);border-bottom:var(--bw) solid var(--line)}.wb-catalog-header-row{display:flex;align-items:center;margin-bottom:var(--space-2)}.wb-catalog-header h3{margin:0;font-size:var(--fs-md);color:var(--navy-text);flex:1}.wb-catalog-header .wb-panel-close{color:var(--text)}.wb-catalog-header .wb-panel-close:hover{background:var(--shade-1);color:var(--fau-red)}.wb-search{width:100%;padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm);box-sizing:border-box}.wb-catalog-tabs{display:flex;border-bottom:var(--bw-strong) solid var(--line)}.wb-catalog-tabs button{flex:1;padding:var(--space-2) var(--space-1);border:none;background:none;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);cursor:pointer;border-bottom:var(--bw-strong) solid transparent;margin-bottom:calc(-1 * var(--space-0-5));transition:color var(--dur),border-color var(--dur)}.wb-catalog-tabs button.active{color:var(--navy-text);border-bottom-color:var(--navy-text)}.wb-catalog-tabs button:hover{color:var(--text)}.wb-catalog-list{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-2)}.wb-btn-new{width:100%;text-align:center;margin-bottom:var(--space-2);border-style:dashed;color:var(--navy-text)}.wb-create-row{display:flex;gap:var(--space-1);margin-bottom:var(--space-2)}.wb-create-row input{flex:1;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm)}.wb-catalog-card{padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);margin-bottom:var(--space-2);cursor:pointer;transition:border-color var(--dur),background var(--dur)}.wb-catalog-card:hover{border-color:var(--line-2);background:var(--surface-raised)}.wb-catalog-card.active{border-color:var(--navy-text);background:var(--panel-2)}.wb-card-top{display:flex;align-items:center;justify-content:space-between}.wb-card-top strong{font-size:var(--fs-base)}.wb-card-del{background:none;border:none;color:var(--text);cursor:pointer;font-size:var(--fs-md);padding:0 var(--space-0-5)}.wb-card-del:hover{color:var(--fau-red)}.wb-card-meta{display:flex;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text);margin-top:var(--space-1)}.wb-tag{display:inline-block;background:var(--panel-2);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;color:var(--navy-text)}.wb-method-group{display:flex;flex-direction:column;gap:var(--space-1)}.wb-method-name{font-weight:var(--fw-semibold);color:var(--accent-text)}.wb-method-tip{display:block;width:100%;font-size:var(--fs-2xs);color:var(--text);line-height:var(--lh-snug);margin-top:var(--space-px);padding-left:var(--space-5)}.wb-sub-params{background:var(--panel-2);border-left:var(--bw-accent) solid var(--navy-text);padding:var(--space-2) var(--space-2);margin-top:var(--space-1);border-radius:0 var(--r-1) var(--r-1) 0}.sim-run-settings{background:color-mix(in srgb,var(--navy) 32%,transparent)}.sim-rs-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--fs-sm)}.sim-rs-row label{width:110px;flex-shrink:0;color:var(--text)}.sim-unit-toggle{display:flex;gap:0}.sim-ts-row{display:flex;align-items:center;gap:var(--space-2);flex:1}.sim-ts-note{font-size:var(--fs-sm);color:var(--text)}.wb-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1)}.wb-scenario-label{font-weight:var(--fw-semibold);color:var(--accent-text)}.wb-scenario-desc{width:100%;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text);padding-left:var(--space-4)}.wb-progress{text-align:center;font-size:var(--fs-xs);color:var(--accent-text);padding:var(--space-1);background:var(--panel);border-radius:var(--r-1);margin-top:var(--space-1);animation:wb-pulse var(--dur-loop) ease-in-out infinite}.wb-warn{background:var(--tint-amber);border-left:var(--bw-accent) solid var(--warning-text);padding:var(--space-2) var(--space-2);font-size:var(--fs-sm);color:var(--text);border-radius:0 var(--r-1) var(--r-1) 0;margin-bottom:var(--space-2)}.wb-val-warn{color:var(--warning-text);font-size:var(--fs-2xs);margin-left:var(--space-1)}.wb-catalog-controls{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.wb-sort-select{width:100%;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-xs);background:var(--surface-raised)}.wb-filter-chips{display:flex;gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap}.wb-chip{display:inline-flex;align-items:center;font-size:var(--fs-sm);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--r-pill);border:var(--bw) solid var(--accent-text);background:transparent;color:var(--text);cursor:pointer;font-weight:var(--fw-medium);transition:background var(--dur-fast),color var(--dur-fast)}.wb-chip.active{background:color-mix(in srgb,var(--navy) 10%,transparent);color:var(--navy-text);border-color:var(--navy-text);font-weight:var(--fw-semibold)}.wb-status{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-3);background:var(--shade-1);color:var(--text)}.wb-status-active{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success-text)}.wb-status-archived{background:var(--shade-2);color:var(--text)}.wb-status-created{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--navy-text)}.wb-type-badge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);letter-spacing:var(--track-wide);background:color-mix(in srgb,var(--navy) 10%,transparent);color:var(--navy-text)}.wb-card-source{font-size:var(--fs-2xs);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}.wb-catalog-tabs-2{display:flex}.wb-catalog-tabs-2 button{flex:1;font-size:var(--fs-xs);padding:var(--space-2) var(--space-1)}.wb-catalog-tabs-3{display:flex}.wb-catalog-tabs-3 button{flex:1;font-size:var(--fs-xs);padding:var(--space-2) var(--space-1)}.wb-mydata-actions{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.wb-btn-upload{background:var(--navy)!important;color:var(--on-fill)!important;border-color:var(--navy-text)!important;font-weight:var(--fw-semibold)}.wb-btn-upload:hover{background:var(--primary)!important;color:var(--on-primary)}.wb-mydata-count{font-size:var(--fs-xs);color:var(--text);text-align:center;padding:var(--space-0-5) 0 var(--space-2);margin-left:auto}.wb-mydata-card{cursor:default}.wb-mydata-card .wb-card-top{display:flex;align-items:center;gap:var(--space-2)}.wb-file-icon{font-size:var(--fs-lg)}.wb-file-name{font-size:var(--fs-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wb-mydata-empty{text-align:center;padding:var(--space-5) var(--space-2);color:var(--text)}.wb-mydata-empty p{margin:var(--space-1) 0;font-size:var(--fs-base)}.wb-dataset-card{cursor:default}.wb-card-actions{margin-top:var(--space-1);display:flex;justify-content:flex-end}.wb-btn-add{background:var(--panel-2)!important;color:var(--success-text)!important;border-color:var(--success-text)!important;font-weight:var(--fw-semibold);font-size:var(--fs-xs)!important}.wb-btn-add:hover:not(:disabled){background:var(--tint-success)!important}.wb-btn-add:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.wb-added-badge{font-size:var(--fs-xs);color:var(--success-text);font-weight:var(--fw-semibold);padding:var(--space-0-5) var(--space-2);background:var(--panel-2);border-radius:var(--r-2)}.help-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);color:var(--on-fill);flex-shrink:0}.help-chat-title{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold);font-size:var(--fs-md);letter-spacing:var(--track-wide)}.help-chat-icon{flex-shrink:0;border:var(--bw-strong) solid var(--veil-5);box-shadow:var(--shadow-sm)}.help-chat-close{background:var(--veil-3);border:var(--bw) solid var(--veil-4);color:var(--on-fill);font-size:var(--fs-md);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--r-3);transition:all var(--dur)}.help-chat-close:hover{background:var(--veil-4);color:var(--on-fill)}.help-chat-messages{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);background:linear-gradient(180deg,var(--panel) 0%,var(--panel-2) 100%)}.help-chat-welcome{text-align:center;padding:var(--space-5) var(--space-3) var(--space-3)}.help-chat-welcome-owl{margin-bottom:var(--space-2);border:var(--bw-strong) solid var(--navy-text);box-shadow:var(--shadow);background:var(--surface-raised)}.help-chat-welcome-title{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--navy-text);margin-bottom:var(--space-1)}.help-chat-welcome-sub{font-size:var(--fs-base);color:var(--text);margin-bottom:var(--space-4);line-height:var(--lh-body)}.help-chat-quick{display:flex;flex-direction:column;gap:var(--space-2)}.help-chat-quick-btn:hover{border-color:var(--navy-text);background:var(--tint-accent);transform:translate(3px);box-shadow:var(--shadow)}.help-chat-followups{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);max-width:88%}.help-chat-followup-btn{padding:var(--space-1) var(--space-2);background:var(--tint-accent);border:var(--bw) solid var(--accent-text);border-radius:var(--r-4);font-size:var(--fs-sm);color:var(--navy-text);cursor:pointer;transition:all var(--dur-slow);line-height:var(--lh-tight)}.help-chat-followup-btn:hover{border-color:var(--navy-text);background:var(--on-chrome);transform:translateY(-1px);box-shadow:var(--shadow)}.help-chat-msg{display:flex}.help-chat-msg-user{justify-content:flex-end}.help-chat-msg-assistant{justify-content:flex-start}.help-chat-msg-user .help-chat-msg-bubble{background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);color:var(--on-fill);border-bottom-right-radius:var(--r-1);box-shadow:var(--shadow)}.help-chat-msg-assistant .help-chat-msg-bubble{background:var(--surface-raised);color:var(--accent-text);border:var(--bw) solid var(--line);border-bottom-left-radius:var(--r-1);box-shadow:var(--shadow-sm)}.help-chat-typing{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4)}.help-chat-typing .dot{width:7px;height:7px;border-radius:var(--r-round);background:var(--navy);opacity:var(--opacity-subtle);animation:chatDotBounce var(--dur-loop-fast) infinite}.help-chat-typing .dot:nth-child(2){animation-delay:.15s}.help-chat-typing .dot:nth-child(3){animation-delay:.3s}.help-chat-error{padding:var(--space-2) var(--space-3);background:var(--tint-danger);color:var(--danger-text);font-size:var(--fs-sm);border-radius:var(--r-2);border-left:var(--bw-accent) solid var(--danger-text)}.help-chat-input-row{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--bw) solid var(--line);background:var(--surface-raised);flex-shrink:0}.help-chat-input{flex:1;padding:var(--space-2) var(--space-4);border:var(--bw-strong) solid var(--on-chrome);border-radius:var(--r-3);font-size:var(--fs-base);transition:border-color var(--dur-slow),box-shadow var(--dur-slow)}.help-chat-input:focus{border-color:var(--navy-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--navy) 10%,transparent)}.help-chat-send{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);color:var(--on-fill);border:none;border-radius:var(--r-3);font-size:var(--fs-md);cursor:pointer;transition:all var(--dur-slow);display:flex;align-items:center;justify-content:center}.help-chat-send:hover:not(:disabled){background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);transform:scale(1.05)}.help-chat-send:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.wb-help-fab:hover{background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);transform:scale(1.12);box-shadow:var(--shadow)}.wb-help-fab svg{filter:drop-shadow(0 1px 2px var(--shade-3))}.wb-help-fab img{border:var(--bw-strong) solid var(--veil-6)}.help-popup-bubble:after{content:"";position:absolute;bottom:-6px;left:20px;width:12px;height:12px;background:var(--navy);transform:rotate(45deg);border-radius:0 0 var(--r-xs) 0}.help-popup-text{display:inline}.help-popup-close{position:absolute;top:var(--space-1);right:var(--space-1);background:var(--veil-3);border:none;color:var(--on-fill);font-size:var(--fs-sm);cursor:pointer;width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1);transition:all var(--dur)}.help-popup-close:hover{color:var(--on-fill);background:var(--veil-5)}.wb-help-fab{position:absolute;bottom:12px;right:24px;width:44px;height:44px;border-radius:var(--r-round);background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);color:var(--on-fill);border:var(--bw-accent) solid var(--on-fill);font-size:var(--fs-xl);font-weight:var(--fw-bold);cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;z-index:var(--z-float);transition:all var(--dur-slow) cubic-bezier(.22,1,.36,1);left:12px}.help-popup-bubble{position:absolute;bottom:64px;right:12px;max-width:min(300px,calc(100vw - 56px));padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--navy) 0%,var(--navy) 100%);color:var(--on-fill);border-radius:var(--r-4) var(--r-4) var(--r-1) var(--r-4);box-shadow:var(--shadow);font-size:var(--fs-base);line-height:var(--lh-body);cursor:pointer;z-index:var(--z-float);animation:helpPopupSlideIn var(--dur-slower) cubic-bezier(.22,1,.36,1)}.help-chat-msg-bubble{max-width:92%;padding:var(--space-2) var(--space-4);border-radius:var(--r-4);font-size:var(--fs-base);line-height:var(--lh-body);word-break:break-word}.help-chat-quick-btn{display:block;width:100%;padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:var(--bw) solid var(--on-chrome);border-radius:var(--r-3);font-size:var(--fs-sm);color:var(--navy-text);cursor:pointer;text-align:left;transition:all var(--dur-slow);line-height:var(--lh-snug)}.help-chat-panel{position:fixed;bottom:64px;right:8px;left:8px;width:min(340px,calc(100vw - 48px));height:min(480px,calc(100vh - 100px));background:var(--surface-raised);border-radius:var(--r-4) var(--r-4) 0 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:var(--z-float);overflow:hidden;animation:chatPanelSlideUp var(--dur-slow) cubic-bezier(.22,1,.36,1)}.wb-gis-sep{width:1px;height:18px;background:var(--veil-3);margin:0 var(--space-1);flex:none}.wb-gis-basemap-group{position:relative}.wb-gis-basemap-dropdown{position:absolute;top:calc(100% + 6px);bottom:auto;left:0;background:var(--surface-raised);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--shadow);overflow:hidden;min-width:140px;z-index:var(--z-dropdown)}.wb-gis-basemap-dropdown button{display:block;width:100%;border:none;background:transparent;text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);cursor:pointer;transition:background var(--dur-fast)}.wb-gis-basemap-dropdown button:hover{background:var(--panel-2)}.wb-gis-basemap-dropdown button.active{background:var(--navy);color:var(--on-fill)}.wb-gis-goto-bar{display:flex;gap:var(--space-1);background:var(--veil-7);border-radius:var(--r-3);padding:var(--space-1) var(--space-2);box-shadow:var(--shadow);border:var(--bw) solid var(--line-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wb-gis-goto-bar input{padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm);width:200px;font-family:var(--mono)}.wb-gis-goto-bar input:focus{border-color:var(--navy-text)}.wb-gis-goto-bar button{padding:var(--space-1) var(--space-2);border:none;border-radius:var(--r-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;background:var(--navy);color:var(--on-fill)}.wb-gis-goto-bar button:last-child{background:var(--panel-2);color:var(--text)}.wb-gis-goto{display:flex;flex-direction:column;gap:var(--space-1);max-width:340px}.wb-gis-goto-help,.wb-gis-goto-note{margin:0;padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);color:var(--text);background:var(--veil-7);border-radius:var(--r-2)}.wb-gis-goto-hits{list-style:none;margin:0;padding:var(--space-1);background:var(--surface-raised);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--shadow);max-height:260px;overflow-y:auto}.wb-gis-goto-hits button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:none;background:transparent;text-align:left;padding:var(--space-1) var(--space-2);border-radius:var(--r-1);cursor:pointer;color:var(--text)}.wb-gis-goto-hits button:hover,.wb-gis-goto-hits button:focus-visible{background:var(--tint-primary)}.wb-gis-goto-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.wb-gis-goto-detail{font-size:var(--fs-xs);color:var(--muted)}.wb-gis-goto-back{align-self:flex-start;display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-1);background:var(--surface-raised);color:var(--text);cursor:pointer}.wb-bm-menu{min-width:220px}.wb-bm-menu .wb-bm-section-head:first-child{border-top:none;margin-top:0}.wb-gis-basemap-dropdown button.wb-bm-item{display:flex;align-items:center;gap:var(--space-2)}.wb-gis-basemap-dropdown button.wb-bm-item.active{background:var(--tint-primary);color:var(--text)}.wb-bm-radio{width:14px;height:14px;border-radius:50%;border:var(--bw-strong) solid var(--line);flex-shrink:0;box-sizing:border-box}.wb-bm-item.active .wb-bm-radio{border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--surface-raised);background:var(--primary)}.wb-bm-check{width:14px;height:14px;border-radius:var(--r-1);border:var(--bw-strong) solid var(--line);flex-shrink:0;display:grid;place-items:center;font-size:var(--fs-2xs);box-sizing:border-box}.wb-bm-item.active .wb-bm-check{border-color:var(--primary);color:var(--primary)}.rail-layers-group{margin-bottom:var(--space-2)}.rail-layers-subkicker{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);margin:var(--space-2) 0 var(--space-1)}.rail-layers-fold{display:flex;align-items:center;gap:var(--space-1);width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left;font-family:inherit;line-height:inherit;border-radius:var(--r-1)}.rail-layers-fold:hover .rail-layers-fold-t{text-decoration:underline;text-underline-offset:2px}.rail-layers-fold:focus-visible{outline:none;box-shadow:var(--ring)}.rail-layers-fold-t{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-layers-count{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--muted)}.layer-row-text{flex:1 1 0;min-width:5.5rem;display:flex;flex-direction:column}.layer-row{flex-wrap:wrap}.layer-row>.layer-type-chip{margin-left:auto}.layer-row-sub{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-tight);margin-top:2px;overflow-wrap:anywhere}.wb-identify-popup h4+table{margin-bottom:var(--space-2)}.wb-identify-popup th{text-align:left;font-weight:var(--fw-semibold);padding-right:var(--space-2);vertical-align:top}.wb-identify-note,.wb-identify-empty{margin:0;font-size:var(--fs-xs);color:var(--muted)}.wb-gis-measure-result{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--veil-7);border:var(--bw) solid var(--line-2);border-radius:var(--r-3);box-shadow:var(--shadow);font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--accent-text);font-family:var(--mono);z-index:var(--z-raised);white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wb-gis-measure-result button{border:none;background:transparent;color:var(--text);cursor:pointer;font-size:var(--fs-md);padding:0 var(--space-0-5)}.wb-gis-measure-result button:hover{color:var(--fau-red)}.wb-gis-overlay-msg{position:absolute;top:52px;left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--navy) 88%,transparent);color:var(--on-fill);border-radius:var(--r-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);z-index:var(--z-raised);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow)}.wb-gis-statusbar{position:absolute;bottom:0;left:0;right:0;height:28px;box-sizing:border-box;display:flex;justify-content:flex-start;gap:var(--space-4);align-items:center;padding:var(--space-1) var(--space-2);background:color-mix(in srgb,var(--panel) 88%,transparent);border-top:var(--bw) solid var(--line-2);font-size:var(--fs-xs);z-index:var(--z-raised);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wb-gis-coords{font-family:var(--mono);color:var(--navy-text);font-size:var(--fs-xs);letter-spacing:var(--track-wide)}.wb-gis-basemap-label{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--text);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-wide);font-weight:var(--fw-semibold)}.wb-map-container{--wb-chart-h: 220px}.wb-map-container>.wb-map-overlay-bl{bottom:calc(28px + var(--space-2))}.wb-map-container:has(>.wb-chart-panel)>.wb-map-overlay-bl{bottom:calc(var(--wb-chart-h) + var(--space-2))}.wb-map-container .maplibregl-ctrl-bottom-right,.wb-map-container .maplibregl-ctrl-bottom-left{bottom:28px}:is(.portal-map,.wb-map-container,.nb-map-stage,.af-scene):has(>.map-overlay--bl :is(.wb-map-legend,.map-legend)) .maplibregl-ctrl-bottom-right{max-width:calc(100% - var(--map-legend-w) - 2 * var(--space-3) - var(--space-2))}.maplibregl-ctrl-group .maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:none;background-color:var(--ink);-webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E") center / contain no-repeat}.maplibregl-ctrl-group .maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon,.maplibregl-ctrl-group .maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:none;background-color:var(--accent-deep)}.maplibregl-ctrl-group .maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon,.maplibregl-ctrl-group .maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:none;background-color:var(--danger)}.maplibregl-ctrl-group .maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:none;background-color:var(--navy-60)}.maplibregl-ctrl-group .maplibregl-ctrl-geolocate:focus-visible{box-shadow:0 0 0 var(--bw-strong) var(--accent)}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:var(--accent-deep)}.maplibregl-user-location-dot:after{border-color:var(--on-fill)}.wb-map-legend{width:var(--map-legend-w);max-height:46%;display:flex;flex-direction:column;background:color-mix(in srgb,var(--panel) 94%,transparent);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);box-shadow:var(--shadow);font-size:var(--fs-xs);overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wb-map-legend-hdr{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);cursor:pointer;width:100%;border:none;font-family:inherit;background:var(--navy);color:var(--on-fill);font-weight:var(--fw-semibold);font-size:var(--fs-xs);letter-spacing:var(--track-wide);-webkit-user-select:none;user-select:none}.wb-map-legend-toggle{font-size:var(--fs-2xs)}.wb-map-legend-body{overflow-y:auto;padding:var(--space-2) var(--space-2) var(--space-2)}.wb-map-legend-block{margin-bottom:var(--space-2)}.wb-map-legend-block:last-child{margin-bottom:0}.wb-map-legend-title{font-weight:var(--fw-bold);color:var(--text);margin-bottom:var(--space-1);font-size:var(--fs-xs)}.wb-map-legend-cats{display:flex;flex-direction:column;gap:var(--space-0-5)}.wb-map-legend-row{display:flex;align-items:center;gap:var(--space-2)}.wb-map-legend-swatch{width:14px;height:14px;border-radius:var(--r-1);border:var(--bw) solid var(--swatch-edge);flex:0 0 auto}.wb-map-legend-shape{width:16px;height:16px;flex:0 0 auto}.wb-map-legend-cats--scroll{max-height:190px;overflow-y:auto;padding-right:var(--space-1)}.wb-map-legend-note{color:var(--muted);font-size:var(--fs-2xs);margin-top:var(--space-1)}.wb-map-legend-lbl{color:var(--text);font-size:var(--fs-xs);line-height:var(--lh-tight)}.wb-map-legend-ramp{height:12px;border-radius:var(--r-1);border:var(--bw) solid var(--swatch-edge)}.wb-map-legend-ramp-lbls{display:flex;justify-content:space-between;color:var(--text);font-size:var(--fs-2xs);margin-top:var(--space-0-5)}.wb-map-legend-unit{color:var(--text);font-size:var(--fs-2xs);margin-top:var(--space-px);text-align:center}.wb-attr-table-panel{position:absolute;bottom:0;left:0;right:0;height:260px;background:var(--surface-raised);border-top:var(--bw-strong) solid var(--navy-text);display:flex;flex-direction:column;z-index:var(--z-sticky);box-shadow:var(--shadow)}.wb-attr-table-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--navy);color:var(--on-fill);font-size:var(--fs-base);flex-shrink:0}.wb-attr-table-header strong{flex:1}.wb-attr-table-filter{display:flex;align-items:center;gap:var(--space-1);background:var(--veil-3);border:var(--bw) solid var(--veil-4);border-radius:var(--r-1);padding:var(--space-0-5) var(--space-2)}.wb-attr-table-filter input{background:none;border:none;color:var(--on-fill);font-size:var(--fs-sm);width:150px}.wb-attr-table-filter input::placeholder{color:var(--veil-6)}.wb-attr-table-filter .lgp-clear,.wb-attr-table-filter .lgp-clear:hover{color:var(--on-fill)}.wb-attr-table-count{font-size:var(--fs-xs);white-space:nowrap}.wb-attr-table-header .wb-btn-sm{background:var(--veil-3);border-color:var(--veil-5);color:var(--on-fill)}.wb-attr-table-header .wb-btn-sm:hover{background:var(--veil-5)}.wb-attr-table-body{flex:1;overflow:auto}.wb-attr-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:var(--lh-tight)}.wb-attr-table th{background:var(--panel);position:sticky;top:0;z-index:var(--z-raised);padding:var(--space-1) var(--space-3);text-align:left;font-weight:var(--fw-semibold);border-bottom:var(--bw-strong) solid var(--line-2);white-space:nowrap;color:var(--navy-text);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-wide)}.wb-attr-table td{padding:var(--space-1) var(--space-3);border-bottom:var(--bw) solid var(--line-2);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.wb-attr-table td.num,.wb-attr-table th.num{text-align:right;font-variant-numeric:tabular-nums}.wb-attr-table tr{cursor:pointer;transition:background var(--dur-fast)}.wb-attr-table tbody tr:hover{background:rgba(var(--state-layer),var(--state-hover))}.wb-attr-table tr.selected{background:var(--panel-2)}.wb-panel-close{background:none;border:none;color:var(--on-fill);cursor:pointer;font-size:var(--fs-md);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1)}.wb-panel-close svg,.wb-panel-close .icon{width:var(--icon-md);height:var(--icon-md)}.wb-nb-view{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;width:100%}.tb-panel{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:0;min-height:0}.tb-section{border-bottom:var(--bw) solid var(--line)}.tb-section-hdr{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:var(--panel);border:none;cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text);transition:background var(--dur)}.tb-section-hdr:hover{background:var(--panel-2)}.tb-section-icon{font-size:var(--fs-md)}.tb-section-title{flex:1;text-align:left}.tb-chevron{font-size:var(--fs-2xs);color:var(--text)}.tb-section-body{padding:var(--space-2) var(--space-2)}.tb-hint{font-size:var(--fs-xs);color:var(--text);margin:var(--space-1) 0;line-height:var(--lh-snug)}.tb-divider{border:none;border-top:var(--bw-strong) solid var(--line)}.tb-nb-name-btn{flex:1;display:flex;align-items:center;gap:var(--space-1);background:none;border:none;cursor:pointer;text-align:left;font-size:var(--fs-sm);color:var(--accent-text);overflow:hidden;min-width:0;min-height:var(--control-sm);padding:0}.tb-nb-icon{font-size:var(--fs-base);flex-shrink:0}.tb-nb-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tb-nb-badge{font-size:var(--fs-2xs);background:var(--accent);color:var(--on-fill);padding:var(--space-px) var(--space-1);border-radius:var(--r-2);flex-shrink:0}.tb-nb-rename{flex:1;font-size:var(--fs-sm);padding:var(--space-0-5) var(--space-1);border:var(--bw) solid var(--accent);border-radius:var(--r-1)}.tb-icon-btn{background:none;border:none;cursor:pointer;color:var(--text);font-size:var(--fs-md);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1);flex-shrink:0}.tb-icon-btn svg,.tb-icon-btn .icon{width:var(--icon-md);height:var(--icon-md)}.tb-danger:hover{color:var(--danger-text)!important;background:var(--tint-danger)!important}.tb-new-nb-btn{width:100%;padding:var(--space-2) var(--space-2);border:var(--bw) dashed var(--navy-text);background:var(--panel);color:var(--navy-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:var(--r-1);cursor:pointer;margin-top:var(--space-2);transition:background var(--dur)}.tb-new-nb-btn:hover:not(:disabled){background:var(--on-chrome)}.tb-new-nb-btn:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.sw-panel{padding:var(--space-2) var(--space-3)}.sw-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.sw-field label{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--navy-text)}.sw-input,.sw-select{padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--accent-text);border-radius:var(--r-1);font-size:var(--fs-md)}.sw-hint{font-size:var(--fs-sm);color:var(--text);margin-top:var(--space-px)}.sw-step-nav{display:flex;gap:var(--space-0-5);margin-bottom:var(--space-2);background:var(--panel-2);border-radius:var(--r-3);padding:var(--space-1)}.sw-step-btn.disabled{cursor:not-allowed}.sw-step-body{display:flex;flex-direction:column;gap:var(--space-2)}.sw-error{color:var(--danger-text);font-size:var(--fs-base);background:var(--tint-danger);padding:var(--space-2) var(--space-2);border-radius:var(--r-1);margin-bottom:var(--space-2);border-left:var(--bw-accent) solid var(--fau-red)}.sw-btn{width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--r-1);font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer;margin-bottom:var(--space-1);transition:background var(--dur),opacity var(--dur)}.sw-btn:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.sw-btn-insert{background:var(--panel-2);color:var(--navy-text);border:var(--bw) solid var(--accent-text)}.sw-btn-insert:hover:not(:disabled){background:var(--panel-2)}.sw-btn-run{background:var(--primary);color:var(--on-primary)}.sw-btn-run:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.nb-header{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);height:38px;background:var(--navy);color:var(--on-fill);flex-shrink:0;border-bottom:var(--bw) solid var(--shade-3)}.nb-header-icon{font-size:var(--fs-md);flex-shrink:0}.nb-header-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:var(--track-wide)}.nb-header-kernel{display:flex;align-items:center;gap:var(--space-1);background:var(--veil-3);border:var(--bw) solid var(--veil-4);border-radius:var(--r-4);padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);color:var(--on-fill);cursor:default;white-space:nowrap;flex-shrink:0}.nb-header-kernel-dot{width:7px;height:7px;border-radius:var(--r-round);flex-shrink:0}.nb-toolbar-sep{width:1px;height:18px;background:var(--panel-2);margin:0 var(--space-1);flex-shrink:0}.nb-cell{position:relative;display:flex;border-left:var(--bw-accent) solid transparent;padding:var(--space-1) 0;margin:0 var(--space-2);transition:border-left-color var(--dur-fast)}.nb-cell:hover{border-left-color:var(--line-2)}.nb-cell:focus-within{border-left-color:var(--navy-text)}.nb-cell.nb-cell-running{border-left-color:var(--warning-text)}.nb-cell.nb-cell-errored{border-left-color:var(--fau-red)}.nb-cell-gutter{width:52px;min-width:52px;display:flex;flex-direction:column;align-items:center;padding:var(--space-2) 0 0;gap:var(--space-1);flex-shrink:0}.nb-run-btn{background:none;border:var(--bw-strong) solid var(--line-2);cursor:pointer;color:var(--text);flex-shrink:0;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.nb-cell:hover .nb-run-btn,.nb-cell:focus-within .nb-run-btn{color:var(--accent-text);border-color:var(--line)}.nb-run-btn:hover:not(:disabled){background:color-mix(in srgb,var(--navy) 10%,transparent);border-color:var(--navy-text);color:var(--navy-text)}.nb-run-btn:disabled{color:var(--on-surface-disabled);cursor:default}.nb-cell-running .nb-run-btn{color:var(--status-running-fg)!important;border-color:var(--status-running-dot)!important}.nb-exec-count{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--text);white-space:nowrap;line-height:var(--lh-tight);letter-spacing:var(--track-wide)}.nb-code-area{position:relative;background:var(--panel);border:var(--bw) solid var(--line-2);border-radius:var(--r-3);overflow:hidden;transition:border-color var(--dur),box-shadow var(--dur),background var(--dur)}.nb-code-area:focus-within{border-color:var(--navy-text);box-shadow:0 0 0 2px color-mix(in srgb,var(--navy) 10%,transparent);background:var(--surface-raised)}.nb-cell-running .nb-code-area{border-color:var(--status-running-dot);background:var(--status-running-bg)}.nb-cell-errored .nb-code-area{border-color:var(--fau-red)}.nb-cell-editor{display:block;width:100%;min-height:46px;padding:var(--space-2) var(--space-3);font-family:var(--mono);font-size:var(--fs-base);line-height:var(--lh-loose);-moz-tab-size:4;tab-size:4;border:none;resize:none;background:transparent;color:var(--text);box-sizing:border-box;caret-color:var(--navy-text)}.nb-cell-editor::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent);font-style:italic}.nb-code-area:hover .nb-cell-actions,.nb-code-area:focus-within .nb-cell-actions{display:flex;opacity:1}.nb-action-btn{background:none;border:var(--bw) solid transparent;cursor:pointer;color:var(--accent-text);transition:background var(--dur-fast),color var(--dur-fast)}.nb-action-btn:hover{background:var(--panel-2);border-color:var(--line);color:var(--text)}.nb-action-del:hover{color:var(--fau-red);background:var(--tint-danger);border-color:var(--danger-text)}.nb-action-ai{color:var(--warning-text);font-size:var(--fs-md)}.nb-action-ai:hover{background:var(--tint-warning)!important;border-color:var(--warning-text)!important;color:var(--warning-deep)!important}.nb-action-run{min-width:46px;width:auto;font-size:var(--fs-xs);gap:var(--space-0-5);padding:0 var(--space-2);font-weight:var(--fw-semibold);color:var(--navy-text);border-color:var(--accent-text);background:var(--tint-accent)}.nb-action-run:hover{background:var(--navy)!important;color:var(--on-fill)!important;border-color:var(--navy-text)!important}[data-theme=dark] .nb-panel,[data-theme=dark] .nb-cells{background:var(--navy)}[data-theme=dark] .nb-code-area{background:var(--navy);border-color:var(--veil-3)}[data-theme=dark] .nb-code-area:focus-within{border-color:var(--accent-text);background:var(--navy);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}[data-theme=dark] .nb-cell-editor{color:var(--text);caret-color:var(--accent-text)}[data-theme=dark] .nb-cell-editor::placeholder{color:color-mix(in srgb,var(--text) 48%,transparent)}[data-theme=dark] .nb-cell-output{background:var(--navy);border-left-color:var(--veil-3)}[data-theme=dark] .nb-output-stdout{color:var(--text)}[data-theme=dark] .nb-output-stderr{color:var(--warning-text);background:color-mix(in srgb,var(--gold) 8%,transparent)}[data-theme=dark] .nb-output-error{color:var(--danger-text);background:color-mix(in srgb,var(--danger) 8%,transparent)}[data-theme=dark] .nb-output-html table{color:var(--text)}[data-theme=dark] .nb-output-html thead tr{background:var(--navy)}[data-theme=dark] .nb-output-html tbody tr:nth-child(2n){background:var(--veil-1)}[data-theme=dark] .nb-output-html tbody tr:hover{background:var(--veil-2)}[data-theme=dark] .nb-run-btn{border-color:var(--veil-4);color:var(--text)}[data-theme=dark] .nb-cell:hover .nb-run-btn,[data-theme=dark] .nb-cell:focus-within .nb-run-btn{color:var(--text);border-color:var(--veil-6)}[data-theme=dark] .nb-run-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent-text);color:var(--accent-text)}[data-theme=dark] .nb-exec-count,[data-theme=dark] .nb-action-btn{color:var(--text)}[data-theme=dark] .nb-action-btn:hover{background:var(--veil-3);border-color:var(--veil-4);color:var(--text)}[data-theme=dark] .nb-action-ai{color:var(--warning-text)}[data-theme=dark] .nb-action-ai:hover{background:color-mix(in srgb,var(--gold) 16%,transparent)!important;border-color:color-mix(in srgb,var(--gold) 48%,transparent)!important;color:var(--warning-text)!important}[data-theme=dark] .nb-action-run{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 32%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}[data-theme=dark] .nb-action-run:hover{background:var(--primary)!important;color:var(--on-primary)!important;border-color:var(--primary)!important}[data-theme=dark] .nb-cell:hover{border-left-color:var(--veil-3)}[data-theme=dark] .nb-cell:focus-within{border-left-color:var(--accent-text)}[data-theme=dark] .nb-insert-line{background:var(--veil-3)}[data-theme=dark] .nb-insert-btn{border-color:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-insert-btn:hover{color:var(--accent-text);border-color:var(--accent-text)}[data-theme=dark] .nb-md-cell{background:var(--veil-1)}[data-theme=dark] .nb-md-editor{background:var(--navy);border-color:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-md-done-row{background:var(--veil-1);border-color:var(--veil-3)}[data-theme=dark] .nb-md-preview{color:var(--text)}[data-theme=dark] .nb-md-preview h1{color:var(--accent-text);border-bottom-color:var(--veil-3)}[data-theme=dark] .nb-md-preview h2{color:var(--accent-text)}[data-theme=dark] .nb-md-preview h3{color:var(--text)}[data-theme=dark] .nb-md-preview code{background:var(--veil-3);color:var(--accent-text)}[data-theme=dark] .nb-md-preview pre{background:var(--veil-1)}[data-theme=dark] .nb-md-preview hr{border-top-color:var(--veil-3)}[data-theme=dark] .nb-ai-panel{background:var(--navy);border-color:var(--accent-text)}[data-theme=dark] .nb-ai-header{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-text)}[data-theme=dark] .nb-ai-input{background:var(--navy);border-bottom-color:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-ai-input::placeholder{color:color-mix(in srgb,var(--text) 48%,transparent)}[data-theme=dark] .nb-ai-footer{background:var(--veil-1)}[data-theme=dark] .nb-ai-think-row{color:var(--text)}.nb-ai-panel{border:var(--bw) solid var(--navy-text);border-radius:var(--r-3);background:var(--panel);margin:var(--space-2) 0 var(--space-1);overflow:hidden;box-shadow:var(--shadow)}.nb-ai-header{display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:var(--on-fill);padding:var(--space-2) var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:var(--track-wide)}.nb-ai-close{background:none;border:none;color:var(--on-fill);cursor:pointer;font-size:var(--fs-md);padding:0 var(--space-0-5);line-height:var(--lh-tight);transition:color var(--dur-fast)}.nb-ai-close:hover{color:var(--on-fill)}.nb-ai-input{display:block;width:100%;padding:var(--space-2) var(--space-2);font-family:inherit;font-size:var(--fs-base);border:none;border-bottom:var(--bw) solid var(--line-2);resize:none;background:var(--panel);color:var(--text);box-sizing:border-box}.nb-ai-input::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent);font-style:italic}.nb-ai-footer{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--panel-2)}.nb-ai-btn-primary{background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-1);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast)}.nb-ai-btn-primary:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.nb-ai-btn-primary:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:default}.nb-ai-btn-ghost{background:none;color:var(--text);border:var(--bw) solid var(--line);border-radius:var(--r-1);padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast)}.nb-ai-btn-ghost:hover{background:var(--panel-2)}.nb-cell-ai .nb-code-area{border-color:var(--navy-text);border-style:dashed;background:var(--panel)}.nb-ai-thinking{padding:var(--space-2) var(--space-4) var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.nb-ai-think-row{font-size:var(--fs-sm);color:var(--text);opacity:0;animation:nb-fade-in var(--dur-slower) ease forwards}.nb-ai-think-row:nth-child(1){animation-delay:0s}.nb-ai-think-row:nth-child(2){animation-delay:.5s}.nb-ai-think-row:nth-child(3){animation-delay:1s}.nb-ai-pulse{display:inline-block;width:8px;height:8px;border-radius:var(--r-round);background:var(--warning);animation:nb-pulse var(--dur-loop-fast) ease-in-out infinite;margin-right:var(--space-1)}.nb-ai-plan{margin:var(--space-2) var(--space-2) 0;background:var(--panel);border:var(--bw) solid var(--accent-text);border-radius:var(--r-3);overflow:hidden}.nb-ai-plan-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);color:var(--navy-text);background:var(--panel-2);padding:var(--space-1) var(--space-2);text-transform:uppercase}.nb-ai-plan-steps{margin:0;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-6);font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-loose)}.nb-ai-plan-steps li{padding-left:var(--space-0-5)}.nb-ai-code-preview-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);color:var(--text);text-transform:uppercase;padding:var(--space-2) var(--space-2) var(--space-0-5)}.nb-ai-code-preview{margin:0 var(--space-2) var(--space-2);padding:var(--space-2) var(--space-2);background:var(--navy);color:var(--text);font-family:var(--mono);font-size:var(--fs-sm);line-height:var(--lh-body);border-radius:var(--r-3);max-height:220px;overflow-y:auto;white-space:pre;-moz-tab-size:4;tab-size:4}.nb-panel--with-sidebar{display:grid;grid-template-rows:auto auto 1fr;grid-template-columns:1fr 340px;min-height:0}.nb-panel--with-sidebar .nb-header,.nb-panel--with-sidebar .nb-toolbar{grid-column:1 / -1}.nb-body{display:contents}.nb-panel--with-sidebar .nb-cells{grid-column:1}.nb-panel--with-sidebar .nb-sidebar{grid-column:2;grid-row:3}.nb-pypilot-toggle{margin-left:auto;margin-right:var(--space-2);padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);border-radius:var(--r-4);border:var(--bw) solid var(--veil-4);background:var(--veil-2);color:var(--on-fill);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);letter-spacing:var(--track-wide)}.nb-pypilot-toggle:hover{background:color-mix(in srgb,var(--accent) 24%,transparent);border-color:color-mix(in srgb,var(--accent) 48%,transparent);color:var(--on-fill)}.nb-pypilot-toggle--on{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 48%,transparent);color:var(--accent-text)}.nb-sidebar{display:flex;flex-direction:column;background:var(--panel);border-left:var(--bw) solid var(--line);overflow:hidden;min-height:0}.nb-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--line);background:var(--panel-2);flex-shrink:0}.nb-sidebar-head-left,.nb-sidebar-head-right{display:flex;align-items:center;gap:var(--space-2)}.nb-sidebar-logo{font-size:var(--fs-lg);color:var(--accent-text);line-height:var(--lh-tight)}.nb-sidebar-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);letter-spacing:var(--track-wide)}.nb-sidebar-project{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.nb-sidebar-dot{width:7px;height:7px;border-radius:var(--r-round);background:var(--line);display:inline-block;flex-shrink:0}.nb-sidebar-dot--on{background:var(--success)}.nb-sidebar-close{width:var(--control-sm);height:var(--control-sm);border:none;background:none;cursor:pointer;color:var(--muted-2);font-size:var(--fs-lg);line-height:var(--lh-tight);border-radius:var(--r-1);display:grid;place-items:center}.nb-sidebar-close:hover{background:var(--panel);color:var(--text)}.nb-sidebar-scroll{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);min-height:0}.nb-sidebar-msg{display:flex;gap:var(--space-2)}.nb-sidebar-msg--user{flex-direction:row-reverse}.nb-sidebar-msg-avatar{width:24px;height:24px;border-radius:var(--r-round);background:var(--accent);color:var(--on-accent);font-size:var(--fs-xs);display:grid;place-items:center;flex-shrink:0;margin-top:var(--space-0-5)}.nb-sidebar-msg-body{max-width:90%;display:flex;flex-direction:column;gap:var(--space-2)}.nb-sidebar-msg-text{font-size:var(--fs-base);line-height:var(--lh-loose);color:var(--text);white-space:pre-wrap;word-break:break-word}.nb-sidebar-msg--user .nb-sidebar-msg-text{background:color-mix(in srgb,var(--accent) 12%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--r-3) var(--r-3) var(--r-xs) var(--r-3);padding:var(--space-2) var(--space-2);color:var(--text)}.nb-sidebar-cursor{animation:nb-blink var(--dur-loop-fast) step-end infinite;opacity:1}@keyframes nb-blink{50%{opacity:0}}.nb-sidebar-proposals{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-1)}.nb-sidebar-proposal{border:var(--bw) solid var(--line);border-radius:var(--r-2);overflow:hidden;background:var(--panel-2)}.nb-sidebar-proposal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2);background:color-mix(in srgb,var(--accent) 8%,transparent);border-bottom:var(--bw) solid var(--line)}.nb-sidebar-proposal-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.nb-sidebar-proposal-badge{font-size:var(--fs-2xs);background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-text);border-radius:var(--r-1);padding:var(--space-px) var(--space-2);font-weight:var(--fw-semibold)}.nb-sidebar-proposal-code{font-family:var(--mono);font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--accent-text);background:var(--panel-2);padding:var(--space-2) var(--space-2);margin:0;white-space:pre;overflow-x:auto;max-height:140px;-moz-tab-size:4;tab-size:4}.nb-sidebar-proposal-actions{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-2)}.nb-sidebar-proposal-btn{font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.nb-sidebar-proposal-btn:hover{background:var(--panel-2);color:var(--text)}.nb-sidebar-proposal-btn--primary{background:var(--primary);color:var(--on-primary);border-color:var(--navy-text)}.nb-sidebar-proposal-btn--primary:hover{background:var(--primary);border-color:var(--accent-text);color:var(--on-primary)}.nb-sidebar-insert-all{font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-3);border-radius:var(--r-2);border:var(--bw) solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent-text);cursor:pointer;width:100%;transition:background var(--dur-fast)}.nb-sidebar-quick{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) var(--space-2) var(--space-0-5);flex-shrink:0}.nb-sidebar-chip{display:inline-flex;align-items:center;font-size:var(--fs-sm);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--r-pill);border:var(--bw) solid var(--line);background:var(--panel-2);color:var(--muted);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast);white-space:nowrap}.nb-sidebar-chip:hover:not(:disabled){border-color:var(--accent-text);color:var(--text)}.nb-sidebar-chip:disabled{color:var(--on-surface-disabled);cursor:default}.nb-sidebar-compose{display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-top:var(--bw) solid var(--line);background:var(--panel-2);flex-shrink:0}.nb-sidebar-input{flex:1;font-size:var(--fs-base);font-family:inherit;line-height:var(--lh-body);padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--text);resize:none;transition:border-color var(--dur-fast)}.nb-sidebar-input:focus{border-color:var(--accent-text)}.nb-sidebar-input::placeholder{color:color-mix(in srgb,var(--text) 55%,transparent)}.nb-sidebar-input:disabled{color:var(--on-surface-disabled)}.nb-sidebar-send{width:32px;height:32px;flex-shrink:0;border-radius:var(--r-2);border:var(--bw) solid var(--navy-text);background:var(--navy);color:var(--on-fill);font-size:var(--fs-lg);font-weight:var(--fw-bold);cursor:pointer;display:grid;place-items:center;transition:background var(--dur-fast)}.nb-sidebar-send:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.nb-sidebar-send:disabled{color:var(--on-surface-disabled);cursor:default}.nb-sidebar-spinner{animation:nb-pulse var(--dur-loop-fast) ease-in-out infinite;font-size:var(--fs-2xs)}@keyframes nb-pulse{0%,to{opacity:.3}50%{opacity:1}}[data-theme=dark] .nb-sidebar{background:var(--navy);border-left-color:var(--veil-3)}[data-theme=dark] .nb-sidebar-head{background:var(--navy);border-bottom-color:var(--veil-2)}[data-theme=dark] .nb-sidebar-title,[data-theme=dark] .nb-sidebar-project,[data-theme=dark] .nb-sidebar-close{color:var(--text)}[data-theme=dark] .nb-sidebar-close:hover{background:var(--veil-2);color:var(--text)}[data-theme=dark] .nb-sidebar-scroll{scrollbar-color:var(--veil-3) transparent}[data-theme=dark] .nb-sidebar-msg-text{color:var(--text)}[data-theme=dark] .nb-sidebar-msg--user .nb-sidebar-msg-text{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,transparent);color:var(--text)}[data-theme=dark] .nb-sidebar-proposal{background:var(--navy);border-color:var(--veil-3)}[data-theme=dark] .nb-sidebar-proposal-head{background:color-mix(in srgb,var(--accent) 8%,transparent);border-bottom-color:var(--veil-2)}[data-theme=dark] .nb-sidebar-proposal-title{color:var(--text)}[data-theme=dark] .nb-sidebar-proposal-code{background:var(--navy);color:var(--text)}[data-theme=dark] .nb-sidebar-proposal-btn{background:var(--veil-1);border-color:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-sidebar-proposal-btn:hover{background:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-sidebar-proposal-btn--primary{background:var(--navy);border-color:var(--navy-text);color:var(--on-fill)}[data-theme=dark] .nb-sidebar-insert-all{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent);color:var(--accent-text)}[data-theme=dark] .nb-sidebar-chip{background:var(--veil-1);border-color:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-sidebar-chip:hover:not(:disabled){border-color:var(--accent-text);color:var(--text)}[data-theme=dark] .nb-sidebar-compose{background:var(--navy);border-top-color:var(--veil-2)}[data-theme=dark] .nb-sidebar-input{background:var(--navy);border-color:var(--veil-3);color:var(--text)}[data-theme=dark] .nb-sidebar-input:focus{border-color:var(--accent-text)}[data-theme=dark] .nb-sidebar-input::placeholder{color:color-mix(in srgb,var(--text) 48%,transparent)}.nb-cell-focused{border-left-color:var(--accent-text)!important}.nb-md-cell{background:var(--tint-amber)}.nb-md-cell:hover{border-left-color:var(--warning-text)}.nb-md-area{position:relative;flex:1;min-width:0}.nb-md-area:hover .nb-cell-actions{display:flex;opacity:1}.nb-md-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--r-round);background:var(--tint-amber);color:var(--gold-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);border:var(--bw-strong) solid var(--gold-text);margin-top:var(--space-1);flex-shrink:0}.nb-md-editor{display:block;width:100%;min-height:60px;padding:var(--space-2) var(--space-3);font-family:var(--mono);font-size:var(--fs-base);line-height:var(--lh-loose);border:var(--bw) solid var(--navy-text);border-radius:var(--r-3) var(--r-2) 0 0;border-bottom:none;resize:none;background:var(--surface-raised);color:var(--text);box-sizing:border-box}.nb-md-done-row{background:var(--panel-2);padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--navy-text);border-top:none;border-radius:0 0 var(--r-2) var(--r-2);margin-bottom:var(--space-0-5)}.nb-md-preview{padding:var(--space-2) var(--space-3) var(--space-2);min-height:32px;border-radius:var(--r-1);cursor:default;line-height:var(--lh-loose);font-size:var(--fs-md);color:var(--text);padding-right:80px}.nb-md-preview:hover{background:var(--panel)}.nb-md-preview h1{font-size:var(--fs-2xl);font-weight:var(--fw-bold);margin:var(--space-0-5) 0 var(--space-2);color:var(--navy-text);border-bottom:var(--bw) solid var(--line-2);padding-bottom:var(--space-1)}.nb-md-preview h2{font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin:var(--space-0-5) 0 var(--space-2);color:var(--navy-text)}.nb-md-preview h3{font-size:var(--fs-lg);font-weight:var(--fw-semibold);margin:var(--space-0-5) 0 var(--space-1);color:var(--accent-text)}.nb-md-preview p{margin:var(--space-1) 0}.nb-md-preview code{background:var(--panel-2);border-radius:var(--r-1);padding:var(--space-px) var(--space-1);font-family:var(--mono);font-size:var(--fs-sm)}.nb-md-preview pre{background:var(--panel-2);border-radius:var(--r-3);padding:var(--space-2) var(--space-3);overflow-x:auto;margin:var(--space-2) 0}.nb-md-preview pre code{background:none;padding:0}.nb-md-preview ul,.nb-md-preview ol{margin:var(--space-1) 0;padding-left:var(--space-5)}.nb-md-preview li{margin:var(--space-0-5) 0}.nb-md-preview hr{border:none;border-top:var(--bw) solid var(--line-2);margin:var(--space-2) 0}.nb-md-preview strong{font-weight:var(--fw-bold)}.nb-md-preview em{font-style:italic}.nb-insert-row{display:flex;align-items:center;margin:var(--space-1) var(--space-4) var(--space-1) var(--space-8);height:22px;opacity:0;transition:opacity var(--dur-slow);gap:var(--space-2)}.nb-cells:hover .nb-insert-row{opacity:1}.nb-insert-line{flex:1;height:1px;background:var(--panel-2)}.nb-insert-btn{display:flex;align-items:center;gap:var(--space-1);background:none;border:var(--bw) solid var(--line);color:var(--text);font-size:var(--fs-sm);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--r-3);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.nb-insert-btn:hover{color:var(--navy-text);border-color:var(--navy-text)}.nb-cell-output{border-left:var(--bw-accent) solid var(--line-2);margin-left:var(--space-px);border-radius:0 0 var(--r-2) var(--r-2);background:var(--surface-raised);overflow:hidden}.nb-cell-running .nb-cell-output{border-left-color:var(--status-running-dot)}.nb-cell-errored .nb-cell-output{border-left-color:var(--fau-red)}.nb-output-stdout{font-family:var(--mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-all;color:var(--text);padding:var(--space-2) var(--space-3);margin:0;line-height:var(--lh-body)}.nb-output-stderr{font-family:var(--mono);font-size:var(--fs-sm);white-space:pre-wrap;color:var(--warning-text);background:var(--tint-warning);padding:var(--space-2) var(--space-3);margin:0}.nb-output-error{font-family:var(--mono);font-size:var(--fs-sm);white-space:pre-wrap;color:var(--fau-red);background:var(--tint-danger);padding:var(--space-2) var(--space-3);margin:0}.nb-output-html{overflow-x:auto;padding:var(--space-2) var(--space-3);font-size:var(--fs-base)}.nb-output-html table{border-collapse:collapse;font-size:var(--fs-sm);font-family:var(--mono);min-width:300px}.nb-output-html thead tr{background:var(--navy);color:var(--on-fill)}.nb-output-html th,.nb-output-html td{border:var(--bw) solid var(--line);padding:var(--space-1) var(--space-2);text-align:right;white-space:nowrap}.nb-output-html th{text-align:center;font-weight:var(--fw-semibold)}.nb-output-html tbody tr:nth-child(2n){background:var(--panel)}.nb-output-html tbody tr:hover{background:var(--panel-2)}.nb-output-img{max-width:100%;display:block;border-radius:var(--r-1);margin:var(--space-2) var(--space-3)}.ga-conn-dot{width:8px;height:8px;border-radius:var(--r-round);display:inline-block;flex-shrink:0}.ga-code-block{margin:var(--space-2) 0;border:var(--bw) solid var(--line-2);border-radius:var(--r-3);overflow:hidden;font-size:var(--fs-sm)}.ga-code-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2);background:var(--panel-2);border-bottom:var(--bw) solid var(--line-2);font-size:var(--fs-xs);color:var(--text)}.ga-insert-btn{background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-1);min-height:var(--control-sm);padding:0 var(--space-3);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-fast)}.ga-code-pre{margin:0;padding:var(--space-2) var(--space-2);background:var(--navy);color:var(--text);font-family:var(--mono);font-size:var(--fs-sm);overflow-x:auto;white-space:pre;line-height:var(--lh-body)}.ga-cursor{animation:ga-blink var(--dur-loop-fast) step-end infinite}.wb-gis-btn svg,.wb-view-tab svg,.wb-strip-btn svg,.tb-section-hdr svg,.nav-link svg{width:var(--icon-md);height:var(--icon-md)}.ne-root{display:flex;height:100%;min-height:0;overflow:hidden;font-family:var(--sans);background:var(--panel-2)}.ne-sidebar{width:270px;min-width:220px;background:var(--surface-raised);border-right:var(--bw) solid var(--line);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}.ne-sidebar-header{background:var(--navy);color:var(--on-fill);padding:var(--space-2) var(--space-4);font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:var(--track-wide);flex-shrink:0}.ne-sidebar-title{font-size:var(--fs-md)}.ne-sidebar-section{padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--line)}.ne-section-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--text);margin-bottom:var(--space-2)}.ne-proj-select{width:100%;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-base);background:var(--surface-raised);margin-bottom:var(--space-2)}.ne-new-proj-btn{width:100%;padding:var(--space-1) var(--space-2);background:var(--panel);border:var(--bw) solid var(--navy-text);border-radius:var(--r-1);color:var(--navy-text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer}.ne-new-proj-btn:hover{background:var(--panel-2)}.ne-new-proj{display:flex;flex-direction:column;gap:var(--space-2)}.ne-proj-input{padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--navy-text);border-radius:var(--r-1);font-size:var(--fs-base);width:100%;box-sizing:border-box}.ne-proj-btns{display:flex;gap:var(--space-2)}.ne-proj-cancel{flex:1;padding:var(--space-1);border:var(--bw) solid var(--line);border-radius:var(--r-1);background:var(--surface-raised);cursor:pointer;font-size:var(--fs-sm)}.ne-proj-create{flex:1;padding:var(--space-1);border:none;border-radius:var(--r-1);background:var(--primary);color:var(--on-primary);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.ne-proj-create:hover{background:var(--primary);color:var(--on-primary)}.ne-import-btn{width:100%;padding:var(--space-2) var(--space-2);background:var(--surface-raised);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-base);cursor:pointer;text-align:left;color:var(--text)}.ne-import-btn:hover{background:var(--panel-2);border-color:var(--navy-text);color:var(--navy-text)}.ne-stat-grid{display:flex;flex-direction:column;gap:var(--space-1)}.ne-stat-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm)}.ne-stat-dot{width:10px;height:10px;border-radius:var(--r-round);flex-shrink:0}.ne-stat-label{flex:1;color:var(--text)}.ne-stat-val{font-weight:var(--fw-bold);color:var(--navy-text);min-width:28px;text-align:right}.ne-list-section{padding-top:var(--space-2);padding-bottom:0}.ne-elem-list{max-height:220px;overflow-y:auto}.ne-elem-dot{width:9px;height:9px;border-radius:var(--r-round);flex-shrink:0}.ne-elem-name{flex:1;font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-elem-type{font-size:var(--fs-2xs);color:var(--text);white-space:nowrap}.ne-loading{padding:var(--space-3);font-size:var(--fs-sm);color:var(--text);text-align:center}.ne-map-area{flex:1;min-width:0;position:relative;overflow:hidden}.ne-map{width:100%;height:100%}.ne-map-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--on-chrome) 92%,transparent);z-index:var(--z-sticky)}.ne-map-empty-inner{text-align:center;color:var(--text)}.ne-empty-icon{font-size:var(--fs-4xl);margin-bottom:var(--space-3)}.ne-draw-hint{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--navy) 88%,transparent);color:var(--on-fill);padding:var(--space-2) var(--space-4);border-radius:var(--r-5);font-size:var(--fs-sm);pointer-events:none;z-index:var(--z-sticky);white-space:nowrap}.ne-legend{position:absolute;bottom:72px;right:var(--space-2);background:var(--panel-glass);border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-2) var(--space-3);z-index:var(--z-sticky);font-size:var(--fs-xs);display:flex;flex-direction:column;gap:var(--space-1);box-shadow:var(--shadow)}.ne-legend-row{display:flex;align-items:center;gap:var(--space-2)}.ne-legend-dot{width:10px;height:10px;border-radius:var(--r-round);flex-shrink:0;border:var(--bw) solid var(--swatch-edge)}.ne-right-panel{width:340px;min-width:300px;background:var(--surface-raised);border-left:var(--bw) solid var(--line);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.net-side-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.nsp-header-btns{display:flex;gap:var(--space-2)}.nsp-del-btn,.nsp-close-btn{background:none;border:none;color:var(--on-fill);cursor:pointer;font-size:var(--fs-lg);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1)}.nsp-del-btn:hover{color:var(--danger-text);background:color-mix(in srgb,var(--danger) 16%,transparent)}.nsp-close-btn:hover{color:var(--on-fill);background:var(--veil-3)}.nsp-body{flex:1;overflow-y:auto;padding:0}.nsp-section{border-bottom:var(--bw) solid var(--veil-2)}.nsp-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--veil-1)}.nsp-section-header:hover{background:var(--veil-2)}.nsp-section-header-static{padding:var(--space-2) var(--space-4);font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text);background:var(--veil-1);border-bottom:var(--bw) solid var(--veil-2)}.nsp-section-title{font-weight:var(--fw-semibold);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2)}.nsp-chevron{font-size:var(--fs-2xs);color:var(--muted-2)}.nsp-section-body{padding:var(--space-2) var(--space-4)}.nsp-field-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted)}.nsp-field-input{width:100%}.nsp-row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.nsp-text,.nsp-select,.nsp-num{width:100%;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm);background:var(--panel-2);color:var(--text);box-sizing:border-box}.nsp-text:focus,.nsp-select:focus,.nsp-num:focus{border-color:var(--accent-text)}.nsp-code{font-family:var(--mono);font-size:var(--fs-sm);color:var(--accent-text);background:color-mix(in srgb,var(--ink) 48%,transparent);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1)}.nsp-table-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:var(--track-wide)}.nsp-stage-table{display:flex;flex-direction:column;gap:var(--space-0-5)}.nsp-stage-hdr{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);padding:0 var(--space-0-5);display:grid;grid-template-columns:1fr 1fr 20px}.nsp-stage-row{display:grid;grid-template-columns:1fr 1fr 20px;gap:var(--space-1);align-items:center}.nsp-stage-del{background:none;border:none;color:var(--danger-text);cursor:pointer;font-size:var(--fs-xs);padding:0;line-height:var(--lh-tight)}.nsp-stage-del:hover{color:var(--danger-text)}.nsp-stage-add{margin-top:var(--space-1);font-size:var(--fs-xs);color:var(--text);background:none;border:var(--bw) dashed color-mix(in srgb,var(--accent) 32%,transparent);border-radius:var(--r-1);padding:var(--space-0-5) var(--space-2);cursor:pointer;align-self:flex-start}.nsp-stage-add:hover{background:var(--veil-1)}.nsp-footer{padding:var(--space-2) var(--space-4);border-top:var(--bw) solid var(--veil-2);display:flex;gap:var(--space-2);justify-content:flex-end;flex-shrink:0;background:color-mix(in srgb,var(--ink) 48%,transparent)}.nsp-cancel-btn{padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--veil-3);border-radius:var(--r-1);background:var(--veil-1);color:var(--text);cursor:pointer;font-size:var(--fs-base)}.nsp-cancel-btn:hover{background:var(--veil-3)}.nsp-save-btn{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--r-1);background:var(--primary);color:var(--on-primary);font-weight:var(--fw-bold);cursor:pointer;font-size:var(--fs-base)}.draw-toolbar{position:absolute;top:10px;left:10px;background:var(--veil-7);border:var(--bw) solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:var(--space-0-5);padding:var(--space-2) var(--space-1);z-index:var(--z-sticky);max-height:calc(100% - var(--space-5));overflow-y:auto}.dt-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text)}.dt-sep{height:1px;background:var(--panel-2);margin:var(--space-1) 0}.iw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center}.iw-modal{background:var(--surface-raised);border-radius:var(--r-4);width:600px;max-width:96vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.iw-steps{display:flex;background:var(--panel-2);border-bottom:var(--bw) solid var(--line);padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-wrap:wrap}.iw-step{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text)}.iw-step-active .iw-step-label{font-weight:var(--fw-bold)}.iw-step-num{width:22px;height:22px;border-radius:var(--r-round);background:var(--panel-2);color:var(--text);border:var(--bw) solid var(--line);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-bold)}.iw-step-active .iw-step-num{background:var(--primary);color:var(--on-primary)}.iw-step-done .iw-step-num{background:var(--success);color:var(--on-fill)}.iw-body{padding:var(--space-5) var(--space-5);flex:1;overflow-y:auto}.iw-heading{margin:0 0 var(--space-2);font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--navy-text)}.iw-sub{margin:0 0 var(--space-4);font-size:var(--fs-base);color:var(--text)}.iw-error{color:var(--fau-red);font-size:var(--fs-sm);margin-top:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--tint-danger);border-radius:var(--r-1)}.iw-drop-icon{font-size:var(--fs-2xl)}.iw-sheet-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.iw-headers-preview{margin-top:var(--space-2)}.iw-headers-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);display:block;margin-bottom:var(--space-2)}.iw-header-chips{display:flex;flex-wrap:wrap;gap:var(--space-1)}.iw-chip{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-0-5) var(--space-2);font-size:var(--fs-xs);color:var(--text)}.iw-col-table{border:var(--bw) solid var(--line);border-radius:var(--r-3);overflow:hidden}.iw-col-head{display:grid;grid-template-columns:1fr 1fr;padding:var(--space-2) var(--space-2);background:var(--primary);color:var(--on-primary);font-size:var(--fs-xs);font-weight:var(--fw-bold)}.iw-col-section{padding:var(--space-1) var(--space-2);background:var(--panel-2);font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text);text-transform:uppercase;letter-spacing:var(--track-wide)}.iw-col-row{display:grid;grid-template-columns:1fr 1fr;padding:var(--space-1) var(--space-2);border-top:var(--bw) solid var(--line-2);align-items:center}.iw-col-name{font-size:var(--fs-sm);color:var(--text)}.iw-col-select{width:100%;min-height:var(--control-sm);padding:0 var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm)}.iw-done{text-align:center;padding:var(--space-7) var(--space-5)}.iw-done-icon{font-size:var(--fs-4xl);margin-bottom:var(--space-2)}.iw-done-stats{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-5)}.iw-done-stat{display:flex;flex-direction:column;align-items:center}.iw-done-num{font-size:var(--fs-3xl);font-weight:var(--fw-heavy);color:var(--navy-text)}.iw-footer{padding:var(--space-3) var(--space-5);border-top:var(--bw) solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.iw-footer-right{display:flex;gap:var(--space-2)}.iw-source-grid{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.iw-source-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-4);border:var(--bw-strong) solid var(--line);border-radius:var(--r-2);background:var(--surface-raised);cursor:pointer;text-align:left;transition:border-color var(--dur),box-shadow var(--dur)}.iw-source-card:hover{border-color:var(--navy-text);box-shadow:var(--shadow)}.iw-source-icon{font-size:var(--fs-2xl);flex-shrink:0;margin-top:var(--space-px)}.iw-source-card strong{display:block;font-size:var(--fs-md);color:var(--accent-text);margin-bottom:var(--space-0-5)}.iw-source-desc{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-snug)}.iw-existing-files{margin-bottom:var(--space-2)}.iw-center-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--panel-2);border-radius:var(--r-3);border:var(--bw) solid var(--line);font-size:var(--fs-base);color:var(--text)}.iw-center-input{width:90px;min-height:var(--control-sm);padding:0 var(--space-2);border:var(--bw) solid var(--accent-text);border-radius:var(--r-1);font-size:var(--fs-base);margin-left:var(--space-2)}.iw-hint-small{font-size:var(--fs-xs);color:var(--text);flex-basis:100%;margin-top:var(--space-0-5)}.fe-panel{display:flex;flex-direction:column;height:100%;background:var(--surface-raised);position:relative;overflow:hidden;width:100%;min-width:0;max-width:none;border-left:var(--bw-strong) solid var(--line);-webkit-user-select:none;user-select:none}.fe-type-badge{padding:var(--space-0-5) var(--space-2);border-radius:var(--r-3);font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--on-fill);background:var(--ink);flex-shrink:0}.fe-id{flex:1;font-size:var(--fs-sm);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fe-close-btn:hover{background:var(--veil-4);opacity:1}.fe-msg{padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);flex-shrink:0}.fe-msg-err{background:var(--tint-danger);color:var(--fau-red)}.fe-msg-ok{background:var(--tint-success);color:var(--success-text)}.fe-body{flex:1;overflow-y:auto;padding:var(--space-2) 0}.fe-input{width:100%;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm);background:var(--surface-raised);box-sizing:border-box}.fe-input:focus{border-color:var(--navy-text)}.fe-input[readonly]{background:var(--panel-2);color:var(--text);cursor:not-allowed}.fe-select{width:100%;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm);background:var(--surface-raised);box-sizing:border-box}.fe-select:focus{border-color:var(--navy-text)}.fe-save-btn:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.fe-cancel-del-btn{padding:var(--space-2) var(--space-3);background:var(--panel-2);color:var(--text);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm);cursor:pointer}.fe-cancel-del-btn:hover{background:var(--panel-2)}.fe-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--navy);color:var(--on-fill);flex-shrink:0;justify-content:space-between}.fe-header-left{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1}.fe-close-btn{background:none;border:none;color:var(--on-fill);cursor:pointer;font-size:var(--fs-md);padding:0;border-radius:var(--r-1);flex-shrink:0;width:var(--control-sm);height:var(--control-sm);display:flex;align-items:center;justify-content:center}.fe-close-btn svg{width:var(--icon-md);height:var(--icon-md)}.fe-type-stripe{height:3px;width:100%;flex-shrink:0}.fe-tab-bar{display:flex;border-bottom:var(--bw) solid var(--line);background:var(--surface-raised);flex-shrink:0}.fe-tab-icon{font-size:var(--fs-base);line-height:var(--lh-tight)}.fe-tab-body{flex:1;overflow-y:auto}.fe-tab-pane{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.fe-card{background:var(--surface-raised);border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.fe-card-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text);margin-bottom:var(--space-0-5)}.fe-select-lg{font-size:var(--fs-base);padding:var(--space-2) var(--space-2);border-radius:var(--r-1)}.fe-acc-hdr{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--panel);border:none;width:100%;cursor:pointer;text-align:left;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--accent-text);transition:background var(--dur)}.fe-acc-hdr:hover{background:var(--panel-2)}.fe-acc-open>.fe-acc-hdr{background:var(--panel-2);border-bottom:var(--bw) solid var(--line)}.fe-acc-chevron{flex-shrink:0;transition:transform var(--dur-slow) ease;color:var(--text)}.fe-acc-open>.fe-acc-hdr .fe-acc-chevron{transform:rotate(180deg)}.fe-acc-icon{font-size:var(--fs-base);line-height:var(--lh-tight)}.fe-acc-label{flex:1}.fe-acc-badge{font-size:var(--fs-2xs);background:var(--navy);color:var(--on-fill);border-radius:var(--r-3);padding:var(--space-px) var(--space-2);font-weight:var(--fw-bold)}.fe-acc-body{padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);background:var(--surface-raised)}.fe-field{display:flex;flex-direction:column;gap:var(--space-1)}.fe-field-hdr{display:flex;align-items:baseline;justify-content:space-between}.fe-field-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text)}.fe-field-unit{font-size:var(--fs-2xs);color:var(--text);font-style:italic;margin-left:var(--space-1)}.fe-field-hint{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-body);margin-top:var(--space-px)}.fe-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.fe-readonly-chip{display:inline-flex;align-items:center;padding:var(--space-0-5) var(--space-2);background:var(--panel-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-1);font-size:var(--fs-xs);font-family:var(--mono);color:var(--text)}.fe-type-class-hint{font-size:var(--fs-sm);color:var(--text);margin-top:calc(-1 * var(--space-0-5))}.fe-tab-hint{font-size:var(--fs-2xs);color:var(--text);background:var(--panel-2);border-radius:var(--r-1);padding:var(--space-2) var(--space-2);display:flex;align-items:center;gap:var(--space-1);line-height:var(--lh-body)}.fe-tab-hint svg{flex-shrink:0}.fe-tab-hint em{font-style:italic}.fe-dyn-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border-bottom:var(--bw) solid var(--line-2)}.fe-dyn-key{font-size:var(--fs-xs);font-family:var(--mono);color:var(--text);min-width:90px;flex-shrink:0}.fe-dyn-val{flex:1}.fe-dyn-remove-btn{background:none;border:none;color:var(--accent-text);cursor:pointer;font-size:var(--fs-xl);line-height:var(--lh-tight);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1)}.fe-dyn-remove-btn svg,.fe-dyn-remove-btn .icon{width:var(--icon-md);height:var(--icon-md)}.fe-dyn-remove-btn:hover{color:var(--danger-text)}.fe-dyn-add{display:flex;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-2);border-top:var(--bw) solid var(--line-2)}.fe-dyn-add-btn{padding:var(--space-1) var(--space-2);background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;white-space:nowrap}.fe-dyn-add-btn:hover{background:var(--primary);color:var(--on-primary)}.fe-geo-callout{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text);background:var(--panel-2);border-radius:var(--r-1);padding:var(--space-2);line-height:var(--lh-body)}.fe-geo-callout svg{flex-shrink:0;margin-top:var(--space-px)}.fe-geo-callout em{font-style:italic}.fe-meta-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);padding:var(--space-1) 0;border-bottom:var(--bw) solid var(--line-2)}.fe-meta-row span{color:var(--text)}.fe-meta-row strong{color:var(--accent-text);font-family:var(--mono)}.fe-empty-hint{font-size:var(--fs-xs);color:var(--text);padding:var(--space-1) 0;margin:0}.fe-spinner{animation:fe-spin var(--dur-loop-fast) linear infinite}.fe-save-note{margin:0;padding:0 var(--space-3) var(--space-2);background:var(--surface-raised);flex-shrink:0}.fe-footer{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-top:var(--bw) solid var(--line);flex-shrink:0;background:var(--surface-raised)}.fe-save-btn{flex:1;padding:var(--space-2) var(--space-3);background:var(--accent, var(--navy));color:var(--on-fill);border:none;border-radius:var(--r-3);font-size:var(--fs-base);font-weight:var(--fw-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:opacity var(--dur)}.fe-save-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.fe-wf-pills{display:flex;gap:var(--space-2);margin-top:var(--space-0-5)}.fe-wf-badge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);display:inline-flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1)}.fe-wf-hms{background:var(--panel-2);color:var(--success-text);border:var(--bw) solid var(--success-text)}.fe-wf-cascade{background:var(--bg);color:var(--accent-text);border:var(--bw) solid var(--accent-text)}.fe-sma-note{font-size:var(--fs-xs);color:var(--text);background:var(--panel-2);border-radius:var(--r-1);padding:var(--space-2) var(--space-2);line-height:var(--lh-body);margin-bottom:var(--space-0-5);border-left:var(--bw-accent) solid var(--success-text)}.fe-check-row{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;min-height:var(--control-sm);font-size:var(--fs-sm);color:var(--text)}.fe-check-row input[type=checkbox]{accent-color:var(--navy);width:var(--space-4);height:var(--space-4);margin:0}.wb-create-modal{background:var(--surface-raised);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);padding:var(--space-3);margin-bottom:var(--space-2);box-shadow:var(--shadow)}.wb-create-modal-hdr{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--navy-text);margin-bottom:var(--space-2)}.wb-modal-close{background:none;border:none;cursor:pointer;border-radius:var(--r-1);color:var(--text);font-size:var(--fs-md);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center}.wb-modal-close svg,.wb-modal-close .icon{width:var(--icon-md);height:var(--icon-md)}.wb-modal-close:hover{color:var(--danger-text)}.wb-modal-back{background:none;border:none;cursor:pointer;color:var(--navy-text);font-size:var(--fs-xs);padding:0;font-weight:var(--fw-semibold)}.wb-modal-back:hover{text-decoration:underline}.wb-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-2)}.wb-type-card:hover:not(.disabled){border-color:var(--navy-text);background:var(--panel-2)}.wb-type-card.disabled{cursor:not-allowed}.wb-type-icon{font-size:var(--fs-xl);line-height:var(--lh-tight)}.wb-type-desc{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-body)}.wb-create-modal-footer{display:flex;justify-content:flex-end;margin-top:var(--space-1)}.wb-create-type-chip{display:inline-block;background:var(--panel-2);color:var(--navy-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);margin-bottom:var(--space-2)}.tb-section-hdr-static{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--navy-text);background:transparent;border:none;cursor:default}.tb-coming-soon{padding:var(--space-2) var(--space-4);background:var(--panel);border-radius:var(--r-3);margin:0 var(--space-2) var(--space-2)}.tb-coming-soon .tb-hint{color:var(--text);font-size:var(--fs-sm);margin:0 0 var(--space-1);line-height:var(--lh-snug)}.tb-coming-soon .tb-hint strong{color:var(--navy-text)}.tools-group-header{grid-column:1 / -1;font-size:var(--fs-sm);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--navy-text);padding:var(--space-2) 0 var(--space-0-5);border-bottom:var(--bw-strong) solid var(--line);margin-top:var(--space-2)}.wizard{display:flex;flex-direction:column;height:100%;overflow:hidden}.delineation-panel{display:flex;flex-direction:column;gap:var(--space-2)}.dp-status.done{background:var(--status-success-bg);border-color:var(--status-success-dot)}.dp-status.error .dp-status-msg{color:var(--status-error-fg)}.param-panel{display:flex;flex-direction:column;gap:var(--space-2)}.param-section{border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-2) var(--space-2)}.param-section-title{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--navy-text);margin-bottom:var(--space-1)}.param-hint{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text);margin-bottom:var(--space-2)}.param-est-btn{padding:var(--space-1) var(--space-2);background:var(--fau-blue);color:var(--on-fill);border:none;border-radius:var(--r-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.param-est-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.param-est-btn:hover:not(:disabled){background:var(--fau-blue-light)}.param-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:var(--lh-tight);margin-top:var(--space-1)}.param-table th{background:var(--panel);color:var(--navy-text);padding:var(--space-1) var(--space-3);text-align:left;font-weight:var(--fw-semibold);font-size:var(--fs-2xs)}.param-table td{padding:var(--space-1) var(--space-3);border-bottom:var(--bw) solid var(--line-2)}.param-table td.num,.param-table th.num{text-align:right;font-variant-numeric:tabular-nums}.param-override{width:60px;padding:var(--space-0-5) var(--space-1);border:var(--bw) solid var(--accent-text);border-radius:var(--r-1);font-size:var(--fs-xs)}.param-atlas-source{font-size:var(--fs-2xs);color:var(--text);margin-bottom:var(--space-1)}.param-atlas-chart{height:100px;margin-bottom:var(--space-2)}.param-rp-checks{display:flex;flex-wrap:wrap;gap:var(--space-1)}.param-rp-check{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);color:var(--text)}.param-rp-check input{accent-color:var(--navy)}.param-apply-btn{width:100%;padding:var(--space-2);background:var(--success);color:var(--on-fill);border:none;border-radius:var(--r-3);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer}.param-apply-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.param-apply-btn:hover:not(:disabled){background:var(--green-30)}.param-error{background:var(--tint-danger);color:var(--fau-red);font-size:var(--fs-xs);padding:var(--space-2) var(--space-2);border-radius:var(--r-1)}.flood-panel{display:flex;flex-direction:column;gap:var(--space-2)}.flood-section{display:flex;flex-direction:column;gap:var(--space-1)}.flood-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--navy-text)}.flood-input{width:100%;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--accent-text);border-radius:var(--r-1);font-size:var(--fs-sm)}.flood-scenario-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1)}.flood-run-btn{width:100%;padding:var(--space-2);background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-3);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer}.flood-run-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.flood-run-btn:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.flood-error{background:var(--tint-danger);color:var(--fau-red);font-size:var(--fs-xs);padding:var(--space-2) var(--space-2);border-radius:var(--r-1)}.flood-no-dem{background:var(--tint-warning);color:var(--warning-deep);font-size:var(--fs-sm);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--tint-warning-md);border-radius:var(--r-3);line-height:var(--lh-body)}.flood-hint{font-size:var(--fs-xs);color:var(--text);padding:var(--space-1) 0}.flood-stats{border:var(--bw) solid var(--accent-text);border-radius:var(--r-3);padding:var(--space-2);background:var(--tint-accent)}.flood-stats-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text);margin-bottom:var(--space-2)}.flood-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-2)}.flood-stat-card{background:var(--surface-raised);border-radius:var(--r-1);padding:var(--space-2) var(--space-2);text-align:center;border:var(--bw) solid var(--accent-text)}.flood-stat-val{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--accent-text)}.flood-stat-label{font-size:var(--fs-2xs);color:var(--text);margin-top:var(--space-0-5)}.flood-legend{margin-top:var(--space-1)}.flood-legend-title{font-size:var(--fs-2xs);color:var(--text);margin-bottom:var(--space-1)}.flood-legend-bar{height:12px;border-radius:var(--r-1);background:linear-gradient(to right,#dbeafe,#3b82f6,#1e40af,#1e3a8a);margin-bottom:var(--space-1)}.flood-legend-labels{display:flex;justify-content:space-between;font-size:var(--fs-2xs);color:var(--text)}.profile-card{background:var(--surface-raised);border-radius:var(--r-3);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-sm)}.profile-section-title{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--navy-text);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:var(--bw-strong) solid var(--line)}.pipe-dot.done{background:var(--status-success-dot);color:var(--on-fill)}.pipe-stage-badge.done{background:var(--status-success-bg);color:var(--status-success-fg)}.catalog-mini{padding:var(--space-1) var(--space-2) var(--space-2)}.wb-data-section{border:var(--bw) solid var(--veil-2);border-radius:var(--r-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--veil-1)}.wb-data-section-hdr{display:flex;align-items:center;justify-content:space-between;font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--text);margin-bottom:var(--space-2)}.wb-data-status{font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:var(--space-px) var(--space-2);border-radius:var(--r-1)}.wb-data-status.ok{background:var(--status-success-bg);color:var(--status-success-fg)}.wb-data-status.req{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger-text)}.wb-data-status.opt{background:color-mix(in srgb,var(--gold) 16%,transparent);color:var(--warning-text)}.wb-data-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-0-5) 0;font-size:var(--fs-sm)}.wb-data-row-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.wb-upload-option{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-sm);color:var(--text);cursor:pointer}.wb-upload-option span{font-weight:var(--fw-medium)}.wb-upload-option input[type=file]{font-size:var(--fs-xs);max-width:160px}.wb-config-empty{padding:var(--space-6) var(--space-5);text-align:center;color:var(--text);font-size:var(--fs-base);line-height:var(--lh-loose)}.wb-config-empty-icon{font-size:var(--fs-2xl);margin-bottom:var(--space-2)}.ds-panel{padding:var(--space-3)}.ds-card{border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-3);margin-bottom:var(--space-2);background:var(--panel-2)}.ds-card-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.ds-card-icon{font-size:var(--fs-xl)}.ds-card-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--accent-text);flex:1}.ds-card-status{font-size:var(--fs-2xs);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-2);font-weight:var(--fw-semibold)}.ds-card-status.ready{background:var(--tint-success);color:var(--success-text)}.ds-card-status.downloading{background:var(--tint-warning);color:var(--warning-deep)}.ds-card-status.available{background:var(--panel-2);color:var(--accent-text)}.ds-card-desc{font-size:var(--fs-sm);color:var(--text);line-height:var(--lh-body);margin-bottom:var(--space-2)}.ds-card-btn{padding:var(--space-2) var(--space-3);background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-1);font-size:var(--fs-sm);cursor:pointer;font-weight:var(--fw-medium);transition:background var(--dur)}.ds-card-btn:hover{background:var(--primary);color:var(--on-primary)}.ds-card-btn:disabled{background:var(--panel-2);color:var(--on-surface-disabled);cursor:default}.s4-item.done{border-color:var(--status-success-dot);background:var(--status-success-bg)}.s4-item.running{border-color:var(--status-running-dot);background:var(--status-running-bg)}.s4-item.done .s4-item-num{background:var(--status-success-dot);color:var(--on-fill)}.s4-item.error .s4-item-num{background:var(--status-error-dot);color:var(--on-fill)}.s4-item.running .s4-item-num{background:var(--status-running-dot);color:var(--on-accent)}.s4-item-badge.done{background:var(--green-30);color:var(--green-80)}.s4-item-badge.running{background:var(--accent);color:var(--accent-text)}.ds-card-progress{position:relative;height:18px;background:var(--navy);border-radius:var(--r-1);overflow:hidden;margin:var(--space-2) 0 var(--space-1)}.ds-card-progress-bar{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--navy),var(--navy));transition:width var(--dur-slower) ease}.ds-card-progress-msg{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:var(--fs-2xs);color:var(--accent-text);white-space:nowrap;z-index:var(--z-raised)}.ds-card-bg-banner{font-size:var(--fs-xs);color:var(--accent-text);background:var(--panel-2);border-radius:var(--r-1);padding:var(--space-1) var(--space-2);margin:var(--space-1) 0}.ds-year-select{font-size:var(--fs-2xs);padding:var(--space-0-5) var(--space-1);border:var(--bw) solid var(--line);border-radius:var(--r-1);background:var(--panel-2);color:var(--accent-text);cursor:pointer}.run-hist-checks{list-style:none;margin:var(--space-2) 0 0;padding:0;font-size:var(--fs-sm)}.run-hist-checks li{display:flex;gap:var(--space-1);align-items:baseline;padding:var(--space-0-5) 0;color:var(--text)}.run-hist-check--ok svg{color:var(--success-text)}.run-hist-check--warn svg{color:var(--gold-text)}.run-hist-pick{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.run-hist-chart{margin:var(--space-2) 0 0}.run-hist-chart svg{width:100%;height:120px;display:block;background:var(--veil-1);border-radius:var(--r-1)}.run-hist-chart figcaption{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--fs-2xs);color:var(--muted);margin-top:var(--space-1)}.run-hist-key{display:inline-block;width:16px;vertical-align:middle;border-top:2px solid}.run-hist-key--dash{border-top-style:dashed}.storm-table-wrap{margin:var(--space-2) 0 var(--space-1);overflow-x:auto}.storm-table{width:100%;border-collapse:collapse;font-size:var(--fs-2xs);font-family:var(--font-mono, monospace)}.storm-table th,.storm-table td{text-align:right;padding:var(--space-1) var(--space-2);border:var(--bw) solid color-mix(in srgb,var(--line-2) 48%,transparent)}.storm-table th{background:color-mix(in srgb,var(--text) 16%,transparent);color:var(--text-muted, var(--accent-text));font-weight:var(--fw-semibold)}.storm-table th:first-child,.storm-table td:first-child{text-align:left;color:var(--text-muted, var(--accent-text));font-weight:var(--fw-semibold)}.storm-table td{color:var(--text, var(--text))}.storm-table tr:nth-child(odd) td{background:var(--veil-1)}.storm-table td.storm-table-cell--on{background:color-mix(in srgb,var(--navy) 18%,transparent);font-weight:var(--fw-bold)}.storm-table-pick{all:unset;cursor:pointer;display:block;width:100%;text-align:right}.storm-table-pick:focus-visible{outline:2px solid var(--accent-text);outline-offset:1px}.storm-table-unit{display:block;font-size:var(--fs-2xs);color:var(--text-muted, var(--text));margin-top:var(--space-1);text-align:right}.ds-aoi-banner{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--r-3);font-size:var(--fs-sm);margin-bottom:var(--space-3)}.ds-aoi-banner.ds-aoi-set{background:var(--panel);color:var(--accent-text);border:var(--bw) solid var(--accent-text)}.ds-aoi-banner.ds-aoi-set .ds-aoi-hint{font-size:var(--fs-xs)}.ds-aoi-banner.ds-aoi-missing{background:var(--tint-warning);color:var(--warning-deep);border:var(--bw) solid var(--tint-warning-md)}.ds-aoi-draw-btn{align-self:flex-start;margin-top:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--navy);color:var(--on-fill);border:none;border-radius:var(--r-1);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.ds-aoi-draw-btn:hover{background:var(--primary);color:var(--on-primary)}.cascade-sim-panel{padding:var(--space-3)}.cascade-sim-section{margin-bottom:var(--space-4)}.cascade-sim-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.cascade-sim-file-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--success-text);margin-top:var(--space-2)}.cascade-sim-run-btn{width:100%;padding:var(--space-2);background:var(--primary);color:var(--on-primary);border:none;border-radius:var(--r-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;margin-top:var(--space-2);transition:background var(--dur)}.cascade-sim-run-btn:hover:not(:disabled){background:var(--primary);color:var(--on-primary)}.cascade-sim-run-btn:disabled{background:var(--panel-2);color:var(--on-surface-disabled);cursor:default}.rom-panel{padding:var(--space-3)}.rom-section{margin-bottom:var(--space-4)}.rom-section-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--navy-text);margin-bottom:var(--space-2);border-bottom:var(--bw) solid var(--line);padding-bottom:var(--space-1)}.rom-form-row{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.rom-form-row label{font-size:var(--fs-sm);color:var(--text);min-width:130px}.rom-form-row input,.rom-form-row select{flex:1;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);font-size:var(--fs-sm)}.rom-method-row{margin-bottom:var(--space-2)}.rom-radio-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.rom-radio-opt{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);color:var(--accent-text);cursor:pointer}.rom-run-btn{width:100%;padding:var(--space-2);background:var(--success);color:var(--on-fill);border:none;border-radius:var(--r-2);font-size:var(--fs-base);font-weight:var(--fw-semibold);cursor:pointer;margin-top:var(--space-2);transition:background var(--dur)}.rom-run-btn:hover:not(:disabled){background:var(--success)}.rom-run-btn:disabled{background:var(--panel-2);color:var(--on-surface-disabled);cursor:default}.rom-status{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-3);font-size:var(--fs-sm)}.rom-status.running{background:var(--status-running-bg);color:var(--status-running-fg)}.rom-status.done{background:var(--status-success-bg);color:var(--status-success-fg)}.rom-status.error{background:var(--status-error-bg);color:var(--status-error-fg)}.rom-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2);margin-top:var(--space-2)}.rom-stat-card{background:var(--panel);border:var(--bw) solid var(--accent-text);border-radius:var(--r-3);padding:var(--space-2) var(--space-2);text-align:center}.rom-stat-val{font-size:var(--fs-xl);font-weight:var(--fw-bold);color:var(--accent-text)}.rom-stat-lbl{font-size:var(--fs-2xs);color:var(--text);margin-top:var(--space-0-5)}.wb-btn-run:disabled,.rom-run-btn:disabled,.cascade-sim-run-btn:disabled,.hybrid-run-btn:disabled,.dp-run-btn:disabled{cursor:progress!important}.ds-card-btn:not(:disabled){cursor:pointer}.ds-card-btn:disabled{cursor:not-allowed}.wb-attr-table tbody tr,.wb-chart-header button,.wb-attr-table-header button{cursor:pointer}.param-advisor-card{margin-top:var(--space-4);border:var(--bw) solid var(--accent-text);border-radius:var(--r-2);overflow:hidden;font-size:var(--fs-sm)}.param-advisor-header{background:var(--navy);color:var(--on-fill);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:var(--space-2);-webkit-user-select:none;user-select:none}.param-advisor-body{padding:var(--space-2) var(--space-3);background:var(--panel);max-height:280px;overflow-y:auto}.param-advisor-text{font-size:var(--fs-sm);color:var(--accent-text);line-height:var(--lh-body);white-space:pre-wrap}.param-advisor-followups{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.param-advisor-followup-btn{background:var(--panel);border:var(--bw) solid var(--accent-text);border-radius:var(--r-3);padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);color:var(--accent-text);cursor:pointer;text-align:left;transition:background var(--dur)}.param-advisor-followup-btn:hover{background:var(--panel-2)}.sim-cmd-bar{border:var(--bw) solid var(--success-text);border-radius:var(--r-2);overflow:hidden;margin-bottom:var(--space-4)}.sim-cmd-bar-header{background:var(--green-30);color:var(--on-fill);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.sim-cmd-bar-input-row{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-2);background:var(--tint-success)}.sim-cmd-bar-input{flex:1;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--success-text);border-radius:var(--r-1);font-size:var(--fs-sm)}.sim-cmd-bar-input:focus{border-color:var(--success-text)}.sim-cmd-bar-btn{background:var(--success);color:var(--on-fill);border:none;border-radius:var(--r-1);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);cursor:pointer;font-weight:var(--fw-semibold);white-space:nowrap}.sim-cmd-bar-btn:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.sim-cmd-bar-btn:not(:disabled):hover{background:var(--green-40)}.sim-cmd-bar-reasoning{padding:var(--space-2) var(--space-2);background:var(--surface-raised);font-size:var(--fs-xs);color:var(--accent-text);line-height:var(--lh-body);border-top:var(--bw) solid var(--success-text);max-height:160px;overflow-y:auto}.sim-cmd-bar-confirm{padding:var(--space-2);background:var(--tint-success);border-top:var(--bw) solid var(--success-text)}.step-guide{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--navy),var(--navy));border-bottom:var(--bw) solid color-mix(in srgb,var(--warning) 16%,transparent);flex-shrink:0}.step-guide-dots{display:flex;gap:var(--space-1);margin-bottom:var(--space-2)}.step-dot.done{background:var(--success)}.step-guide-label{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.step-guide-num{font-size:var(--fs-2xs);color:var(--text);white-space:nowrap}.step-guide-name{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--on-fill)}.step-guide-hint{font-size:var(--fs-xs);color:var(--on-fill);line-height:var(--lh-snug);margin-bottom:var(--space-2)}.step-guide-complete{font-size:var(--fs-xs);color:var(--success-text);text-align:center;padding:var(--space-1) 0}.wb-type-detail{margin-top:var(--space-2);padding:var(--space-2) var(--space-2);background:color-mix(in srgb,var(--navy) 6%,transparent);border-radius:var(--r-1);text-align:left;font-size:var(--fs-xs);color:var(--accent-text);line-height:var(--lh-body)}.wb-type-when{margin-bottom:var(--space-1)}.wb-type-steps{color:var(--navy-text);font-style:italic}.wb-method-guide{margin:0 0 var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);overflow:hidden}.wb-method-guide summary{padding:var(--space-2) var(--space-3);background:var(--panel-2);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--navy-text);list-style:none;-webkit-user-select:none;user-select:none}.wb-method-guide summary::-webkit-details-marker{display:none}.wb-method-guide[open] summary{border-bottom:var(--bw) solid var(--line)}.wb-method-guide-body{padding:var(--space-2) var(--space-4);background:var(--surface-raised);display:flex;flex-direction:column;gap:var(--space-2)}.wb-method-guide-section strong{display:block;font-size:var(--fs-sm);color:var(--navy-text);margin-bottom:var(--space-1)}.wb-method-guide-section ul{margin:0;padding-left:var(--space-4)}.wb-method-guide-section li{font-size:var(--fs-xs);color:var(--accent-text);line-height:var(--lh-body);margin-bottom:var(--space-0-5)}.pm-section{padding:var(--space-4) 0}.pm-two-col{display:grid;grid-template-columns:260px 1fr;gap:var(--space-4);align-items:start}.pm-project-list{display:flex;flex-direction:column;gap:0}.pm-project-name{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text)}.pm-project-meta{font-size:var(--fs-xs);color:var(--muted-2);margin-top:var(--space-0-5)}.pm-progress-bar{height:4px;background:var(--line-2);border-radius:var(--r-1);margin-top:var(--space-2)}.pm-progress-fill{height:100%;background:var(--success);border-radius:var(--r-1);transition:width var(--dur-slow)}.pm-due-chip{display:inline-block;border-radius:var(--r-2);padding:var(--space-px) var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);letter-spacing:var(--track-wide);line-height:var(--lh-loose);white-space:nowrap;background:var(--line-2);color:var(--muted);font-family:var(--mono)}.pm-due-chip.overdue{background:var(--tint-danger);color:var(--fau-red)}.pm-task-title{font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-1);line-height:var(--lh-tight)}.pm-task-meta{font-size:var(--fs-xs);color:var(--muted-2);display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.pm-task-assignee{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-1)}.pm-task-row-title{font-weight:var(--fw-semibold);color:var(--text)}.pm-task-row-project{font-size:var(--fs-xs);color:var(--muted-2)}.pm-inline-form{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-4) var(--space-4);margin:var(--space-2) 0}.pm-form-row{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.pm-form-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-wide)}.pm-form-input,.pm-form-select,.pm-form-textarea{padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-size:var(--fs-base);color:var(--text);background:var(--surface-raised);transition:border-color var(--dur-fast);width:100%;box-sizing:border-box}.pm-form-input:focus,.pm-form-select:focus,.pm-form-textarea:focus{border-color:var(--fau-blue);box-shadow:var(--ring)}.pm-form-textarea{resize:vertical;min-height:80px;font-family:inherit}.pm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.pm-form-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-1)}.pm-timeline{position:relative;padding-left:var(--space-6)}.pm-timeline:before{content:"";position:absolute;left:10px;top:6px;bottom:0;width:2px;background:var(--line-2)}.pm-timeline-entry{position:relative;margin-bottom:var(--space-4)}.pm-timeline-hdr{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap}.pm-timeline-author{font-weight:var(--fw-semibold);font-size:var(--fs-base);color:var(--text)}.pm-timeline-time{font-size:var(--fs-xs);color:var(--muted-2);margin-left:auto}.pm-timeline-body{font-size:var(--fs-base);color:var(--text);line-height:var(--lh-body);padding:var(--space-2) var(--space-2);background:var(--panel-2);border-radius:var(--r-3)}.pm-timeline-links{margin-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.pm-timeline-link{font-size:var(--fs-sm);color:var(--accent-text);text-decoration:none;word-break:break-all;padding:var(--space-0-5) 0}.pm-timeline-link:hover{text-decoration:underline}.pm-perf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}.pm-perf-avatar{width:40px;height:40px;border-radius:var(--r-round);background:var(--fau-blue);color:var(--on-fill);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-lg);flex-shrink:0}.pm-perf-name{font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--text)}.pm-perf-org{font-size:var(--fs-xs);color:var(--muted-2)}.pm-perf-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-top:var(--space-3)}.pm-perf-stat{background:var(--panel-2);border-radius:var(--r-3);padding:var(--space-2) var(--space-2);cursor:pointer;transition:background var(--dur-fast)}.pm-perf-stat:hover{background:var(--panel)}.pm-project-item[role=button]:focus-visible,.pm-task-row[role=button]:focus-visible,.pm-perf-stat[role=button]:focus-visible,.mtg-chip[tabindex]:focus-visible{outline:none;box-shadow:var(--ring)}.pm-perf-stat-num{font-size:var(--fs-xl);font-weight:var(--fw-heavy);color:var(--fau-blue);line-height:var(--lh-tight)}.pm-perf-stat-num.red{color:var(--danger-text)}.pm-perf-stat-num.green{color:var(--success-text)}.pm-perf-stat-label{font-size:var(--fs-2xs);color:var(--muted-2);text-transform:uppercase;letter-spacing:var(--track-wide);margin-top:var(--space-0-5)}.pm-perf-bar{height:6px;background:var(--line-2);border-radius:var(--r-1);margin-top:var(--space-2);overflow:hidden}.pm-role-select{min-height:var(--control-sm);padding:0 var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;background:var(--surface-raised);color:var(--text)}.pm-user-avatar-sm{width:28px;height:28px;border-radius:var(--r-round);background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-weight:var(--fw-bold);font-size:var(--fs-xs);flex-shrink:0}.pm-section-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.pm-section-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--text)}.pm-submission-box{background:var(--tint-success);border:var(--bw) solid var(--success-text);border-radius:var(--r-2);padding:var(--space-3) var(--space-4);margin:var(--space-2) 0}.pm-submission-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:var(--success-text);margin-bottom:var(--space-2)}.pm-submission-text{font-size:var(--fs-base);color:var(--text);line-height:var(--lh-body);white-space:pre-wrap}.pm-rejection-box{background:var(--tint-danger);border:var(--bw) solid var(--danger-text);border-radius:var(--r-2);padding:var(--space-3) var(--space-4);margin:var(--space-2) 0}.pm-rejection-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:var(--danger-text);margin-bottom:var(--space-2)}.pmr-muted{color:var(--muted);font-size:var(--fs-sm)}.pmr-desc{white-space:pre-wrap;margin:0 0 var(--space-2)}.pmr-mine{display:grid;gap:var(--space-4)}.pmr-mine__task{padding:var(--space-4)}.pmr-days{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-1)}.pmr-day{width:100%;display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-md);padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--surface-raised);color:var(--text);font:inherit;text-align:left;cursor:pointer}.pmr-day:hover{background:var(--panel-2)}.pmr-day:focus-visible{outline:none;box-shadow:var(--ring)}.pmr-day__date{min-width:9rem;font-weight:var(--fw-semibold)}.pmr-day__action{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--accent-text);font-size:var(--fs-sm)}.pmr-editor{display:grid;gap:var(--space-3)}.pmr-editor__status{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pmr-textarea{min-height:88px;resize:vertical;font-family:inherit}.pmr-files{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.pmr-file{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);background:var(--panel-2)}.pmr-file__name{font-weight:var(--fw-semibold);overflow-wrap:anywhere;flex:1 1 12rem}.pmr-preview{margin:var(--space-2) 0 0}.pmr-preview img{max-width:100%;max-height:60vh;border:var(--bw) solid var(--line);border-radius:var(--r-2);display:block}.pmr-toolbar{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.pmr-toolbar .field{min-width:10rem}.pmr-toolbar__refresh{margin-left:auto}.pmr-legend{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-3);margin:0 0 var(--space-3);padding:0;font-size:var(--fs-sm);color:var(--muted)}.pmr-legend li{display:inline-flex;align-items:center;gap:var(--space-1)}.pmr-grid-scroll{overflow-x:auto;border:var(--bw) solid var(--line);border-radius:var(--r-2)}.pmr-grid{border-collapse:collapse;font-size:var(--fs-sm);min-width:100%}.pmr-grid th,.pmr-grid td{padding:var(--space-1);text-align:center;border-bottom:var(--bw) solid var(--line-2)}.pmr-grid thead th{font-weight:var(--fw-semibold);color:var(--text);background:var(--panel-2);position:sticky;top:0}.pmr-grid__wd{display:block;font-size:var(--fs-2xs);color:var(--muted);font-weight:var(--fw-medium)}.pmr-grid__off{color:var(--muted)}.pmr-grid .pmr-grid__who{text-align:left;min-width:12rem;position:sticky;left:0;background:var(--surface-raised);z-index:1}.pmr-grid__name{display:block;font-weight:var(--fw-semibold)}.pmr-grid__who .pmr-muted{font-size:var(--fs-2xs)}.pmr-grid__share{font-weight:var(--fw-semibold)}.pmr-cell{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:var(--r-2);border:var(--bw) solid transparent;font:inherit;font-weight:var(--fw-bold);padding:0}button.pmr-cell{cursor:pointer}button.pmr-cell:focus-visible{outline:none;box-shadow:var(--ring)}.pmr-cell--submitted{background:var(--status-success-bg);color:var(--status-success-fg);border-color:var(--status-success-dot)}.pmr-cell--late{background:var(--status-warning-bg);color:var(--status-warning-fg);border-color:var(--status-warning-dot)}.pmr-cell--missing{background:var(--status-error-bg);color:var(--status-error-fg);border-color:var(--status-error-dot)}.pmr-cell--open{background:var(--status-info-bg);color:var(--status-info-fg);border-color:var(--status-info-dot)}.pmr-cell--not_due{background:transparent;border-color:var(--line-2)}.pmr-detail{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:var(--space-4)}.pmr-detail__report{display:grid;gap:var(--space-3);align-content:start}.pmr-field__label{margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--muted)}.pmr-field__text{margin:0;white-space:pre-wrap;line-height:var(--lh-body)}.pmr-activity{background:var(--panel-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);padding:var(--space-3);align-self:start;display:grid;gap:var(--space-2)}.pmr-activity__head{margin:0}.pmr-activity__sub{margin:var(--space-1) 0 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.pmr-activity__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-0-5);font-size:var(--fs-sm)}.pmr-activity__list li{display:flex;justify-content:space-between;gap:var(--space-2);overflow-wrap:anywhere}.pmr-assign{display:grid;gap:var(--space-4)}.pmr-assign>.card{padding:var(--space-4)}.pmr-form{display:grid;gap:var(--space-3);max-width:44rem}.pmr-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.pmr-people{border:var(--bw) solid var(--line-2);border-radius:var(--r-2);padding:var(--space-2) var(--space-3);display:grid;gap:var(--space-1);max-height:16rem;overflow-y:auto}.pmr-people-line{margin:var(--space-1) 0 0;font-size:var(--fs-sm)}.pmr-actions{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}.pmr-actions__until{width:11rem}@media(max-width:760px){.pmr-detail,.pmr-form__row{grid-template-columns:1fr}.pmr-day__date{min-width:0}}[data-theme=dark] .pm-project-name,[data-theme=dark] .pm-task-title,[data-theme=dark] .pm-task-row-title,[data-theme=dark] .pm-timeline-author,[data-theme=dark] .pm-perf-name,[data-theme=dark] .pm-section-title{color:var(--text)}[data-theme=dark] .pm-project-meta,[data-theme=dark] .pm-task-meta,[data-theme=dark] .pm-task-assignee,[data-theme=dark] .pm-task-row-project,[data-theme=dark] .pm-form-label,[data-theme=dark] .pm-perf-org,[data-theme=dark] .pm-perf-stat-label,[data-theme=dark] .pm-timeline-time{color:var(--muted)}[data-theme=dark] .pm-inline-form,[data-theme=dark] .pm-perf-stat,[data-theme=dark] .pm-timeline-body{background:var(--panel-2)}[data-theme=dark] .pm-inline-form{border-color:var(--line)}[data-theme=dark] .pm-timeline-body{color:var(--text)}[data-theme=dark] .pm-perf-stat:hover{background:var(--panel)}[data-theme=dark] .pm-form-input,[data-theme=dark] .pm-form-select,[data-theme=dark] .pm-form-textarea,[data-theme=dark] .pm-role-select,[data-theme=dark] .pm-btn-secondary{background:var(--panel);color:var(--text);border-color:var(--line)}[data-theme=dark] .pm-btn-secondary:hover{background:var(--panel-2)}[data-theme=dark] .pm-progress-bar,[data-theme=dark] .pm-perf-bar,[data-theme=dark] .pm-timeline:before{background:var(--line-2)}.pdp-step-chip.done{background:var(--status-success-bg);color:var(--status-success-fg)}.pdp-col-mapper .dup-map-select.mapped{border-color:var(--success-text);color:var(--success-text);background:var(--tint-success)}.pdp-draw-btn.active{background:var(--primary);color:var(--on-primary);border-color:var(--navy-text)}.pdp-draw-btn.cancel-btn{flex:0 0 auto}.pdp-draw-btn.upload-lbl{cursor:pointer}.pdp-draw-hint.active{color:var(--warning-text);font-weight:var(--fw-semibold)}.nsp-root{padding:var(--space-4)}.nsp-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-4);background:var(--navy);color:var(--on-fill);flex-shrink:0;margin-bottom:var(--space-4)}.nsp-title{font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--navy-text)}.nsp-subtitle{font-size:var(--fs-sm);color:var(--text);margin-top:var(--space-1);line-height:var(--lh-snug)}.nsp-error{background:var(--tint-danger);border:var(--bw) solid var(--danger-text);border-radius:var(--r-3);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--danger-text);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.nsp-err-close{background:none;border:none;cursor:pointer;color:var(--danger-text);font-size:var(--fs-md);padding:0}.nsp-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.nsp-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-4) var(--space-2);border:var(--bw-strong) solid var(--line);border-radius:var(--r-3);background:var(--surface-raised);cursor:pointer;transition:border-color var(--dur),box-shadow var(--dur);font-family:inherit}.nsp-card:hover:not(:disabled){border-color:var(--navy-text);box-shadow:var(--shadow)}.nsp-card:disabled,.nsp-card.locked{color:var(--on-surface-disabled);cursor:not-allowed}.nsp-card:disabled .nsp-card-icon,.nsp-card.locked .nsp-card-icon{opacity:var(--opacity-disabled)}.nsp-card-icon{font-size:var(--fs-xl);margin-bottom:var(--space-2)}.nsp-card-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text);margin-bottom:var(--space-1)}.nsp-card-desc{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug)}.nsp-card-lock{font-size:var(--fs-2xs);color:var(--warning-text);margin-top:var(--space-1)}.nsp-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.nsp-field label{display:block;font-size:var(--fs-sm);color:var(--text);margin-bottom:var(--space-1);font-weight:var(--fw-semibold)}.nsp-field input[type=file],.nsp-field input[type=number]{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);border:var(--bw) solid var(--line);border-radius:var(--r-1)}.nsp-info{background:var(--panel);border:var(--bw) solid var(--accent-text);border-radius:var(--r-3);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--accent-text);margin-bottom:var(--space-3);line-height:var(--lh-snug)}.gis-layer-panel{position:absolute;top:48px;left:8px;width:260px;max-height:calc(100% - 80px);background:var(--navy);border:var(--bw) solid color-mix(in srgb,var(--warning) 16%,transparent);border-radius:var(--r-2);display:flex;flex-direction:column;overflow:hidden;z-index:var(--z-sticky);box-shadow:var(--shadow);font-family:var(--sans);font-size:var(--fs-sm);color:var(--text);-webkit-user-select:none;user-select:none}.gis-layer-panel-hdr{display:flex;align-items:center;padding:var(--space-2) var(--space-2);background:var(--ink);border-bottom:var(--bw) solid color-mix(in srgb,var(--warning) 12%,transparent);flex-shrink:0;gap:var(--space-2)}.gis-layer-panel-title{font-weight:var(--fw-semibold);font-size:var(--fs-base);flex:1;color:var(--accent-text)}.gis-layer-panel-count{font-size:var(--fs-2xs);background:var(--veil-2);border-radius:var(--r-2);padding:var(--space-px) var(--space-2);color:var(--accent-text)}.gis-layer-panel-body{flex:1;overflow-y:auto;padding:var(--space-1) 0;scrollbar-width:thin;scrollbar-color:var(--veil-2) transparent}.gis-layer-group{border-bottom:var(--bw) solid var(--veil-1)}.gis-layer-group-hdr{display:flex;align-items:center;width:100%;padding:var(--space-1) var(--space-2);background:none;border:none;color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:var(--track-wide);text-transform:uppercase;cursor:pointer;gap:var(--space-1);text-align:left}.gis-layer-group-hdr:hover{background:var(--veil-1)}.gis-group-chevron{font-size:var(--fs-2xs)}.gis-group-label{flex:1}.gis-group-count{font-size:var(--fs-2xs);background:var(--veil-2);border-radius:var(--r-3);padding:var(--space-px) var(--space-1)}.gis-layer-check{width:var(--space-4);height:var(--space-4);margin:0;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.gis-layer-name{flex:1;font-size:var(--fs-sm);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--space-1)}.gis-layer-spinner{display:inline-block;width:10px;height:10px;border:var(--bw-strong) solid var(--veil-4);border-top-color:var(--accent-text);border-radius:var(--r-round);animation:spin var(--dur-loop-fast) linear infinite;flex-shrink:0}.gis-layer-count{font-size:var(--fs-2xs);color:var(--text);flex-shrink:0}.gis-opacity-slider{width:60px;height:3px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.gis-layer-empty{padding:var(--space-5) var(--space-4);color:var(--text);font-size:var(--fs-sm);line-height:var(--lh-body);text-align:center}.gis-ctx-menu{position:fixed;background:var(--navy);border:var(--bw) solid color-mix(in srgb,var(--warning) 24%,transparent);border-radius:var(--r-3);box-shadow:var(--shadow);z-index:var(--z-float);min-width:180px;padding:var(--space-1) 0;font-size:var(--fs-base);font-family:var(--sans);color:var(--on-chrome)}.gis-ctx-menu button{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-4);background:none;border:none;color:var(--on-chrome);cursor:pointer;font-size:var(--fs-base);text-align:left}.gis-ctx-menu button:hover{background:var(--veil-2)}.gis-ctx-menu button span:first-child{width:16px;text-align:center}.gis-ctx-danger{color:var(--danger-text)!important}.gis-ctx-sep{border-top:var(--bw) solid var(--veil-1);margin:var(--space-1) 0}.attr-panel{position:absolute;bottom:0;left:0;right:0;background:var(--surface-raised);border-top:var(--bw-strong) solid var(--navy-text);z-index:var(--z-dropdown);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);font-family:var(--sans);font-size:var(--fs-sm)}.attr-resize-handle{height:4px;background:var(--panel-2);cursor:row-resize;flex-shrink:0;transition:background var(--dur)}.attr-resize-handle:hover{background:var(--primary);color:var(--on-primary)}.attr-panel-hdr{display:flex;align-items:center;padding:var(--space-1) var(--space-2);background:var(--panel-2);border-bottom:var(--bw) solid var(--line);gap:var(--space-2);flex-shrink:0;flex-wrap:wrap}.attr-panel-title{font-weight:var(--fw-semibold);color:var(--navy-text);font-size:var(--fs-base);white-space:nowrap}.attr-panel-count{font-size:var(--fs-xs);color:var(--text);white-space:nowrap}.attr-filter{flex:1;min-width:160px;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-family:inherit;background:var(--surface-raised);color:var(--accent-text)}.attr-filter:focus{border-color:var(--navy-text)}.attr-btn{padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--surface-raised);cursor:pointer;font-family:inherit;white-space:nowrap;color:var(--accent-text)}.attr-btn:hover{background:var(--panel-2)}.attr-btn--close{color:var(--fau-red);border-color:var(--danger-text)}.attr-btn--close:hover{background:var(--tint-danger)}.attr-stats-bar{padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);background:var(--panel);color:var(--accent-text);border-bottom:var(--bw) solid var(--line-2);flex-shrink:0}.attr-panel-body{flex:1;overflow:auto;min-height:0}.attr-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.attr-th{position:sticky;top:0;background:var(--panel-2);padding:var(--space-1) var(--space-2);text-align:left;font-weight:var(--fw-semibold);color:var(--text);border-bottom:var(--bw-strong) solid var(--line);border-right:var(--bw) solid var(--line);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.attr-th:hover{background:var(--panel-2)}.attr-th.sorted{background:var(--panel-2);color:var(--accent-text)}.attr-th--idx{width:36px;cursor:default}.attr-sort-icon{font-size:var(--fs-2xs)}.attr-td{padding:var(--space-1) var(--space-2);border-bottom:var(--bw) solid var(--line-2);border-right:var(--bw) solid var(--line-2);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-text)}.attr-td--idx{color:var(--text);font-size:var(--fs-xs);text-align:right}.attr-row--selected .attr-td,tr:hover .attr-td{background:var(--panel-2)}.attr-row--selected:hover .attr-td{background:var(--tint-accent)}.attr-cell-input{width:100%;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);border:var(--bw-strong) solid var(--accent-text);border-radius:0;font-family:inherit;background:var(--surface-raised);color:var(--accent-text)}.attr-cell-input:focus{box-shadow:var(--ring)}.attr-empty{padding:var(--space-4);text-align:center;color:var(--text);font-size:var(--fs-sm)}.import-btn-group{position:relative;display:inline-flex}.import-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--panel);border:var(--bw) dashed var(--accent-text);border-radius:var(--r-2);color:var(--accent-text);font-size:var(--fs-base);font-family:var(--sans);cursor:pointer;transition:background var(--dur)}.import-btn:hover:not(:disabled){background:var(--panel-2)}.import-btn:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.import-btn-caret{font-size:var(--fs-2xs)}.import-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--surface-raised);border:var(--bw) solid var(--line);border-radius:var(--r-2);box-shadow:var(--shadow);z-index:var(--z-dropdown);min-width:200px;padding:var(--space-1) 0}.import-menu-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;font-size:var(--fs-base);font-family:var(--sans);color:var(--accent-text);cursor:pointer;text-align:left}.import-menu-item:hover{background:var(--panel-2)}.import-menu-icon{font-size:var(--fs-md)}.import-menu-hint{font-size:var(--fs-xs);color:var(--text);margin-left:auto}.import-btn-compact{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-3);background:var(--panel);border:var(--bw) solid var(--accent-text);border-radius:var(--r-1);font-size:var(--fs-sm);color:var(--accent-text);cursor:pointer}.import-spinner{width:10px;height:10px;border:var(--bw-strong) solid var(--line-2);border-top-color:var(--accent-text);border-radius:var(--r-round);animation:spin var(--dur-loop-fast) linear infinite;display:inline-block}.skip-step-banner{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,var(--panel),var(--tint-success));border:var(--bw) solid var(--accent-text);border-radius:var(--r-2);margin-bottom:var(--space-3);font-size:var(--fs-base)}.skip-step-icon{font-size:var(--fs-lg)}.skip-step-text{flex:1;color:var(--accent-text)}.skip-step-text strong{display:block;font-size:var(--fs-base);color:var(--accent-text)}.skip-step-text span{color:var(--accent-text);font-size:var(--fs-sm)}.app-statusbar{flex:none;height:var(--statusbar-h);display:grid;align-items:center;gap:var(--space-5);grid-template-columns:minmax(max-content,1fr) minmax(0,max-content) minmax(max-content,1fr);padding:0 var(--space-4);background:var(--ink);border-top:var(--bw) solid var(--veil-2);color:var(--on-chrome);font-size:var(--fs-sm)}.app-statusbar-left,.app-statusbar-right{display:flex;align-items:center;gap:var(--space-2)}.app-statusbar-right{justify-content:flex-end;gap:var(--space-3)}.app-statusbar-rule{width:var(--bw);height:var(--space-4);background:var(--veil-3);flex:none}.app-statusbar-mid{display:flex;align-items:center;justify-content:center;min-width:0;color:var(--on-chrome);overflow:hidden}.app-statusbar-insight{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-statusbar-ctx{color:var(--on-chrome)}.app-statusbar-kbd{display:flex;align-items:center;gap:var(--space-1);background:var(--veil-2);border:var(--bw) solid var(--veil-3);color:var(--on-chrome);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2)}.app-statusbar-ver{color:var(--on-chrome)}.app-statusbar-link{display:inline-flex;align-items:center;background:none;border:none;color:var(--on-chrome);font-size:var(--fs-sm);cursor:pointer;min-height:var(--control-sm);padding:0 var(--space-1);border-radius:var(--r-1)}.app-statusbar-link:hover{color:var(--on-fill)}.app-statusbar-link.on{color:var(--on-fill);text-decoration:underline;text-underline-offset:3px}.app-statusbar-ai-btn{display:flex;align-items:center;gap:var(--space-1);background:var(--veil-2);border:var(--bw) solid var(--veil-3);color:var(--on-chrome);font-size:var(--fs-xs);font-weight:var(--fw-semibold);min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--r-2);cursor:pointer;transition:background var(--dur),border-color var(--dur)}.app-statusbar-ai-btn:hover{background:var(--veil-4);border-color:var(--veil-5);color:var(--on-fill)}@media(max-width:640px){.app-statusbar{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-3);padding:0 var(--space-3)}.app-statusbar-mid,.app-statusbar-kbd,.app-statusbar-ver,.app-statusbar-left .app-statusbar-link{display:none}.app-statusbar-left{min-width:0;overflow:hidden}.app-statusbar-ctx{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-statusbar-right{gap:var(--space-2);min-width:0}.app-statusbar-ai-btn>span{display:none}.app-statusbar-link{padding:0 var(--space-0-5);white-space:nowrap}}.help-footer-popup{position:fixed;bottom:40px;right:160px;width:300px;background:var(--navy);border:var(--bw) solid var(--veil-4);border-radius:var(--r-3);box-shadow:var(--shadow);padding:var(--space-3) var(--space-4) var(--space-2);z-index:var(--z-float);animation:footerPopupIn var(--dur-slow) cubic-bezier(.22,1,.36,1)}@keyframes footerPopupIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.help-footer-popup-body{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--on-chrome);font-size:var(--fs-base);line-height:var(--lh-snug);margin-bottom:var(--space-2)}.help-footer-popup-body span{flex:1}.help-footer-popup-close{flex-shrink:0;background:none;border:none;color:var(--on-chrome);font-size:var(--fs-base);cursor:pointer;padding:0 var(--space-0-5);line-height:var(--lh-tight);margin-top:var(--space-px)}.help-footer-popup-close:hover{color:var(--on-fill)}.help-footer-popup-ask{display:block;width:100%;background:var(--veil-3);border:var(--bw) solid var(--veil-4);color:var(--on-chrome);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);cursor:pointer;text-align:center;transition:background var(--dur)}.help-footer-popup-ask:hover{background:var(--veil-4);color:var(--on-fill)}.build-step-title{font-family:var(--display);font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0 0 var(--space-3);letter-spacing:var(--track-tight)}.cascade-results-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.cascade-results-table th{text-align:left;padding:var(--space-2) var(--space-2);border-bottom:var(--bw-strong) solid var(--line);font-weight:var(--fw-bold);color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-wide)}.cascade-results-table td{padding:var(--space-2) var(--space-2);border-bottom:var(--bw) solid var(--line-2)}.cascade-results-table tr:last-child td{border-bottom:none}.gis-layer-group-body{padding-left:var(--space-2)}.kanban-wrap{height:100%;overflow-x:auto;display:flex;gap:var(--space-4);padding:var(--space-5)}.mtgs{padding:var(--space-5)}.param-warn{color:var(--gold-text);font-size:var(--fs-sm);display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1)}.sim-atlas14-badge{display:inline-flex;align-items:center;gap:var(--space-1);background:color-mix(in srgb,var(--accent) 12%,var(--panel));border:var(--bw) solid color-mix(in srgb,var(--accent) 30%,var(--line));color:var(--accent-text);font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--space-1) var(--space-2);border-radius:var(--r-3)}.sim-atlas14-hint{font-size:var(--fs-sm);color:var(--muted);margin:var(--space-1) 0 0;line-height:var(--lh-snug)}.sim-atlas14-note{font-size:var(--fs-sm);color:var(--muted);padding:var(--space-2) var(--space-2);background:var(--panel-2);border-left:var(--bw-accent) solid var(--accent);border-radius:0 var(--r-2) var(--r-2) 0;margin-bottom:var(--space-2)}.sim-compat-warn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--gold) 10%,var(--panel));border:var(--bw) solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:var(--r-2);font-size:var(--fs-base);color:var(--text);margin-bottom:var(--space-2)}.sw-info-box{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-size:var(--fs-base);color:var(--muted);margin-bottom:var(--space-3);line-height:var(--lh-body)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-5);animation:fade var(--dur) ease}.modal-box{width:var(--modal-w);max-width:100%;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-5);box-shadow:var(--shadow-lg);overflow:hidden;animation:cmdkin var(--dur-slow) cubic-bezier(.2,.7,.3,1)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-3);border-bottom:var(--bw) solid var(--line-2);font-weight:var(--fw-bold);font-size:var(--fs-md)}.modal-x{width:var(--control-sm);height:var(--control-sm);flex:none;border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--muted);font-size:var(--fs-base);display:grid;place-items:center}.modal-x:hover{border-color:var(--danger);color:var(--danger)}.modal-body{padding:var(--space-4) var(--space-4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.modal-foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:var(--bw) solid var(--line-2);background:var(--panel-2)}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--muted);display:block;margin-bottom:var(--space-1)}.field-input{width:100%;padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);font-family:inherit;font-size:var(--fs-base);background:var(--panel-2);color:var(--text);box-sizing:border-box}.field-input:focus{border-color:var(--accent-text);background:var(--surface-raised);box-shadow:var(--ring)}.mtgs-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.mtgs-list{display:flex;flex-direction:column;gap:var(--space-2)}button.mtg-card{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.mtg-card-top{display:flex;align-items:center;gap:var(--space-2);width:100%}.mtg-card-title{font-family:var(--display);font-weight:var(--fw-semibold);font-size:var(--fs-md)}.mtg-card-project{font-size:var(--fs-sm);color:var(--accent-text);font-weight:var(--fw-semibold)}.mtg-card-date{font-size:var(--fs-sm);color:var(--muted)}.mtg-card-meta{font-size:var(--fs-sm);color:var(--muted-2)}.mtg-chip{display:inline-flex;padding:var(--space-1) var(--space-2);border-radius:var(--r-5);background:var(--panel-2);border:var(--bw) solid var(--line);font-size:var(--fs-sm);color:var(--text)}.drawer-meta-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5) var(--space-4);border-bottom:var(--bw) solid var(--line-2)}.drawer-text{font-size:var(--fs-base);line-height:var(--lh-loose);color:var(--text);margin:0}.drawer-list{padding-left:var(--space-5);margin:0;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--fs-base);line-height:var(--lh-body)}.mtg-action-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;border-bottom:var(--bw) solid var(--line-2);gap:var(--space-3)}.msgs{display:flex;grid-template-columns:280px 1fr;gap:0;height:100%;max-height:calc(100vh - 230px);border:var(--bw) solid var(--line);border-radius:var(--r-4);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-sm)}.msg-threads{border-right:var(--bw) solid var(--line-2);display:flex;flex-direction:column;min-height:0;background:var(--panel-2);width:240px;flex:none}.msg-threads-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) var(--space-2);border-bottom:var(--bw) solid var(--line-2);font-weight:var(--fw-bold);font-size:var(--fs-base)}.msg-thread-list{flex:1;overflow-y:auto}.msg-thread-empty{padding:var(--space-5) var(--space-4);font-size:var(--fs-base);color:var(--muted-2);text-align:center}.msg-thread{width:100%;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:none;background:none;border-bottom:var(--bw) solid var(--line-2);text-align:left;transition:var(--dur-fast)}.msg-thread:hover{background:var(--panel)}.msg-thread.on{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.msg-thread-ico{width:28px;height:34px;flex:none;border-radius:var(--r-3);display:grid;place-items:center;font-weight:var(--fw-bold);font-size:var(--fs-md);text-align:center}.msg-thread-body{flex:1;min-width:0}.msg-thread-name{font-size:var(--fs-base);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-thread-last{font-size:var(--fs-sm);color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:var(--space-0-5)}.msg-conv{display:flex;flex-direction:column;min-height:0;min-width:0;flex:1;overflow:hidden;background:var(--panel)}.msg-conv-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--line-2)}.msg-conv-id{display:flex;align-items:center;gap:var(--space-2);min-width:0}.msg-conv-name{font-family:var(--display);font-weight:var(--fw-bold);font-size:var(--fs-md)}.msg-conv-sub{font-size:var(--fs-sm);color:var(--muted-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:var(--space-px)}.msg-stream{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.msg-stream-empty{text-align:center;color:var(--muted-2);font-size:var(--fs-base);margin:auto}.msg-avatar-chip{width:28px;height:28px;border-radius:var(--r-round);background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-bold);flex:none}.msg-compose{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:var(--bw) solid var(--line-2);background:var(--panel)}.msg-compose-input{flex:1;padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);font-family:inherit;font-size:var(--fs-base);background:var(--panel-2);color:var(--text);resize:none;max-height:100px}.msg-compose-input:focus{border-color:var(--accent-text);background:var(--panel)}.msg-send{flex:none;background:var(--primary);color:var(--on-primary);border:none;font-weight:var(--fw-bold);font-size:var(--fs-base);padding:var(--space-2) var(--space-4);border-radius:var(--r-3);transition:var(--dur)}@media(min-width:1440px){:root{--sidebar-w: clamp(376px, 22vw, 480px);--dock-w: clamp(416px, 22vw, 480px);--picker-w: 900px;--nav-h: 66px;--modal-w: 520px;--modal-wide-w: 680px;--cmdk-w: 720px;--rail-w: clamp(280px, 18vw, 380px)}.rail-kicker{font-size:var(--fs-sm)}.rail-view-toggle button{font-size:var(--fs-base);padding:var(--space-1) 0}.rail-progress{padding:var(--space-5) var(--space-5) var(--space-4)}.layer-row{font-size:var(--fs-md);padding:var(--space-3) var(--space-3) var(--space-2);gap:var(--space-2)}.layer-row-aoi{padding-bottom:var(--space-3)}.layer-swatch{width:20px;height:20px}.layer-eye{width:var(--control-sm);height:var(--control-sm);font-size:var(--fs-2xs)}.layer-type-chip{font-size:var(--fs-xs);padding:var(--space-0-5) var(--space-2)}.layer-act-btn{font-size:var(--fs-base);padding:var(--space-1) var(--space-2)}.layer-filter-input{font-size:var(--fs-base)}.layer-filter-count{font-size:var(--fs-sm)}.nb-row{font-size:var(--fs-md);gap:var(--space-2)}.sim-row{font-size:var(--fs-base)}.step{padding:var(--space-3) var(--space-5)}.step-name{font-size:var(--fs-md)}.step-sub{font-size:var(--fs-sm)}.substep{font-size:var(--fs-base)}.phase-hdr{font-size:var(--fs-xs);padding:var(--space-2) var(--space-5) var(--space-1)}.steppanel-head h2{font-size:var(--fs-xl)}.steppanel-head{padding:var(--space-4) var(--space-5) var(--space-3)}.steppanel-ctx{font-size:var(--fs-sm)}.sp-scroll{padding:var(--space-4) var(--space-5) var(--space-5)}.sp-block-label{font-size:var(--fs-xs);letter-spacing:var(--track-caps)}.sp-ds-label{font-size:var(--fs-base)}.sp-ds-desc{font-size:var(--fs-xs)}.sp-ds-card{padding:var(--space-2) var(--space-3);gap:var(--space-2)}.wf-type-label{font-size:var(--fs-base)}.wf-type-icon{font-size:var(--fs-2xl)}.wf-type-btn{padding:var(--space-3) var(--space-2) var(--space-2)}.steppanel-nav-btn{font-size:var(--fs-base);padding:var(--space-2) var(--space-3)}.vtab{font-size:var(--fs-base);padding:var(--space-2) var(--space-4)}.mini-expand{width:var(--control-md);height:var(--control-md);font-size:var(--fs-xl)}.disc-head h2{font-size:var(--fs-2xl)}.disc-head p{font-size:var(--fs-base)}.dstat strong{font-size:var(--fs-lg)}.disc-tabs button{font-size:var(--fs-md);padding:var(--space-2)}.wb-head h1{font-size:var(--fs-xl)}.proj-name{font-size:var(--fs-lg)}.proj-card{padding:var(--space-5)}.nav-tabs button{font-size:var(--fs-md);padding:0 var(--space-5)}.nav-brand{font-size:var(--fs-xl)}.dock-tabs>button{font-size:var(--fs-md)}}@media(min-width:1920px){:root{--sidebar-w: clamp(420px, 24vw, 520px);--dock-w: clamp(440px, 26vw, 560px);--picker-w: 1100px;--nav-h: 70px;--modal-w: 600px;--modal-wide-w: 800px;--cmdk-w: 820px;--rail-w: clamp(300px, 16vw, 420px)}.layer-row{font-size:var(--fs-md);padding:var(--space-3) var(--space-4) var(--space-2)}.layer-swatch{width:22px;height:22px}.layer-eye{width:var(--control-sm);height:var(--control-sm);font-size:var(--fs-xs)}.layer-act-btn{font-size:var(--fs-base)}.nb-row{font-size:var(--fs-md)}.steppanel-head h2{font-size:var(--fs-xl)}.sp-block-label{font-size:var(--fs-sm)}.sp-ds-label,.wf-type-label{font-size:var(--fs-md)}.wf-type-icon{font-size:var(--fs-xl)}.disc-head h2,.dstat strong,.wb-head h1{font-size:var(--fs-2xl)}.proj-name{font-size:var(--fs-xl)}.step-name{font-size:var(--fs-md)}.step-sub,.substep{font-size:var(--fs-base)}.nav-tabs button{font-size:var(--fs-md)}}@media(min-width:2560px){:root{--sidebar-w: clamp(460px, 20vw, 600px);--dock-w: clamp(480px, 22vw, 640px);--picker-w: 1300px;--nav-h: 76px;--modal-w: 680px;--modal-wide-w: 900px;--cmdk-w: 920px;--rail-w: clamp(320px, 14vw, 480px)}.disc-head h2{font-size:var(--fs-3xl)}.dstat strong{font-size:var(--fs-2xl)}.wb-head h1{font-size:var(--fs-3xl)}.proj-name{font-size:var(--fs-xl)}.proj-card{padding:var(--space-5)}.step{padding:var(--space-3) var(--space-5)}.step-name{font-size:var(--fs-lg)}.step-sub,.substep{font-size:var(--fs-md)}.phase-hdr{font-size:var(--fs-xs)}.nav-tabs button{font-size:var(--fs-lg);padding:0 var(--space-5)}.nav-brand{font-size:var(--fs-xl)}.nav-theme-toggle{width:40px;height:40px}.steppanel-head h2{font-size:var(--fs-2xl)}.sp-block-label{font-size:var(--fs-base)}.sp-ds-label{font-size:var(--fs-md)}.nb-row{font-size:var(--fs-lg)}.modal{padding:var(--space-7)}}@media(max-width:1439px){:root{--rail-w: 240px;--sidebar-w: 280px;--dock-w: 328px}}@media(min-width:1440px)and (max-width:1599px){:root{--rail-w: 256px;--sidebar-w: 304px;--dock-w: 360px}}@media(max-width:1599px){.rail,.dock,.disc,.results{--fs-2xl: 24px;--fs-xl: 20px;--fs-lg: 18px;--fs-md: 16px;--space-5: 16px;--space-6: 24px}}.msg-send:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.pypilot-proposals{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0}.pypilot-proposals-footer{display:flex;justify-content:flex-end;padding:var(--space-1) 0 0}.pypilot-proposal{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);overflow:hidden}.pypilot-proposal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);gap:var(--space-2)}.pypilot-proposal-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pypilot-proposal-lang{font-size:var(--fs-2xs);font-weight:var(--fw-bold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-5);background:var(--tint-accent-md);color:var(--accent-text);text-transform:uppercase;letter-spacing:var(--track-wide);flex-shrink:0}.pypilot-proposal-preview{padding:0 var(--space-3) var(--space-2);font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);white-space:pre;overflow:hidden;max-height:64px;line-height:var(--lh-body)}.pypilot-proposal-actions{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2);border-top:var(--bw) solid var(--line)}.pypilot-insert-btn{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--accent);color:var(--accent-text);background:none;cursor:pointer;transition:background var(--dur-fast)}.pypilot-insert-all{font-size:var(--fs-sm);padding:var(--space-1) var(--space-4);border-radius:var(--r-2);border:none;background:var(--primary);color:var(--on-primary);cursor:pointer;transition:filter var(--dur-fast)}[data-theme=dark] .pypilot-proposal{background:var(--navy);border-color:var(--veil-3)}[data-theme=dark] .pypilot-proposal-preview{color:var(--text)}.pypilot-clarify{background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-3) var(--space-4);margin:var(--space-1) 0}.pypilot-clarify-q{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-2);line-height:var(--lh-snug)}.pypilot-clarify-opts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pypilot-clarify-opt{font-size:var(--fs-sm);padding:var(--space-1) var(--space-3);border-radius:var(--r-5);border:var(--bw) solid var(--accent);color:var(--accent-text);background:none;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.pypilot-clarify-opt--selected{background:var(--navy);color:var(--on-fill);border-color:var(--accent-text)}[data-theme=dark] .pypilot-clarify{background:var(--navy);border-color:var(--veil-3)}[data-theme=dark] .pypilot-clarify-q{color:var(--text)}.pypilot-cursor{display:inline-block;width:7px;height:13px;background:var(--accent);border-radius:var(--r-1);margin-left:var(--space-0-5);vertical-align:text-bottom;animation:pypilot-blink var(--dur-loop-fast) step-end infinite}@keyframes pypilot-blink{50%{opacity:0}}.pypilot-plan{background:var(--panel-2);border:var(--bw) solid var(--accent);border-radius:var(--r-4);overflow:hidden;margin:var(--space-2) 0}.pypilot-plan-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2);border-bottom:var(--bw) solid var(--line)}.pypilot-plan-icon{font-size:var(--fs-md);flex-shrink:0}.pypilot-plan-title{font-size:var(--fs-base);font-weight:var(--fw-bold);color:var(--text)}.pypilot-plan-steps{list-style:none;margin:0;padding:var(--space-2) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2)}.pypilot-plan-step{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--fs-base);color:var(--text);line-height:var(--lh-snug)}.pypilot-plan-step-num{flex-shrink:0;width:18px;height:18px;border-radius:var(--r-round);background:var(--tint-accent-md);color:var(--accent-text);font-size:var(--fs-2xs);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;margin-top:var(--space-px)}.pypilot-plan-step--done .pypilot-plan-step-num{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success-text)}.pypilot-plan-step--running .pypilot-plan-step-num{background:var(--status-running-bg);color:var(--status-running-fg)}.pypilot-plan-footer{display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-3);justify-content:flex-end}.pypilot-plan-confirm{font-size:var(--fs-sm);padding:var(--space-1) var(--space-4);border-radius:var(--r-2);border:none;background:var(--primary);color:var(--on-primary);cursor:pointer;font-weight:var(--fw-semibold)}.pypilot-plan-confirm:hover{opacity:var(--opacity-hover)}.pypilot-plan-cancel{font-size:var(--fs-sm);padding:var(--space-1) var(--space-3);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:none;color:var(--muted);cursor:pointer}.pypilot-action-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--muted);padding:var(--space-1) 0}.pypilot-action-row--done{color:var(--success-text)}.pypilot-action-row--error{color:var(--danger-text)}.pypilot-widget{background:var(--panel-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:var(--r-4);padding:var(--space-3) var(--space-4);margin:var(--space-2) 0}.pypilot-widget--done{border-color:var(--line)}.pypilot-widget-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-1);line-height:var(--lh-snug)}.pypilot-widget-note{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--space-2);line-height:var(--lh-snug)}.pypilot-widget-opts{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.pypilot-widget-opt{font-size:var(--fs-sm);padding:var(--space-2) var(--space-4);border-radius:var(--r-5);border:var(--bw) solid var(--accent);color:var(--accent-text);background:none;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.pypilot-widget-opt:disabled{cursor:default;color:var(--on-surface-disabled)}.pypilot-widget-opt--selected{background:var(--navy);color:var(--on-fill);border-color:var(--accent-text);opacity:1}.pypilot-widget-form{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.pypilot-widget-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--fs-sm);color:var(--muted)}.pypilot-widget-field input{font-size:var(--fs-base);padding:var(--space-2) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--text)}.pypilot-widget-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);color:var(--text);cursor:pointer}.pypilot-widget-confirm{align-self:flex-start;margin-top:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-4);border-radius:var(--r-2);border:none;background:var(--primary);color:var(--on-primary);cursor:pointer}.pypilot-widget-resolved{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--success-text)}.pypilot-widget-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.pypilot-widget-head .pypilot-widget-title{flex:1;margin-bottom:0}.pypilot-widget-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--muted);font-size:var(--fs-base);line-height:var(--lh-tight);padding:var(--space-px) var(--space-1);border-radius:var(--r-2)}.pypilot-widget-dismiss:hover{color:var(--text);background:var(--tint-accent-md)}.pypilot-widget-open{align-self:flex-start;margin-top:var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);padding:var(--space-2) var(--space-4);border-radius:var(--r-2);border:var(--bw) solid var(--accent);color:var(--accent-text);background:none;cursor:pointer}.pypilot-widget-closed{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--muted)}[data-theme=dark] .pypilot-widget{background:var(--navy)}.pp-status-strip{margin:var(--space-2) var(--space-3) var(--space-0-5);padding:var(--space-2) var(--space-3);border-radius:var(--r-3);background:var(--panel-2);border:var(--bw) solid var(--line)}.pp-status-head{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-wide);margin-bottom:var(--space-2)}.pp-status-stages{display:flex;flex-wrap:wrap;gap:var(--space-1)}.pp-stage{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-5);border:var(--bw) solid var(--line);color:var(--muted)}.pp-stage i{font-style:normal;font-size:var(--fs-2xs)}.pp-stage--done{color:var(--success-text);border-color:color-mix(in srgb,var(--success) 45%,transparent);background:color-mix(in srgb,var(--success) 10%,transparent)}.pp-stage--ready{color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.pp-stage--locked{color:var(--muted)}[data-theme=dark] .pp-status-strip{background:var(--navy)}.pp-cells{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0}.pp-cell{border:var(--bw) solid var(--line);border-radius:var(--r-2);overflow:hidden;background:var(--panel)}.pp-cell-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);background:var(--panel-2)}.pp-cell-lang{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted)}.pp-cell-code{margin:0;padding:var(--space-2) var(--space-2);font-family:var(--mono);font-size:var(--fs-xs);line-height:var(--lh-snug);white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;color:var(--text)}[data-theme=dark] .pp-cell{background:var(--navy)}.pp-cells-kicker{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted)}.pp-cell-actions{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-2)}.pp-cell-done{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-2);font-size:var(--fs-xs);color:var(--muted)}.pp-modes{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);margin-bottom:var(--space-2)}.pp-mode{padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);background:none;color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer}.pp-mode--on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.pp-mode:disabled{opacity:.6;cursor:default}.pp-mode-hint{flex-basis:100%;font-size:var(--fs-2xs);color:var(--muted)}.nb-cell-wrap--target>.nb-cell{box-shadow:inset 3px 0 0 var(--primary)}.pypilot-pending-action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 8%,var(--panel));font-size:var(--fs-sm);color:var(--text)}.pypilot-pending-action-label{flex:1;font-weight:var(--fw-medium)}.pypilot-pending-action-btns{display:flex;gap:var(--space-2);flex-shrink:0}.pypilot-pending-apply{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:none;background:var(--primary);color:var(--on-primary);cursor:pointer;font-weight:var(--fw-semibold)}.pypilot-pending-apply:hover{opacity:var(--opacity-hover)}.pypilot-pending-skip{font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:none;color:var(--muted);cursor:pointer}.pypilot-pending-skip:hover{background:var(--panel-2)}.pypilot-mode-toggle{display:inline-flex;align-items:center;border-radius:var(--r-5);border:var(--bw) solid var(--line);background:var(--panel-2);overflow:hidden;height:var(--control-sm)}.pypilot-mode-seg{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-semibold);cursor:pointer;border:none;background:none;color:var(--muted);white-space:nowrap;height:100%;transition:background var(--dur),color var(--dur)}.pypilot-mode-seg svg{flex-shrink:0}.pypilot-mode-seg--active{background:var(--primary);color:var(--on-primary);border-radius:var(--r-2)}.pypilot-mode-seg:not(.pypilot-mode-seg--active):hover{color:var(--text)}[data-theme=dark] .pypilot-plan{background:var(--navy);border-color:var(--accent-text)}[data-theme=dark] .pypilot-plan-title{color:var(--text)}[data-theme=dark] .pypilot-plan-step{color:var(--accent-text)}.workbench{display:flex;flex-direction:column;height:100%;padding:var(--gap);background:var(--bg)}.workbench-head{margin-bottom:var(--space-5)}.workbench-head h1{font-size:var(--fs-xl);font-weight:var(--fw-bold);margin:0 0 var(--space-1) 0;color:var(--text)}.workbench-head p{font-size:var(--fs-md);color:var(--muted);margin:0}.notebooks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4);flex:1}.notebook-card:hover{border-color:var(--accent-text);box-shadow:var(--shadow)}.notebook-card--new{justify-content:center;align-items:center;text-align:center;gap:var(--space-2)}button.notebook-card--new{font:inherit;color:inherit;width:100%;text-align:left}.notebook-card-icon{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--accent-text)}.notebook-card-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-snug)}.notebook-card-desc{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}.notebook-card-meta{font-size:var(--fs-xs);color:var(--muted-2);margin-top:auto}.create-form{display:flex;flex-direction:column;gap:var(--space-4);max-width:480px;padding:var(--gap)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.form-group input,.form-group select{padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel);color:var(--text);font-family:var(--sans);font-size:var(--fs-base)}.form-group input:focus,.form-group select:focus{border-color:var(--accent-text);box-shadow:var(--ring)}.form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.notebook-editor{display:flex;flex-direction:column;height:100%;background:var(--bg)}.notebook-top-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--gap);border-bottom:var(--bw) solid var(--line);background:var(--panel)}.notebook-title{flex:1}.notebook-title h2{margin:0;font-size:var(--fs-xl);color:var(--text)}.notebook-actions{display:flex;gap:var(--space-2)}.notebook-container{display:flex;flex:1;gap:var(--gap);padding:var(--gap);overflow:hidden}.notebook-main{flex:1;display:flex;flex-direction:column;overflow-y:auto}.cell{background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);overflow:hidden;box-shadow:var(--shadow-sm)}.cell-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--line);background:color-mix(in srgb,var(--navy) 8%,var(--panel))}.cell-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.cell-type{font-size:var(--fs-2xs);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent-text)}.cell-body{padding:var(--space-3)}.cell-body pre{margin:0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text);background:var(--bg);padding:var(--space-2);border-radius:var(--r-1);overflow-x:auto}.cell-body pre.code{background:var(--ink);color:var(--text);padding:var(--space-3)}.add-cell{display:flex;justify-content:center;padding:var(--space-4) 0}.btn{background:var(--primary);color:var(--on-primary)}.error-banner{padding:var(--space-3);background:var(--tint-danger);border:var(--bw) solid var(--tint-danger-md);border-radius:var(--r-3);color:var(--danger);font-size:var(--fs-base);margin-bottom:var(--gap)}.loading{padding:var(--space-5);text-align:center;color:var(--muted);font-size:var(--fs-md)}.sidebar-tabs{display:flex;gap:var(--space-1);border-bottom:var(--bw) solid var(--line);background:var(--panel-2);padding:var(--space-2)}h1.nb-header-title,h2.nbl-head-title,.browser-head h2,.nb-files-head h2,h3.nb-jobs-head{margin:0}.sidebar-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.browser-panel{display:flex;flex-direction:column;height:100%}.browser-head{padding:var(--space-3);border-bottom:var(--bw) solid var(--line)}.browser-head h3,.browser-head h2{margin:0 0 var(--space-1) 0;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.browser-head p{margin:0;font-size:var(--fs-xs);color:var(--muted)}.items-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2)}.item{padding:var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-3);background:var(--panel);cursor:pointer;transition:all var(--dur)}.item:hover{border-color:var(--accent-text)}.item--btn{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:none;cursor:pointer}.item-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);margin-bottom:var(--space-0-5)}.item-meta{font-size:var(--fs-sm);color:var(--muted-2)}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--fs-sm);padding:var(--space-4);text-align:center}.notebook-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--r-3);background:var(--panel);border:var(--bw) solid var(--line);cursor:pointer;transition:all var(--dur-slow);box-shadow:var(--shadow-sm);position:relative}.notebook-card-tag{display:inline-block;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--navy) 10%,var(--panel));color:var(--navy-text);align-self:flex-start}.notebook-card-del{position:absolute;top:var(--space-3);right:var(--space-3);background:transparent;color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--dur),background var(--dur)}.notebook-card:hover .notebook-card-del,.notebook-card:focus-within .notebook-card-del{opacity:1}.notebook-card-del:hover{background:var(--tint-danger);color:var(--danger-text)}.notebook-editor .nb-header{flex-wrap:wrap;row-gap:var(--space-2)}.notebook-shell{display:flex;height:100%;min-height:0;background:var(--bg)}.notebook-content{flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column}.notebook-content>.workbench,.notebook-content>.notebook-editor{flex:1 1 auto;min-height:0}.notebook-content>.workbench{overflow-y:auto}.notebook-left{position:relative;flex:0 0 auto;width:272px;min-width:0;display:flex;flex-direction:column;background:var(--panel);border-right:var(--bw) solid var(--line)}.notebook-left--collapsed{width:40px;align-items:center;padding-top:var(--space-2);gap:var(--space-2)}@media(max-width:640px){.notebook-left:not(.notebook-left--collapsed){width:220px}.notebooks-grid{grid-template-columns:1fr}}.nbl-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-2) var(--space-4)}.nbl-head-title{flex:1;font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--text);letter-spacing:var(--track-wide);text-transform:uppercase}.nbl-count{display:inline-block;margin-left:var(--space-2);padding:0 var(--space-2);min-width:18px;border-radius:var(--r-5);background:var(--tint-accent-md);color:var(--accent-text);font-size:var(--fs-2xs);line-height:var(--lh-tight);text-align:center;text-transform:none}.nbl-new{border:var(--bw) solid color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--tint-accent);color:var(--accent-text);font-weight:var(--fw-semibold);font-size:var(--fs-xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);cursor:pointer;white-space:nowrap}.nbl-collapse{background:transparent;color:var(--muted-2);cursor:pointer}.nbl-collapse:hover{color:var(--text)}.nbl-vlabel{writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted-2);margin-top:var(--space-2)}.nbl-tools{display:flex;gap:var(--space-2);padding:0 var(--space-2) var(--space-2) var(--space-4)}.nbl-search{flex:1;min-width:0;padding:var(--space-2) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel-2);color:var(--text);font-size:var(--fs-xs)}.nbl-search:focus{border-color:var(--accent-text);box-shadow:var(--ring)}.nbl-sort{padding:var(--space-1) var(--space-1);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--muted);font-size:var(--fs-xs);max-width:82px}.nbl-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 var(--space-2) var(--space-3)}.nbl-group+.nbl-group{margin-top:var(--space-2)}.nbl-group-label{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--muted-2);padding:var(--space-2) var(--space-2) var(--space-1)}.nbl-empty{padding:var(--space-5) var(--space-3);color:var(--muted);font-size:var(--fs-xs);text-align:center;line-height:var(--lh-body)}.nbl-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-2);border-radius:var(--r-3);cursor:pointer;border:var(--bw) solid transparent;transition:background var(--dur-fast),border-color var(--dur-fast)}.nbl-item:hover{background:var(--panel-2)}.nbl-item.on{background:color-mix(in srgb,var(--accent) 9%,var(--panel));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.nbl-item.on:before{content:"";position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:var(--r-1);background:var(--accent)}.nbl-item:focus-visible{outline:var(--bw-strong) solid var(--accent);outline-offset:-2px}.nbl-item.busy{opacity:var(--opacity-disabled);pointer-events:none}.nbl-icon{color:var(--muted-2);font-size:var(--fs-xs);line-height:var(--lh-snug);flex:none}.nbl-item.on .nbl-icon{color:var(--accent-text)}.nbl-body{flex:1 1 auto;min-width:0}.nbl-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text);line-height:var(--lh-snug);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nbl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--fs-sm);color:var(--muted-2);margin-top:var(--space-px);font-variant-numeric:tabular-nums}.nbl-tag{padding:0 var(--space-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--navy) 10%,var(--panel));color:var(--navy-text);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.nbl-tag--vis{background:var(--tint-success);color:var(--success-text)}.nbl-rename{width:100%;padding:var(--space-0-5) var(--space-2);border:var(--bw) solid var(--accent);border-radius:var(--r-1);background:var(--panel);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);box-shadow:var(--ring)}.nbl-rename:focus{box-shadow:var(--ring)}.nbl-more{flex:none;background:transparent;color:var(--muted-2);cursor:pointer;opacity:0;transition:opacity var(--dur-fast),background var(--dur-fast)}.nbl-item:hover .nbl-more,.nbl-item.on .nbl-more,.nbl-item:focus-within .nbl-more,.nbl-more[aria-expanded=true]{opacity:1}.nbl-more:hover{background:var(--line);color:var(--text)}.nbl-menu{position:absolute;right:var(--space-2);top:calc(100% - var(--space-1));z-index:var(--z-dropdown);min-width:130px;display:flex;flex-direction:column;padding:var(--space-1);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-lg, 0 12px 32px color-mix(in srgb, var(--ink) 16%, transparent))}.nbl-menu button{text-align:left;border:none;background:transparent;color:var(--text);font-size:var(--fs-xs);padding:var(--space-2) var(--space-2);border-radius:var(--r-2);cursor:pointer}.nbl-menu button:hover:not(:disabled){background:var(--panel-2)}.nbl-menu button:disabled{color:var(--muted-2);cursor:default}.nbl-menu button.danger{color:var(--danger)}.nbl-menu button.danger:hover:not(:disabled){background:var(--tint-danger)}.nb-header-ro{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);text-transform:uppercase;padding:var(--space-0-5) var(--space-2);border-radius:var(--r-1);background:var(--tint-warning);color:var(--warning-text);border:var(--bw) solid var(--warning-text)}.nb-header-ws{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);padding:var(--space-0-5) var(--space-2);background:var(--panel-2);border:var(--bw) solid var(--line);border-radius:var(--r-1);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nb-header-save{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}.nb-header-save.dirty{color:var(--warning-text)}.nb-stop-btn{color:var(--fau-red);border-color:var(--danger-text);background:var(--tint-danger)}.nb-stop-btn:hover:not(:disabled){background:var(--tint-danger);border-color:var(--fau-red);color:var(--fau-red)}.nb-toolbar-hint{font-size:var(--fs-xs);color:var(--muted-2);margin-left:auto;white-space:nowrap}.nb-toolbar-hint .info-hint--inline{vertical-align:middle}.notebook-main.nb-panel{overflow-y:auto;background:var(--bg);border:var(--bw) solid var(--line);border-radius:var(--r-3)}.notebook-main.nb-panel>.nb-cells{padding:var(--space-3) var(--space-4) var(--space-8)}.nb-cell-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--muted);margin:0 0 var(--space-1) var(--space-0-5);letter-spacing:var(--track-wide)}.nb-output-iframe{display:block;width:100%;height:420px;border:var(--bw) solid var(--line-2);border-radius:var(--r-1);background:var(--surface-raised);margin:var(--space-2) var(--space-3);max-width:calc(100% - 24px)}.nb-output-json{padding:var(--space-2) var(--space-3)}.nb-output-json pre{margin:var(--space-2) 0 0;font-family:var(--mono);font-size:var(--fs-sm);white-space:pre-wrap;word-break:break-all;background:var(--panel);border:var(--bw) solid var(--line-2);border-radius:var(--r-1);padding:var(--space-2);max-height:360px;overflow:auto}.nb-output-toggle{border:none;background:none;padding:0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--navy-text);cursor:pointer}.nb-output-toggle:hover{text-decoration:underline}.nb-output-dim{font-weight:var(--fw-regular);color:var(--muted-2)}.nb-output-geojson{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--fs-sm);color:var(--text)}.nb-output-geo-ico{color:var(--success-text);font-size:var(--fs-md)}.notebook-sidebar{position:relative;width:var(--dock-w);flex-shrink:0;overflow:hidden;border-left:var(--bw) solid var(--line);display:flex;flex-direction:column;transition:width var(--dur-slow)}.notebook-sidebar--wide{width:560px}.nb-search{width:100%;box-sizing:border-box;margin-top:var(--space-2);padding:var(--space-2) var(--space-2);font-size:var(--fs-sm);border:var(--bw) solid var(--line);border-radius:var(--r-1);background:var(--panel);color:var(--text)}.nb-search:focus{border-color:var(--navy-text);box-shadow:var(--ring)}.nb-map-pane{display:flex;flex-direction:column;height:100%;min-height:0}.nb-map-pane[hidden]{display:none}.nb-map-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.nb-map{flex:1;min-height:360px;position:relative}.nb-map .maplibregl-canvas:focus-visible{outline:none;box-shadow:var(--ring)}.nb-map-hint{padding:var(--space-2) var(--space-2);font-size:var(--fs-xs);color:var(--muted);border-top:var(--bw) solid var(--line);background:var(--panel-2);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nb-files-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:var(--bw) solid var(--line)}.nb-files-head h3,.nb-files-head h2{margin:0;font-size:var(--fs-base);font-weight:var(--fw-semibold);color:var(--text)}.nb-files-head p{margin:var(--space-0-5) 0 0;font-size:var(--fs-xs);color:var(--muted)}.nb-files-list{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-2);display:flex;flex-direction:column;gap:var(--space-0-5)}.nb-files-list.dragover{outline:var(--bw-strong) dashed var(--navy-text);outline-offset:-6px;background:color-mix(in srgb,var(--navy) 5%,var(--panel))}.nb-file{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--r-1);font-size:var(--fs-sm);color:var(--text)}.nb-file:hover{background:color-mix(in srgb,var(--text) 5%,var(--panel))}.nb-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:var(--fs-sm)}.nb-file-size{font-size:var(--fs-2xs);color:var(--muted-2);white-space:nowrap}.nb-file-actions{display:flex;gap:var(--space-0-5);opacity:0;transition:opacity var(--dur-fast)}.nb-file:hover .nb-file-actions{opacity:1}.nb-file-actions button,.nb-file-actions a{border:none;background:none;color:var(--muted);cursor:pointer;font-size:var(--fs-sm);min-height:var(--control-sm);min-width:var(--control-sm);padding:0 var(--space-1);display:inline-grid;place-items:center;border-radius:var(--r-1);text-decoration:none}.nb-file-actions button:hover,.nb-file-actions a:hover{background:color-mix(in srgb,var(--navy) 10%,transparent);color:var(--navy-text)}.nb-jobs-head{padding:var(--space-2) var(--space-3) var(--space-1);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted);border-top:var(--bw) solid var(--line);margin-top:var(--space-1)}.nb-job{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--fs-sm);color:var(--text)}.nb-job-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-bubble{position:relative;border-radius:var(--r-round);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);border:var(--bw-strong) solid var(--veil-7);transition:transform var(--dur-fast)}.cat-bubble:hover{transform:scale(1.08)}.cat-bubble-n{width:calc(100% - 10px);height:calc(100% - 10px);border-radius:var(--r-round);background:var(--veil-7);color:var(--text);font-size:var(--fs-xs);font-weight:var(--fw-bold);display:grid;place-items:center;letter-spacing:var(--track-tight);font-variant-numeric:tabular-nums}.portal-ctrls{position:relative;display:flex;flex-direction:column;gap:10px}.portal-ctrls .maplibregl-ctrl-group{margin:0}.portal-ctrl-group button{display:grid;place-items:center;color:var(--navy-20)}.portal-ctrl-group button.on{box-shadow:inset 3px 0 0 var(--accent)}.bubble-kinds{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-2)}.bubble-kinds .theme-chip:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.map-bubbles-sw{width:10px;height:10px;border-radius:var(--r-round);border:var(--bw-strong) solid var(--on-fill);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 24%,transparent)}.lchips-hint{font-size:var(--fs-sm);color:var(--muted);margin:calc(-1 * var(--space-2)) 0 var(--space-2);line-height:var(--lh-snug)}.cat-popup-wrap .maplibregl-popup-content{padding:0;border-radius:var(--r-3);overflow:hidden;box-shadow:var(--shadow);background:var(--panel);color:var(--text)}.cat-popup-wrap .maplibregl-popup-close-button{color:var(--muted);font-size:var(--fs-lg);padding:var(--space-0-5) var(--space-2)}.cat-popup-wrap .maplibregl-popup-tip{border-top-color:var(--panel);border-bottom-color:var(--panel)}.cat-popup{width:300px}.cat-popup-t{font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:var(--space-2) var(--space-3) var(--space-2);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-wide);border-bottom:var(--bw) solid var(--line)}.cat-popup-list{max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.cat-popup-item{display:flex;align-items:center;gap:var(--space-2);width:100%;text-align:left;padding:var(--space-2) var(--space-3);background:none;border:0;color:var(--text);font-size:var(--fs-sm);cursor:pointer}.cat-popup-sw{flex:0 0 9px;width:9px;height:9px;border-radius:var(--r-round);border:var(--bw-strong) solid var(--on-fill);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 24%,transparent)}.cat-popup-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-notice{position:fixed;z-index:var(--z-toast);display:flex;pointer-events:none}.map-notice>*{pointer-events:auto}.map-status{position:static;display:flex;align-items:center;gap:var(--space-2);max-width:min(560px,100%);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--r-2);background:color-mix(in srgb,var(--ink) 92%,transparent);color:var(--cyan-80);border:var(--bw) solid var(--veil-3);box-shadow:var(--shadow);font-size:var(--fs-base);line-height:var(--lh-snug);animation:mapStatusIn var(--dur-slow) ease-out}.map-status span{overflow:hidden;text-overflow:ellipsis}.map-status-x{flex:0 0 auto;display:grid;place-items:center;width:var(--control-sm);height:var(--control-sm);background:none;border:0;color:var(--on-fill);cursor:pointer;font-size:var(--fs-sm);padding:0;border-radius:var(--r-1)}.map-status-x:hover{color:var(--on-fill);background:var(--veil-3)}@keyframes mapStatusIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fld2-dates{display:flex;align-items:center;gap:var(--space-2)}.fld2-dates .fld2-input{flex:1 1 0;min-width:0}.fld2-dates-sep{color:var(--muted, var(--text));font-size:var(--fs-sm);flex:0 0 auto}.fld2-dates-x{flex:0 0 auto;background:none;border:0;color:var(--muted, var(--text));cursor:pointer;font-size:var(--fs-sm);padding:var(--space-1) var(--space-1);border-radius:var(--r-1)}.fld2-dates-x:hover{color:var(--accent-deep, var(--fau-red));background:var(--shade-1)}.apidocs-inner{max-width:min(1600px,calc(100% - var(--space-8)));margin:0 auto;padding:var(--space-6) var(--space-5) var(--space-8)}.api-actions{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap}.api-note{padding:var(--space-4) var(--space-4);background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);color:var(--muted);font-size:var(--fs-base)}.api-note-err{border-color:color-mix(in srgb,var(--fau-red) 40%,var(--line));color:var(--danger-text)}.api-filters{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.api-search{width:100%;padding:var(--space-2) var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:inherit;font-size:var(--fs-base)}.api-search:focus{outline:var(--bw-strong) solid color-mix(in srgb,var(--brand) 40%,transparent);outline-offset:1px}.api-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.api-tag{padding:var(--space-0-5) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-pill);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-1)}.api-tag span{font-variant-numeric:tabular-nums}.api-tag:hover{color:inherit;border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.api-tag.on{background:var(--brand);border-color:var(--brand);color:var(--on-fill)}.api-group{margin-bottom:var(--space-5)}.api-group-t{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--muted);margin:0 0 var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.api-group-t span{font-size:var(--fs-xs);padding:var(--space-px) var(--space-2);border-radius:var(--r-pill);background:var(--line);letter-spacing:0}.api-ep{display:flex;align-items:stretch;gap:var(--space-3);padding:0;background:var(--panel);border:var(--bw) solid var(--line);border-radius:var(--r-3);flex-direction:column;overflow:hidden}.api-ep-head{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:0;color:inherit;cursor:pointer;text-align:left;font:inherit}.api-ep-head:hover{background:color-mix(in srgb,var(--brand) 5%,transparent)}.api-ep.open{border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.api-ep-dep .api-path{text-decoration:line-through}.api-m-put{background:color-mix(in srgb,var(--warning) 18%,var(--surface-raised));color:var(--warning-text)}.api-m-del{background:color-mix(in srgb,var(--fau-red) 14%,var(--panel));color:var(--danger-text)}.api-lock{font-size:var(--fs-2xs)}.api-ep-body{padding:0 var(--space-4) var(--space-3) var(--space-4);border-top:var(--bw) dashed var(--line);margin-top:var(--space-0-5);padding-top:var(--space-3)}.api-ep-desc{margin:0 0 var(--space-2);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--muted);white-space:pre-wrap}.api-muted{font-style:italic}.api-params-t{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--muted);margin-bottom:var(--space-2)}.api-param{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);padding:var(--space-1) 0}.api-param code{font-size:var(--fs-sm)}.api-param-in{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted)}.api-param-req{font-size:var(--fs-xs);color:var(--danger-text)}@media(max-width:640px){.api-ep-head{flex-wrap:wrap}.api-ep-d{margin-left:0;text-align:left;width:100%}}.panel-resize-handle{position:absolute;top:0;bottom:0;width:var(--space-2);z-index:var(--z-raised);cursor:col-resize;background:transparent;touch-action:none}.panel-resize-handle[data-resize-handle=left]{right:0}.panel-resize-handle[data-resize-handle=right]{left:0}.panel-resize-handle:after{content:"";position:absolute;top:0;bottom:0;width:2px;background:transparent;transition:background var(--dur-fast) ease}.panel-resize-handle[data-resize-handle=left]:after{right:0}.panel-resize-handle[data-resize-handle=right]:after{left:0}.panel-resize-handle:hover:after,.panel-resize-handle:focus-visible:after{background:color-mix(in srgb,var(--accent) 65%,transparent)}.panel-resize-handle:focus-visible{outline:none;box-shadow:var(--ring)}body.is-resizing{-webkit-user-select:none;user-select:none}body.is-resizing iframe,body.is-resizing canvas{pointer-events:none}.profile-pilot-dock{position:fixed;top:var(--nav-h);right:0;bottom:0;z-index:var(--z-dropdown);box-shadow:var(--shadow-lg)}.pp-confirm{border:var(--bw) solid color-mix(in srgb,var(--accent) 40%,var(--line));background:var(--tint-accent);border-radius:var(--r-3);padding:var(--space-3);margin:var(--space-2) 0}.pp-confirm-head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2)}.pp-confirm-tool{font-family:var(--mono);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--accent-text)}.pp-confirm-note{font-size:var(--fs-xs);color:var(--muted)}.pp-confirm-title{font-size:var(--fs-base);font-weight:var(--fw-semibold);margin-bottom:var(--space-2)}.pp-confirm-code,.pp-ran-code,.pp-ran-out{font-family:var(--mono);font-size:var(--fs-xs);line-height:var(--lh-snug);background:var(--surface-raised);border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-2);margin:0 0 var(--space-2);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow:auto}.pp-confirm-args{font-size:var(--fs-xs);color:var(--muted);margin-bottom:var(--space-2)}.pp-confirm-actions{display:flex;gap:var(--space-2)}.pp-confirm-yes,.pp-confirm-no{padding:var(--space-2) var(--space-3);border-radius:var(--r-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;border:var(--bw) solid var(--line)}.pp-confirm-yes{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.pp-confirm-no{background:var(--surface-raised);color:var(--text)}.pp-confirm-done{font-size:var(--fs-sm);font-weight:var(--fw-semibold)}.pp-confirm-approved{color:var(--success-text)}.pp-confirm-rejected{color:var(--muted)}.pp-ran{margin:var(--space-2) 0}.pp-ran-head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.pp-ran-badge{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-caps);padding:var(--space-px) var(--space-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success-text)}.pp-ran-title{font-size:var(--fs-sm);color:var(--muted)}.pp-ran-out{background:var(--panel-2)}.pp-ran-err{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.gcp-modal{width:min(1500px,calc(100vw - 48px));padding:var(--space-5) var(--space-5) var(--space-4)}.gcp-editor{display:flex;flex-direction:column;gap:var(--space-2)}.gcp-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.gcp-editor-body{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:var(--space-3);align-items:start}@media(max-width:1180px){.gcp-editor-body{grid-template-columns:1fr}}.gcp-points{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.gcp-table{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.gcp-row{display:grid;grid-template-columns:1fr 1.1fr 1.1fr .7fr 82px 40px 24px;gap:var(--space-1);align-items:center;padding:var(--space-1);border-radius:var(--r-2);border:var(--bw) solid transparent;cursor:pointer}.gcp-row--head{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-caps);color:var(--muted-2);cursor:default;padding:0 var(--space-1)}.gcp-row--on{border-color:var(--accent-text);background:var(--tint-accent)}.gcp-row input{width:100%;min-width:0;padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--text)}.gcp-role{width:100%;min-width:0;padding:var(--space-1) var(--space-1);font-size:var(--fs-2xs);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--text)}.gcp-count{text-align:center;font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--muted)}.gcp-count--ok{color:var(--success-text)}.gcp-x{border:none;background:none;color:var(--muted-2);cursor:pointer;font-size:var(--fs-sm);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1)}.gcp-x svg,.gcp-x .icon{width:var(--icon-md);height:var(--icon-md)}.gcp-x:hover{color:var(--danger-text)}.gcp-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.gcp-marker{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.gcp-canvas{position:relative;overflow:hidden;height:420px;border-radius:var(--r-3);border:var(--bw) solid var(--line);background:var(--panel-2);cursor:crosshair;display:grid;place-items:center}.gcp-canvas-inner{transform-origin:center center;will-change:transform;max-width:100%;max-height:100%;position:relative}.gcp-canvas-inner img{display:block;max-width:100%;max-height:420px;-webkit-user-select:none;user-select:none}.gcp-crosshair{position:absolute;width:22px;height:22px;margin:calc(-1 * var(--space-3)) 0 0 calc(-1 * var(--space-3));pointer-events:none;border:var(--bw-strong) solid var(--fau-red);border-radius:var(--r-round);box-shadow:0 0 0 1px var(--panel),inset 0 0 0 1px var(--panel)}.gcp-crosshair:before,.gcp-crosshair:after{content:"";position:absolute;background:var(--fau-red)}.gcp-crosshair:before{left:50%;top:-8px;width:2px;height:38px;margin-left:calc(-1 * var(--space-px))}.gcp-crosshair:after{top:50%;left:-8px;height:2px;width:38px;margin-top:calc(-1 * var(--space-px))}.gcp-zoom-hint{position:absolute;right:8px;bottom:8px;padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);background:var(--panel);border:var(--bw) solid var(--line);font-size:var(--fs-2xs);color:var(--muted);pointer-events:none}.gcp-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}.gcp-thumb{position:relative;flex:0 0 auto;padding:0;border-radius:var(--r-2);border:var(--bw-strong) solid transparent;background:none;cursor:pointer;line-height:var(--lh-tight)}.gcp-thumb img{width:96px;height:72px;object-fit:cover;border-radius:var(--r-2);display:block}.gcp-thumb--on{border-color:var(--accent-text)}.gcp-thumb--marked{border-color:var(--success-text)}.gcp-thumb-tick{position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:var(--r-round);background:var(--success);color:var(--panel);font-size:var(--fs-2xs);line-height:var(--lh-tight);text-align:center}.damage-hazard-list{display:flex;flex-direction:column;gap:var(--space-1)}.damage-hazard-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);font-size:var(--fs-2xs);cursor:pointer;background:var(--surface-raised)}.damage-hazard-row.sel{border-color:var(--navy-text);background:color-mix(in srgb,var(--navy) 4%,transparent)}.damage-hazard-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy-text);font-weight:var(--fw-semibold)}.damage-hazard-meta{font-size:var(--fs-sm);color:var(--text);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.damage-kind-badge{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-wide);text-transform:uppercase;padding:var(--space-px) var(--space-1);border-radius:var(--r-1);background:var(--primary);color:var(--on-primary);white-space:nowrap}.damage-x{border:none;background:transparent;color:var(--text);font-size:var(--fs-sm);line-height:var(--lh-tight);cursor:pointer;width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;border-radius:var(--r-1)}.damage-x svg,.damage-x .icon{width:var(--icon-md);height:var(--icon-md)}.damage-x:hover{color:var(--danger-text)}.damage-busy{font-size:var(--fs-2xs);color:var(--navy-text);margin-top:var(--space-2)}.damage-err{font-size:var(--fs-2xs);color:var(--fau-red);background:color-mix(in srgb,var(--fau-red) 8%,transparent);border:var(--bw) solid color-mix(in srgb,var(--fau-red) 24%,transparent);border-radius:var(--r-2);padding:var(--space-2) var(--space-2)}.damage-source-tabs{display:flex;gap:0;margin-bottom:var(--space-2);border-bottom:var(--bw-strong) solid var(--line-2)}.damage-source-tabs button{flex:1;border:none;background:transparent;padding:var(--space-2) var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text);cursor:pointer;border-bottom:var(--bw-strong) solid transparent;margin-bottom:calc(-1 * var(--space-0-5))}.damage-source-tabs button.on{color:var(--text);border-bottom-color:var(--fau-red)}.damage-catalog-pick{margin-top:var(--space-2)}.damage-mapping{margin-top:var(--space-1)}.damage-mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-2)}.damage-sources{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin-top:var(--space-2)}.damage-sources th{text-align:left;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--text);padding:var(--space-1) var(--space-1);border-bottom:var(--bw) solid var(--line-2)}.damage-sources td{padding:var(--space-1);border-bottom:var(--bw) solid var(--line-2);color:var(--accent-text)}.damage-sources td.num,.damage-critical-table td.num{text-align:right;font-variant-numeric:tabular-nums}.damage-bins-table{width:100%;border-collapse:collapse;font-size:var(--fs-xs);margin-top:var(--space-2)}.damage-bins-table th{text-align:left;font-size:var(--fs-2xs);color:var(--text);padding:var(--space-1);border-bottom:var(--bw) solid var(--line-2)}.damage-bins-table td{padding:var(--space-1);border-bottom:var(--bw) solid var(--line-2);color:var(--navy-text)}.damage-bins-table td.num{text-align:right;font-variant-numeric:tabular-nums}.damage-note{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text);margin:var(--space-1) 0}.damage-inuse{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--success-text);white-space:nowrap}.damage-critical-wrap{max-height:220px;overflow:auto;border:var(--bw) solid var(--line-2);border-radius:var(--r-2)}.damage-critical-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm);line-height:var(--lh-tight)}.damage-critical-table th{position:sticky;top:0;background:var(--primary);color:var(--on-primary);text-align:left;padding:var(--space-1) var(--space-3);font-size:var(--fs-2xs);font-weight:var(--fw-semibold)}.damage-critical-table td{padding:var(--space-1) var(--space-3);border-bottom:var(--bw) solid var(--line-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.damage-warnings{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--fs-2xs);color:var(--warning-text);line-height:var(--lh-snug)}.vtab:disabled{cursor:not-allowed}.vtab-select{margin-left:var(--space-2);align-self:center;font:inherit;font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--text);max-width:280px}[data-theme=light] .vtab-select{border-color:var(--line);background:var(--panel);color:var(--text)}.pce-host{display:flex;flex-direction:column}.pce{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 120%,var(--navy) 0%,var(--navy) 45%,var(--ink) 100%);color:var(--on-chrome);font-size:var(--fs-sm);overflow:hidden}.pce-stage{position:relative;flex:1;min-height:0}.pce-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.pce-canvas canvas:focus-visible{outline:none;box-shadow:var(--ring)}.pce-toolbar{position:relative;z-index:var(--z-raised);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-2) var(--space-2);background:color-mix(in srgb,var(--ink) 80%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:var(--bw) solid var(--veil-2)}.pce-group{display:flex;align-items:center;gap:var(--space-1)}.pce-label{font-size:var(--fs-2xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--on-chrome);margin-right:var(--space-1)}.pce-btn{font:inherit;font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:var(--veil-1);color:var(--on-chrome);text-transform:capitalize;transition:var(--dur-fast)}.pce-btn:hover:not(:disabled){background:var(--veil-3);color:var(--on-fill)}.pce-btn.on{background:var(--navy-80);border-color:var(--navy-80);color:var(--navy-20);font-weight:var(--fw-semibold)}.pce-btn:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.pce-exit{margin-left:auto;text-transform:none}.pce-toolbar input[type=range]{width:90px;accent-color:var(--accent-text)}.pce-val{font-family:var(--mono);font-size:var(--fs-xs);color:var(--on-chrome);min-width:44px}.pce-legend{position:absolute;right:var(--space-3);top:var(--space-3);z-index:var(--z-raised);width:240px;max-height:calc(100% - 60px);overflow:auto;padding:var(--space-2) var(--space-2);border-radius:var(--r-3);background:var(--surface-chrome);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:var(--bw) solid var(--veil-2)}.pce-legend-head{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-2xs);letter-spacing:var(--track-caps);text-transform:uppercase;color:var(--on-chrome);margin-bottom:var(--space-2)}.pce-legend-row{display:grid;grid-template-columns:12px 1fr auto 22px;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-0-5);border-radius:var(--r-1);cursor:default}.pce-legend-row:hover{background:var(--veil-2)}.pce-legend-row.off{opacity:var(--opacity-disabled)}.pce-swatch{width:var(--space-3);height:var(--space-3);border-radius:var(--r-1);box-shadow:0 0 0 var(--bw) var(--veil-4) inset}.pce-legend-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pce-legend-n{font-family:var(--mono);font-size:var(--fs-xs);color:var(--on-chrome);font-variant-numeric:tabular-nums}.pce-eye,.pce-mini{font:inherit;font-size:var(--fs-xs);background:none;border:none;color:var(--on-chrome);min-height:var(--control-sm);padding:0 var(--space-1);border-radius:var(--r-1);cursor:pointer}.pce-eye{width:var(--control-sm);padding:0;display:inline-grid;place-items:center}.pce-eye svg,.pce-eye .icon{width:var(--icon-md);height:var(--icon-md)}.pce-eye:hover,.pce-mini:hover{color:var(--on-fill)}.pce-mini{border:var(--bw) solid var(--veil-3);padding:0 var(--space-2);text-transform:none;letter-spacing:0}.pce-info{position:absolute;z-index:var(--z-sticky);pointer-events:none;padding:var(--space-2) var(--space-2);border-radius:var(--r-2);background:color-mix(in srgb,var(--ink) 92%,transparent);border:var(--bw) solid var(--veil-3);font-family:var(--mono);font-size:var(--fs-xs);line-height:var(--lh-body);max-width:340px}.pce-dim{color:var(--on-chrome)}.pce-hud{position:absolute;left:var(--space-3);bottom:var(--space-3);z-index:var(--z-raised);display:flex;gap:var(--space-3);align-items:center;padding:var(--space-1) var(--space-2);border-radius:var(--r-pill);background:color-mix(in srgb,var(--ink) 80%,transparent);border:var(--bw) solid var(--veil-2);font-family:var(--mono);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.pce-hud-load{color:var(--gold-text)}.pce-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-sticky);display:grid;place-items:center;font-size:var(--fs-md);color:var(--on-chrome);background:color-mix(in srgb,var(--ink) 32%,transparent);pointer-events:none}.pce-error{color:var(--danger-text)}.pce-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 120%,var(--navy) 0%,var(--navy) 45%,var(--ink) 100%)}.pce-empty-card{width:min(440px,90%);padding:var(--space-5) var(--space-5);border-radius:var(--r-4);background:color-mix(in srgb,var(--ink) 80%,transparent);border:var(--bw) solid var(--veil-3);color:var(--on-chrome)}.pce-empty-card h3{margin:0 0 var(--space-2);font-family:var(--display);font-size:var(--fs-xl);text-wrap:balance}.pce-empty-card p{margin:0 0 var(--space-4);color:var(--on-chrome);line-height:var(--lh-body)}.pce-empty-msg{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--gold-text)}.pce-draw{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-raised);touch-action:none}.pce-draw-rect,.pce-draw-lasso{cursor:crosshair}.pce-draw-brush{cursor:cell}.pce-stroke{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-raised);width:100%;height:100%;pointer-events:none}.pce{--pce-pen: var(--on-chrome);--pce-pen-halo: var(--ink);--pce-pen-fill: var(--on-chrome)}.pce-stroke rect,.pce-stroke polygon{fill:color-mix(in srgb,var(--pce-pen-fill) 10%,transparent);stroke:var(--pce-pen);stroke-width:1.5;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 1.5px var(--pce-pen-halo))}.pce-stroke circle{fill:color-mix(in srgb,var(--pce-pen-fill) 8%,transparent);stroke:color-mix(in srgb,var(--pce-pen) 60%,transparent);stroke-width:1}.pce-select{font:inherit;font-size:var(--fs-sm);padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:color-mix(in srgb,var(--ink) 92%,transparent);color:var(--on-chrome);max-width:190px}.pce-num{font:inherit;font-family:var(--mono);font-size:var(--fs-xs);width:64px;padding:var(--space-1) var(--space-2);border-radius:var(--r-2);border:var(--bw) solid var(--veil-3);background:color-mix(in srgb,var(--ink) 92%,transparent);color:var(--on-chrome)}.pce-assign{background:color-mix(in srgb,var(--gold) 16%,transparent);border-color:color-mix(in srgb,var(--gold) 48%,transparent);color:var(--warning-text);font-weight:var(--fw-semibold)}.pce-assign:hover:not(:disabled){background:color-mix(in srgb,var(--gold) 32%,transparent);color:var(--on-fill)}.pce-hud-sel{color:var(--warning-text);font-weight:var(--fw-semibold)}.pce-notice{position:absolute;left:50%;bottom:var(--space-8);transform:translate(-50%);z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-pill);background:color-mix(in srgb,var(--ink) 92%,transparent);border:var(--bw) solid color-mix(in srgb,var(--gold) 48%,transparent);font-size:var(--fs-sm);color:var(--on-chrome);max-width:min(640px,90%)}.pce-clip{position:absolute;left:var(--space-3);top:var(--space-3);z-index:var(--z-raised);width:300px;padding:var(--space-2) var(--space-2);border-radius:var(--r-3);background:color-mix(in srgb,var(--ink) 80%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:var(--bw) solid var(--veil-2)}.pce-clip-row{display:grid;grid-template-columns:14px 1fr 1fr auto;gap:var(--space-2);align-items:center;padding:var(--space-0-5) 0}.pce-clip-row input[type=range]{width:100%;accent-color:var(--accent-text)}.pce-clip-row .pce-val{min-width:0;font-size:var(--fs-2xs)}.pce-legend-foot{margin-top:var(--space-2);font-size:var(--fs-2xs);color:var(--on-chrome)}.af-classes{display:flex;flex-direction:column;gap:var(--space-1)}.af-class-row{display:grid;grid-template-columns:12px minmax(0,1fr) 90px max-content;align-items:center;gap:var(--space-2);font-size:var(--fs-sm)}.af-class-swatch{display:inline-block;width:var(--space-3);height:var(--space-3);border-radius:var(--r-1);box-shadow:0 0 0 var(--bw) var(--shade-2) inset;flex:none}.af-class-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-class-track{height:6px;border-radius:var(--r-1);background:var(--panel-2);overflow:hidden}.af-class-track span{display:block;height:100%;background:var(--accent);border-radius:var(--r-1)}.af-class-n{font-size:var(--fs-xs);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.af-ops{display:flex;flex-direction:column;gap:var(--space-0-5)}.af-op{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:var(--space-2);align-items:center;font-size:var(--fs-sm);padding:var(--space-1) 0;border-bottom:var(--bw) solid var(--line)}.af-op:last-child{border-bottom:none}.af-op.undone .af-op-what{text-decoration:line-through}.af-auto-result{margin-top:var(--space-2)}.af-conf{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:var(--space-2);margin-top:var(--space-2)}.af-conf-label{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:var(--track-wide);align-self:center}.af-conf-bins{display:flex;align-items:flex-end;gap:var(--space-0-5);height:26px}.af-conf-bins i{flex:1;min-width:4px;display:block;background:linear-gradient(to top,var(--danger),var(--warning) 50%,var(--success));border-radius:var(--r-xs) var(--r-xs) 0 0;opacity:var(--opacity-subtle)}.af-model-head{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1)}.af-model-ver{font-weight:var(--fw-bold);font-size:var(--fs-lg);color:var(--accent-text);font-variant-numeric:tabular-nums}.af-model-metrics{font-size:var(--fs-sm);color:var(--text)}.af-model-when{margin-left:auto;font-size:var(--fs-xs);color:var(--muted)}.af-f1-track span{background:var(--success)}.af-class-row--rare .af-f1-track span{background:var(--warning)}.af-model-actions{flex-wrap:wrap;justify-content:flex-start}.af-model-actions>.btn{flex:1 1 auto}.af-rare{font-size:var(--fs-xs);color:var(--warning-deep);margin-left:var(--space-1)}.af-linkbtn{background:none;border:none;min-height:var(--control-sm);padding:0;margin-top:var(--space-1);color:var(--accent-text);font-size:var(--fs-sm);cursor:pointer;text-decoration:underline}.af-linkbtn:focus-visible{outline:var(--bw-strong) solid var(--accent);outline-offset:2px}.af-model-detail{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-1)}.af-history{display:flex;flex-wrap:wrap;gap:var(--space-2)}.af-history-v{font-size:var(--fs-xs);padding:var(--space-px) var(--space-2);border-radius:var(--r-3);background:var(--panel-2);border:var(--bw) solid var(--line)}.af-history-v.rejected{text-decoration:line-through}.pce-swatch--conf{width:28px}.pce-legend-row--conf{grid-template-columns:28px 1fr}.af-op-seq{font-size:var(--fs-xs);color:var(--muted)}.af-op-what{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-op-meta{font-size:var(--fs-xs);color:var(--muted)}@media(prefers-reduced-motion:reduce){.pce-btn,.vtab{transition:none}}.af-nogeo{position:absolute;left:50%;bottom:var(--space-8);transform:translate(-50%);z-index:var(--z-sticky);max-width:min(520px,calc(100% - var(--space-8)));padding:var(--space-3) var(--space-4);border-radius:var(--r-3);border:var(--bw) solid var(--line-2);border-left:var(--space-1) solid var(--status-info-dot);background:var(--status-info-bg);color:var(--status-info-fg);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);line-height:var(--lh-snug)}.af-scene{position:absolute;top:0;right:0;bottom:0;left:0}.af-scene>.af-scene-map{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.af-scene-mode{position:absolute;top:calc(var(--space-3) + 92px);right:10px;z-index:var(--z-sticky);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow-sm)}.af-scene>.wb-map-overlay-bl{bottom:calc(28px + var(--space-2))}.af-scene-legend>.wb-map-legend{max-height:min(46vh,100%);min-height:0}.af-scene-banner{position:absolute;top:var(--space-3);left:50%;transform:translate(-50%);z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--r-2);background:var(--panel);color:var(--text);box-shadow:var(--shadow-sm);font-size:var(--fs-sm);pointer-events:none}.af-scene-banner-swatch{width:12px;height:12px;border-radius:var(--r-1);flex:none}.af-scene-empty{position:absolute;left:var(--space-3);bottom:calc(28px + var(--space-3));z-index:var(--z-sticky);max-width:min(460px,calc(100% - 2 * var(--space-3)));padding:var(--space-2) var(--space-3);border-radius:var(--r-2);background:var(--panel);color:var(--muted);box-shadow:var(--shadow-sm);font-size:var(--fs-sm)}.rail.af-rail{overflow:hidden}.af-rail>.steps{flex:1 1 auto;min-height:0;overflow-y:auto}.af-rail>.rail-layers-panel{min-height:0}.af-rail-head{padding-bottom:var(--space-3)}.af-rail-head .rail-progress-head{margin-bottom:0;gap:var(--space-2)}.af-rail-foot{margin-top:auto;padding:var(--space-3) var(--space-4);border-top:var(--bw) solid var(--line);font-size:var(--fs-sm);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.af-scene-settings{padding-top:0}.af-scene-fold{display:inline-grid;place-items:center;width:var(--control-sm);height:var(--control-sm);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:none;color:var(--text);cursor:pointer}.af-scene-fold:hover{background:var(--veil-2)}.af-scene-fold:focus-visible{outline:none;box-shadow:var(--ring)}.af-scene-summary{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-snug)}.af-scene-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-1)}.af-scene-lbl{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);margin-top:var(--space-1)}.af-scene-row{display:flex;align-items:center;gap:var(--space-1);min-width:0}.af-scene-row input[type=range]{flex:1;min-width:0}.af-scene-input{min-width:0;width:100%}.af-scene-row .af-scene-input{flex:1}.af-scene-val{font-size:var(--fs-xs);color:var(--muted);flex:none}.af-scene-hint{margin:0;font-size:var(--fs-xs);color:var(--muted)}.rail-proj-status{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug);margin:calc(-1 * var(--space-1)) 0 var(--space-2)}.af-rail-guide{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.af-rail-guide:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-1)}.af-tools{margin-left:var(--space-1)}.af-ws-map{container:afmap / inline-size}.af-ws-map .ws-viewtabs .vtab{white-space:nowrap}@container afmap (max-width: 860px){.af-tools .wb-gis-group .wb-gis-lbl{display:none}}.af-scene-status .af-scene-status-sum{margin-left:auto;color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.af-pick-popup .maplibregl-popup-content{padding:0;background:transparent;box-shadow:var(--shadow);border-radius:var(--r-2)}.af-pick-popup .maplibregl-popup-tip{display:none}.af-pick-popup .maplibregl-popup-close-button{color:var(--text);font-size:var(--fs-md);right:var(--space-1);top:var(--space-0-5)}.af-pick-popup .af-pick{padding-right:var(--space-6)}.af-point-style .seg button{padding:var(--space-0-5) var(--space-2)}.lse-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--text);margin:var(--space-1) 0}.layer-status{display:inline-flex;align-items:center;gap:var(--space-1)}.layer-status--error{color:var(--danger-text)}.af-pick{padding:var(--space-2) var(--space-2);border-radius:var(--r-2);background:color-mix(in srgb,var(--ink) 92%,transparent);border:var(--bw) solid var(--veil-3);color:var(--text);font-family:var(--mono);font-size:var(--fs-xs);line-height:var(--lh-body);max-width:300px}.af-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.af-classes--pick{max-height:180px;overflow-y:auto;padding:var(--space-1) var(--space-2);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel-2)}.af-class-pick{grid-template-columns:14px 12px minmax(0,1fr) 64px;cursor:pointer;padding:var(--space-0-5) 0;border-radius:var(--r-1)}.af-class-pick:hover{background:var(--surface-raised)}.af-class-pick.on .af-class-name{font-weight:var(--fw-bold);color:var(--text)}.af-class-pick input{margin:0;accent-color:var(--accent-text)}.af-class-pick .af-class-n{text-align:right}.af-dtm-result{margin-top:var(--space-2)}[class][role=button],button,.btn,[data-interactive],a[class]:not([href^=http]){--has-state: 1}:where(button:not(:disabled):not([aria-disabled=true]),.btn:not(:disabled),[data-interactive],[role=button]:not([aria-disabled=true])){position:relative}button:not(:disabled):not([aria-disabled=true]):after,.btn:not(:disabled):after,[data-interactive]:after,[role=button]:not([aria-disabled=true]):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:rgb(var(--state-layer));opacity:0;transition:opacity var(--dur-fast) ease;pointer-events:none}button:not(:disabled):not([aria-disabled=true]):hover:after,.btn:not(:disabled):hover:after,[data-interactive]:hover:after,[role=button]:not([aria-disabled=true]):hover:after{opacity:var(--state-hover)}button:not(:disabled):not([aria-disabled=true]):active:after,.btn:not(:disabled):active:after,[data-interactive]:active:after,[role=button]:not([aria-disabled=true]):active:after{opacity:var(--state-pressed)}button:focus-visible,.btn:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,[tabindex]:focus-visible{outline:var(--bw-strong) solid var(--accent-text);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible,[contenteditable=true]:focus-visible{outline:none;border-color:var(--accent-text);box-shadow:var(--ring)}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{min-height:var(--control-sm)}option,optgroup{background-color:var(--panel);color:var(--text)}textarea{min-height:64px}.icon{width:var(--icon-sm);height:var(--icon-sm);flex:none;vertical-align:-.2em}.icon--md{width:var(--icon-md);height:var(--icon-md)}.icon--lg{width:var(--icon-lg);height:var(--icon-lg)}button>.icon:only-child,[role=button]>.icon:only-child{vertical-align:middle}.icon--xl{width:var(--icon-xl);height:var(--icon-xl)}.wb-struct-swatch .icon{width:70%;height:70%}.vtab-ico,.fe-tab-icon,.fe-acc-icon,.about-nav-ico,.wb-net-ico,.wb-lid-icon,.wb-file-icon,.ds-kind-badge,.exp-layer-chevron,.wb-map-legend-toggle,.nbl-icon,.nb-output-geo-ico,.msg-thread-ico,.pm-timeline-dot,.dt-btn{display:inline-flex;align-items:center;justify-content:center}.wb-config-empty-icon,.iw-done-icon,.about-pillar-ico{display:flex;justify-content:center;color:var(--muted)}.license-banner{flex:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-4);min-height:var(--control-sm);font-size:var(--fs-sm);line-height:var(--lh-tight);background:var(--tint-accent);border-bottom:var(--bw) solid var(--accent-text);color:var(--text)}.license-banner b{color:var(--accent-text);font-weight:var(--fw-semibold)}.license-banner .license-banner-spacer{flex:1 1 auto}.license-banner--warn{background:var(--tint-warning);border-bottom-color:var(--warning-text)}.license-banner--warn b{color:var(--warning-text)}.license-screen{display:flex;flex-direction:column;min-height:0;height:100%}.license-screen>:last-child{flex:1 1 auto;min-height:0}.license-cell{display:flex;flex-direction:column;gap:var(--space-2)}.license-cell label{display:grid;grid-template-columns:6.5em minmax(10.5rem,max-content);align-items:center;column-gap:var(--space-2);font-size:var(--fs-xs)}.license-cell label span:first-child{color:var(--muted);white-space:nowrap}.license-cell select{font-size:var(--fs-xs);min-height:var(--control-sm);min-width:10.5rem}.license-cell small{grid-column:2;color:var(--muted-2);font-size:var(--fs-2xs);line-height:var(--lh-tight)}.pmu-person{display:flex;align-items:flex-start;gap:var(--space-2);min-width:14rem}.pmu-person__text{display:grid;gap:var(--space-0-5);font-size:var(--fs-sm);line-height:var(--lh-tight);overflow-wrap:anywhere}.pmu-person__text b{font-weight:var(--fw-semibold)}.pmu-role{min-width:7.5rem}.pmu-status{display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.pmu-nowrap{white-space:nowrap}.topnav .btn--ghost,.nav-right .btn--ghost,.help-footer-popup .btn--ghost,.app-statusbar .btn--ghost{color:var(--on-chrome)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-4);border-radius:var(--r-3);font:var(--fw-medium) var(--fs-base)/var(--lh-tight) var(--sans);border:var(--bw) solid transparent;cursor:pointer;position:relative;white-space:nowrap;transition:background var(--dur),border-color var(--dur),color var(--dur)}.btn:disabled,.btn[aria-disabled=true]{color:var(--on-surface-disabled);cursor:not-allowed}.btn:focus-visible{outline:var(--bw-strong) solid var(--accent-text);outline-offset:2px}.btn--primary{background:var(--primary);color:var(--on-primary);border-color:transparent}.btn--primary:disabled{background:var(--panel-2);color:var(--on-surface-disabled);box-shadow:none}.btn--secondary{background:var(--surface-raised);border-color:var(--line);color:var(--text)}.btn--ghost{background:transparent;border-color:transparent;color:var(--text)}.btn--danger{background:var(--danger-fill);color:var(--on-danger);border-color:transparent}[data-theme=dark] .btn--danger{border-color:var(--crimson-60)}.btn.btn--close{background:var(--danger)!important;color:var(--on-fill)!important;border-color:transparent!important;border-radius:var(--r-2);flex:none}.btn.btn--close .icon,.btn.btn--close svg{color:inherit}.modal-close,.ai-interp-x,.moverlay-x,.map-status-x,.fdet-close,.pce-notice .pce-mini,.wb-error button,.wb-lid-msg .wb-struct-x,.wb-gis-measure-result button{background:var(--danger);color:var(--on-fill);border:var(--bw) solid transparent;border-radius:var(--r-2);width:var(--control-sm);height:var(--control-sm);padding:0;display:grid;place-items:center;flex:none;cursor:pointer;opacity:1}.modal-close:hover,.ai-interp-x:hover,.moverlay-x:hover,.map-status-x:hover,.fdet-close:hover,.pce-notice .pce-mini:hover,.wb-error button:hover,.wb-lid-msg .wb-struct-x:hover,.wb-gis-measure-result button:hover{background:color-mix(in srgb,var(--danger) 85%,black);color:var(--on-fill)}.btn--sm{min-height:var(--control-sm);padding:0 var(--space-3);font-size:var(--fs-sm)}.btn--md{min-height:var(--control-md);padding:0 var(--space-4);font-size:var(--fs-base)}.btn--lg{min-height:var(--control-lg);padding:0 var(--space-5);font-size:var(--fs-md)}.btn--icon{width:var(--control-sm);height:var(--control-sm);min-height:0;padding:0;display:grid;place-items:center}.btn--icon .icon,.btn--icon svg{width:var(--icon-md);height:var(--icon-md)}.btn--block{display:flex;width:100%}.btn--wrap{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left;justify-content:flex-start;padding-block:var(--space-1)}.field{display:grid;gap:var(--space-1);min-width:0}.field__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:var(--lh-tight);color:var(--text)}.field__label .field__req{color:var(--danger-text);margin-left:var(--space-0-5)}.field__control{width:100%;min-width:0;box-sizing:border-box;min-height:var(--control-md);padding:0 var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--surface-raised);color:var(--text);font:var(--fw-regular) var(--fs-base)/var(--lh-tight) var(--sans);transition:border-color var(--dur),box-shadow var(--dur)}textarea.field__control{min-height:calc(var(--control-md) * 2);padding:var(--space-2) var(--space-3);line-height:var(--lh-body);resize:vertical}.field__control::placeholder{color:color-mix(in srgb,var(--text) 68%,transparent)}.field__control:focus-visible{outline:none;border-color:var(--accent-text);box-shadow:var(--ring)}.field--sm .field__control{min-height:var(--control-sm);font-size:var(--fs-sm)}.field--md .field__control{min-height:var(--control-md);font-size:var(--fs-base)}.field__hint{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--text)}.field__error{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--danger-text)}.field.is-invalid .field__control{border-color:var(--danger)}.field.is-invalid .field__control:focus-visible{border-color:var(--danger)}.field.is-disabled .field__label,.field.is-disabled .field__hint{color:var(--on-surface-disabled)}.field.is-disabled .field__control,.field__control:disabled{color:var(--on-surface-disabled);background:var(--panel-2);cursor:not-allowed}.field.is-loading .field__control{background-image:linear-gradient(90deg,var(--panel-2),var(--surface-raised),var(--panel-2));background-size:200% 100%;animation:skeleton-shimmer var(--dur-loop) linear infinite}.field__row{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm)}.field__row input[type=checkbox],.field__row input[type=radio]{width:var(--space-4);height:var(--space-4);margin:0;accent-color:var(--accent-text)}.card{background:var(--surface-raised);color:var(--text);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-4);min-width:0}.card--flat{box-shadow:none}.card--raised{box-shadow:var(--shadow)}.card--overlay{box-shadow:var(--shadow-lg);z-index:var(--z-raised)}.card__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.card__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card__body{font-size:var(--fs-base);line-height:var(--lh-body)}.card__footer{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:var(--bw) solid var(--line-2)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base);line-height:var(--lh-tight);color:var(--text)}.table th{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);text-align:left;padding:var(--space-2) var(--space-3);color:var(--text);white-space:nowrap}.table thead th{position:sticky;top:0;background:var(--panel);z-index:var(--z-raised);border-bottom:var(--bw) solid var(--line)}.table td{padding:var(--space-2) var(--space-3);border-top:var(--bw) solid var(--line-2);line-height:var(--lh-tight);vertical-align:middle}.table--compact td{padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}.table--compact th{padding:var(--space-1) var(--space-3)}.table--comfortable td,.table--comfortable th{padding:var(--space-3) var(--space-4)}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr:hover{background:rgba(var(--state-layer),var(--state-hover))}.table tbody tr.is-selected{box-shadow:var(--bar-accent);background:var(--tint-accent)}.table tbody tr.is-inactive{background:var(--tint-neutral)}.table__wrap{overflow:auto;min-width:0;border:var(--bw) solid var(--line);border-radius:var(--r-2)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--track-wide);text-transform:none;white-space:nowrap;background:var(--status-neutral-bg);color:var(--status-neutral-fg);border:var(--bw) solid transparent}.chip .icon{width:var(--icon-sm);height:var(--icon-sm)}.chip__dot{width:var(--space-2);height:var(--space-2);border-radius:var(--r-round);background:var(--status-neutral-dot);flex:none}.chip--neutral{background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.chip--neutral .chip__dot{background:var(--status-neutral-dot)}.chip--info{background:var(--status-info-bg);color:var(--status-info-fg)}.chip--info .chip__dot{background:var(--status-info-dot)}.chip--success{background:var(--status-success-bg);color:var(--status-success-fg)}.chip--success .chip__dot{background:var(--status-success-dot)}.chip--warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}.chip--warning .chip__dot{background:var(--status-warning-dot)}.chip--danger{background:var(--status-error-bg);color:var(--status-error-fg)}.chip--danger .chip__dot{background:var(--status-error-dot)}.chip--running{background:var(--status-running-bg);color:var(--status-running-fg)}.chip--running .chip__dot{background:var(--status-running-dot);animation:sbpulse var(--dur-loop) ease-in-out infinite}.chip--queued{background:var(--status-queued-bg);color:var(--status-queued-fg)}.chip--queued .chip__dot{background:var(--status-queued-dot)}.chip--outline{background:transparent;border-color:currentColor}.chip--action{min-height:var(--control-sm);padding:0 var(--space-3);cursor:pointer;position:relative;font-size:var(--fs-sm)}.chip--action.is-active{background:var(--primary);color:var(--on-primary)}.tabs{display:flex;align-items:stretch;gap:var(--space-1);border-bottom:var(--bw) solid var(--line-2);min-width:0;overflow-x:auto}.tabs__tab{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border:none;border-bottom:var(--bw-strong) solid transparent;margin-bottom:calc(-1 * var(--bw));background:transparent;color:var(--text);font:var(--fw-medium) var(--fs-base)/var(--lh-tight) var(--sans);cursor:pointer;position:relative;white-space:nowrap;border-radius:var(--r-1) var(--r-1) 0 0}.tabs__tab.is-active,.tabs__tab[aria-selected=true]{border-bottom-color:var(--accent-strong);font-weight:var(--fw-semibold);color:var(--text)}.tabs__tab:disabled{color:var(--on-surface-disabled);cursor:not-allowed}.tabs__tab .chip{margin-left:var(--space-1)}.tabs--sm .tabs__tab{min-height:var(--control-sm);font-size:var(--fs-sm);padding:0 var(--space-2)}.tabs--fill .tabs__tab{flex:1 1 0;justify-content:center}.toolbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-height:var(--control-md);min-width:0}.toolbar .btn,.toolbar .field__control,.toolbar .chip--action,.toolbar .tabs__tab,.toolbar select,.toolbar input:not([type=checkbox]):not([type=radio]),.toolbar button{min-height:var(--control-sm)}.toolbar .field{gap:0}.toolbar__group{display:flex;align-items:center;gap:var(--space-1);flex-wrap:nowrap}.toolbar__spacer{flex:1 1 auto}.toolbar__sep{width:var(--bw);align-self:stretch;background:var(--line-2);margin:0 var(--space-1)}.toolbar__title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat{display:grid;gap:var(--space-0-5);min-width:0}.stat__label{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);line-height:var(--lh-tight);color:var(--text)}.stat__value{font-size:var(--fs-xl);font-weight:var(--fw-semibold);line-height:var(--lh-tight);font-variant-numeric:tabular-nums;color:var(--text)}.stat__unit{font-size:var(--fs-sm);font-weight:var(--fw-regular);margin-left:var(--space-0-5)}.stat__delta{font-size:var(--fs-sm);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.stat__delta.is-up{color:var(--success-text)}.stat__delta.is-down{color:var(--danger-text)}.stat--sm .stat__value{font-size:var(--fs-lg)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--text)}.empty__icon{display:flex;align-items:center;justify-content:center;color:var(--on-surface-disabled);margin-bottom:var(--space-1)}.empty__icon .icon,.empty__icon svg{width:var(--icon-xl);height:var(--icon-xl)}.empty__title{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin:0}.empty__hint{font-size:var(--fs-sm);line-height:var(--lh-body);max-width:44ch;margin:0}.empty__action{margin-top:var(--space-3);display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:center}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{display:block;border-radius:var(--r-2);background:linear-gradient(90deg,var(--panel-2),var(--surface-raised),var(--panel-2));background-size:200% 100%;animation:skeleton-shimmer var(--dur-loop) linear infinite;color:transparent;pointer-events:none;-webkit-user-select:none;user-select:none}.skeleton--text{height:1em;border-radius:var(--r-1)}.skeleton--text+.skeleton--text{margin-top:var(--space-2)}.skeleton--row{height:var(--control-md)}.skeleton--circle{border-radius:var(--r-round);aspect-ratio:1}@media(prefers-reduced-motion:reduce){.skeleton,.field.is-loading .field__control{animation:none;background:var(--panel-2)}}.map-overlay--tl,.map-overlay--tr,.map-overlay--bl,.map-overlay--br{position:absolute;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;z-index:var(--z-sticky);max-height:calc(100% - 2 * var(--space-3));max-width:calc(100% - 2 * var(--space-3))}.map-overlay--tl>*,.map-overlay--tr>*,.map-overlay--bl>*,.map-overlay--br>*{pointer-events:auto}.map-overlay--tl{top:var(--space-3);left:var(--space-3);align-items:flex-start}.map-overlay--tr{top:var(--space-3);right:var(--space-3);align-items:flex-end}.map-overlay--bl{bottom:calc(var(--space-3) + var(--map-notice-h, 0px));left:var(--space-3);align-items:flex-start;flex-direction:column-reverse}.map-overlay--br{bottom:var(--space-3);right:var(--space-3);align-items:flex-end;flex-direction:column-reverse}.map-overlay--tc{top:var(--space-3);left:50%;transform:translate(-50%);align-items:center}.map-overlay--bc{bottom:var(--space-3);left:50%;transform:translate(-50%);align-items:center;flex-direction:column-reverse}.tt-bubble{position:fixed;z-index:var(--z-tooltip);max-width:260px;padding:var(--space-2) var(--space-3);border-radius:var(--r-2);background:color-mix(in srgb,var(--ink) 92%,transparent);border:var(--bw) solid color-mix(in srgb,var(--accent) 32%,transparent);color:var(--on-chrome);font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:var(--lh-tight);white-space:normal;overflow-wrap:anywhere;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:var(--shadow-sm);animation:tt-in var(--dur) ease-out}.tt-disabled-wrap{display:inline-flex}@keyframes tt-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.tt-bubble{animation:none}}.info-hint{flex:none}.info-hint--inline{margin-block:calc((var(--icon-md) - var(--control-sm)) / 2)}.info-hint__bubble{position:fixed;z-index:var(--z-tooltip);max-width:320px;padding:var(--space-3) var(--space-4);background:var(--surface-raised);color:var(--text);border:var(--bw) solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow);font-size:var(--fs-sm);font-weight:var(--fw-regular);line-height:var(--lh-body);outline:none;animation:tt-in var(--dur) ease-out}.info-hint__bubble:focus-visible{box-shadow:var(--ring),var(--shadow)}.info-hint__title{font-weight:var(--fw-semibold);line-height:var(--lh-tight);margin-bottom:var(--space-1)}.info-hint__body p{margin:0 0 var(--space-2)}.info-hint__body p:last-child{margin-bottom:0}.info-hint__more{margin-top:var(--space-2);padding-top:var(--space-2);border-top:var(--bw) solid var(--line)}@media(prefers-reduced-motion:reduce){.info-hint__bubble{animation:none}}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-5)}.modal-root .modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-base);background:var(--scrim);animation:modal-fade var(--dur) ease}.modal-root .modal-box{position:relative;z-index:var(--z-raised);width:var(--modal-w);max-width:100%;max-height:calc(100vh - var(--space-8));display:flex;flex-direction:column;background:var(--surface-raised);color:var(--text);border:var(--bw) solid var(--line);border-radius:var(--r-5);box-shadow:var(--shadow-lg);overflow:hidden;outline:none;animation:modal-in var(--dur-slow) cubic-bezier(.2,.7,.3,1)}.modal-root .modal-box:focus-visible{box-shadow:var(--shadow-lg),var(--ring)}.modal-root .modal--sm{width:var(--modal-w)}.modal-root .modal--md{width:var(--modal-wide-w)}.modal-root .modal--lg{width:min(92vw,var(--picker-w))}.modal-box__head{flex:none;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4) var(--space-3) var(--space-5);border-bottom:var(--bw) solid var(--line-2)}.modal-box__title{flex:1 1 auto;min-width:0;margin:0;font-family:var(--display);font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--track-tight);color:var(--text);overflow-wrap:anywhere}.modal-box__dirty{flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--status-warning-fg);background:var(--status-warning-bg);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);white-space:nowrap}.modal-box__dirty.is-nudged{animation:modal-nudge var(--dur-slower) ease}.modal-box__close{flex:none}.modal-box__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-4) var(--space-5);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--text)}.modal-box__body>:first-child{margin-top:0}.modal-box__body>:last-child{margin-bottom:0}.modal-box__foot,.modal-box__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--space-2)}.modal-box__foot{flex:none;padding:var(--space-3) var(--space-5) var(--space-4);border-top:var(--bw) solid var(--line-2);background:var(--panel)}.modal-box__actions{margin-top:var(--space-4)}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(var(--space-2)) scale(.985)}to{opacity:1;transform:none}}@keyframes modal-nudge{0%,to{transform:none}25%{transform:translate(calc(-1 * var(--space-1)))}75%{transform:translate(var(--space-1))}}@media(max-width:640px){.modal-root{padding:var(--space-3);align-items:flex-end}.modal-root .modal-box,.modal-root .modal--sm,.modal-root .modal--md,.modal-root .modal--lg{width:100%;max-height:calc(100vh - var(--space-6))}}@media(prefers-reduced-motion:reduce){.modal-root .modal-scrim,.modal-root .modal-box,.modal-box__dirty.is-nudged{animation:none}}.confirm-action__message{margin:0;overflow-wrap:anywhere}.confirm-action__message b,.confirm-action__message strong{font-weight:var(--fw-semibold)}.confirm-action__consequence{margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--r-2);border-left:var(--space-1) solid var(--status-warning-dot);background:var(--status-warning-bg);color:var(--status-warning-fg);font-size:var(--fs-sm);line-height:var(--lh-snug)}.confirm-action--danger .confirm-action__consequence{border-left-color:var(--status-error-dot);background:var(--status-error-bg);color:var(--status-error-fg)}.confirm-action__field{display:block;margin-top:var(--space-4)}.confirm-action__field>span{display:block;margin-bottom:var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:var(--lh-tight);color:var(--text)}.confirm-action__field input{display:block;width:100%;min-height:var(--control-md);padding:0 var(--space-3);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel);color:var(--text);font:inherit;font-size:var(--fs-base);line-height:var(--lh-tight);transition:border-color var(--dur),box-shadow var(--dur)}.confirm-action__field input::placeholder{color:var(--on-surface-disabled)}.confirm-action__field input:focus-visible{outline:none;border-color:var(--accent-text);box-shadow:var(--ring)}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-float)}.tour-spot{position:fixed;border-radius:var(--r-2);pointer-events:none;box-shadow:0 0 0 var(--bw-strong) var(--accent),0 0 0 9999px var(--scrim);transition:top var(--dur),left var(--dur),width var(--dur),height var(--dur)}.tour-spot--none{top:50%;left:50%;width:0;height:0;border-radius:0;box-shadow:0 0 0 9999px var(--scrim)}.tour-card{position:fixed;width:min(370px,calc(100vw - var(--space-8)));background:var(--panel);color:var(--text);border:var(--bw) solid var(--line);border-radius:var(--r-4);padding:var(--space-5) var(--space-5) var(--space-4);box-shadow:var(--shadow-lg)}.tour-card--center{left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - var(--space-8)))}.tour-card:before{content:"";position:absolute;width:var(--space-3);height:var(--space-3);background:var(--panel);border:var(--bw) solid var(--line);border-width:var(--bw) 0 0 var(--bw);display:none}.tour-card--up:before{display:block;top:calc(-1 * var(--space-2));left:var(--space-5);transform:rotate(45deg)}.tour-card--down:before{display:block;bottom:calc(-1 * var(--space-2));right:var(--space-5);transform:rotate(225deg)}.tour-card--left:before{display:block;left:calc(-1 * var(--space-2));top:var(--space-5);transform:rotate(-45deg)}.tour-brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.tour-brand img{width:var(--control-sm);height:var(--control-sm);object-fit:contain;border-radius:var(--r-2);background:var(--surface-raised);padding:var(--space-px);box-shadow:var(--shadow);flex:none}.tour-brand span{font-family:var(--display);font-weight:var(--fw-bold);font-size:var(--fs-md);color:var(--brand);letter-spacing:var(--track-tight)}.tour-brand sup{font-size:.6em;font-weight:var(--fw-semibold);color:var(--accent-text);margin-left:var(--space-px);top:-.5em}.tour-step{font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:var(--track-wide);text-transform:uppercase;color:var(--muted-2);margin-bottom:var(--space-1)}.tour-card h2{font-family:var(--display);font-weight:var(--fw-semibold);font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0 0 var(--space-2);letter-spacing:var(--track-tight)}.tour-card--center h2{font-size:var(--fs-2xl)}.tour-body{font-size:var(--fs-sm);color:var(--muted);line-height:var(--lh-body)}.tour-body p{margin:0 0 var(--space-2)}.tour-dots{display:flex;gap:var(--space-1);margin-top:var(--space-3)}.tour-dots i{width:var(--space-1);height:var(--space-1);border-radius:var(--r-round);background:var(--line-2)}.tour-dots i.on{background:var(--accent)}.tour-nav{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3)}.tour-nav .tour-next{margin-left:auto}@media(prefers-reduced-motion:reduce){.tour-spot{transition:none}}.tut{height:100%;min-height:0;display:flex;background:var(--bg)}.tut-index{flex:0 0 auto;width:340px;min-width:0;display:flex;flex-direction:column;background:var(--panel);border-right:var(--bw) solid var(--line)}.tut-index-head{padding:var(--space-4);border-bottom:var(--bw) solid var(--line-2)}.tut-index-head h1{font-family:var(--display);font-size:var(--fs-xl);margin:0 0 var(--space-1);letter-spacing:var(--track-tight)}.tut-index-head p{margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--muted)}.tut-search{width:100%;min-height:var(--control-sm)}.tut-index-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2)}.tut-group{margin-bottom:var(--space-3)}.tut-group h2{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--track-wide);color:var(--muted-2);margin:var(--space-2) var(--space-2) var(--space-1)}.tut-item{display:flex;flex-direction:column;gap:var(--space-px);width:100%;text-align:left;background:none;border:none;border-radius:var(--r-2);padding:var(--space-2);color:var(--text)}.tut-item:hover{background:var(--panel-2)}.tut-item.on{background:color-mix(in srgb,var(--accent) 12%,var(--panel));box-shadow:inset var(--bw-accent) 0 0 var(--accent)}.tut-item.on .tut-item-t{color:var(--accent-text)}.tut-item-t{font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:var(--lh-tight)}.tut-item-d{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tut-item-p{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted-2);text-transform:uppercase;letter-spacing:var(--track-wide)}.tut-item--ext{cursor:default;opacity:.75}.tut-reader{flex:1;min-width:0;overflow-y:auto}.tut-reader-bar{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--panel);border-bottom:var(--bw) solid var(--line-2)}.tut-reader-title{font-weight:var(--fw-semibold)}.tut-reader-strand{margin-left:auto;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted-2);text-transform:uppercase;letter-spacing:var(--track-wide)}.tut-doc{max-width:820px;margin:0 auto;padding:var(--space-5) var(--space-5) var(--space-8);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--text)}.tut-doc h1{font-family:var(--display);font-size:var(--fs-2xl);letter-spacing:var(--track-tight);margin:0 0 var(--space-3)}.tut-doc h2{font-family:var(--display);font-size:var(--fs-xl);margin:var(--space-6) 0 var(--space-2)}.tut-doc h3{font-size:var(--fs-md);margin:var(--space-5) 0 var(--space-2)}.tut-doc p{margin:0 0 var(--space-3)}.tut-doc ul,.tut-doc ol{margin:0 0 var(--space-3);padding-left:var(--space-5)}.tut-doc li{margin-bottom:var(--space-1)}.tut-doc img{max-width:100%;height:auto;display:block;margin:var(--space-3) 0;border:var(--bw) solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow)}.tut-doc code{font-family:var(--mono);font-size:var(--fs-sm);background:var(--panel-2);padding:0 var(--space-1);border-radius:var(--r-1)}.tut-doc pre{background:var(--panel-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-3);padding:var(--space-3);overflow-x:auto;margin:0 0 var(--space-3)}.tut-doc pre code{background:none;padding:0}[data-theme=dark] .tut-doc pre code{background:none;color:inherit}.tut-doc .md-code{position:relative}.tut-doc .md-code pre{padding-right:calc(var(--space-3) + 64px)}.tut-doc .md-copy{position:absolute;top:var(--space-2);right:var(--space-2);min-height:var(--control-sm)}.tut-doc table{width:100%;border-collapse:collapse;margin:0 0 var(--space-4);font-size:var(--fs-sm)}.tut-doc th,.tut-doc td{border:var(--bw) solid var(--line-2);padding:var(--space-2);text-align:left;vertical-align:top}.tut-doc th{background:var(--panel-2);font-weight:var(--fw-semibold)}.tut-doc blockquote{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-4);border-left:var(--bw-accent) solid var(--accent);background:var(--panel);color:var(--muted)}.tut-doc hr{border:0;border-top:var(--bw) solid var(--line-2);margin:var(--space-5) 0}.tut-doc a{color:var(--accent-text)}.tut-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);height:100%;max-width:420px;margin:0 auto;text-align:center;color:var(--muted);padding:var(--space-6)}.tut-empty .icon,.tut-empty svg{width:var(--icon-lg);height:var(--icon-lg);color:var(--muted-2)}.tut-empty h2{font-family:var(--display);font-size:var(--fs-xl);margin:0;color:var(--text)}.tut-error{color:var(--danger-text)}.tut-doc--prov{padding-top:0}.prov-panel{border-top:var(--bw) solid var(--line-2);padding-top:var(--space-4)}.prov-panel h2{display:flex;align-items:center;gap:var(--space-2);font-family:var(--display);font-size:var(--fs-lg);margin:0 0 var(--space-2)}.prov-panel-intro{font-size:var(--fs-sm);color:var(--muted);margin:0 0 var(--space-3)}.prov-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.prov-row{border:var(--bw) solid var(--line-2);border-radius:var(--r-3);padding:var(--space-3);background:var(--panel)}.prov-row--source{margin-left:var(--space-4);background:var(--panel-2)}.prov-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap}.prov-row-name{font-weight:var(--fw-semibold);overflow-wrap:anywhere;min-width:0}.prov-chips{display:inline-flex;gap:var(--space-1);flex-wrap:wrap}.prov-row-cite{font-size:var(--fs-sm);color:var(--text);margin-top:var(--space-1)}.prov-row-meta{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-1)}.prov-row-meta a{color:var(--accent-text);display:inline-flex;align-items:center;gap:var(--space-1)}.prov-row-notes{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-1)}.prov-row-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.prov-sha{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted);overflow-wrap:anywhere;min-width:0}.cite-this{border:var(--bw) solid var(--line-2);border-radius:var(--r-3);padding:var(--space-3);background:var(--panel-2);margin-top:var(--space-3)}.cite-this-head{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold)}.cite-this-text{font-size:var(--fs-sm);margin:var(--space-2) 0;overflow-wrap:anywhere}.cite-this-dl{display:grid;grid-template-columns:auto 1fr;gap:var(--space-1) var(--space-3);font-size:var(--fs-xs);margin:0 0 var(--space-2)}.cite-this-dl dt{color:var(--muted)}.cite-this-dl dd{margin:0;overflow-wrap:anywhere}.cite-this-dl a{color:var(--accent-text)}.toast-host{position:fixed;right:var(--space-4);bottom:calc(var(--statusbar-h, 30px) + var(--space-4));z-index:var(--z-toast);display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:min(var(--modal-w),calc(100vw - var(--space-8)));pointer-events:none}.toast-host .toast{pointer-events:auto;position:static;left:auto;bottom:auto;transform:none;width:100%;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);border:var(--bw) solid var(--line-2);border-left:var(--space-1) solid var(--status-info-dot);border-radius:var(--r-3);background:var(--status-info-bg);color:var(--status-info-fg);box-shadow:var(--shadow-lg);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-snug);animation:toast-in var(--dur-slow) cubic-bezier(.2,.7,.3,1)}.toast-host .toast--success{border-left-color:var(--status-success-dot);background:var(--status-success-bg);color:var(--status-success-fg)}.toast-host .toast--error{border-left-color:var(--status-error-dot);background:var(--status-error-bg);color:var(--status-error-fg)}.toast-host .toast--info{border-left-color:var(--status-info-dot);background:var(--status-info-bg);color:var(--status-info-fg)}.toast-host .toast svg{color:inherit}.toast-host .toast.is-leaving{animation:toast-out var(--dur-slow) ease forwards}.toast__icon{flex:none;display:grid;place-items:center;height:calc(var(--fs-base) * var(--lh-snug))}.toast__message{flex:1 1 auto;min-width:0;color:var(--text);overflow-wrap:anywhere}.toast__action{flex:none;align-self:center;color:inherit}.toast__close{flex:none;margin:calc(-1 * var(--space-1)) 0;color:inherit}@keyframes toast-in{0%{opacity:0;transform:translateY(var(--space-2))}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(var(--space-2))}}@media(max-width:640px){.toast-host{right:var(--space-3);left:var(--space-3);width:auto}}@media(prefers-reduced-motion:reduce){.toast-host .toast,.toast-host .toast.is-leaving{animation:none}}.status-pill{--_bg: var(--status-neutral-bg);--_fg: var(--status-neutral-fg);--_dot: var(--status-neutral-dot);display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);border-radius:var(--r-pill);background:var(--_bg);color:var(--_fg);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:normal;text-transform:none;white-space:nowrap;vertical-align:middle;flex:none}.status-pill--md{font-size:var(--fs-sm);padding:var(--space-1) var(--space-3);gap:var(--space-2)}.status-pill--running,.status-dot--running{--_bg: var(--status-running-bg);--_fg: var(--status-running-fg);--_dot: var(--status-running-dot)}.status-pill--queued,.status-dot--queued{--_bg: var(--status-queued-bg);--_fg: var(--status-queued-fg);--_dot: var(--status-queued-dot)}.status-pill--success,.status-dot--success{--_bg: var(--status-success-bg);--_fg: var(--status-success-fg);--_dot: var(--status-success-dot)}.status-pill--warning,.status-dot--warning{--_bg: var(--status-warning-bg);--_fg: var(--status-warning-fg);--_dot: var(--status-warning-dot)}.status-pill--error,.status-dot--error{--_bg: var(--status-error-bg);--_fg: var(--status-error-fg);--_dot: var(--status-error-dot)}.status-pill--info,.status-dot--info{--_bg: var(--status-info-bg);--_fg: var(--status-info-fg);--_dot: var(--status-info-dot)}.status-pill--neutral,.status-dot--neutral{--_bg: var(--status-neutral-bg);--_fg: var(--status-neutral-fg);--_dot: var(--status-neutral-dot)}.status-pill--queued,.status-pill--neutral{box-shadow:inset 0 0 0 var(--bw) var(--line-2)}.status-pill__dot,.status-dot{flex:none;display:inline-block;width:var(--space-2);height:var(--space-2);border-radius:var(--r-round);background:var(--_dot, var(--status-neutral-dot));vertical-align:middle}.status-pill--md .status-pill__dot{width:calc(var(--space-2) + var(--space-0-5));height:calc(var(--space-2) + var(--space-0-5))}.status-pill--running .status-pill__dot,.status-dot--live{animation:status-pulse var(--dur-loop) ease-in-out infinite}@keyframes status-pulse{0%,to{opacity:1;box-shadow:0 0 color-mix(in srgb,var(--_dot) 45%,transparent)}50%{opacity:var(--opacity-hover);box-shadow:0 0 0 var(--space-1) transparent}}@media(prefers-reduced-motion:reduce){.status-pill--running .status-pill__dot,.status-dot--live{animation:none}}.feature-gate--disable{display:inline-flex;cursor:not-allowed}.feature-gate--disable>*{pointer-events:none}.feature-gate--explain{display:block;min-width:0}.feature-gate__reason{display:flex;align-items:flex-start;gap:var(--space-1);margin:var(--space-1) 0 0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--muted)}.feature-gate__reason>.icon{flex:none;margin-top:.15em;color:var(--accent-text)}.task-banner--done{background:color-mix(in srgb,var(--success) 8%,transparent);border-bottom-color:color-mix(in srgb,var(--success) 24%,transparent)}.task-banner--failed{background:color-mix(in srgb,var(--danger) 8%,transparent);border-bottom-color:color-mix(in srgb,var(--danger) 24%,transparent)}.task-banner--lost{background:color-mix(in srgb,var(--warning) 8%,transparent);border-bottom-color:color-mix(in srgb,var(--warning) 24%,transparent)}.task-banner--done .task-banner-dot,.task-banner--failed .task-banner-dot,.task-banner--lost .task-banner-dot{animation:none}.task-banner--done .task-banner-dot{background:var(--success)}.task-banner--failed .task-banner-dot{background:var(--danger)}.task-banner--lost .task-banner-dot{background:var(--warning)}.task-banner--done .task-banner-hdr,.task-banner--failed .task-banner-hdr,.task-banner--lost .task-banner-hdr{margin-bottom:0}.task-banner-sub--quiet{color:var(--muted);letter-spacing:0}.task-banner__error{display:flex;align-items:flex-start;gap:var(--space-1);margin-top:var(--space-1);font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--danger-text);overflow-wrap:anywhere}.task-banner__error>.icon{flex:none;margin-top:.15em}.task-banner__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.task-banner__btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--r-2);border:var(--bw) solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.task-banner__btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--accent-text)}.task-banner__btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.task-banner__btn--primary{background:var(--primary);color:var(--on-primary);border-color:transparent}.task-banner__btn--primary:hover:not(:disabled){background:var(--primary);border-color:transparent;filter:brightness(1.12)}.task-banner__btn--danger{margin-left:var(--space-2)}.task-banner__btn--danger:hover:not(:disabled){color:var(--danger-text);border-color:var(--danger-text);background:color-mix(in srgb,var(--danger) 10%,transparent)}[data-theme=light] .task-banner--done{background:var(--tint-success)}[data-theme=light] .task-banner--failed{background:var(--tint-danger)}[data-theme=light] .task-banner--lost{background:var(--tint-warning)}.rom-inputs__field{display:flex;flex-direction:column;gap:var(--space-0-5);margin-top:var(--space-2);min-width:0;flex:1 1 6rem}.rom-inputs__field--wide{flex:3 1 12rem}.rom-inputs__pair{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:flex-end}.rom-inputs__card{border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-2) var(--space-3);margin-top:var(--space-2);background:var(--surface)}.rom-inputs__card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2)}.rom-inputs__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.rom-inputs__file{cursor:pointer}.rom-inputs__list{margin:var(--space-2) 0 0;padding-left:var(--space-4);font-size:var(--fs-sm)}.rom-inputs__list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.rom-inputs__table{width:100%;border-collapse:collapse;margin-top:var(--space-2);font-size:var(--fs-sm);table-layout:fixed}.rom-inputs__table th{text-align:left;font-weight:var(--fw-semibold);color:var(--text-muted);padding:var(--space-0-5) var(--space-1)}.rom-inputs__table td{padding:var(--space-0-5) var(--space-1)}.rom-inputs__table th:last-child,.rom-inputs__table td:last-child{width:2.5rem}.rom-inputs__table .rom-cfg-input{width:100%;min-width:0}.rom-inputs__field>.rom-cfg-input,.rom-inputs__field>.rom-cfg-select{width:100%;min-width:0;text-align:left}.rom-inputs__table .rom-cfg-input{text-align:left}.rom-inputs__type{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}details.rom-inputs>summary{cursor:pointer;list-style:revert}.rom-inputs__table--auto{table-layout:auto}.rom-inputs__table--auto th:last-child,.rom-inputs__table--auto td:last-child{width:auto;text-align:right}.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}.layer-type-ico-wrap{display:inline-flex;flex-shrink:0}.lse{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);margin:0 var(--space-2) var(--space-2);border-top:var(--bw) solid var(--line-2);background:color-mix(in srgb,var(--panel) 70%,transparent);border-radius:var(--r-2)}.lse-row{display:flex;flex-direction:column;gap:var(--space-0-5);min-width:0}.lse-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.lse-lbl{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--muted);letter-spacing:var(--track-wide);text-transform:uppercase}.lse-input{width:100%;min-width:0;min-height:var(--control-sm);padding:0 var(--space-2);border-radius:var(--r-1);border:var(--bw) solid var(--line);background:var(--panel);color:var(--text);font-size:var(--fs-sm);font-family:inherit}.lse-input:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--accent-text)}.lse-input:disabled{opacity:var(--opacity-disabled)}.lse-ramp-preview{height:12px;border-radius:var(--r-1);border:var(--bw) solid var(--line-2)}.lse-check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text);cursor:pointer}.lse-check input{accent-color:var(--accent-text)}.lse-note{margin:0;font-size:var(--fs-xs);color:var(--muted)}.lse-note--warn{color:var(--danger-text)}.lse-preview{padding:var(--space-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);background:var(--panel)}.lse-actions{display:flex;justify-content:flex-end}.lse-export{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3)}.lse-export .lse-lbl{flex-basis:100%}.lse-dl{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);color:var(--accent-text);text-decoration:none}.lse-dl:hover{text-decoration:underline}.lse-dl:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-1)}.map-space{background-color:var(--map-space-deep);background-image:radial-gradient(1px 1px at 12% 18%,var(--map-star),transparent 60%),radial-gradient(1px 1px at 72% 12%,var(--map-star),transparent 60%),radial-gradient(1.5px 1.5px at 86% 64%,var(--map-star),transparent 60%),radial-gradient(1px 1px at 34% 82%,var(--map-star),transparent 60%),radial-gradient(1px 1px at 58% 44%,var(--map-star),transparent 60%),radial-gradient(1px 1px at 22% 58%,var(--map-star),transparent 60%),radial-gradient(1.5px 1.5px at 92% 28%,var(--map-star),transparent 60%),radial-gradient(1px 1px at 6% 90%,var(--map-star),transparent 60%),radial-gradient(ellipse at 50% 50%,var(--map-space-glow) 0%,var(--map-space-deep) 70%)}:is(button,[role=button],[role=tab],[role=menuitem]):is(:disabled,[aria-disabled=true]) .icon,fieldset:disabled .icon{--icon-duo: color-mix(in srgb, currentColor 14%, transparent)}.empty__icon,.wb-config-empty-icon,.tut-empty,.about-pillar-ico,.icon.icon--brand{--icon-duo: var(--icon-duo-brand)}.empty__icon.empty__icon--status{--icon-duo: color-mix(in srgb, currentColor var(--icon-duo-tint), transparent)}@media(pointer:coarse){:root{--control-sm: 44px;--control-md: 48px;--control-lg: 56px}}@media(prefers-contrast:more){:root,[data-theme]{--line-2: var(--line);--state-hover: .16;--state-pressed: .24}.field__control::placeholder{color:var(--text)}.btn--ghost,.chip--action,.tabs__tab{outline:var(--bw) solid var(--line);outline-offset:-1px}}@media(forced-colors:active){.btn,.chip,.status-pill,.card,.field__control,.toast-host .toast,.modal-root .modal-box{border:var(--bw) solid CanvasText}.tabs__tab.is-active{border-bottom-color:Highlight}.status-pill__dot,.chip__dot,.status-dot{forced-color-adjust:none}}.wb-picker-error{position:fixed;top:calc(var(--control-lg) + var(--space-5));left:50%;transform:translate(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-2);max-width:min(640px,calc(100vw - var(--space-8)));padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--r-3);border:var(--bw) solid var(--line-2);border-left:var(--space-1) solid var(--status-error-dot);background:var(--status-error-bg);color:var(--status-error-fg);box-shadow:var(--shadow-lg);font-size:var(--fs-sm);line-height:var(--lh-snug)}.aa-h{margin:0 0 var(--space-2)}.aa-h4{margin:var(--space-5) 0 var(--space-2);font-size:var(--fs-base)}.aa-note{margin:0 0 var(--space-3);color:var(--muted);font-size:var(--fs-sm);max-width:72ch}.aa-range{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-4)}.aa-range .field{width:11rem}.aa-tiles{margin-top:var(--space-2)}.aa-scroll{overflow-x:auto;max-width:100%;margin-bottom:var(--space-3)}.aa-user{display:inline-flex;align-items:center;gap:var(--space-2);white-space:nowrap}.aa-num{font-variant-numeric:tabular-nums;text-align:right}.aa-chart{margin:0 0 var(--space-3)}.aa-svg{width:100%;max-width:680px;height:auto;display:block}.aa-who{font-size:var(--fs-sm);color:var(--muted);max-width:18rem;overflow-wrap:anywhere}.cb-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-3)}.cb-bar__title{margin:0}.cb-bar__ws{min-width:16rem}.cb-spacer{flex:1 1 auto}.cb-desc{margin:0 0 var(--space-3);max-width:72ch}.cb-tabs-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.cb-muted{color:var(--muted);font-size:var(--fs-sm)}.cb-ok{color:var(--status-success-fg);font-size:var(--fs-sm)}.cb-key{font-family:var(--mono);font-weight:var(--fw-semibold)}.cb-num{font-variant-numeric:tabular-nums;text-align:right}.cb-linkbtn{background:none;border:none;padding:0;color:var(--accent-text);cursor:pointer;font:inherit;text-align:left;text-decoration:underline;text-underline-offset:2px}.cb-linkbtn:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-1)}.cb-h3{margin:0;font-size:var(--fs-md)}.cb-h4{margin:var(--space-4) 0 var(--space-2);font-size:var(--fs-base)}.cb-plain{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.cb-filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-3)}.cb-filters .field{min-width:10rem}.cb-check{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm)}.cb-checks{display:flex;flex-wrap:wrap;gap:var(--space-3)}.cb-title-cell{min-width:16rem}.cb-row-reason{color:var(--muted);font-size:var(--fs-sm);margin-top:var(--space-0-5);overflow-wrap:anywhere}.cb-textarea{min-height:4.5rem;resize:vertical;font-family:inherit}.cb-prefix{font-family:var(--mono);text-transform:uppercase;max-width:12rem}.cb-role{min-width:8rem}.cb-form{display:grid;gap:var(--space-3)}.cb-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-3)}.cb-form__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cb-fieldset{border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-2) var(--space-3) var(--space-3);margin:0;display:grid;gap:var(--space-2)}.cb-dialog__title{margin:0 0 var(--space-3);font-weight:var(--fw-semibold)}.cb-item__top{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cb-item__title{margin:var(--space-2) 0 var(--space-3);font-size:var(--fs-xl);line-height:var(--lh-snug);overflow-wrap:anywhere}.cb-decision{border:var(--bw) solid var(--line);border-left-width:4px;border-radius:var(--r-2);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);background:var(--status-neutral-bg);color:var(--status-neutral-fg)}.cb-decision--accepted{background:var(--status-success-bg);color:var(--status-success-fg);border-left-color:var(--status-success-dot)}.cb-decision--needs_info,.cb-decision--deferred{background:var(--status-warning-bg);color:var(--status-warning-fg);border-left-color:var(--status-warning-dot)}.cb-decision--declined,.cb-decision--duplicate{border-left-color:var(--status-neutral-dot)}.cb-decision--pending{background:var(--status-queued-bg);color:var(--status-queued-fg);border-left-color:var(--status-queued-dot)}.cb-decision__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);font-size:var(--fs-base)}.cb-decision__reason{margin:var(--space-2) 0 0;font-size:var(--fs-md);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:anywhere}.cb-decision__extra{margin:var(--space-1) 0 0;font-size:var(--fs-sm)}.cb-moves{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.cb-item__grid{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:var(--space-5)}@media(max-width:900px){.cb-item__grid{grid-template-columns:minmax(0,1fr)}}.cb-section{border-top:var(--bw) solid var(--line-2);padding-top:var(--space-3);margin-bottom:var(--space-4)}.cb-section__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);justify-content:space-between;margin-bottom:var(--space-2)}.cb-md{line-height:var(--lh-body);overflow-wrap:anywhere}.cb-md p{margin:0 0 var(--space-2)}.cb-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-1) var(--space-3);margin:0;font-size:var(--fs-sm)}.cb-facts dt{color:var(--muted)}.cb-facts dd{margin:0;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;gap:var(--space-1)}.cb-facts__pair{display:contents}.cb-history{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2);font-size:var(--fs-sm)}.cb-history__reason{margin-top:var(--space-0-5);padding-left:var(--space-3);border-left:2px solid var(--line)}.cb-history__note{margin-top:var(--space-0-5);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}.cb-files{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.cb-files__images{display:flex;flex-wrap:wrap;gap:var(--space-3)}.cb-files__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-1)}.cb-files__list li{display:flex;align-items:center;gap:var(--space-2)}.cb-file{margin:0;max-width:22rem}.cb-file__img{display:block;max-width:100%;max-height:16rem;border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--panel-2)}.cb-file__img-link:focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--r-2)}.cb-file__cap,.cb-file__note{font-size:var(--fs-xs);color:var(--muted);overflow-wrap:anywhere}.cb-attach{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cb-thread{list-style:none;margin:var(--space-2) 0;padding:0;display:grid;gap:var(--space-3)}.cb-comment{border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-2) var(--space-3);background:var(--panel)}.cb-comment__head{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:baseline;margin-bottom:var(--space-1)}.cb-composer{display:grid;gap:var(--space-2);position:relative}.cb-composer__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cb-mentions{list-style:none;margin:0;padding:var(--space-1);border:var(--bw) solid var(--line);border-radius:var(--r-2);background:var(--surface-raised);box-shadow:var(--shadow-sm);max-width:28rem}.cb-mentions__opt{display:flex;gap:var(--space-2);align-items:baseline;width:100%;background:none;border:none;padding:var(--space-1) var(--space-2);border-radius:var(--r-1);color:var(--text);font:inherit;text-align:left;cursor:pointer}.cb-mentions__opt:hover,.cb-mentions__opt:focus-visible{background:var(--veil-2);outline:none}.cb-inbox{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.cb-inbox__item{border:var(--bw) solid var(--line);border-radius:var(--r-3);padding:var(--space-3) var(--space-4);background:var(--panel)}.cb-inbox__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cb-inbox__title{display:block;margin:var(--space-2) 0;font-size:var(--fs-md)}.cb-inbox .cb-moves{margin-bottom:0}.cb-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(10.5rem,1fr);gap:var(--space-3);overflow-x:auto;padding-bottom:var(--space-2)}.cb-board__col{background:var(--veil-1);border:var(--bw) solid var(--line-2);border-radius:var(--r-3);padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2);min-height:8rem}.cb-board__head{margin:0 0 var(--space-1);font-size:var(--fs-sm);font-weight:var(--fw-semibold);display:flex;justify-content:space-between;gap:var(--space-2)}.cb-card{display:grid;gap:var(--space-1);text-align:left;border:var(--bw) solid var(--line);border-radius:var(--r-2);padding:var(--space-2);background:var(--panel);color:var(--text);font:inherit;cursor:pointer}.cb-card:hover{border-color:var(--accent-text)}.cb-card:focus-visible{outline:none;box-shadow:var(--ring)}.cb-card__top{font-size:var(--fs-sm)}.cb-card__title{overflow-wrap:anywhere}.cb-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.cb-settings{display:grid;gap:var(--space-2);max-width:60rem}.cb-invite{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-top:var(--space-3)}.table .cb-key,.cb-date{white-space:nowrap}.cb-cal__month{margin:0;min-width:12rem;text-align:center}.cb-cal__grid{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:var(--space-1)}.cb-cal__grid th{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--track-caps);text-align:left;padding:var(--space-1)}.cb-cal__day{vertical-align:top;height:6.5rem;padding:var(--space-1);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);background:var(--surface-raised);overflow:hidden}.cb-cal__day.is-out{background:var(--panel-2)}.cb-cal__day.is-out .cb-cal__n{color:var(--on-surface-disabled)}.cb-cal__day.is-today{box-shadow:inset 0 0 0 var(--bw-strong) var(--accent-strong)}.cb-cal__n{display:block;font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:var(--space-1)}.cb-cal__item{display:block;width:100%;text-align:left;border:var(--bw) solid var(--line);border-radius:var(--r-1);background:var(--tint-info);color:var(--text);font:inherit;font-size:var(--fs-2xs);line-height:var(--lh-tight);padding:var(--space-0-5) var(--space-1);margin-bottom:var(--space-0-5);overflow:hidden;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}.cb-cal__item:focus-visible{outline:none;box-shadow:var(--ring)}.msg-archive-note{padding:var(--space-3) var(--space-4)}.pmh-profile{overflow:hidden;display:flex;flex-direction:column}.pmh-loading{padding:var(--space-7);text-align:center;color:var(--text)}.pmh{flex:1;min-height:0;display:flex}.pmh-rail{width:var(--rail-w);flex:none;display:flex;flex-direction:column;min-height:0;background:var(--panel);border-right:var(--bw) solid var(--line);color:var(--text)}[data-theme=dark] .pmh-rail{background:linear-gradient(180deg,var(--ink),var(--navy-2));border-right-color:var(--veil-2)}.pmh-rail__scroll{flex:1;min-height:0;overflow-y:auto;padding:var(--space-2) 0}.pmh-rail__h{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-1);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase}.pmh-rail__hlink{background:none;border:none;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;min-height:var(--space-5)}.pmh-rail__hlink:hover,.pmh-rail__hlink.is-on{text-decoration:underline;text-underline-offset:3px}.pmh-rail__add{width:var(--space-5);height:var(--space-5);display:grid;place-items:center;padding:0;border:var(--bw) solid var(--line);border-radius:var(--r-1);background:var(--surface-raised);color:var(--text);cursor:pointer}.pmh-rail__note{margin:0;padding:var(--space-1) var(--space-4);font-size:var(--fs-sm)}.pmh-rail__more{display:block;width:100%;text-align:left;background:none;border:none;color:var(--accent-text);font:inherit;font-size:var(--fs-sm);padding:var(--space-1) var(--space-4) var(--space-1) calc(var(--space-4) + var(--icon-md) + var(--space-3));cursor:pointer;text-decoration:underline;text-underline-offset:2px}.pmh-ri{position:relative;width:100%;display:flex;align-items:center;gap:var(--space-3);min-height:var(--control-md);padding:var(--space-2) var(--space-4);background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pmh-ri:hover{background:rgba(var(--state-layer),var(--state-hover))}.pmh-ri:focus-visible{outline:none;box-shadow:inset var(--ring)}.pmh-ri.is-on{background:color-mix(in srgb,var(--accent) 9%,var(--panel));font-weight:var(--fw-semibold)}[data-theme=dark] .pmh-ri.is-on{background:var(--veil-2)}.pmh-ri.is-on:before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--bw-accent);background:var(--accent-strong)}.pmh-ri__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmh-pfx{font-family:var(--mono);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);padding:0 var(--space-1);border:var(--bw) solid var(--line);border-radius:var(--r-1);flex:none}.pmh-count{min-width:var(--space-5);height:var(--space-5);padding:0 var(--space-1);border-radius:var(--r-pill);display:inline-grid;place-items:center;flex:none;font-size:var(--fs-2xs);font-weight:var(--fw-bold);background:var(--primary);color:var(--on-primary)}.pmh-count--warn{background:var(--status-warning-bg);color:var(--status-warning-fg);border:var(--bw) solid var(--status-warning-dot)}.pmh-count--soft{background:var(--status-neutral-bg);color:var(--text);border:var(--bw) solid var(--line-2)}.pmh-rail__me{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;border-top:var(--bw) solid var(--line-2);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.pmh-rail__me:hover{background:rgba(var(--state-layer),var(--state-hover))}.pmh-rail__me.is-on{background:color-mix(in srgb,var(--accent) 9%,var(--panel))}[data-theme=dark] .pmh-rail__me.is-on{background:var(--veil-2)}.pmh-rail__me:focus-visible{outline:none;box-shadow:inset var(--ring)}.pmh-rail__who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:var(--lh-tight);font-size:var(--fs-sm)}.pmh-rail__who b{font-size:var(--fs-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pmh-avatar{width:var(--control-sm);height:var(--control-sm);border-radius:var(--r-round);display:grid;place-items:center;flex:none;background:var(--gold);color:var(--ink);font-weight:var(--fw-bold);font-size:var(--fs-sm)}.pmh-avatar--lg{width:var(--control-lg);height:var(--control-lg);font-size:var(--fs-lg);font-family:var(--display)}.pmh-main{flex:1;min-width:0;min-height:0;overflow-y:auto;background:var(--bg)}.pmh-page{padding:var(--space-4) var(--space-5) var(--space-6);max-width:1600px}.pmh-crumbs{display:flex;align-items:center;gap:var(--space-1);font-size:var(--fs-sm);margin-bottom:var(--space-1)}.pmh-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}.pmh-h1{margin:0;font-family:var(--display);font-weight:var(--fw-semibold);font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:var(--track-tight)}.pmh-id{display:grid;gap:var(--space-1);min-width:0}.pmh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--fs-sm)}.pmh-meta>span+span:before{content:"·";margin-right:var(--space-3)}.pmh-toolbar{padding:var(--space-3) 0}.pmh-tabbody{padding-top:var(--space-3)}.pmh-section{margin-top:var(--space-5)}.pmh-kw{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4)}.pmh-page>.tabs{margin-top:var(--space-2)}.pmh-page .cb-settings{margin-top:var(--space-3)}.pmh-page .seg{display:inline-flex}.pmh-page .seg button{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--control-sm);font-family:var(--sans)}.pmh-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,22rem);gap:var(--space-4);align-items:start}.pmh-card{background:var(--surface-raised);border:var(--bw) solid var(--line);border-radius:var(--r-4);min-width:0;overflow:hidden}.pmh-card+.pmh-card{margin-top:var(--space-3)}.pmh-card__h{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:var(--bw) solid var(--line-2)}.pmh-card__h h2{margin:0;font-size:var(--fs-md);font-weight:var(--fw-semibold)}.pmh-card__note{margin-left:auto;font-size:var(--fs-sm)}.pmh-card__body{padding:var(--space-3) var(--space-4)}.pmh-grp{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--panel);border-top:var(--bw) solid var(--line-2);font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--track-caps);text-transform:uppercase}.pmh-grp:first-child{border-top:none}.pmh-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--space-3);align-items:start;padding:var(--space-3) var(--space-4);border-top:var(--bw) solid var(--line-2)}.pmh-grp+.pmh-row{border-top:none}.pmh-row__t{font-weight:var(--fw-medium)}.pmh-row__s{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--fs-sm);margin-top:var(--space-0-5)}.pmh-row__empty{padding:var(--space-2) var(--space-4) var(--space-3);font-size:var(--fs-sm)}.pmh-act{list-style:none;margin:0;padding:var(--space-2) var(--space-4) var(--space-3);display:grid;gap:var(--space-2);font-size:var(--fs-sm);line-height:var(--lh-snug)}.pmh-act time{display:block;font-size:var(--fs-2xs)}.pmh-today{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.pmh-today__p{display:flex;align-items:center;gap:var(--space-2);border:var(--bw) solid var(--line-2);border-radius:var(--r-2);padding:var(--space-1) var(--space-2);font-size:var(--fs-sm);min-width:0}.pmh-today__p>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1180px){.pmh-home{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.pmh{flex-direction:column}.pmh-rail{width:auto;border-right:none;border-bottom:var(--bw) solid var(--line);max-height:40vh}.pmh-page{padding:var(--space-3) var(--space-4) var(--space-5)}}
