:root {
  --bg:#080810; --surface:#10101c; --card:#161622; --border:#232336;
  --text:#e4e4f0; --muted:#5a5a7a; --accent:#c8a96e;
  --safe:#2dd4a0; --exposed:#f04060; --mid:#f0c040;
  --fd:'DM Serif Display',serif; --fm:'DM Mono',monospace; --fs:'DM Sans',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--fs);font-size:14px;line-height:1.6;min-height:100vh}
.header{padding:44px 40px 28px;border-bottom:1px solid var(--border)}
.eyebrow{font-family:var(--fm);font-size:10px;letter-spacing:.15em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}
.header h1{font-family:var(--fd);font-size:clamp(28px,4.5vw,52px);font-weight:400;line-height:1.1;margin-bottom:12px}
.header h1 em{color:var(--accent);font-style:italic}
.header p{color:var(--muted);font-size:14px;max-width:580px}
.statsbar{display:flex;gap:0;border-bottom:1px solid var(--border);overflow-x:auto}
.stat{padding:18px 28px;border-right:1px solid var(--border);flex-shrink:0}
.stat-v{font-family:var(--fm);font-size:20px;font-weight:500;color:var(--accent)}
.stat-l{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-top:1px}
.main{padding:24px 40px;display:flex;flex-direction:column;gap:20px}
.controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ctl-sep{width:1px;height:20px;background:var(--border);margin:0 4px}
.ctl-lbl{font-family:var(--fm);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
.btn{background:var(--card);border:1px solid var(--border);color:var(--muted);padding:5px 13px;border-radius:4px;cursor:pointer;font-family:var(--fm);font-size:10px;letter-spacing:.07em;text-transform:uppercase;transition:all .15s;white-space:nowrap}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.active{background:var(--accent);border-color:var(--accent);color:#0a0a14;font-weight:500}
.panel{background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}
.ph{padding:13px 18px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pt{font-family:var(--fm);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.legend{display:flex;align-items:center;gap:6px}
.lg{width:140px;height:8px;border-radius:3px;background:linear-gradient(to right,#2dd4a0,#f0c040,#f04060)}
.ll{font-family:var(--fm);font-size:9px;color:var(--muted)}
#tm-wrap{width:100%;height:500px}
#tm-svg{width:100%;height:100%;display:block}
.tm-rect{cursor:pointer;transition:opacity .1s}
.tm-rect:hover{opacity:.8}
.tm-text{pointer-events:none;font-family:var(--fs);fill:rgba(255,255,255,.92);font-weight:500}
.tm-score{pointer-events:none;font-family:var(--fm);fill:rgba(255,255,255,.6)}
#sc-wrap{width:100%;height:420px}
.axis text{fill:var(--muted);font-family:var(--fm);font-size:10px}
.axis path,.axis line{stroke:var(--border)}
.gridline{stroke:var(--border);stroke-dasharray:2,5;opacity:.7}
.dot{cursor:pointer;transition:opacity .2s}
.dot:hover{stroke:white;stroke-width:1.5}
.bars-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.bars-col{padding:18px}
.bars-col+.bars-col{border-left:1px solid var(--border)}
.col-label{font-family:var(--fm);font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.bar-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bar-name{font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 0 170px;min-width:0}
.bar-track{flex:1;height:18px;background:var(--surface);border-radius:2px;overflow:hidden}
.bar-fill{height:100%;display:flex;align-items:center;padding-left:5px;border-radius:2px;transition:width .3s ease}
.bar-fill span{font-family:var(--fm);font-size:9px;color:rgba(0,0,0,.75);font-weight:500}
.bar-pay{font-family:var(--fm);font-size:10px;color:var(--muted);flex:0 0 50px;text-align:right}
.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.bcontent{padding:16px 18px}
.mini-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.mini-name{font-size:11px;color:var(--text);flex:0 0 140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-track{flex:1;height:14px;background:var(--surface);border-radius:2px;overflow:hidden}
.mini-fill{height:100%;display:flex;align-items:center;padding-left:4px;border-radius:2px}
.mini-fill span{font-family:var(--fm);font-size:8px;color:rgba(0,0,0,.75);font-weight:500}
.mini-count{font-family:var(--fm);font-size:10px;color:var(--muted);flex:0 0 44px;text-align:right}
.tt{position:fixed;background:var(--surface);border:1px solid var(--accent);border-radius:6px;padding:12px 15px;pointer-events:none;opacity:0;transition:opacity .12s;max-width:280px;z-index:999;box-shadow:0 12px 40px rgba(0,0,0,.6)}
.tt.on{opacity:1}
.tt-title{font-family:var(--fd);font-size:15px;color:var(--text);margin-bottom:9px;line-height:1.3}
.tt-row{display:flex;justify-content:space-between;gap:14px;margin-bottom:3px}
.tt-k{color:var(--muted);font-size:10px;font-family:var(--fm)}
.tt-v{color:var(--text);font-size:10px;font-family:var(--fm);font-weight:500}
.tt-srow{margin-top:9px;padding-top:9px;border-top:1px solid var(--border);display:flex;align-items:baseline;gap:7px}
.tt-snum{font-family:var(--fm);font-size:22px;font-weight:500;line-height:1}
.tt-slbl{font-size:11px;color:var(--muted)}
.tt-rat{margin-top:8px;font-size:10px;color:var(--muted);line-height:1.5;border-top:1px solid var(--border);padding-top:8px}
.sw{position:relative}
.si{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:5px 12px 5px 28px;border-radius:4px;font-family:var(--fm);font-size:11px;width:190px;outline:none}
.si:focus{border-color:var(--accent)}
.si-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;pointer-events:none}
@media(max-width:900px){
  .bars-grid,.bottom-row{grid-template-columns:1fr}
  .bars-col+.bars-col{border-left:none;border-top:1px solid var(--border)}
  .main,.header{padding-left:16px;padding-right:16px}
}