﻿/* ===== Estilos de la vista de ruleta ===== */

.page-wrap {
    max-width: 1100px;
    margin: 0 auto;
}

.topbar {
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
}

.kpi {
    font-size: 1.25rem;
    font-weight: 800;
}

    .kpi .val {
        font-variant-numeric: tabular-nums;
    }

.pot-badge {
    font-weight: 800;
    padding: .25rem .6rem;
    border-radius: .5rem;
    background: #fff3cd;
    color: #0f172a;
}

.mute-toggle {
    cursor: pointer;
}

.wheel-box {
    position: relative;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: .75rem;
    padding: 16px;
    margin-top: 10px;
}

/* Canvas responsive en contenedor cuadrado */
.wheel-wrap {
    position: relative;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    aspect-ratio: 1 / 1; /* cuadrado responsive */
    min-height: 300px; /* por si el navegador no soporta aspect-ratio */
}

#roulette {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Puntero superior (punta hacia abajo) */
.pointer {
    position: absolute;
    top: -1px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 18px solid #ffb703; /* punta hacia abajo */
    filter: drop-shadow(0 0 6px rgba(255,183,3,.6));
    z-index: 3;
}

/* Ganador palpitando */
.winner-chip {
    position: absolute;
    right: -8px;
    top: 12px;
    transform: translateX(100%);
    background: #ffd54f;
    color: #111827;
    font-weight: 900;
    padding: .35rem .6rem;
    border-radius: .5rem;
    display: none;
    box-shadow: 0 0 0 0 rgba(255, 223, 0, .9);
    animation: pulseGlow 1.6s ease-in-out infinite;
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(255,223,0,.85);
    }

    70% {
        box-shadow: 0 0 18px 12px rgba(255,223,0,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255,223,0,0);
    }
}

/* Estado bajo el título */
.state {
    color: rgba(255,255,255,.7);
    font-size: .95rem;
}

#btnMute {
    font-weight: 600;
}
