@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/fraunces-vietnamese-400-normal-CvGt0Ybw.woff2)format("woff2"),url(/console/assets/fraunces-vietnamese-400-normal-B65MOf9T.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/fraunces-latin-ext-400-normal-D8gbi3Gu.woff2)format("woff2"),url(/console/assets/fraunces-latin-ext-400-normal-UihxqfOe.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:400;src:url(/console/assets/fraunces-latin-400-normal-6IfK1voy.woff2)format("woff2"),url(/console/assets/fraunces-latin-400-normal-NUPT2cO8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/console/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2)format("woff2"),url(/console/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/console/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2)format("woff2"),url(/console/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/console/assets/fraunces-latin-600-normal-BFCDtZfi.woff2)format("woff2"),url(/console/assets/fraunces-latin-600-normal-DL5QCzvS.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:700;src:url(/console/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2)format("woff2"),url(/console/assets/fraunces-vietnamese-700-normal-DxawQjq2.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/console/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2)format("woff2"),url(/console/assets/fraunces-latin-ext-700-normal-DuBstVeD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:700;src:url(/console/assets/fraunces-latin-700-normal-CEOla-zY.woff2)format("woff2"),url(/console/assets/fraunces-latin-700-normal-DTjk5d1Q.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:900;src:url(/console/assets/fraunces-vietnamese-900-normal-BwLbQoNo.woff2)format("woff2"),url(/console/assets/fraunces-vietnamese-900-normal-22-IZO0F.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:900;src:url(/console/assets/fraunces-latin-ext-900-normal-B8j5GSzS.woff2)format("woff2"),url(/console/assets/fraunces-latin-ext-900-normal-B2hmprcz.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:900;src:url(/console/assets/fraunces-latin-900-normal-DmBL83SS.woff2)format("woff2"),url(/console/assets/fraunces-latin-900-normal-D67OkaMf.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/console/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,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(/console/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/console/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/console/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,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(/console/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/console/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/console/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/console/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/console/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/console/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,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(/console/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/console/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/console/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/console/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/console/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/console/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/console/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,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(/console/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/console/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/console/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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(/console/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,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(/console/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/console/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/console/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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(/console/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/console/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper:#f6f3ec;--paper-2:#efeae0;--paper-3:#e7e1d4;--white:#fdfcfa;--ink:#17130e;--ink-2:#4a4238;--ink-3:#7d7365;--ink-4:#b0a696;--rule:#d9d2c4;--rule-strong:#c4bba9;--rule-ink:#17130e;--red:#c2402a;--red-deep:#9c3220;--red-soft:#c2402a14;--red-line:#c2402a59;--green:#2f6b3f;--green-soft:#2f6b3f17;--amber:#a06b1a;--amber-soft:#a06b1a1a;--serif:"Fraunces", "Songti SC", "SimSun", Georgia, serif;--sans:"IBM Plex Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--mono:"IBM Plex Mono", "SF Mono", Consolas, monospace;--shadow-sm:0 1px 2px #17130e0f;--shadow:0 2px 10px #17130e12;--shadow-lg:0 12px 40px #17130e1f}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:13.5px;line-height:1.55}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(60% 35% at 50% -8%,#c2402a0b,#0000),repeating-linear-gradient(0deg,#17130e03 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#17130e02 0 1px,#0000 1px 4px);position:fixed;inset:0}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--paper-2)}::-webkit-scrollbar-thumb{background:var(--rule-strong);border:2px solid var(--paper-2);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}::selection{background:var(--red);color:var(--white)}.shell{z-index:1;min-height:100vh;display:flex;position:relative}.sidebar{border-right:3px double var(--rule-ink);background:var(--paper);flex-direction:column;flex-shrink:0;width:224px;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--rule);flex-direction:column;gap:8px;padding:20px 18px 14px;display:flex}.sidebar-brand h1{font-family:var(--serif);letter-spacing:-.5px;font-variation-settings:"opsz" 60;margin:0;font-size:24px;font-weight:900;line-height:1.1}.sidebar-brand .edition{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--rule-strong);align-self:flex-start;padding:2px 7px;font-size:9.5px}.sidebar-foot{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-3);letter-spacing:.5px;flex-direction:column;gap:7px;margin-top:auto;padding:14px 18px 18px;font-size:10.5px;display:flex}.sidebar-foot .foot-row{justify-content:space-between;align-items:baseline;display:flex}.sidebar-foot .foot-row b{color:var(--ink);font-weight:500}.sidebar-foot .foot-clock{color:var(--ink-4);margin-top:4px}.status-dot{font-family:var(--mono);letter-spacing:.8px;text-transform:uppercase;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.status-dot i{background:var(--ink-4);border-radius:50%;width:7px;height:7px}.status-dot.on i{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.status-dot.off i{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.nav-bar{flex-direction:column;gap:2px;padding:10px;display:flex;overflow-x:visible}.nav-item{appearance:none;font-family:var(--sans);color:var(--ink-2);cursor:pointer;letter-spacing:.3px;white-space:nowrap;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex;position:relative}.nav-item:hover{color:var(--ink);background:var(--paper-2)}.nav-item.active{color:var(--red);border-left-color:var(--red);background:var(--red-soft)}.nav-item .badge{font-family:var(--mono);background:var(--paper-2);border:1px solid var(--rule);color:var(--ink-3);text-align:center;min-width:17px;margin-left:auto;padding:0 5px;font-size:10px;line-height:15px}.nav-item.active .badge{background:var(--red-soft);border-color:var(--red-line);color:var(--red)}.nav-item .live-dot{background:var(--red);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.main{flex:1;min-width:0;max-width:1560px;margin:0 auto;padding:26px 30px 60px}.card{background:var(--white);border:1px solid var(--rule);box-shadow:var(--shadow-sm);padding:18px 20px;position:relative}.card-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.card-head h3{font-family:var(--serif);letter-spacing:-.2px;font-variation-settings:"opsz" 30;margin:0;font-size:16.5px;font-weight:700}.card-head .kicker{font-family:var(--mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.section-rule{align-items:center;gap:12px;margin:26px 0 14px;display:flex}.section-rule:after{content:"";background:var(--rule);flex:1;height:1px}.section-rule span{font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;font-size:10.5px}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-news{grid-template-columns:7fr 5fr}.grid-side{grid-template-columns:8fr 4fr}@media (width<=1180px){.grid-2,.grid-3,.grid-4,.grid-news,.grid-side{grid-template-columns:1fr}.main{padding:20px 18px 50px}}@media (width<=900px){.shell{flex-direction:column}.sidebar{border-right:none;border-bottom:3px double var(--rule-ink);width:100%;height:auto;position:static}.sidebar-brand{padding:14px 18px 10px}.sidebar-brand h1{font-size:20px}.nav-bar{flex-flow:wrap;gap:2px;padding:0 10px 8px}.nav-item{border-bottom:3px solid #0000;border-left:none;flex:0 auto;width:auto;padding:8px 10px 6px}.nav-item.active{border-bottom-color:var(--red);border-left-color:#0000}.nav-item .badge{margin-left:0}.sidebar-foot{flex-flow:wrap;align-items:center;gap:12px;padding:10px 18px}.sidebar-foot .foot-row{gap:6px}.sidebar-foot .foot-clock{margin-top:0;margin-left:auto}}.headline-stat{padding:16px 0 4px}.headline-stat .value{font-family:var(--serif);letter-spacing:-2px;font-variation-settings:"opsz" 90;color:var(--ink);align-items:baseline;gap:8px;font-size:54px;font-weight:900;line-height:1;display:flex}.headline-stat .value.accent{color:var(--red)}.headline-stat .value .unit{letter-spacing:0;color:var(--ink-3);font-variation-settings:"opsz" 20;font-size:16px;font-weight:600}.headline-stat .label{font-family:var(--mono);letter-spacing:1.6px;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:8px;margin-top:8px;font-size:10.5px;display:flex}.headline-stat .label:before{content:"";background:var(--red);width:18px;height:2px}.stat{font-family:var(--serif);letter-spacing:-.8px;font-variation-settings:"opsz" 40;font-size:27px;font-weight:700;line-height:1.05}.stat.sm{letter-spacing:-.3px;font-size:19px}.stat-label{font-family:var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.kv{flex-direction:column;gap:2px;min-width:0;display:flex}.kv>span{font-family:var(--mono);letter-spacing:1.1px;text-transform:uppercase;color:var(--ink-3);font-size:10px}.kv>b{overflow-wrap:anywhere;font-size:13.5px;font-weight:600}.kv>b.mono{font-family:var(--mono);font-size:12px;font-weight:500}.kv-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 20px;display:grid}.chip{font-family:var(--mono);letter-spacing:.7px;text-transform:uppercase;border:1px solid var(--rule-strong);background:var(--paper-2);color:var(--ink-2);white-space:nowrap;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;display:inline-flex}.chip.ok{background:var(--green-soft);color:var(--green);border-color:#2f6b3f66}.chip.warn{background:var(--amber-soft);color:var(--amber);border-color:#a06b1a66}.chip.err,.chip.red{border-color:var(--red-line);background:var(--red-soft);color:var(--red)}.chip.solid{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn{font-family:var(--sans);letter-spacing:.2px;border:1px solid var(--ink);background:var(--white);color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-sm);align-items:center;gap:7px;padding:7px 15px;font-size:12.5px;font-weight:600;transition:all .14s;display:inline-flex}.btn:hover:not(:disabled){background:var(--ink);color:var(--paper)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:not-allowed}.btn.primary{background:var(--red);border-color:var(--red);color:var(--white)}.btn.primary:hover:not(:disabled){background:var(--red-deep);border-color:var(--red-deep);color:var(--white)}.btn.danger{border-color:var(--red);color:var(--red);background:var(--white)}.btn.danger:hover:not(:disabled){background:var(--red);color:var(--white)}.btn.ghost{border-color:var(--rule-strong);color:var(--ink-2);box-shadow:none}.btn.ghost:hover:not(:disabled){border-color:var(--ink);color:var(--ink);background:var(--white)}.btn.sm{padding:4px 10px;font-size:11.5px}.btn.icon{justify-content:center;width:31px;height:31px;padding:6px}.btn-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.field{flex-direction:column;gap:5px;margin-bottom:14px;display:flex}.field>span{font-family:var(--mono);color:var(--ink-3);letter-spacing:1.2px;text-transform:uppercase;font-size:10px;font-weight:500}.field input,.field select,.field textarea{font-family:var(--sans);background:var(--white);border:1px solid var(--rule-strong);color:var(--ink);border-radius:0;outline:none;width:100%;padding:8px 11px;font-size:13.5px;transition:border-color .14s,box-shadow .14s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.field input.mono,.field textarea.mono{font-family:var(--mono);font-size:12px}.field input:disabled,.field select:disabled{opacity:.45;background:var(--paper-2)}.field .hint-inline{color:var(--ink-4);font-size:11px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;display:inline-flex}.switch input{display:none}.switch i{background:var(--paper-3);border:1px solid var(--rule-strong);flex-shrink:0;width:36px;height:20px;transition:all .16s;position:relative}.switch i:after{content:"";background:var(--ink-4);width:14px;height:14px;transition:all .16s;position:absolute;top:2px;left:2px}.switch input:checked+i{background:var(--red-soft);border-color:var(--red)}.switch input:checked+i:after{background:var(--red);left:18px}.switch span{color:var(--ink-2);font-size:12.5px;font-weight:500}.bar{background:var(--paper-3);border:1px solid var(--rule);height:6px;position:relative;overflow:hidden}.bar>i{background:var(--red);height:100%;transition:width .5s;display:block}.logwin{background:var(--white);border:1px solid var(--rule);font-family:var(--mono);padding:2px 0;font-size:11.5px;overflow-y:auto}.logrow{border-left:2px solid #0000;align-items:baseline;gap:10px;padding:4px 12px;transition:background .1s;display:flex}.logrow:hover{background:var(--paper-2)}.logrow.err{border-left-color:var(--red);background:var(--red-soft)}.logrow.warn{border-left-color:var(--amber);background:var(--amber-soft)}.logrow .t{color:var(--ink-4);flex-shrink:0;font-size:10.5px}.logrow .m{color:var(--ink-2);overflow-wrap:anywhere;flex:1}.logrow .lvl{text-transform:uppercase;letter-spacing:.8px;flex-shrink:0;font-size:9.5px;font-weight:500}.logrow .lvl.info{color:var(--ink-3)}.logrow .lvl.warn{color:var(--amber)}.logrow .lvl.error{color:var(--red)}.tbl{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{text-align:left;font-family:var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--ink-3);border-bottom:2px solid var(--rule-ink);white-space:nowrap;padding:8px 10px;font-size:10px;font-weight:500}.tbl td{border-bottom:1px solid var(--rule);vertical-align:middle;padding:9px 10px}.tbl tr:hover td{background:var(--paper-2)}.tbl .mono{font-family:var(--mono);font-size:11.5px}.empty{text-align:center;color:var(--ink-4);font-size:12.5px;font-style:italic;font-family:var(--serif);padding:40px 16px;font-size:14px}.toast-wrap{z-index:200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--paper);box-shadow:var(--shadow-lg);white-space:pre-wrap;border-left:4px solid var(--red);max-width:600px;padding:11px 20px;font-size:12.5px;font-weight:500;animation:.22s toast-in}.toast.ok{border-left-color:var(--green)}.toast.err{border-left-color:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-wrap{z-index:1;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative}.login-box{background:var(--white);border:1px solid var(--rule-ink);width:400px;max-width:100%;box-shadow:var(--shadow-lg);padding:42px 38px 34px;position:relative}.login-box:before{content:"";border:1px solid var(--rule);pointer-events:none;position:absolute;inset:8px}.login-box .rule-top{background:var(--red);width:46px;height:4px;margin-bottom:22px}.login-box h1{font-family:var(--serif);letter-spacing:-1px;font-variation-settings:"opsz" 60;margin:0 0 6px;font-size:34px;font-weight:900}.login-box .sub{font-family:var(--mono);color:var(--ink-3);letter-spacing:1.6px;text-transform:uppercase;margin-bottom:28px;font-size:10.5px}.login-box .err{color:var(--red);background:var(--red-soft);border:1px solid var(--red-line);margin-bottom:14px;padding:9px 12px;font-size:12px}.login-foot{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-4);letter-spacing:.8px;justify-content:space-between;margin-top:22px;padding-top:14px;font-size:10px;display:flex}.loading{height:100vh;color:var(--ink-3);font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;place-items:center;font-size:12px;display:grid}.loading:before{content:"";border:2px solid var(--rule);border-top-color:var(--red);border-radius:50%;width:30px;height:30px;margin-bottom:14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chart-bars{border-bottom:1px solid var(--rule-ink);align-items:flex-end;gap:3px;height:90px;padding-top:8px;display:flex}.chart-bars .bar-col{background:var(--paper-3);flex:1;min-height:2px;transition:background .15s;position:relative}.chart-bars .bar-col:hover,.chart-bars .bar-col.hot{background:var(--red)}.chart-axis{font-family:var(--mono);color:var(--ink-4);letter-spacing:.5px;justify-content:space-between;padding-top:6px;font-size:9.5px;display:flex}.chart-line svg{width:100%;display:block}.matrix{grid-template-columns:repeat(auto-fill,13px);gap:4px;padding:4px 0;display:grid}.matrix .cell{background:var(--paper-3);border:1px solid var(--rule);cursor:default;width:13px;height:13px;transition:transform .12s}.matrix .cell:hover{z-index:2;transform:scale(1.35)}.matrix .cell.ok{background:var(--green);border-color:var(--green)}.matrix .cell.err{background:var(--red);border-color:var(--red)}.matrix .cell.warn{background:var(--amber);border-color:var(--amber)}.matrix .cell.idle{background:var(--paper-3)}.lede{font-family:var(--serif);color:var(--ink-2);font-size:15px;line-height:1.75}.lede:first-letter{float:left;color:var(--red);padding:2px 8px 0 0;font-size:2.6em;font-weight:900;line-height:.85}.mono{font-family:var(--mono)}.num{font-family:var(--serif);font-variant-numeric:tabular-nums}.serif{font-family:var(--serif)}.muted{color:var(--ink-3)}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.flex{display:flex}.gap-2{gap:8px}.items-center{align-items:center}.rule-double{border:none;border-top:3px double var(--rule-ink);margin:22px 0}
