:root{
  --bg:#0d1117;
  --panel:#161b22;
  --panel-2:#1f2630;
  --ink:#e6edf3;
  --muted:#7d8590;
  --accent:#3fb950;
  --accent-2:#58a6ff;
  --warn:#f0883e;
  --bad:#f85149;
  --border:#30363d;
  --pitch:#1a3a1a;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.45}
header{padding:24px 32px 12px;border-bottom:1px solid var(--border)}
h1{margin:0 0 4px;font-size:24px}
h1 .sub{color:var(--muted);font-weight:400;font-size:16px}
.tagline{margin:0;color:var(--muted);max-width:760px}
main{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:24px 32px;align-items:flex-start}
@media (max-width:1000px){main{grid-template-columns:1fr}}

section{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:20px}
h2{margin:0 0 12px;font-size:18px}
h3{font-size:13px;margin:0 0 8px;color:var(--muted);font-weight:600;letter-spacing:.4px;text-transform:uppercase}

button{background:var(--accent);color:#0d1117;border:0;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.1)}
button:disabled{background:#444c56;color:#8b949e;cursor:not-allowed}
button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}
button.ghost:hover{color:var(--ink)}

.muted{color:var(--muted)}
.hidden{display:none}
.collapsed #backtestBody{display:none}

.draft-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.counters{font-size:13px;color:var(--muted)}

/* Team roster card */
.team-card{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:12px}
.team-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:12px}
.league-badge{font-size:11px;font-weight:700;letter-spacing:.6px;padding:6px 10px;border-radius:6px;background:#0d1117;border:1px solid var(--border);color:var(--ink)}
.league-badge.EPL{background:#37003c;color:#e2dbfa;border-color:#5a2068}
.league-badge.LL {background:#1b2944;color:#b8c9ec;border-color:#2e4a7b}
.league-badge.BL {background:#3d1414;color:#f0c5c5;border-color:#693030}
.league-badge.SA {background:#103a23;color:#bce0c8;border-color:#1f6e3d}
.league-badge.L1 {background:#1d3038;color:#bcd9e4;border-color:#345f70}
.team-head .name{font-size:20px;font-weight:700;line-height:1.1}
.team-head .meta{color:var(--muted);font-size:13px;margin-top:2px}
.team-head .stats{display:flex;gap:6px}
.statpill{background:#0d1117;border:1px solid var(--border);border-radius:6px;padding:5px 9px;text-align:center;min-width:46px}
.statpill .v{font-size:15px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.statpill .l{font-size:10px;color:var(--muted);letter-spacing:.4px}

.pos-group{margin-top:10px}
.pos-group .ph{font-size:11px;color:var(--muted);letter-spacing:.6px;text-transform:uppercase;margin:8px 0 4px}
.pos-group .ph .count{color:#8b949e}
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}
.player-tile{background:#0d1117;border:1px solid var(--border);border-radius:6px;padding:8px 10px;cursor:pointer;font-size:13px;
  transition:border-color .1s, background-color .1s}
.player-tile:hover{border-color:var(--accent);background:#101a12}
.player-tile.disabled{opacity:.35;cursor:not-allowed}
.player-tile.disabled:hover{border-color:var(--border);background:#0d1117}
.player-tile .pname{font-weight:600;line-height:1.2;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.player-tile .pname .nat{font-size:10px;color:var(--muted);font-weight:400;letter-spacing:.5px}
.player-tile .pmeta{font-size:11px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.player-tile .pmeta b{color:var(--ink);font-weight:600}
.player-tile .pmeta .sep{color:#3a4250;margin:0 4px}
.player-tile .ycard{color:#f0c84e;font-weight:700}
.player-tile .rcard{color:#f85149;font-weight:700}

.draft-actions{display:flex;gap:8px}

/* Pitch */
.formation{background:var(--pitch);border-radius:8px;padding:14px 8px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;
  background-image:linear-gradient(180deg, rgba(255,255,255,0.04) 0%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.04) 100%)}
.row{display:flex;justify-content:space-evenly;gap:8px}
.slot{flex:0 1 130px;min-height:64px;background:rgba(0,0,0,.30);border:1px dashed rgba(255,255,255,.18);border-radius:6px;
  padding:6px 8px;font-size:12px;display:flex;flex-direction:column;justify-content:center;position:relative}
.slot.filled{border-style:solid;background:rgba(0,0,0,.5)}
.slot .pos{font-size:10px;letter-spacing:1px;color:rgba(255,255,255,.55);text-transform:uppercase}
.slot .nm{font-weight:600;line-height:1.15}
.slot .tm{font-size:11px;color:rgba(255,255,255,.6)}

/* Result panel */
#result{margin:0 32px 24px;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:8px}
#summary{background:var(--panel-2);border-radius:8px;padding:14px;margin-bottom:14px;
  display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
#summary .stat{text-align:center}
#summary .stat .v{font-size:24px;font-weight:700}
#summary .stat .l{font-size:11px;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}
.result-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:1000px){.result-cols{grid-template-columns:1fr}}

table{width:100%;border-collapse:collapse;font-size:13px}
th,td{padding:6px 8px;text-align:right;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}
th:first-child,td:first-child,th.l,td.l{text-align:left;font-variant-numeric:normal}
tr.you{background:rgba(63,185,80,.14)}
tr.you td{font-weight:600}
th{color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.5px;text-transform:uppercase}
.tier-cl{border-left:3px solid var(--accent)}
.tier-el{border-left:3px solid var(--accent-2)}
.tier-rel{border-left:3px solid var(--bad)}

#matchList{max-height:520px;overflow-y:auto;font-size:13px}
.match{display:grid;grid-template-columns:14px 1fr auto 14px;gap:8px;padding:5px 6px;border-bottom:1px solid var(--border);align-items:center}
.match .hint{font-size:10px;color:var(--muted);text-align:center}
.match .res{font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.match.W{color:#7ee787}
.match.D{color:#d2a8ff}
.match.L{color:#ffa198}

#backtest{margin:0 32px 24px;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:8px}
.clickable{cursor:pointer;user-select:none}

footer{padding:16px 32px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}
