.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--bg:#f6f6f7;--panel:#fff;--panel-2:#f5f7f9;--text:#18181b;--text-2:#3f3f46;--muted:#71717a;--line:#e4e4e7;--grid:#0f172a0f;--track:#efeff1;--accent:#2563eb;--accent-2:#1d4ed8;--accent-soft:#2563eb1a;--online:#16a34a;--up:inherit;--down:inherit;--c-best:#10b981;--c-good:#34d399;--c-ok:#a3e635;--c-warn:#f59e0b;--c-bad:#f43f5e;--empty-bar:#e9edf1;--shadow:none;--shadow-hover:0 2px 4px #0f172a0a, 0 16px 32px -12px #0f172a2e;--radius:8px;--radius-sm:6px;--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a0c10;--panel:#12151b;--panel-2:#181c23;--text:#e8ebf0;--text-2:#c2c8d2;--muted:#7b8494;--line:#262a31;--grid:#ffffff12;--track:#222730;--accent-soft:#60a5fa29;--accent:#3b82f6;--accent-2:#60a5fa;--empty-bar:#232832;--shadow:none;--shadow-hover:0 16px 32px -12px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}input,select,button{font:inherit;color:inherit}input,select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);outline:none;width:100%;height:36px;padding:0 12px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox]{width:auto;height:auto;accent-color:var(--accent);box-shadow:none}h1,h2,h3,h4{margin:0}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.num{font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.spacer{flex:1}.up{color:var(--up)}.down{color:var(--down)}.bad{color:var(--c-bad)}.warn{color:var(--c-warn)}.icon{flex:none}@keyframes rise{0%{opacity:0;transform:translateY(10px)scale(.99)}}@keyframes fade{0%{opacity:0}}@keyframes pulse{0%{opacity:.55;transform:scale(1)}80%,to{opacity:0;transform:scale(3)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}.fade-in{animation:fade .4s var(--ease) both}.page{max-width:1440px;animation:fade .35s var(--ease) both;margin:0 auto;padding:24px 20px 64px}.topbar{align-items:center;gap:12px;margin-bottom:20px;display:flex}.site-title{font-size:20px;font-weight:600}.conn{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.conn:before{content:"";background:var(--muted);border-radius:50%;width:6px;height:6px}.conn.ok:before{background:var(--online)}.toolbar{align-items:center;gap:6px;margin:24px 0 12px;display:flex}.page.admin .toolbar{margin-top:0}.pill{color:var(--muted);font-size:13px}.pill b{color:var(--text);margin-left:4px;font-weight:500}.search{width:220px;height:34px;animation:pop .25s var(--ease) both}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);width:32px;height:32px;color:var(--muted);justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--text)}.icon-btn.active{color:var(--text);background:var(--track)}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);cursor:pointer;white-space:nowrap;height:34px;transition:background .2s, border-color .2s, transform .15s var(--ease), color .2s;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent-2)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-2);color:#fff}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--panel);color:var(--accent-2)}.btn.sm{height:30px;padding:0 10px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed}.link{color:var(--accent-2);cursor:pointer;background:0 0;border:0;padding:0}.link.danger{color:var(--c-bad)}.alert{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--c-bad) 10%, transparent);color:var(--c-bad);animation:pop .3s var(--ease) both;margin-bottom:12px;padding:10px 14px}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty a{color:var(--accent)}.center-box{max-width:360px;animation:pop .4s var(--ease) both;flex-direction:column;align-items:center;gap:14px;margin:18vh auto 0;padding:28px;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);position:relative}.skeleton{background:linear-gradient(90deg, var(--panel) 30%, var(--panel-2) 50%, var(--panel) 70%) 0 0 / 200% 100%;height:300px;animation:1.4s linear infinite shimmer}.skeleton.tall{height:420px}.summary{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sum-cell{min-width:0;padding:14px 18px}.sum-cell+.sum-cell{border-left:1px solid var(--line)}.sum-label{color:var(--muted);font-size:12px}.sum-val{white-space:nowrap;margin-top:2px;font-size:22px;font-weight:600;line-height:1.3}.sum-val .muted{font-size:14px;font-weight:400}.sum-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.sum-flags{align-items:center;gap:4px;height:18px;display:flex}.cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.server-card{color:inherit;padding:14px 16px 12px;transition:border-color .15s;display:block}.server-card:hover{border-color:var(--muted)}.server-card.offline{opacity:.55}.card-head{align-items:center;gap:8px;margin-bottom:14px;display:flex}.card-name{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;transition:color .2s;overflow:hidden}.dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;position:relative}.dot.on{background:var(--online)}.dot.off{background:var(--muted);opacity:.6}.flag{object-fit:cover;border-radius:2px;flex:none;box-shadow:0 0 0 1px #00000014}.flag-text{color:var(--muted);font-size:11px}.os-icon{flex:none}.offline-tip{color:var(--muted);margin:-6px 0 12px;font-size:12px}.meters{flex-direction:column;gap:7px;display:flex}.meter{grid-template-columns:30px minmax(0,1fr) 36px 118px;align-items:center;gap:10px;font-size:12.5px;display:grid}.meter-pct{text-align:right}.meter-sub{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.bar{background:var(--track);border-radius:2px;height:4px;overflow:hidden}.bar>div{transform-origin:0;height:100%;transition:transform .6s var(--ease), background .3s}.bar.ok>div{background:var(--accent)}.bar.warn>div{background:var(--c-warn)}.bar.bad>div{background:var(--c-bad)}.card-foot{border-top:1px solid var(--line);white-space:nowrap;gap:14px;margin-top:12px;padding-top:10px;font-size:12.5px;display:flex}.cost{margin-top:4px;font-size:12px}.pings{border-top:1px solid var(--line);flex-direction:column;gap:7px;margin-top:10px;padding-top:10px;display:flex}.ping-row{grid-template-columns:64px minmax(0,1fr) 46px 36px;align-items:center;gap:8px;font-size:12px;display:grid}.ping-name{min-width:0;color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:inline-flex;overflow:hidden}.ping-name i{border-radius:2px;flex:none;width:8px;height:8px}.ping-bars{justify-content:space-between;align-items:center;gap:2px;min-width:0;height:16px;display:flex}.ping-bars span{background:var(--empty-bar);max-width:4px;height:100%;transition:background .5s, transform .25s var(--ease), opacity .2s;animation:fade .5s var(--ease) both;border-radius:1px;flex:1 1 0}.ping-bars span.blank{opacity:.7}.ping-val,.ping-loss{text-align:right;white-space:nowrap;font-weight:500}.ping-loss{color:var(--muted);font-weight:500}.more{color:var(--muted);text-align:center;font-size:11px}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 14px}.table th{color:var(--muted);white-space:nowrap;font-size:12px;font-weight:500}.table tbody tr{transition:background .2s}.table tbody tr:hover{background:var(--panel-2)}.table tbody tr:last-child td{border-bottom:0}.table tr.offline td{opacity:.55}.table td.actions{white-space:nowrap;text-align:right}.table td.actions .link+.link{margin-left:12px}.name-cell{white-space:nowrap;align-items:center;gap:8px;font-weight:500;display:inline-flex}.name-cell a:hover{color:var(--accent-2)}.tag{background:var(--track);color:var(--muted);border-radius:4px;padding:1px 6px;font-size:11px}.seg{background:var(--track);isolation:isolate;scrollbar-width:none;border-radius:8px;max-width:100%;padding:2px;display:inline-flex;position:relative;overflow-x:auto}.seg button{z-index:1;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-size:13px;transition:color .25s;position:relative}.seg button:hover{color:var(--text)}.seg button.active{color:var(--text);font-weight:500}.seg-ind{z-index:0;background:var(--panel);transition:transform .4s var(--ease), width .4s var(--ease);border-radius:6px;position:absolute;top:2px;bottom:2px;left:0;box-shadow:0 1px 2px #0f172a1f}.seg.sm button{padding:2px 10px;font-size:12.5px}.tabs{background:var(--track);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.tab{color:var(--muted);background:0 0;border:0;border-radius:6px;padding:4px 14px;transition:color .2s,background .25s}.tab.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0f172a1f}.detail-head{margin-bottom:16px}.back-link{color:var(--muted);font-size:13px}.back-link:hover{color:var(--text)}.detail-name{align-items:center;gap:10px;margin-top:8px;display:flex}.detail-title{font-size:20px;font-weight:600}.panels{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.panel{min-width:0;padding:12px 16px 8px}.panel h4{margin-bottom:4px;font-size:13px;font-weight:600}.kv{margin:0;font-size:13px}.kv>div{border-top:1px solid var(--line);gap:12px;padding:6px 0;display:flex}.kv>div:first-child{border-top:0}.kv dt{width:64px;color:var(--muted);flex:none}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.section-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:28px 0 12px;display:flex}.section-bar h3{margin-right:6px;font-size:15px;font-weight:600}.section-bar.sub{margin:16px 0 10px}.charts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.chart-card{min-width:0;padding:14px 16px 12px}.chart-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.chart-title{font-size:13px;font-weight:600}.chart-value{color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.chart-plot{position:relative}.chart-empty{color:var(--muted);border-radius:var(--radius-sm);background:repeating-linear-gradient(-45deg, transparent 0 8px, var(--panel-2) 8px 16px);justify-content:center;align-items:center;font-size:13px;display:flex}.chart-legend{color:var(--muted);justify-content:center;gap:16px;margin-top:6px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:5px;display:inline-flex}.chart-legend i{border-radius:2px;width:10px;height:3px}.chart-tip{z-index:2;background:var(--panel);border:1px solid var(--line);pointer-events:none;opacity:0;border-radius:10px;min-width:150px;padding:8px 10px;font-size:12px;transition:opacity .15s,transform .12s linear;position:absolute;top:0;left:0;box-shadow:0 2px 8px #00000014}.tip-time{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:4px}.tip-row{white-space:nowrap;align-items:center;gap:6px;display:flex}.tip-row i{border-radius:50%;width:8px;height:8px}.tip-row b{font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px;font-weight:600}.ping-panel{padding:4px 16px 12px}.ping-tools{align-items:center;gap:14px;padding:10px 0;display:flex}.link-btn{color:var(--muted);background:0 0;border:0;padding:0;font-size:13px}.link-btn:hover{color:var(--text)}.ping-legend{border-collapse:collapse;width:100%;margin-bottom:12px;font-size:13px}.ping-legend th{text-align:right;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:12px;font-weight:400}.ping-legend td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--line);padding:7px 8px}.ping-legend th:first-child,.ping-legend td:first-child{text-align:left;padding-left:0}.ping-legend tbody tr{cursor:pointer;transition:opacity .2s,background .15s}.ping-legend tbody tr:hover{background:var(--panel-2)}.ping-legend tr.off{opacity:.4}.swatch{vertical-align:-1px;background:var(--c);border:1.5px solid var(--c);border-radius:2px;width:10px;height:10px;margin-right:8px;transition:background .2s;display:inline-block}tr.off .swatch{background:0 0}.chart-bare{min-width:0}.switch{color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch span{background:var(--track);border-radius:99px;width:32px;height:18px;transition:background .25s;position:relative}.switch span:after{content:"";width:14px;height:14px;transition:transform .3s var(--ease);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(14px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.section-head{justify-content:space-between;align-items:center;margin:8px 0 12px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.form-grid.settings{max-width:720px;padding:20px}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field.wide,.form-actions{grid-column:1/-1}.field-label{color:var(--text-2);font-size:13px}.form-actions{align-items:center;gap:12px;display:flex}.input-group{gap:6px;display:flex}.input-group .short{flex:none;width:64px}.check{cursor:pointer;align-items:center;gap:6px;height:36px;display:inline-flex}.checks{flex-wrap:wrap;gap:0 16px;max-height:160px;display:flex;overflow-y:auto}.modal-mask{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a59;justify-content:center;align-items:flex-start;padding:8vh 16px 16px;animation:.2s both fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border-radius:var(--radius);border:1px solid var(--line);width:640px;max-width:100%;box-shadow:var(--shadow-hover);animation:pop .3s var(--ease) both}.modal-head,.modal-foot{justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head{border-bottom:1px solid var(--line)}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px}.modal-body{padding:18px}.modal-body p{margin:0 0 8px}.copy-box{align-items:flex-start;gap:8px;margin-bottom:12px;display:flex}.copy-box code{background:var(--panel-2);border:1px solid var(--line);word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;flex:1;min-width:0;padding:8px 10px;font-size:12px}@media (width<=1100px){.charts{grid-template-columns:repeat(2,minmax(0,1fr))}.panels{grid-template-columns:1fr 1fr}}@media (width<=760px){.page{padding:16px 16px 48px}.summary{grid-template-columns:1fr 1fr}.sum-cell:nth-child(3){border-left:0}.sum-cell:nth-child(n+3){border-top:1px solid var(--line)}.sum-val{font-size:18px}.charts,.form-grid,.panels{grid-template-columns:1fr}.search{width:140px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ping-legend th:not(:first-child){width:120px}
