.brawl-ranking-snapshot {
  padding: 90px max(20px, 7vw);
  background: #fffaf1;
  color: var(--ink);
}

.brawl-ranking-heading {
  max-width: 900px;
  margin: 0 auto 38px;
  text-align: center;
}

.brawl-ranking-heading h2 {
  margin: 15px 0 12px;
  font: 800 clamp(36px, 4.6vw, 58px)/1.06 Manrope, sans-serif;
  letter-spacing: -3px;
}

.brawl-ranking-heading p {
  max-width: 780px;
  margin: auto;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.brawl-ranking-metrics {
  max-width: 1300px;
  margin: 0 auto 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.brawl-ranking-metric {
  min-height: 76px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
}

.brawl-ranking-metric strong {
  display: block;
  color: var(--ink);
  font: 800 16px/1.25 Manrope, sans-serif;
}

.brawl-ranking-metric span {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .7px;
}

.brawl-ranking-grid {
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}

.brawl-ranking-grid.is-masonry {
  align-items: start;
}

.brawl-ranking-column {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.brawl-ranking-tier {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-top: 4px solid #91d0a3;
  border-radius: 12px;
  background: #fff;
}

.brawl-ranking-tier[data-tier="S+"] { border-top-color: #f6bf4e; }
.brawl-ranking-tier[data-tier="S"] { border-top-color: #ff7d6d; }
.brawl-ranking-tier[data-tier="A"] { border-top-color: #ffbd62; }
.brawl-ranking-tier[data-tier="B"] { border-top-color: #d5bd63; }
.brawl-ranking-tier[data-tier="D"] { border-top-color: #81b9d3; }

.brawl-ranking-tier > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.brawl-ranking-tier > header > div {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.brawl-ranking-badge {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: #fff0ec;
  color: #bb5547;
  font: 800 15px Manrope, sans-serif;
}

.brawl-ranking-tier[data-tier="S+"] .brawl-ranking-badge { background: #fff3d6; color: #a46c00; }
.brawl-ranking-tier[data-tier="S"] .brawl-ranking-badge { background: #ffe4df; color: #b14e42; }
.brawl-ranking-tier[data-tier="A"] .brawl-ranking-badge { background: #fff0dc; color: #a96317; }
.brawl-ranking-tier[data-tier="B"] .brawl-ranking-badge { background: #f4f0d9; color: #74631c; }
.brawl-ranking-tier[data-tier="D"] .brawl-ranking-badge { background: #e6f2f6; color: #3e7893; }

.brawl-ranking-tier h3 {
  margin: 0;
  color: var(--ink);
  font: 800 18px/1.2 Manrope, sans-serif;
}

.brawl-ranking-count {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.3;
  text-align: right;
}

.brawl-ranking-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.brawl-ranking-item {
  display: flex;
  min-width: 0;
  min-height: 62px;
  align-items: center;
  gap: 7px;
  padding: 5px;
  border: 1px solid #eee7df;
  border-radius: 7px;
  background: #fffaf1;
}

.brawl-ranking-item img {
  display: block;
  width: 44px;
  height: 52px;
  flex: 0 0 44px;
  object-fit: contain;
  object-position: center bottom;
}

.brawl-ranking-fighter {
  min-width: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.35;
}

.brawl-ranking-fighter > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.brawl-ranking-fighter strong {
  min-width: 0;
  color: var(--ink);
  font: 800 11px/1.2 Manrope, sans-serif;
  overflow-wrap: anywhere;
}

.brawl-ranking-fighter span,
.brawl-ranking-fighter small {
  display: block;
  overflow-wrap: anywhere;
}

.brawl-ranking-fighter small { margin-top: 2px; }

.brawl-ranking-method {
  max-width: 1300px;
  margin: 16px auto 0;
  padding: 16px 18px;
  border-left: 4px solid #db7f73;
  background: #fff0ec;
}

.brawl-ranking-method strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ink);
  font: 800 14px/1.3 Manrope, sans-serif;
}

.brawl-ranking-method p,
.brawl-ranking-source {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.brawl-ranking-method p { margin: 0; }
.brawl-ranking-source { max-width: 1300px; margin: 12px auto 0; }
.brawl-ranking-source strong { color: var(--ink); }
.brawl-ranking-source a { color: #b64f3e; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.brawl-ranking-source span { display: block; margin-top: 3px; }

@media (max-width: 1100px) {
  .brawl-ranking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .brawl-ranking-snapshot { padding: 70px 18px; }
  .brawl-ranking-heading h2 { letter-spacing: -2px; }
  .brawl-ranking-metrics,
  .brawl-ranking-grid { grid-template-columns: 1fr; }
  .brawl-ranking-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brawl-page .header-button { padding: 10px 12px; font-size: 12px; }
  .brawl-page .language-button { padding: 0 8px; font-size: 14px; }
  .brawl-page .header-actions { gap: 6px; }
}
