:root{
  --bg:#0e1116;
  --bg-raise:#161b23;
  --bg-soft:#1c222c;
  --line:#252d39;
  --line-soft:#1f2733;
  --text:#e6edf3;
  --text-dim:#9aa7b6;
  --text-faint:#6b7889;
  --accent:#4fa3ff;
  --accent-dim:#1f4d7a;
  --good:#3fb950;
  --warn:#d29922;
  --bad:#f85149;
  --pos-qb:#e06c9f; --pos-rb:#41c8a4; --pos-wr:#4fa3ff;
  --pos-te:#e2a03f; --pos-k:#9b8cf0;  --pos-def:#8b98a8;
  --radius:10px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--text);
  font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}

/* ---------- top bar ---------- */
.topbar{
  background:linear-gradient(180deg,#141a22 0%,var(--bg) 100%);
  border-bottom:1px solid var(--line);
  padding:30px 0 26px;
  margin-bottom:26px;
}
.topbar h1{
  margin:0;font-size:23px;font-weight:650;letter-spacing:-.2px;
}
.tagline{margin:5px 0 20px;color:var(--text-dim);font-size:14px}

.sync{display:flex;gap:10px;flex-wrap:wrap}
.sync input{
  flex:1 1 340px;max-width:420px;
  background:var(--bg-raise);border:1px solid var(--line);
  color:var(--text);border-radius:var(--radius);
  padding:11px 14px;font-size:15px;font-family:inherit;
}
.sync input::placeholder{color:var(--text-faint)}
.sync input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,163,255,.13)}
.sync button{
  background:var(--accent);color:#04121f;border:0;border-radius:var(--radius);
  padding:11px 24px;font-size:15px;font-weight:650;font-family:inherit;cursor:pointer;
}
.sync button:hover:not(:disabled){background:#6fb5ff}
.sync button:disabled{opacity:.55;cursor:default}

.status{margin-top:14px;font-size:14px;display:flex;align-items:center;gap:10px}
.status .avatar{width:26px;height:26px;border-radius:50%;background:var(--bg-soft);flex:none}
.status.ok{color:var(--text-dim)}
.status.ok strong{color:var(--text)}
.status.err{color:var(--bad)}
.status.load{color:var(--text-dim)}

/* ---------- filters ---------- */
.filters{
  display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;
  background:var(--bg-raise);border:1px solid var(--line);
  border-radius:var(--radius);padding:16px;margin-bottom:22px;
}
.field{display:flex;flex-direction:column;gap:6px;min-width:150px}
.field.grow{flex:1 1 300px}
.field label{
  font-size:11px;font-weight:650;text-transform:uppercase;
  letter-spacing:.7px;color:var(--text-faint);
}
.field select{
  background:var(--bg-soft);border:1px solid var(--line);color:var(--text);
  border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit;width:100%;cursor:pointer;
}
.field select:focus{outline:none;border-color:var(--accent)}
.field select:disabled{opacity:.5;cursor:default}

/* ---------- empty ---------- */
.empty{
  border:1px dashed var(--line);border-radius:var(--radius);
  padding:44px 24px;text-align:center;color:var(--text-dim);
}
.empty p{margin:0 0 8px}
.empty .muted{font-size:13px;color:var(--text-faint)}

/* ---------- league header ---------- */
.league-head{
  background:var(--bg-raise);border:1px solid var(--line);
  border-radius:var(--radius);padding:18px 20px;margin-bottom:22px;
}
.league-head .lh-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.league-head h2{margin:0;font-size:19px;font-weight:650}
.league-head .meta{
  display:flex;gap:26px;flex-wrap:wrap;margin-top:14px;
}
.league-head .meta div{display:flex;flex-direction:column;gap:3px}
.league-head .meta .k{
  font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--text-faint);font-weight:650;
}
.league-head .meta .v{font-size:15px;font-weight:600}

/* ---------- panels ---------- */
.panels{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:30px}
.panel{
  background:var(--bg-raise);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;min-width:0;
}
.panel.wide{grid-column:1/-1}
.panel-head{
  display:flex;align-items:baseline;gap:12px;
  padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg-soft);
}
.panel-head h2{margin:0;font-size:15px;font-weight:650}
.panel-sub{font-size:12.5px;color:var(--text-faint);margin-left:auto;text-align:right}
.panel-body{padding:0;max-height:620px;overflow:auto}
.panel-body.pad{padding:16px 18px}

/* ---------- tables ---------- */
table{width:100%;border-collapse:collapse;font-size:13.5px}
thead th{
  position:sticky;top:0;z-index:1;
  background:var(--bg-soft);
  text-align:left;font-size:11px;font-weight:650;letter-spacing:.6px;
  text-transform:uppercase;color:var(--text-faint);
  padding:9px 14px;border-bottom:1px solid var(--line);white-space:nowrap;
}
tbody td{padding:8px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:rgba(255,255,255,.022)}
td.num{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap}
th.center,td.center{text-align:center}
td.center{font-variant-numeric:tabular-nums;color:var(--text-dim);white-space:nowrap}
td.name{font-weight:550}
td.dim{color:var(--text-dim)}

