.lottery-payday-winners[hidden] {
    display: none;
}

.lottery-payday-winners {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin: 20px 0;
    padding: clamp(20px, 3vw, 36px);
    border: 1px solid #b99353;
    border-radius: 23px;
    background:
        radial-gradient(circle at 4% 8%, rgba(252, 202, 105, .17), transparent 24%),
        radial-gradient(circle at 96% 92%, rgba(35, 192, 198, .13), transparent 31%),
        linear-gradient(130deg, #071521, #0a1c2a 57%, #071923);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .31), inset 0 1px rgba(255, 238, 195, .12);
}

.lottery-payday-winners::before {
    position: absolute;
    z-index: -1;
    inset: -70% -20% auto;
    height: 120%;
    transform: rotate(-18deg) translateX(-80%);
    background: linear-gradient(90deg, transparent, rgba(242, 196, 109, .1), transparent);
    content: '';
    pointer-events: none;
}

.lottery-payday-winners.is-visible::before {
    animation: payday-winners-shine 1.6s ease-out both;
}

.lottery-payday-winners__sparkles {
    position: absolute;
    z-index: 1;
    inset: 0;
    pointer-events: none;
}

.lottery-payday-winners__sparkles span {
    position: absolute;
    color: #ffe5a4;
    font-family: Georgia, serif;
    text-shadow: 0 0 12px rgba(255, 205, 110, .9);
    animation: payday-sparkle 2.5s ease-in-out infinite alternate;
}

.lottery-payday-winners__sparkles span:nth-child(1) { top: 18px; right: 17%; font-size: 20px; }
.lottery-payday-winners__sparkles span:nth-child(2) { top: 57px; right: 5%; font-size: 30px; animation-delay: .6s; }
.lottery-payday-winners__sparkles span:nth-child(3) { top: 148px; left: 8px; font-size: 16px; animation-delay: 1.1s; }
.lottery-payday-winners__sparkles span:nth-child(4) { top: 220px; right: 7px; font-size: 18px; animation-delay: .3s; }
.lottery-payday-winners__sparkles span:nth-child(5) { bottom: 114px; left: 7px; font-size: 19px; animation-delay: 1.4s; }
.lottery-payday-winners__sparkles span:nth-child(6) { bottom: 18px; right: 8%; font-size: 24px; animation-delay: .8s; }
.lottery-payday-winners__sparkles span:nth-child(7) { top: 23px; right: 36%; font-size: 13px; animation-delay: 1.7s; }
.lottery-payday-winners__sparkles span:nth-child(8) { top: 107px; right: 25%; font-size: 14px; animation-delay: .4s; }

.lottery-payday-winners__intro,
.lottery-payday-winners__draws,
.lottery-payday-winners__footnote {
    position: relative;
    z-index: 2;
}

.lottery-payday-winners__intro {
    display: flex;
    align-items: center;
    gap: 17px;
    margin-bottom: 22px;
}

.lottery-payday-winners__trophy {
    display: grid;
    flex: 0 0 55px;
    place-items: center;
    width: 55px;
    height: 55px;
    filter: drop-shadow(0 0 12px rgba(247, 190, 83, .38));
}

.lottery-payday-winners__trophy svg {
    width: 100%;
    height: 100%;
}

.lottery-payday-winners__eyebrow {
    margin: 0 0 4px;
    color: #8de9dd;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}

.lottery-payday-winners h2 {
    margin: 0 0 4px;
    color: #f9d790;
    font-size: clamp(28px, 3.4vw, 43px);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1;
    text-shadow: 0 4px 18px rgba(0, 0, 0, .45);
}

.lottery-payday-winners__description {
    margin: 0;
    color: #e7f0ee;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .03em;
}

.lottery-payday-winners__draws {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.lottery-payday-winners__draw {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b8e94;
    border-radius: 12px;
    background: linear-gradient(155deg, #0a2b38, #071923);
    box-shadow: 0 8px 18px rgba(0, 0, 0, .28), inset 0 1px rgba(189, 253, 245, .08);
}

.lottery-payday-winners__draw.is-active {
    border-color: #f9d17b;
    box-shadow: 0 0 0 2px rgba(249, 209, 123, .25), 0 0 24px rgba(248, 199, 102, .38), 0 9px 25px rgba(236, 172, 64, .21);
}

.lottery-payday-winners.is-visible .lottery-payday-winners__trophy {
    animation: payday-trophy-pop .75s cubic-bezier(.16, 1.4, .34, 1) both;
}

.lottery-payday-winners.is-visible .lottery-payday-winners__draw {
    animation: payday-week-reveal .65s cubic-bezier(.2, .8, .2, 1) both;
}

.lottery-payday-winners.is-visible .lottery-payday-winners__draw:nth-child(2) { animation-delay: .1s; }
.lottery-payday-winners.is-visible .lottery-payday-winners__draw:nth-child(3) { animation-delay: .2s; }
.lottery-payday-winners.is-visible .lottery-payday-winners__draw:nth-child(4) { animation-delay: .3s; }

.lottery-payday-winners__date {
    position: relative;
    overflow: hidden;
    display: flex;
    min-height: 66px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 9px 5px;
    color: #e9fffb;
    background: linear-gradient(140deg, #14727a, #0d4757);
    text-align: center;
}

.lottery-payday-winners__draw.is-active .lottery-payday-winners__date {
    color: #39260f;
    background: linear-gradient(110deg, #ffe6a6, #dba449 57%, #f7d58e);
    background-size: 200% 100%;
    animation: payday-gold-shift 3.5s ease-in-out infinite alternate;
}

.lottery-payday-winners__draw.is-active .lottery-payday-winners__date::after {
    position: absolute;
    inset: -20% auto -20% -45%;
    width: 30%;
    transform: skewX(-25deg);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .38), transparent);
    content: '';
    pointer-events: none;
    animation: payday-header-sheen 3.4s ease-in-out infinite;
}

.lottery-payday-winners__date strong {
    font-size: clamp(10px, 1vw, 14px);
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1.15;
}

.lottery-payday-winners__date span {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.15;
}

.lottery-payday-winners__list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 8px;
    list-style: none;
}

.lottery-payday-winners__row {
    display: grid;
    min-width: 0;
    min-height: 42px;
    grid-template-columns: 25px minmax(0, 1fr) auto;
    align-items: center;
    gap: 3px 7px;
    padding: 6px;
    border: 1px solid rgba(62, 184, 190, .42);
    border-radius: 8px;
    background: linear-gradient(120deg, #0c2b39, #081c2a);
}

.lottery-payday-winners__draw.is-active .lottery-payday-winners__row {
    border-color: rgba(240, 199, 116, .48);
}

.lottery-payday-winners__number {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    color: #36240d;
    background: linear-gradient(135deg, #ffedb8, #dca348);
    font-size: 11px;
    font-weight: 900;
}

.lottery-payday-winners__identity {
    min-width: 0;
}

.lottery-payday-winners__name {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    color: #f4fbfc;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.lottery-payday-winners__login {
    display: block;
    margin-top: 2px;
    color: #b7d9d9;
    font-size: 10px;
    line-height: 1.2;
}

.lottery-payday-winners__prize {
    color: #72e3dc;
    font-size: clamp(16px, 1.5vw, 18px);
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.lottery-payday-winners__split {
    grid-column: 2 / -1;
    color: #afcbd0;
    font-size: 9px;
    line-height: 1.2;
}

.lottery-payday-winners__row.is-pending .lottery-payday-winners__name,
.lottery-payday-winners__row.is-pending .lottery-payday-winners__prize {
    color: #7797a1;
}

.lottery-payday-winners__row.is-pending .lottery-payday-winners__prize {
    font-size: 12px;
}

.lottery-payday-winners.has-winners .lottery-payday-winners__row:not(.is-pending) {
    animation: payday-winner-pop .55s cubic-bezier(.16, 1.4, .34, 1) both;
}

.lottery-payday-winners.has-winners .lottery-payday-winners__row:nth-child(2) { animation-delay: .08s; }
.lottery-payday-winners.has-winners .lottery-payday-winners__row:nth-child(3) { animation-delay: .16s; }
.lottery-payday-winners.has-winners .lottery-payday-winners__row:nth-child(4) { animation-delay: .24s; }
.lottery-payday-winners.has-winners .lottery-payday-winners__row:nth-child(5) { animation-delay: .32s; }

.lottery-payday-winners__confetti {
    position: absolute;
    z-index: 3;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.lottery-payday-winners__confetti i {
    position: absolute;
    top: -20px;
    width: 7px;
    height: 13px;
    border-radius: 2px;
    opacity: 0;
    background: #f9d27d;
    animation: payday-confetti-fall 1.9s ease-in forwards;
}

.lottery-payday-winners__confetti i:nth-child(3n) { background: #76e5d9; }
.lottery-payday-winners__confetti i:nth-child(5n) { background: #ff9b70; }
.lottery-payday-winners__confetti i:nth-child(7n) {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff6d9;
}

.lottery-payday-page .lottery-payday-winners__footnote {
    margin: 18px 0 0;
    color: #b9cdd0;
    font-size: 12px;
    line-height: 1.4;
}

@keyframes payday-winners-shine {
    to { transform: rotate(-18deg) translateX(90%); }
}

@keyframes payday-sparkle {
    from { opacity: .35; transform: scale(.75) rotate(-12deg); }
    to { opacity: 1; transform: scale(1.15) rotate(12deg); }
}

@keyframes payday-trophy-pop {
    from { opacity: 0; transform: scale(.55) rotate(-15deg); }
    to { opacity: 1; transform: scale(1) rotate(0); }
}

@keyframes payday-week-reveal {
    from { opacity: 0; transform: translateY(18px) scale(.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes payday-winner-pop {
    from { opacity: 0; transform: translateY(9px) scale(.94); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes payday-gold-shift {
    from { background-position: 0% 50%; }
    to { background-position: 100% 50%; }
}

@keyframes payday-header-sheen {
    0%, 35% { left: -45%; }
    70%, 100% { left: 120%; }
}

@keyframes payday-confetti-fall {
    0% { opacity: 0; transform: translate3d(0, -20px, 0) rotate(0); }
    12% { opacity: 1; }
    84% { opacity: 1; }
    100% { opacity: 0; transform: translate3d(var(--drift), 420px, 0) rotate(var(--spin)); }
}

@media (max-width: 1100px) {
    .lottery-payday-winners__draws {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .lottery-payday-winners {
        margin: 12px 0;
        padding: 18px 13px;
    }

    .lottery-payday-winners__intro {
        gap: 9px;
        margin-bottom: 17px;
    }

    .lottery-payday-winners__trophy {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
    }

    .lottery-payday-winners__eyebrow {
        font-size: 8px;
    }

    .lottery-payday-winners h2 {
        font-size: clamp(24px, 7vw, 30px);
    }

    .lottery-payday-winners__description {
        font-size: 10px;
        line-height: 1.4;
    }

    .lottery-payday-winners__draws {
        grid-template-columns: minmax(0, 1fr);
    }

    .lottery-payday-winners__date strong {
        font-size: 13px;
    }

    .lottery-payday-winners__sparkles span:nth-child(1),
    .lottery-payday-winners__sparkles span:nth-child(7),
    .lottery-payday-winners__sparkles span:nth-child(8) {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .lottery-payday-winners.is-visible::before,
    .lottery-payday-winners__sparkles span,
    .lottery-payday-winners.is-visible .lottery-payday-winners__trophy,
    .lottery-payday-winners.is-visible .lottery-payday-winners__draw,
    .lottery-payday-winners__draw.is-active .lottery-payday-winners__date,
    .lottery-payday-winners__draw.is-active .lottery-payday-winners__date::after,
    .lottery-payday-winners.has-winners .lottery-payday-winners__row:not(.is-pending) {
        animation: none;
    }
}
