/* ranking.html — estilos propios de la página. El layout compartido viene de shell.css,
   que se carga antes. Antes era un <style> inline (reporte frontend-quality, pulido de Code Quality). */
.size-filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.size-filters button{border:1px solid var(--border);background:#fff;color:#475569;padding:8px 15px;border-radius:20px;font-size:11px;font-weight:700;cursor:pointer}
.size-filters button.active{background:#008939;border-color:#008939;color:#fff}

/* Podio: 2º · 1º · 3º */
/* Alturas mínimas = las del contenido real: el podio y "Tu posición" ocupan su lugar desde el
   principio y la tabla no "salta" hacia abajo al llegar los datos (CLS de PageSpeed). */
.podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end;margin-bottom:16px;min-height:178px}
.mine{min-height:86px}
.step{padding:18px 12px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.step.first{padding-top:26px;border:1.5px solid #ffd666;background:linear-gradient(180deg,#fffaeb,#fff)}
.step.me{box-shadow:0 0 0 3px var(--green-soft),var(--shadow)}
.step .medal{font-size:26px}
.step .av{width:58px;height:58px;border-radius:50%;background:#f3f6fa;display:grid;place-items:center;font-size:30px;margin:4px 0}
.step.first .av{width:70px;height:70px;font-size:36px;background:#fff2d8}
.step strong{font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.step .xp{font-size:12px}
.step.empty-step{opacity:.45}

/* Tu posición */
.mine{padding:18px 20px;display:flex;align-items:center;gap:16px;margin-bottom:16px;background:linear-gradient(120deg,#f1ffe9,#fff);border:1.5px solid var(--green)}
.mine .big{font-size:30px;font-weight:900;color:#007f35;min-width:64px;text-align:center}
.mine .grow{flex:1;min-width:0}
.mine strong{display:block;font-size:15px}
.mine p{margin:3px 0 0;font-size:12px;color:#475569}

/* Tabla */
.board{padding:6px 0}
.row{display:grid;grid-template-columns:52px 40px minmax(0,1fr) 150px 70px;gap:12px;align-items:center;padding:10px 18px;font-size:13px}
.row + .row{border-top:1px solid #edf1f6}
.row.me{background:#f1ffe9;font-weight:800}
.row .pos{font-weight:900;color:#536174;text-align:center}
.row .av{width:34px;height:34px;border-radius:50%;background:#f3f6fa;display:grid;place-items:center;font-size:18px}
.row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.row .progress{height:6px}
.row .pts{text-align:right;font-weight:800;color:#007f35}
.gap-row{text-align:center;color:#707784;font-size:16px;letter-spacing:4px;padding:4px 0}
.guest-card{padding:26px;text-align:center}
.guest-card h2{margin:0 0 6px}
.guest-card p{color:var(--muted);font-size:13px;margin:0 0 16px}
@media(max-width:760px){
  .row{grid-template-columns:40px 34px minmax(0,1fr) 60px;padding:10px 12px}
  .row .bar-cell{display:none}
  .step strong{font-size:12px}
  .step .av{width:46px;height:46px;font-size:24px}
  .step.first .av{width:56px;height:56px;font-size:30px}
}
