
.rfm-charts-wrap{background:radial-gradient(circle at top left,rgba(212,175,55,.18),transparent 32%),radial-gradient(circle at top right,rgba(255,255,255,.08),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03)),var(--rfm-bg);color:var(--rfm-text);padding:28px;border-radius:28px;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 22px 60px rgba(0,0,0,.34);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.rfm-charts-wrap:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 35%,transparent 65%,rgba(212,175,55,.05));pointer-events:none}
.rfm-heading{margin:0 0 22px;color:var(--rfm-text);font-size:30px;line-height:1.05;font-weight:900;letter-spacing:-.02em;position:relative;padding-bottom:14px}
.rfm-heading:after{content:"";position:absolute;left:0;bottom:0;width:96px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--rfm-primary),#f8e6a1)}
.rfm-list,.rfm-bars-list,.rfm-simple-list{display:flex;flex-direction:column;gap:14px;position:relative;z-index:1}
.rfm-row,.rfm-simple-item{display:grid;grid-template-columns:64px 86px 74px minmax(0,1fr) 168px;gap:16px;align-items:center;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));padding:14px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.04);backdrop-filter:blur(8px)}
.rfm-row:hover,.rfm-bar-row:hover,.rfm-simple-item:hover{transform:translateY(-1px);transition:transform .18s ease,box-shadow .18s ease;border-color:rgba(212,175,55,.24);box-shadow:0 14px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.05)}
.rfm-rank{font-size:28px;font-weight:900;color:var(--rfm-primary);text-align:center;text-shadow:0 1px 0 rgba(0,0,0,.2)}
.rfm-trend{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:12px;font-weight:900;border-radius:15px;padding:0 14px;letter-spacing:.1em;text-transform:uppercase}
.rfm-triangle{display:inline-block;width:0;height:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}
.rfm-trend-up{background:linear-gradient(180deg,rgba(38,112,61,.34),rgba(18,73,36,.28));color:#87f6a8}
.rfm-trend-up .rfm-triangle{border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:19px solid #49e27a}
.rfm-trend-down{background:linear-gradient(180deg,rgba(129,31,31,.34),rgba(89,20,20,.26));color:#ff8b8b}
.rfm-trend-down .rfm-triangle{border-left:11px solid transparent;border-right:11px solid transparent;border-top:19px solid #ff6464}
.rfm-trend-same{background:linear-gradient(180deg,rgba(167,135,20,.34),rgba(129,100,12,.24));color:#ffe173}
.rfm-trend-same .rfm-triangle{width:19px;height:19px;background:#ffe173;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.rfm-trend-new{background:linear-gradient(180deg,rgba(37,83,176,.38),rgba(25,56,122,.26));color:#9ec2ff}
.rfm-trend-new .rfm-triangle{width:19px;height:19px;background:#5ea2ff;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.rfm-cover img,.rfm-cover-placeholder{width:68px;height:68px;object-fit:cover;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.05));display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--rfm-primary);box-shadow:0 14px 28px rgba(0,0,0,.28),0 3px 10px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08)}
.rfm-last-position{margin-top:7px;font-size:11px;font-weight:700;letter-spacing:.01em;opacity:.7}
.rfm-row--newcomer{grid-template-columns:64px 74px minmax(0,1fr) 168px}.rfm-row--newcomer .rfm-vote-action{justify-self:end;align-self:center}.rfm-row--newcomer .rfm-meta{padding-right:6px}

.rfm-meta{min-width:0}
.rfm-artist{font-weight:900;font-size:17px;line-height:1.2;word-break:break-word}
.rfm-title{opacity:.9;font-size:14px;line-height:1.35;word-break:break-word}
.rfm-votes{margin-top:8px;font-size:13px;opacity:.8}
.rfm-inline-bar-wrap{margin-top:10px}
.rfm-inline-bar-track{position:relative;height:12px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.18)}
.rfm-inline-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--rfm-primary),#f6e79d);box-shadow:0 6px 14px rgba(212,175,55,.22)}
.rfm-vote-button{position:relative;background:linear-gradient(135deg,var(--rfm-primary),#f5e8ac 58%,#fff2c8);color:#111;border:0;padding:14px 20px;border-radius:16px;font-weight:900;cursor:pointer;min-width:148px;box-shadow:0 12px 30px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.45);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;letter-spacing:.01em}
.rfm-vote-button:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.55)}
.rfm-vote-button:active{transform:translateY(0)}
.rfm-vote-button.is-loading{opacity:.75}
.rfm-empty{padding:20px;border-radius:18px;background:rgba(255,255,255,.05);text-align:center;opacity:.85;border:1px solid rgba(255,255,255,.06)}
.rfm-bar-row{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08);padding:16px;border-radius:20px}
.rfm-bar-header{display:grid;grid-template-columns:62px minmax(0,1fr) 100px;gap:12px;align-items:center;margin-bottom:12px}
.rfm-bar-rank{font-weight:900;color:var(--rfm-primary)}
.rfm-bar-name{min-width:0;line-height:1.3;word-break:break-word}
.rfm-bar-track{position:relative;height:24px;background:rgba(255,255,255,.09);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 4px rgba(0,0,0,.18)}
.rfm-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--rfm-primary),#f6e79d);box-shadow:0 8px 18px rgba(212,175,55,.22)}
.rfm-bar-value{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:800;color:#111}
.rfm-simple-item{grid-template-columns:56px minmax(0,1fr) auto}
.rfm-chip{background:rgba(255,255,255,.08);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid rgba(255,255,255,.06)}
.rfm-highlight-box{padding:20px;border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.08)}
.rfm-vote-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .18s ease;z-index:99999;background:rgba(0,0,0,.24)}
.rfm-vote-modal.is-visible{opacity:1}
.rfm-vote-modal__box{max-width:480px;width:calc(100% - 32px);background:linear-gradient(180deg,rgba(18,18,18,.96),rgba(8,8,8,.94));backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.09);border-radius:28px;padding:30px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.05)}
.rfm-vote-modal__message{font-size:20px;font-weight:900;line-height:1.35}
.rfm-vote-modal.is-error .rfm-vote-modal__box{border-color:rgba(255,93,93,.4)}
.rfm-archive-item{align-items:center}
@media (max-width:900px){.rfm-row{grid-template-columns:56px 78px 68px minmax(0,1fr) 148px}.rfm-row--newcomer{grid-template-columns:56px 68px minmax(0,1fr) 148px}}
@media (max-width:768px){.rfm-inline-bar-wrap{margin-top:9px}.rfm-inline-bar-track{height:10px}.rfm-charts-wrap{padding:18px;border-radius:24px}.rfm-heading{font-size:24px;margin-bottom:18px}.rfm-list{gap:16px}.rfm-row{grid-template-columns:54px 68px minmax(0,1fr) auto;grid-template-areas:"rank cover meta trend" "action action action action";gap:12px;padding:16px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));box-shadow:0 18px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.05);align-items:start}.rfm-row--newcomer{grid-template-columns:54px 68px minmax(0,1fr);grid-template-areas:"rank cover meta" "action action action";align-items:center}.rfm-row--newcomer .rfm-meta{align-self:center}.rfm-row--newcomer .rfm-vote-action{margin-top:2px}.rfm-rank{grid-area:rank;text-align:left;font-size:26px;line-height:1;padding-top:4px}.rfm-cover{grid-area:cover}.rfm-cover img,.rfm-cover-placeholder{width:68px;height:68px;border-radius:20px;box-shadow:0 12px 24px rgba(0,0,0,.28),0 3px 8px rgba(0,0,0,.18)}.rfm-meta{grid-area:meta;padding-top:2px}.rfm-artist{font-size:17px;line-height:1.18;margin-bottom:4px}.rfm-title{font-size:14px;line-height:1.3}.rfm-last-position{margin-top:8px;font-size:11px;line-height:1.25}.rfm-votes{margin-top:9px;font-size:12px}.rfm-trend{grid-area:trend;justify-self:end;justify-content:center;align-self:start;min-height:42px;min-width:60px;padding:0 12px;border-radius:14px}.rfm-vote-action{grid-area:action;display:flex}.rfm-vote-button{width:100%;min-width:0;padding:14px 16px;border-radius:16px;font-size:15px}.rfm-bar-row{padding:14px 14px 16px;border-radius:18px}.rfm-bar-header{grid-template-columns:48px minmax(0,1fr);gap:10px}.rfm-bar-header .rfm-trend{grid-column:1/-1;justify-self:flex-start}.rfm-simple-item{grid-template-columns:44px minmax(0,1fr);row-gap:10px;padding:14px;border-radius:18px}.rfm-chip{grid-column:1/-1;justify-self:flex-start}}
@media (max-width:480px){.rfm-inline-bar-track{height:9px}.rfm-charts-wrap{padding:14px;border-radius:22px}.rfm-heading{font-size:22px}.rfm-row{grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"rank meta trend" "cover meta trend" "action action action";gap:10px;padding:14px 13px 13px}.rfm-row--newcomer{grid-template-columns:48px minmax(0,1fr);grid-template-areas:"rank meta" "cover meta" "action action"}.rfm-rank{font-size:24px;padding-top:2px}.rfm-cover img,.rfm-cover-placeholder{width:54px;height:54px;border-radius:16px;box-shadow:0 10px 20px rgba(0,0,0,.25),0 2px 6px rgba(0,0,0,.16)}.rfm-trend{font-size:11px;letter-spacing:.08em;min-width:54px;padding:0 10px}.rfm-artist{font-size:16px}.rfm-title,.rfm-votes{font-size:13px}.rfm-last-position{font-size:11px;opacity:.72}.rfm-vote-button{padding:13px 14px;border-radius:14px}.rfm-bar-track{height:22px}.rfm-vote-modal__box{padding:24px;border-radius:24px}.rfm-vote-modal__message{font-size:18px}}

