@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 Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;font-family:var(--wasp-font-sans);font-size:16px;--wasp-font-sans: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--wasp-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, "Cascadia Code", Consolas, monospace;--wasp-bg: #eef1f4;--wasp-surface: #ffffff;--wasp-surface-subtle: #eef3f7;--wasp-surface-raised: #f7f9fb;--wasp-border: #cdd7df;--wasp-border-subtle: #e3e9ee;--wasp-text: #16212b;--wasp-text-strong: #0c1922;--wasp-muted: #4f5e69;--wasp-faint: #64727d;--wasp-on-accent: #ffffff;--wasp-accent: #0f7b6c;--wasp-accent-strong: #0a5f54;--wasp-accent-bg: #e6f4f1;--wasp-accent-border: #9bd2c7;--wasp-good: #0a7d4d;--wasp-good-bg: #e7f6ee;--wasp-good-border: #9fd8bd;--wasp-warn: #8a4d00;--wasp-warn-bg: #fff4e2;--wasp-warn-border: #f0c98a;--wasp-bad: #b42318;--wasp-bad-bg: #fdecea;--wasp-bad-border: #f1b4ad;--wasp-danger: #b42318;--wasp-info: #1f5fa8;--wasp-info-bg: #e9f1fb;--wasp-info-border: #a9c8ec;--wasp-nav-bg: #101820;--wasp-nav-text: #e8eee9;--wasp-nav-muted: #9fb1a8;--wasp-nav-heading: #8ea29a;--wasp-nav-active-bg: #28413a;--wasp-chart-1: #0f7b6c;--wasp-chart-2: #2b6cb0;--wasp-chart-3: #b7791f;--wasp-chart-4: #805ad5;--wasp-chart-5: #c05621;--wasp-chart-6: #2c7a7b;--wasp-chart-7: #b83280;--wasp-grid-line: rgba(70, 117, 95, .1);--wasp-bus-bar: #26342f;--wasp-track: #e4ebe6;--wasp-modebar-bg: #ffffff;--wasp-modebar-border: #d7ddd7;--wasp-shadow: 0 1px 2px rgba(11, 31, 51, .06), 0 1px 3px rgba(11, 31, 51, .05);--wasp-shadow-hover: 0 6px 18px rgba(15, 35, 28, .12), 0 2px 6px rgba(15, 35, 28, .08);--wasp-shadow-raised: 0 10px 30px rgba(15, 35, 28, .14);--wasp-focus: #0f7b6c;--wasp-border-width: 1px;--wasp-radius-sm: 8px;--wasp-radius: 12px;--wasp-radius-lg: 16px;--wasp-motion: .14s cubic-bezier(.2, 0, .2, 1)}:root[data-theme=dark]{color-scheme:dark;--wasp-bg: #0d1418;--wasp-surface: #151f25;--wasp-surface-subtle: #1b262d;--wasp-surface-raised: #1a242b;--wasp-border: #2c3a42;--wasp-border-subtle: #243038;--wasp-text: #e7eef2;--wasp-text-strong: #f4f8fa;--wasp-muted: #a4b4bf;--wasp-faint: #8595a0;--wasp-on-accent: #04140f;--wasp-accent: #2bb8a3;--wasp-accent-strong: #46d0ba;--wasp-accent-bg: #123029;--wasp-accent-border: #235b4f;--wasp-good: #3ecf8e;--wasp-good-bg: #11301f;--wasp-good-border: #1f5a3b;--wasp-warn: #e7ab45;--wasp-warn-bg: #322611;--wasp-warn-border: #5b451a;--wasp-bad: #f1726a;--wasp-bad-bg: #371714;--wasp-bad-border: #5e2a25;--wasp-danger: #f1726a;--wasp-info: #5ea0e6;--wasp-info-bg: #122436;--wasp-info-border: #284b6b;--wasp-nav-bg: #0a1014;--wasp-nav-text: #dbe7ec;--wasp-nav-muted: #8295a1;--wasp-nav-heading: #7e919d;--wasp-nav-active-bg: #1b3a33;--wasp-chart-1: #2bd0b6;--wasp-chart-2: #6aa9f0;--wasp-chart-3: #e7ab45;--wasp-chart-4: #b18cf0;--wasp-chart-5: #f0915a;--wasp-chart-6: #4ec9c9;--wasp-chart-7: #ec6cb4;--wasp-grid-line: rgba(120, 170, 150, .12);--wasp-bus-bar: #6b8079;--wasp-track: #243038;--wasp-modebar-bg: #121b21;--wasp-modebar-border: #243038;--wasp-shadow: 0 1px 2px rgba(0, 0, 0, .45);--wasp-shadow-hover: 0 8px 22px rgba(0, 0, 0, .55), 0 2px 6px rgba(0, 0, 0, .4);--wasp-shadow-raised: 0 12px 34px rgba(0, 0, 0, .55);--wasp-focus: #46d0ba}:root[data-theme=high-contrast]{color-scheme:dark;font-size:18px;--wasp-bg: #000000;--wasp-surface: #0a0a0a;--wasp-surface-subtle: #161616;--wasp-surface-raised: #161616;--wasp-border: #7c8c97;--wasp-border-subtle: #5a6a75;--wasp-text: #ffffff;--wasp-text-strong: #ffffff;--wasp-muted: #e0e8ee;--wasp-faint: #cdd9df;--wasp-on-accent: #000000;--wasp-accent: #34e0c6;--wasp-accent-strong: #5cf0d8;--wasp-accent-bg: #06241f;--wasp-accent-border: #34e0c6;--wasp-good: #36f08f;--wasp-good-bg: #022310;--wasp-good-border: #36f08f;--wasp-warn: #ffc34d;--wasp-warn-bg: #2a1d00;--wasp-warn-border: #ffc34d;--wasp-bad: #ff7063;--wasp-bad-bg: #2a0a07;--wasp-bad-border: #ff7063;--wasp-danger: #ff7063;--wasp-info: #6cb6ff;--wasp-info-bg: #04203b;--wasp-info-border: #6cb6ff;--wasp-nav-bg: #000000;--wasp-nav-text: #ffffff;--wasp-nav-muted: #d3dfe5;--wasp-nav-heading: #cdd9df;--wasp-nav-active-bg: #143b34;--wasp-chart-1: #34e0c6;--wasp-chart-2: #6cb6ff;--wasp-chart-3: #ffc34d;--wasp-chart-4: #c9a4ff;--wasp-chart-5: #ff9a5c;--wasp-chart-6: #5ef0f0;--wasp-chart-7: #ff8ad0;--wasp-grid-line: rgba(255, 255, 255, .16);--wasp-bus-bar: #c0ccd3;--wasp-track: #2c2c2c;--wasp-modebar-bg: #000000;--wasp-modebar-border: #7c8c97;--wasp-shadow: 0 0 0 1px rgba(255, 255, 255, .18);--wasp-shadow-hover: 0 0 0 2px rgba(255, 255, 255, .32);--wasp-shadow-raised: 0 0 0 2px rgba(255, 255, 255, .25);--wasp-focus: #ffd34d;--wasp-border-width: 2px}body{margin:0;background:var(--wasp-bg);color:var(--wasp-text)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--wasp-focus);outline-offset:2px;border-radius:4px}.wasp-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.wasp-sidebar{background:var(--wasp-nav-bg);color:var(--wasp-nav-text);padding:18px 14px}.wasp-brand{font-size:18px;font-weight:700;letter-spacing:0;margin:0 0 18px}.wasp-nav{display:grid;gap:4px}.wasp-nav button{width:100%;border:0;background:transparent;color:var(--wasp-nav-text);display:flex;align-items:center;gap:10px;min-height:38px;padding:8px 10px;border-radius:6px;cursor:pointer;text-align:left}.wasp-nav button[aria-current=page]{background:var(--wasp-nav-active-bg);color:var(--wasp-nav-text)}.wasp-main{min-width:0;padding:18px 22px 28px}.wasp-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.wasp-title{margin:0;font-size:22px;line-height:1.2}.wasp-subtitle{color:var(--wasp-muted);margin:4px 0 0;font-size:13px}.wasp-grid{display:grid;gap:12px}.wasp-grid.two{grid-template-columns:minmax(280px,.9fr) minmax(420px,1.4fr)}.wasp-panel{background:var(--wasp-surface);border:var(--wasp-border-width) solid var(--wasp-border);border-radius:8px;box-shadow:var(--wasp-shadow);min-width:0}.wasp-panel-header{min-height:44px;padding:10px 12px;border-bottom:1px solid var(--wasp-border);display:flex;align-items:center;justify-content:space-between;gap:10px}.wasp-panel-title{margin:0;font-size:14px;font-weight:700}.wasp-panel-body{padding:12px}.wasp-status-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.wasp-badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;border-radius:999px;border:1px solid var(--wasp-border);padding:3px 9px;color:var(--wasp-muted);background:var(--wasp-surface);font-size:12.5px;white-space:nowrap}.wasp-badge.good{color:var(--wasp-good);border-color:var(--wasp-good-border);background:var(--wasp-good-bg)}.wasp-badge.bad{color:var(--wasp-bad);border-color:var(--wasp-bad-border);background:var(--wasp-bad-bg)}.wasp-badge.warn{color:var(--wasp-warn);border-color:var(--wasp-warn-border);background:var(--wasp-warn-bg)}.wasp-table-wrap{overflow:auto;border:1px solid var(--wasp-border);border-radius:6px;background:var(--wasp-surface)}.wasp-table{width:100%;border-collapse:collapse;font-size:13px}.wasp-table th,.wasp-table td{border-bottom:1px solid var(--wasp-border-subtle);padding:8px 9px;text-align:left;vertical-align:top;white-space:nowrap}.wasp-table th{background:var(--wasp-surface-subtle);color:var(--wasp-faint);font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;position:sticky;top:0;z-index:1}.wasp-table tr.selectable{cursor:pointer}.wasp-table tr.selectable:hover,.wasp-table tr.selected{background:var(--wasp-accent-bg)}.wasp-hierarchy-table .wasp-row-kind-switchboard,.wasp-hierarchy-table .wasp-row-kind-bus,.wasp-hierarchy-table .wasp-row-kind-feeder,.wasp-hierarchy-table .wasp-row-kind-meter{background:var(--wasp-surface-raised)}.wasp-hierarchy-table .wasp-row-kind-meter td{font-weight:600}.wasp-hierarchy-cell{display:inline-flex;align-items:center;gap:6px;min-width:max-content}.wasp-hierarchy-label{min-width:0}.wasp-hierarchy-toggle,.wasp-hierarchy-spacer{width:20px;height:20px;flex:0 0 20px}.wasp-hierarchy-toggle{border:1px solid var(--wasp-border);border-radius:5px;background:var(--wasp-surface);color:var(--wasp-muted);display:inline-grid;place-items:center;padding:0;cursor:pointer;font-size:12px;line-height:1}.wasp-hierarchy-toggle:hover{border-color:var(--wasp-accent);color:var(--wasp-accent)}.wasp-hierarchy-spacer{display:inline-block}.wasp-input,.wasp-select,.wasp-textarea{width:100%;border:1px solid var(--wasp-border);border-radius:6px;background:var(--wasp-surface);color:var(--wasp-text);padding:8px 9px}.wasp-textarea{min-height:260px;resize:vertical;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.45}.wasp-button-row{display:flex;gap:8px;flex-wrap:wrap}.wasp-button{min-height:34px;border:1px solid var(--wasp-border);border-radius:6px;background:var(--wasp-surface);color:var(--wasp-text);display:inline-flex;align-items:center;gap:7px;padding:6px 11px;cursor:pointer}.wasp-button:hover{border-color:var(--wasp-accent)}.wasp-button.primary{background:var(--wasp-accent);border-color:var(--wasp-accent);color:var(--wasp-on-accent)}.wasp-button.primary:hover{background:var(--wasp-accent-strong);border-color:var(--wasp-accent-strong)}.wasp-button.danger{border-color:var(--wasp-bad-border);color:var(--wasp-danger)}.wasp-button:disabled{opacity:.55;cursor:not-allowed}.wasp-code{margin:0;max-height:560px;overflow:auto;padding:10px;border:1px solid var(--wasp-border);border-radius:6px;background:#0f1720;color:#e8edf2;font-size:12px;line-height:1.45}.wasp-json-collapsed{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--wasp-border);border-radius:6px;background:var(--wasp-surface);padding:12px}.wasp-error{color:var(--wasp-danger);font-size:12.5px}.wasp-muted{color:var(--wasp-muted)}@media(max-width:920px){.wasp-shell{grid-template-columns:1fr}.wasp-sidebar{position:static}.wasp-grid.two{grid-template-columns:1fr}}:root{color:var(--wasp-text);background:var(--wasp-bg);font-family:var(--wasp-font-sans, "IBM Plex Sans", system-ui, sans-serif);letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--wasp-bg)}button,input,select,textarea{font:inherit}.ems-industrial-root{min-height:100vh}.ems-mode-bar{height:52px;border-bottom:1px solid var(--wasp-modebar-border);background:var(--wasp-modebar-bg);box-shadow:var(--wasp-shadow);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:12px;position:sticky;top:0;z-index:20}.ems-mode-bar strong{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em}.ems-mode-bar span{color:var(--wasp-muted);font-size:12.5px}.ems-mode-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ems-theme-switcher{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--wasp-border);border-radius:999px;background:var(--wasp-surface-subtle);padding:2px}.ems-theme-switcher button{border:0;background:transparent;color:var(--wasp-muted);width:34px;height:28px;border-radius:999px;display:grid;place-items:center;cursor:pointer}.ems-theme-switcher button:hover{color:var(--wasp-text)}.ems-theme-switcher button[aria-pressed=true]{background:var(--wasp-surface);color:var(--wasp-accent);box-shadow:var(--wasp-shadow)}.ems-message{border-bottom:1px solid var(--wasp-warn-border);background:var(--wasp-warn-bg);color:var(--wasp-warn);padding:8px 18px;font-size:13px}.ems-message-subtle{border-bottom-color:var(--wasp-info-border);background:var(--wasp-info-bg);color:var(--wasp-info)}.ems-timestamp{color:var(--wasp-muted);font-size:12.5px}.ems-timestamp.stale{color:var(--wasp-warn);font-weight:700}.ems-loading-shell{min-height:calc(100vh - 52px);display:grid;place-content:center;gap:8px;color:var(--wasp-text);text-align:center}.ems-loading-shell strong{font-size:18px}.ems-loading-shell span{color:var(--wasp-muted);font-size:13px}.ems-app-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:calc(100vh - 52px)}.ems-nav{background:var(--wasp-nav-bg);color:var(--wasp-nav-text);padding:20px 14px;overflow-y:auto}.ems-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:-.01em;margin-bottom:22px;padding:0 4px}.ems-brand svg{color:var(--wasp-accent)}.ems-nav h2{color:var(--wasp-nav-heading);font-size:10.5px;font-weight:700;margin:20px 10px 8px;text-transform:uppercase;letter-spacing:.08em}.ems-nav button,.ems-editor-rail button{width:100%;border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:9px;border-radius:9px;padding:9px 11px;text-align:left;cursor:pointer;font-size:13.5px;position:relative;transition:background var(--wasp-motion),color var(--wasp-motion)}.ems-nav button:hover{background:var(--wasp-nav-active-bg)}.ems-nav button.active{background:var(--wasp-nav-active-bg);color:#fff;font-weight:700}.ems-nav button.active:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--wasp-accent)}.ems-main{min-width:0;padding:18px;overflow:auto}.ems-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.ems-project{color:var(--wasp-accent);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ems-topbar h1,.ems-screen-header h2{margin:4px 0 0;font-size:1.7rem;font-weight:800;letter-spacing:-.02em;color:var(--wasp-text-strong);line-height:1.15}.ems-topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ems-refresh{display:inline-flex;align-items:center;gap:5px;color:var(--wasp-muted);font-size:12.5px}.ems-screen-header{margin-bottom:14px}.ems-screen-header p{margin:5px 0 0;color:var(--wasp-muted)}.ems-widget-grid{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:14px}.layout-table .ems-widget-grid,.layout-events .ems-widget-grid{grid-template-columns:minmax(0,1fr)}.ems-widget-frame{min-width:0}.ems-widget-frame.selected{outline:2px solid var(--wasp-accent);outline-offset:3px;border-radius:8px}.ems-widget-title{font-size:.85rem;margin:0 0 7px;color:var(--wasp-muted)}.ems-widget{border:var(--wasp-border-width) solid var(--wasp-border);border-radius:var(--wasp-radius);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:16px 17px;min-height:132px;transition:box-shadow var(--wasp-motion),border-color var(--wasp-motion)}.ems-widget:hover{box-shadow:var(--wasp-shadow-hover)}.ems-widget-kicker,.ems-widget-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--wasp-faint);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ems-widget-footer{text-transform:none;font-weight:500;letter-spacing:0;font-size:12px;margin-top:10px}.ems-icon-label{display:inline-flex;align-items:center;gap:6px}.ems-widget-kicker .ems-icon-label svg{color:var(--wasp-accent)}.ems-metric-value{display:flex;align-items:baseline;gap:8px;margin:16px 0 14px;color:var(--wasp-text-strong);font-size:2.35rem;font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ems-metric-value span{font-size:.9rem;font-weight:700;color:var(--wasp-muted);letter-spacing:0}.ems-status-strip{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:10px}.ems-status-cell{border:1px solid var(--wasp-border);border-left:4px solid var(--wasp-faint);border-radius:var(--wasp-radius-sm);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:13px 14px;display:grid;gap:7px;transition:box-shadow var(--wasp-motion)}.ems-status-cell:hover{box-shadow:var(--wasp-shadow-hover)}.ems-status-cell.good{border-left-color:var(--wasp-good)}.ems-status-cell.bad{border-left-color:var(--wasp-bad)}.ems-status-cell.warn{border-left-color:var(--wasp-warn)}.ems-status-cell strong{font-size:1.4rem;font-weight:800;letter-spacing:-.01em;color:var(--wasp-text-strong);font-variant-numeric:tabular-nums}.ems-table-widget{grid-column:1 / -1}.ems-meter-row-label{display:inline-grid;gap:2px;min-width:0}.ems-meter-row-label strong{color:var(--wasp-text-strong)}.ems-meter-row-label small{color:var(--wasp-muted);font-size:11.5px;font-weight:500}.ems-meter-drawer{position:fixed;top:52px;right:0;bottom:0;z-index:30;width:min(430px,calc(100vw - 24px));border-left:1px solid var(--wasp-border);background:var(--wasp-surface-raised);box-shadow:var(--wasp-shadow-raised);padding:16px;overflow-y:auto;display:grid;align-content:start;gap:14px}.ems-meter-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--wasp-border);padding-bottom:12px}.ems-meter-drawer header span{color:var(--wasp-muted);font-size:11px;font-weight:700;text-transform:uppercase}.ems-meter-drawer h2,.ems-meter-drawer h3,.ems-meter-drawer p{margin:0}.ems-meter-drawer h2{font-size:1.25rem;color:var(--wasp-text-strong)}.ems-meter-drawer h3{margin-bottom:8px;font-size:13px}.ems-meter-drawer p{color:var(--wasp-muted);font-size:13px}.ems-icon-button{width:32px;height:32px;border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface);color:var(--wasp-text);display:grid;place-items:center;cursor:pointer}.ems-icon-button:hover{border-color:var(--wasp-accent);color:var(--wasp-accent)}.ems-meter-drawer-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--wasp-muted);font-size:12.5px}.ems-meter-context-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.ems-meter-context-list div{border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface);padding:8px}.ems-meter-context-list dt{color:var(--wasp-faint);font-size:10.5px;font-weight:700;text-transform:uppercase}.ems-meter-context-list dd{margin:3px 0 0;color:var(--wasp-text-strong);font-size:12.5px}.ems-meter-trend-shortcuts{display:flex;gap:8px;flex-wrap:wrap}.ems-meter-trend-shortcuts span{border:1px solid var(--wasp-border);border-radius:999px;background:var(--wasp-surface);color:var(--wasp-muted);padding:5px 10px;font-size:12px;font-weight:700}.ems-history,.ems-chart-widget{min-height:260px}.ems-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;padding-top:9px;border-top:1px dashed var(--wasp-border);font-size:11.5px;color:var(--wasp-muted)}.ems-evidence-item{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ems-evidence-item.good{color:var(--wasp-good)}.ems-evidence-item.warn{color:var(--wasp-warn)}.ems-evidence-item.bad{color:var(--wasp-bad);font-weight:700}.ems-evidence-item svg{flex:0 0 auto}.ems-trend-placeholder{min-height:160px;margin:12px 0;border:1px solid var(--wasp-border);border-radius:8px;background:linear-gradient(90deg,var(--wasp-grid-line) 1px,transparent 1px),linear-gradient(180deg,var(--wasp-grid-line) 1px,transparent 1px),var(--wasp-surface-raised);background-size:42px 42px;display:grid;place-items:center;color:var(--wasp-accent)}.ems-trend-placeholder span{font-size:30px;font-weight:800}.ems-trend-placeholder small{color:var(--wasp-muted)}.ems-gauge{display:grid;gap:10px}.ems-gauge-dial{width:min(180px,100%);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:8px auto;position:relative}.ems-gauge-dial:after{content:"";position:absolute;top:18%;right:18%;bottom:18%;left:18%;border-radius:50%;background:var(--wasp-surface);border:1px solid var(--wasp-border)}.ems-gauge-dial strong,.ems-gauge-dial span{position:relative;z-index:1}.ems-gauge-dial strong{font-size:1.75rem;color:var(--wasp-text-strong)}.ems-gauge-dial span{color:var(--wasp-muted);font-size:12px}.ems-status-indicator{display:grid;gap:10px;border-left-width:5px}.ems-status-indicator.good{border-left-color:var(--wasp-good)}.ems-status-indicator.bad{border-left-color:var(--wasp-bad)}.ems-status-indicator.warn{border-left-color:var(--wasp-warn)}.ems-status-indicator strong{font-size:1.5rem;color:var(--wasp-text-strong)}.ems-chart-widget{display:grid;gap:10px}.ems-chart-svg{width:100%;min-height:210px;border:1px solid var(--wasp-border);border-radius:8px;background:linear-gradient(90deg,var(--wasp-grid-line) 1px,transparent 1px),linear-gradient(180deg,var(--wasp-grid-line) 1px,transparent 1px),var(--wasp-surface-raised);background-size:20px 20px}.ems-chart-svg line{stroke:var(--wasp-muted);stroke-width:.35;opacity:.6}.ems-chart-svg polyline{fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.ems-chart-gap{fill:var(--wasp-warn);opacity:.16}.ems-chart-gap-legend{color:var(--wasp-warn);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ems-chart-legend,.ems-chart-range{display:flex;gap:10px;flex-wrap:wrap;color:var(--wasp-muted);font-size:12.5px}.ems-chart-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--wasp-border);border-radius:999px;background:var(--wasp-surface-raised);padding:3px 9px 3px 7px;font-size:11.5px;font-weight:600}.ems-chart-legend i{width:9px;height:9px;border-radius:50%}.ems-chart-range{justify-content:space-between}.ems-bar-chart{display:grid;gap:8px}.ems-bar-row{display:grid;grid-template-columns:minmax(80px,.8fr) minmax(80px,1.5fr) auto;align-items:center;gap:8px;font-size:12.5px}.ems-bar-row i{height:18px;border-radius:5px;min-width:4px}.ems-pie-chart{width:min(220px,72vw);aspect-ratio:1;border-radius:50%;margin:8px auto;display:grid;place-items:center}.ems-pie-chart.donut:after{content:"";position:absolute}.ems-pie-chart strong{border-radius:999px;background:var(--wasp-surface);color:var(--wasp-text-strong);padding:22px 18px;min-width:82px;text-align:center;border:1px solid var(--wasp-border)}.ems-histogram{height:220px;border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface-raised);padding:12px;display:flex;align-items:end;gap:7px}.ems-histogram i{flex:1;background:var(--wasp-chart-1);border-radius:5px 5px 0 0}.ems-heatmap{display:grid;gap:7px}.ems-heatmap span{min-height:54px;border-radius:7px;color:#fff;display:grid;place-items:center;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.35)}.ems-asset-card{display:grid;gap:8px}.ems-asset-card>strong{font-size:1.15rem;color:var(--wasp-text-strong)}.ems-single-line{overflow-x:auto}.ems-single-line-track{display:flex;align-items:center;gap:12px;min-width:max-content;padding:18px 4px}.ems-single-line-node{min-width:150px;border:1px solid var(--wasp-border);border-top:5px solid var(--wasp-faint);border-radius:8px;background:var(--wasp-surface);padding:10px;display:grid;gap:7px;position:relative}.ems-single-line-node:before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:2px;background:var(--wasp-bus-bar)}.ems-single-line-node:first-child:before{display:none}.ems-single-line-node.good{border-top-color:var(--wasp-good)}.ems-single-line-node.bad{border-top-color:var(--wasp-bad)}.ems-single-line-node.warn{border-top-color:var(--wasp-warn)}.ems-switchboard-summary{grid-column:1 / -1;display:grid;gap:12px}.ems-switchboard-card{border:1px solid var(--wasp-border);border-left:5px solid var(--wasp-faint);border-radius:var(--wasp-radius);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:16px;display:grid;gap:10px;transition:box-shadow var(--wasp-motion)}.ems-switchboard-card:hover{box-shadow:var(--wasp-shadow-hover)}.ems-switchboard-card.good{border-left-color:var(--wasp-good)}.ems-switchboard-card.bad{border-left-color:var(--wasp-bad)}.ems-switchboard-card.warn,.ems-switchboard-card.unknown{border-left-color:var(--wasp-warn)}.ems-switchboard-card h3{margin:0;font-size:16px}.ems-switchboard-kw{display:flex;align-items:baseline;gap:8px;color:var(--wasp-text-strong)}.ems-switchboard-kw strong{font-size:1.75rem}.ems-switchboard-kw span{color:var(--wasp-muted);font-size:12px}.ems-trace-pill{border:1px solid var(--wasp-border);border-radius:999px;background:var(--wasp-surface-subtle);color:var(--wasp-muted);padding:3px 8px;font-size:11px;font-weight:700;text-transform:uppercase}.ems-trace-pill.confirmed,.ems-trace-pill.traced{border-color:var(--wasp-good-border);background:var(--wasp-good-bg);color:var(--wasp-good)}.ems-trace-pill.suspected{border-color:var(--wasp-warn-border);background:var(--wasp-warn-bg);color:var(--wasp-warn)}.ems-trace-coverage{display:grid;gap:12px}.ems-trace-meter{height:14px;border:1px solid var(--wasp-border);border-radius:999px;background:var(--wasp-track);overflow:hidden}.ems-trace-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--wasp-good),var(--wasp-info))}.ems-trace-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ems-trace-counts span{border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface-raised);padding:8px;color:var(--wasp-muted);font-size:11.5px}.ems-trace-counts strong{display:block;color:var(--wasp-text-strong);font-size:1.15rem}.ems-data-freshness{display:grid;gap:12px}.ems-freshness-grid{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:8px}.ems-freshness-card{border:1px solid var(--wasp-border);border-top:4px solid var(--wasp-faint);border-radius:var(--wasp-radius-sm);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:11px 12px;display:grid;gap:5px}.ems-freshness-card.good{border-top-color:var(--wasp-good)}.ems-freshness-card.warn{border-top-color:var(--wasp-warn)}.ems-freshness-card.bad{border-top-color:var(--wasp-bad)}.ems-freshness-card span{color:var(--wasp-muted);font-size:11.5px;font-weight:700;text-transform:uppercase}.ems-freshness-card strong{color:var(--wasp-text-strong);font-size:1.15rem}.ems-sld-viewer{display:grid;gap:12px}.ems-sld-canvas{border:1px solid var(--wasp-border);border-radius:8px;background:linear-gradient(90deg,var(--wasp-grid-line) 1px,transparent 1px),linear-gradient(180deg,var(--wasp-grid-line) 1px,transparent 1px),var(--wasp-surface-raised);background-size:28px 28px;padding:16px;overflow-x:auto}.ems-sld-incomer{width:min(280px,100%);border:1px solid var(--wasp-border);border-top:5px solid var(--wasp-info);border-radius:8px;background:var(--wasp-surface);padding:12px;display:grid;gap:7px}.ems-sld-incomer span,.ems-sld-feeder span{color:var(--wasp-muted);font-size:11px;font-weight:700;text-transform:uppercase}.ems-sld-incomer strong{font-size:1.45rem;color:var(--wasp-text-strong)}.ems-sld-bus{margin:16px 0 18px;min-width:760px;display:grid;gap:7px}.ems-sld-bus span,.ems-sld-bus small{color:var(--wasp-muted);font-size:12px}.ems-sld-bus i{display:block;height:8px;border-radius:999px;background:var(--wasp-bus-bar);box-shadow:inset 0 0 0 1px #ffffff26}.ems-sld-feeders{min-width:760px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:start}.ems-sld-feeder{border:1px solid var(--wasp-border);border-top:5px solid var(--wasp-faint);border-radius:8px;background:var(--wasp-surface);padding:10px;display:grid;gap:7px;position:relative}.ems-sld-feeder>i{position:absolute;top:-23px;left:50%;width:2px;height:18px;background:var(--wasp-bus-bar)}.ems-sld-feeder.good{border-top-color:var(--wasp-good)}.ems-sld-feeder.bad{border-top-color:var(--wasp-bad)}.ems-sld-feeder.warn,.ems-sld-feeder.unknown{border-top-color:var(--wasp-warn)}.ems-sld-feeder strong{font-size:13px}.ems-sld-feeder small,.ems-sld-feeder em{color:var(--wasp-muted);font-size:11px;font-style:normal}.ems-sld-note{margin:0;color:var(--wasp-muted);font-size:12px;line-height:1.45}.ems-bus-balance{display:grid;gap:12px}.ems-balance-values{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.ems-balance-values span{border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface-raised);padding:10px}.ems-balance-values small{display:block;color:var(--wasp-muted);font-size:11.5px;margin-bottom:5px}.ems-balance-values strong{color:var(--wasp-text-strong);font-size:1.25rem}.ems-text-block{min-height:80px;color:var(--wasp-text);line-height:1.5}.ems-section-header{grid-column:1 / -1;background:linear-gradient(180deg,var(--wasp-surface),var(--wasp-surface-raised));border:var(--wasp-border-width) solid var(--wasp-border);border-left:4px solid var(--wasp-accent);border-radius:var(--wasp-radius);box-shadow:var(--wasp-shadow);padding:14px 18px;min-height:0}.ems-section-header h2{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.01em;color:var(--wasp-text-strong)}.ems-section-header p{margin:5px 0 0;color:var(--wasp-muted);font-size:13px;line-height:1.5;max-width:90ch}.ems-image-panel{display:grid;place-items:center;gap:8px;min-height:220px;color:var(--wasp-muted)}.ems-image-panel img{max-width:100%;max-height:260px;border-radius:6px;object-fit:contain}.ems-editor-shell{display:grid;grid-template-columns:230px minmax(0,1fr) 300px;height:calc(100vh - 52px);min-height:620px}.ems-editor-rail,.ems-property-panel{border-right:1px solid var(--wasp-border);background:var(--wasp-surface-raised);padding:14px;overflow-y:auto}.ems-property-panel{border-right:0;border-left:1px solid var(--wasp-border)}.ems-editor-rail header,.ems-property-panel header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ems-editor-rail h2,.ems-property-panel h2,.ems-editor-rail h3{margin:0;font-size:14px}.ems-editor-rail small,.ems-property-panel small{color:var(--wasp-muted);font-size:11px}.ems-editor-rail section{margin-top:18px}.ems-editor-rail button{color:var(--wasp-text)}.ems-widget-palette{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ems-widget-palette-grouped{display:grid;gap:10px}.ems-widget-palette-grouped h4{margin:0 0 5px;color:var(--wasp-muted);font-size:11px;text-transform:uppercase}.ems-widget-palette button{border:1px solid var(--wasp-border);background:var(--wasp-surface);min-height:34px;justify-content:flex-start}.ems-widget-palette button:disabled{opacity:.5;cursor:not-allowed}.ems-mini-form{display:grid;gap:7px}.ems-mini-form input,.ems-mini-form select,.ems-form-stack select,.ems-form-stack textarea{border:1px solid var(--wasp-border);border-radius:7px;padding:8px 9px;min-width:0;background:var(--wasp-surface);color:var(--wasp-text)}.ems-check-row{display:flex;align-items:center;gap:7px;color:var(--wasp-muted);font-size:12px}.ems-editor-rail button.active,.ems-editor-rail button:hover{background:var(--wasp-accent-bg)}.ems-editor-canvas{min-width:0;overflow:auto}.ems-form-stack{display:grid;gap:12px;margin-top:16px}.ems-form-stack label,.ems-login label{display:grid;gap:5px;font-size:12.5px;color:var(--wasp-muted)}.ems-form-stack input,.ems-login input,.ems-form-stack textarea{border:1px solid var(--wasp-border);border-radius:7px;padding:8px 9px;min-width:0;background:var(--wasp-surface);color:var(--wasp-text)}.ems-form-stack textarea{resize:vertical}.ems-placement-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ems-widget-kind-card,.ems-settings-card,.ems-binding-list{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);padding:10px}.ems-widget-kind-card{display:flex;align-items:center;gap:10px}.ems-widget-kind-card strong,.ems-binding-list strong{display:block;font-size:13px}.ems-widget-kind-card span,.ems-binding-list small{color:var(--wasp-muted);font-size:11px}.ems-settings-card{display:grid;gap:10px}.ems-settings-card h3,.ems-binding-list h3{margin:0;font-size:13px}.ems-binding-list{display:grid;gap:8px}.ems-binding-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid var(--wasp-border-subtle);padding-top:8px}.ems-binding-list button{border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface);display:grid;place-items:center;width:30px;height:30px}.ems-nav-editor-list{display:grid;gap:10px;margin-top:10px}.ems-nav-editor-list>div{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);padding:8px;display:grid;gap:7px}.ems-nav-group-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:5px;align-items:center}.ems-nav-editor-list label{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr) minmax(0,.9fr) auto;gap:5px;align-items:center}.ems-nav-editor-list input,.ems-nav-editor-list select,.ems-nav-editor-list button{min-width:0;border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface);color:var(--wasp-text);padding:6px;font-size:12px}.ems-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.ems-login{min-height:calc(100vh - 52px);display:grid;place-items:center}.ems-login section{width:min(360px,calc(100vw - 32px));border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);padding:18px;display:grid;gap:12px}.ems-login h1{margin:0;font-size:20px}.ems-project-loader{min-height:calc(100vh - 52px);display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);gap:18px;padding:18px}.ems-project-list,.ems-project-summary{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);padding:16px}.ems-project-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.ems-project-list h1,.ems-project-summary h2{margin:0;font-size:20px}.ems-project-list button{width:100%;border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface-raised);color:var(--wasp-text);display:grid;gap:4px;padding:11px;text-align:left;cursor:pointer;margin-bottom:8px}.ems-project-list button.active,.ems-project-list button:hover{border-color:var(--wasp-accent);background:var(--wasp-accent-bg)}.ems-project-list button span,.ems-project-summary dt{color:var(--wasp-muted);font-size:12px}.ems-project-summary dl{display:grid;gap:10px;margin:14px 0}.ems-project-summary div{border-bottom:1px solid var(--wasp-border-subtle);padding-bottom:8px}.ems-project-summary dd{margin:3px 0 0;font-weight:700}.ems-topology-shell{display:grid;grid-template-columns:255px minmax(0,1fr) 310px;min-height:calc(100vh - 52px);background:var(--wasp-bg)}.ems-topology-rail{border-right:1px solid var(--wasp-border);background:var(--wasp-nav-bg);color:var(--wasp-nav-text);padding:18px 12px;overflow-y:auto}.ems-topology-rail header{margin-bottom:14px}.ems-topology-rail header span,.ems-topology-builder header span{color:var(--wasp-nav-muted);font-size:11px;font-weight:700;text-transform:uppercase}.ems-topology-rail h2,.ems-topology-builder h1{margin:3px 0 0}.ems-topology-rail h3{color:var(--wasp-nav-heading);font-size:11px;margin:18px 8px 8px;text-transform:uppercase}.ems-topology-rail button:not(.wasp-button){width:100%;border:0;border-radius:7px;background:transparent;color:inherit;display:grid;gap:2px;padding:9px;text-align:left;cursor:pointer}.ems-topology-rail button.active,.ems-topology-rail button:not(.wasp-button):hover{background:var(--wasp-nav-active-bg)}.ems-topology-rail button span{color:var(--wasp-nav-muted);font-size:12px}.ems-topology-builder{min-width:0;padding:18px;overflow:auto}.ems-topology-header,.ems-topology-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.ems-topology-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.ems-topology-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px}.ems-topology-card{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);padding:14px}.ems-topology-card-wide{grid-column:1 / -1}.ems-topology-card h2,.ems-topology-inspector h2{margin:0 0 12px;font-size:15px}.ems-topology-card label{display:grid;gap:5px;margin-bottom:10px;color:var(--wasp-muted);font-size:12px;font-weight:700}.ems-topology-card input,.ems-topology-card select,.ems-topology-card textarea,.ems-topology-search input{width:100%;border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface);color:var(--wasp-text);padding:8px}.ems-topology-card textarea{min-height:86px;resize:vertical}.ems-topology-search{width:min(320px,100%);border:1px solid var(--wasp-border);border-radius:7px;background:var(--wasp-surface);display:flex;align-items:center;gap:6px;padding:0 8px}.ems-topology-search input{border:0;padding-left:0}.ems-topology-meter-cell{display:grid;gap:2px}.ems-topology-meter-cell small{color:var(--wasp-muted)}.ems-topology-live-card,.ems-balance-panel{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface-raised);padding:12px}.ems-topology-live-card{display:grid;gap:8px}.ems-topology-live-card span,.ems-topology-live-card small{color:var(--wasp-muted)}.ems-topology-live-card strong{font-size:1.6rem;color:var(--wasp-text-strong)}.ems-topology-inspector{border-left:1px solid var(--wasp-border);background:var(--wasp-surface-raised);padding:18px 14px;overflow-y:auto}.ems-topology-inspector section{margin-bottom:18px}.ems-balance-panel dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.ems-balance-panel dt{color:var(--wasp-muted);font-size:11px}.ems-balance-panel dd{margin:0;font-weight:800}.ems-balance-panel p,.ems-topology-balance-note{color:var(--wasp-muted);font-size:12px}.ems-topology-balance-note,.ems-topology-ok{display:inline-flex;align-items:center;gap:6px}.ems-topology-issue{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);display:grid;gap:3px;margin-bottom:8px;padding:10px}.ems-topology-issue.error{border-color:var(--wasp-bad-border);background:var(--wasp-bad-bg);color:var(--wasp-bad)}.ems-topology-issue.warn{border-color:var(--wasp-warn-border);background:var(--wasp-warn-bg);color:var(--wasp-warn)}.ems-topology-ok{border:1px solid var(--wasp-good-border);border-radius:8px;background:var(--wasp-good-bg);color:var(--wasp-good);padding:10px}.ems-topology-empty{min-height:420px;border:1px dashed var(--wasp-border);border-radius:8px;display:grid;place-content:center;gap:8px;text-align:center;color:var(--wasp-muted)}.ems-focus-shell{display:grid;grid-template-columns:312px minmax(0,1fr);height:calc(100vh - 52px);min-height:0}.ems-focus-nav{border-right:1px solid var(--wasp-border);background:var(--wasp-surface);display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.ems-focus-search{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--wasp-border);color:var(--wasp-muted)}.ems-focus-search input{flex:1;min-width:0;border:1px solid var(--wasp-border);border-radius:999px;background:var(--wasp-surface-subtle);color:var(--wasp-text);padding:7px 12px;font-size:13px}.ems-focus-nav-body{overflow-y:auto;padding:8px 8px 18px}.ems-nav-group-head{width:100%;border:0;background:transparent;color:var(--wasp-text);display:flex;align-items:center;gap:6px;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:12.5px;font-weight:700;text-align:left}.ems-nav-group.kind-room>.ems-nav-group-head{color:var(--wasp-faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;margin-top:6px}.ems-nav-group-head:hover{background:var(--wasp-surface-subtle)}.ems-nav-group-head>span:first-of-type{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ems-nav-section{margin:14px 10px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--wasp-faint)}.ems-nav-group-count{flex:0 0 auto;font-size:10.5px;color:var(--wasp-faint);font-family:var(--wasp-font-mono);background:var(--wasp-surface-subtle);border-radius:999px;padding:1px 7px}.ems-nav-meter{width:100%;border:0;background:transparent;color:var(--wasp-text);display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;cursor:pointer;text-align:left;transition:background var(--wasp-motion)}.ems-nav-meter:hover{background:var(--wasp-surface-subtle)}.ems-nav-meter.active{background:var(--wasp-accent-bg);box-shadow:inset 0 0 0 1px var(--wasp-accent-border)}.ems-nav-meter-label{display:grid;gap:1px;min-width:0;flex:1}.ems-nav-meter-label strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ems-nav-meter-label small{color:var(--wasp-faint);font-size:10.5px}.ems-nav-meter-kw{color:var(--wasp-muted);font-size:11.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.ems-trace-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:var(--wasp-faint)}.ems-trace-dot.good{background:var(--wasp-good)}.ems-trace-dot.warn{background:var(--wasp-warn)}.ems-nav-search-results h3{margin:8px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--wasp-faint)}.ems-focus-main{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.ems-focus-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-bottom:1px solid var(--wasp-border);background:var(--wasp-surface)}.ems-focus-tabs{display:flex;gap:6px}.ems-focus-tabs button,.ems-window-switcher button{border:1px solid var(--wasp-border);background:var(--wasp-surface);color:var(--wasp-muted);display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;cursor:pointer;font-size:13px;font-weight:600}.ems-focus-tabs button.active{background:var(--wasp-accent);border-color:var(--wasp-accent);color:var(--wasp-on-accent)}.ems-window-switcher{display:inline-flex;gap:3px;border:1px solid var(--wasp-border);border-radius:999px;padding:3px;background:var(--wasp-surface-subtle)}.ems-window-switcher button{border:0;background:transparent;padding:6px 12px}.ems-window-switcher button[aria-pressed=true]{background:var(--wasp-surface);color:var(--wasp-accent);box-shadow:var(--wasp-shadow)}.ems-focus-surface{overflow-y:auto;padding:22px;background:var(--wasp-bg);display:grid;gap:16px;align-content:start}.ems-focus-surface.fit{overflow:hidden;padding:14px 18px;gap:0;align-content:stretch}.ems-focus-dashboard{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;height:100%;min-height:0}.ems-focus-dashboard .ems-focus-dash-title h1{font-size:1.35rem}.ems-dash-head-right{display:grid;justify-items:end;gap:8px}.ems-view-toggle{display:inline-flex;gap:3px;border:1px solid var(--wasp-border);border-radius:999px;padding:3px;background:var(--wasp-surface-subtle)}.ems-view-toggle button{border:0;background:transparent;color:var(--wasp-muted);padding:5px 13px;border-radius:999px;cursor:pointer;font-size:12.5px;font-weight:600}.ems-view-toggle button[aria-pressed=true]{background:var(--wasp-surface);color:var(--wasp-accent);box-shadow:var(--wasp-shadow)}.ems-dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:10px}.ems-kpi.compact{padding:9px 11px;gap:2px}.ems-kpi.compact .ems-kpi-label{font-size:10px}.ems-kpi.compact .ems-kpi-value{font-size:1.2rem}.ems-kpi.compact .ems-kpi-sub{font-size:11px}.ems-dash-charts{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:0}.ems-dash-chart{border:1px solid var(--wasp-border);border-radius:var(--wasp-radius);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:8px 12px 10px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:2px;min-height:0}.ems-dash-chart>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;font-weight:700;color:var(--wasp-text)}.ems-dash-chart>header small{color:var(--wasp-faint);font-weight:600;font-family:var(--wasp-font-mono)}.ems-dash-chart-body{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.ems-balance-flag{font-size:11px;font-weight:600;color:var(--wasp-muted);font-family:var(--wasp-font-mono)}.ems-balance-flag.good{color:var(--wasp-good)}.ems-balance-flag.warn{color:var(--wasp-warn)}.ems-focus-page-head,.ems-focus-dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}.ems-focus-page-head h1,.ems-focus-dash-title h1{margin:4px 0 0;font-size:1.7rem;font-weight:800;letter-spacing:-.02em;color:var(--wasp-text-strong)}.ems-focus-page-head p{margin:6px 0 0;color:var(--wasp-muted);max-width:80ch}.ems-focus-head-stats{display:flex;gap:12px}.ems-focus-label-row{display:flex;align-items:center;gap:10px}.ems-focus-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:6px;color:var(--wasp-muted);font-size:13px}.ems-focus-crumbs code{background:var(--wasp-surface-subtle);border:1px solid var(--wasp-border);border-radius:6px;padding:2px 7px;font-size:12px;color:var(--wasp-text)}.ems-label-edit{border:1px solid var(--wasp-border);background:var(--wasp-surface);color:var(--wasp-muted);width:32px;height:32px;border-radius:8px;display:grid;place-items:center;cursor:pointer}.ems-label-edit:hover{color:var(--wasp-accent);border-color:var(--wasp-accent)}.ems-label-editor{display:inline-flex;align-items:center;gap:6px}.ems-label-editor input{border:1px solid var(--wasp-accent);border-radius:8px;background:var(--wasp-surface);color:var(--wasp-text);padding:7px 10px;font-size:1rem;min-width:220px}.ems-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.ems-reports-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:980px){.ems-reports-two{grid-template-columns:1fr}}.ems-kpi{border:1px solid var(--wasp-border);border-radius:var(--wasp-radius);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:14px 16px;display:grid;gap:5px;align-content:start}.ems-kpi.accent{border-left:4px solid var(--wasp-accent)}.ems-kpi.warn{border-left:4px solid var(--wasp-warn)}.ems-kpi-label{display:inline-flex;align-items:center;gap:5px;color:var(--wasp-faint);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ems-kpi-value{font-family:var(--wasp-font-mono);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;color:var(--wasp-text-strong);font-variant-numeric:tabular-nums;line-height:1.1}.ems-focus-crumbs code,.ems-nav-meter-kw,.ems-topo-node-kw,.ems-topo-node-id,.ems-nav-meter-label small{font-family:var(--wasp-font-mono)}.ems-kpi-sub{color:var(--wasp-muted);font-size:12px}.ems-focus-card{border:1px solid var(--wasp-border);border-radius:var(--wasp-radius);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:16px 18px;display:grid;gap:12px}.ems-focus-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;font-weight:700;color:var(--wasp-text)}.ems-focus-card-head .ems-icon-label svg{color:var(--wasp-accent)}.ems-muted-icon{color:var(--wasp-faint)}.ems-muted{color:var(--wasp-muted);font-weight:500}.ems-focus-trend{display:grid;gap:8px}.ems-focus-trend-axis{display:flex;justify-content:space-between;color:var(--wasp-muted);font-size:12px}.ems-focus-trend-empty{min-height:160px;display:grid;place-items:center;color:var(--wasp-muted);border:1px dashed var(--wasp-border);border-radius:var(--wasp-radius-sm);background:var(--wasp-surface-raised)}.ems-focus-balance-row{display:flex;gap:18px;color:var(--wasp-muted);font-size:13px;font-weight:600}.ems-feeder-bars{display:grid;gap:7px}.ems-feeder-bar{display:grid;grid-template-columns:minmax(110px,1.1fr) minmax(60px,2fr) auto;align-items:center;gap:10px;font-size:12.5px;border:0;background:transparent;color:var(--wasp-text);text-align:left;padding:2px 0}.ems-feeder-bar.clickable{cursor:pointer;border-radius:7px;padding:3px 6px}.ems-feeder-bar.clickable:hover{background:var(--wasp-surface-subtle)}.ems-feeder-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ems-feeder-bar i{height:14px;border-radius:4px;background:var(--wasp-chart-1);min-width:3px}.ems-feeder-bar strong{font-variant-numeric:tabular-nums;color:var(--wasp-text-strong)}.ems-topo-board{gap:14px}.ems-topo-bus{display:grid;gap:10px}.ems-topo-busbar{display:inline-flex;align-items:center;gap:7px;color:var(--wasp-muted);font-size:12px;font-weight:700;padding:5px 0;border-top:2px solid var(--wasp-bus-bar)}.ems-topo-feeders{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.ems-topo-node{border:1px solid var(--wasp-border);border-top:4px solid var(--wasp-faint);border-radius:var(--wasp-radius-sm);background:var(--wasp-surface);box-shadow:var(--wasp-shadow);padding:11px 12px;display:grid;gap:3px;cursor:pointer;text-align:left;transition:box-shadow var(--wasp-motion),transform var(--wasp-motion)}.ems-topo-node:hover{box-shadow:var(--wasp-shadow-hover)}.ems-topo-node.incomer{border-top-color:var(--wasp-info);width:min(280px,100%)}.ems-topo-node.trace-good{border-top-color:var(--wasp-good)}.ems-topo-node.trace-warn{border-top-color:var(--wasp-warn)}.ems-topo-node-kicker{color:var(--wasp-faint);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.ems-topo-node strong{font-size:13.5px;color:var(--wasp-text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ems-topo-node-kw{font-size:1.05rem;font-weight:800;color:var(--wasp-text-strong);font-variant-numeric:tabular-nums}.ems-topo-node-id{color:var(--wasp-faint);font-size:10.5px}.ems-focus-empty{color:var(--wasp-muted);padding:24px;text-align:center;border:1px dashed var(--wasp-border);border-radius:var(--wasp-radius)}.ems-focus-toolbar-right{display:flex;align-items:center;gap:10px}.ems-asset-drawer{position:fixed;top:52px;right:0;bottom:0;z-index:40;width:min(440px,calc(100vw - 24px));background:var(--wasp-surface);border-left:1px solid var(--wasp-border);box-shadow:var(--wasp-shadow-raised);overflow-y:auto;padding:16px 18px;display:grid;gap:14px;align-content:start}.ems-asset-drawer header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--wasp-border);padding-bottom:12px}.ems-asset-drawer header h2{margin:3px 0;font-size:1.2rem;color:var(--wasp-text-strong)}.ems-asset-drawer header code{font-family:var(--wasp-font-mono);font-size:12px;color:var(--wasp-muted)}.ems-config-kicker{color:var(--wasp-accent);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ems-config-field{display:grid;gap:5px;font-size:12.5px;color:var(--wasp-muted)}.ems-config-field span em{font-style:normal;color:var(--wasp-faint)}.ems-config-field input,.ems-config-field select{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);color:var(--wasp-text);padding:8px 10px;font-size:14px}.ems-config-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ems-config-group{display:grid;gap:9px;border-top:1px solid var(--wasp-border-subtle);padding-top:12px}.ems-config-group h3{margin:0;font-size:12px;font-weight:700;color:var(--wasp-text);display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.04em}.ems-config-hint{margin:0;font-size:11.5px;color:var(--wasp-faint)}.ems-config-prov{margin:0;font-size:11.5px;color:var(--wasp-muted)}.ems-config-history{margin:0;padding:0;list-style:none;display:grid;gap:5px;font-size:11.5px;color:var(--wasp-muted)}.ems-config-history li span{color:var(--wasp-faint);font-family:var(--wasp-font-mono);margin-right:4px}.ems-setup{display:grid;gap:16px;align-content:start}.ems-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.ems-setup .ems-focus-card{gap:10px}.ems-config-addline{display:grid;grid-template-columns:1fr 70px auto;gap:8px}.ems-config-addline input{border:1px solid var(--wasp-border);border-radius:8px;background:var(--wasp-surface);color:var(--wasp-text);padding:7px 10px;font-size:13px;min-width:0}.ems-config-linelist{margin:0;padding:0;list-style:none;display:grid;gap:6px}.ems-config-linelist li{display:flex;justify-content:space-between;border:1px solid var(--wasp-border);border-radius:8px;padding:7px 10px;font-size:12.5px}.ems-config-linelist li span{color:var(--wasp-muted)}.ems-report-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--wasp-accent);background:var(--wasp-accent);color:var(--wasp-on-accent);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:700;cursor:pointer}.report-viewer{height:calc(100vh - 52px);display:grid;grid-template-rows:auto minmax(0,1fr);background:#525659}.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;background:var(--wasp-surface);border-bottom:1px solid var(--wasp-border)}.report-toolbar-title{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--wasp-text)}.report-toolbar-actions{display:flex;align-items:center;gap:10px}.report-scroll{overflow-y:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:20px}.report-page{background:#fff;color:#16212b;box-shadow:0 6px 24px #00000059;position:relative;display:flex;flex-direction:column}.report-page.a4{width:210mm;min-height:297mm;padding:18mm 18mm 22mm}.report-page.slides{width:min(1180px,94vw);aspect-ratio:16 / 9;padding:40px 52px 56px}.report-kicker{display:inline-block;color:var(--wasp-accent);font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.report-cover{margin:auto 0}.report-cover h1{font-size:34px;font-weight:800;letter-spacing:-.02em;margin:10px 0 0;color:#0c1922}.report-cover-sub{font-size:15px;color:#5d6b78;margin:8px 0 0}.report-cover-meta{margin-top:26px;display:grid;gap:5px;font-size:12.5px;color:#3a4750}.report-page-head{border-bottom:2px solid #e6eaee;padding-bottom:8px;margin-bottom:14px}.report-page-head h2{margin:4px 0 0;font-size:20px;font-weight:800;color:#0c1922}.report-page-head p{margin:4px 0 0;color:#5d6b78;font-size:13px}.report-page-body{flex:1}.report-blocks{display:grid;gap:14px}.report-text{margin:0;font-size:13px;line-height:1.55;color:#2a3741}.report-bullets{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:#2a3741}.report-note{margin:0;font-size:12px;color:#5d6b78;border-left:3px solid var(--wasp-accent);padding:6px 0 6px 10px;background:#f4f8f7}.report-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.report-kpis .ems-kpi{background:#f7f9fb;border-color:#e1e7ec;box-shadow:none;color:#16212b}.report-kpis .ems-kpi-value{color:#0c1922}.report-kpis .ems-kpi-label,.report-kpis .ems-kpi-sub{color:#5d6b78}.report-table{width:100%;border-collapse:collapse;font-size:12px}.report-table th,.report-table td{border:1px solid #e1e7ec;padding:6px 9px;text-align:left}.report-table th{background:#f0f4f7;color:#3a4750;font-weight:700;text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}.report-chart{margin:0}.report-chart figcaption{font-size:12px;font-weight:700;color:#3a4750;margin-bottom:4px}.report-footer{position:absolute;left:18mm;right:18mm;bottom:10mm;display:flex;justify-content:space-between;font-size:10px;color:#8a96a0;border-top:1px solid #e6eaee;padding-top:5px;font-family:var(--wasp-font-mono)}.report-page.slides .report-footer{left:52px;right:52px;bottom:22px}.report-slide-nav{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--wasp-surface);border:1px solid var(--wasp-border);border-radius:999px;padding:6px 14px;box-shadow:var(--wasp-shadow-raised);color:var(--wasp-text);font-variant-numeric:tabular-nums}.ems-loading-panel{display:grid;gap:10px;border:1px solid #e1e7ec;border-radius:10px;background:#f7f9fb;padding:12px 14px}.ems-loading-nameplate{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:#5d6b78}.ems-loading-nameplate strong{color:#0c1922;font-family:var(--wasp-font-mono)}.ems-loading-bands{display:grid;gap:5px}.ems-loading-band{display:grid;grid-template-columns:64px 1fr 44px;align-items:center;gap:8px;font-size:11.5px;color:#3a4750}.ems-loading-band-track{height:12px;background:#e6eaee;border-radius:4px;overflow:hidden}.ems-loading-band-track i{display:block;height:100%;background:var(--wasp-accent)}.ems-loading-band-val{text-align:right;font-family:var(--wasp-font-mono)}.ems-loading-runstats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ems-loading-runstats>div{border:1px solid #e1e7ec;border-radius:8px;background:#fff;padding:8px 10px;display:grid;gap:2px}.ems-loading-runstats span{font-size:10.5px;color:#5d6b78;display:inline-flex;align-items:center;gap:4px}.ems-loading-runstats strong{font-size:1.1rem;color:#0c1922;font-family:var(--wasp-font-mono)}.ems-loading-note{margin:0;font-size:11px;color:#8a5a10}@media print{.ems-mode-bar,.report-toolbar,.report-slide-nav{display:none!important}.report-viewer{height:auto;background:#fff;display:block}.report-scroll{overflow:visible;padding:0;gap:0;display:block}.report-page{box-shadow:none;margin:0}.report-page.a4{width:auto;min-height:auto;page-break-after:always}.report-page.a4:last-child{page-break-after:auto}}@page{size:A4;margin:12mm}@media(max-width:980px){.ems-focus-shell{grid-template-columns:1fr;height:auto}.ems-focus-nav{height:280px}.ems-focus-surface.fit{overflow:auto;height:auto}.ems-focus-dashboard{height:auto}.ems-dash-charts{grid-template-columns:1fr;grid-template-rows:none}.ems-dash-chart{min-height:240px}.ems-app-shell,.ems-editor-shell{grid-template-columns:1fr;height:auto}.ems-nav{display:flex;gap:14px;overflow-x:auto}.ems-nav section{min-width:180px}.ems-widget-grid,.ems-status-strip,.ems-project-loader,.ems-topology-shell,.ems-topology-grid{grid-template-columns:1fr}.ems-topology-inspector{border-left:0;border-top:1px solid var(--wasp-border)}}
