
:root{--bg:#0b0e14;--panel:#11151c;--panel2:#161b24;--border:#222936;--grid:#1c222d;--head:#181e29;--sel:#14314a;
--text:#d6deeb;--dim:#94a0b4;--green:#16c784;--red:#ff5c66;--amber:#f5a524;--cyan:#22d3ee;--steel:#7a92b2;--veto:#a85a62;}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font:13px/1.35 -apple-system,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",sans-serif}
.top{display:flex;align-items:center;gap:16px;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.brand{font-weight:600;font-size:15px}.brand .sub{color:var(--dim);font-weight:400;font-size:12px;margin-left:8px}
.health{display:flex;gap:6px;flex:1;flex-wrap:wrap}
.chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;background:var(--panel2);border:1px solid var(--border);white-space:nowrap}
.chip.ok{border-color:var(--green);color:var(--green)}.chip.warn{border-color:var(--amber);color:var(--amber)}.chip.bad{border-color:var(--red);color:var(--red)}.chip.dim{color:var(--dim)}
.account{display:flex;gap:10px;align-items:center}.dim{color:var(--dim)}
.btn{background:var(--panel2);color:var(--text);border:1px solid var(--border);padding:6px 12px;border-radius:6px;cursor:pointer;font:inherit}
.btn:hover,.btn:focus-visible{border-color:var(--cyan);outline:none}.btn.ghost{background:transparent}.btn[disabled]{opacity:.5;cursor:default}
.card{max-width:520px;margin:48px auto;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px}
.card h1{margin:0 0 8px;font-size:18px;display:flex;justify-content:space-between;align-items:center}label{display:block;margin:12px 0 6px}
input{width:100%;padding:8px 10px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;font:inherit}
.msg{min-height:1.2em;color:var(--amber)}
.banner{background:#3a2a10;color:var(--amber);border-bottom:1px solid var(--amber);padding:6px 14px;text-align:center}
.toolbar{display:flex;gap:12px;align-items:center;padding:8px 14px;flex-wrap:wrap}.toolbar input{max-width:220px}.spacer{flex:1}
.layout{display:flex;gap:0;align-items:stretch}
.gridwrap{overflow:auto;max-height:calc(100vh - 150px);flex:1;position:relative}
table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-variant-numeric:tabular-nums}
thead th{position:sticky;top:0;background:var(--head);color:var(--dim);font-weight:600;text-align:right;padding:0;border-bottom:1px solid var(--border);white-space:nowrap;user-select:none;z-index:1}
thead th .th{all:unset;display:block;padding:6px 8px;cursor:pointer;color:inherit;width:100%;text-align:inherit}thead th .th:focus-visible{outline:1px solid var(--cyan)}
thead th.text,tbody td.text{text-align:left}thead th.sorted .th{color:var(--cyan)}thead th.aux{color:#5e6a7e}
tbody td{padding:4px 8px;border-bottom:1px solid var(--grid);text-align:right;white-space:nowrap}
tbody tr:hover{background:var(--panel2)}tbody tr.sel{background:var(--sel)}tbody tr:focus-visible{outline:1px solid var(--cyan)}
td.pos{color:var(--green)}td.neg{color:var(--red)}td.sym{font-weight:600;color:var(--text);text-align:left;position:sticky;left:0;background:var(--bg)}
td.tick-up{color:var(--green)}td.tick-dn{color:var(--red)}
@keyframes flashup{from{background:rgba(22,199,132,.35)}to{background:transparent}}@keyframes flashdn{from{background:rgba(255,92,102,.35)}to{background:transparent}}
td.flash-up{animation:flashup .45s ease-out}td.flash-dn{animation:flashdn .45s ease-out}
td .chip.go{border-color:var(--green);color:var(--green)}td .chip.fade{border-color:var(--red);color:var(--red)}
td .chip.neutral{color:var(--dim)}td .chip.block{border-color:var(--amber);color:var(--amber)}td .chip.sig{border-color:var(--cyan);color:var(--cyan)}
td .chip.veto{border-color:#8a3a40;color:var(--veto)}td .chip.exit{border-color:var(--steel);color:var(--steel)}
td .chip.strong{font-weight:700;background:rgba(255,255,255,.06)}
.legend .chip{margin:2px}
td.heat{position:relative}td.heat .bar{color:var(--amber);font-size:10px;margin-right:6px;letter-spacing:-1px}td.heat .l0{opacity:.25}
.colpanel{position:fixed;right:14px;top:56px;margin:0;max-width:320px;max-height:70vh;overflow:auto;z-index:6}
.colpanel label{margin:4px 0;font-size:12px}.colpanel input{width:auto;margin-right:6px}
.panel{width:340px;max-width:40vw;border-left:1px solid var(--border);background:var(--panel);padding:14px;overflow:auto;max-height:calc(100vh - 150px)}
.panel h2{margin:0 0 8px;font-size:15px;display:flex;justify-content:space-between}.panel .kv{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;font-size:12px}
.panel .kv .k{color:var(--dim)}.panel ul{margin:0;padding-left:16px}
.empty{position:sticky;left:0;padding:24px;color:var(--dim);text-align:center}
.foot{padding:10px 14px;font-size:11px;border-top:1px solid var(--border)}
@media (max-width:720px){.brand .sub{display:none}.panel{position:fixed;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:50vh;border-left:0;border-top:1px solid var(--border);z-index:6}.top{gap:8px}}
