.player-page{width:min(760px,calc(100% - 24px));margin:0 auto;padding:30px 0 48px}.player-head{text-align:center;margin-bottom:19px}
.player-head h1{margin:0;font-size:clamp(29px,5vw,46px);letter-spacing:-.04em}.player-head p{margin:8px auto 0;max-width:570px;color:var(--muted);font-size:14px;line-height:1.5}
.player-card{padding:20px}.player-name{max-width:560px;margin:0 auto 14px}.player-name label{display:block;margin-bottom:8px;font-size:14px;font-weight:650}.player-name input{width:100%;border:1px solid var(--line);border-radius:13px;padding:13px 15px;font-size:16px;background:#fff}
.wheel-shell{position:relative;width:min(100%,575px);aspect-ratio:1;margin:5px auto 0}.pointer{position:absolute;left:50%;top:-3px;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:32px solid #111827;z-index:8;filter:drop-shadow(0 3px 2px rgba(0,0,0,.18))}
.pointer:after{content:"";position:absolute;left:-2px;top:-32px;width:4px;height:13px;background:#111827;border-radius:3px}#wheel{display:block;width:100%;height:100%;border-radius:50%}
.spin-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:118px;height:118px;border-radius:50%;border:8px solid #fff;background:#111827;color:#fff;font-weight:850;font-size:18px;z-index:6;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:0}
.spin-btn:hover{transform:translate(-50%,-50%) scale(1.025)}.spin-btn:disabled{transform:translate(-50%,-50%)}
.result-box{max-width:560px;margin:18px auto 0;border:1px solid var(--line);background:var(--soft);border-radius:16px;padding:16px;text-align:center}.result-label{font-size:11px;letter-spacing:.1em;color:var(--muted);font-weight:750}
.result-value{font-size:23px;line-height:1.3;font-weight:850;margin-top:5px}.result-meta{font-size:12px;color:var(--muted);margin-top:6px;min-height:17px}.player-message{text-align:center;font-size:13px;line-height:1.45;min-height:20px;margin:11px auto 0;max-width:560px;color:var(--danger)}
.closed-banner{max-width:560px;margin:0 auto 14px;border:1px solid #fecaca;background:#fff7f7;color:#991b1b;border-radius:13px;padding:11px 14px;text-align:center;font-size:13px;font-weight:650}
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:50%;z-index:7}.confetti i{position:absolute;top:45%;left:50%;width:8px;height:13px;border-radius:2px;opacity:0;animation:pop 1.15s ease-out forwards}
@keyframes pop{0%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.8)}}
@media(max-width:520px){.player-page{padding-top:18px}.player-card{padding:14px;border-radius:19px}.spin-btn{width:94px;height:94px;font-size:15px;border-width:6px}.result-value{font-size:20px}}
.player-page{width:min(690px,calc(100% - 24px));padding-top:24px}.player-head p{font-size:16px}.wheel-shell{width:min(100%,490px)}.result-label{font-size:12px}.result-meta,.player-message,.closed-banner{font-size:14px}.player-head h1{color:#172d56}.spin-btn{background:#172d56}.player-card{box-shadow:0 18px 65px #172d5612}.result-box{background:#f2f6fc}.result-value{overflow-wrap:anywhere}
@media(max-width:360px){.spin-btn{width:80px;height:80px;border-width:5px}}
