:root{
  --bg:#0d1117; --panel:#161b22; --panel2:#1c2330; --line:#2b3444;
  --ink:#e8edf4; --dim:#9aa7b8; --faint:#6b7889;
  --accent:#e8b34b; --accent2:#58a6ff; --good:#3fb68b; --bad:#e05d5d;
  --persona:#e8b34b; --radius:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--accent2);text-decoration:none}
a:hover{text-decoration:underline}
code{background:var(--panel2);padding:.05em .35em;border-radius:4px;font-size:.88em}

.topbar{display:flex;flex-wrap:wrap;gap:.4rem .9rem;align-items:baseline;
  padding:.8rem 1rem;border-bottom:1px solid var(--line);background:var(--panel);
  position:sticky;top:0;z-index:5}
.brand{font-size:1.35rem;font-weight:700;color:var(--ink);letter-spacing:.01em}
.brand:hover{text-decoration:none}
.brandsub{color:var(--dim);font-size:.85rem}
.search{margin-left:auto;display:flex;gap:.4rem}
.search input{background:var(--bg);border:1px solid var(--line);color:var(--ink);
  border-radius:8px;padding:.45rem .6rem;width:13.5rem;max-width:55vw;font-size:.95rem}
.search button{background:var(--accent);border:0;color:#191204;font-weight:700;
  border-radius:8px;padding:.45rem .8rem;cursor:pointer}
.searchmsg{margin:0;padding:.5rem 1rem;background:#3a2410;color:#f2c879;border-bottom:1px solid var(--line)}

main{max-width:1060px;margin:0 auto;padding:1.1rem 1rem 2.5rem}
.loading{color:var(--dim)}
h1{font-size:1.7rem;line-height:1.25;margin:.2rem 0 .6rem}
h2{font-size:1.15rem;margin:1.6rem 0 .6rem}
h3{font-size:1rem;margin:1rem 0 .4rem}
.lede{color:var(--dim);max-width:46rem}
.crumb{color:var(--faint);font-size:.9rem;margin-bottom:.4rem}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;margin:1rem 0}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem}
.stat .num{font-size:1.45rem;font-weight:700;display:block}
.stat .lab{color:var(--dim);font-size:.82rem}

.note{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--accent);
  border-radius:8px;padding:.7rem .9rem;color:var(--dim);font-size:.94rem}
.note b{color:var(--ink)}
.statusbox{border-left-color:var(--bad)}
.statusbox .ok{color:var(--good);font-weight:700}
.statusbox .todo{color:var(--bad);font-weight:700}

.grid40{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.45rem}
.cell{background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:.5rem .6rem;color:var(--ink);display:block}
.cell:hover{border-color:var(--accent2);text-decoration:none}
.cell .cl{font-weight:700}
.cell .cn{display:block;color:var(--dim);font-size:.78rem;line-height:1.35}
.cell .bar{height:4px;background:var(--panel2);border-radius:2px;margin-top:.4rem;overflow:hidden}
.cell .bar i{display:block;height:100%;background:var(--accent)}

.curve{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}
.curve .pt{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem}
.curve .pct{font-size:1.5rem;font-weight:700;color:var(--persona)}
.curve .raw{color:var(--faint);font-size:.8rem;display:block}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.8rem .9rem;color:var(--ink);display:block}
.card:hover{border-color:var(--accent);text-decoration:none}
.card .addr{color:var(--faint);font-size:.82rem}
.card .nm{font-size:1.12rem;font-weight:700;margin:.15rem 0}
.card .meta{color:var(--dim);font-size:.85rem}

.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.8rem 0}
.filters select{background:var(--panel);color:var(--ink);border:1px solid var(--line);
  border-radius:8px;padding:.45rem .6rem;font-size:.95rem}
.count{color:var(--dim);font-size:.9rem}

.nlist{display:flex;flex-direction:column;gap:.4rem}
.nrow{background:var(--panel);border:1px solid var(--line);border-radius:8px;
  padding:.55rem .75rem;color:var(--ink);display:flex;flex-wrap:wrap;gap:.3rem .7rem;align-items:baseline}
.nrow:hover{border-color:var(--accent2);text-decoration:none}
.nrow .addr{font-weight:700;min-width:6.2rem}
.nrow .gens{color:var(--dim);font-size:.85rem}
.chip{display:inline-block;border:1px solid var(--line);background:var(--panel2);
  border-radius:999px;padding:.05rem .5rem;font-size:.78rem;color:var(--dim)}
.chip b{color:var(--ink);font-weight:600}
.chip.persona{border-color:var(--persona);color:var(--persona)}
.badge{background:var(--accent);color:#191204;font-weight:700;border-radius:6px;
  padding:.05rem .45rem;font-size:.78rem}
.morebtn{margin-top:.8rem;background:var(--panel);color:var(--ink);border:1px solid var(--line);
  border-radius:8px;padding:.55rem 1rem;cursor:pointer;font-size:.95rem}

.bars{display:flex;flex-direction:column;gap:.35rem;max-width:560px}
.barrow{display:grid;grid-template-columns:8.5rem 1fr 3.2rem;gap:.6rem;align-items:center;font-size:.9rem}
.barrow .track{height:10px;background:var(--panel2);border-radius:5px;overflow:hidden}
.barrow .fill{display:block;height:100%}
.barrow .val{color:var(--dim);text-align:right}

table.kv{border-collapse:collapse;width:100%;max-width:640px}
table.kv td,table.kv th{border-bottom:1px solid var(--line);padding:.35rem .5rem;text-align:left;font-size:.94rem}
table.kv th{color:var(--dim);font-weight:600}

.examples{display:flex;flex-direction:column;gap:.7rem}
.example{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem}
.example .meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}
.example .ans{white-space:pre-wrap;word-break:break-word;font-size:.97rem}
.example .trunc{color:var(--faint);font-size:.82rem}
.callout{background:#2a2110;border:1px solid var(--accent);border-radius:var(--radius);padding:.8rem .95rem}
.callout .nm{font-size:1.2rem;font-weight:700}
.foot{border-top:1px solid var(--line);color:var(--faint);font-size:.85rem;
  padding:1rem;max-width:1060px;margin:0 auto}
