feat(groups): add best third-placed teams ranking table

Ranks the 12 third-placed teams across groups (Pts -> GD -> GF -> id) and marks the top 8 that advance to the R32. Full-width section below the group cards in the Grupos tab, gated on all 12 groups finished (omitted from the DOM otherwise). Reuses .standings-table styling, header tooltips and the favorite-row highlight: gold rows + check for the 8 qualified, muted rows for 9-12, a dashed cut line between. computeThirdPlaceRanking() only ranks for display; the slot->group allocation stays in bracket-config.json. Bumps APP_VERSION to v1.0.3 (also covers the hero knockout-resolution fix).
This commit is contained in:
Lucas Kalil 2026-06-28 13:16:14 -03:00
parent 22a157197b
commit adb8cce441
3 changed files with 162 additions and 1 deletions

View file

@ -785,6 +785,65 @@ button {
}
}
/* best third-placed teams table (shown once all 12 groups finish) */
.third-place {
margin-top: 1rem;
padding: 1rem 1.1rem 1.2rem;
backdrop-filter: none;
-webkit-backdrop-filter: none;
background: rgba(16, 36, 59, 0.55);
}
.third-place-note {
margin: 0 0 0.7rem;
font-size: 0.8rem;
color: var(--text-secondary);
}
.third-place-keys {
margin-bottom: 0.7rem;
}
.legend-dot.out {
background: var(--text-secondary);
opacity: 0.45;
}
.third-place-scroll {
overflow-x: auto;
}
.standings-table .col-group {
font-weight: 600;
color: var(--accent-gold);
}
.third-place-table tr.row-third td:first-child {
box-shadow: inset 3px 0 0 var(--accent-gold);
}
.third-place-table tr.row-out td {
color: var(--text-secondary);
opacity: 0.6;
}
.third-place-table tr.cut {
border-top: 2px dashed rgba(255, 255, 255, 0.22);
}
.third-place-table .col-status {
width: 1.6rem;
}
.third-place-table .qual-yes {
color: var(--accent-gold);
font-weight: 700;
}
.third-place-table .qual-no {
color: var(--text-secondary);
}
/* ------------------------------------------------------ stadiums */
.stadiums-grid {