:root{--bg:#f6f7f9;--card:#fff;--fg:#1a1d23;--muted:#6b7280;--border:#e3e6ea;--accent:#2f7de1;--sel:#fdecec;color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#171a21;--fg:#e6e8eb;--muted:#8b93a1;--border:#262b35;--accent:#4f9cf9;--sel:#3a1d1d}}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--accent)}h1{margin:0;font-size:20px}h2{margin:0;font-size:15px}h3{margin:16px 0 6px;font-size:13px}.mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.muted{color:var(--muted);font-size:13px}.grow{flex:1}.app{flex-direction:column;gap:12px;max-width:1400px;margin:0 auto;padding:16px;display:flex}header{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px}.error{color:#ef4444}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.seg{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{color:var(--fg);cursor:pointer;background:0 0;border:0;padding:4px 10px;font-size:13px}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--accent);color:#fff}button.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:0;padding:0}.overview{height:140px;position:relative}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.tile .big{margin-top:4px;font-size:22px;font-weight:600}.main{align-items:flex-start;gap:12px;display:flex}.chart-card{flex:1;min-width:0}.scatter{height:440px;position:relative}.hover{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-height:18px;margin-bottom:4px;overflow:hidden}.empty{height:100%;color:var(--muted);place-items:center;display:grid}.panel{flex-shrink:0;width:420px;max-height:640px;overflow:auto}.panel .addr{word-break:break-all;margin-bottom:8px;display:block}dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px;display:grid}dt{color:var(--muted)}dd{margin:0}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:4px 6px}th{color:var(--muted);font-weight:500}.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr{cursor:pointer}tbody tr:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}tr.sel{background:var(--sel)}@media (width<=900px){.main{flex-direction:column}.panel{width:100%}}.overview{-webkit-user-select:none;user-select:none;cursor:crosshair}.brush{background:color-mix(in srgb, var(--accent) 25%, transparent);border:1px solid var(--accent);pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}button.live{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;display:inline-flex}button.live .dot{background:var(--muted);border-radius:50%;width:8px;height:8px}button.live.on{color:var(--fg);border-color:#22c55e}button.live.on .dot{background:#22c55e;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.3}}.swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;display:inline-block}.btn{color:var(--fg);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;padding:4px 10px;font-size:13px}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.badge{white-space:nowrap;cursor:help;border:1px solid;border-radius:999px;padding:0 8px;font-size:12px;line-height:18px;display:inline-block}.legend{flex-wrap:wrap;gap:4px 14px;margin-bottom:4px;font-size:12px;display:flex}.swatch.round{border-radius:50%}