.grp td{
  background:var(--bg-soft);
  font-size:10.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;
  color:var(--text-faint);padding:7px 14px;
}

/* position pills */
.pos{
  display:inline-block;min-width:34px;text-align:center;
  font-size:10.5px;font-weight:700;letter-spacing:.4px;
  padding:2.5px 6px;border-radius:5px;
  background:var(--bg-soft);color:var(--text-dim);
}
.pos.QB{background:rgba(224,108,159,.15);color:var(--pos-qb)}
.pos.RB{background:rgba(65,200,164,.15);color:var(--pos-rb)}
.pos.WR{background:rgba(79,163,255,.15);color:var(--pos-wr)}
.pos.TE{background:rgba(226,160,63,.15);color:var(--pos-te)}
.pos.K{background:rgba(155,140,240,.15);color:var(--pos-k)}
.pos.DEF{background:rgba(139,152,168,.15);color:var(--pos-def)}

/* small tags */
.tag{
  display:inline-block;font-size:10.5px;font-weight:650;letter-spacing:.3px;
  padding:2px 7px;border-radius:20px;border:1px solid var(--line);
  color:var(--text-dim);background:var(--bg-soft);white-space:nowrap;
}
.tag.accent{border-color:var(--accent-dim);color:var(--accent);background:rgba(79,163,255,.09)}
.tag.good{border-color:rgba(63,185,80,.35);color:var(--good);background:rgba(63,185,80,.09)}
.tag.warn{border-color:rgba(210,153,34,.35);color:var(--warn);background:rgba(210,153,34,.09)}
.tag.keep{border-color:rgba(226,160,63,.35);color:var(--pos-te);background:rgba(226,160,63,.09)}

/* medals */
.medal{
  display:inline-block;margin-left:6px;font-size:14px;line-height:1;
  vertical-align:-1px;cursor:default;
}
.trophies{display:inline-flex;gap:12px;flex-wrap:wrap;align-items:center}
.trophies .trophy{display:inline-flex;align-items:center;gap:2px}
.trophies .medal{margin-left:0;font-size:17px}
.trophies .ty{font-size:12.5px;color:var(--text-dim);font-weight:600}
.trophies .none{color:var(--text-faint);font-weight:600}

.years{display:inline-flex;gap:4px;flex-wrap:wrap}
.yr{
  font-size:10.5px;font-weight:650;padding:1.5px 5px;border-radius:4px;
  background:var(--bg-soft);color:var(--text-faint);border:1px solid var(--line-soft);
}
.yr.on{background:rgba(79,163,255,.16);color:var(--accent);border-color:var(--accent-dim)}

/* ---------- trends ---------- */
.trend-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:14px;padding:16px 18px;
}
.stat{
  background:var(--bg-soft);border:1px solid var(--line-soft);
  border-radius:8px;padding:13px 15px;
}
.stat .k{
  font-size:11px;text-transform:uppercase;letter-spacing:.7px;
  color:var(--text-faint);font-weight:650;
}
.stat .v{font-size:24px;font-weight:680;margin:5px 0 3px;letter-spacing:-.4px}
.stat .d{font-size:12.5px;color:var(--text-dim);line-height:1.4}

.trend-sec{padding:4px 18px 18px}
.trend-sec h3{
  font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.8px;
  color:var(--text-faint);margin:16px 0 9px;
}
.insight{
  display:flex;gap:10px;align-items:flex-start;
  padding:9px 12px;background:var(--bg-soft);
  border:1px solid var(--line-soft);border-left:2px solid var(--accent);
  border-radius:0 7px 7px 0;margin-bottom:7px;font-size:13.5px;line-height:1.5;
}
.insight .ico{flex:none;line-height:1.45}
.insight strong{font-weight:650}

.note{padding:22px 18px;color:var(--text-dim);font-size:13.5px}
.note.center{text-align:center;padding:34px 18px}

/* scrollbars */
.panel-body::-webkit-scrollbar{width:10px;height:10px}
.panel-body::-webkit-scrollbar-track{background:transparent}
.panel-body::-webkit-scrollbar-thumb{background:#2b3542;border-radius:5px;border:2px solid var(--bg-raise)}
.panel-body::-webkit-scrollbar-thumb:hover{background:#384454}

.foot{padding:0 24px 30px;color:var(--text-faint);font-size:12px}

@media (max-width:900px){
  .panels{grid-template-columns:1fr}
  .panel-body{max-height:none}
}
