/* L2Feel Rankings v2.1.34
   Direcao: quadro classico de ranking, sem podium separado e sem dashboard pesado. */

html[data-l2-page="rankings"] {
  --rk-bg:#0b0a08;
  --rk-panel:#12110e;
  --rk-panel-soft:#171510;
  --rk-line:rgba(212,177,109,.24);
  --rk-line-soft:rgba(255,255,255,.065);
  --rk-gold:#d1ad68;
  --rk-gold-hi:#f0d394;
  --rk-text:#eee7dc;
  --rk-muted:#9f9689;
  --rk-muted-2:#746e64;
  --rk-green:#6ac986;
  --rk-silver:#b7bbc0;
  --rk-bronze:#bd8758;
}

html[data-l2-theme="light"][data-l2-page="rankings"] {
  --rk-bg:#eee8de;
  --rk-panel:#faf7f1;
  --rk-panel-soft:#f1ebe2;
  --rk-line:rgba(120,86,41,.30);
  --rk-line-soft:rgba(95,72,42,.12);
  --rk-gold:#865e29;
  --rk-gold-hi:#654316;
  --rk-text:#30261c;
  --rk-muted:#6f6559;
  --rk-muted-2:#908476;
  --rk-green:#28884e;
  --rk-silver:#6d747b;
  --rk-bronze:#8e5f36;
}

/* Pagina */
html[data-l2-page="rankings"] .rank-page-bg { background:var(--rk-bg)!important; }
html[data-l2-page="rankings"] .rank-page-image { opacity:.07!important; filter:saturate(.55) contrast(1.03)!important; }
html[data-l2-page="rankings"] .rank-grid-bg { opacity:.08!important; }
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-page-image { opacity:.045!important; }

html[data-l2-page="rankings"] .rank-shell {
  width:min(1120px,calc(100% - 30px))!important;
  margin:0 auto!important;
  padding:28px 0 54px!important;
}

