.levels{grid-template-columns:repeat(4,1fr);max-width:990px}
.celebration{overflow:hidden;background:rgba(22,31,50,.55);backdrop-filter:blur(8px)}
.celebration>.confetti{position:absolute;inset:0;width:auto;padding:0;border-radius:0;background:transparent;box-shadow:none;pointer-events:none}
.celebration>.win-card{position:relative;z-index:2;width:min(420px,100%);padding:35px;border-radius:25px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(19,29,51,.3);animation:win-pop .58s cubic-bezier(.2,1.35,.45,1)}
.celebration .win-star{display:grid;width:68px;height:68px;margin:auto;place-items:center;border-radius:50%;background:#fff0cd;color:var(--gold);font-size:34px;animation:star-burst .8s ease both}
.celebration .win-kicker{margin:14px 0 0;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.22em}
.celebration h2{margin:5px 0 7px;font-size:28px}
.win-actions{display:grid;gap:8px;margin-top:20px}
.win-actions button,.win-actions a{padding:11px 20px;border:1px solid #dce2ec;border-radius:12px;background:#fff;color:#68748a;font-size:12px;font-weight:850;text-decoration:none;cursor:pointer}
.win-actions .next-level{border-color:var(--gold);background:var(--gold);color:#fff}
.confetti i{position:absolute;top:-12%;left:var(--x);width:9px;height:17px;border-radius:2px;background:var(--color);transform:rotate(var(--rotate));animation:confetti-fall var(--duration) var(--delay) ease-in forwards}
@keyframes win-pop{0%{opacity:0;transform:scale(.55) translateY(30px)}100%{opacity:1;transform:scale(1) translateY(0)}}
@keyframes star-burst{0%{opacity:0;transform:scale(.2) rotate(-90deg)}70%{transform:scale(1.2) rotate(12deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}100%{transform:translate3d(var(--drift),115vh,0) rotate(720deg);opacity:.9}}
@media(max-width:760px){.levels{grid-template-columns:1fr 1fr}.celebration>.win-card{padding:28px 22px}}
@media(max-width:430px){.levels{grid-template-columns:1fr}}
