.league-list {
  background: var(--bg-1);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  overflow: hidden;
}

.league-list__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--s-3) var(--s-4);
  background: var(--bg-2);
  border-bottom: 1px solid var(--line);
}

.league-list__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--t-sm);
  text-transform: uppercase;
  letter-spacing: var(--tr-wide);
}

.league-list__group { padding: var(--s-2) 0; }

.league-list__group + .league-list__group { border-top: 1px solid var(--line-soft); }

.league-list__group-title {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--s-2) var(--s-4);
  font-size: var(--t-2xs);
  text-transform: uppercase;
  letter-spacing: var(--tr-wider);
  color: var(--ink-3);
  font-weight: 700;
}

.league-list__item {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-2);
  padding: 8px var(--s-4);
  font-size: var(--t-sm);
  color: var(--ink-2);
  cursor: pointer;
  transition: background var(--d-fast) var(--ease-std), color var(--d-fast) var(--ease-std);
  border-left: 2px solid transparent;
}

.league-list__item:hover {
  background: var(--bg-2);
  color: var(--ink-1);
  border-left-color: var(--accent);
}

.league-list__item.is-active {
  color: var(--accent);
  background: var(--accent-soft);
  border-left-color: var(--accent);
  font-weight: 600;
}

.league-list__item__name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.league-list__item__count {
  font-size: var(--t-xs);
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
  background: var(--bg-3);
  padding: 1px 6px;
  border-radius: var(--r-pill);
  min-width: 22px;
  text-align: center;
}
.league-list__item.is-active .league-list__item__count {
  background: var(--accent);
  color: var(--ink-on-accent);
}

.league-list__item__flag {
  width: 16px; height: 12px;
  border-radius: 2px;
  background: var(--bg-3);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 8px;
  font-weight: 700;
  color: var(--ink-3);
}
