:root {
  --bg: #0b0f14;
  --bg-panel: #111820;
  --bg-panel-hi: #17212d;
  --border: #1a2332;
  --border-hi: #28364a;
  --text: #c8d1dc;
  --text-dim: #8d99a8;   /* 略调亮，跟放大的字体匹配 */
  --accent: #64ffda;
  --up: #26a69a;
  --down: #ef5350;
  --warning: #ffb74d;
  --info: #5eb0ff;
}

body {
  font-family: "Noto Sans SC", "PingFang SC", -apple-system, system-ui, sans-serif;
  font-size: 15px;      /* 13 → 15 */
  line-height: 1.5;
}
code, .mono, pre, table.data td.num, table.data td.ticker, .kpi-value {
  font-family: "JetBrains Mono", "SF Mono", Menlo, monospace;
}

/* 数字列 */
.num { font-variant-numeric: tabular-nums; text-align: right; }
.up { color: var(--up); }
.down { color: var(--down); }

/* 面板 */
.panel {
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 3px;
}
.panel-hi {
  background: var(--bg-panel-hi);
  border: 1px solid var(--border-hi);
}

/* 数据表 */
table.data { width: 100%; border-collapse: collapse; font-size: 14px; }  /* 11.5 → 14 */
table.data th, table.data td {
  padding: 10px 14px;                                                     /* 6×10 → 10×14 */
  border-bottom: 1px solid var(--border);
  height: 42px;                                                           /* 30 → 42 */
}
table.data th {
  color: var(--text-dim);
  font-weight: 500;
  text-align: left;
  font-size: 12.5px;                                                      /* 10.5 → 12.5 */
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--border-hi);
}
table.data td.num { font-variant-numeric: tabular-nums; text-align: right; }
table.data td.ticker {
  font-weight: 600;
  font-size: 14.5px;                                                      /* 略加粗给代码 */
  font-family: "JetBrains Mono", "SF Mono", Menlo, monospace;
}
table.data tr:hover td { background: rgba(100, 255, 218, 0.04); }

/* 链接 */
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

/* 状态 Badge */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;                                                      /* 2×8 → 4×10 */
  border-radius: 12px;
  font-size: 12.5px;                                                      /* 10.5 → 12.5 */
  font-weight: 500;
  border: 1px solid transparent;
  line-height: 1.4;
  white-space: nowrap;
}
.badge-open {
  color: var(--info);
  background: rgba(94, 176, 255, 0.10);
  border-color: rgba(94, 176, 255, 0.30);
}
.badge-closed {
  color: var(--up);
  background: rgba(38, 166, 154, 0.10);
  border-color: rgba(38, 166, 154, 0.30);
}
.badge-expired {
  color: var(--text-dim);
  background: rgba(141, 153, 168, 0.10);
  border-color: rgba(141, 153, 168, 0.30);
}
.badge-warn {
  color: var(--warning);
  background: rgba(255, 183, 77, 0.10);
  border-color: rgba(255, 183, 77, 0.30);
}

/* KPI 卡片 */
.kpi-card {
  background: var(--bg-panel);
  border: 1px solid var(--border);
  padding: 16px 20px;                                                     /* 12×16 → 16×20 */
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.kpi-label {
  color: var(--text-dim);
  font-size: 12.5px;                                                      /* 10.5 → 12.5 */
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 500;
}
.kpi-value {
  font-size: 30px;                                                        /* 24 → 30 */
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--text);
  line-height: 1.1;
}
.kpi-hint { color: var(--text-dim); font-size: 12.5px; }                  /* 10.5 → 12.5 */

/* Help 说明块 */
.help {
  background: rgba(100, 255, 218, 0.04);
  border-left: 3px solid var(--accent);
  padding: 14px 18px;                                                     /* 10×14 → 14×18 */
  font-size: 14px;                                                        /* 12 → 14 */
  color: var(--text);                                                     /* dim → text 提高对比 */
  line-height: 1.7;
  border-radius: 0 3px 3px 0;
}
.help code { color: var(--accent); font-size: 13px; padding: 1px 4px; background: rgba(100, 255, 218, 0.08); border-radius: 2px; }

/* Intro 折叠区 */
details summary {
  cursor: pointer;
  list-style: none;
  color: var(--accent);
  font-size: 14px;                                                        /* 12 → 14 */
  padding: 8px 0;
  font-weight: 500;
}
details summary::-webkit-details-marker { display: none; }
details summary:before { content: "▸"; display: inline-block; margin-right: 8px; transition: transform 0.15s; }
details[open] summary:before { transform: rotate(90deg); }

/* 空状态 */
.empty-state {
  text-align: center;
  padding: 48px 20px;                                                     /* 40×20 → 48×20 */
  color: var(--text-dim);
  font-size: 14.5px;                                                      /* 12.5 → 14.5 */
}
.empty-state-icon { font-size: 38px; margin-bottom: 12px; opacity: 0.5; }

/* 小提示文本 */
.hint { color: var(--text-dim); font-size: 12.5px; }                      /* 10.5 → 12.5 */

/* 强调色 */
.accent { color: var(--accent); }

/* Section headers (H2/H3 in content) */
h1 { font-size: 22px; font-weight: 600; }
h2 { font-size: 17px; font-weight: 500; }
h3 { font-size: 15px; font-weight: 500; }
