/* Ranking v2 — dois painéis independentes e alinhados para 1920x1080 */
.ranking-scene {
  padding: 58px 76px 52px;
}

.ranking-scene .scene-header {
  height: 112px;
  align-items: center;
}

.ranking-scene .scene-header h2 {
  font-size: 56px;
  letter-spacing: .018em;
}

.ranking-scene .kicker {
  margin-bottom: 8px;
  font-size: 14px;
}

.ranking-scene .round-badge {
  width: 154px;
  height: 78px;
  padding: 9px 13px;
}

.ranking-scene .round-badge b {
  font-size: 40px;
}

.ranking-columns {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 22px;
}

.ranking-block {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .095);
  background: rgba(6, 5, 7, .32);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .2);
}

.ranking-head {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 68px 68px 84px;
  align-items: center;
  height: 42px;
  padding: 0 12px;
  border-bottom: 1px solid rgba(226, 59, 120, .38);
  background: linear-gradient(90deg, rgba(226, 59, 120, .16), rgba(255, 255, 255, .025));
  color: #c6abb7;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .18em;
}

.ranking-head span:nth-child(n + 3) {
  text-align: center;
}

.ranking-list {
  display: grid;
  grid-template-rows: repeat(6, calc(108px * var(--row-scale)));
}

.ranking-list .rank-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 68px 68px 84px;
  align-items: center;
  width: 100%;
  height: auto;
  padding: 0 12px;
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  border-left: 0;
  background: rgba(255, 255, 255, .025);
  box-shadow: inset 3px 0 rgba(226, 59, 120, .26);
  clip-path: none;
}

.ranking-list .rank-row:nth-child(even) {
  background: rgba(255, 255, 255, .045);
}

.ranking-list .rank-row:last-child {
  border-bottom: 0;
}

.ranking-list .rank-row.top {
  background: linear-gradient(90deg, rgba(226, 59, 120, .30), rgba(226, 59, 120, .07) 72%, rgba(255, 255, 255, .025));
  box-shadow: inset 3px 0 var(--rose), inset 0 0 34px rgba(226, 59, 120, .08);
}

.ranking-list .rank-pos {
  padding-left: 7px;
  color: #806a74;
  font-size: calc(38px * var(--text-scale));
  line-height: 1;
  text-align: left;
}

.ranking-list .top .rank-pos {
  color: #fff;
}

.ranking-list .team-cell {
  min-width: 0;
  gap: 14px;
}

.ranking-list .logo-shell {
  width: calc(62px * var(--logo-scale));
  height: calc(62px * var(--logo-scale));
  max-width: 72px;
  max-height: 72px;
  border-color: rgba(255, 255, 255, .1);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(0, 0, 0, .34));
}

.ranking-list .logo-shell img {
  width: 80%;
  height: 80%;
}

.ranking-list .rank-row[data-team="go"] .logo-shell img {
  filter: brightness(0) invert(1) drop-shadow(0 5px 9px rgba(0, 0, 0, .65));
}

.ranking-list .team-text b {
  font-size: calc(20px * var(--text-scale));
  line-height: 1.05;
  letter-spacing: .015em;
}

.ranking-list .rank-stat {
  display: grid;
  place-items: center;
  height: 48px;
  border-left: 1px solid rgba(255, 255, 255, .07);
  font-size: calc(27px * var(--text-scale));
  line-height: 1;
}

.ranking-list .rank-stat.points {
  background: rgba(226, 59, 120, .055);
  color: #ff4f92;
  font-size: calc(33px * var(--text-scale));
}

.ranking-scene .scene-footer {
  right: 76px;
  bottom: 28px;
  left: 76px;
}
