/* Optional show effects. The wheel always follows the recorded result. */
.audio-preview-control { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 22px 0 8px; padding: 15px; border: 1px solid #3c4771; border-radius: 12px; background: #182441; }
.audio-preview-control .tool-button { flex-shrink: 0; min-height: 44px; }
.audio-preview-control [role=status] { flex: 1; min-width: 150px; color: #a3b6df; font-size: 12px; line-height: 1.6; }
.stage-spotlight { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 1.2s ease; z-index: -1; overflow: hidden; }
.stage-spotlight i { position: absolute; top: -15%; left: -10%; width: 55%; height: 120%; background: linear-gradient(165deg,#708fff42,transparent 75%); clip-path: polygon(0 0,18% 0,100% 100%,0 100%); transform: rotate(-10deg); transform-origin: top left; }
.stage-spotlight i + i { left: auto; right: -10%; transform: scaleX(-1) rotate(-10deg); transform-origin: top right; background: linear-gradient(165deg,#bd89ff42,transparent 75%); }
.effects-spotlight-on.wheel-stage-running .stage-spotlight { opacity: .45; }
.effects-spotlight-on.wheel-stage-suspense .stage-spotlight { opacity: 1; }
.effects-spotlight-on.wheel-stage-suspense .wheel-scene::before { background: radial-gradient(ellipse at center,#6d58e73d,transparent 70%); }
.effects-spotlight-on.wheel-stage-suspense .pointer-readout { border-color: #9170dc; box-shadow: inset 0 0 32px #7e52d51a,0 0 35px #8b5cf620; }
.effects-spotlight-on.wheel-stage-complete .pointer-readout { border-color: #9476dc; background: linear-gradient(110deg,#1c2e57,#332553); }
.winner-dialog.effects-emphasis-off .modal-winner-name,
.winner-dialog.effects-emphasis-off .winner-trophy,
.winner-dialog.effects-emphasis-off .winner-prize,
.winner-dialog.effects-emphasis-off .winner-prize::after,
.result-panel.effects-emphasis-off .winner-name { animation: none !important; text-shadow: none; }
.winner-dialog.effects-emphasis-off .winner-prize::after { display: none; }
.winner-dialog:not(.effects-emphasis-off) .modal-winner-name { font-size: clamp(31px,5vw,54px); line-height: 1.12; }
.winner-dialog:not(.effects-emphasis-off) .winner-prize-badge { box-shadow: 0 0 24px #a675dc33; }
@media (prefers-reduced-motion: reduce) and (min-width: 100000px) {
  .stage-spotlight { transition: none; }
  .effects-spotlight-on.wheel-stage-running .stage-spotlight { opacity: 0; }
}
@media (max-width: 480px) {
  .audio-preview-control { padding: 12px; }
  .audio-preview-control .tool-button { width: 100%; }
  .winner-dialog:not(.effects-emphasis-off) .modal-winner-name { font-size: clamp(27px,8vw,38px); }
}
/* Landscape devices can have a notch even when using the wider layout. */
@media (min-width: 761px) {
  .admin-sidebar { padding-left: max(22px,var(--safe-left)); }
  .admin-topbar, .admin-content, .admin-footer { padding-right: max(30px,var(--safe-right)); }
  .public-body > .topbar, .public-body > .page-shell, .public-body > .site-footer { padding-left: max(30px,var(--safe-left)); padding-right: max(30px,var(--safe-right)); }
}
