:root {
  --bg:#0b1020; --card:#121a33; --muted:#96a1c0; --text:#e9eeff; --accent:#69a2ff; --row:#0f162b;
  --border:rgba(255,255,255,0.08);
}
* { box-sizing: border-box; }
body {
  margin:0; font:14px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text); background:radial-gradient(1200px 600px at 20% -10%, #16224a, transparent), var(--bg);
}
.site-header, .site-footer { max-width:1100px; margin:0 auto; padding:18px; }
.site-header { display:flex; align-items:center; gap:18px; justify-content:space-between; }
h1 { margin:0; font-size:22px; letter-spacing:.3px; }
.controls { display:flex; gap:10px; align-items:flex-end; }
label { display:flex; flex-direction:column; font-size:12px; color:var(--muted); gap:6px; }
select, button {
  background:var(--card); color:var(--text); border:1px solid var(--border); border-radius:10px;
  padding:10px 12px; outline:none;
}
button { cursor:pointer; }
button:hover { border-color:#7fb2ff55; box-shadow:0 0 0 2px #7fb2ff22 inset; }
main { max-width:1100px; margin:0 auto; padding:0 18px 40px; }
.board-meta { background:var(--card); border:1px solid var(--border); border-radius:16px; padding:16px; margin-bottom:16px; }
#boardTitle { margin:0 0 4px 0; font-size:18px; }
.meta-line { display:flex; gap:20px; color:var(--muted); font-size:13px; }
.table-wrap { background:var(--card); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
table.lb { width:100%; border-collapse:collapse; }
.lb thead th { text-align:left; padding:12px 14px; border-bottom:1px solid var(--border); color:var(--muted); font-weight:600; }
.lb tbody td { padding:10px 14px; border-bottom:1px solid var(--border); }
.lb tbody tr:nth-child(odd) { background:var(--row); }
.player {
  display:flex; align-items:center; gap:10px;
}
.player img {
  width:36px; height:36px; border-radius:8px; background:#1b2444; object-fit:cover; border:1px solid var(--border);
}
.player .names { display:flex; flex-direction:column; }
.player .names .top { font-weight:600; }
.player .names .sub { color:var(--muted); font-size:12px; }
.muted { color:var(--muted); text-align:center; padding:22px; }
.rank-badge {
  font-weight:700; padding:6px 10px; border-radius:10px; display:inline-block; background:#1a2550; border:1px solid var(--border);
}
.value { text-align:right; font-variant-numeric: tabular-nums; font-weight:600; }
a { color:var(--accent); text-decoration:none; }
a:hover { text-decoration:underline; }
optgroup[label] { color:var(--muted); font-style:normal; }
