#modal.victory-party {
 background:radial-gradient(ellipse at top,#f5d97480,transparent 65%),linear-gradient(#143f50ed,#204c27e8);
 padding-bottom:clamp(115px,23vh,210px);
 overflow:hidden;
}
.victory-party .dialog {position:relative;z-index:1;max-height:70vh;}
#victoryDancers {position:absolute;inset:0;pointer-events:none;overflow:hidden;}
#victoryDancers::before {
 content:'♫   ✦   ♪   ✨   ♫   ✦   ♪';position:absolute;inset:7% 0 auto;text-align:center;
 color:#ffe992;font-size:clamp(24px,5vw,60px);letter-spacing:2vw;
 animation:party-notes 4s ease-in-out infinite;
}
#victoryDancers img {
 position:absolute;bottom:3vh;left:calc(2% + var(--dancer)*12%);
 width:11%;height:clamp(65px,18vh,165px);object-fit:contain;transform-origin:50% 95%;
 filter:drop-shadow(0 10px 5px #0005);
 animation:party-dance 1s ease-in-out infinite;animation-delay:calc(var(--dancer)*-.25s);
}
@keyframes party-dance {
 0%,100% {transform:translateY(0) rotate(-10deg) scale(1.03,.97);}
 25% {transform:translateY(-20px) rotate(0) scale(.97,1.03);}
 50% {transform:translateY(0) rotate(10deg) scale(1.03,.97);}
 75% {transform:translateY(-12px) rotate(0) scale(.97,1.03);}
}
@keyframes party-notes {50% {transform:translateY(12px);opacity:.55;}}
@media (prefers-reduced-motion:reduce) {
 #victoryDancers img,#victoryDancers::before {animation:none;}
}
