.star-transition{position:fixed;inset:0;z-index:10000;pointer-events:none;overflow:hidden;background:#b4f6ff22}.star-transition i{position:absolute;left:var(--x);top:-35vh;width:clamp(70px,14vw,200px);aspect-ratio:1;background:var(--color);clip-path:polygon(50% 0,62% 34%,98% 36%,70% 59%,79% 96%,50% 75%,21% 96%,30% 59%,2% 36%,38% 34%);animation:star-sweep .85s cubic-bezier(.3,.1,.4,1) both;animation-delay:var(--delay);filter:drop-shadow(0 4px 0 white)}@keyframes star-sweep{from{transform:translate(-10vw,0) rotate(-30deg)}to{transform:translate(15vw,145vh) rotate(150deg)}}
dialog.reward-popup{width:min(92vw,560px);max-width:560px;max-height:90svh;overflow:auto;padding:28px;border:4px solid white;border-radius:36px;background:linear-gradient(145deg,#fffafd,#ffedf9 65%,#d8faff);color:#593470;text-align:center;box-shadow:0 20px 80px #173e6c66;font-family:ui-rounded,'Trebuchet MS',sans-serif}dialog.reward-popup::backdrop{background:#123856a8;backdrop-filter:blur(5px)}dialog.reward-popup .reward-hero{display:block;width:140px;height:140px;margin:0 auto;object-fit:contain;filter:drop-shadow(0 8px 14px #f7bc5a77);animation:reward-float 3s ease-in-out infinite}dialog.reward-popup h2{font-size:clamp(27px,5vw,38px);color:#703e91;margin:12px 0}dialog.reward-popup p{font-size:18px;line-height:1.5}dialog.reward-popup .reward-label{color:#a64b91;letter-spacing:2px;font-size:13px;font-weight:900;margin:12px 0 0}dialog.reward-popup .reward-actions{display:flex;gap:12px;margin-top:24px;justify-content:center;flex-wrap:wrap}dialog.reward-popup .reward-actions>*{display:inline-flex;align-items:center;justify-content:center;flex:1;min-width:150px;margin:0;padding:14px 18px;border:3px solid white;border-radius:28px;background:linear-gradient(#ffa8df,#ec62b7);box-shadow:0 4px 0 #bd529d;color:#fff;font-size:18px;font-weight:900;text-decoration:none;cursor:pointer;text-shadow:0 1px 2px #95418b}dialog.reward-popup .reward-actions>a{background:linear-gradient(#81e6f6,#39abd9);box-shadow:0 4px 0 #2786b3}dialog.reward-popup .reward-shop{display:block;margin:20px auto 0;color:#714e90;font-size:15px}dialog.reward-popup #prizes{display:none}@keyframes reward-float{50%{transform:translateY(-7px) rotate(8deg)}}@media(prefers-reduced-motion:reduce){.star-transition{display:none}dialog.reward-popup .reward-hero{animation:none}}