/* Cabecalho enxuto */
html[data-l2-page="rankings"] .rank-hero {
  margin:0 0 12px!important;
  border:0!important;
  border-top:1px solid var(--rk-line)!important;
  border-bottom:1px solid var(--rk-line)!important;
  border-radius:0!important;
  background:linear-gradient(90deg,rgba(209,173,104,.07),transparent 42%)!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html[data-l2-page="rankings"] .rank-hero::before,
html[data-l2-page="rankings"] .rank-hero::after,
html[data-l2-page="rankings"] .rank-hero-topline { display:none!important; }
html[data-l2-page="rankings"] .rank-hero > .relative { padding:18px 0!important; }
html[data-l2-page="rankings"] .rank-hero > .relative > .flex { align-items:center!important; gap:22px!important; }
html[data-l2-page="rankings"] .rank-hero .max-w-3xl { max-width:560px!important; }
html[data-l2-page="rankings"] .rank-hero .inline-flex.rounded-full {
  margin:0 0 5px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  border-radius:0!important;
  backdrop-filter:none!important;
}
html[data-l2-page="rankings"] .rank-kicker {
  color:var(--rk-gold)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-hero h1 {
  margin:0!important;
  color:var(--rk-text)!important;
  font-size:clamp(1.75rem,3.4vw,2.75rem)!important;
  line-height:1.05!important;
  letter-spacing:.09em!important;
}
html[data-l2-page="rankings"] .rank-hero p {
  margin-top:7px!important;
  color:var(--rk-muted)!important;
  font-size:12px!important;
  line-height:1.55!important;
}

/* Estatisticas viram uma linha de metadados, nao cards */
html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
  width:auto!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(88px,1fr))!important;
  gap:0!important;
  border:0!important;
  background:transparent!important;
}
html[data-l2-page="rankings"] .rank-hero-stat {
  min-width:0!important;
  padding:5px 14px!important;
  border:0!important;
  border-left:1px solid var(--rk-line-soft)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html[data-l2-page="rankings"] .rank-hero-stat > div:first-child {
  color:var(--rk-muted-2)!important;
  font-size:7.5px!important;
  letter-spacing:.13em!important;
}
html[data-l2-page="rankings"] .rank-hero-stat .font-tech,
html[data-l2-page="rankings"] .rank-hero-stat .font-fantasy {
  margin-top:3px!important;
  color:var(--rk-text)!important;
  font-size:13px!important;
  line-height:1.2!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
html[data-l2-page="rankings"] .rank-hero-stat:nth-child(2) .font-fantasy,
html[data-l2-page="rankings"] .rank-hero-stat:nth-child(3) .font-tech { color:var(--rk-gold-hi)!important; }

/* Navegacao dos rankings: todas as opcoes visiveis, sem scroll horizontal */
html[data-l2-page="rankings"] .rank-switcher {
  margin:0 0 14px!important;
  border:1px solid var(--rk-line)!important;
  border-radius:0!important;
  background:var(--rk-panel)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
html[data-l2-page="rankings"] .rank-switcher-head {
  min-height:38px!important;
  padding:8px 11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-bottom:1px solid var(--rk-line-soft)!important;
  background:var(--rk-panel-soft)!important;
}
html[data-l2-page="rankings"] .rank-switcher-kicker {
  color:var(--rk-muted-2)!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-switcher-current {
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  color:var(--rk-gold-hi)!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
html[data-l2-page="rankings"] .rank-switcher-current i { color:var(--rk-gold)!important; font-size:9px!important; }
html[data-l2-page="rankings"] .rank-switcher-grid {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
}
html[data-l2-page="rankings"] .rank-switcher-item {
  min-width:0!important;
  min-height:44px!important;
  padding:8px 10px!important;
  display:grid!important;
  grid-template-columns:25px minmax(0,1fr) 16px!important;
  align-items:center!important;
  gap:7px!important;
  border:0!important;
  border-right:1px solid var(--rk-line-soft)!important;
  border-bottom:1px solid var(--rk-line-soft)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--rk-muted)!important;
  text-decoration:none!important;
  transition:background .15s ease,color .15s ease,border-color .15s ease!important;
}
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(4n) { border-right:0!important; }
html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+4) { border-bottom:0!important; }
html[data-l2-page="rankings"] .rank-switcher-item:hover {
  color:var(--rk-text)!important;
  background:rgba(209,173,104,.055)!important;
}
html[data-l2-page="rankings"] .rank-switcher-item.is-active {
  color:var(--rk-gold-hi)!important;
  background:rgba(209,173,104,.10)!important;
  box-shadow:inset 2px 0 0 var(--rk-gold)!important;
}
html[data-l2-page="rankings"] .rank-switcher-icon {
  width:25px!important;
  height:25px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid var(--rk-line-soft)!important;
  background:rgba(255,255,255,.018)!important;
  color:var(--rk-muted-2)!important;
  font-size:10px!important;
}
html[data-l2-page="rankings"] .rank-switcher-item:hover .rank-switcher-icon,
html[data-l2-page="rankings"] .rank-switcher-item.is-active .rank-switcher-icon {
  border-color:var(--rk-line)!important;
  color:var(--rk-gold)!important;
}
html[data-l2-page="rankings"] .rank-switcher-label {
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-switcher-mark {
  display:grid!important;
  place-items:center!important;
  color:var(--rk-gold)!important;
  font-size:8px!important;
}

/* Conteudo */
html[data-l2-page="rankings"] .rank-content { margin:0!important; }
html[data-l2-page="rankings"] .rank-table-card,
html[data-l2-page="rankings"] .rank-empty {
  border:1px solid var(--rk-line)!important;
  border-radius:0!important;
  background:var(--rk-panel)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  overflow:hidden!important;
}
html[data-l2-page="rankings"] .rank-table-card::before,
html[data-l2-page="rankings"] .rank-table-card::after { display:none!important; }

html[data-l2-page="rankings"] .rank-table-head {
  min-height:62px!important;
  padding:13px 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-bottom:1px solid var(--rk-line)!important;
  background:linear-gradient(90deg,rgba(209,173,104,.06),transparent 45%)!important;
}
html[data-l2-page="rankings"] .rank-table-head h2 {
  margin:2px 0 0!important;
  color:var(--rk-text)!important;
  font-size:19px!important;
  line-height:1.1!important;
  letter-spacing:.07em!important;
}
html[data-l2-page="rankings"] .rank-table-count {
  color:var(--rk-muted)!important;
  font-size:9px!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

/* Quadro de classificacao */
html[data-l2-page="rankings"] .rank-board-scroll { overflow-x:auto!important; }
html[data-l2-page="rankings"] .rank-board-table { min-width:700px!important; border-collapse:collapse!important; }
html[data-l2-page="rankings"] .rank-board-table thead { background:rgba(255,255,255,.018)!important; }
html[data-l2-page="rankings"] .rank-board-table thead th {
  height:36px!important;
  padding:0 12px!important;
  color:var(--rk-muted-2)!important;
  border-bottom:1px solid var(--rk-line-soft)!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-board-table thead th:first-child { width:64px!important; text-align:center!important; }
html[data-l2-page="rankings"] .rank-board-table thead th:last-child { width:150px!important; }

html[data-l2-page="rankings"] .rank-board-row {
  height:66px!important;
  border-bottom:1px solid var(--rk-line-soft)!important;
  background:transparent!important;
  transition:background .15s ease,border-color .15s ease!important;
}
html[data-l2-page="rankings"] .rank-board-row:last-child { border-bottom:0!important; }
html[data-l2-page="rankings"] .rank-board-row:hover { background:rgba(209,173,104,.045)!important; }
html[data-l2-page="rankings"] .rank-board-row td { padding:9px 12px!important; color:var(--rk-muted)!important; }
html[data-l2-page="rankings"] .rank-board-position { width:64px!important; text-align:center!important; }

/* Top 3 dentro da lista */
html[data-l2-page="rankings"] .rank-row-top { background:linear-gradient(90deg,rgba(209,173,104,.055),transparent 40%)!important; }
html[data-l2-page="rankings"] .rank-row-top-1 { background:linear-gradient(90deg,rgba(209,173,104,.12),transparent 48%)!important; }
html[data-l2-page="rankings"] .rank-row-top-2 { background:linear-gradient(90deg,rgba(183,187,192,.065),transparent 42%)!important; }
html[data-l2-page="rankings"] .rank-row-top-3 { background:linear-gradient(90deg,rgba(189,135,88,.065),transparent 42%)!important; }

html[data-l2-page="rankings"] .rank-position-badge {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  height:26px!important;
  padding:0 6px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--rk-muted-2)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:13px!important;
  font-weight:700!important;
}
html[data-l2-page="rankings"] .rank-position-badge.top1 { color:var(--rk-gold-hi)!important; border-bottom:2px solid var(--rk-gold)!important; }
html[data-l2-page="rankings"] .rank-position-badge.top2 { color:var(--rk-silver)!important; border-bottom:2px solid var(--rk-silver)!important; }
html[data-l2-page="rankings"] .rank-position-badge.top3 { color:var(--rk-bronze)!important; border-bottom:2px solid var(--rk-bronze)!important; }

html[data-l2-page="rankings"] .rank-board-profile { display:flex!important; align-items:center!important; gap:11px!important; min-width:0!important; }
html[data-l2-page="rankings"] .rank-row-avatar {
  width:38px!important; height:38px!important; flex:0 0 38px!important;
  overflow:hidden!important; border:1px solid var(--rk-line-soft)!important; border-radius:0!important; background:#090806!important;
}
html[data-l2-page="rankings"] .rank-row-avatar > * { width:100%!important; height:100%!important; }
html[data-l2-page="rankings"] .rank-board-name {
  overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important;
  color:var(--rk-text)!important; font-family:Georgia,"Times New Roman",serif!important; font-size:15px!important; font-weight:700!important; letter-spacing:.025em!important;
}
html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-name { color:var(--rk-gold-hi)!important; }
html[data-l2-page="rankings"] .rank-board-subinfo {
  display:flex!important; flex-wrap:wrap!important; align-items:center!important; gap:6px!important; margin-top:3px!important;
  color:var(--rk-muted-2)!important; font-size:8.5px!important; font-weight:700!important; letter-spacing:.055em!important; text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-board-subinfo i { color:var(--rk-gold)!important; }
html[data-l2-page="rankings"] .rank-board-extra { color:var(--rk-muted)!important; font-size:11px!important; }
html[data-l2-page="rankings"] .rank-board-score { width:150px!important; text-align:right!important; }
html[data-l2-page="rankings"] .rank-board-score strong {
  display:block!important; color:var(--rk-gold-hi)!important; font-family:monospace!important; font-size:16px!important; font-weight:700!important; line-height:1.05!important;
}
html[data-l2-page="rankings"] .rank-board-score span {
  display:block!important; margin-top:3px!important; color:var(--rk-muted-2)!important; font-size:7px!important; font-weight:800!important; letter-spacing:.12em!important; text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong { font-size:18px!important; }

/* Status */
html[data-l2-page="rankings"] .rank-status-dot { color:var(--rk-muted)!important; font-size:9px!important; letter-spacing:.055em!important; text-transform:uppercase!important; }
html[data-l2-page="rankings"] .rank-dot { width:6px!important; height:6px!important; }
html[data-l2-page="rankings"] .rank-dot-on { background:var(--rk-green)!important; box-shadow:0 0 8px rgba(106,201,134,.25)!important; }

/* Joias */
html[data-l2-page="rankings"] .jewel-strip { justify-content:flex-start!important; }
html[data-l2-page="rankings"] .jewel-token { border-radius:0!important; }
html[data-l2-page="rankings"] .jewel-token-frame { border-radius:0!important; border-color:var(--rk-line-soft)!important; background:rgba(0,0,0,.2)!important; }
html[data-l2-page="rankings"] .jewel-token.missing-jewel { opacity:.28!important; }
html[data-l2-page="rankings"] .rank-row-jewels-mobile { margin-top:7px!important; }

/* Olympiad */
html[data-l2-page="rankings"] .rank-oly-content { display:grid!important; gap:14px!important; }
html[data-l2-page="rankings"] .rank-oly-classes-card { padding:0!important; }
html[data-l2-page="rankings"] .rank-oly-class-grid {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; border-top:0!important;
}
html[data-l2-page="rankings"] .oly-class-card {
  border:0!important; border-right:1px solid var(--rk-line-soft)!important; border-bottom:1px solid var(--rk-line-soft)!important;
  border-radius:0!important; background:transparent!important; box-shadow:none!important;
}
html[data-l2-page="rankings"] .oly-class-card:nth-child(3n) { border-right:0!important; }
html[data-l2-page="rankings"] .oly-class-head {
  min-height:42px!important; padding:9px 12px!important; border-bottom:1px solid var(--rk-line-soft)!important; background:rgba(255,255,255,.018)!important;
}
html[data-l2-page="rankings"] .oly-class-head h3 { color:var(--rk-text)!important; font-size:12px!important; letter-spacing:.035em!important; }
html[data-l2-page="rankings"] .oly-class-head span { color:var(--rk-gold)!important; font-size:10px!important; }
html[data-l2-page="rankings"] .oly-class-list { display:block!important; }
html[data-l2-page="rankings"] .oly-class-row {
  display:grid!important; grid-template-columns:38px minmax(0,1fr) auto!important; align-items:center!important; gap:7px!important;
  min-height:39px!important; padding:5px 10px!important; border-bottom:1px solid var(--rk-line-soft)!important;
}
html[data-l2-page="rankings"] .oly-class-row:last-child { border-bottom:0!important; }
html[data-l2-page="rankings"] .oly-class-name { overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important; color:var(--rk-muted)!important; font-size:11px!important; }
html[data-l2-page="rankings"] .oly-class-row b { color:var(--rk-gold-hi)!important; font-size:11px!important; }
html[data-l2-page="rankings"] .rank-position-mini { min-width:30px!important; height:22px!important; font-size:10px!important; }

/* Castelos: menos cards, mais quadro */
html[data-l2-page="rankings"] .castle-board { padding:0!important; }
html[data-l2-page="rankings"] .castle-board-head { margin:0!important; padding:14px 16px!important; border-bottom:1px solid var(--rk-line)!important; }
html[data-l2-page="rankings"] .castle-board-head h2 { color:var(--rk-text)!important; font-size:21px!important; }
html[data-l2-page="rankings"] .castle-board-head p { color:var(--rk-muted)!important; font-size:11px!important; }
html[data-l2-page="rankings"] .castle-grid { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:0!important; }
html[data-l2-page="rankings"] .castle-card-v2 {
  border:0!important; border-right:1px solid var(--rk-line-soft)!important; border-bottom:1px solid var(--rk-line-soft)!important;
  border-radius:0!important; background:transparent!important; box-shadow:none!important; transform:none!important;
}
html[data-l2-page="rankings"] .castle-card-v2:nth-child(3n) { border-right:0!important; }
html[data-l2-page="rankings"] .castle-media { height:120px!important; }
html[data-l2-page="rankings"] .castle-card-body { padding:13px!important; }
html[data-l2-page="rankings"] .castle-card-v2 h3 { color:var(--rk-text)!important; font-size:18px!important; }
html[data-l2-page="rankings"] .castle-owner-box,
html[data-l2-page="rankings"] .castle-info-grid { border-radius:0!important; background:rgba(255,255,255,.018)!important; border-color:var(--rk-line-soft)!important; }

/* Rodape de atualizacao */
html[data-l2-page="rankings"] .rank-shell > .mt-8.flex {
  margin-top:12px!important; padding:9px 0!important; border:0!important; border-top:1px solid var(--rk-line-soft)!important;
  border-radius:0!important; background:transparent!important; color:var(--rk-muted-2)!important; font-size:8px!important; letter-spacing:.09em!important;
}
html[data-l2-page="rankings"] #update-badge { border-radius:0!important; border-color:var(--rk-line)!important; background:var(--rk-panel)!important; color:var(--rk-gold)!important; }

/* Empty */
html[data-l2-page="rankings"] .rank-empty { padding:52px 20px!important; text-align:center!important; }
html[data-l2-page="rankings"] .rank-empty-icon { color:var(--rk-gold)!important; }
html[data-l2-page="rankings"] .rank-empty h2 { color:var(--rk-text)!important; margin-top:10px!important; }
html[data-l2-page="rankings"] .rank-empty p { color:var(--rk-muted)!important; margin-top:6px!important; }

/* Tema claro: neutraliza regras antigas muito escuras */
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-table-card,
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-empty,
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-row-avatar { box-shadow:none!important; }
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-row-avatar { background:#e8e0d4!important; }
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-board-table thead,
html[data-l2-theme="light"][data-l2-page="rankings"] .oly-class-head { background:rgba(117,85,43,.035)!important; }
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-row-top-1 { background:linear-gradient(90deg,rgba(161,112,47,.10),transparent 50%)!important; }

/* Mobile: lista real, sem scroll horizontal */
@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-shell { width:calc(100% - 18px)!important; padding-top:15px!important; }
  html[data-l2-page="rankings"] .rank-hero > .relative { padding:13px 0!important; }
  html[data-l2-page="rankings"] .rank-hero > .relative > .flex { display:block!important; }
  html[data-l2-page="rankings"] .rank-hero h1 { font-size:1.8rem!important; letter-spacing:.07em!important; }
  html[data-l2-page="rankings"] .rank-hero p { font-size:11px!important; margin-top:5px!important; }
  html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
    margin-top:12px!important; width:100%!important; grid-template-columns:repeat(2,1fr)!important; border-top:1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat { padding:8px 8px!important; border-left:0!important; border-right:1px solid var(--rk-line-soft)!important; border-bottom:1px solid var(--rk-line-soft)!important; }
  html[data-l2-page="rankings"] .rank-hero-stat:nth-child(2n) { border-right:0!important; }
  html[data-l2-page="rankings"] .rank-hero-stat:nth-child(n+3) { border-bottom:0!important; }

  html[data-l2-page="rankings"] .rank-switcher { margin-bottom:10px!important; }
  html[data-l2-page="rankings"] .rank-switcher-head { min-height:36px!important; padding:7px 9px!important; }
  html[data-l2-page="rankings"] .rank-switcher-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html[data-l2-page="rankings"] .rank-switcher-item { min-height:43px!important; padding:7px 9px!important; }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(4n) { border-right:1px solid var(--rk-line-soft)!important; }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+4) { border-bottom:1px solid var(--rk-line-soft)!important; }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(2n) { border-right:0!important; }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+2) { border-bottom:0!important; }
  html[data-l2-page="rankings"] .rank-switcher-label { font-size:8.5px!important; }

  html[data-l2-page="rankings"] .rank-table-head { min-height:54px!important; padding:10px 12px!important; }
  html[data-l2-page="rankings"] .rank-table-head h2 { font-size:17px!important; }

  html[data-l2-page="rankings"] .rank-board-scroll { overflow:visible!important; }
  html[data-l2-page="rankings"] .rank-board-table { min-width:0!important; width:100%!important; display:block!important; }
  html[data-l2-page="rankings"] .rank-board-table thead { display:none!important; }
  html[data-l2-page="rankings"] .rank-board-table tbody { display:block!important; }
  html[data-l2-page="rankings"] .rank-board-row {
    min-height:64px!important; height:auto!important; display:grid!important; grid-template-columns:44px minmax(0,1fr) auto!important; align-items:center!important;
  }
  html[data-l2-page="rankings"] .rank-board-row td { display:block!important; padding:9px 7px!important; }
  html[data-l2-page="rankings"] .rank-board-position { width:auto!important; padding-left:8px!important; padding-right:2px!important; }
  html[data-l2-page="rankings"] .rank-position-badge { min-width:29px!important; height:24px!important; padding:0 3px!important; font-size:11px!important; }
  html[data-l2-page="rankings"] .rank-row-avatar { width:34px!important; height:34px!important; flex-basis:34px!important; }
  html[data-l2-page="rankings"] .rank-board-profile { gap:8px!important; }
  html[data-l2-page="rankings"] .rank-board-name { font-size:13.5px!important; }
  html[data-l2-page="rankings"] .rank-board-subinfo { margin-top:2px!important; gap:4px!important; font-size:7.5px!important; letter-spacing:.025em!important; }
  html[data-l2-page="rankings"] .rank-board-extra { display:none!important; }
  html[data-l2-page="rankings"] .rank-board-score { width:auto!important; min-width:82px!important; padding-right:10px!important; }
  html[data-l2-page="rankings"] .rank-board-score strong { font-size:14px!important; }
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong { font-size:15px!important; }
  html[data-l2-page="rankings"] .rank-board-score span { font-size:6px!important; }

  html[data-l2-page="rankings"] .rank-oly-class-grid { grid-template-columns:1fr!important; }
  html[data-l2-page="rankings"] .oly-class-card { border-right:0!important; }
  html[data-l2-page="rankings"] .castle-grid { grid-template-columns:1fr!important; }
  html[data-l2-page="rankings"] .castle-card-v2 { border-right:0!important; }
  html[data-l2-page="rankings"] .castle-media { height:150px!important; }

  html[data-l2-page="rankings"] .rank-shell > .mt-8.flex { align-items:flex-start!important; gap:3px!important; font-size:7px!important; }
}

@media (max-width:390px) {
  html[data-l2-page="rankings"] .rank-board-row { grid-template-columns:38px minmax(0,1fr) auto!important; }
  html[data-l2-page="rankings"] .rank-row-avatar { display:none!important; }
  html[data-l2-page="rankings"] .rank-board-score { min-width:72px!important; }
}

/* v2.1.34 — podium compacto e elegante */
html[data-l2-page="rankings"] .rank-podium-section {
  margin:0 0 12px!important;
  border:1px solid var(--rk-line)!important;
  background:var(--rk-panel)!important;
  overflow:visible!important;
}
html[data-l2-page="rankings"] .rank-podium-section-head {
  min-height:52px!important;
  padding:10px 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-bottom:1px solid var(--rk-line-soft)!important;
  background:linear-gradient(90deg,rgba(209,173,104,.055),transparent 48%)!important;
}
html[data-l2-page="rankings"] .rank-podium-section-head h2 {
  margin:1px 0 0!important;
  color:var(--rk-text)!important;
  font-size:18px!important;
  line-height:1.1!important;
  letter-spacing:.055em!important;
}
html[data-l2-page="rankings"] .rank-clan-criteria-note {
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:var(--rk-muted-2)!important;
  font-size:8px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-clan-criteria-note > span { color:var(--rk-muted)!important; }
html[data-l2-page="rankings"] .rank-clan-criteria-note b { color:var(--rk-gold)!important; font-weight:800!important; }
html[data-l2-page="rankings"] .rank-clan-criteria-note i { color:var(--rk-muted-2)!important; font-style:normal!important; }

html[data-l2-page="rankings"] .rank-podium-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:end!important;
  gap:0!important;
  padding:12px 12px 0!important;
}
html[data-l2-page="rankings"] .rank-podium-entry {
  position:relative!important;
  min-width:0!important;
  min-height:142px!important;
  padding:13px 14px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  border:1px solid var(--rk-line-soft)!important;
  border-bottom:0!important;
  background:rgba(255,255,255,.014)!important;
  box-shadow:none!important;
}
html[data-l2-page="rankings"] .rank-podium-entry + .rank-podium-entry { border-left:0!important; }
html[data-l2-page="rankings"] .rank-podium-1 {
  min-height:153px!important;
  margin-top:-7px!important;
  border-color:rgba(209,173,104,.34)!important;
  background:linear-gradient(180deg,rgba(209,173,104,.085),rgba(209,173,104,.018))!important;
  box-shadow:0 -1px 0 rgba(240,211,148,.32)!important;
  z-index:2!important;
}
html[data-l2-page="rankings"] .rank-podium-2 { z-index:1!important; }
html[data-l2-page="rankings"] .rank-podium-3 { z-index:1!important; }

html[data-l2-page="rankings"] .rank-podium-place {
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:19px!important;
  color:var(--rk-muted-2)!important;
  font-size:7px!important;
  font-weight:800!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-podium-place strong {
  color:var(--rk-text)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
  letter-spacing:.02em!important;
}
html[data-l2-page="rankings"] .rank-podium-place i { color:var(--rk-gold)!important; font-size:10px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-place strong { color:var(--rk-gold-hi)!important; font-size:16px!important; }
html[data-l2-page="rankings"] .rank-podium-2 .rank-podium-place strong { color:var(--rk-silver)!important; }
html[data-l2-page="rankings"] .rank-podium-3 .rank-podium-place strong { color:var(--rk-bronze)!important; }

html[data-l2-page="rankings"] .rank-podium-identity {
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0!important;
  margin:9px 0 10px!important;
}
html[data-l2-page="rankings"] .rank-podium-avatar {
  width:42px!important;
  height:42px!important;
  flex:0 0 42px!important;
  overflow:hidden!important;
  border:1px solid var(--rk-line)!important;
  background:#090806!important;
}
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar { width:48px!important; height:48px!important; flex-basis:48px!important; }
html[data-l2-page="rankings"] .rank-podium-avatar > * { width:100%!important; height:100%!important; }
html[data-l2-page="rankings"] .rank-podium-person { min-width:0!important; }
html[data-l2-page="rankings"] .rank-podium-person h3 {
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--rk-text)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:14px!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
}
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 { color:var(--rk-gold-hi)!important; font-size:15.5px!important; }
html[data-l2-page="rankings"] .rank-podium-subinfo {
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:4px!important;
  overflow:hidden!important;
  color:var(--rk-muted-2)!important;
  font-size:7.5px!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
  line-height:1.35!important;
}
html[data-l2-page="rankings"] .rank-podium-subinfo i { color:var(--rk-gold)!important; }

html[data-l2-page="rankings"] .rank-podium-score {
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:9px!important;
  padding-top:9px!important;
  border-top:1px solid var(--rk-line-soft)!important;
}
html[data-l2-page="rankings"] .rank-podium-score span {
  color:var(--rk-muted-2)!important;
  font-size:7px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-podium-score strong {
  color:var(--rk-gold-hi)!important;
  font-family:monospace!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1!important;
}
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong { font-size:20px!important; }

html[data-l2-page="rankings"] .rank-podium-clan-criteria {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-top:1px solid var(--rk-line-soft)!important;
}
html[data-l2-page="rankings"] .rank-podium-clan-criteria > div {
  min-width:0!important;
  padding:8px 6px 1px!important;
  text-align:center!important;
  border-right:1px solid var(--rk-line-soft)!important;
}
html[data-l2-page="rankings"] .rank-podium-clan-criteria > div:last-child { border-right:0!important; }
html[data-l2-page="rankings"] .rank-podium-clan-criteria span {
  display:block!important;
  color:var(--rk-muted-2)!important;
  font-size:6.5px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
html[data-l2-page="rankings"] .rank-podium-clan-criteria strong {
  display:block!important;
  margin-top:3px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:var(--rk-gold-hi)!important;
  font-family:monospace!important;
  font-size:13px!important;
  font-weight:700!important;
}
html[data-l2-page="rankings"] .rank-podium-jewels { margin-top:auto!important; padding-top:8px!important; border-top:1px solid var(--rk-line-soft)!important; }

html[data-l2-page="rankings"] .rank-clan-heroes strong,
html[data-l2-page="rankings"] .rank-clan-pvp strong {
  color:var(--rk-text)!important;
  font-family:monospace!important;
  font-size:12px!important;
  font-weight:700!important;
}

html[data-l2-theme="light"][data-l2-page="rankings"] .rank-podium-entry { background:rgba(255,255,255,.34)!important; }
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-podium-1 {
  background:linear-gradient(180deg,rgba(152,107,45,.095),rgba(152,107,45,.022))!important;
  border-color:rgba(134,94,41,.35)!important;
}
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-podium-avatar { background:#e8e0d4!important; }

@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-podium-section-head { min-height:48px!important; padding:9px 10px!important; }
  html[data-l2-page="rankings"] .rank-podium-section-head h2 { font-size:16px!important; }
  html[data-l2-page="rankings"] .rank-clan-criteria-note { gap:5px!important; font-size:6.5px!important; letter-spacing:.04em!important; }
  html[data-l2-page="rankings"] .rank-clan-criteria-note > span { display:none!important; }
  html[data-l2-page="rankings"] .rank-podium-grid {
    grid-template-columns:1fr!important;
    padding:0!important;
  }
  html[data-l2-page="rankings"] .rank-podium-entry {
    min-height:0!important;
    margin:0!important;
    padding:10px 11px!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) auto!important;
    grid-template-areas:"place identity score"!important;
    align-items:center!important;
    gap:8px!important;
    border:0!important;
    border-bottom:1px solid var(--rk-line-soft)!important;
    background:transparent!important;
  }
  html[data-l2-page="rankings"] .rank-podium-entry:last-child { border-bottom:0!important; }
  html[data-l2-page="rankings"] .rank-podium-1 { order:1!important; background:rgba(209,173,104,.065)!important; box-shadow:inset 2px 0 0 var(--rk-gold)!important; }
  html[data-l2-page="rankings"] .rank-podium-2 { order:2!important; }
  html[data-l2-page="rankings"] .rank-podium-3 { order:3!important; }
  html[data-l2-page="rankings"] .rank-podium-place { grid-area:place!important; display:block!important; text-align:center!important; }
  html[data-l2-page="rankings"] .rank-podium-place span { display:none!important; }
  html[data-l2-page="rankings"] .rank-podium-place i { display:block!important; margin-bottom:2px!important; }
  html[data-l2-page="rankings"] .rank-podium-identity { grid-area:identity!important; margin:0!important; gap:8px!important; }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar { width:36px!important; height:36px!important; flex-basis:36px!important; }
  html[data-l2-page="rankings"] .rank-podium-person h3,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 { font-size:13px!important; }
  html[data-l2-page="rankings"] .rank-podium-subinfo { font-size:6.8px!important; margin-top:2px!important; }
  html[data-l2-page="rankings"] .rank-podium-score { grid-area:score!important; display:block!important; padding:0!important; border:0!important; text-align:right!important; }
  html[data-l2-page="rankings"] .rank-podium-score span { font-size:5.8px!important; }
  html[data-l2-page="rankings"] .rank-podium-score strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong { display:block!important; margin-top:2px!important; font-size:14px!important; }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria {
    grid-column:1 / -1!important;
    grid-row:2!important;
    margin-top:3px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria > div { padding:6px 4px 0!important; }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria strong { font-size:11px!important; }
  html[data-l2-page="rankings"] .rank-podium-jewels { grid-column:1 / -1!important; grid-row:2!important; margin-top:2px!important; padding-top:6px!important; }
}

/* v2.1.35 - podium maior + navegacao mais compacta */
html[data-l2-page="rankings"] .rank-switcher-head {
  min-height:30px!important;
  padding:5px 9px!important;
}
html[data-l2-page="rankings"] .rank-switcher-kicker { font-size:7.5px!important; }
html[data-l2-page="rankings"] .rank-switcher-current { font-size:8px!important; }
html[data-l2-page="rankings"] .rank-switcher-grid {
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
}
html[data-l2-page="rankings"] .rank-switcher-item {
  min-height:36px!important;
  padding:5px 7px!important;
  grid-template-columns:20px minmax(0,1fr) 12px!important;
  gap:5px!important;
}
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(4n) { border-right:1px solid var(--rk-line-soft)!important; }
html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+4) { border-bottom:0!important; }
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(8n) { border-right:0!important; }
html[data-l2-page="rankings"] .rank-switcher-icon {
  width:20px!important;
  height:20px!important;
  font-size:8.5px!important;
}
html[data-l2-page="rankings"] .rank-switcher-label {
  font-size:8px!important;
  letter-spacing:.045em!important;
}
html[data-l2-page="rankings"] .rank-switcher-mark { font-size:7px!important; }

html[data-l2-page="rankings"] .rank-podium-grid {
  padding:16px 14px 0!important;
}
html[data-l2-page="rankings"] .rank-podium-entry {
  min-height:166px!important;
  padding:16px 17px 14px!important;
}
html[data-l2-page="rankings"] .rank-podium-1 {
  min-height:181px!important;
  margin-top:-9px!important;
}
html[data-l2-page="rankings"] .rank-podium-place {
  min-height:22px!important;
  font-size:8px!important;
}
html[data-l2-page="rankings"] .rank-podium-place strong { font-size:16px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-place strong { font-size:18px!important; }
html[data-l2-page="rankings"] .rank-podium-place i { font-size:11px!important; }
html[data-l2-page="rankings"] .rank-podium-identity {
  gap:12px!important;
  margin:11px 0 12px!important;
}
html[data-l2-page="rankings"] .rank-podium-avatar {
  width:50px!important;
  height:50px!important;
  flex-basis:50px!important;
}
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
  width:58px!important;
  height:58px!important;
  flex-basis:58px!important;
}
html[data-l2-page="rankings"] .rank-podium-person h3 { font-size:16px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 { font-size:18px!important; }
html[data-l2-page="rankings"] .rank-podium-subinfo {
  margin-top:5px!important;
  font-size:8.5px!important;
  line-height:1.4!important;
}
html[data-l2-page="rankings"] .rank-podium-score { padding-top:11px!important; }
html[data-l2-page="rankings"] .rank-podium-score span { font-size:8px!important; }
html[data-l2-page="rankings"] .rank-podium-score strong { font-size:20px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong { font-size:24px!important; }
html[data-l2-page="rankings"] .rank-podium-clan-criteria > div { padding:9px 7px 2px!important; }
html[data-l2-page="rankings"] .rank-podium-clan-criteria span { font-size:7.5px!important; }
html[data-l2-page="rankings"] .rank-podium-clan-criteria strong { font-size:15px!important; }

@media (max-width:980px) and (min-width:761px) {
  html[data-l2-page="rankings"] .rank-switcher-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(4n) { border-right:0!important; }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(-n+4) { border-bottom:1px solid var(--rk-line-soft)!important; }
}

@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-switcher-head { min-height:30px!important; padding:5px 8px!important; }
  html[data-l2-page="rankings"] .rank-switcher-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  html[data-l2-page="rankings"] .rank-switcher-item {
    min-height:34px!important;
    padding:5px 7px!important;
    grid-template-columns:18px minmax(0,1fr) 10px!important;
    gap:4px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-icon { width:18px!important; height:18px!important; font-size:8px!important; }
  html[data-l2-page="rankings"] .rank-switcher-label { font-size:8px!important; }

  html[data-l2-page="rankings"] .rank-podium-entry {
    padding:12px 12px!important;
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:10px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-person h3,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 { font-size:15px!important; }
  html[data-l2-page="rankings"] .rank-podium-subinfo { font-size:7.8px!important; }
  html[data-l2-page="rankings"] .rank-podium-score span { font-size:6.6px!important; }
  html[data-l2-page="rankings"] .rank-podium-score strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong { font-size:16.5px!important; }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria span { font-size:7px!important; }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria strong { font-size:13px!important; }
}

/* v2.1.36 - avatar do podium levemente maior */
html[data-l2-page="rankings"] .rank-podium-avatar {
  width:56px!important;
  height:56px!important;
  flex-basis:56px!important;
}
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
  width:66px!important;
  height:66px!important;
  flex-basis:66px!important;
}
@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
  }
}

/* v2.1.37 - podium com avatar e tipografia mais confortaveis */
html[data-l2-page="rankings"] .rank-podium-avatar {
  width:64px!important;
  height:64px!important;
  flex-basis:64px!important;
}
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
  width:76px!important;
  height:76px!important;
  flex-basis:76px!important;
}
html[data-l2-page="rankings"] .rank-podium-place { font-size:9.5px!important; }
html[data-l2-page="rankings"] .rank-podium-place strong { font-size:18px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-place strong { font-size:20px!important; }
html[data-l2-page="rankings"] .rank-podium-place i { font-size:12px!important; }
html[data-l2-page="rankings"] .rank-podium-person h3 { font-size:18px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 { font-size:20px!important; }
html[data-l2-page="rankings"] .rank-podium-subinfo {
  font-size:10px!important;
  line-height:1.45!important;
}
html[data-l2-page="rankings"] .rank-podium-score span { font-size:9px!important; }
html[data-l2-page="rankings"] .rank-podium-score strong { font-size:22px!important; }
html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong { font-size:27px!important; }
html[data-l2-page="rankings"] .rank-podium-clan-criteria span { font-size:9px!important; }
html[data-l2-page="rankings"] .rank-podium-clan-criteria strong { font-size:17px!important; }
html[data-l2-page="rankings"] .rank-clan-criteria-note { font-size:9px!important; }

@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-podium-entry {
    grid-template-columns:48px minmax(0,1fr) auto!important;
    gap:11px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width:52px!important;
    height:52px!important;
    flex-basis:52px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-person h3,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 { font-size:16.5px!important; }
  html[data-l2-page="rankings"] .rank-podium-subinfo { font-size:9px!important; }
  html[data-l2-page="rankings"] .rank-podium-score span { font-size:8px!important; }
  html[data-l2-page="rankings"] .rank-podium-score strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong { font-size:18.5px!important; }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria span { font-size:8px!important; }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria strong { font-size:14.5px!important; }
  html[data-l2-page="rankings"] .rank-clan-criteria-note { font-size:7.5px!important; }
}

/* v2.1.38 — cabecalho oficial mais compacto + rodape de atualizacao com respiro */
html[data-l2-page="rankings"] .rank-hero {
  margin-bottom:10px!important;
}
html[data-l2-page="rankings"] .rank-hero > .relative {
  padding:13px 0!important;
}
html[data-l2-page="rankings"] .rank-hero > .relative > .flex {
  gap:16px!important;
}
html[data-l2-page="rankings"] .rank-hero .inline-flex.rounded-full {
  margin-bottom:3px!important;
}
html[data-l2-page="rankings"] .rank-kicker {
  font-size:8px!important;
  letter-spacing:.16em!important;
}
html[data-l2-page="rankings"] .rank-hero h1 {
  font-size:clamp(1.65rem,3vw,2.45rem)!important;
}
html[data-l2-page="rankings"] .rank-hero p {
  margin-top:5px!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}
html[data-l2-page="rankings"] .rank-hero-stat {
  padding:4px 10px!important;
}
html[data-l2-page="rankings"] .rank-hero-stat > div:first-child {
  font-size:7px!important;
}
html[data-l2-page="rankings"] .rank-hero-stat .font-tech,
html[data-l2-page="rankings"] .rank-hero-stat .font-fantasy {
  margin-top:2px!important;
  font-size:12.5px!important;
}

html[data-l2-page="rankings"] .rank-shell > .mt-8.flex {
  margin-top:12px!important;
  padding:10px 14px!important;
  border:1px solid var(--rk-line-soft)!important;
  border-radius:0!important;
  background:var(--rk-panel-soft)!important;
  color:var(--rk-muted)!important;
  font-size:8.5px!important;
  line-height:1.45!important;
  letter-spacing:.075em!important;
}
html[data-l2-theme="light"][data-l2-page="rankings"] .rank-shell > .mt-8.flex {
  background:rgba(255,255,255,.34)!important;
  border-color:rgba(95,72,42,.14)!important;
}

@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-hero > .relative {
    padding:10px 0!important;
  }
  html[data-l2-page="rankings"] .rank-hero h1 {
    font-size:1.65rem!important;
  }
  html[data-l2-page="rankings"] .rank-hero p {
    font-size:10.5px!important;
  }
  html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
    margin-top:9px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat {
    padding:6px 7px!important;
  }
  html[data-l2-page="rankings"] .rank-shell > .mt-8.flex {
    padding:10px 11px!important;
    gap:5px!important;
    font-size:7.5px!important;
    line-height:1.5!important;
  }
}

/* v2.1.39 — Ranking Oficial ainda mais compacto */
html[data-l2-page="rankings"] .rank-hero {
  margin-bottom:7px!important;
}
html[data-l2-page="rankings"] .rank-hero > .relative {
  padding:8px 0!important;
}
html[data-l2-page="rankings"] .rank-hero > .relative > .flex {
  gap:10px!important;
  align-items:center!important;
}
html[data-l2-page="rankings"] .rank-hero .max-w-3xl {
  max-width:470px!important;
}
html[data-l2-page="rankings"] .rank-hero .inline-flex.rounded-full {
  padding:3px 8px!important;
  gap:5px!important;
  margin-bottom:2px!important;
  min-height:0!important;
}
html[data-l2-page="rankings"] .rank-hero .inline-flex.rounded-full i {
  font-size:9px!important;
}
html[data-l2-page="rankings"] .rank-kicker {
  font-size:7px!important;
  letter-spacing:.14em!important;
}
html[data-l2-page="rankings"] .rank-hero h1 {
  font-size:clamp(1.45rem,2.45vw,2.05rem)!important;
  line-height:1.05!important;
  letter-spacing:.095em!important;
}
html[data-l2-page="rankings"] .rank-hero p {
  margin-top:3px!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  max-width:520px!important;
}
html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
  gap:0!important;
  min-width:0!important;
}
html[data-l2-page="rankings"] .rank-hero-stat {
  min-height:0!important;
  padding:3px 9px!important;
}
html[data-l2-page="rankings"] .rank-hero-stat > div:first-child {
  font-size:6.5px!important;
  line-height:1.1!important;
  letter-spacing:.16em!important;
}
html[data-l2-page="rankings"] .rank-hero-stat .font-tech,
html[data-l2-page="rankings"] .rank-hero-stat .font-fantasy {
  margin-top:1px!important;
  font-size:11.5px!important;
  line-height:1.15!important;
}

@media (min-width:1280px) {
  html[data-l2-page="rankings"] .rank-hero > .relative > .flex {
    align-items:center!important;
  }
  html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
    min-width:500px!important;
  }
}

@media (max-width:760px) {
  html[data-l2-page="rankings"] .rank-hero {
    margin-bottom:6px!important;
  }
  html[data-l2-page="rankings"] .rank-hero > .relative {
    padding:7px 0!important;
  }
  html[data-l2-page="rankings"] .rank-hero .inline-flex.rounded-full {
    padding:3px 7px!important;
  }
  html[data-l2-page="rankings"] .rank-hero h1 {
    font-size:1.45rem!important;
    line-height:1.05!important;
  }
  html[data-l2-page="rankings"] .rank-hero p {
    margin-top:2px!important;
    font-size:9.5px!important;
    line-height:1.3!important;
  }
  html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
    margin-top:6px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat {
    padding:4px 6px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat > div:first-child {
    font-size:6px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat .font-tech,
  html[data-l2-page="rankings"] .rank-hero-stat .font-fantasy {
    font-size:10.5px!important;
  }
}

/* =========================================================
   v2.1.40 - Boss Jewels inline nos rankings de personagens
   ========================================================= */
html[data-l2-page="rankings"] .rank-owned-jewels {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px;
    margin-top:6px;
    min-height:20px;
}

html[data-l2-page="rankings"] .rank-owned-jewel {
    position:relative;
    display:inline-flex;
    width:22px;
    height:22px;
    flex:0 0 22px;
    overflow:visible;
    border:1px solid rgba(194,154,91,.30);
    border-radius:3px;
    background:rgba(0,0,0,.30);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}

html[data-l2-page="rankings"] .rank-owned-jewel img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:2px;
}

html[data-l2-page="rankings"] .rank-owned-jewel small {
    position:absolute;
    right:-3px;
    bottom:-4px;
    z-index:2;
    min-width:13px;
    padding:1px 2px;
    border-radius:3px;
    background:#11100e;
    color:#f0d58d;
    font-size:7px;
    font-weight:800;
    line-height:1.05;
    text-align:center;
    letter-spacing:-.02em;
    box-shadow:0 1px 4px rgba(0,0,0,.45);
}

html[data-l2-page="rankings"] .rank-owned-jewels.is-podium {
    gap:5px;
    margin-top:7px;
}

html[data-l2-page="rankings"] .rank-owned-jewels.is-podium .rank-owned-jewel {
    width:25px;
    height:25px;
    flex-basis:25px;
}

html[data-l2-page="rankings"] .rank-owned-jewels.is-podium .rank-owned-jewel small {
    font-size:7.5px;
}

html[data-l2-theme="light"][data-l2-page="rankings"] .rank-owned-jewel {
    border-color:rgba(126,93,47,.35);
    background:#f7f0e6;
    box-shadow:0 1px 3px rgba(70,52,30,.10);
}

html[data-l2-theme="light"][data-l2-page="rankings"] .rank-owned-jewel small {
    background:#4a3823;
    color:#fff2cf;
}

@media(max-width:767px) {
    html[data-l2-page="rankings"] .rank-owned-jewels {
        gap:3px;
        margin-top:5px;
    }
    html[data-l2-page="rankings"] .rank-owned-jewel {
        width:20px;
        height:20px;
        flex-basis:20px;
    }
    html[data-l2-page="rankings"] .rank-owned-jewels.is-podium .rank-owned-jewel {
        width:22px;
        height:22px;
        flex-basis:22px;
    }
    html[data-l2-page="rankings"] .rank-owned-jewel small {
        font-size:6.5px;
        right:-2px;
        bottom:-3px;
    }
}


/* =========================================================
   v2.1.41 - Boss Jewels substituem o level abaixo do nome
   ========================================================= */
html[data-l2-page="rankings"] .rank-board-subinfo > .rank-owned-jewels,
html[data-l2-page="rankings"] .rank-podium-subinfo > .rank-owned-jewels {
    display:inline-flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:3px!important;
    margin:0 0 0 2px!important;
    min-height:0!important;
    vertical-align:middle!important;
}
html[data-l2-page="rankings"] .rank-board-subinfo > .rank-owned-jewels .rank-owned-jewel {
    width:20px!important;
    height:20px!important;
    flex-basis:20px!important;
}
html[data-l2-page="rankings"] .rank-podium-subinfo > .rank-owned-jewels .rank-owned-jewel {
    width:23px!important;
    height:23px!important;
    flex-basis:23px!important;
}
html[data-l2-page="rankings"] .rank-owned-jewel small { display:none!important; }
@media(max-width:767px) {
    html[data-l2-page="rankings"] .rank-board-subinfo > .rank-owned-jewels .rank-owned-jewel {
        width:19px!important;
        height:19px!important;
        flex-basis:19px!important;
    }
    html[data-l2-page="rankings"] .rank-podium-subinfo > .rank-owned-jewels .rank-owned-jewel {
        width:21px!important;
        height:21px!important;
        flex-basis:21px!important;
    }
}


/* =========================================================
   v2.1.42 - Boss Jewels no Top PK + cantos mais arredondados
   ========================================================= */
html[data-l2-page="rankings"] .rank-owned-jewel {
    border-radius:7px!important;
}
html[data-l2-page="rankings"] .rank-owned-jewel img {
    border-radius:6px!important;
}
html[data-l2-page="rankings"] .rank-podium-subinfo .rank-owned-jewel {
    border-radius:8px!important;
}
html[data-l2-page="rankings"] .rank-podium-subinfo .rank-owned-jewel img {
    border-radius:7px!important;
}


/* =========================================================
   v2.1.44 - Boss Jewels: sem Level + bordas melhores no light
   ========================================================= */
html[data-l2-theme="light"][data-l2-page="rankings"] .jewel-token-frame {
    border:1px solid rgba(126,93,47,.42)!important;
    background:linear-gradient(180deg,#fffdf8,#f3eadc)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 1px 3px rgba(70,52,30,.08)!important;
}
html[data-l2-theme="light"][data-l2-page="rankings"] .jewel-token.has-jewel .jewel-token-frame {
    border-color:rgba(154,108,49,.72)!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.82),0 0 0 1px rgba(154,108,49,.10),0 2px 7px rgba(89,61,27,.12)!important;
}
html[data-l2-theme="light"][data-l2-page="rankings"] .jewel-token.missing-jewel .jewel-token-frame {
    border-color:rgba(126,93,47,.24)!important;
    background:#f5efe6!important;
}
html[data-l2-theme="light"][data-l2-page="rankings"] .jewel-token.has-jewel:hover .jewel-token-frame {
    border-color:#9a6c31!important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.88),0 0 0 1px rgba(154,108,49,.18),0 3px 10px rgba(89,61,27,.16)!important;
}

/* =========================================================
   v2.1.48 - Rankings mobile unificado
   Mantem o desktop intacto e substitui as correcoes mobile
   acumuladas por uma camada final coerente.
   ========================================================= */
@media (max-width: 767px) {
  html[data-l2-page="rankings"] body {
    overflow-x: hidden!important;
  }

  html[data-l2-page="rankings"] .rank-shell {
    width: calc(100% - 16px)!important;
    max-width: none!important;
    margin: 0 auto!important;
    padding-bottom: 30px!important;
  }

  /* Ranking Oficial: compacto, mas legivel */
  html[data-l2-page="rankings"] .rank-hero {
    margin-bottom: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-hero > .relative {
    padding: 12px 10px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-topline {
    gap: 6px!important;
  }
  html[data-l2-page="rankings"] .rank-hero h1 {
    font-size: 1.62rem!important;
    line-height: 1.08!important;
    letter-spacing: .06em!important;
  }
  html[data-l2-page="rankings"] .rank-hero p {
    max-width: 100%!important;
    margin-top: 4px!important;
    font-size: 11px!important;
    line-height: 1.4!important;
  }
  html[data-l2-page="rankings"] .rank-hero .grid.grid-cols-2 {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 1px!important;
    width: 100%!important;
    margin-top: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat {
    min-height: 48px!important;
    padding: 7px 8px!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat > div:first-child {
    font-size: 7px!important;
    line-height: 1.1!important;
  }
  html[data-l2-page="rankings"] .rank-hero-stat .font-tech,
  html[data-l2-page="rankings"] .rank-hero-stat .font-fantasy {
    margin-top: 2px!important;
    font-size: 13px!important;
    line-height: 1.2!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important;
  }

  /* Navegacao: 2 colunas, sem scroll horizontal */
  html[data-l2-page="rankings"] .rank-switcher {
    margin-bottom: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-head {
    min-height: 0!important;
    padding: 7px 9px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-kicker {
    font-size: 7px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-current {
    font-size: 8px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-grid {
    display: grid!important;
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 0!important;
    overflow: visible!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-item {
    min-width: 0!important;
    min-height: 38px!important;
    padding: 7px 8px!important;
    border-right: 1px solid var(--rk-line-soft)!important;
    border-bottom: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(2n) {
    border-right: 0!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+2) {
    border-bottom: 0!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-icon {
    width: 18px!important;
    height: 18px!important;
    flex: 0 0 18px!important;
    font-size: 8px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-label {
    font-size: 9px!important;
    line-height: 1.15!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-mark {
    font-size: 7px!important;
  }

  /* Podium: 1o, 2o e 3o em lista premium */
  html[data-l2-page="rankings"] .rank-podium-section {
    margin-top: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-section-head {
    min-height: 0!important;
    padding: 9px 10px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-section-head h2 {
    font-size: 17px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-criteria-note {
    font-size: 7.5px!important;
    line-height: 1.25!important;
  }
  html[data-l2-page="rankings"] .rank-podium-grid {
    display: flex!important;
    flex-direction: column!important;
    gap: 0!important;
  }
  html[data-l2-page="rankings"] .rank-podium-1 { order: 1!important; }
  html[data-l2-page="rankings"] .rank-podium-2 { order: 2!important; }
  html[data-l2-page="rankings"] .rank-podium-3 { order: 3!important; }
  html[data-l2-page="rankings"] .rank-podium-entry,
  html[data-l2-page="rankings"] .rank-podium-1 {
    display: grid!important;
    grid-template-columns: 42px minmax(0,1fr) auto!important;
    grid-template-areas:
      "place identity score"
      "criteria criteria criteria"!important;
    align-items: center!important;
    min-height: 0!important;
    padding: 10px!important;
    border: 0!important;
    border-bottom: 1px solid var(--rk-line-soft)!important;
    transform: none!important;
    box-shadow: none!important;
  }
  html[data-l2-page="rankings"] .rank-podium-entry:last-child {
    border-bottom: 0!important;
  }
  html[data-l2-page="rankings"] .rank-podium-1 {
    background: rgba(209,173,104,.06)!important;
    box-shadow: inset 2px 0 0 var(--rk-gold)!important;
  }
  html[data-l2-page="rankings"] .rank-podium-place {
    grid-area: place!important;
    position: static!important;
    display: flex!important;
    flex-direction: column!important;
    align-items: center!important;
    justify-content: center!important;
    gap: 1px!important;
    text-align: center!important;
  }
  html[data-l2-page="rankings"] .rank-podium-place strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-place strong {
    font-size: 17px!important;
    line-height: 1!important;
  }
  html[data-l2-page="rankings"] .rank-podium-place span {
    display: none!important;
  }
  html[data-l2-page="rankings"] .rank-podium-place i {
    display: block!important;
    margin: 0 0 2px!important;
    font-size: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-identity {
    grid-area: identity!important;
    display: flex!important;
    align-items: center!important;
    min-width: 0!important;
    gap: 9px!important;
    margin: 0!important;
    padding: 0!important;
  }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width: 54px!important;
    height: 54px!important;
    flex: 0 0 54px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-person {
    min-width: 0!important;
  }
  html[data-l2-page="rankings"] .rank-podium-person h3,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 {
    max-width: 100%!important;
    font-size: 16px!important;
    line-height: 1.15!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important;
  }
  html[data-l2-page="rankings"] .rank-podium-subinfo {
    margin-top: 3px!important;
    font-size: 9px!important;
    line-height: 1.3!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score {
    grid-area: score!important;
    min-width: 72px!important;
    padding: 0!important;
    border: 0!important;
    text-align: right!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score span {
    display: block!important;
    font-size: 7px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong {
    display: block!important;
    margin-top: 2px!important;
    font-size: 17px!important;
    line-height: 1!important;
    white-space: nowrap!important;
  }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria {
    grid-area: criteria!important;
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 0!important;
    width: 100%!important;
    margin: 8px 0 0!important;
    padding-top: 7px!important;
    border-top: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria > div {
    min-width: 0!important;
    padding: 3px 5px 0!important;
    text-align: center!important;
  }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria > div + div {
    border-left: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria span {
    display: block!important;
    font-size: 7px!important;
    line-height: 1.1!important;
  }
  html[data-l2-page="rankings"] .rank-podium-clan-criteria strong {
    display: block!important;
    margin-top: 3px!important;
    font-size: 13px!important;
    line-height: 1!important;
  }
  html[data-l2-page="rankings"] .rank-podium-jewels {
    grid-area: criteria!important;
    width: 100%!important;
    margin-top: 7px!important;
    padding-top: 7px!important;
    border-top: 1px solid var(--rk-line-soft)!important;
  }

  /* Classificacao: sem tabela desktop espremida */
  html[data-l2-page="rankings"] .rank-table-card,
  html[data-l2-page="rankings"] .rank-board {
    margin-top: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-table-head {
    min-height: 0!important;
    padding: 9px 10px!important;
  }
  html[data-l2-page="rankings"] .rank-table-head h2 {
    font-size: 16px!important;
  }
  html[data-l2-page="rankings"] .rank-table-count {
    padding: 4px 6px!important;
    font-size: 7.5px!important;
  }
  html[data-l2-page="rankings"] .rank-board-scroll {
    overflow: visible!important;
  }
  html[data-l2-page="rankings"] .rank-board-table {
    display: block!important;
    width: 100%!important;
    min-width: 0!important;
  }
  html[data-l2-page="rankings"] .rank-board-table thead {
    display: none!important;
  }
  html[data-l2-page="rankings"] .rank-board-table tbody {
    display: block!important;
    width: 100%!important;
  }
  html[data-l2-page="rankings"] .rank-board-row {
    display: grid!important;
    grid-template-columns: 38px minmax(0,1fr) auto!important;
    align-items: center!important;
    width: 100%!important;
    min-height: 62px!important;
    padding: 0!important;
    border-bottom: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-board-row:last-child {
    border-bottom: 0!important;
  }
  html[data-l2-page="rankings"] .rank-board-row td {
    display: block!important;
    min-width: 0!important;
    padding: 9px 6px!important;
    border: 0!important;
  }
  html[data-l2-page="rankings"] .rank-board-position {
    width: auto!important;
    padding-left: 6px!important;
    padding-right: 0!important;
    text-align: center!important;
  }
  html[data-l2-page="rankings"] .rank-board-entity {
    min-width: 0!important;
  }
  html[data-l2-page="rankings"] .rank-position-badge {
    min-width: 29px!important;
    width: 29px!important;
    height: 29px!important;
    padding: 0!important;
    font-size: 11px!important;
    line-height: 29px!important;
  }
  html[data-l2-page="rankings"] .rank-board-profile {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    min-width: 0!important;
  }
  html[data-l2-page="rankings"] .rank-row-avatar {
    width: 40px!important;
    height: 40px!important;
    flex: 0 0 40px!important;
  }
  html[data-l2-page="rankings"] .rank-board-main {
    min-width: 0!important;
  }
  html[data-l2-page="rankings"] .rank-board-name {
    max-width: 100%!important;
    font-size: 14px!important;
    line-height: 1.15!important;
    overflow: hidden!important;
    text-overflow: ellipsis!important;
    white-space: nowrap!important;
  }
  html[data-l2-page="rankings"] .rank-board-subinfo {
    display: flex!important;
    flex-wrap: wrap!important;
    align-items: center!important;
    gap: 3px!important;
    margin-top: 3px!important;
    font-size: 8.5px!important;
    line-height: 1.25!important;
    white-space: normal!important;
  }
  html[data-l2-page="rankings"] .rank-board-extra {
    display: none!important;
  }
  html[data-l2-page="rankings"] .rank-board-score {
    width: auto!important;
    min-width: 68px!important;
    padding-left: 2px!important;
    padding-right: 9px!important;
    text-align: right!important;
  }
  html[data-l2-page="rankings"] .rank-board-score strong,
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong {
    display: block!important;
    font-size: 14px!important;
    line-height: 1.05!important;
    white-space: nowrap!important;
  }
  html[data-l2-page="rankings"] .rank-board-score span {
    display: block!important;
    margin-top: 2px!important;
    font-size: 6.5px!important;
    line-height: 1!important;
  }

  /* Top Clas: criterios visiveis no celular */
  html[data-l2-page="rankings"] .rank-clan-mobile-stats {
    display: grid!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
    gap: 0!important;
    max-width: 250px!important;
    margin-top: 6px!important;
    border: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats > span {
    min-width: 0!important;
    padding: 4px 5px!important;
    text-align: center!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats > span + span {
    border-left: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats small {
    display: block!important;
    color: var(--rk-dim)!important;
    font-size: 6.5px!important;
    font-weight: 700!important;
    line-height: 1!important;
    letter-spacing: .08em!important;
    text-transform: uppercase!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats b {
    display: block!important;
    margin-top: 3px!important;
    color: var(--rk-text)!important;
    font-size: 10.5px!important;
    line-height: 1!important;
  }
  html[data-l2-page="rankings"] .rank-type-clan .rank-board-row {
    min-height: 86px!important;
  }
  html[data-l2-page="rankings"] .rank-type-clan .rank-board-score {
    align-self: start!important;
    padding-top: 14px!important;
  }

  /* Boss Jewels: icones quebram linha sem estourar */
  html[data-l2-page="rankings"] .rank-type-jewels .rank-row-jewels-mobile {
    display: block!important;
    margin-top: 6px!important;
  }
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-strip,
  html[data-l2-page="rankings"] .rank-type-jewels .rank-podium-jewels .jewel-strip {
    display: flex!important;
    flex-wrap: wrap!important;
    justify-content: flex-start!important;
    gap: 4px!important;
    max-width: 100%!important;
  }
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-frame {
    width: 28px!important;
    height: 28px!important;
    border-radius: 7px!important;
  }
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-img {
    border-radius: 6px!important;
  }
  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-row {
    min-height: 78px!important;
  }

  /* Herois / Olympiad */
  html[data-l2-page="rankings"] .rank-owned-jewels {
    gap: 3px!important;
  }
  html[data-l2-page="rankings"] .rank-owned-jewel {
    width: 19px!important;
    height: 19px!important;
    flex: 0 0 19px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-subinfo .rank-owned-jewel {
    width: 21px!important;
    height: 21px!important;
    flex: 0 0 21px!important;
  }
  html[data-l2-page="rankings"] .rank-oly-content {
    gap: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-oly-class-grid {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 0!important;
  }
  html[data-l2-page="rankings"] .oly-class-card {
    width: 100%!important;
    border-right: 0!important;
    border-bottom: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .oly-class-card:last-child {
    border-bottom: 0!important;
  }
  html[data-l2-page="rankings"] .oly-class-head {
    padding: 9px 10px!important;
  }
  html[data-l2-page="rankings"] .oly-class-head h3 {
    font-size: 12px!important;
  }
  html[data-l2-page="rankings"] .oly-class-row {
    min-height: 34px!important;
    padding: 6px 9px!important;
  }
  html[data-l2-page="rankings"] .oly-class-name,
  html[data-l2-page="rankings"] .oly-class-row b {
    font-size: 11px!important;
  }

  /* Castelos: uma coluna e cards mais compactos */
  html[data-l2-page="rankings"] .castle-board {
    padding: 0!important;
  }
  html[data-l2-page="rankings"] .castle-board-head {
    display: flex!important;
    align-items: center!important;
    gap: 8px!important;
    margin: 0!important;
    padding: 11px 10px!important;
  }
  html[data-l2-page="rankings"] .castle-board-head > div:first-child {
    min-width: 0!important;
    flex: 1!important;
  }
  html[data-l2-page="rankings"] .castle-board-head h2 {
    margin-top: 2px!important;
    font-size: 18px!important;
  }
  html[data-l2-page="rankings"] .castle-board-head p {
    margin-top: 3px!important;
    font-size: 9px!important;
    line-height: 1.35!important;
  }
  html[data-l2-page="rankings"] .castle-board-counter {
    flex: 0 0 auto!important;
  }
  html[data-l2-page="rankings"] .castle-grid {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 0!important;
  }
  html[data-l2-page="rankings"] .castle-card-v2 {
    width: 100%!important;
    min-width: 0!important;
    border-right: 0!important;
    border-bottom: 1px solid var(--rk-line-soft)!important;
  }
  html[data-l2-page="rankings"] .castle-card-v2:last-child {
    border-bottom: 0!important;
  }
  html[data-l2-page="rankings"] .castle-media {
    height: 132px!important;
  }
  html[data-l2-page="rankings"] .castle-card-body {
    padding: 10px!important;
  }
  html[data-l2-page="rankings"] .castle-card-v2 h3 {
    font-size: 17px!important;
  }
  html[data-l2-page="rankings"] .castle-owner-box,
  html[data-l2-page="rankings"] .castle-info-grid {
    margin-top: 7px!important;
  }

  /* Rodape de atualizacao */
  html[data-l2-page="rankings"] .rank-shell > .mt-8.flex {
    display: flex!important;
    flex-direction: column!important;
    align-items: flex-start!important;
    gap: 3px!important;
    margin-top: 10px!important;
    padding: 9px 10px!important;
    font-size: 9px!important;
    line-height: 1.35!important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-shell {
    width: calc(100% - 12px)!important;
  }
  html[data-l2-page="rankings"] .rank-podium-entry,
  html[data-l2-page="rankings"] .rank-podium-1 {
    grid-template-columns: 36px minmax(0,1fr) auto!important;
    padding: 9px 8px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width: 48px!important;
    height: 48px!important;
    flex-basis: 48px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-person h3,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 {
    font-size: 15px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score {
    min-width: 62px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong {
    font-size: 15px!important;
  }
  html[data-l2-page="rankings"] .rank-board-row {
    grid-template-columns: 34px minmax(0,1fr) auto!important;
  }
  html[data-l2-page="rankings"] .rank-row-avatar {
    width: 36px!important;
    height: 36px!important;
    flex-basis: 36px!important;
  }
  html[data-l2-page="rankings"] .rank-board-name {
    font-size: 13px!important;
  }
  html[data-l2-page="rankings"] .rank-board-score {
    min-width: 60px!important;
    padding-right: 7px!important;
  }
  html[data-l2-page="rankings"] .rank-board-score strong,
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong {
    font-size: 13px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats {
    max-width: 220px!important;
  }
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-frame {
    width: 26px!important;
    height: 26px!important;
  }
}


/* =========================================================
   v2.1.50 - Rankings mobile refinado
   Foco: organizacao, alinhamento e avatares sempre visiveis
   ========================================================= */
html[data-l2-page="rankings"] .oly-class-player {
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
html[data-l2-page="rankings"] .oly-class-avatar {
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:9999px!important;
}
html[data-l2-page="rankings"] .oly-class-avatar img,
html[data-l2-page="rankings"] .oly-class-avatar .rank-avatar-initial {
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

@media (max-width: 767px) {
  html[data-l2-page="rankings"] .rank-shell {
    width: calc(100% - 14px)!important;
    padding-bottom: 34px!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-head {
    align-items: center!important;
    gap: 8px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-item {
    min-height: 42px!important;
    grid-template-columns: 20px minmax(0,1fr) 14px!important;
    gap: 8px!important;
  }
  html[data-l2-page="rankings"] .rank-switcher-label {
    font-size: 9.5px!important;
    letter-spacing: .05em!important;
  }

  html[data-l2-page="rankings"] .rank-podium-entry,
  html[data-l2-page="rankings"] .rank-podium-1 {
    grid-template-columns: 40px minmax(0,1fr) 80px!important;
    gap: 10px!important;
    padding: 11px 10px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width: 58px!important;
    height: 58px!important;
    flex-basis: 58px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-person h3,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-person h3 {
    font-size: 16.5px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-subinfo {
    font-size: 9.5px!important;
    gap: 4px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score {
    min-width: 80px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-end!important;
  }
  html[data-l2-page="rankings"] .rank-podium-score strong,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-score strong {
    font-size: 18px!important;
  }

  html[data-l2-page="rankings"] .rank-board-row {
    grid-template-columns: 36px minmax(0,1fr) 74px!important;
    align-items: start!important;
    min-height: 78px!important;
    padding: 0!important;
  }
  html[data-l2-page="rankings"] .rank-board-row td {
    padding-top: 10px!important;
    padding-bottom: 10px!important;
  }
  html[data-l2-page="rankings"] .rank-board-profile {
    align-items: flex-start!important;
    gap: 9px!important;
  }
  html[data-l2-page="rankings"] .rank-row-avatar {
    width: 44px!important;
    height: 44px!important;
    flex: 0 0 44px!important;
    margin-top: 1px!important;
  }
  html[data-l2-page="rankings"] .rank-row-avatar img,
  html[data-l2-page="rankings"] .rank-row-avatar .rank-avatar-initial,
  html[data-l2-page="rankings"] .rank-podium-avatar img,
  html[data-l2-page="rankings"] .rank-podium-avatar .rank-avatar-initial {
    width: 100%!important;
    height: 100%!important;
    display: block!important;
    object-fit: cover!important;
  }
  html[data-l2-page="rankings"] .rank-board-name {
    font-size: 14.5px!important;
    line-height: 1.14!important;
  }
  html[data-l2-page="rankings"] .rank-board-subinfo {
    gap: 4px!important;
    margin-top: 4px!important;
    font-size: 9px!important;
    line-height: 1.35!important;
  }
  html[data-l2-page="rankings"] .rank-board-score {
    min-width: 74px!important;
    padding-left: 4px!important;
    padding-right: 8px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-end!important;
  }
  html[data-l2-page="rankings"] .rank-board-score strong,
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong {
    font-size: 14.5px!important;
  }
  html[data-l2-page="rankings"] .rank-board-score span {
    margin-top: 3px!important;
    font-size: 7px!important;
    letter-spacing: .06em!important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-row {
    min-height: 94px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats {
    width: 100%!important;
    max-width: none!important;
    margin-top: 7px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats > span {
    padding: 5px 4px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats small {
    font-size: 7px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats b {
    font-size: 11px!important;
  }

  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-row {
    min-height: 88px!important;
  }
  html[data-l2-page="rankings"] .rank-type-jewels .rank-row-jewels-mobile {
    margin-top: 7px!important;
  }

  html[data-l2-page="rankings"] .oly-class-head {
    padding: 10px!important;
  }
  html[data-l2-page="rankings"] .oly-class-row {
    grid-template-columns: 34px minmax(0,1fr) auto!important;
    gap: 8px!important;
    min-height: 42px!important;
    padding: 7px 9px!important;
  }
  html[data-l2-page="rankings"] .oly-class-avatar {
    width: 26px!important;
    height: 26px!important;
    flex-basis: 26px!important;
  }
  html[data-l2-page="rankings"] .oly-class-name {
    font-size: 11px!important;
  }
  html[data-l2-page="rankings"] .oly-class-row b {
    font-size: 11px!important;
    white-space: nowrap!important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-podium-entry,
  html[data-l2-page="rankings"] .rank-podium-1 {
    grid-template-columns: 34px minmax(0,1fr) 70px!important;
  }
  html[data-l2-page="rankings"] .rank-podium-avatar,
  html[data-l2-page="rankings"] .rank-podium-1 .rank-podium-avatar {
    width: 52px!important;
    height: 52px!important;
    flex-basis: 52px!important;
  }
  html[data-l2-page="rankings"] .rank-board-row {
    grid-template-columns: 32px minmax(0,1fr) 66px!important;
  }
  html[data-l2-page="rankings"] .rank-row-avatar {
    width: 40px!important;
    height: 40px!important;
    flex-basis: 40px!important;
  }
  html[data-l2-page="rankings"] .rank-board-name {
    font-size: 13.5px!important;
  }
  html[data-l2-page="rankings"] .rank-board-subinfo {
    font-size: 8.5px!important;
  }
  html[data-l2-page="rankings"] .rank-board-score {
    min-width: 66px!important;
    padding-right: 6px!important;
  }
  html[data-l2-page="rankings"] .rank-board-score strong,
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong {
    font-size: 13px!important;
  }
  html[data-l2-page="rankings"] .rank-clan-mobile-stats {
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
}


/* =========================================================
   v2.1.51 - Lista completa mobile
   Corrige alinhamento e garante avatar em todos os celulares.
   ========================================================= */
@media (max-width: 767px) {
  html[data-l2-page="rankings"] .rank-board-table tbody {
    width:100%!important;
  }

  html[data-l2-page="rankings"] .rank-board-row {
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 76px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    width:100%!important;
    min-height:74px!important;
  }

  html[data-l2-page="rankings"] .rank-board-position {
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 2px 10px 6px!important;
  }

  html[data-l2-page="rankings"] .rank-board-entity {
    grid-column:2!important;
    grid-row:1!important;
    align-self:stretch!important;
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    padding:9px 5px!important;
  }

  html[data-l2-page="rankings"] .rank-board-profile {
    width:100%!important;
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
  }

  html[data-l2-page="rankings"] .rank-row-avatar {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:46px!important;
    height:46px!important;
    min-width:46px!important;
    flex:0 0 46px!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:9999px!important;
  }

  html[data-l2-page="rankings"] .rank-row-avatar > *,
  html[data-l2-page="rankings"] .rank-row-avatar img,
  html[data-l2-page="rankings"] .rank-row-avatar .rank-avatar-initial {
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:cover!important;
  }

  html[data-l2-page="rankings"] .rank-board-main {
    min-width:0!important;
    width:100%!important;
  }

  html[data-l2-page="rankings"] .rank-board-name {
    width:100%!important;
    max-width:100%!important;
    font-size:14.5px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  html[data-l2-page="rankings"] .rank-board-subinfo {
    width:100%!important;
    margin-top:4px!important;
    font-size:9px!important;
    line-height:1.3!important;
  }

  html[data-l2-page="rankings"] .rank-board-extra {
    display:none!important;
  }

  html[data-l2-page="rankings"] .rank-board-score {
    grid-column:3!important;
    grid-row:1!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    justify-content:center!important;
    min-width:0!important;
    width:76px!important;
    padding:9px 9px 9px 3px!important;
    text-align:right!important;
  }

  html[data-l2-page="rankings"] .rank-board-score strong,
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong {
    font-size:14px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }

  html[data-l2-page="rankings"] .rank-board-score span {
    margin-top:4px!important;
    font-size:7px!important;
    line-height:1!important;
  }

  /* Clans e joias possuem informacao extra dentro da area central. */
  html[data-l2-page="rankings"] .rank-type-clan .rank-board-row,
  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-row {
    min-height:92px!important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-entity,
  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-entity {
    align-items:flex-start!important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-profile,
  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-profile {
    align-items:flex-start!important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-score,
  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-score {
    justify-content:flex-start!important;
    padding-top:14px!important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-board-row {
    grid-template-columns:34px minmax(0,1fr) 66px!important;
  }

  /* Sobrescreve a regra antiga que escondia o avatar <=390px. */
  html[data-l2-page="rankings"] .rank-row-avatar {
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    flex-basis:42px!important;
  }

  html[data-l2-page="rankings"] .rank-board-profile {
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:8px!important;
  }

  html[data-l2-page="rankings"] .rank-board-score {
    width:66px!important;
    padding-right:6px!important;
  }

  html[data-l2-page="rankings"] .rank-board-name {
    font-size:13.5px!important;
  }

  html[data-l2-page="rankings"] .rank-board-subinfo {
    font-size:8.5px!important;
  }

  html[data-l2-page="rankings"] .rank-board-score strong,
  html[data-l2-page="rankings"] .rank-row-top-1 .rank-board-score strong {
    font-size:13px!important;
  }
}


/* =========================================================
   v2.1.52 - Lista completa mobile alinhada
   Corrige colunas extras aparecendo e garante avatar visivel
   ========================================================= */
@media (max-width: 767px) {
  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-row {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) 76px !important;
    align-items: start !important;
    column-gap: 0 !important;
    min-height: 78px !important;
  }

  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-position {
    grid-column: 1 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 10px 4px 10px 6px !important;
  }

  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-entity {
    grid-column: 2 !important;
    display: block !important;
    min-width: 0 !important;
    padding: 10px 6px !important;
  }

  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-extra,
  html[data-l2-page="rankings"] .rank-board-table tbody td.hidden,
  html[data-l2-page="rankings"] .rank-board-table tbody .hidden.md\:table-cell,
  html[data-l2-page="rankings"] .rank-board-table tbody .hidden.lg\:table-cell {
    display: none !important;
  }

  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-score {
    grid-column: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    min-width: 76px !important;
    padding: 10px 8px 10px 4px !important;
    text-align: right !important;
  }

  html[data-l2-page="rankings"] .rank-board-profile {
    display: grid !important;
    grid-template-columns: 42px minmax(0,1fr) !important;
    align-items: start !important;
    gap: 9px !important;
    min-width: 0 !important;
  }

  html[data-l2-page="rankings"] .rank-row-avatar {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    flex: 0 0 42px !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  html[data-l2-page="rankings"] .rank-row-avatar > *,
  html[data-l2-page="rankings"] .rank-row-avatar img,
  html[data-l2-page="rankings"] .rank-row-avatar .rank-avatar-initial {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  html[data-l2-page="rankings"] .rank-board-main {
    min-width: 0 !important;
  }

  html[data-l2-page="rankings"] .rank-board-name {
    font-size: 14.5px !important;
    line-height: 1.15 !important;
  }

  html[data-l2-page="rankings"] .rank-board-subinfo {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 4px !important;
    font-size: 9px !important;
    line-height: 1.35 !important;
  }

  html[data-l2-page="rankings"] .rank-board-score strong {
    font-size: 14.5px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  html[data-l2-page="rankings"] .rank-board-score span {
    display: block !important;
    margin-top: 3px !important;
    font-size: 7px !important;
    line-height: 1.1 !important;
    letter-spacing: .08em !important;
    white-space: nowrap !important;
  }

  html[data-l2-page="rankings"] .rank-position-badge {
    min-width: 30px !important;
    height: 30px !important;
    font-size: 12px !important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-row,
  html[data-l2-page="rankings"] .rank-type-jewels .rank-board-row {
    min-height: 92px !important;
  }

  html[data-l2-page="rankings"] .rank-clan-mobile-stats {
    width: 100% !important;
    margin-top: 7px !important;
  }

  html[data-l2-page="rankings"] .rank-row-jewels-mobile {
    margin-top: 7px !important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-row {
    grid-template-columns: 38px minmax(0,1fr) 68px !important;
  }

  html[data-l2-page="rankings"] .rank-board-profile {
    grid-template-columns: 38px minmax(0,1fr) !important;
    gap: 8px !important;
  }

  html[data-l2-page="rankings"] .rank-row-avatar {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    flex-basis: 38px !important;
  }

  html[data-l2-page="rankings"] .rank-board-name {
    font-size: 13.5px !important;
  }

  html[data-l2-page="rankings"] .rank-board-subinfo {
    font-size: 8.5px !important;
  }

  html[data-l2-page="rankings"] .rank-board-score {
    min-width: 68px !important;
    padding-right: 6px !important;
  }

  html[data-l2-page="rankings"] .rank-board-score strong {
    font-size: 13px !important;
  }
}


/* =========================================================
   v2.1.53 - Ajuste fino mobile
   Respiro no score + fallback de avatar centralizado
   ========================================================= */
html[data-l2-page="rankings"] .rank-avatar-initial {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1 !important;
  color: var(--rk-gold-hi) !important;
  font-family: Georgia,"Times New Roman",serif !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}

html[data-l2-page="rankings"] .rank-row-avatar .rank-avatar-initial {
  width: 100% !important;
  height: 100% !important;
  font-size: 18px !important;
}

html[data-l2-page="rankings"] .rank-podium-avatar .rank-avatar-initial {
  width: 100% !important;
  height: 100% !important;
  font-size: 23px !important;
}

html[data-l2-page="rankings"] .oly-class-avatar .rank-avatar-initial {
  width: 100% !important;
  height: 100% !important;
  font-size: 13px !important;
}

@media (max-width: 767px) {
  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-row {
    grid-template-columns: 42px minmax(0,1fr) 84px !important;
  }

  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-score {
    min-width: 84px !important;
    padding: 10px 14px 10px 4px !important;
  }

  html[data-l2-page="rankings"] .rank-board-score strong {
    padding-right: 1px !important;
  }

  html[data-l2-page="rankings"] .rank-board-score span {
    padding-right: 1px !important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-row {
    grid-template-columns: 38px minmax(0,1fr) 76px !important;
  }

  html[data-l2-page="rankings"] .rank-board-table tbody .rank-board-score {
    min-width: 76px !important;
    padding-right: 11px !important;
  }

  html[data-l2-page="rankings"] .rank-row-avatar .rank-avatar-initial {
    font-size: 16px !important;
  }
}


/* =========================================================
   v2.1.54 - Fallback de avatar centralizado verticalmente
   Sobrescreve regras antigas que forçavam display:block.
   ========================================================= */
html[data-l2-page="rankings"] .rank-row-avatar > .rank-avatar-initial,
html[data-l2-page="rankings"] .rank-podium-avatar > .rank-avatar-initial,
html[data-l2-page="rankings"] .oly-class-avatar > .rank-avatar-initial {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}


/* =========================================================
   v2.1.55 - Enchant das Boss Jewels no mobile
   Badge menor para preservar a arte da joia.
   ========================================================= */
@media (max-width: 767px) {
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token {
    overflow: visible !important;
  }

  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-enchant,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token-enchant,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token-enchant {
    top: -3px !important;
    right: -3px !important;
    min-width: 14px !important;
    width: auto !important;
    height: 12px !important;
    padding: 0 2px !important;
    border-width: 1px !important;
    border-radius: 4px !important;
    font-size: 6px !important;
    font-weight: 900 !important;
    line-height: 10px !important;
    letter-spacing: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.42) !important;
    z-index: 3 !important;
  }

  html[data-l2-theme="light"][data-l2-page="rankings"] .rank-type-jewels .jewel-token-enchant,
  html[data-l2-theme="light"][data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token-enchant,
  html[data-l2-theme="light"][data-l2-page="rankings"] .rank-podium-jewels .jewel-token-enchant {
    background: rgba(47,34,20,.92) !important;
    border-color: rgba(151,108,50,.72) !important;
    color: #fff3d5 !important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-enchant,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token-enchant,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token-enchant {
    top: -2px !important;
    right: -2px !important;
    min-width: 13px !important;
    height: 11px !important;
    padding: 0 1.5px !important;
    font-size: 5.5px !important;
    line-height: 9px !important;
  }
}


/* =========================================================
   v2.1.56 - Boss Jewels + Top Clas mobile
   - restaura o tamanho visual das joias
   - mantem apenas o enchant como micro-badge
   - evita quebra de palavras no ranking de clas
   ========================================================= */
@media (max-width: 767px) {
  /* Boss Jewels: arte maior, badge continua pequeno */
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex: 0 0 34px !important;
  }

  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-frame,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token-frame,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token-frame {
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-img,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token-img,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token-img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 7px !important;
  }

  html[data-l2-page="rankings"] .rank-type-jewels .jewel-strip,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-strip,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-strip {
    gap: 5px !important;
  }

  /* Top Clas: nao quebra palavras/labels no meio */
  html[data-l2-page="rankings"] .rank-type-clan .rank-clan-mobile-stats small,
  html[data-l2-page="rankings"] .rank-type-clan .rank-podium-clan-criteria span {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    letter-spacing: .035em !important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-subinfo > span,
  html[data-l2-page="rankings"] .rank-type-clan .rank-podium-subinfo > span {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-board-subinfo,
  html[data-l2-page="rankings"] .rank-type-clan .rank-podium-subinfo {
    flex-wrap: wrap !important;
    row-gap: 3px !important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-clan-mobile-stats {
    grid-template-columns: .9fr .75fr 1.35fr !important;
  }
}

@media (max-width: 390px) {
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token,
  html[data-l2-page="rankings"] .rank-type-jewels .jewel-token-frame,
  html[data-l2-page="rankings"] .rank-row-jewels-mobile .jewel-token-frame,
  html[data-l2-page="rankings"] .rank-podium-jewels .jewel-token-frame {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    flex-basis: 32px !important;
  }

  html[data-l2-page="rankings"] .rank-type-clan .rank-clan-mobile-stats small,
  html[data-l2-page="rankings"] .rank-type-clan .rank-podium-clan-criteria span {
    font-size: 6.8px !important;
    letter-spacing: .02em !important;
  }
}


/* ==========================================================
   v2.1.196 — "Outros rankings" mais organizado
   ========================================================== */
html[data-l2-page="rankings"] .rank-switcher{
  margin:0 0 16px!important;
}

html[data-l2-page="rankings"] .rank-switcher-head{
  min-height:42px!important;
  padding:10px 13px!important;
  justify-content:flex-start!important;
}

html[data-l2-page="rankings"] .rank-switcher-kicker{
  color:var(--rk-text)!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}

/* O ranking atual já fica destacado na grade. */
html[data-l2-page="rankings"] .rank-switcher-current{
  display:none!important;
}

/* Desktop: 3 linhas de 3 opções. */
html[data-l2-page="rankings"] .rank-switcher-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

html[data-l2-page="rankings"] .rank-switcher-item{
  min-height:48px!important;
  padding:9px 12px!important;
  grid-template-columns:28px minmax(0,1fr) 16px!important;
  gap:8px!important;
  border-right:1px solid var(--rk-line-soft)!important;
  border-bottom:1px solid var(--rk-line-soft)!important;
}

html[data-l2-page="rankings"] .rank-switcher-item:nth-child(3n){
  border-right:0!important;
}

/* Neutraliza a regra antiga de 4 colunas. */
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(4n){
  border-right:1px solid var(--rk-line-soft)!important;
}

html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+3){
  border-bottom:0!important;
}

html[data-l2-page="rankings"] .rank-switcher-icon{
  width:28px!important;
  height:28px!important;
}

html[data-l2-page="rankings"] .rank-switcher-label{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.045em!important;
}

html[data-l2-page="rankings"] .rank-switcher-item.is-active{
  box-shadow:inset 3px 0 0 var(--rk-gold)!important;
}

/* Tablet: 2 colunas. */
@media(max-width:820px){
  html[data-l2-page="rankings"] .rank-switcher-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(n){
    border-right:1px solid var(--rk-line-soft)!important;
    border-bottom:1px solid var(--rk-line-soft)!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(2n){
    border-right:0!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:last-child{
    grid-column:1/-1!important;
    border-right:0!important;
    border-bottom:0!important;
  }
}

/* Mobile: lista vertical simples. */
@media(max-width:520px){
  html[data-l2-page="rankings"] .rank-switcher-grid{
    grid-template-columns:1fr!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(n){
    min-height:44px!important;
    grid-column:auto!important;
    grid-template-columns:26px minmax(0,1fr) 16px!important;
    border-right:0!important;
    border-bottom:1px solid var(--rk-line-soft)!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:last-child{
    border-bottom:0!important;
  }
}


/* ==========================================================
   v2.1.197 — Outros rankings com borda completa em cada item
   ========================================================== */

/*
 * Em vez de depender da borda compartilhada da grade,
 * cada item recebe sua própria moldura completa.
 * Isso elimina as "bordas incompletas" em Grand Olympiad,
 * Heróis Atuais, Castelos, Conquistas, Boss Jewels etc.
 */
html[data-l2-page="rankings"] .rank-switcher-grid{
  gap:6px!important;
  padding:6px!important;
}

html[data-l2-page="rankings"] .rank-switcher-item{
  border:0!important;
  box-shadow:inset 0 0 0 1px var(--rk-line-soft)!important;
}

/* Neutraliza a lógica antiga de borda parcial por posição. */
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(n),
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(3n),
html[data-l2-page="rankings"] .rank-switcher-item:nth-child(4n),
html[data-l2-page="rankings"] .rank-switcher-item:nth-last-child(-n+3),
html[data-l2-page="rankings"] .rank-switcher-item:last-child{
  border-right:0!important;
  border-bottom:0!important;
}

/* Mantém o estado hover/ativo coerente com o site. */
html[data-l2-page="rankings"] .rank-switcher-item:hover{
  box-shadow:inset 0 0 0 1px rgba(209,173,104,.22)!important;
}

html[data-l2-page="rankings"] .rank-switcher-item.is-active{
  box-shadow:
    inset 3px 0 0 var(--rk-gold),
    inset 0 0 0 1px rgba(209,173,104,.28)!important;
}

/* Tablet */
@media(max-width:820px){
  html[data-l2-page="rankings"] .rank-switcher-grid{
    gap:6px!important;
    padding:6px!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:last-child{
    grid-column:1/-1!important;
  }
}

/* Mobile */
@media(max-width:520px){
  html[data-l2-page="rankings"] .rank-switcher-grid{
    gap:5px!important;
    padding:5px!important;
  }

  html[data-l2-page="rankings"] .rank-switcher-item:nth-child(n),
  html[data-l2-page="rankings"] .rank-switcher-item:last-child{
    grid-column:auto!important;
  }
}

