@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0ee55_hj9qcer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0.qu-9752pffj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0mao5jbfbduzp.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0uzt.a6d44yda.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0mvwgmnhv29no.woff2)format("woff2");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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.09zddjkbdep5a.woff2)format("woff2");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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--background:0 0% 100%;--foreground:240 10% 8%;--card:0 0% 100%;--card-elev:240 5% 99%;--muted:240 5% 96%;--muted-foreground:240 4% 44%;--border:240 6% 90%;--border-strong:240 6% 83%;--input:240 6% 90%;--primary:221 83% 53%;--primary-foreground:0 0% 100%;--primary-soft:221 90% 96%;--accent:240 5% 96%;--accent-foreground:240 10% 8%;--popover:0 0% 100%;--popover-foreground:240 10% 8%;--card-foreground:240 10% 8%;--secondary:240 5% 96%;--secondary-foreground:240 10% 8%;--destructive:0 72% 48%;--ring:221 83% 53%;--green:142 66% 38%;--green-bg:142 60% 94%;--amber:35 92% 42%;--amber-bg:38 92% 93%;--red:0 72% 48%;--red-bg:0 80% 96%;--sky:200 85% 42%;--sky-bg:200 85% 94%;--bw-rx:214 92% 50%;--bw-tx:172 78% 34%;--radius:6px;--radius-sm:5px;--radius-md:6px;--radius-lg:8px;--sidebar-w:244px;--header-h:52px;--shadow-sm:0 1px 2px 0 #17171c0a;--shadow:0 1px 3px 0 #17171c12, 0 1px 2px -1px #17171c0d;--shadow-pop:0 8px 28px -8px #1818252e, 0 2px 6px -2px #1818251a;--font:var(--font-geist-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-geist-mono), ui-monospace, "SFMono-Regular", "JetBrains Mono", monospace}.dark{--background:240 9% 6%;--foreground:0 0% 96%;--card:240 8% 8.5%;--card-elev:240 7% 11%;--muted:240 6% 14%;--muted-foreground:240 5% 60%;--border:240 6% 17%;--border-strong:240 5% 24%;--input:240 6% 19%;--primary:217 91% 60%;--primary-foreground:0 0% 100%;--primary-soft:221 60% 16%;--accent:240 6% 15%;--accent-foreground:0 0% 96%;--popover:240 8% 8.5%;--popover-foreground:0 0% 96%;--card-foreground:0 0% 96%;--secondary:240 6% 15%;--secondary-foreground:0 0% 96%;--destructive:0 78% 62%;--ring:217 91% 60%;--green:142 64% 50%;--green-bg:142 50% 14%;--amber:38 92% 56%;--amber-bg:38 70% 14%;--red:0 78% 62%;--red-bg:0 60% 15%;--sky:200 88% 58%;--sky-bg:200 70% 14%;--bw-rx:213 94% 66%;--bw-tx:172 72% 48%;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006;--shadow-pop:0 10px 30px -8px #0009, 0 2px 6px -2px #0006}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{font-family:var(--font);color:hsl(var(--foreground));background:hsl(var(--background));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:13px;line-height:1.45}.mono{font-family:var(--mono);font-feature-settings:"ss01";letter-spacing:-.01em}.tnum{font-variant-numeric:tabular-nums}button,input,textarea,select,option,optgroup{color:inherit;font-family:inherit}button{font-family:inherit}a{color:inherit;text-decoration:none}input,textarea,select{color:hsl(var(--foreground))}select option,select optgroup{background:hsl(var(--popover));color:hsl(var(--popover-foreground))}input:-webkit-autofill{-webkit-text-fill-color:hsl(var(--foreground));caret-color:hsl(var(--foreground));box-shadow:0 0 0 1000px hsl(var(--background)) inset}input:-webkit-autofill:hover{-webkit-text-fill-color:hsl(var(--foreground));caret-color:hsl(var(--foreground));box-shadow:0 0 0 1000px hsl(var(--background)) inset}input:-webkit-autofill:focus{-webkit-text-fill-color:hsl(var(--foreground));caret-color:hsl(var(--foreground));box-shadow:0 0 0 1000px hsl(var(--background)) inset}textarea:-webkit-autofill{-webkit-text-fill-color:hsl(var(--foreground));caret-color:hsl(var(--foreground));box-shadow:0 0 0 1000px hsl(var(--background)) inset}select:-webkit-autofill{-webkit-text-fill-color:hsl(var(--foreground));caret-color:hsl(var(--foreground));box-shadow:0 0 0 1000px hsl(var(--background)) inset}[data-slot=dialog-content],[data-slot=select-content],[data-slot=card]{background:hsl(var(--popover));color:hsl(var(--popover-foreground))}[data-slot=input],[data-slot=select-trigger]{color:hsl(var(--foreground))}[data-slot=dialog-description],[data-slot=card-description],[data-slot=select-label],[data-slot=table-caption]{color:hsl(var(--muted-foreground))}::selection{background:hsl(var(--primary) / .22)}:focus-visible{outline:2px solid hsl(var(--ring) / .6);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .28);background-clip:padding-box;border:3px solid #0000;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .42);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-track{background:0 0}.app{grid-template-columns:var(--sidebar-w) 1fr;height:100%;display:grid}.auth-gate{background:hsl(var(--background));align-content:center;place-items:center;gap:12px;min-height:100vh;display:grid}.auth-gate-spinner{border:2px solid hsl(var(--muted-foreground) / .22);border-top-color:hsl(var(--primary));border-radius:999px;width:18px;height:18px;animation:.8s linear infinite spin}.sidebar{border-right:1px solid hsl(var(--border));background:hsl(var(--card-elev));flex-direction:column;min-height:0;display:flex}.sb-brand{height:var(--header-h);border-bottom:1px solid hsl(var(--border));align-items:center;gap:9px;padding:0 16px;display:flex}.sb-logo{border-radius:var(--radius-sm);background:hsl(var(--primary));width:26px;height:26px;color:hsl(var(--primary-foreground));flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.sb-brand-name{letter-spacing:-.01em;font-size:13.5px;font-weight:650}.sb-brand-sub{color:hsl(var(--muted-foreground));font-size:10.5px}.sb-close{flex:none;margin-left:auto}.sb-nav{flex-direction:column;flex:1;gap:1px;min-height:0;padding:10px;display:flex;overflow-y:auto}.sb-section{text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--muted-foreground));padding:12px 8px 4px;font-size:10.5px;font-weight:600}.sb-item{border-radius:var(--radius-sm);color:hsl(var(--foreground));cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:7px 9px;font-size:13px;font-weight:500;transition:background .12s;display:flex}.sb-item:hover{background:hsl(var(--muted))}.sb-item.active{background:hsl(var(--muted));color:hsl(var(--foreground))}.sb-item.active .ic{color:hsl(var(--primary))}.sb-item .ic{color:hsl(var(--muted-foreground));flex:none}.sb-item .count{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.sb-foot{border-top:1px solid hsl(var(--border));padding:10px}.sb-user{border-radius:var(--radius-sm);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:6px;display:flex}.sb-user:hover{background:hsl(var(--muted))}.avatar{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:99px;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:650;display:grid}.main{flex-direction:column;min-width:0;min-height:0;display:flex}.topbar{height:var(--header-h);border-bottom:1px solid hsl(var(--border));background:hsl(var(--background) / .8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;align-items:center;gap:12px;padding:0 22px;display:flex;position:sticky;top:0}.crumbs{color:hsl(var(--muted-foreground));align-items:center;gap:7px;font-size:13px;display:flex}.crumbs .cur{color:hsl(var(--foreground));font-weight:600}.topbar-spacer{flex:1}.mobile-menu-btn,.mobile-sidebar-scrim,.mobile-sidebar-drawer{display:none}.content{flex:1;min-height:0;overflow-y:auto}.page{max-width:1480px;margin:0 auto;padding:22px 26px 56px}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-title{letter-spacing:-.02em;margin:0;font-size:21px;font-weight:680}.page-desc{color:hsl(var(--muted-foreground));margin:3px 0 0;font-size:13px}.peer-detail-actions{flex:none;align-items:stretch;gap:8px;display:flex}.peer-detail-actions .btn{height:34px}.peer-detail-actions .seg{min-height:34px}.peer-detail-actions .seg-item{justify-content:center;min-width:56px}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-sm);min-width:0}.card-pad{padding:16px}.card-head{border-bottom:1px solid hsl(var(--border));align-items:center;gap:10px;padding:13px 16px;display:flex}.card-title{letter-spacing:-.01em;margin:0;font-size:13px;font-weight:640}.card-sub{color:hsl(var(--muted-foreground));margin:0;font-size:11.5px}.btn{border-radius:var(--radius-sm);height:32px;font-family:var(--font);cursor:pointer;background:hsl(var(--muted));color:hsl(var(--foreground));white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;font-weight:550;line-height:1;transition:background .12s,border-color .12s,opacity .12s;display:inline-flex}.btn:hover{background:hsl(var(--border))}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary:hover{background:hsl(var(--primary) / .9)}.btn-outline{border-color:hsl(var(--border-strong));background:0 0}.btn-outline:hover{background:hsl(var(--muted))}.btn-ghost{background:0 0}.btn-ghost:hover{background:hsl(var(--muted))}.btn-danger{border-color:hsl(var(--border-strong));color:hsl(var(--red));background:0 0}.btn-danger:hover{background:hsl(var(--red-bg));border-color:hsl(var(--red) / .5)}.btn-sm{height:27px;padding:0 9px;font-size:12px}.btn-icon{width:32px;padding:0}.btn-icon.btn-sm{width:27px}.badge{white-space:nowrap;border:1px solid #0000;border-radius:4px;align-items:center;gap:5px;height:20px;padding:0 7px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.badge-muted{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-color:hsl(var(--border))}.badge-outline{color:hsl(var(--muted-foreground));border-color:hsl(var(--border-strong));background:0 0}.badge-green{background:hsl(var(--green-bg));color:hsl(var(--green))}.badge-amber{background:hsl(var(--amber-bg));color:hsl(var(--amber))}.badge-red{background:hsl(var(--red-bg));color:hsl(var(--red))}.badge-sky{background:hsl(var(--sky-bg));color:hsl(var(--sky))}.badge-primary{background:hsl(var(--primary-soft));color:hsl(var(--primary))}.dot{border-radius:99px;flex:none;width:7px;height:7px}.dot-green{background:hsl(var(--green));box-shadow:0 0 0 3px hsl(var(--green) / .18)}.dot-amber{background:hsl(var(--amber));box-shadow:0 0 0 3px hsl(var(--amber) / .18)}.dot-red{background:hsl(var(--red));box-shadow:0 0 0 3px hsl(var(--red) / .18)}.dot-sky{background:hsl(var(--sky));box-shadow:0 0 0 3px hsl(var(--sky) / .18)}.dot-muted{background:hsl(var(--muted-foreground) / .55)}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.label{font-size:12.5px;font-weight:560}.hint{color:hsl(var(--muted-foreground));font-size:11.5px}.input,.textarea,.select{width:100%;font-family:var(--font);color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius-sm);height:34px;padding:0 10px;font-size:13px;transition:border-color .12s,box-shadow .12s}.input.mono,.textarea.mono{font-family:var(--mono);font-size:12.5px}.textarea{resize:vertical;height:auto;padding:8px 10px;line-height:1.5}.input:focus,.textarea:focus,.select:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 3px hsl(var(--ring) / .16);outline:none}.input::placeholder,.textarea::placeholder{color:hsl(var(--muted-foreground) / .7)}.input[readonly],.input.ro{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:default}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2399999f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;padding-right:30px}.switch{background:hsl(var(--input));cursor:pointer;border:none;border-radius:99px;flex:none;width:36px;height:20px;padding:0;transition:background .15s;position:relative}.switch.on{background:hsl(var(--primary))}.switch:disabled{cursor:not-allowed;opacity:.55}.switch:after{content:"";background:#fff;border-radius:99px;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch.on:after{transform:translate(16px)}.bgp-ext-box{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted));flex-direction:column;gap:2px;padding:10px;display:flex}.bgp-ext-row{border-radius:var(--radius-sm);grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px;padding:8px;display:grid}.bgp-ext-row:hover{background:hsl(var(--card))}.bgp-ext-title{color:hsl(var(--foreground));font-size:13px;font-weight:680;line-height:1.35}.seg{background:hsl(var(--muted));border-radius:var(--radius-sm);border:1px solid hsl(var(--border));gap:3px;padding:3px;display:inline-flex}.seg-item{font-family:var(--font);color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;font-weight:550;transition:background .12s,color .12s;display:inline-flex}.seg-item.active{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:var(--shadow-sm)}.chk{border:1.5px solid hsl(var(--border-strong));background:hsl(var(--background));cursor:pointer;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;transition:background .12s,border-color .12s;display:grid}.chk.on{background:hsl(var(--primary));border-color:hsl(var(--primary))}.chk svg{opacity:0;color:#fff}.chk.on svg{opacity:1}.tbl{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{text-align:left;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));white-space:nowrap;padding:9px 14px;font-size:11.5px;font-weight:580}.tbl td{border-bottom:1px solid hsl(var(--border));vertical-align:middle;padding:10px 14px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:hsl(var(--muted) / .6)}.tbl .num{text-align:right;font-variant-numeric:tabular-nums}.group-row td{background:hsl(var(--card-elev));color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));padding:7px 14px;font-size:11.5px;font-weight:650;display:table-cell}.group-row span:first-child{margin-right:8px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.toolbar-search{width:min(340px,100%)}.table-footer{border-top:1px solid hsl(var(--border));background:hsl(var(--card-elev));justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.page-indicator{text-align:center;min-width:58px;color:hsl(var(--muted-foreground));font-size:12px}.grid{gap:14px;display:grid}.stat-grid{grid-template-columns:repeat(4,1fr)}.dashboard-primary-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);align-items:stretch}.dash-grid{grid-template-columns:1.55fr 1fr;align-items:start}.nodes-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}@media (max-width:1180px){.dashboard-primary-grid,.dash-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.app{grid-template-columns:1fr}.sidebar{display:none}.topbar{gap:9px;padding:0 14px}.mobile-menu-btn{flex:none;display:inline-flex}.mobile-sidebar-scrim{z-index:30;background:#09090b6b;border:0;padding:0;animation:.14s fadein;display:block;position:fixed;inset:0}.mobile-sidebar-drawer{z-index:31;background:hsl(var(--card-elev));border-right:1px solid hsl(var(--border));width:min(82vw,304px);box-shadow:var(--shadow-pop);flex-direction:column;min-height:0;animation:.18s cubic-bezier(.2,.8,.2,1) mobile-drawer-in;display:flex;position:fixed;inset:0 auto 0 0}}@keyframes mobile-drawer-in{0%{opacity:.55;transform:translate(-18px)}}.stat{padding:14px 16px}.stat-label{color:hsl(var(--muted-foreground));align-items:center;gap:7px;font-size:12px;font-weight:530;display:flex}.stat-value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-top:7px;font-size:26px;font-weight:700}.stat-value.mono{font-size:19px}.stat-foot{color:hsl(var(--muted-foreground));align-items:center;gap:5px;margin-top:5px;font-size:11.5px;display:flex}.delta-up{color:hsl(var(--green));font-weight:600}.delta-down{color:hsl(var(--red));font-weight:600}.node-card{cursor:pointer;padding:0;transition:border-color .14s,box-shadow .14s,transform .14s;overflow:hidden}.node-card:hover{border-color:hsl(var(--border-strong));box-shadow:var(--shadow)}.node-card:hover .node-cta{color:hsl(var(--primary))}.node-card-disabled{cursor:not-allowed}.node-card-disabled:hover{border-color:hsl(var(--border));box-shadow:var(--shadow-sm)}.node-card-disabled:hover .node-cta{color:hsl(var(--muted-foreground))}.node-top{align-items:flex-start;gap:11px;padding:14px 16px 12px;display:flex}.flag{filter:saturate(1.05);flex:none;font-size:22px;line-height:1}.node-name{letter-spacing:-.01em;font-size:14px;font-weight:640}.node-loc{color:hsl(var(--muted-foreground));font-size:11.5px}.node-meta{flex-direction:column;gap:9px;padding:0 16px 13px;display:flex}.meta-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.meta-k{color:hsl(var(--muted-foreground))}.cap-bar{background:hsl(var(--muted));border-radius:99px;height:5px;overflow:hidden}.cap-fill{background:linear-gradient(90deg, hsl(var(--primary)) 0%, var(--cap-color,hsl(var(--primary))) 100%);border-radius:99px;height:100%;transition:width .18s,background .18s}.node-foot{border-top:1px solid hsl(var(--border));background:hsl(var(--card-elev));justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.node-cta{color:hsl(var(--muted-foreground));align-items:center;gap:5px;font-size:12.5px;font-weight:600;transition:color .14s;display:flex}.tunnel-tags{gap:5px;display:flex}.event{border-bottom:1px solid hsl(var(--border));gap:11px;padding:9px 16px;display:flex}.event:last-child{border-bottom:none}.event-time{color:hsl(var(--muted-foreground));white-space:nowrap;min-width:42px;padding-top:1px;font-size:11px}.event-msg{font-size:12.5px}.event-sub{color:hsl(var(--muted-foreground));font-size:11.5px}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;display:flex}.kv{border-bottom:1px dashed hsl(var(--border));justify-content:space-between;gap:12px;padding:8px 0;font-size:12.5px;display:flex}.kv:last-child{border-bottom:none}.kv-k{color:hsl(var(--muted-foreground))}.kv-v{text-align:right;word-break:break-all;font-weight:500}.divider{background:hsl(var(--border));height:1px;margin:4px 0}.copy-field{border:1px solid hsl(var(--input));border-radius:var(--radius-sm);background:hsl(var(--muted));align-items:stretch;gap:0;width:100%;min-width:0;max-width:100%;display:flex;overflow:hidden}.copy-field code{min-width:0;font-family:var(--mono);white-space:nowrap;color:hsl(var(--foreground));flex:auto;padding:8px 10px;font-size:12px;overflow-x:auto}.copy-field.copy-field-key code{padding-bottom:2px}.copy-btn{border:none;border-left:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;color:hsl(var(--muted-foreground));align-self:stretch;place-items:center;padding:0 10px;display:grid}.copy-btn:hover{color:hsl(var(--foreground))}.form-2col{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-shell{grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:start;gap:20px;display:grid}@media (max-width:1080px){.form-shell,.form-2col{grid-template-columns:1fr}}.fade-in{animation:.22s fadein}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}}.empty{text-align:center;color:hsl(var(--muted-foreground));padding:48px 20px}.s-link{color:hsl(var(--primary));cursor:pointer;font-weight:550}.s-link:hover{text-decoration:underline}.scrim{background:#09090b66;animation:.15s fadein;position:absolute;inset:0}.drawer{background:hsl(var(--background));border-left:1px solid hsl(var(--border));width:460px;max-width:92vw;box-shadow:var(--shadow-pop);flex-direction:column;animation:.22s cubic-bezier(.2,.8,.2,1) slidein;display:flex;position:absolute;top:0;bottom:0;right:0}@keyframes slidein{0%{opacity:.4;transform:translate(24px)}}.login-wrap{place-items:center;height:100%;padding:24px;display:grid}.turnstile-shell{justify-content:center;width:100%;min-height:65px;display:flex;overflow:hidden}.turnstile-widget{transform-origin:top;width:max-content;min-width:300px;min-height:65px;line-height:0}.turnstile-widget-flexible{width:100%;min-width:0}.turnstile-widget-flexible iframe{width:100%!important}.animate-spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.chart-tooltip{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);padding:5px 7px;font-size:11.5px;line-height:1.35;box-shadow:0 2px 6px #00000014}.chart-tooltip p{margin:0}.chart-tooltip-time{color:hsl(var(--muted-foreground));margin-bottom:1px;font-size:10.5px}.chart-empty{height:80px;color:hsl(var(--muted-foreground));justify-content:center;align-items:center;font-size:12.5px;display:flex}.bandwidth-chart-shell{flex-direction:column;gap:8px;display:flex}.bandwidth-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.bandwidth-stat{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--card-elev));flex-direction:column;gap:2px;min-width:0;padding:7px 9px;display:flex}.bandwidth-stat .mono{font-size:12px;font-weight:650}@media (max-width:760px){.page{padding:16px 14px 44px}.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-title{font-size:19px;line-height:1.25}.page-desc{font-size:12.5px}.peer-detail-actions{width:100%}.peer-detail-actions .btn{flex:none}.peer-detail-actions .seg{flex:auto;display:flex}.peer-detail-actions .seg-item{flex:1 1 0;padding-inline:8px}.crumbs{padding-bottom:1px;overflow-x:auto}.card-head{align-items:flex-start;gap:8px;padding:12px 13px}.card-pad{padding:13px}.card:has(.tbl){overflow-x:auto}.tbl{min-width:620px}.bandwidth-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.dashboard-chart{min-height:272px;padding:10px 10px 12px}.node-map-wrap{min-height:272px;color:hsl(var(--muted-foreground));background:hsl(var(--card-elev));border-radius:var(--radius);padding:12px;position:relative;overflow:visible}.node-map-base,.node-map-overlay{width:100%;height:272px;display:block}.node-map-base{opacity:.46}.node-map-base svg{width:100%;height:100%;display:block}.node-map-overlay{width:calc(100% - 24px);height:calc(100% - 24px);position:absolute;inset:12px;overflow:visible}.node-map-point{cursor:pointer;outline:none}.node-map-point circle:not(.node-map-pulse){stroke:hsl(var(--card));stroke-width:1.15px;vector-effect:non-scaling-stroke}.node-map-point-online circle:not(.node-map-pulse),.node-map-point-peered circle:not(.node-map-pulse){fill:hsl(var(--sky))}.node-map-point-peer-normal circle:not(.node-map-pulse){fill:hsl(var(--green))}.node-map-point-peer-interrupted circle:not(.node-map-pulse){fill:hsl(var(--red))}.node-map-point-maintenance circle:not(.node-map-pulse){fill:hsl(var(--amber))}.node-map-pulse{opacity:.16}.node-map-point-online .node-map-pulse,.node-map-point-peered .node-map-pulse{fill:hsl(var(--sky))}.node-map-point-peer-normal .node-map-pulse{fill:hsl(var(--green))}.node-map-point-peer-interrupted .node-map-pulse{fill:hsl(var(--red))}.node-map-point-maintenance .node-map-pulse{fill:hsl(var(--amber))}.node-map-point:hover .node-map-pulse,.node-map-point:focus-visible .node-map-pulse{opacity:.24}.node-map-count{fill:hsl(var(--card));font-family:var(--font);text-anchor:middle;dominant-baseline:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:3.1px;font-weight:700}.node-map-tooltip-layer{pointer-events:none;z-index:4;position:absolute;inset:12px}.node-map-tooltip{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);background:hsl(var(--card));min-width:150px;max-width:250px;color:hsl(var(--foreground));box-shadow:var(--shadow-pop);z-index:2;padding:8px 10px;font-size:12px;line-height:1.45;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.node-map-tooltip:after{content:"";border-right:1px solid hsl(var(--border));border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));width:8px;height:8px;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)rotate(45deg)}.node-map-tooltip-title{justify-content:space-between;align-items:center;gap:10px;font-weight:640;display:flex}.node-map-tooltip-meta{color:hsl(var(--muted-foreground));flex-direction:column;gap:2px;margin-top:4px;font-size:11.5px;display:flex}.node-map-tooltip-list{flex-direction:column;gap:6px;margin-top:7px;display:flex}.node-map-tooltip-row{grid-template-columns:10px minmax(0,1fr);align-items:start;gap:7px;display:grid}.node-map-tooltip-row .dot{width:6px;height:6px;box-shadow:none;margin-top:4px}.node-map-tooltip-node{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:620;overflow:hidden}.node-map-tooltip-status{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.node-map-empty{color:hsl(var(--muted-foreground));pointer-events:none;place-items:center;font-size:12.5px;display:grid;position:absolute;inset:12px}.lg-grid{grid-template-columns:minmax(320px,.34fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.lg-panel{overflow:hidden}.lg-form{flex-direction:column;gap:14px;padding:16px;display:flex}.lg-form .seg{flex-wrap:wrap}.lg-form .seg-item{flex:auto;justify-content:center;min-width:72px}.lg-output-card{overflow:hidden}.lg-terminal{background:hsl(var(--card-elev));min-height:430px;max-height:68vh;color:hsl(var(--foreground));border-top:1px solid hsl(var(--border));font-family:var(--mono);white-space:pre-wrap;word-break:break-word;margin:0;padding:14px 16px 18px;font-size:12px;line-height:1.55;overflow:auto}.lg-resolved-list{flex-wrap:wrap;gap:7px;display:flex}.lg-resolved-item{border:1px solid hsl(var(--border-strong));border-radius:var(--radius-sm);background:hsl(var(--card));min-height:28px;color:hsl(var(--foreground));cursor:pointer;padding:5px 9px;font-size:12px}.lg-resolved-item:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.lg-resolved-item:disabled{cursor:not-allowed;opacity:.55}@media (max-width:980px){.lg-grid{grid-template-columns:1fr}.lg-terminal{min-height:320px}}