@media (max-width:768px){.rfm-row--newcomer .rfm-cover{align-self:center}.rfm-row--newcomer .rfm-vote-button{margin-top:2px}}
@media (max-width:480px){.rfm-row--newcomer{column-gap:12px}.rfm-row--newcomer .rfm-cover{margin-top:2px}.rfm-row--newcomer .rfm-meta{padding-top:0}}


/* v1.2.5 live voting enhancements */
.rfm-inline-bar-fill{transition:width .7s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,filter .35s ease}
.rfm-bar-pulse{box-shadow:0 8px 20px rgba(212,175,55,.34);filter:saturate(1.08)}
.rfm-row{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease}
.rfm-row-voted{animation:rfmVotePop .75s ease}
@keyframes rfmVotePop{0%{transform:scale(.985)}40%{transform:scale(1.012)}100%{transform:scale(1)}}

.rfm-row--top3{border-color:rgba(212,175,55,.32);box-shadow:0 16px 34px rgba(0,0,0,.2),0 0 0 1px rgba(212,175,55,.08) inset}
.rfm-row--top1{box-shadow:0 18px 40px rgba(0,0,0,.24),0 0 26px rgba(212,175,55,.18),inset 0 1px 0 rgba(255,255,255,.06)}
.rfm-row--top2{box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 18px rgba(232,232,232,.08),inset 0 1px 0 rgba(255,255,255,.06)}
.rfm-row--top3rank{box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 18px rgba(205,127,50,.14),inset 0 1px 0 rgba(255,255,255,.06)}
.rfm-row--top1 .rfm-rank,.rfm-row--top2 .rfm-rank,.rfm-row--top3rank .rfm-rank{text-shadow:0 0 16px rgba(212,175,55,.28)}
.rfm-row--top1 .rfm-vote-button,.rfm-row--top2 .rfm-vote-button,.rfm-row--top3rank .rfm-vote-button{box-shadow:0 16px 34px rgba(0,0,0,.26),0 0 18px rgba(212,175,55,.14),inset 0 1px 0 rgba(255,255,255,.45)}

