:root{--bg: #0a0e13;--panel: #10161d;--panel-2: #151d26;--line: #1f2a36;--text: #d7e2ec;--dim: #6b7c8d;--ok: #4ade80;--warn: #fbbf24;--bad: #f87171;--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,sans-serif;font-size:14px;line-height:1.45}.app{max-width:1060px;margin:0 auto;padding:18px 20px 30px;display:flex;flex-direction:column;gap:18px;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font-size:26px;color:var(--ok)}.brand h1{margin:0;font-size:18px;letter-spacing:.2px}.tagline{margin:2px 0 0;color:var(--dim);font-size:12px}.topbar-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sources{display:flex;gap:12px;font-size:12px;color:var(--dim)}.src{display:inline-flex;align-items:center;gap:5px}.clock{font-family:var(--mono);font-size:12px;color:var(--dim)}.pause-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 14px;font-size:12px;cursor:pointer}.pause-btn:hover{border-color:var(--dim)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--warn)}.status-dot.s-ok,.chain-card.status-ok .status-dot{background:var(--ok)}.status-dot.s-error,.chain-card.status-error .status-dot{background:var(--bad)}main{display:flex;flex-direction:column;gap:18px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px 16px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.panel-head h2{margin:0;font-size:15px}.panel-meta{color:var(--dim);font-size:12px}.foot-note{color:var(--dim);font-size:11.5px;margin:10px 0 0}.loading{color:var(--dim);padding:20px 0}.chain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px}.chain-card{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.chain-head{display:flex;align-items:center;gap:8px}.chain-name{font-weight:600;font-size:13.5px}.chain-err{color:var(--bad);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.bignum{display:flex;align-items:baseline;gap:10px}.bignum-value{font-family:var(--mono);font-size:26px;font-weight:600;letter-spacing:-.5px}.bignum-label{color:var(--dim);font-size:11.5px}.sparkline{align-self:flex-start;background:#ffffff05;border-radius:4px}.token-table{width:100%;border-collapse:collapse;font-size:12.5px}.token-table th{text-align:left;color:var(--dim);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:4px 0;border-bottom:1px solid var(--line)}.token-table td{padding:4px 0;border-bottom:1px solid rgba(31,42,54,.5)}.token-table th.num,.token-table td.num{text-align:right;font-family:var(--mono)}.gap-note{color:var(--warn);font-size:11px;margin:0}.table-wrap{overflow-x:auto}.peg-table{width:100%;border-collapse:collapse;font-size:13px;min-width:720px}.peg-table th{text-align:left;color:var(--dim);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding:6px 10px 6px 0;border-bottom:1px solid var(--line)}.peg-table td{padding:8px 10px 8px 0;border-bottom:1px solid rgba(31,42,54,.5);white-space:nowrap}.peg-table th.num,.peg-table td.num{text-align:right;font-family:var(--mono)}.peg-table td.ok{color:var(--ok)}.peg-table td.warn{color:var(--warn)}.peg-table td.bad{color:var(--bad)}.tok strong{font-weight:600}.row-link{cursor:pointer}.row-link:hover{background:#4ade800d}.row-link a{color:inherit;text-decoration:none}.row-link a:hover strong{text-decoration:underline;text-underline-offset:3px}.back-link{display:inline-block;margin-bottom:12px;color:var(--dim);font-size:13px;text-decoration:none}.back-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.text-link{color:inherit;text-decoration:none;cursor:pointer}.text-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.detail,.detail-empty{display:flex;flex-direction:column}.detail-head .detail-title{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}.detail-head h1{margin:0;font-size:22px}.detail-head h1 .dim{font-size:15px;font-weight:400}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}.stat-label{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.4px}.stat-value{font-family:var(--mono);font-size:15px}.stat-value.ok{color:var(--ok)}.stat-value.warn{color:var(--warn)}.stat-value.bad{color:var(--bad)}.chain-rows{display:flex;flex-direction:column;gap:7px}.chain-row{display:grid;grid-template-columns:130px 1fr 90px 64px 74px 74px;align-items:center;gap:10px;font-size:12.5px}.chain-row.head{color:var(--dim);font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding-bottom:2px;border-bottom:1px solid var(--line);margin-bottom:2px}.chain-row.head span:not(:first-child):not(:nth-child(2)){text-align:right}.chain-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chain-row.rest .chain-name{color:var(--dim);font-weight:400}.bar-track{background:#ffffff0a;border-radius:4px;height:14px;overflow:hidden}.bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#4ade808c,#4ade8040);transition:width .6s ease}.chain-row span.num{font-family:var(--mono);text-align:right}@media(max-width:640px){.chain-row{grid-template-columns:90px 1fr 80px 54px}.chain-row span:nth-child(5),.chain-row span:nth-child(6){display:none}}.dim{color:var(--dim)}.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--dim);font-size:11.5px;padding-top:4px}
