:root{--bg: #0f1419;--bg-elev: #181f27;--bg-card: #1f2832;--border: #2a3440;--text: #e6edf3;--text-dim: #8b949e;--accent: #58a6ff;--green: #3fb950;--yellow: #d29922;--red: #f85149;--shadow: 0 2px 8px rgba(0, 0, 0, .3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:18px;font-weight:600;margin:0}h2{font-size:15px;font-weight:600;margin:0 0 8px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.app{display:flex;flex-direction:column;min-height:100vh}.nav{display:flex;align-items:center;gap:24px;padding:12px 24px;background:var(--bg-elev);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav .brand{font-weight:700;letter-spacing:.02em}.nav .links{display:flex;gap:16px;flex:1}.nav .links a{padding:6px 10px;border-radius:4px;color:var(--text-dim)}.nav .links a.active{background:var(--bg-card);color:var(--text)}.nav .meta{color:var(--text-dim);font-size:12px;font-family:ui-monospace,monospace}.page{padding:24px;flex:1}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:16px;box-shadow:var(--shadow)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.spinner.lg{width:28px;height:28px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}.loading-block{display:flex;align-items:center;gap:12px;padding:32px;color:var(--text-dim);justify-content:center}.toast{position:fixed;right:16px;bottom:16px;padding:10px 14px;background:#3d1d1d;border:1px solid var(--red);color:#ffd8d8;border-radius:4px;font-family:ui-monospace,monospace;font-size:12px;max-width:420px;box-shadow:var(--shadow);z-index:100}.conf-bar{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;font-size:13px}.conf-bar .val{font-weight:600}.conf-bar .pm{color:var(--text-dim)}.conf-bar .below{color:var(--text-dim);font-style:italic}.topology-wrap{display:flex;flex-direction:column;gap:16px}.topology-meta{display:flex;gap:24px;color:var(--text-dim);font-size:12px;font-family:ui-monospace,monospace}.stage-card rect{fill:var(--bg-card);stroke:var(--border)}.stage-card.probe-healthy rect{stroke:var(--green)}.stage-card.probe-degraded rect{stroke:var(--yellow)}.stage-card.probe-offline rect,.stage-card.probe-pending rect{stroke:var(--red)}.stage-card text{fill:var(--text)}.stage-card text.dim{fill:var(--text-dim)}.edge-arrow{stroke:var(--text);stroke-width:2;fill:none;marker-end:url(#arrowhead)}.legend{display:flex;gap:16px;align-items:center;color:var(--text-dim);font-size:12px}.swatch{display:inline-block;width:14px;height:14px;border-radius:2px;vertical-align:middle;margin-right:6px}.waterfall-table{width:100%;border-collapse:collapse;font-family:ui-monospace,monospace;font-size:12px}.waterfall-table th,.waterfall-table td{padding:8px 12px;border:1px solid var(--border);text-align:left;vertical-align:middle}.waterfall-table th{background:var(--bg-elev);color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.waterfall-table td.carrier{color:var(--text-dim)}.waterfall-table td.empty{color:var(--text-dim);font-style:italic}.waterfall-edges{margin-top:24px}