@media (prefers-reduced-motion: reduce){
  .rfm-inline-bar-fill,.rfm-row,.rfm-row-voted,.rfm-vote-button{transition:none !important;animation:none !important}
}


/* v1.2.6 fixed positions + podium glow */
.rfm-row--top1{border-color:rgba(212,175,55,.48)!important;box-shadow:0 18px 40px rgba(0,0,0,.24),0 0 26px rgba(212,175,55,.28),0 0 42px rgba(212,175,55,.18),inset 0 1px 0 rgba(255,255,255,.06)!important}
.rfm-row--top2{border-color:rgba(214,220,230,.42)!important;box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 22px rgba(214,220,230,.18),0 0 34px rgba(214,220,230,.10),inset 0 1px 0 rgba(255,255,255,.06)!important}
.rfm-row--top3rank{border-color:rgba(205,127,50,.42)!important;box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 20px rgba(205,127,50,.22),0 0 30px rgba(205,127,50,.12),inset 0 1px 0 rgba(255,255,255,.06)!important}
.rfm-row--top1 .rfm-rank{color:#f1c84c;text-shadow:0 0 16px rgba(212,175,55,.45)}
.rfm-row--top2 .rfm-rank{color:#d9dee7;text-shadow:0 0 14px rgba(214,220,230,.38)}
.rfm-row--top3rank .rfm-rank{color:#d28a52;text-shadow:0 0 14px rgba(205,127,50,.38)}


.rfm-rank-1 { border: 3px solid gold !important; box-shadow: 0 0 12px gold; }
.rfm-rank-2 { border: 3px solid silver !important; box-shadow: 0 0 10px silver; }
.rfm-rank-3 { border: 3px solid #cd7f32 !important; box-shadow: 0 0 10px #cd7f32; }


/* Remove top3 highlight in newcomer */
.rfm-chart.newcomer .rfm-rank-1,
.rfm-chart.newcomer .rfm-rank-2,
.rfm-chart.newcomer .rfm-rank-3 {
    border: none !important;
    box-shadow: none !important;
}

/* Blue glow for NEW entries */
.rfm-new {
    box-shadow: 0 0 10px #3aa0ff;
    border: 2px solid #3aa0ff !important;
}


/* v1.2.9 verified fixes */
.rfm-row--new-glow{border-color:rgba(58,160,255,.42)!important;box-shadow:0 16px 34px rgba(0,0,0,.22),0 0 18px rgba(58,160,255,.20),0 0 32px rgba(58,160,255,.12),inset 0 1px 0 rgba(255,255,255,.06)!important}
.rfm-row--new-glow .rfm-trend-new{box-shadow:0 0 12px rgba(58,160,255,.22)}



/* v0.9.1 glow border animation for top 1/2/3 and NEW */
.rfm-row,
.rfm-chart-item,
.rfm-chart-row,
.rfm-entry,
.rfm-card {
  transition: box-shadow .3s ease, border-color .3s ease;
}

@keyframes rfmGoldBorderPulse {
  0%, 100% {
    box-shadow: 0 0 10px rgba(212,175,55,.20), 0 0 22px rgba(212,175,55,.10);
  }
  50% {
    box-shadow: 0 0 18px rgba(212,175,55,.36), 0 0 36px rgba(212,175,55,.22);
  }
}

@keyframes rfmSilverBorderPulse {
  0%, 100% {
    box-shadow: 0 0 8px rgba(214,220,230,.18), 0 0 18px rgba(214,220,230,.10);
  }
  50% {
    box-shadow: 0 0 16px rgba(214,220,230,.32), 0 0 30px rgba(214,220,230,.18);
  }
}

@keyframes rfmBronzeBorderPulse {
  0%, 100% {
    box-shadow: 0 0 8px rgba(205,127,50,.18), 0 0 18px rgba(205,127,50,.10);
  }
  50% {
    box-shadow: 0 0 16px rgba(205,127,50,.30), 0 0 30px rgba(205,127,50,.18);
  }
}

@keyframes rfmBlueBorderPulse {
  0%, 100% {
    box-shadow: 0 0 8px rgba(58,160,255,.18), 0 0 18px rgba(58,160,255,.10);
  }
  50% {
    box-shadow: 0 0 16px rgba(58,160,255,.30), 0 0 30px rgba(58,160,255,.18);
  }
}

/* Preferred classes from later plugin versions */
.rfm-row--top1 { animation: rfmGoldBorderPulse 2.6s ease-in-out infinite; border-color: rgba(212,175,55,.70) !important; }
.rfm-row--top2 { animation: rfmSilverBorderPulse 2.8s ease-in-out infinite; border-color: rgba(214,220,230,.70) !important; }
.rfm-row--top3rank { animation: rfmBronzeBorderPulse 3s ease-in-out infinite; border-color: rgba(205,127,50,.70) !important; }
.rfm-row--new-glow { animation: rfmBlueBorderPulse 2.7s ease-in-out infinite; border-color: rgba(58,160,255,.70) !important; }

/* Fallback selectors in case older markup uses rank/new classes directly */
.rfm-rank-1:not(.newcomer):not(.rfm-newcomer),
.rfm-top-1:not(.newcomer):not(.rfm-newcomer) {
  animation: rfmGoldBorderPulse 2.6s ease-in-out infinite;
  border-color: rgba(212,175,55,.70) !important;
}
.rfm-rank-2:not(.newcomer):not(.rfm-newcomer),
.rfm-top-2:not(.newcomer):not(.rfm-newcomer) {
  animation: rfmSilverBorderPulse 2.8s ease-in-out infinite;
  border-color: rgba(214,220,230,.70) !important;
}
.rfm-rank-3:not(.newcomer):not(.rfm-newcomer),
.rfm-top-3:not(.newcomer):not(.rfm-newcomer) {
  animation: rfmBronzeBorderPulse 3s ease-in-out infinite;
  border-color: rgba(205,127,50,.70) !important;
}
.rfm-new,
.rfm-trend-new,
.rfm-is-new,
.rfm-status-new {
  animation: rfmBlueBorderPulse 2.7s ease-in-out infinite;
  border-color: rgba(58,160,255,.70) !important;
}

/* No motion for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rfm-row--top1,
  .rfm-row--top2,
  .rfm-row--top3rank,
  .rfm-row--new-glow,
  .rfm-rank-1,
  .rfm-rank-2,
  .rfm-rank-3,
  .rfm-top-1,
  .rfm-top-2,
  .rfm-top-3,
  .rfm-new,
  .rfm-trend-new,
  .rfm-is-new,
  .rfm-status-new {
    animation: none !important;
  }
}





/* v0.9.5 softer hover light effect */
.rfm-row,
.rfm-chart-item,
.rfm-entry,
.rfm-card {
    transition: box-shadow .28s ease, border-color .28s ease, filter .28s ease, background .28s ease;
}

.rfm-row:hover,
.rfm-chart-item:hover,
.rfm-entry:hover,
.rfm-card:hover {
    transform: none !important;
    box-shadow:
        0 10px 24px rgba(0,0,0,0.34),
        0 0 0 1px rgba(255,215,0,0.10),
        0 0 16px rgba(255,215,0,0.12),
        0 0 28px rgba(255,215,0,0.08);
    filter: brightness(1.03);
}

.rfm-row:hover .rfm-title,
.rfm-chart-item:hover .rfm-title,
.rfm-entry:hover .rfm-title,
.rfm-card:hover .rfm-title {
    color: #ffe082;
    text-shadow: 0 0 8px rgba(255,215,0,0.12);
}

@media (prefers-reduced-motion: reduce) {
    .rfm-row,
    .rfm-chart-item,
    .rfm-entry,
    .rfm-card {
        transition: box-shadow .2s ease, border-color .2s ease, filter .2s ease, background .2s ease;
    }
    .rfm-row:hover,
    .rfm-chart-item:hover,
    .rfm-entry:hover,
    .rfm-card:hover {
        transform: none !important;
    }
}



@media (prefers-reduced-motion: reduce) {
  .rfm-vote-bar-fill,
  .rfm-bar-fill,
  .rfm-chart-bar-fill,
  .rfm-votes-bar-fill {
    animation: none !important;
  }
}


/* v0.9.9 reliable vote bar animation */
.rfm-inline-bar-track{overflow:hidden}
.rfm-inline-bar-fill{
  transform-origin:left center;
  will-change:transform, opacity, box-shadow;
}
.rfm-bar-animate{
  animation: rfmVoteBarSweep 2.3s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes rfmVoteBarSweep{
  0%{transform:scaleX(0);opacity:.55}
  70%{transform:scaleX(1.03);opacity:1}
  100%{transform:scaleX(1);opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .rfm-bar-animate{animation:none !important}
}


.rfm-lock-banner{position:relative;z-index:2;margin:0 0 18px;padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,rgba(190,34,34,.20),rgba(120,18,18,.16));border:1px solid rgba(255,115,115,.22);box-shadow:0 10px 24px rgba(0,0,0,.20);display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.rfm-lock-banner strong{font-weight:900;color:#ffd4d4}
.rfm-lock-banner__time{opacity:.9}
.rfm-lock-banner__countdown{margin-left:auto;font-weight:900;color:#fff0b5}
.rfm-vote-button[disabled]{opacity:.7;cursor:not-allowed;filter:saturate(.7)}
@media (max-width: 768px){
  .rfm-lock-banner{padding:12px 14px}
  .rfm-lock-banner__countdown{margin-left:0;width:100%}
}
