.sound-hub-redesign #hubPodium.winners-podium{display:block;position:relative;isolation:isolate;overflow:hidden;min-height:390px;padding:32px 30px 25px;margin:10px 0 32px;border:1px solid #ffffff13;border-radius:28px;background:radial-gradient(ellipse at 50% 5%,#a98aff25,transparent 55%),linear-gradient(180deg,#151c30,#0e1423)}
.winners-podium:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 17% 32%,#91e2ee3d 0 1px,transparent 2px),radial-gradient(circle at 78% 18%,#f6dc8b55 0 1px,transparent 2px),radial-gradient(circle at 67% 43%,#b5a1ff44 0 2px,transparent 3px),radial-gradient(circle at 37% 20%,#ffffff38 0 1px,transparent 2px);pointer-events:none}
.podium-scene{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:'second first third';align-items:end;max-width:900px;margin:auto;gap:10px;position:relative;z-index:1}
.winner-slot{min-width:0;text-align:center;--medal:#e6c576;--step-height:172px;--delay:180ms}.winner-slot-1{grid-area:first}.winner-slot-2{grid-area:second;--medal:#b8cce5;--step-height:123px;--delay:50ms}.winner-slot-3{grid-area:third;--medal:#d6a07a;--step-height:94px;--delay:300ms}
.winner-person{padding:12px 8px 19px;min-width:0}.winner-portrait{position:relative;width:84px;height:84px;margin:0 auto 15px;display:grid;place-items:center;border-radius:50%;border:3px solid var(--medal);background:#29334b;box-shadow:0 0 0 6px #ffffff05,0 8px 25px #0005;color:var(--medal)}
.winner-avatar{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}.winner-initial{font-weight:850;font-size:25px}.winner-slot-1 .winner-portrait{width:105px;height:105px;box-shadow:0 0 0 8px #e6c5760d,0 0 40px #e6c57624}
.winner-crown{position:absolute;z-index:2;top:-40px;left:50%;transform:translateX(-50%) rotate(-7deg);font-size:42px;line-height:1;color:#f6d16f;text-shadow:0 4px 18px #f7d57766}.winner-place{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:var(--medal);margin-bottom:5px}.winner-name{font-size:17px!important;line-height:1.35;overflow-wrap:anywhere;margin:0!important;color:#f2f5ff;font-weight:800}
.winner-step{height:var(--step-height);border:1px solid color-mix(in srgb,var(--medal) 40%,transparent);border-top:5px solid var(--medal);border-bottom:0;border-radius:14px 14px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;position:relative;overflow:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--medal) 20%,#172035),#151e31);box-shadow:inset -9px 0 0 #00000015,0 12px 28px #0003;transform-origin:bottom}
.winner-slot-1 .winner-step{background:linear-gradient(140deg,#645333,#302a29 65%,#242334)}.winner-rank{position:absolute;right:8px;bottom:-20px;font-size:130px;font-weight:950;line-height:1;opacity:.07;color:var(--medal);pointer-events:none}.winner-score{font-size:32px;font-weight:900;letter-spacing:-1px;color:var(--medal);z-index:1;max-width:100%;overflow-wrap:anywhere;padding:0 10px}.winner-unit{font-size:11px;color:#c5d0e3;position:relative;padding:0 10px}.winner-slot-1 .winner-score{font-size:40px}.podium-floor{height:12px;max-width:950px;margin:auto;border:1px solid #ffffff13;border-radius:0 0 14px 14px;background:linear-gradient(90deg,#a7bdd52a,#e6c57655,#d6a07a22);box-shadow:0 10px 35px #0008;position:relative;z-index:2}.winner-vacant{opacity:.55}.winner-vacant .winner-portrait{border-style:dashed}
.podium-ready .winner-person{animation:podium-arrive .65s both;animation-delay:var(--delay)}.podium-ready .winner-step{animation:podium-rise .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay)}.podium-ready .winner-portrait{animation:podium-hover 5s ease-in-out infinite;animation-delay:calc(var(--delay) + 900ms)}.podium-ready .winner-slot-1 .winner-step:after{content:'';position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 42%,#fff2 50%,transparent 58%);transform:translateX(-60%);animation:podium-shine 7s 1.5s ease-in-out infinite;pointer-events:none}
@keyframes podium-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes podium-rise{from{opacity:0;transform:scaleY(.15)}to{opacity:1;transform:scaleY(1)}}@keyframes podium-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes podium-shine{0%,60%{transform:translateX(-60%)}85%,100%{transform:translateX(60%)}}
@media(max-width:700px){.sound-hub-redesign #hubPodium.winners-podium{padding:39px 10px 17px;min-height:340px;border-radius:20px}.podium-scene{gap:5px}.winner-person{padding:10px 2px 15px}.winner-portrait{width:55px;height:55px;border-width:2px;margin-bottom:13px}.winner-slot-1 .winner-portrait{width:70px;height:70px}.winner-crown{font-size:32px;top:-31px}.winner-place{font-size:8px;letter-spacing:.5px}.winner-name{font-size:12px!important;min-height:33px}.winner-slot{--step-height:140px}.winner-slot-2{--step-height:105px}.winner-slot-3{--step-height:80px}.winner-score{font-size:23px;padding:0 4px}.winner-slot-1 .winner-score{font-size:28px}.winner-unit{font-size:8px;padding:0 4px}.winner-rank{font-size:92px;bottom:-13px}.winner-step{border-top-width:3px;border-radius:9px 9px 0 0}.winner-initial{font-size:18px}}
@media(prefers-reduced-motion:reduce){.winners-podium *,.winners-podium *:after{animation:none!important;transition:none!important}}
