:root {
  color-scheme: dark;
  --bg: #0b0e13;
  --panel: #141922;
  --panel-2: #1b212c;
  --line: #232b38;
  --line-2: #333d4d;
  --txt: #e9edf4;
  --sub: #8b95a6;
  --dim: #626d80;
  --accent: #3d7eff;
  --up: #ff4d4f;
  --up-t: #ff7b7d;
  --down: #0ebf83;
  --down-t: #35e0a4;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: var(--txt);
  font-family: -apple-system, BlinkMacSystemFont, "HarmonyOS Sans SC", "MiSans",
    "OPPO Sans", "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC",
    "Noto Sans CJK SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
  min-height: 100vh;
}
a { color: var(--accent); text-decoration: none; }
.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px 16px;
}
.p-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--sub);
  letter-spacing: .05em;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.up-t { color: var(--up-t); font-weight: 600; }
.down-t { color: var(--down-t); font-weight: 600; }
.dim { color: var(--dim); }
.sub { color: var(--sub); }
.num { font-variant-numeric: tabular-nums; }
.topbar {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
  position: sticky; top: 0; z-index: 10;
}
.topbar .brand { display: flex; align-items: center; gap: 9px; font-size: 17px; font-weight: 700; color: var(--txt); }
.topbar .brand img { display: block; height: 30px; width: auto; }
.topbar .brand .wm { color: var(--txt); letter-spacing: .01em; }
.topbar .brand .wm span { color: var(--accent); }
.topbar nav { display: flex; gap: 4px; margin-left: auto; flex-wrap: wrap; }
.topbar nav a {
  color: var(--sub); font-size: 13.5px; font-weight: 500;
  padding: 6px 12px; border-radius: 7px;
}
.topbar nav a:hover { color: var(--txt); background: var(--panel-2); }
.topbar nav a.on { color: var(--txt); background: var(--panel-2); }
.wrap { max-width: 1080px; margin: 0 auto; padding: 18px 16px 60px; }
footer {
  border-top: 1px solid var(--line);
  color: var(--dim); font-size: 12.5px;
  text-align: center; padding: 18px 0 26px;
}
.badge {
  display: inline-block; font-size: 11.5px; padding: 2px 8px;
  border-radius: 20px; background: var(--panel-2); color: var(--sub);
  border: 1px solid var(--line);
}
table.grid { width: 100%; border-collapse: collapse; font-size: 14px; }
table.grid th {
  text-align: right; color: var(--sub); font-weight: 500; font-size: 12.5px;
  padding: 6px 8px; border-bottom: 1px solid var(--line); white-space: nowrap;
}
table.grid th:first-child, table.grid td:first-child { text-align: left; }
table.grid td {
  text-align: right; padding: 7px 8px;
  border-bottom: 1px solid var(--line);
  white-space: nowrap; font-variant-numeric: tabular-nums;
}
table.grid tr:last-child td { border-bottom: none; }
table.grid td.nm { font-weight: 600; font-size: 15px; color: var(--txt); }
table.grid td.cd { color: var(--dim); font-size: 12.5px; }
@media (max-width: 640px) {
  .wrap { padding: 14px 10px 50px; }
  table.grid { font-size: 13.5px; }
  table.grid th, table.grid td { padding: 6px 5px; }
  .topbar { padding: 10px 12px; }
  .topbar .brand { font-size: 16px; gap: 7px; }
  .topbar .brand img { height: 26px; }
}
