.bv-mr-ranking { display:flex; flex-direction:column; gap:10px; }
.bv-mr-row {
  display:grid;
  grid-template-columns:52px 74px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:14px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.bv-mr-row:hover { background:rgba(255,255,255,.065); border-color:rgba(255,255,255,.14); }
.bv-mr-position { font-size:1.45rem; font-weight:900; text-align:center; color:#aaaabd; }
.bv-mr-cover img, .bv-mr-cover-fallback { width:74px; height:74px; border-radius:14px; object-fit:cover; }
.bv-mr-cover-fallback { display:grid; place-items:center; background:linear-gradient(135deg,#2a1d52,#075d72); font-weight:900; }
.bv-mr-main { min-width:0; }
.bv-mr-main h3 { margin:0 0 6px; font-size:1.05rem; }
.bv-mr-main h3 a { color:#fff; text-decoration:none; }
.bv-mr-links { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:9px; }
.bv-mr-links a { color:#aaaabd; font-size:.78rem; text-decoration:none; }
.bv-mr-links a:hover { color:#fff; }

/* Reproductor Ben Vaz */
.bv-player {
  --bv-player-accent:#9e6cff;
  --bv-player-accent-2:#55d6ff;
  width:min(100%, 650px);
  display:grid;
  grid-template-columns:44px auto minmax(0,1fr) 34px 86px;
  align-items:center;
  gap:11px;
  min-height:64px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:
    radial-gradient(circle at 15% 20%,rgba(158,108,255,.12),transparent 35%),
    linear-gradient(135deg,rgba(11,11,17,.98),rgba(21,21,31,.94));
  box-shadow:0 12px 34px rgba(0,0,0,.24);
  overflow:hidden;
}
.bv-player-play {
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:0;
  border-radius:50%;
  cursor:pointer;
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--bv-player-accent),var(--bv-player-accent-2));
  color:#050509;
  box-shadow:0 8px 24px rgba(85,214,255,.18);
  transition:transform .18s ease,filter .18s ease;
}
.bv-player-play:hover { transform:scale(1.045); filter:brightness(1.08); }
.bv-player-play:focus-visible,.bv-player-track:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.bv-player-icon-play {
  width:0;height:0;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-left:11px solid #071015;
  margin-left:3px;
}
.bv-player-icon-pause { display:none; width:12px; height:15px; border-left:4px solid #071015; border-right:4px solid #071015; }
.bv-player.is-playing .bv-player-icon-play { display:none; }
.bv-player.is-playing .bv-player-icon-pause { display:block; }
.bv-player-cover { width:42px;height:42px;border-radius:10px;overflow:hidden;background:#171720; }
.bv-player-cover img { width:100%;height:100%;object-fit:cover;display:block; }
.bv-player-center { min-width:0; }
.bv-player-topline { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px; }
.bv-player-title { min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f8f8fb;font-size:.86rem;font-weight:800;letter-spacing:.005em; }
.bv-player-time { white-space:nowrap;color:#858596;font-size:.69rem;font-variant-numeric:tabular-nums; }
.bv-player-time-sep { margin:0 4px;color:#555563; }
.bv-player-track { position:relative;height:14px;cursor:pointer;touch-action:none; }
.bv-player-track::before { content:"";position:absolute;left:0;right:0;top:5px;height:4px;border-radius:999px;background:rgba(255,255,255,.09); }
.bv-player-track-buffer,.bv-player-track-fill { position:absolute;left:0;top:5px;height:4px;border-radius:999px;pointer-events:none;width:0; }
.bv-player-track-buffer { background:rgba(255,255,255,.14); }
.bv-player-track-fill { background:linear-gradient(90deg,var(--bv-player-accent),var(--bv-player-accent-2));box-shadow:0 0 12px rgba(85,214,255,.24); }
.bv-player-track-thumb { position:absolute;top:2px;left:0;width:10px;height:10px;border-radius:50%;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 3px rgba(255,255,255,.08);pointer-events:none; }
.bv-player-volume-button { width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#b7b7c4;cursor:pointer;font-size:.95rem; }
.bv-player-volume-button:hover { background:rgba(255,255,255,.06);color:#fff; }
.bv-player.is-muted .bv-volume-icon { opacity:.35;text-decoration:line-through; }
.bv-player-volume { width:86px;height:4px;accent-color:#9e6cff;cursor:pointer; }

.bv-mr-vote {
  min-width:102px;
  min-height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.bv-mr-vote:hover:not(:disabled) { transform:translateY(-2px); background:rgba(255,255,255,.11); }
.bv-mr-vote.is-voted { background:rgba(255,79,154,.14); border-color:rgba(255,79,154,.38); }
.bv-mr-vote:disabled { cursor:default; opacity:.9; }
.bv-mr-heart { color:#ff5c9f; font-size:1.05rem; }
.bv-mr-vote-count { min-width:20px; color:#c9c9d2; font-size:.84rem; }
.bv-mr-empty { padding:24px; text-align:center; color:#aaaabd; }
.bv-mr-single-vote { margin-top:30px; }

@media (max-width: 780px) {
  .bv-player { grid-template-columns:42px 40px minmax(0,1fr) 30px; gap:9px; }
  .bv-player-volume { display:none; }
}

@media (max-width: 680px) {
  .bv-mr-row { grid-template-columns:36px 58px minmax(0,1fr); gap:10px; padding:11px; }
  .bv-mr-cover img, .bv-mr-cover-fallback { width:58px; height:58px; border-radius:10px; }
  .bv-mr-action { grid-column:2 / 4; }
  .bv-mr-vote { width:100%; }
  .bv-mr-position { font-size:1.08rem; }
  .bv-player { width:100%;grid-template-columns:42px minmax(0,1fr) 30px;padding:9px 10px;border-radius:15px; }
  .bv-player-cover { display:none; }
  .bv-player-topline { margin-bottom:8px; }
  .bv-player-title { font-size:.8rem; }
  .bv-player-time { font-size:.64rem; }
}

/* El reproductor no usa controles HTML5 nativos. */
.bv-player, .bv-player * { -webkit-tap-highlight-color: transparent; }
.bv-player-cover img { -webkit-user-drag: none; user-select: none; }

/* Estadísticas públicas: permanecen ocultas hasta alcanzar los umbrales configurados. */
.bv-mr-stats { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:3px 0 10px; color:#8f8fa1; font-size:.76rem; }
.bv-mr-stats[hidden], .bv-mr-stat.is-hidden, .bv-mr-vote-count.is-hidden { display:none !important; }
.bv-mr-stat { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.bv-mr-stat-plays span { color:#78dcff; font-size:.7rem; }
.bv-mr-stat-votes span { color:#ff5c9f; }
