/* Top Supporters podium — glossy black & gold */
.tpp{--acc:#f4c66f;display:grid;justify-items:center;gap:.4em;font-family:Inter,'Segoe UI',Arial,sans-serif;width:max-content}
.tpp-title{margin:0;font-family:'Arial Black',Inter,Arial,sans-serif;font-weight:900;font-size:1.9em;letter-spacing:.03em;background:linear-gradient(180deg,#fffbe9,var(--acc) 55%,#a8752c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #000) drop-shadow(0 0 10px #000a)}
.tpp-stage{display:flex;align-items:flex-end;gap:.7em}
.tpp-col{display:grid;justify-items:center;gap:.3em;width:8.4em;position:relative;animation:tpp-in .6s cubic-bezier(.2,1.3,.4,1) both}.tpp-r1{animation-delay:.15s}.tpp-r3{animation-delay:.3s}
@keyframes tpp-in{from{opacity:0;transform:translateY(1em) scale(.9)}}
.tpp-crown{width:2.6em;height:1.7em;margin-bottom:-.5em;filter:drop-shadow(0 2px 4px #000a);animation:tpp-bob 2.6s ease-in-out infinite;z-index:2}@keyframes tpp-bob{50%{transform:translateY(-.2em) rotate(-4deg)}}
.tpp-av{position:relative;width:5.4em;height:5.4em;border-radius:50%;padding:.28em;background:conic-gradient(from 210deg,var(--m1),var(--m2),var(--m3),var(--m2),var(--m1));box-shadow:0 0 1.2em color-mix(in srgb,var(--m2) 55%,transparent),0 .5em 1em #000b}
.tpp-r1 .tpp-av{width:6.8em;height:6.8em}
.tpp-av img,.tpp-av>b{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#3a3326,#0b0b0d);color:#fff;font-weight:900;font-size:1.6em;border:.12em solid #0b0b0d;box-sizing:border-box}
.tpp-rank{position:absolute;bottom:-.25em;left:50%;transform:translateX(-50%);width:1.7em;height:1.7em;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:.95em;color:#1a1410;background:linear-gradient(160deg,var(--m1),var(--m2) 55%,var(--m3));box-shadow:0 0 0 .14em #0b0b0d,0 .2em .4em #000a}
.tpp-name{max-width:8em;font-weight:900;font-size:1.05em;color:#fff;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 3px #000,0 0 8px #000;margin-top:.25em}
.tpp-pts{font-weight:900;color:var(--acc);font-size:1em;text-shadow:0 2px 3px #000}.tpp-pts small{font-size:.7em;color:#d8ccb2;font-weight:800}
.tpp-step{width:100%;display:grid;place-items:center;border-radius:.7em .7em .3em .3em;background:linear-gradient(180deg,#2a241b,#0b0b0d);border:1px solid color-mix(in srgb,var(--m2) 60%,transparent);box-shadow:inset 0 1px #fff2,0 .6em 1.2em #000a;position:relative;overflow:hidden}
.tpp-step:before{content:'';position:absolute;inset:0 0 auto 0;height:45%;background:linear-gradient(180deg,#ffffff1a,transparent)}
.tpp-step span{font-family:'Arial Black',Inter,Arial,sans-serif;font-weight:900;font-size:1.3em;background:linear-gradient(180deg,var(--m1),var(--m2) 60%,var(--m3));-webkit-background-clip:text;background-clip:text;color:transparent}
.tpp-r1 .tpp-step{height:5.2em}.tpp-r2 .tpp-step{height:3.8em}.tpp-r3 .tpp-step{height:2.8em}
.tpp-col.empty{opacity:.45}
.tpp-r1 .tpp-av:after{content:'';position:absolute;inset:-.4em;border-radius:50%;background:conic-gradient(transparent 0 70%,#fff8 80%,transparent 90%);animation:tpp-spin 3s linear infinite;mask:radial-gradient(circle,transparent 62%,#000 64%,#000 70%,transparent 72%);-webkit-mask:radial-gradient(circle,transparent 62%,#000 64%,#000 70%,transparent 72%)}
@keyframes tpp-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tpp-col,.tpp-crown,.tpp-r1 .tpp-av:after{animation:none}}
