:root{
  --bg:#0d1117; --panel:#161b22; --line:#30363d; --fg:#e6edf3; --dim:#8b949e;
  --accent:#58a6ff; --good:#3fb950; --warn:#d29922; --bad:#f85149;
  --wallet:#58a6ff; --pool:#8957e5; --burn:#484f58; --program:#d29922; --smart:#3fb950;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);
  font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}
header{display:flex;align-items:baseline;gap:16px;padding:12px 18px;
  border-bottom:1px solid var(--line);flex-wrap:wrap}
h1{font-size:16px;margin:0;font-weight:600}
.sub{color:var(--dim);font-weight:400;font-size:12px;margin-left:8px}
.health{margin-left:auto;color:var(--dim);font-size:11px;text-align:right}
.health .bad{color:var(--bad)} .health .good{color:var(--good)}
.controls{display:flex;gap:14px;align-items:center;padding:10px 18px;
  border-bottom:1px solid var(--line);flex-wrap:wrap}
label{color:var(--dim);display:flex;gap:6px;align-items:center;font-size:12px}
select,input{background:var(--panel);color:var(--fg);border:1px solid var(--line);
  border-radius:5px;padding:4px 7px;font:inherit;font-size:12px}
input[type=number]{width:92px}
button{background:var(--accent);color:#0d1117;border:0;border-radius:5px;
  padding:5px 14px;font:inherit;font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.1)}
.status{color:var(--dim);font-size:11px}
main{display:flex;align-items:flex-start}
.tablewrap{flex:1;overflow-x:auto;max-height:calc(100vh - 104px);overflow-y:auto}
table{border-collapse:collapse;width:100%;font-size:12px}
th{position:sticky;top:0;background:var(--bg);text-align:left;padding:7px 10px;
  border-bottom:1px solid var(--line);color:var(--dim);font-weight:500;white-space:nowrap}
td{padding:6px 10px;border-bottom:1px solid #21262d;white-space:nowrap}
tr:hover td{background:#161b22}
.num{text-align:right}
.up{color:var(--good)} .down{color:var(--bad)} .dim{color:var(--dim)}
.chip{border-radius:3px;padding:1px 6px;font-size:10px;border:1px solid var(--line)}
.chip.killed{color:var(--dim)} .chip.alerted{color:var(--good);border-color:var(--good)}
.chip.monitor{color:var(--warn);border-color:var(--warn)}
.chip.new{color:var(--accent);border-color:var(--accent)}
.spoof{color:var(--bad);cursor:help;font-weight:700}
.detail{width:min(760px,48vw);border-left:1px solid var(--line);background:var(--panel);
  height:calc(100vh - 104px);overflow-y:auto;padding:16px 18px;position:relative}
.detail.hidden{display:none}
.close{position:absolute;top:10px;right:12px;background:transparent;color:var(--dim);
  font-size:20px;padding:0 6px}
.detail h2{margin:0 0 2px;font-size:15px}
.detail h3{margin:18px 0 8px;font-size:12px;color:var(--dim);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.kv{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;font-size:12px}
.kv dt{color:var(--dim)} .kv dd{margin:0}
.banner{border-left:3px solid var(--warn);background:#1c1a12;padding:8px 11px;
  margin:10px 0;font-size:11px;color:#e3d3a0;border-radius:0 4px 4px 0}
.banner.bad{border-color:var(--bad);background:#1f1315;color:#ffb3ae}
.banner.info{border-color:var(--accent);background:#10192b;color:#b7d5ff}
svg{width:100%;height:420px;background:#0b0f15;border:1px solid var(--line);border-radius:6px}
.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--dim)}
.legend i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}
.htable{width:100%;font-size:11px;border-collapse:collapse;margin-top:6px}
.htable th{position:static;font-size:10px}
.htable td{padding:4px 8px}
.mono{font-family:inherit}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.pill{font-size:10px;border-radius:9px;padding:1px 7px;background:#132d1c;
  color:var(--good);border:1px solid #22562f}
.spark{width:100%;height:56px;background:#0b0f15;border:1px solid var(--line);border-radius:6px}

/* socials, dev wallet, outbound links */
.soc a, .lnk a{display:inline-block;margin-right:5px;font-size:11px;
  border:1px solid var(--line);border-radius:3px;padding:0 5px;color:var(--dim)}
.soc a:hover, .lnk a:hover{color:var(--fg);border-color:var(--accent);text-decoration:none}
.lnk a.ax{color:#f0b429;border-color:#5c4813}
.dev{font-size:11px}
.dev a{color:var(--dim)}
.devwarn{color:var(--warn);font-weight:700;cursor:help}
.stage{font-size:10px;border-radius:3px;padding:1px 6px;border:1px solid var(--line);color:var(--dim)}
.stage.grad{color:var(--good);border-color:var(--good)}
.discovery{font-size:11px;color:var(--dim);margin-left:auto;text-align:right}
.discovery .bad{color:var(--bad)}
.tokimg{width:16px;height:16px;border-radius:50%;vertical-align:-3px;margin-right:5px;
  background:#21262d;object-fit:cover}

.toggle{display:flex;align-items:center;gap:5px;cursor:pointer;user-select:none}
.toggle input{cursor:pointer}
.tier{font-size:10px;font-weight:700;border-radius:3px;padding:1px 6px;border:1px solid}
.tier.CLEAR{color:var(--good);border-color:var(--good)}
.tier.CAUTION{color:var(--warn);border-color:var(--warn)}
.tier.ELEVATED{color:#ff9f45;border-color:#ff9f45}
.tier.CRITICAL{color:var(--bad);border-color:var(--bad);background:#2a1214}
.tier.UNMEASURED{color:var(--dim);border-color:var(--line)}
.riskbox{border:1px solid var(--line);border-radius:6px;padding:10px 12px;margin:10px 0}
.riskbox ul{margin:6px 0 0;padding-left:18px}
.riskbox li{margin:2px 0}
.airead{border-left:3px solid var(--accent);background:#10192b;padding:9px 12px;
  margin:8px 0;border-radius:0 4px 4px 0;color:#cfe3ff;font-size:12px}

/* a reading older than the refresh cadence — still shown, visibly dated */
td.stale { opacity: .55; }

/* model-written description of what the token references; context only */
.narrative { margin: 10px 0; padding: 10px 12px; border-left: 3px solid #7c8cff; background: rgba(124,140,255,.08); }
.narrative .h { font-weight: 600; margin-bottom: 4px; }
