.wheel-stage-spinning{animation:1.2s ease-in-out infinite alternate stage-glow}.wheel-spinning{box-shadow:0 24px 70px #8c506040,inset 0 0 0 2px #ffffffa6}.wheel-complete{animation:.65s cubic-bezier(.2,.9,.25,1) wheel-settle}.wheel-pointer.is-spinning{transform-origin:50% 0;animation:.13s ease-in-out infinite pointer-tick}.spin-status{color:#8c5060;letter-spacing:.04em;justify-content:center;align-items:center;gap:.45rem;min-height:38px;margin:1.05rem 0 .15rem;font-size:.86rem;font-weight:800;display:flex}.form-spinning{box-shadow:0 20px 65px #8c506024}.prize-reveal{isolation:isolate;animation:.75s cubic-bezier(.2,.9,.25,1) both prize-enter;position:relative}.celebration{z-index:-1;pointer-events:none;position:absolute;inset:0}.celebration i{--angle:calc(var(--i) * 30deg);background:var(--color,#c9a96b);width:8px;height:14px;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-30px);animation:.9s cubic-bezier(.15,.75,.25,1) both celebrate;animation-delay:calc(var(--i) * 25ms);border-radius:999px;position:absolute;top:48%;left:50%}.celebration i:nth-child(3n){--color:#e7c4c7}.celebration i:nth-child(3n+1){--color:#c9a96b}.celebration i:nth-child(3n+2){--color:#8c5060}@keyframes stage-glow{0%{box-shadow:0 30px 90px #2e3a1f21}to{box-shadow:0 34px 100px #8c50603d}}@keyframes pointer-tick{0%,to{transform:translate(-50%)rotate(0)}50%{transform:translate(-50%)rotate(-9deg)}}@keyframes wheel-settle{0%{filter:brightness()}45%{filter:brightness(1.1)saturate(1.08)}to{filter:brightness()}}@keyframes prize-enter{0%{opacity:0;transform:translateY(18px)scale(.96)}60%{transform:translateY(-3px)scale(1.015)}to{opacity:1;transform:none}}@keyframes celebrate{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-24px) scale(.5)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(-118px) scale(1)}}@media (prefers-reduced-motion:reduce){.wheel-stage-spinning,.wheel-pointer.is-spinning,.wheel-complete,.prize-reveal,.celebration i{animation:none!important}}@media (max-width:640px){.spin-status{margin-top:.8rem}}
