:root{
  --bg:#0b0d1f; --panel:#12152e; --line:#232848; --ink:#e9ecff; --dim:#8f96c4;
  --acc:#7aa2ff; --evm:#3fd68c; --max:980px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.65 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
header.wrap{padding-top:48px;padding-bottom:8px}
.back{font-size:.85rem;color:var(--dim)}
h1{font-size:2.1rem;line-height:1.2;margin:.4em 0 .3em;letter-spacing:-.02em}
h2{font-size:1.15rem;margin:2.4em 0 .6em;letter-spacing:-.01em}
.lede{color:var(--dim);max-width:66ch;font-size:1.02rem}
.lede strong{color:var(--ink);font-weight:600}
.dim{color:var(--dim)}
.evm{color:var(--evm)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}

/* stats */
.stats{display:flex;flex-wrap:wrap;gap:12px;margin:28px auto}
.stat{flex:1 1 160px;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;padding:14px 16px}
.stat b{display:block;font-size:1.7rem;line-height:1.1;letter-spacing:-.02em}
.stat span{color:var(--dim);font-size:.8rem}

/* filters */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.f{background:var(--panel);border:1px solid var(--line);color:var(--dim);
  border-radius:999px;padding:6px 14px;font-size:.84rem;cursor:pointer;font-family:inherit}
.f:hover{color:var(--ink)}
.f.on{background:var(--acc);border-color:var(--acc);color:#0b0d1f;font-weight:600}

/* table */
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
table{border-collapse:collapse;width:100%;font-size:.88rem;min-width:760px}
th{text-align:left;font-weight:600;font-size:.74rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--dim);padding:11px 14px;border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--panel)}
th{padding:11px 10px}
td{padding:9px 10px;border-bottom:1px solid #1b1f3c;white-space:nowrap}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#171b38}
.num{color:var(--dim);text-align:right;font-variant-numeric:tabular-nums}
.money{font-variant-numeric:tabular-nums;font-weight:600}
.prog{font-weight:600}
.repo{max-width:200px;overflow:hidden;text-overflow:ellipsis}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;
  vertical-align:middle}
.foot{color:var(--dim);font-size:.82rem;max-width:70ch}

/* blocks */
pre{background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:14px 16px;overflow-x:auto;margin:.6em 0}
.api,.src{max-width:72ch;margin-inline:auto}
section.wrap{padding-bottom:8px}
body>section:last-of-type{padding-bottom:64px}
hr{border:0;border-top:1px solid var(--line);margin:40px 0}

/* home */
.hero{padding:72px 0 8px}
.hero h1{font-size:2.6rem}
.tag{display:inline-block;background:var(--panel);border:1px solid var(--line);
  color:var(--dim);border-radius:999px;padding:4px 12px;font-size:.76rem;letter-spacing:.04em}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:26px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.card h3{margin:0 0 6px;font-size:1.02rem}
.card p{margin:0;color:var(--dim);font-size:.9rem}
.card a.cta{display:inline-block;margin-top:12px;font-size:.86rem}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;
  word-break:break-all;color:var(--dim)}
ul.tight{color:var(--dim);max-width:70ch}
ul.tight li{margin:.35em 0}
ul.tight strong{color:var(--ink);font-weight:600}
@media (max-width:640px){
  h1{font-size:1.7rem}.hero h1{font-size:2rem}.hero{padding-top:44px}
  header.wrap{padding-top:32px}
}

/* protections: SH = Safe Harbor · PT = premium triaging · IS = Immunefi Standard */
.badges{white-space:nowrap}
.b{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.04em;
  border-radius:4px;padding:2px 5px;margin-right:3px;border:1px solid;cursor:help}
.b.sh{color:#3fd68c;border-color:#2c6b4c;background:#12291f}
.b.pt{color:#7aa2ff;border-color:#2f4478;background:#141c33}
.b.is{color:#8f96c4;border-color:#2a2f52;background:#171a33}
.stat.sh b{color:#3fd68c}
.callout{margin:6px auto 4px}
.callout p{background:#12291f;border:1px solid #2c6b4c;border-left-width:3px;
  border-radius:10px;padding:14px 18px;margin:0;color:var(--dim);max-width:none;font-size:.94rem}
.callout b{color:var(--ink);font-weight:600}
.f.link{display:inline-block;text-decoration:none}
.f.link:hover{text-decoration:none;color:var(--ink)}
