:root{
  --bg:#f5f7fa; --card:#fff; --text:#1f2937; --muted:#6b7280;
  --border:#e5e7eb; --a:#ef4444; --b:#f59e0b; --c:#9ca3af;
  --blue:#2563eb;
}
*{box-sizing:border-box;}
body{margin:0;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--text);}
header{padding:24px 20px 8px;text-align:center;}
header h1{margin:0;font-size:24px;}
.sub{color:var(--muted);font-size:13px;margin:6px 0 0;}
main{max-width:960px;margin:0 auto;padding:16px 20px 40px;}
.stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.stat-card{flex:1;min-width:120px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center;}
.stat-card .num{font-size:22px;font-weight:700;}
.stat-card .lbl{font-size:12px;color:var(--muted);margin-top:4px;}
.controls{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.filters{display:flex;gap:8px;}
.filters button{border:1px solid var(--border);background:var(--card);color:var(--text);padding:8px 14px;border-radius:8px;cursor:pointer;font-size:13px;}
.filters button.active{background:var(--blue);color:#fff;border-color:var(--blue);}
#sort{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--card);font-size:13px;}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
th,td{padding:11px 12px;text-align:left;font-size:14px;border-bottom:1px solid var(--border);}
th{background:#f9fafb;color:var(--muted);font-weight:600;font-size:12px;}
tbody tr:last-child td{border-bottom:none;}
.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;}
.badge.A{background:var(--a);} .badge.B{background:var(--b);} .badge.C{background:var(--c);}
.prob{display:flex;align-items:center;gap:8px;}
.prob-bar{flex:1;height:16px;background:var(--border);border-radius:8px;overflow:hidden;min-width:70px;}
.prob-bar>span{display:block;height:100%;background:var(--blue);}
.prob-val{font-size:13px;font-weight:600;min-width:42px;text-align:right;}
.up{color:var(--a);font-weight:700;}
.down{color:#059669;font-weight:700;}
.empty{text-align:center;color:var(--muted);padding:30px;}
footer{text-align:center;color:var(--muted);font-size:12px;padding:20px;}
