/* Roleta (anel SVG) — compartilhado entre operação e pré-visualização do ADM */
.wheel-rotor { position: absolute; inset: 0; will-change: transform; filter: drop-shadow(0 30px 60px rgba(27,45,75,.28)); }
.wheel-svg { width: 100%; height: 100%; display: block; overflow: visible; }
.wheel-pointer { position: absolute; z-index: 3; width: 10.5%; left: 44.75%; top: -7.2%;
  transform-origin: 50% 12%; filter: drop-shadow(0 10px 14px rgba(10,108,255,.35)) drop-shadow(0 2px 3px rgba(27,45,75,.35)); overflow: visible; }
.seg-icon { font-family: 'uicons-sr'; fill: #fff; }
.seg-label { font-family: 'Montserrat', sans-serif; font-weight: 700; fill: #fff; letter-spacing: .04em; }
.seg-hi { opacity: 0; transition: opacity 300ms; }
.seg.win .seg-hi { opacity: 1; animation: win-pulse 900ms ease-in-out 3 alternate; }
@keyframes win-pulse { from { opacity: 1; } to { opacity: .72; } }
.wheel.has-winner .seg:not(.win) { opacity: .55; transition: opacity 500ms; }
.led { fill: #DCE9FF; opacity: .55; transition: opacity 120ms, fill 120ms; }
.wheel.chase .led.even, .wheel.spinning:not(.chase) .led.odd { opacity: 1; fill: #fff; }
.wheel.party .led { animation: led-party 360ms steps(2) 8; }
@keyframes led-party { 0% { opacity: 1; fill: #fff; } 100% { opacity: .25; fill: #6FA8FF; } }
