/* Spin & Win — a real prize wheel with proportional segments,
   compact legend, and a live "recent winners" feed. */

.spin-login-cta {
    display: flex; align-items: center; gap: .55rem;
    background: var(--surface); border: 1px solid var(--border); border-left: 4px solid var(--indigo);
    border-radius: var(--radius, 5px); padding: .6rem .8rem; margin-bottom: .7rem;
    text-decoration: none; transition: background .12s ease;
}
.spin-login-cta:hover { background: var(--paper); }
.spin-login-cta-icon {
    flex-shrink: 0; width: 30px; height: 30px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: var(--indigo-soft, var(--paper)); color: var(--indigo); font-size: .82rem;
}
.spin-login-cta-text { font-size: .85rem; font-weight: 600; color: var(--ink); }

.spin-area { display: flex; flex-direction: column; align-items: center; text-align: center; padding: .5rem 0 1rem; position: relative; }

.spin-sound-toggle {
    position: absolute; top: 0; right: 0; z-index: 4;
    width: 34px; height: 34px; border-radius: 50%;
    background: var(--surface); border: 1px solid var(--border); color: var(--ink-soft); font-size: .85rem;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    transition: background .12s ease, color .12s ease;
}
.spin-sound-toggle:hover { background: var(--paper); color: var(--ink); }

.spin-wheel-wrap { position: relative; width: 260px; height: 260px; max-width: 80vw; max-height: 80vw; margin: 0 auto .8rem; }

.spin-wheel-pointer {
    position: absolute; top: -6px; left: 50%; transform: translateX(-50%);
    z-index: 3; font-size: 1.8rem; color: var(--ink);
    filter: drop-shadow(0 2px 3px rgba(0,0,0,.3));
}

.spin-wheel {
    width: 100%; height: 100%; border-radius: 50%; position: relative;
    border: 6px solid var(--surface); box-shadow: 0 0 0 2px var(--border), 0 14px 32px -12px rgba(0,0,0,.4);
    transition: transform 4.2s cubic-bezier(.17,.67,.16,.99);
    display: flex; align-items: center; justify-content: center;
}

.spin-wheel-hub {
    width: 62px; height: 62px; border-radius: 50%; z-index: 2;
    background: var(--surface); border: 3px solid var(--indigo); color: var(--indigo);
    font-weight: 800; font-size: .8rem; letter-spacing: .02em; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px -4px rgba(0,0,0,.35);
    transition: transform .1s ease, background .12s ease, color .12s ease;
}
.spin-wheel-hub:hover:not(:disabled) { transform: scale(1.05); }
.spin-wheel-hub:active:not(:disabled) { transform: scale(.96); }
.spin-wheel-hub:disabled { cursor: default; background: var(--paper); color: var(--ink-soft); border-color: var(--border); }

.spin-hint { font-size: .84rem; color: var(--ink-soft); margin: 0 0 .8rem; }

.spin-result-card {
    display: flex; align-items: center; gap: .6rem; justify-content: center;
    background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius, 5px);
    padding: .8rem 1rem; margin-bottom: .9rem; max-width: 340px; width: 100%;
    animation: spinResultIn .25s ease;
}
@keyframes spinResultIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.spin-result-icon { font-size: 1.3rem; color: var(--ink-soft); }
.spin-result-icon-win { color: var(--marigold-deep, #b45309); }
.spin-result-text { font-size: .88rem; color: var(--ink); margin: 0; }

.spin-legend { display: flex; flex-wrap: wrap; gap: .4rem .7rem; justify-content: center; max-width: 380px; }
.spin-legend-item { display: inline-flex; align-items: center; gap: .3rem; font-size: .74rem; color: var(--ink-soft); }
.spin-legend-dot { width: 9px; height: 9px; border-radius: 50%; flex-shrink: 0; }

/* Recent winners */
.spin-winners { margin-top: 1.4rem; }
.spin-winners-heading { font-size: .95rem; font-weight: 800; margin: 0 0 .6rem; display: flex; align-items: center; gap: .4rem; }
.spin-winners-list { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius, 5px); overflow: hidden; }
.spin-winner-row { display: flex; align-items: center; gap: .6rem; padding: .5rem .7rem; border-bottom: 1px solid var(--border); }
.spin-winner-row:last-child { border-bottom: none; }
.spin-winner-avatar { flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; overflow: hidden; }
.spin-winner-avatar img { width: 100%; height: 100%; object-fit: cover; }
.spin-winner-avatar span {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    background: var(--indigo); color: #fff; font-weight: 800; font-size: .78rem;
}
.spin-winner-info { display: flex; flex-direction: column; gap: 0; text-align: left; }
.spin-winner-name { font-weight: 700; font-size: .82rem; color: var(--ink); }
.spin-winner-prize { font-size: .72rem; color: var(--ink-soft); }

@media (min-width: 480px) {
    .spin-wheel-wrap { width: 300px; height: 300px; }
}
