/* 数据密集页：一屏尽量多行。暗底与另外两个对照台保持一致的视觉身份。
   增益/衰减用琥珀↔蓝的发散对，蓝黄轴对红绿色觉缺陷天然安全，且每处都带正负号与数字。 */
:root{
  --ground:#0e1013;--panel:#15181c;--panel-2:#1c2026;--line:#232830;--line-2:#343b45;
  --ink:#e6e8ea;--ink-2:#959ea8;--ink-3:#69727c;
  --up:#c8862f;--down:#3d9ad9;--flat:#69727c;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--body:"Source Sans 3",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--ground);color:var(--ink);font:400 14px/1.55 var(--body);-webkit-font-smoothing:antialiased}
.wrap{max-width:1400px;margin:0 auto;padding:22px 18px 60px;display:flex;flex-direction:column;gap:30px}
b{font-weight:600;color:var(--ink)}
code{font:500 12px var(--mono);background:var(--panel-2);padding:1px 5px;border-radius:3px}
header{border-bottom:2px solid var(--line-2);padding-bottom:16px}
h1{margin:0 0 6px;font:700 24px/1.1 var(--mono);letter-spacing:-.02em}
.sub{margin:0;color:var(--ink-2);font-size:14px;max-width:96ch}
#meta{color:var(--ink-3);font:500 12.5px var(--mono)}
h2{margin:0 0 4px;font:600 17px/1.2 var(--mono)}
.lede{margin:0 0 14px;color:var(--ink-2);font-size:13.5px;max-width:96ch}
.caption{margin:10px 0 0;color:var(--ink-3);font-size:12.5px}
.tw{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:9px}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{padding:7px 11px;text-align:right;font:500 12.5px var(--mono);border-bottom:1px solid var(--line);white-space:nowrap}
th{font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);position:sticky;top:0;background:var(--panel);z-index:2}
th:first-child,td:first-child{text-align:left}
tbody tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--panel-2)}
td.dim{color:var(--ink-3)}
td.tot{font-weight:700;color:var(--ink)}
.d{display:inline-block;min-width:56px;padding:2px 6px;border-radius:4px;font:700 12px var(--mono)}
.d.up{background:rgba(200,134,47,.16);color:var(--up)}
.d.down{background:rgba(61,154,217,.16);color:var(--down)}
.d.flat{background:var(--panel-2);color:var(--flat)}
.sig{font:600 10.5px var(--mono);letter-spacing:.04em}
.sig.yes{color:var(--ink)} .sig.edge{color:var(--ink-2)} .sig.no{color:var(--ink-3)}
.bar{display:inline-block;height:8px;border-radius:2px;vertical-align:1px;margin-right:6px}
.tools{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:12px}
.chk{display:flex;align-items:center;gap:6px;font:500 12px var(--mono);color:var(--ink-2);cursor:pointer}
input[type=checkbox]{accent-color:var(--down);width:13px;height:13px;margin:0}
select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:4px 7px;font:500 12px var(--mono)}
.count{margin-left:auto;font:500 12px var(--mono);color:var(--ink-3)}
.grp{font:600 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);background:var(--panel-2)}
footer{border-top:1px solid var(--line);padding-top:14px;color:var(--ink-3);font-size:12.5px}
footer summary{cursor:pointer;font:500 12px var(--mono);color:var(--ink-2);padding:4px 0}
.fbody{padding:6px 0 0;line-height:1.75;max-width:104ch}

/* 配对行展开后的分类型拆解 */
tr.pr{cursor:pointer}
tr.pr:hover td{background:var(--panel-2)}
tr.exp td{background:var(--ground);padding:6px 11px}
table.sub{width:auto;min-width:100%}
table.sub th{position:static;background:var(--ground);font-size:10px;padding:3px 9px}
table.sub td{padding:5px 9px;border-bottom:none;text-align:center}
.tiny{font:500 10px var(--mono);color:var(--ink-3);white-space:nowrap}

/* 实时增量的状态指示：默认灰，成功变绿，失败变琥珀 */
#live{font:500 11px var(--mono,ui-monospace,monospace);color:var(--i3,#69727c)}
#live.ok{color:#2f8f5b}
#live.warn{color:#b07d18}

/* v2：合并模型 + 分基准 */
th[data-k]{cursor:pointer}
th.main{color:var(--ink-2)}
th.subc,td.subc{color:var(--ink-3)}
.tiny.n{display:block;font-size:9.5px;line-height:1.1}
td.part{color:var(--ink-3)}
.partk{color:var(--ink-3);border-bottom:1px dotted var(--ink-3)}
tr.mr{cursor:pointer}
.tag{font:600 9.5px var(--mono);color:var(--ink-3);border:1px solid var(--line-2);border-radius:3px;padding:0 4px}
.expw{display:flex;flex-direction:column;gap:6px;padding:4px 0}
.expw p{margin:0;white-space:normal}
table.sub th.grp,table.sub td.grp{text-align:left;min-width:90px}
.d.s-no{opacity:.55}
.d.s-edge{opacity:.8}
input[type=search]{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:4px 8px;font:500 12px var(--mono);min-width:0;width:220px;max-width:100%}
.bl{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;color:var(--ink-2)}
.bl .hits{white-space:normal;margin-top:2px}
