:root{--bg:#0f1012;--card:#16171a;--card2:#1b1c20;--bd:#2a2b30;--fg:#e6e6e6;--mut:#8a8f98;--up:#e5484d;--dn:#30a46c;--acc:#5b9cf6;--warn:#f5c451;
  --c-spread:#5b9cf6;--c-rebate:#4cc9d6;--c-adverse:#b07cf0;--c-inv:#f0954c;--c-gap:#f5c451;--c-close:#9aa0a8;--c-eod:#c6b3a0;--c-fees:#e879b0;--c-borrow:#a07a5a;--c-net:#e6e6e6}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:13px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif}
a{color:var(--acc);text-decoration:none;cursor:pointer}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.mut{color:var(--mut)}
.up{color:var(--up)} .dn{color:var(--dn)} .warn{color:var(--warn)}
header{position:sticky;top:0;z-index:50;background:rgba(15,16,18,.96);border-bottom:1px solid var(--bd);backdrop-filter:blur(6px)}
.hd{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 18px}
.brand{font-size:16px;font-weight:600;letter-spacing:.3px}
.brand small{font-weight:400;color:var(--mut);font-size:12px;margin-left:6px}
.stock{font-size:14px}
.kl{margin-left:4px;font-size:12px}
.pick{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}
select,input,button{background:var(--card2);color:var(--fg);border:1px solid var(--bd);border-radius:6px;padding:5px 8px;font:inherit}
select{max-width:min(440px,92vw)}
button{cursor:pointer}
button:hover{border-color:var(--acc)}
button.pri{background:var(--acc);border-color:var(--acc);color:#0b1020;font-weight:600}
button:disabled{opacity:.5;cursor:default}
nav.tabs{display:flex;gap:2px;padding:0 12px;overflow-x:auto;scrollbar-width:none}
nav.tabs a{padding:8px 14px;color:var(--mut);border-bottom:2px solid transparent;white-space:nowrap}
nav.tabs a.on{color:var(--fg);border-bottom-color:var(--acc)}
main{padding:14px 18px 30px;max-width:1500px;margin:0 auto}
section.tab{display:none}
section.tab.on{display:block}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:12px 14px;margin-bottom:14px;min-width:0}
.card h3{margin:0 0 8px;font-size:14px;font-weight:600}
.card h3 .mut{font-weight:400;font-size:12px;margin-left:6px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:1100px){.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.kpi{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:10px 12px;min-width:0}
.kpi .k{color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .v{font-size:20px;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .s{color:var(--mut);font-size:11.5px;margin-top:1px}
.kpi.hl{border-color:#3a4a6a;background:linear-gradient(180deg,#18202e,#16171a)}
.banner{border:1px solid #3d3520;background:#1d1a12;color:#e9d9a8;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:12.5px}
.banner b{color:var(--warn)}
.tw{overflow-x:auto;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:12.5px}
th,td{padding:5px 8px;border-bottom:1px solid var(--bd);text-align:right;white-space:nowrap}
th{color:var(--mut);font-weight:500;position:sticky;top:0;background:var(--card)}
td.l,th.l{text-align:left}
tr.click{cursor:pointer}
tr.click:hover td{background:#1e2026}
tr.cur td{background:#1d2738}
.scroll{max-height:420px;overflow:auto}
.chip{display:inline-block;padding:0 6px;border-radius:9px;font-size:11px;border:1px solid var(--bd);color:var(--mut)}
.chip.ok{color:var(--dn);border-color:#24533a}
.chip.bad{color:var(--up);border-color:#5a2427}
.chip.w{color:var(--warn);border-color:#5a4a1e}
svg{display:block;width:100%;height:auto;overflow:hidden}
svg text{fill:var(--mut);font-size:11px}
.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--mut);margin:4px 0 0}
.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
#tip{position:fixed;z-index:200;pointer-events:none;background:#0b0c0e;border:1px solid #3a3b42;border-radius:8px;padding:7px 9px;font-size:12px;line-height:1.45;max-width:340px;display:none;box-shadow:0 6px 24px rgba(0,0,0,.5)}
.player{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.player input[type=range]{flex:1;min-width:160px;accent-color:var(--acc)}
.player .clock{font-size:15px;font-weight:600;min-width:120px}
.replay{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}
@media (max-width:1100px){.replay{grid-template-columns:minmax(0,1fr)}}
.kv{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:12.5px}
.kv div:nth-child(odd){color:var(--mut)}
.kv div:nth-child(even){text-align:right}
.evlist{max-height:260px;overflow:auto;font-size:12px}
.evlist div{padding:4px 0;border-bottom:1px dashed var(--bd)}
.quick{display:flex;flex-wrap:wrap;gap:6px}
.quick button{font-size:12px;padding:3px 8px}
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 12px}
.form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--mut)}
.form input,.form select{width:100%}
.method p,.method li{color:#cfd2d8;line-height:1.7}
.method h4{margin:14px 0 6px;font-size:13.5px}
.method ul{padding-left:20px;margin:4px 0}
footer{border-top:1px solid var(--bd);padding:12px 18px 18px;color:var(--mut);font-size:11.5px;line-height:1.7;max-width:1500px;margin:0 auto}
.big0{font-size:28px;font-weight:700}
.note{font-size:12px;color:var(--mut);margin-top:6px}
.cmp td:first-child{text-align:left}
.cmp tr.me td{background:#1a2232}
@media (max-width:600px){
  .hd{padding:8px 10px}
  main{padding:10px 8px 24px}
  .kpi .v{font-size:17px}
  .card{padding:10px}
  .pick{margin-left:0}
}
