@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-ext-600-normal-Dj6eZy5f.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-600-normal-DVvC-yKp.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-vietnamese-600-normal-Dtizs43-.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-ext-700-normal-D6iG63UR.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-ext-700-normal-iEXTdOVf.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-vietnamese-700-normal-k5PzE07T.woff2) format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.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{--c: #6fd6f2;--bg: #05090d;--text: #d8f3fb;--mut: #5f8797;--dim: #2a4b5a;--amber: #e0a84a;--red: #f05454;--ok: #4ade80;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(ellipse at 50% 55%,#0a1820 0,var(--bg) 70%) fixed,var(--bg);color:var(--text);font-family:JetBrains Mono,ui-monospace,monospace;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}.boot-blank{height:100%;background:var(--bg)}.grid-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(#6fd6f20a 1px,transparent 1px),linear-gradient(90deg,#6fd6f20a 1px,transparent 1px);background-size:40px 40px}.amber{color:var(--amber)!important}.red{color:var(--red)!important}.login{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.login-rings{position:absolute;left:50%;top:50%;width:min(1000px,160vmin);height:min(1000px,160vmin);transform:translate(-50%,-50%)}.login-hdr{position:absolute;left:28px;top:22px;font-size:11px;letter-spacing:.18em;color:var(--c)}.login-hdr span{color:var(--mut)}.login-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(340px,calc(100vw - 48px));text-align:left}.login-title{text-align:center;margin-bottom:34px}.login-title h1{font-size:22px;letter-spacing:.5em;padding-left:.5em;font-weight:600;min-height:30px}.login-title p{font-size:10.5px;letter-spacing:.35em;color:var(--mut);margin-top:8px;min-height:14px}.login-form label{display:block;font-size:9.5px;letter-spacing:.25em;color:var(--mut);margin-bottom:6px}.login-form label.center{text-align:center;line-height:1.6}.login-form .in{width:100%;height:42px;border:1px solid #6fd6f233;background:#071117cc;color:var(--text);font:inherit;font-size:14px;letter-spacing:.1em;padding:0 12px;margin-bottom:16px;outline:none;border-radius:0}.login-form .in:focus{border-color:var(--c);box-shadow:0 0 0 3px #6fd6f214}.login-form .check{display:flex;align-items:center;gap:8px;cursor:pointer;margin:-4px 0 16px}.login-form .check input{accent-color:var(--c)}.btn{display:grid;place-items:center;width:100%;height:42px;border:1px solid var(--c);color:var(--c);font-size:11.5px;letter-spacing:.35em;font-weight:600;background:#6fd6f20d;text-decoration:none;padding-left:.35em}.btn.primary{background:var(--c);color:#04121a}.btn:disabled{opacity:.45;cursor:default}.btn.disabled{border-color:var(--dim);color:var(--mut);background:none;display:flex;gap:6px;justify-content:center;align-items:center}.link{display:block;margin:14px auto 0;font-size:10px;letter-spacing:.2em;color:var(--mut)}.code{position:relative;display:flex;gap:8px;justify-content:center;margin:6px 0 18px}.code span{width:44px;height:52px;border:1px solid #6fd6f233;display:grid;place-items:center;font-size:20px;background:#071117cc}.code span.f{border-color:var(--c);color:#fff}.code-input:focus~span.a{border-color:var(--c);box-shadow:0 0 0 3px #6fd6f214}.code-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;width:100%;font-size:16px}.qr{display:grid;place-items:center;height:200px;margin:6px 0 8px;font-size:10px;color:var(--mut);letter-spacing:.2em}.qr img{width:190px;height:190px;image-rendering:pixelated}.secret{text-align:center;font-size:12px;letter-spacing:.12em;color:var(--c);margin-bottom:14px;-webkit-user-select:all;user-select:all}.err{height:18px;margin-top:14px;text-align:center;font-size:11px;letter-spacing:.3em;color:var(--red);opacity:0}.err.show{opacity:1;animation:shake .35s}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.granted{position:absolute;left:-100px;right:-100px;top:50%;transform:translateY(-50%);text-align:center;font-size:18px;letter-spacing:.6em;padding-left:.6em;color:var(--ok);font-weight:600}.login-log{position:absolute;left:28px;bottom:24px;font-size:10.5px;letter-spacing:.12em;color:var(--mut);line-height:1.9}.login-log b{color:var(--ok);font-weight:500}.login-corner{position:absolute;right:28px;bottom:24px;font-size:10.5px;letter-spacing:.14em;color:#3d6474;text-align:right;line-height:1.9}.login.granting{animation:zoom-out 1.3s ease-in .35s forwards}@keyframes zoom-out{to{transform:scale(2.6);opacity:0}}@media (max-width: 600px){.login-log,.login-corner{display:none}.login-title h1{font-size:18px}}.dash{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden}.dash.enter{animation:map-in 1.1s cubic-bezier(.2,.7,.2,1)}@keyframes map-in{0%{opacity:0;transform:scale(1.18);clip-path:circle(10% at 50% 50%)}to{opacity:1;transform:none;clip-path:circle(110% at 50% 50%)}}.top{position:absolute;top:0;left:0;right:0;height:52px;display:flex;align-items:center;padding:0 28px;gap:18px;border-bottom:1px solid #6fd6f222;font-size:12px;letter-spacing:.14em;z-index:5;background:#05090dcc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.top .t{color:var(--c);font-weight:600;white-space:nowrap}.top .t span{color:var(--mut);font-weight:400}.sp{flex:1}.st{display:flex;align-items:center;gap:8px;color:var(--mut);white-space:nowrap;font-size:11.5px;letter-spacing:.14em}.st i{width:6px;height:6px;border-radius:50%;display:inline-block}.st.user{color:var(--text)}.logout{border:1px solid #6fd6f233;padding:5px 10px;font-size:10px}.logout:hover{border-color:var(--c);color:var(--c)}.map-wrap{position:absolute;top:52px;right:0;bottom:0;left:0}.map{width:100%;height:100%;display:block;font-family:JetBrains Mono,monospace}.node{cursor:pointer;outline:none}.node:hover>circle:nth-of-type(2),.node:focus-visible>circle:nth-of-type(2){stroke-opacity:1}.locked-img{filter:grayscale(1) brightness(.6);opacity:.5}.spin-slow{animation:spin 40s linear infinite}.spin{animation:spin 12s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.12);opacity:.45}}.corner{position:absolute;z-index:3;width:250px}.corner.tl{left:28px;top:74px}.corner.bl{left:28px;bottom:24px}.corner.tr{right:28px;top:74px;width:230px}.corner.br{right:28px;bottom:24px;width:230px}.panel{position:relative;border:1px solid #6fd6f226;background:#071116bb;padding:14px 16px;font-size:11px}.panel:before,.panel:after,.card:before,.card:after{content:"";position:absolute;width:10px;height:10px;border-color:var(--c);border-style:solid}.panel:before,.card:before{top:-1px;left:-1px;border-width:1px 0 0 1px}.panel:after,.card:after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}.panel h6{font-size:10px;letter-spacing:.2em;color:var(--c);font-weight:600;margin-bottom:10px}.kv{display:flex;justify-content:space-between;gap:12px;color:var(--mut);padding:3px 0;letter-spacing:.04em;font-size:11px}.kv b{color:var(--text);font-weight:500;text-align:right}.bar{height:3px;background:#6fd6f21a;margin:5px 0 8px}.bar i{display:block;height:100%;background:var(--c)}.warn{color:var(--amber);font-size:10px;letter-spacing:.12em}@media (max-width: 1350px){.corner{transform:scale(.88)}.corner.tl,.corner.bl{transform-origin:left}.corner.tr,.corner.br{transform-origin:right}}.card-wrap{position:absolute;top:52px;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center}.card{position:relative;width:300px;border:1px solid #6fd6f255;background:#06121a;padding:16px 18px;font-size:11px;box-shadow:0 20px 60px #000c;animation:card-in .18s ease-out}@keyframes card-in{0%{opacity:0;transform:scale(.96)}}.card.state-down{border-color:#f0545488}.card.state-degraded{border-color:#e0a84a88}.card .x{position:absolute;right:8px;top:4px;font-size:18px;color:var(--mut);padding:4px 8px}.card .hd{display:flex;align-items:center;gap:12px;margin-bottom:12px}.card .hd b{font-size:13px;letter-spacing:.14em}.card .hd img{object-fit:contain}.card .st{font-size:10px;margin-top:3px}.st-up{color:var(--ok)!important}.st-down{color:var(--red)!important}.st-degraded{color:var(--amber)!important}.card .note{margin-top:8px;color:var(--mut);font-size:10px;line-height:1.5}.card .note.amber{color:var(--amber)}.card .ob{margin-top:14px;display:flex;gap:8px}.card .ob>*{flex:1;font-size:10px;letter-spacing:.25em;height:36px}.logs{margin-top:10px;max-height:220px;overflow:auto;background:#03070a;border:1px solid #6fd6f222;padding:8px;font-size:9.5px;line-height:1.5;color:#9fc4d2;white-space:pre-wrap;word-break:break-all}.ico-ph{width:28px;height:28px;border-radius:50%;border:1px solid var(--c)}.dash.mobile{overflow-y:auto;background-image:linear-gradient(#6fd6f20a 1px,transparent 1px),linear-gradient(90deg,#6fd6f20a 1px,transparent 1px);background-size:30px 30px}.dash.mobile .top{position:sticky;padding:0 16px;gap:10px;height:48px;padding-top:env(safe-area-inset-top);height:calc(48px + env(safe-area-inset-top))}.dash.mobile .top .t span,.dash.mobile .st.user{display:none}.mob{padding:12px 16px calc(32px + env(safe-area-inset-bottom))}.mini{position:relative;display:block;width:100%;height:190px;border:1px solid #6fd6f226;overflow:hidden}.mini-inner{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.mini>span{position:absolute;right:8px;bottom:8px;font-size:9px;letter-spacing:.2em;color:var(--c);background:#05090dcc;padding:4px 7px;border:1px solid #6fd6f244}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px}.stats div{border:1px solid #6fd6f222;padding:9px 10px;background:#071117aa}.stats small{display:block;font-size:8.5px;letter-spacing:.18em;color:var(--mut);margin-bottom:4px}.stats b{font-size:14px;font-weight:600}.mob h6{font-size:9.5px;letter-spacing:.24em;color:var(--c);margin:20px 0 6px;font-weight:600;display:flex;gap:10px;align-items:center}.mob h6:after{content:"";flex:1;height:1px;background:#6fd6f222}.row{display:flex;align-items:center;gap:12px;width:100%;padding:11px 4px;border-bottom:1px solid #6fd6f214;text-align:left}.row .ic{width:36px;height:36px;border-radius:50%;border:1px solid #6fd6f288;display:grid;place-items:center;flex:none;color:#9b8cff}.row .ic img{width:20px;height:20px;object-fit:contain}.row .txt{display:flex;flex-direction:column;min-width:0}.row .n{font-size:12px;letter-spacing:.12em;font-weight:600}.row .s{font-size:10px;color:var(--mut);letter-spacing:.04em;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .r{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.14em}.row.rs-down .ic{border-color:var(--red)}.row.rs-down .s{color:var(--red)}.row.rs-degraded .ic{border-color:var(--amber)}.row.rs-degraded .s{color:var(--amber)}.dot{width:7px;height:7px;border-radius:50%;background:var(--ok);display:inline-block}.dot.down{background:var(--red)}.dot.degraded{background:var(--amber)}.lk .ic{border:1px dashed var(--dim)}.lk .ic img{filter:grayscale(1) brightness(.6);opacity:.5}.lk .n{color:#4d7484}.lk .s{color:#2f5868}.vpn{border:1px solid #e0a84aaa;color:var(--amber);padding:3px 6px;font-weight:700;display:flex;gap:4px;align-items:center}.pub{color:var(--c)}.mob-panels{display:grid;gap:12px;margin-top:22px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#000a;display:flex;align-items:flex-end;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}.sheet .card{width:100%;max-width:420px}.dash.full-map .map-wrap{overflow:hidden}.close-map{position:absolute;z-index:6;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));border:1px solid var(--c);background:#05090dee;color:var(--c);padding:10px 14px;font-size:10px;letter-spacing:.2em}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.map.zoomable{touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}.map.zoomable:active{cursor:grabbing}.zoom{position:absolute;left:50%;bottom:18px;transform:translate(-50%);display:flex;gap:6px;z-index:5}.zoom button{font:600 13px JetBrains Mono,monospace;letter-spacing:.1em;min-width:36px;height:32px;padding:0 10px;color:var(--c);background:#05090dd9;border:1px solid #6fd6f255;cursor:pointer}.zoom button:hover:not(:disabled){border-color:var(--c);background:#0b1a22}.zoom button:disabled{opacity:.35;cursor:default}
