.gate[data-v-c4d78fd5]{display:grid;place-items:center;min-height:var(--shell-h, 100dvh);padding:24px;background:radial-gradient(900px 480px at 50% -10%,var(--glow-1),transparent 62%),radial-gradient(700px 400px at 100% 100%,var(--glow-2),transparent 58%),var(--bg)}.gate-card[data-v-c4d78fd5]{display:flex;flex-direction:column;align-items:center;width:min(100%,400px);padding:34px 30px 26px;text-align:center;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);animation:gateIn-c4d78fd5 .4s var(--ease) both}@keyframes gateIn-c4d78fd5{0%{opacity:0;transform:translateY(10px)}}.gate-notice[data-v-c4d78fd5]{position:fixed;top:24px;left:50%;z-index:50;display:flex;align-items:center;gap:10px;max-width:min(92vw,440px);padding:12px 16px;border-radius:14px;border:1px solid color-mix(in srgb,var(--red) 30%,transparent);background:var(--surface-solid);color:var(--red);font-size:13px;font-weight:650;line-height:1.35;text-align:left;box-shadow:var(--shadow-hover)}.gate-notice svg[data-v-c4d78fd5]{width:18px;height:18px;flex-shrink:0}.notice-enter-active[data-v-c4d78fd5]{transition:opacity .24s ease,transform .32s var(--ease)}.notice-leave-active[data-v-c4d78fd5]{transition:opacity .3s ease,transform .3s ease}.notice-enter-from[data-v-c4d78fd5]{opacity:0;transform:translate(-50%,-14px)}.notice-leave-to[data-v-c4d78fd5]{opacity:0;transform:translate(-50%,-8px)}.notice-enter-to[data-v-c4d78fd5],.notice-leave-from[data-v-c4d78fd5]{opacity:1;transform:translate(-50%)}.gate-notice[data-v-c4d78fd5]{transform:translate(-50%)}@media(prefers-reduced-motion:reduce){.gate-card[data-v-c4d78fd5]{animation:none}.notice-enter-active[data-v-c4d78fd5],.notice-leave-active[data-v-c4d78fd5]{transition:opacity .2s ease}.notice-enter-from[data-v-c4d78fd5],.notice-leave-to[data-v-c4d78fd5]{transform:translate(-50%)}}.gate-logo[data-v-c4d78fd5]{width:52px;height:52px;border-radius:15px}.gate-logo svg[data-v-c4d78fd5]{width:28px;height:28px}.gate-title[data-v-c4d78fd5]{margin:18px 0 0;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text-strong)}.gate-subtitle[data-v-c4d78fd5]{margin:8px 0 22px;color:var(--muted);font-size:14px}.gate-input[data-v-c4d78fd5]{width:100%;border:1px solid var(--line-strong);border-radius:12px;padding:12px 16px;background:var(--surface-2);color:var(--text);font:inherit;font-family:var(--font-mono);font-size:15px;letter-spacing:.04em;transition:border-color var(--dur) ease}.gate-input[data-v-c4d78fd5]::placeholder{color:var(--faint);font-family:var(--font-sans);letter-spacing:0}.gate-input[data-v-c4d78fd5]:focus{outline:3px solid var(--accent-soft);outline-offset:0;border-color:var(--accent)}.gate-button[data-v-c4d78fd5]{position:relative;isolation:isolate;width:100%;margin-top:16px;border:none;border-radius:12px;padding:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font:inherit;font-size:15px;font-weight:750;cursor:pointer;opacity:1;transition:filter .18s ease,transform .18s ease,opacity .18s ease}.gate-button[data-v-c4d78fd5]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;box-shadow:0 12px 28px color-mix(in srgb,var(--blue) 35%,transparent);opacity:1;transition:opacity .18s ease}.gate-button[data-v-c4d78fd5]:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.gate-button[data-v-c4d78fd5]:disabled{opacity:.5;cursor:not-allowed}.gate-button[data-v-c4d78fd5]:disabled:after{opacity:0}.gate-foot[data-v-c4d78fd5]{margin:18px 0 0;color:var(--faint);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.gate-button[data-v-c4d78fd5],.gate-button[data-v-c4d78fd5]:after{transition:none}}.matrix[data-v-68a065a8]{display:flex;flex-direction:column;gap:5px;container:matrix / inline-size}.row[data-v-68a065a8]{display:grid;grid-template-columns:62px repeat(3,minmax(0,1fr));gap:5px;align-items:center}.col-head[data-v-68a065a8],.row-head[data-v-68a065a8]{color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.col-head[data-v-68a065a8]{text-align:center;padding-bottom:2px}.row-head[data-v-68a065a8]{text-align:right;padding-right:2px}.cell[data-v-68a065a8]{display:flex;flex-direction:column;overflow:hidden;height:54px;border-radius:9px;background:var(--fill);color:var(--ink);font-variant-numeric:tabular-nums;cursor:default;transition:background-color .4s ease,transform var(--dur) var(--ease)}@media(hover:hover){.cell[data-v-68a065a8]:hover{transform:translateY(-1px)}}.value[data-v-68a065a8]{flex:1;display:grid;place-items:center;font-size:15px;font-weight:800;line-height:1}.loss[data-v-68a065a8]{display:flex;align-items:center;gap:6px;height:18px;padding:0 7px;background:var(--lat-strip)}.track[data-v-68a065a8]{flex:1;height:4px;border-radius:999px;overflow:hidden;background:var(--lat-strip-track)}.fill[data-v-68a065a8]{display:block;height:100%;width:var(--loss);border-radius:inherit;background:var(--loss-color);transition:width .5s var(--ease)}.pct[data-v-68a065a8]{min-width:26px;text-align:right;font-size:10px;font-weight:800;letter-spacing:-.01em;color:var(--loss-ink)}@container matrix (max-width: 340px){.row[data-v-68a065a8]{grid-template-columns:52px repeat(3,minmax(0,1fr))}.cell[data-v-68a065a8]{height:50px}.value[data-v-68a065a8]{font-size:14px}.pct[data-v-68a065a8]{min-width:22px}}.pa-toggle[data-v-dab986c3]{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:12.5px;font-weight:700;line-height:1;cursor:pointer;white-space:nowrap;transition:background-color var(--dur) ease,color var(--dur) ease,border-color var(--dur) ease}.pa-toggle svg[data-v-dab986c3]{width:15px;height:15px;flex-shrink:0}.pa-toggle[data-v-dab986c3]:hover:not(.active){color:var(--text);border-color:var(--line-strong)}.pa-toggle.active[data-v-dab986c3]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}@container app (max-width: 759px){.pa-toggle[data-v-dab986c3]{padding:7px 10px;font-size:12px}.pa-toggle span[data-v-dab986c3]{display:none}}.chart-wait[data-v-76f5543e]{display:flex;justify-content:center;align-items:flex-end;gap:5px;height:26px;margin-bottom:14px}.chart-wait span[data-v-76f5543e]{width:6px;height:10px;border-radius:3px;background:var(--accent);animation:waitBar-76f5543e 1s var(--ease) infinite}.chart-wait span[data-v-76f5543e]:nth-child(2){animation-delay:.15s}.chart-wait span[data-v-76f5543e]:nth-child(3){animation-delay:.3s}@keyframes waitBar-76f5543e{0%,to{height:8px;opacity:.45}50%{height:24px;opacity:1}}.chart-frame[data-v-76f5543e]{animation:fadeIn .25s ease}.filters[data-v-872ac3de]{display:flex;flex-wrap:wrap;gap:10px 28px;padding:4px 24px 12px;border-bottom:1px solid var(--line)}.filter-group[data-v-872ac3de]{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.filter-group .eyebrow[data-v-872ac3de]{margin:0 2px 0 0}.check[data-v-872ac3de]{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13px;font-weight:650;color:var(--muted);cursor:pointer;padding:5px 11px 5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);transition:background-color var(--dur) ease,border-color var(--dur) ease,color var(--dur) ease}.check[data-v-872ac3de]:hover{color:var(--text);border-color:var(--line-strong)}.check .tick[data-v-872ac3de]{width:14px;height:14px;border-radius:5px;flex-shrink:0;border:1.5px solid var(--line-strong);background:transparent;transition:background-color var(--dur) ease,border-color var(--dur) ease}.check.on[data-v-872ac3de]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.check.on .tick[data-v-872ac3de]{background:var(--accent);border-color:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2.5 6.2l2.3 2.3 4.7-4.9' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-size:12px 12px;background-position:center;background-repeat:no-repeat}@container app (max-width: 759px){.filters[data-v-872ac3de]{padding:4px 16px 10px;gap:8px 14px}.check[data-v-872ac3de]{font-size:12px;padding:4px 8px}}.scale[data-v-14cb1499]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 2px 12px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.scale i[data-v-14cb1499]{width:24px;height:6px;border-radius:2px}.scale-loss[data-v-14cb1499]{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-style:normal}.scale-loss i[data-v-14cb1499]{width:18px;height:4px;border-radius:999px}.node-latency[data-v-14cb1499]{margin:0;flex-shrink:0;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;transition:color .4s ease}.scale[data-v-fce72b62]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 2px 12px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.scale i[data-v-fce72b62]{width:24px;height:6px;border-radius:2px}.scale-loss[data-v-fce72b62]{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font-style:normal}.scale-loss i[data-v-fce72b62]{width:18px;height:4px;border-radius:999px}.node-latency[data-v-fce72b62]{margin:0;flex-shrink:0;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;transition:color .4s ease}.pairs[data-v-fce72b62]{display:flex;flex-direction:column;gap:6px}.pair[data-v-fce72b62]{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:10px;align-items:center}.pair-name[data-v-fce72b62]{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text);font-size:13px;font-weight:650}.hop[data-v-fce72b62]{width:24px;height:12px;flex-shrink:0;color:var(--faint)}.name-text[data-v-fce72b62]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stood[data-v-fce72b62]{flex:none;padding:2px 6px;border-radius:999px;background:var(--gray-soft);color:var(--muted);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase}.cell[data-v-fce72b62]{display:flex;flex-direction:column;overflow:hidden;height:46px;border-radius:9px;background:var(--fill);color:var(--ink);font-variant-numeric:tabular-nums;cursor:default;transition:background-color .4s ease}.value[data-v-fce72b62]{flex:1;display:grid;place-items:center;font-size:15px;font-weight:800;line-height:1}.loss[data-v-fce72b62]{display:flex;align-items:center;gap:6px;height:18px;padding:0 7px;background:var(--lat-strip)}.track[data-v-fce72b62]{flex:1;height:4px;border-radius:999px;overflow:hidden;background:var(--lat-strip-track)}.fill[data-v-fce72b62]{display:block;height:100%;width:var(--loss);border-radius:inherit;background:var(--loss-color);transition:width .5s var(--ease)}.pct[data-v-fce72b62]{min-width:26px;text-align:right;font-size:10px;font-weight:800;letter-spacing:-.01em;color:var(--loss-ink)}@container node (max-width: 360px){.pair[data-v-fce72b62]{grid-template-columns:minmax(0,1fr) 104px}.cell[data-v-fce72b62]{height:44px}.value[data-v-fce72b62]{font-size:14px}}.topips-head[data-v-916105fa]{position:relative;z-index:5;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;padding:14px 18px}.head-figures[data-v-916105fa]{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px}.head-figures .metric-value[data-v-916105fa]{font-size:18px}.head-figures .metric-detail[data-v-916105fa]{margin:0;font-family:var(--font-mono);font-size:11.5px;font-weight:500}.notice[data-v-916105fa]{margin:12px 2px 0;color:var(--muted);font-size:13px}.notice+.sources[data-v-916105fa],.notice+.notice+.sources[data-v-916105fa]{margin-top:12px}.table-card[data-v-916105fa]{padding:6px 6px 12px;overflow:hidden}.table-wait[data-v-916105fa]{padding:10px 12px;gap:14px}.table-wait .skeleton[data-v-916105fa]{height:14px}.table-scroll[data-v-916105fa]{overflow-x:auto}.ip-table[data-v-916105fa]{width:100%;table-layout:fixed;border-collapse:collapse;font-size:13px}.ip-table thead th[data-v-916105fa]{position:sticky;top:0;z-index:2;background:var(--surface-solid)}.band th[data-v-916105fa]{padding:10px 0 2px;border:0}.band-label[data-v-916105fa]{text-align:center}.band-label span[data-v-916105fa]{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.heads th[data-v-916105fa]{padding:8px 7px 10px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;text-align:left;white-space:nowrap;box-shadow:inset 0 -1px 0 var(--line-strong)}.heads th.num[data-v-916105fa]{text-align:right}.ip-table th.lead[data-v-916105fa],.ip-table td.lead[data-v-916105fa]{padding-left:14px}.c-num[data-v-916105fa]{width:62px}.c-address[data-v-916105fa]{width:236px}.c-rank[data-v-916105fa]{width:34px}.c-country[data-v-916105fa]{width:112px}.c-place[data-v-916105fa]{width:92px}.c-nodes[data-v-916105fa]{width:112px}.sortable[data-v-916105fa]{cursor:pointer;-webkit-user-select:none;user-select:none}.sort-chip[data-v-916105fa]{display:inline-flex;align-items:center;gap:2px;padding:4px 7px;border-radius:8px;transition:background-color var(--dur) ease,color var(--dur) ease}.sortable .glyph[data-v-916105fa]{font-size:13px;font-weight:700;line-height:1}.sortable:hover .sort-chip[data-v-916105fa]{background:var(--accent-soft);color:var(--accent)}.sortable.sorted .sort-chip[data-v-916105fa]{background:var(--accent);color:#fff}.caret[data-v-916105fa]{display:inline-block;width:8px;font-size:9px;transition:transform var(--dur) var(--ease)}.caret.up[data-v-916105fa]{display:inline-block;transform:rotate(180deg)}.pager[data-v-916105fa]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:14px 0 2px;padding-top:14px;border-top:1px solid var(--line)}.page-num[data-v-916105fa],.page-step[data-v-916105fa]{min-width:34px;height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font:inherit;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur) ease,color var(--dur) ease,border-color var(--dur) ease}.page-step[data-v-916105fa]{font-size:17px;line-height:1}.page-num[data-v-916105fa]:hover:not(.on),.page-step[data-v-916105fa]:hover:not(:disabled){color:var(--text);border-color:var(--line-strong)}.page-num.on[data-v-916105fa]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.page-step[data-v-916105fa]:disabled{color:var(--faint);opacity:.6;cursor:default}.page-gap[data-v-916105fa]{color:var(--muted);font-size:13px;font-weight:700;padding:0 2px}.ip-table td[data-v-916105fa]{padding:9px 7px;border-top:1px solid var(--line);white-space:nowrap}.ip-row[data-v-916105fa]{cursor:pointer;transition:background-color var(--dur) ease}.ip-row[data-v-916105fa]:hover{background:var(--hover)}.rank[data-v-916105fa]{width:30px;color:var(--faint);font-weight:700;font-variant-numeric:tabular-nums;text-align:right;padding-right:4px}.address[data-v-916105fa]{position:relative;font-family:var(--font-mono);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-strong)}.address[data-v-916105fa]:before{content:"";position:absolute;left:4px;top:5px;bottom:5px;width:var(--share);border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,transparent),color-mix(in srgb,var(--accent) 4%,transparent));transition:width .5s var(--ease)}.address .ip[data-v-916105fa],.address .relay-chip[data-v-916105fa],.address .twisty[data-v-916105fa]{position:relative}.twisty[data-v-916105fa],.twisty-space[data-v-916105fa]{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:3px;vertical-align:-4px}.twisty[data-v-916105fa]{padding:0;border:0;border-radius:6px;background:transparent;color:var(--faint);cursor:pointer;transition:background-color var(--dur) ease,color var(--dur) ease,transform var(--dur) var(--ease)}.twisty svg[data-v-916105fa]{width:13px;height:13px}.twisty[data-v-916105fa]:hover{background:var(--accent-soft);color:var(--accent)}.twisty.open[data-v-916105fa]{transform:rotate(90deg);color:var(--accent)}.ip-table td.address[data-v-916105fa]{padding-left:4px}.ip-table td.sub-address[data-v-916105fa]{padding-left:34px;font-weight:500;font-family:var(--font-sans);font-size:13px}.sub-row>td[data-v-916105fa]{background:var(--surface-2);border-top:1px solid var(--line);animation:fadeIn .2s ease}.sub-row:hover>td[data-v-916105fa]{background:var(--hover)}.sub-address[data-v-916105fa]:before{content:none}.strand[data-v-916105fa]{display:inline-block;width:15px;color:var(--faint);font-weight:800}.strand.relayed[data-v-916105fa]{color:var(--orange)}.strand-label[data-v-916105fa]{color:var(--muted)}.country[data-v-916105fa],.place[data-v-916105fa],.nodes-cell[data-v-916105fa]{color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis}.address[data-v-916105fa],.num[data-v-916105fa]{overflow:hidden;text-overflow:ellipsis}.country-cell[data-v-916105fa]{display:flex;align-items:center;gap:7px;min-width:0}.flag[data-v-916105fa]{font-size:15px;line-height:1;flex-shrink:0}.country-name[data-v-916105fa]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-chip[data-v-916105fa]{display:inline-block;margin-right:4px;padding:2px 7px;border-radius:999px;background:var(--gray-soft);color:var(--muted);font-size:11px;font-weight:650}.relay-chip[data-v-916105fa]{margin-left:5px;padding:2px 6px;border-radius:999px;background:var(--amber-soft);color:var(--orange);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;font-variant-numeric:tabular-nums}.num[data-v-916105fa]{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted);font-family:var(--font-mono);font-size:12.5px}.num.strong[data-v-916105fa]{font-weight:700;color:var(--text)}td.num.sorted[data-v-916105fa]{color:var(--accent)}.ip-cards[data-v-916105fa]{display:none;flex-direction:column;gap:8px;padding:4px}.card-sort[data-v-916105fa]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.card-sort .toggle-group button[data-v-916105fa]{min-height:38px}.card-sort .caret[data-v-916105fa]{width:auto;margin-left:3px;font-size:9px}.ip-card[data-v-916105fa]{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);overflow:hidden}.card-main[data-v-916105fa]{display:flex;flex-direction:column;gap:7px;padding:12px 13px 11px;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer;color:inherit;transition:background-color var(--dur) ease}.card-main[data-v-916105fa]:active{background:var(--hover)}.card-head[data-v-916105fa]{display:flex;align-items:center;gap:9px}.card-rank[data-v-916105fa]{min-width:20px;color:var(--faint);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.card-ip[data-v-916105fa]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--text-strong)}.card-value[data-v-916105fa]{font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent)}.card-go[data-v-916105fa]{width:14px;height:14px;flex-shrink:0;color:var(--faint)}.card-place[data-v-916105fa]{display:flex;align-items:center;gap:7px;min-width:0;color:var(--muted);font-size:12.5px;font-weight:500}.card-place-name[data-v-916105fa]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-share[data-v-916105fa]{height:4px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 65%,transparent),color-mix(in srgb,var(--accent) 18%,transparent));width:var(--share);min-width:3px}.card-strand[data-v-916105fa]{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 13px;border:0;border-top:1px solid var(--line);background:transparent;font:inherit;text-align:left;cursor:pointer;color:inherit;transition:background-color var(--dur) ease}.card-strand[data-v-916105fa]:active{background:var(--hover)}.card-strand .strand-label[data-v-916105fa]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.strand-value[data-v-916105fa]{font-family:var(--font-mono);font-size:12.5px;font-weight:650;font-variant-numeric:tabular-nums;color:var(--text)}.card-figures[data-v-916105fa]{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;padding:8px 13px 9px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.card-figure .glyph[data-v-916105fa]{margin-right:3px;font-weight:800}.card-nodes[data-v-916105fa]{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px}.card-nodes .node-chip[data-v-916105fa]{margin-right:0}@container app (max-width: 759px){.table-scroll[data-v-916105fa]{display:none}.ip-cards[data-v-916105fa]{display:flex}.table-card[data-v-916105fa]{padding:6px}.topips-head[data-v-916105fa]{align-items:stretch}.menu-picker .menu-pop[data-v-916105fa]{right:auto;left:0;width:min(280px,calc(100cqw - 64px))}}:root{color-scheme:light;--bg: #f3f5fa;--glow-1: rgba(37, 99, 235, .1);--glow-2: rgba(8, 145, 178, .08);--grid-dot: rgba(23, 32, 51, .07);--surface: rgba(255, 255, 255, .86);--surface-2: #f6f8fc;--surface-solid: #ffffff;--text: #1a2233;--text-strong: #0b1220;--muted: #66738a;--faint: #97a3b6;--line: #e4e9f2;--line-strong: #cbd5e3;--blue: #2563eb;--cyan: #0891b2;--green: #16a34a;--yellow: #d97706;--red: #dc2626;--orange: #ea580c;--track: #e9eef6;--hover: rgba(23, 32, 51, .04);--shadow: 0 1px 2px rgba(18, 32, 64, .04), 0 10px 30px rgba(18, 32, 64, .06);--shadow-hover: 0 2px 4px rgba(18, 32, 64, .05), 0 18px 40px rgba(18, 32, 64, .1);--sidebar-bg: rgba(255, 255, 255, .72);--chart-text: #66738a;--chart-axis: #e4e9f2;--chart-grid: #edf1f7;--chart-tooltip-bg: rgba(255, 255, 255, .97);--chart-tooltip-border: #e4e9f2;--chart-tooltip-text: #1a2233;--chart-zoom-bg: #eef2f8;--lat-1-fill: #4ade80;--lat-1-ink: #0b3a1e;--lat-1-text: #15803d;--lat-2-fill: #fbbf24;--lat-2-ink: #3d2a00;--lat-2-text: #a16207;--lat-3-fill: #fb7a3c;--lat-3-ink: #4a1a02;--lat-3-text: #c2410c;--lat-4-fill: #f2544f;--lat-4-ink: #330807;--lat-4-text: #b91c1c;--lat-dead-fill: #dc2626;--lat-dead-ink: #ffffff;--lat-dead-text: #b91c1c;--lat-none-fill: #eef2f8;--lat-none-ink: #98a2b3;--lat-none-text: #98a2b3;--lat-strip: rgba(255, 255, 255, .88);--lat-strip-track: rgba(15, 23, 42, .13);--loss-warning: #b45309;--loss-critical: #7f1d1d;--loss-clear: #5b6b84;--font-sans: Inter, "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Cascadia Mono", Menlo, Consolas, "Roboto Mono", ui-monospace, monospace;--radius: 14px;--radius-sm: 10px;--radius-lg: 18px;--ease: cubic-bezier(.2, .8, .2, 1);--dur: .18s;--sidebar-w: 240px;--rail-w: 68px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0a0e17;--glow-1: rgba(59, 130, 246, .16);--glow-2: rgba(34, 211, 238, .1);--grid-dot: rgba(148, 163, 184, .09);--surface: rgba(17, 23, 36, .72);--surface-2: rgba(30, 38, 56, .55);--surface-solid: #111724;--text: #e6ebf5;--text-strong: #f8fafc;--muted: #8a96ab;--faint: #5b6a82;--line: rgba(148, 163, 184, .14);--line-strong: rgba(148, 163, 184, .28);--blue: #3b82f6;--cyan: #22d3ee;--green: #34d399;--yellow: #fbbf24;--red: #f87171;--orange: #fb923c;--track: rgba(148, 163, 184, .14);--hover: rgba(148, 163, 184, .07);--shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 12px 32px rgba(0, 0, 0, .35);--shadow-hover: inset 0 1px 0 rgba(255, 255, 255, .05), 0 18px 44px rgba(0, 0, 0, .5);--sidebar-bg: rgba(12, 17, 27, .72);--chart-text: #8a96ab;--chart-axis: rgba(148, 163, 184, .2);--chart-grid: rgba(148, 163, 184, .1);--chart-tooltip-bg: rgba(17, 23, 36, .96);--chart-tooltip-border: rgba(148, 163, 184, .2);--chart-tooltip-text: #e6ebf5;--chart-zoom-bg: rgba(148, 163, 184, .1);--lat-1-fill: #22c55e;--lat-1-ink: #052e16;--lat-1-text: #4ade80;--lat-2-fill: #f59e0b;--lat-2-ink: #3d2a00;--lat-2-text: #fbbf24;--lat-3-fill: #f97316;--lat-3-ink: #431407;--lat-3-text: #fb923c;--lat-4-fill: #ef4444;--lat-4-ink: #450a0a;--lat-4-text: #f87171;--lat-dead-fill: #b91c1c;--lat-dead-ink: #ffffff;--lat-dead-text: #f87171;--lat-none-fill: rgba(148, 163, 184, .12);--lat-none-ink: #6b7a90;--lat-none-text: #6b7a90;--lat-strip: rgba(3, 7, 18, .42);--lat-strip-track: rgba(255, 255, 255, .18);--loss-warning: #fbbf24;--loss-critical: #fca5a5;--loss-clear: rgba(255, 255, 255, .72)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0a0e17;--glow-1: rgba(59, 130, 246, .16);--glow-2: rgba(34, 211, 238, .1);--grid-dot: rgba(148, 163, 184, .09);--surface: rgba(17, 23, 36, .72);--surface-2: rgba(30, 38, 56, .55);--surface-solid: #111724;--text: #e6ebf5;--text-strong: #f8fafc;--muted: #8a96ab;--faint: #5b6a82;--line: rgba(148, 163, 184, .14);--line-strong: rgba(148, 163, 184, .28);--blue: #3b82f6;--cyan: #22d3ee;--green: #34d399;--yellow: #fbbf24;--red: #f87171;--orange: #fb923c;--track: rgba(148, 163, 184, .14);--hover: rgba(148, 163, 184, .07);--shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 12px 32px rgba(0, 0, 0, .35);--shadow-hover: inset 0 1px 0 rgba(255, 255, 255, .05), 0 18px 44px rgba(0, 0, 0, .5);--sidebar-bg: rgba(12, 17, 27, .72);--chart-text: #8a96ab;--chart-axis: rgba(148, 163, 184, .2);--chart-grid: rgba(148, 163, 184, .1);--chart-tooltip-bg: rgba(17, 23, 36, .96);--chart-tooltip-border: rgba(148, 163, 184, .2);--chart-tooltip-text: #e6ebf5;--chart-zoom-bg: rgba(148, 163, 184, .1);--lat-1-fill: #22c55e;--lat-1-ink: #052e16;--lat-1-text: #4ade80;--lat-2-fill: #f59e0b;--lat-2-ink: #3d2a00;--lat-2-text: #fbbf24;--lat-3-fill: #f97316;--lat-3-ink: #431407;--lat-3-text: #fb923c;--lat-4-fill: #ef4444;--lat-4-ink: #450a0a;--lat-4-text: #f87171;--lat-dead-fill: #b91c1c;--lat-dead-ink: #ffffff;--lat-dead-text: #f87171;--lat-none-fill: rgba(148, 163, 184, .12);--lat-none-ink: #6b7a90;--lat-none-text: #6b7a90;--lat-strip: rgba(3, 7, 18, .42);--lat-strip-track: rgba(255, 255, 255, .18);--loss-warning: #fbbf24;--loss-critical: #fca5a5;--loss-clear: rgba(255, 255, 255, .72)}:root{--accent: var(--blue);--accent-soft: color-mix(in srgb, var(--accent) 13%, transparent);--accent-border: color-mix(in srgb, var(--accent) 45%, transparent);--ok-soft: color-mix(in srgb, var(--green) 14%, transparent);--warn-soft: color-mix(in srgb, var(--yellow) 16%, transparent);--danger-soft: color-mix(in srgb, var(--red) 14%, transparent);--info-soft: color-mix(in srgb, var(--cyan) 14%, transparent);--gray-soft: color-mix(in srgb, var(--muted) 14%, transparent);--amber-soft: color-mix(in srgb, var(--orange) 15%, transparent)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}#app{container:app / inline-size;min-height:100dvh}.boot{min-height:var(--shell-h, 100dvh);background:var(--bg)}.app{position:relative;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:var(--shell-h, 100dvh);background:radial-gradient(1100px 520px at 12% -8%,var(--glow-1),transparent 62%),radial-gradient(900px 480px at 92% -4%,var(--glow-2),transparent 58%),var(--bg);transition:background-color var(--dur) ease}.app:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--grid-dot) 1px,transparent 1.2px);background-size:26px 26px;mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 640px);-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),transparent 640px)}.app>*{position:relative;z-index:1}.sidebar{position:sticky;top:0;height:var(--shell-h, 100dvh);display:flex;flex-direction:column;padding:22px 14px calc(18px + env(safe-area-inset-bottom));border-right:1px solid var(--line);background:var(--sidebar-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden auto;scrollbar-width:none}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 0;margin-bottom:26px;min-height:40px}.brand-logo{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;color:#fff;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:0 10px 24px color-mix(in srgb,var(--blue) 35%,transparent)}.brand-logo svg{width:22px;height:22px}.brand-text{min-width:0;line-height:1.1}.brand-text strong{display:block;font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap}.brand-text span{display:block;margin-top:3px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:4px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;color:var(--muted);border-radius:var(--radius-sm);text-decoration:none;font-size:13.5px;font-weight:650;cursor:pointer;white-space:nowrap;transition:color var(--dur) ease,background-color var(--dur) ease}.nav-item svg{width:19px;height:19px;flex-shrink:0}.nav-item:hover{color:var(--text);background:var(--hover)}.nav-item.active{color:var(--accent);background:var(--accent-soft)}.nav-item:before{content:"";position:absolute;left:0;top:50%;width:3px;height:18px;border-radius:999px;background:var(--accent);transform:translateY(-50%) scaleY(0);transform-origin:center;transition:transform var(--dur) var(--ease)}.nav-item.active:before{transform:translateY(-50%) scaleY(1)}.nav-item .nav-label{overflow:hidden;text-overflow:ellipsis}.fleet{margin-top:auto;padding:14px 14px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.fleet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.fleet-count{margin-top:8px;display:flex;align-items:baseline;gap:6px}.fleet-count strong{font-size:22px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-strong)}.fleet-count span{color:var(--muted);font-size:12px;font-weight:600}.fleet-line{margin-top:8px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.fleet-line .dot{color:var(--green)}.fleet-line em{font-style:normal;color:var(--text)}.fleet-line.quiet{color:var(--faint);font-size:11px}.main{min-width:0;padding:22px clamp(14px,2.4cqw,30px) 28px;padding-left:max(clamp(14px,2.4cqw,30px),env(safe-area-inset-left));padding-right:max(clamp(14px,2.4cqw,30px),env(safe-area-inset-right))}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 18px;margin-bottom:18px}.title{min-width:0}.page-title{margin:0;font-size:clamp(22px,2.4cqw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text-strong)}.page-sub{margin:4px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere;min-height:18px}.page-sub.error{color:var(--red);font-weight:600}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:0 12px;height:34px;color:var(--muted);font-size:12.5px;font-weight:650;box-shadow:var(--shadow);line-height:1;white-space:nowrap;transition:color var(--dur) ease,border-color var(--dur) ease,background-color var(--dur) ease}.icon-chip{width:34px;padding:0;justify-content:center;cursor:pointer}.icon-chip svg{width:16px;height:16px}.icon-chip:hover{color:var(--accent);border-color:var(--accent-border)}.live-chip{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.live-chip .dot{color:var(--green)}.live-chip .live-label{color:var(--text);font-weight:700;letter-spacing:.02em}.live-chip .live-ago{color:var(--faint)}.live-chip.stale .dot{color:var(--red)}.live-chip.stale .dot:before{animation:none;transform:scale(2);opacity:.18}.tabbar{display:none;gap:4px;padding:4px;margin:-6px 0 16px;max-width:100%;overflow-x:auto;scrollbar-width:none;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.tabbar::-webkit-scrollbar{display:none}.tabbar button{flex:1 0 auto;min-height:36px;padding:0 14px;white-space:nowrap;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;transition:color var(--dur) ease,background-color var(--dur) ease}.tabbar button.active{color:var(--accent);background:var(--accent-soft)}.page{min-width:0}.page-enter-active{transition:opacity .22s var(--ease),transform .22s var(--ease)}.page-leave-active{transition:opacity .12s ease,transform .12s ease}.page-enter-from{opacity:0;transform:translateY(6px)}.page-leave-to{opacity:0;transform:translateY(-4px)}.menu-picker{position:relative}.menu-chip{font-family:var(--font-mono);font-size:12.5px;font-weight:650;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--text)}.menu-chip:hover,.menu-chip.open{color:var(--accent);border-color:var(--accent-border)}.menu-chip svg{width:12px;height:12px;flex-shrink:0;color:var(--muted);transition:transform .2s var(--ease)}.menu-chip.open svg{transform:rotate(180deg)}.menu-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:600;width:232px;overflow:hidden;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:14px;box-shadow:var(--shadow-hover);transform-origin:top right;animation:popIn .16s var(--ease)}@keyframes popIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-pop-head{padding:11px 14px 9px;border-bottom:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.menu-pop-list{max-height:296px;overflow-y:auto;padding:6px;overscroll-behavior:contain}.menu-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:none;border-radius:9px;padding:8px 10px;background:transparent;color:var(--text);text-align:left;font:inherit;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--dur) ease,color var(--dur) ease}.menu-option:hover{background:var(--hover)}.menu-option.active{background:var(--accent-soft);color:var(--accent)}.menu-note{color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap}.menu-option.active .menu-note{color:inherit;opacity:.75}.dot{position:relative;flex-shrink:0;width:8px;height:8px;border-radius:999px;background:currentColor}.dot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:currentColor;animation:pulseDot 2.4s ease-in-out infinite}@keyframes pulseDot{0%,to{transform:scale(1.75);opacity:.18}50%{transform:scale(2.75);opacity:.07}}.dot-only{width:10px;height:10px;border-radius:999px;flex-shrink:0;margin-top:6px;position:relative}.dot-only:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:currentColor;animation:pulseDot 2.4s ease-in-out infinite}.dot-only.ok{background:var(--green);color:var(--green)}.dot-only.warn{background:var(--yellow);color:var(--yellow)}.dot-only.danger{background:var(--red);color:var(--red)}.dot-only.gray{background:var(--faint);color:var(--faint)}.dot-only.gray:before{animation:none}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}.tiles.tiles-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,108px),1fr))}.nodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:14px}.sources{margin-top:14px}.span-12{grid-column:1 / -1}.span-6{grid-column:span 6}.card{position:relative;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;animation:cardIn .4s var(--ease) both;transition:border-color var(--dur) ease,box-shadow var(--dur) ease,transform var(--dur) ease,background-color var(--dur) ease}.tiles>.card:nth-child(2),.nodes>.card:nth-child(2){animation-delay:.04s}.tiles>.card:nth-child(3),.nodes>.card:nth-child(3){animation-delay:.08s}.tiles>.card:nth-child(4),.nodes>.card:nth-child(4){animation-delay:.12s}.nodes>.card:nth-child(5){animation-delay:.16s}.nodes>.card:nth-child(6){animation-delay:.2s}.nodes>.card:nth-child(n+7){animation-delay:.24s}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}}.clickable{cursor:pointer}@media(hover:hover){.clickable:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-hover)}}.clickable:active{transform:translateY(0);transition-duration:60ms}.tile{display:flex;flex-direction:column;padding:16px;container:tile / inline-size}.tile>.progress{margin-top:auto}.metric-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.metric-head>div:first-child{min-width:0}.metric-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.eyebrow{margin:0 0 8px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;line-height:1;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-value{margin:0;font-size:clamp(20px,9cqw,26px);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1;color:var(--text-strong);overflow-wrap:anywhere}.metric-value.small{font-size:18px}.metric-detail{margin:6px 0 0;min-height:14px;color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.tile-go{width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;border-radius:8px;color:var(--faint);background:transparent;transition:color var(--dur) ease,background-color var(--dur) ease,transform var(--dur) var(--ease)}.tile-go svg{width:14px;height:14px}.clickable:hover .tile-go{color:var(--accent);background:var(--accent-soft);transform:translate(2px)}@container tile (max-width: 190px){.metric-side .delta{font-size:11px;padding:4px 7px}}@container tile (max-width: 150px){.metric-detail,.tile-go{display:none}.metric-head{flex-direction:column;align-items:flex-start;margin-bottom:8px;gap:8px}.metric-side{flex-direction:row;align-items:center}.eyebrow{font-size:10px;letter-spacing:.04em;margin-bottom:6px}.metric-value{font-size:20px;white-space:nowrap;overflow-wrap:normal}}.delta,.tag,.status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;font-size:11.5px;font-weight:750;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}.delta{background:var(--ok-soft);color:var(--green)}.delta.warn{background:var(--warn-soft);color:var(--yellow)}.delta.danger,.tag.red{background:var(--danger-soft);color:var(--red)}.status{color:var(--green);background:var(--ok-soft);letter-spacing:.04em;text-transform:uppercase;font-size:10.5px}.status.warn{color:var(--yellow);background:var(--warn-soft)}.status.danger{color:var(--red);background:var(--danger-soft)}.status.gray{color:var(--muted);background:var(--gray-soft)}.status.gray .dot:before{animation:none;transform:scale(2);opacity:.16}.stamp-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px 3px 6px;border-radius:999px;background:var(--gray-soft);color:var(--muted);font-family:var(--font-mono);font-size:10.5px;font-weight:600;line-height:1;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;transition:background-color var(--dur) ease,color var(--dur) ease}.stamp-chip svg{width:11px;height:11px;flex-shrink:0}.stamp-chip .stamp-label{opacity:.8}.stamp-chip .stamp-value{font-weight:800}.stamp-chip.accent{background:var(--accent-soft);color:var(--accent)}.stamp-chip.fresh{background:var(--ok-soft);color:var(--green)}.stamp-chip.aging{background:var(--warn-soft);color:var(--yellow)}.stamp-chip.stale{background:var(--danger-soft);color:var(--red)}.view-trend{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1;white-space:nowrap;transition:color var(--dur) ease}.view-trend svg{width:13px;height:13px;transition:transform var(--dur) var(--ease)}.clickable:hover .view-trend{color:var(--accent)}.clickable:hover .view-trend svg{transform:translate(2px)}.progress{--value: 0;--bar: var(--accent);height:6px;position:relative;overflow:hidden;border-radius:999px;background:var(--track)}.progress:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--value) * 1%);border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--bar) 80%,var(--surface-solid)),var(--bar));box-shadow:0 0 12px color-mix(in srgb,var(--bar) 45%,transparent);animation:grow .8s var(--ease) both;transition:width .6s var(--ease),background-color .3s ease}@keyframes grow{0%{width:0}to{width:calc(var(--value) * 1%)}}.progress.empty:after{width:0}.progress.thin{height:4px}.progress.packaged:before{content:"";position:absolute;inset:0 0 0 auto;z-index:1;width:calc(var(--pkg) * 1%);border-radius:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--text) 32%,transparent) 0 2px,transparent 2px 5px);pointer-events:none}.pkg-chip{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;padding:1px 6px 1px 4px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums}.pkg-chip svg{width:10px;height:10px;flex-shrink:0}.node-card{display:flex;flex-direction:column;gap:14px;container:node / inline-size}.node-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.node-title{min-width:0;display:flex;align-items:flex-start;gap:10px}.node-title .dot-only{margin-top:5px}.node-name{margin:0;font-size:15px;font-weight:750;letter-spacing:-.01em;color:var(--text-strong);overflow-wrap:anywhere;line-height:1.2}.node-meta{margin:4px 0 0;color:var(--muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.01em;font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.node-meta span{white-space:nowrap}.node-side{display:flex;align-items:center;gap:8px;flex-shrink:0}.node-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px solid var(--line);color:var(--faint);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums}.node-foot .view-trend{margin-left:auto}.tc-body{display:flex;align-items:center;gap:18px}.tc-body>.gauge{flex-shrink:0}.usage-rows{flex:1;min-width:0;display:grid;gap:10px}.usage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center}.usage-row .progress{grid-column:1 / -1}.row-label{display:flex;align-items:baseline;gap:8px;min-width:0}.row-label strong{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.row-label span{color:var(--text);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.percent{font-size:12.5px;font-weight:800;font-variant-numeric:tabular-nums;text-align:right;color:var(--text)}.percent.warn{color:var(--yellow)}.percent.danger{color:var(--red)}.percent.unlimited{color:var(--faint);font-weight:700}.gauges{flex:1 1 auto;display:flex;flex-wrap:wrap;justify-content:space-around;gap:14px 18px}.gauge{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:76px}.ring-wrap{position:relative;width:84px;height:84px}.ring{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--track);stroke-width:7}.ring-fg{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:213.63;transition:stroke-dashoffset .8s var(--ease),stroke .3s;animation:ringIn 1s var(--ease) both}@keyframes ringIn{0%{stroke-dashoffset:213.63}}.ring-value{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-strong)}.ring-value.warn{color:var(--yellow)}.ring-value.danger{color:var(--red)}.ring-value.infinite{font-size:22px;font-weight:700;color:var(--muted)}.gauge-label{margin-top:7px;color:var(--muted);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}.gauge-detail{margin-top:3px;min-height:14px;color:var(--faint);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}.tc-body .ring-wrap{width:78px;height:78px}.rc-body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}.io-block{display:flex;flex-direction:row;gap:8px;flex:1 1 100%;min-width:0}.io-block .io-stat{flex:1;min-width:0}@container node (min-width: 560px){.io-block{flex-direction:column;flex:0 0 auto;min-width:164px}}.io-stat{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;background:var(--surface-2)}.io-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-size:14px;font-weight:800;flex-shrink:0}.io-icon.read{background:var(--ok-soft);color:var(--green)}.io-icon.write{background:var(--amber-soft);color:var(--orange)}.io-label{display:block;margin-bottom:2px;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.io-stat strong{font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--text-strong);white-space:nowrap}.no-data{color:var(--muted);font-size:13.5px;padding:8px 0;margin:0}@container node (max-width: 360px){.tc-body{gap:14px}.tc-body .ring-wrap{width:64px;height:64px}.tc-body .ring-value{font-size:13px}.tc-body .gauge-label{display:none}.rc-body{gap:12px}.ring-wrap{width:68px;height:68px}.ring-value{font-size:13px}.gauge{min-width:64px}}.skeleton{position:relative;overflow:hidden;border-radius:8px;background:var(--track);min-height:12px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--text) 8%,transparent),transparent);transform:translate(-100%);animation:sheen 1.4s ease-in-out infinite}@keyframes sheen{to{transform:translate(100%)}}.skeleton-card{display:flex;flex-direction:column;gap:12px}.skeleton-card .skeleton.w40{width:40%;height:14px}.skeleton-card .skeleton.w70{width:70%;height:24px}.skeleton-card .skeleton.block{height:120px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0307128c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:fadeIn .2s ease}.modal-content{position:relative;width:min(100%,1040px);max-height:min(100%,88dvh);display:flex;flex-direction:column;overflow:hidden;background:var(--surface-solid);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 30px 80px #00000059;animation:modalIn .28s var(--ease)}.modal-body{min-height:0;overflow:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 60px 12px 24px;gap:14px;flex-wrap:wrap}.modal-title{margin:0;font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--text-strong);overflow-wrap:anywhere}.modal-subtitle{margin:4px 0 0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}.modal-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.toggle-group{display:inline-flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.toggle-group::-webkit-scrollbar{display:none}.toggle-group button{flex-shrink:0;border:none;border-radius:7px;background:transparent;padding:6px 12px;font-size:12.5px;font-weight:700;cursor:pointer;color:var(--muted);white-space:nowrap;transition:background-color var(--dur) ease,color var(--dur) ease,box-shadow var(--dur) ease}.toggle-group button.active{background:var(--surface-solid);color:var(--accent);box-shadow:var(--shadow)}.toggle-group button:hover:not(.active){color:var(--text)}.close-btn{position:absolute;top:14px;right:14px;z-index:1;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:20px;line-height:1;cursor:pointer;color:var(--muted);transition:background-color var(--dur) ease,color var(--dur) ease,transform var(--dur) var(--ease)}.close-btn:hover{color:var(--text);border-color:var(--line-strong);transform:rotate(90deg)}.chart-container{width:100%;height:clamp(300px,52vh,460px);padding:6px 12px 16px}.chart-loading{padding:60px 20px;text-align:center;color:var(--muted);font-size:14px}.footer-note{margin-top:16px;color:var(--faint);font-size:12px;text-align:right;min-height:18px}@container app (max-width: 1099px){.app{grid-template-columns:var(--rail-w) minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.brand{justify-content:center;padding:4px 0 0}.brand-text,.nav-item .nav-label,.fleet-head,.fleet-count span,.fleet-line{display:none}.nav-item{justify-content:center;padding:0;gap:0}.fleet{padding:10px 6px;text-align:center}.fleet-count{justify-content:center;margin-top:0}.fleet-count strong{font-size:15px}.fleet-count.rail-only{display:flex}}@container app (max-width: 759px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.main{padding-top:14px}.topbar{margin-bottom:12px}.page-sub{display:none}.tabbar{display:flex;position:sticky;top:0;z-index:30;margin:0 0 14px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow)}.live-chip .live-label{display:none}.chip{height:32px;padding:0 10px;font-size:12px}.icon-chip{width:32px}.card{padding:14px;border-radius:12px}.grid,.tiles,.nodes{gap:10px}.sources{margin-top:10px}.tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.tile{padding:13px}.metric-head{margin-bottom:10px}.footer-note{text-align:left}.modal-backdrop{place-items:end center;padding:0}.modal-content{width:100%;max-height:min(100%,92dvh);border-radius:18px 18px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom);animation:sheetUp .32s var(--ease)}.modal-content:before{content:"";display:block;width:38px;height:4px;margin:8px auto 0;border-radius:999px;background:var(--line-strong)}.modal-header{flex-direction:column;padding:8px 56px 8px 16px;gap:10px}.modal-controls{width:100%}.toggle-group button{padding:6px 10px;font-size:12px}.close-btn{top:10px;right:12px}.chart-container{height:clamp(260px,46vh,400px);padding:4px 4px 10px}}@keyframes sheetUp{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media(pointer:coarse){.nav-item,.menu-option,.tabbar button{min-height:44px}.chip,.icon-chip{height:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.clickable:hover{transform:none}}
