.pokereel{color:#fff;background:radial-gradient(#233248,#070d17);border-radius:16px;min-width:0;position:relative;overflow:hidden}.pokereel-ball-stage{z-index:4;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.pokereel-ball{width:116px;height:116px;filter:drop-shadow(0 0 18px var(--ball-glow));position:relative}.pokereel-top,.pokereel-bottom{border:5px solid #141925;width:100%;height:50%;position:absolute;overflow:hidden}.pokereel-top{background:linear-gradient(135deg, #fff8, transparent 65%), var(--ball-shell);transform-origin:bottom;border-radius:116px 116px 0 0;top:0}.pokereel-bottom{background:linear-gradient(135deg,#fff,#aab6c9);border-radius:0 0 116px 116px;bottom:0}.pokereel-led{width:30px;height:30px;box-shadow:0 0 12px var(--ball-glow);background:#fff;border:7px solid #141925;border-radius:50%;position:absolute;top:43px;left:43px}.pokereel-custom{object-fit:contain;width:100%;height:116px;position:absolute;inset:0}.pokereel-bottom .pokereel-custom{top:-58px}.pokereel-ball[data-custom=true] .pokereel-top,.pokereel-ball[data-custom=true] .pokereel-bottom{background:0 0;border:0;border-radius:0}.pokereel[data-ball-type=GREATBALL] .pokereel-top:before,.pokereel[data-ball-type=ULTRABALL] .pokereel-top:before,.pokereel[data-ball-type=MASTERBALL] .pokereel-top:before{content:"";background:linear-gradient(90deg,#0000 15%,#ef4444 15% 30%,#0000 30% 70%,#ef4444 70% 85%,#0000 85%);position:absolute;inset:0}.pokereel[data-ball-type=ULTRABALL] .pokereel-top:before{background:linear-gradient(90deg,#0000 15%,#eab308 15% 30%,#0000 30% 70%,#eab308 70% 85%,#0000 85%)}.pokereel[data-ball-type=MASTERBALL] .pokereel-top:before{background:radial-gradient(circle at 15%,#f472b6 0 15px,#0000 16px),radial-gradient(circle at 85%,#f472b6 0 15px,#0000 16px)}.pokereel-master-mark{color:#fff;font-size:24px;line-height:1;position:absolute;top:13px;left:50%;transform:translate(-50%)}.pokereel-burst{background:var(--ball-ray);width:60px;height:60px;box-shadow:0 0 60px 25px var(--ball-glow);opacity:0;border-radius:50%;position:absolute}.pokereel[data-phase=OPENING] .pokereel-ball{animation:.7s ease-in-out .5s pokeball-shake}.pokereel[data-phase=OPENING] .pokereel-top{animation:.6s 1.2s forwards pokeball-open-top}.pokereel[data-phase=OPENING] .pokereel-bottom{animation:.6s 1.2s forwards pokeball-open-bottom}.pokereel[data-phase=OPENING] .pokereel-led{opacity:0;animation:.24s .5s 3 pokeball-led,.1s 1.2s forwards pokeball-led-hide}.pokereel[data-phase=OPENING] .pokereel-burst{animation:.6s 1.2s forwards pokeball-burst}.pokereel[data-pending=true] .pokereel-ball{animation:.9s ease-in-out infinite alternate pokeball-pending}.pokereel-particles{position:absolute;top:50%;left:50%}.pokereel-particles i{background:var(--ball-particle);width:5px;height:5px;box-shadow:0 0 9px var(--ball-glow);opacity:0;border-radius:50%;position:absolute}.pokereel[data-phase=OPENING] .pokereel-particles i{animation:.6s ease-out 1.2s forwards pokeball-particle}.pokereel[data-phase=SPINNING] .pokereel-ball-stage,.pokereel[data-phase=REVEAL] .pokereel-ball-stage{display:none}.pokereel-frame{opacity:0;height:280px;transition:opacity .3s;position:relative;overflow:hidden}.pokereel[data-phase=OPENING] .pokereel-frame{animation:.6s 1.2s forwards pokereel-materialize}.pokereel[data-phase=SPINNING] .pokereel-frame,.pokereel[data-phase=REVEAL] .pokereel-frame{opacity:1}.pokereel-frame:after{content:"";pointer-events:none;background:linear-gradient(90deg,#070d17,#0000 18% 82%,#070d17);position:absolute;inset:0}.pokereel-track{will-change:transform;gap:12px;width:max-content;display:flex;position:absolute;top:40px;left:0}.pokereel-slot{flex:0 0 124px;width:124px}.pokereel-card{background:#1c2a40;border-style:solid;border-width:2px;border-radius:10px;flex-direction:column;align-items:center;gap:5px;height:195px;padding:8px;transition:opacity .4s,transform .5s;display:flex}.pokereel-card img{object-fit:contain;width:100%;height:130px}.pokereel-card strong{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;overflow:hidden}.pokereel-card small{color:#e1c16a;font-size:10px}.pokereel[data-phase=REVEAL] .pokereel-card{opacity:.2}.pokereel[data-phase=REVEAL] [data-winner=true] .pokereel-card{opacity:1;transform:translateX(var(--winner-shift,0px)) scale(1.2)}.pokereel[data-phase=REVEAL] [data-winner=true]{z-index:2;position:relative}.pokereel-needle{z-index:3;border-left:1px solid #ffd76b66;position:absolute;top:0;bottom:0;left:50%}.pokereel-needle:before,.pokereel-needle:after{content:"";border-left:9px solid #0000;border-right:9px solid #0000;position:absolute;left:-9px}.pokereel-needle:before{border-top:18px solid #ffd76b;top:0}.pokereel-needle:after{border-bottom:18px solid #ffd76b;bottom:0}.pokereel-status{text-align:center;min-height:40px;padding:8px 12px;font-size:12px;font-weight:700}.pokereel-confetti{pointer-events:none;position:absolute;inset:0}.pokereel-confetti i{width:5px;height:12px;animation:1.3s ease-out both pokeball-confetti;position:absolute;top:0}@keyframes pokeball-shake{0%,to{transform:rotate(0)}15%,45%,75%{transform:translate(-5px)rotate(-12deg)}30%,60%,90%{transform:translate(5px)rotate(12deg)}}@keyframes pokeball-led{0%,to{opacity:1}50%{opacity:1;background:var(--ball-glow);box-shadow:0 0 30px var(--ball-glow)}}@keyframes pokeball-open-top{to{opacity:0;transform:perspective(300px)rotateX(180deg)translateY(-30px)}}@keyframes pokeball-open-bottom{to{opacity:0;transform:translateY(70px)rotate(-15deg)}}@keyframes pokeball-led-hide{0%{opacity:1}to{opacity:0}}@keyframes pokeball-pending{to{filter:drop-shadow(0 0 32px var(--ball-glow))}}@keyframes pokeball-particle{20%{opacity:1}to{transform:rotate(var(--particle-angle)) translateX(var(--particle-distance));opacity:0}}@keyframes pokereel-materialize{0%{opacity:0;clip-path:inset(45% 48%)}to{opacity:1;clip-path:inset(0)}}@keyframes pokeball-burst{35%{opacity:1}to{opacity:0;transform:scaleX(12)scaleY(3)}}@keyframes pokeball-confetti{to{opacity:0;transform:translateY(310px)rotate(540deg)}}@media (min-width:640px){.pokereel-slot{flex-basis:144px;width:144px}}@media (max-width:639px){.pokereel{border-radius:12px}.pokereel-frame{height:246px}.pokereel-track{top:35px}.pokereel-slot{flex-basis:108px;width:108px}.pokereel-card{height:174px;padding:6px}.pokereel-card img{height:112px}.pokereel-card strong{font-size:12px}.pokereel-status{min-height:44px;padding:10px 14px;line-height:1.5}.pokereel-ball{transform:scale(.9)}.pokereel-frame:after{background:linear-gradient(90deg,#070d17,#0000 10% 90%,#070d17)}}@media (prefers-reduced-motion:reduce){.pokereel *{transition:none!important;animation:none!important}}
