.mv-jackpot,
.mv-jackpot * {
    box-sizing: border-box;
}

.mv-jackpot {
    --mv-blue-deep: #04142d;
    --mv-blue-royal: #0754d8;
    --mv-blue-sapphire: #0a86ff;
    --mv-blue-ice: #9ee8ff;
    --mv-silver: #eaf7ff;
    --mv-gold-soft: #f2d178;
    position: relative;
    overflow: hidden;
    padding: 34px;
    border-radius: 32px;
    color: #fff;
    background:
        radial-gradient(circle at 50% 28%, rgba(19,142,255,.38), transparent 34%),
        radial-gradient(circle at 11% 5%, rgba(126,220,255,.26), transparent 28%),
        radial-gradient(circle at 92% 4%, rgba(15,88,255,.36), transparent 32%),
        linear-gradient(135deg, #03122c 0%, #0644ad 42%, #031832 100%);
    border: 1px solid rgba(158,232,255,.30);
    box-shadow:
        0 26px 70px rgba(0,34,102,.30),
        0 0 46px rgba(10,134,255,.18),
        inset 0 1px 0 rgba(255,255,255,.16);
}

.mv-jackpot:before,
.mv-jackpot:after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.mv-jackpot .mv-jackpot-grid:before {
    content: "LIVE EVENT";
    position: absolute;
    left: 28px;
    top: -15px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 14px 0 28px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffdc7b, #c48b1e);
    color: #06142e;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
    box-shadow: 0 12px 24px rgba(196,139,30,.30);
}

.mv-jackpot .mv-jackpot-grid:after {
    content: "";
    position: absolute;
    left: 42px;
    top: -4px;
    z-index: 4;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ff294d;
    box-shadow: 0 0 0 5px rgba(255,41,77,.16), 0 0 14px rgba(255,41,77,.55);
    animation: mvJackpotLivePulse 1.8s ease-in-out infinite;
}

.mv-jackpot:before {
    inset: 0;
    background:
        linear-gradient(115deg, transparent 0%, rgba(255,255,255,.11) 43%, transparent 59%),
        radial-gradient(circle at 18% 84%, rgba(158,232,255,.18), transparent 28%);
    transform: translateX(-80%);
    animation: mvJackpotBlueSweep 7.5s ease-in-out infinite;
}

.mv-jackpot:after {
    width: 520px;
    height: 520px;
    right: -210px;
    top: 120px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(82,180,255,.26), transparent 68%);
    filter: blur(5px);
}

.mv-jackpot-hero,
.mv-jackpot-grid,
.mv-jackpot-recent {
    position: relative;
    z-index: 1;
}

.mv-jackpot-hero {
    text-align: center;
    margin-bottom: 28px;
    padding: 10px 14px 0;
}

.mv-jackpot-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 31px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(158,232,255,.42);
    color: var(--mv-blue-ice);
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .18em;
    backdrop-filter: blur(18px);
    box-shadow: 0 0 22px rgba(10,134,255,.20), inset 0 1px 0 rgba(255,255,255,.25);
}

.mv-jackpot-hero h2 {
    margin: 15px 0 10px;
    color: #fff;
    font-size: clamp(32px, 4vw, 58px);
    line-height: 1.02;
    font-weight: 950;
    letter-spacing: .01em;
    text-shadow:
        0 0 18px rgba(158,232,255,.36),
        0 0 34px rgba(10,134,255,.24),
        0 3px 0 rgba(0,17,45,.42);
}

.mv-jackpot-hero p {
    max-width: 680px;
    margin: 0 auto;
    color: rgba(234,247,255,.84);
    font-size: 17px;
    line-height: 1.65;
    font-weight: 750;
}

.mv-jackpot-hero p b {
    color: #fff;
    font-size: 21px;
    font-weight: 950;
    text-shadow: 0 0 18px rgba(158,232,255,.34);
}

.mv-jackpot-hero p strong {
    color: var(--mv-gold-soft);
    font-weight: 950;
}

.mv-jackpot-live-chips {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 17px;
}

.mv-jackpot-live-chips em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(158,232,255,.28);
    color: rgba(234,247,255,.88);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    backdrop-filter: blur(12px);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.20);
}

.mv-jackpot-live-chips em:first-child {
    background: linear-gradient(135deg, #ff315b, #e30038);
    border-color: rgba(255,255,255,.22);
    color: #fff;
    box-shadow: 0 0 20px rgba(255,49,91,.24);
}

.mv-jackpot-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 24px;
    align-items: start;
}

.mv-jackpot-machine {
    position: relative;
    padding: 28px;
    border-radius: 32px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.15), rgba(255,255,255,.055)),
        radial-gradient(circle at 50% 0%, rgba(158,232,255,.20), transparent 45%),
        rgba(3,24,62,.64);
    border: 1px solid rgba(190,241,255,.32);
    box-shadow:
        0 24px 56px rgba(0,21,67,.34),
        0 0 36px rgba(10,134,255,.20),
        inset 0 1px 0 rgba(255,255,255,.24),
        inset 0 -24px 40px rgba(0,16,52,.28);
    backdrop-filter: blur(18px);
}

.mv-jackpot-machine:before {
    content: "TODAY CHANCE · 실시간 후보 슬롯";
    display: flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    margin: -4px auto 20px;
    width: min(420px, 100%);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(158,232,255,.24), rgba(255,255,255,.08));
    border: 1px solid rgba(190,241,255,.36);
    color: #c9f4ff;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .18em;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 0 22px rgba(10,134,255,.16);
}

.mv-jackpot-machine:after {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 26px;
    border: 1px solid rgba(255,255,255,.10);
    pointer-events: none;
}

.mv-jackpot-reels {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
    border-radius: 26px;
    background:
        linear-gradient(180deg, rgba(0,20,58,.76), rgba(4,48,118,.54)),
        radial-gradient(circle at 50% 0%, rgba(158,232,255,.22), transparent 42%);
    border: 1px solid rgba(158,232,255,.32);
    box-shadow:
        inset 0 0 36px rgba(0,12,42,.58),
        inset 0 1px 0 rgba(255,255,255,.16),
        0 14px 32px rgba(0,19,61,.24);
}

.mv-jackpot-reels:before,
.mv-jackpot-reels:after {
    content: "";
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 10px;
    height: 72%;
    transform: translateY(-50%);
    border-radius: 999px;
    background: linear-gradient(180deg, transparent, rgba(158,232,255,.65), transparent);
    pointer-events: none;
    opacity: .55;
}

.mv-jackpot-reels:before { left: 8px; }
.mv-jackpot-reels:after { right: 8px; }

.mv-jackpot-reel {
    position: relative;
    height: 188px;
    overflow: hidden;
    border-radius: 22px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.055)),
        linear-gradient(145deg, rgba(9,104,219,.52), rgba(1,19,55,.78));
    border: 1px solid rgba(205,245,255,.36);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.28),
        inset 0 -22px 32px rgba(0,16,51,.44),
        0 12px 28px rgba(0,23,75,.26);
    backdrop-filter: blur(16px);
}

.mv-jackpot-reel:before,
.mv-jackpot-reel:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 3;
    pointer-events: none;
}

.mv-jackpot-reel:before {
    top: 0;
    height: 52px;
    background:
        linear-gradient(180deg, rgba(224,250,255,.28), rgba(224,250,255,.04) 46%, transparent);
}

.mv-jackpot-reel:after {
    bottom: 0;
    height: 54px;
    background: linear-gradient(0deg, rgba(0,13,43,.84), transparent);
}

.mv-jackpot-reel-track {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    padding-top: 17px;
    animation: mvJackpotReel var(--mv-jackpot-duration, 15s) cubic-bezier(.18,.82,.24,1) forwards;
}

.mv-jackpot-reel:nth-child(2) .mv-jackpot-reel-track { animation-delay: .18s; }
.mv-jackpot-reel:nth-child(3) .mv-jackpot-reel-track { animation-delay: .36s; }
.mv-jackpot-reel:nth-child(4) .mv-jackpot-reel-track { animation-delay: .54s; }
.mv-jackpot-reel:nth-child(5) .mv-jackpot-reel-track { animation-delay: .72s; }

.mv-jackpot-reel-track span {
    min-height: 40px;
    color: rgba(234,247,255,.84);
    font-size: 15px;
    font-weight: 950;
    letter-spacing: .05em;
    text-shadow: 0 0 12px rgba(158,232,255,.25);
}

.mv-jackpot-reel-track span:first-child {
    color: #eaf7ff;
    font-size: 38px;
    font-weight: 950;
    text-shadow:
        0 0 20px rgba(158,232,255,.48),
        0 0 34px rgba(10,134,255,.38);
}

.mv-jackpot-final {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 14px;
    text-align: center;
    opacity: 0;
    transform: translateY(12px) scale(.98);
    transition: opacity .55s ease, transform .55s ease;
}

.mv-jackpot.is-revealed .mv-jackpot-final {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.mv-jackpot.is-revealed .mv-jackpot-reel-track {
    opacity: 0;
    transition: opacity .35s ease;
}

.mv-jackpot-final b {
    color: #fff;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 950;
    text-shadow: 0 0 15px rgba(158,232,255,.42);
}

.mv-jackpot-final em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    margin-top: 10px;
    padding: 5px 10px;
    border-radius: 999px;
    color: rgba(234,247,255,.86);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(158,232,255,.22);
    font-style: normal;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 850;
}

.mv-jackpot-reel.is-real .mv-jackpot-final em {
    color: #fff3b9;
    border-color: rgba(242,209,120,.45);
    background: rgba(242,209,120,.14);
    font-weight: 950;
}

.mv-jackpot-reveal {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 58px;
    margin-top: 20px;
    border: 0;
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.34), transparent 36%),
        linear-gradient(135deg, #42c8ff 0%, #0a6fff 48%, #082d88 100%);
    color: #fff;
    font-size: 16px;
    font-weight: 950;
    cursor: pointer;
    box-shadow:
        0 16px 32px rgba(6,106,255,.34),
        0 0 28px rgba(80,200,255,.24),
        inset 0 1px 0 rgba(255,255,255,.45);
    text-shadow: 0 1px 0 rgba(0,15,45,.40);
    transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.mv-jackpot-reveal:before {
    content: "";
    position: absolute;
    top: -65%;
    left: -35%;
    width: 34%;
    height: 230%;
    background: linear-gradient(110deg, transparent, rgba(255,255,255,.46), transparent);
    transform: skewX(-22deg);
    animation: mvJackpotButtonShine 4.6s ease-in-out infinite;
    pointer-events: none;
}

.mv-jackpot-reveal:hover {
    transform: translateY(-2px);
    filter: brightness(1.08);
    box-shadow:
        0 18px 38px rgba(6,106,255,.42),
        0 0 38px rgba(80,200,255,.32),
        inset 0 1px 0 rgba(255,255,255,.55);
}

.mv-jackpot-side {
    display: grid;
    gap: 16px;
}

.mv-jackpot-card,
.mv-jackpot-recent {
    border-radius: 24px;
    padding: 20px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.055)),
        rgba(2,24,64,.58);
    border: 1px solid rgba(158,232,255,.28);
    box-shadow:
        0 16px 34px rgba(0,23,75,.22),
        0 0 28px rgba(10,134,255,.12),
        inset 0 1px 0 rgba(255,255,255,.18);
    backdrop-filter: blur(18px);
}

.mv-jackpot-card span,
.mv-jackpot-recent-head span {
    display: block;
    color: var(--mv-blue-ice);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .16em;
}

.mv-jackpot-card strong,
.mv-jackpot-recent-head strong {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 950;
    text-shadow: 0 0 16px rgba(158,232,255,.30);
}

.mv-jackpot-card p {
    margin: 10px 0 0;
    color: rgba(234,247,255,.76);
    font-size: 13px;
    line-height: 1.62;
    font-weight: 750;
}

.mv-jackpot-recent {
    position: relative;
    z-index: 1;
    margin-top: 24px;
}

.mv-jackpot-recent-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.mv-jackpot-recent ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mv-jackpot-recent li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 44px;
    padding: 11px 13px;
    border-radius: 15px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.045)),
        rgba(4,43,105,.28);
    border: 1px solid rgba(158,232,255,.16);
    color: rgba(234,247,255,.86);
    font-size: 12px;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.mv-jackpot-recent li:before {
    content: "LIVE";
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(158,232,255,.13);
    border: 1px solid rgba(158,232,255,.20);
    color: var(--mv-blue-ice);
    font-size: 9px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .08em;
}

.mv-jackpot-recent li:hover {
    transform: translateY(-1px);
    background: rgba(10,134,255,.16);
    border-color: rgba(158,232,255,.32);
}

.mv-jackpot-recent li span {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 850;
}

.mv-jackpot-recent li strong {
    flex: 0 0 auto;
    color: rgba(234,247,255,.72);
    font-size: 12px;
    font-weight: 900;
}

.mv-jackpot-recent li.is-real {
    border-color: rgba(242,209,120,.38);
    background:
        linear-gradient(135deg, rgba(242,209,120,.15), rgba(255,255,255,.055)),
        rgba(4,43,105,.32);
}

.mv-jackpot-recent li.is-real strong {
    color: var(--mv-gold-soft);
}

@keyframes mvJackpotReel {
    0% { transform: translateY(0); }
    35% { transform: translateY(-68%); }
    70% { transform: translateY(-38%); }
    100% { transform: translateY(-54%); }
}

@keyframes mvJackpotBlueSweep {
    0%, 62% { transform: translateX(-85%); opacity: 0; }
    76% { opacity: 1; }
    100% { transform: translateX(85%); opacity: 0; }
}

@keyframes mvJackpotButtonShine {
    0%, 58% { transform: skewX(-22deg) translateX(-260%); opacity: 0; }
    72% { opacity: .9; }
    100% { transform: skewX(-22deg) translateX(620%); opacity: 0; }
}

@keyframes mvJackpotLivePulse {
    0%, 100% { transform: scale(.92); opacity: .72; }
    50% { transform: scale(1.18); opacity: 1; }
}

@media (max-width: 1180px) {
    .mv-jackpot-grid {
        grid-template-columns: 1fr;
    }
    .mv-jackpot-side {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .mv-jackpot {
        padding: 22px;
        border-radius: 24px;
    }
    .mv-jackpot-reels {
        gap: 8px;
        padding: 12px;
    }
    .mv-jackpot-reel {
        height: 158px;
        border-radius: 17px;
    }
    .mv-jackpot-recent ul {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .mv-jackpot {
        padding: 16px;
    }
    .mv-jackpot-hero h2 {
        font-size: 30px;
    }
    .mv-jackpot-hero p b {
        font-size: 18px;
    }
    .mv-jackpot-live-chips {
        justify-content: flex-start;
    }
    .mv-jackpot-machine {
        padding: 16px;
        border-radius: 24px;
    }
    .mv-jackpot-reels {
        grid-template-columns: repeat(5, minmax(64px, 1fr));
        overflow-x: auto;
        padding-bottom: 8px;
    }
    .mv-jackpot-reel {
        min-width: 64px;
        height: 142px;
    }
    .mv-jackpot-reel-track span:first-child {
        font-size: 29px;
    }
    .mv-jackpot-final b {
        font-size: 13px;
    }
    .mv-jackpot-final em {
        font-size: 10px;
        padding: 4px 7px;
    }
    .mv-jackpot-side {
        grid-template-columns: 1fr;
    }
    .mv-jackpot-recent-head {
        display: block;
    }
}

/* Final 777 candidate slot motion. Real payout logs are separate; these reels are visual candidates only. */
.mv-jackpot .movetime-jackpot-slot .slot-engine-tunnel {
    overflow: hidden;
}

.mv-jackpot .movetime-jackpot-slot .slot-rolling-strip {
    animation: none !important;
    will-change: transform, opacity;
}

.mv-jackpot.is-spinning .movetime-jackpot-slot .slot-rolling-strip {
    animation: mvJackpotCandidateSlotRoll .24s linear infinite !important;
}

.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(2) .slot-rolling-strip { animation-duration: .21s !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(3) .slot-rolling-strip { animation-duration: .27s !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(4) .slot-rolling-strip { animation-duration: .23s !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(5) .slot-rolling-strip { animation-duration: .29s !important; }

.mv-jackpot.is-revealed .movetime-jackpot-slot .slot-rolling-strip {
    opacity: 0;
    transform: translateY(-34px);
    transition: opacity .28s ease, transform .38s ease;
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card.is-mine {
    border-color: rgba(246,210,118,.76) !important;
    outline-color: rgba(21,141,255,.72) !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.20),
        inset 0 18px 34px rgba(255,255,255,.14),
        inset 0 -28px 42px rgba(0,0,0,.62),
        0 0 0 1px rgba(246,210,118,.35),
        0 0 32px rgba(21,141,255,.32),
        0 0 40px rgba(246,210,118,.22),
        0 18px 36px rgba(0,0,0,.50) !important;
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card.is-mine .user-panel-id:after {
    content: "MY SLOT";
    display: block;
    width: max-content;
    max-width: 100%;
    margin: 8px auto 0;
    padding: 4px 8px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f6d276, #0a86ff);
    color: #06101f;
    font-size: 10px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .08em;
    text-shadow: none;
}

.mv-jackpot.no-slot-animation .movetime-jackpot-slot .slot-rolling-strip {
    display: none;
}

.mv-jackpot.no-slot-animation .movetime-jackpot-slot .slot-result-face {
    opacity: 1;
    transform: none;
}

@keyframes mvJackpotCandidateSlotRoll {
    0% { transform: translateY(0); }
    100% { transform: translateY(-118px); }
}

@media (prefers-reduced-motion: reduce) {
    .mv-jackpot .movetime-jackpot-slot .slot-rolling-strip,
    .mv-jackpot.is-spinning .movetime-jackpot-slot .slot-rolling-strip {
        animation: none !important;
    }
}

/* ===== MOVETIME 777 HYPER PREMIUM CYBER SLOT ===== */
.mv-jackpot .mv-jackpot-grid:before,
.mv-jackpot .mv-jackpot-grid:after,
.mv-jackpot-machine:before,
.mv-jackpot-machine:after {
    display: none !important;
}

.movetime-jackpot-slot {
    --slot-bg-outer: #07080c;
    --slot-metal: #16181f;
    --slot-metal-hi: #343945;
    --slot-red: #ff0033;
    --slot-red-soft: #ff365f;
    --slot-gold: #d8aa4d;
    --slot-ice: #d9f7ff;
    --slot-blue-glow: #158dff;
    position: relative;
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    isolation: isolate;
}

.movetime-jackpot-slot .hyper-slot-case {
    position: relative;
    padding: 22px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.13), transparent 28%),
        linear-gradient(145deg, #272b34 0%, #090a0f 45%, #171921 100%);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow:
        0 26px 70px rgba(0,0,0,.45),
        0 0 34px rgba(255,0,51,.20),
        0 0 42px rgba(21,141,255,.14),
        inset 0 1px 0 rgba(255,255,255,.24),
        inset 0 -22px 42px rgba(0,0,0,.45);
    overflow: visible;
}

.movetime-jackpot-slot .hyper-slot-case:before,
.movetime-jackpot-slot .hyper-slot-case:after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.movetime-jackpot-slot .hyper-slot-case:before {
    inset: 8px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: inset 0 0 32px rgba(255,255,255,.05);
}

.movetime-jackpot-slot .hyper-slot-case:after {
    inset: -1px;
    border-radius: 34px;
    background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.18) 28%, transparent 44%, rgba(255,0,51,.10) 66%, transparent 82%);
    opacity: .55;
    mix-blend-mode: screen;
}

.movetime-jackpot-slot .neon-live-badge {
    position: absolute;
    left: 30px;
    top: -15px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 16px 0 34px;
    border-radius: 999px;
    background: linear-gradient(135deg, #ff1745, #b90024 58%, #540014);
    border: 1px solid rgba(255,255,255,.28);
    box-shadow:
        0 10px 24px rgba(255,0,51,.35),
        0 0 22px rgba(255,0,51,.42),
        inset 0 1px 0 rgba(255,255,255,.34);
}

.movetime-jackpot-slot .neon-live-badge:before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -4.5px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 5px rgba(255,255,255,.16), 0 0 18px rgba(255,255,255,.95);
    animation: mvHyperLiveBlink 1.35s ease-in-out infinite;
}

.movetime-jackpot-slot .neon-live-badge span {
    color: #fff;
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: .16em;
    text-shadow: 0 0 12px rgba(255,255,255,.55);
}

.movetime-jackpot-slot .inner-gear-board {
    position: relative;
    z-index: 2;
    padding: 24px 20px 20px;
    border-radius: 27px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
        radial-gradient(circle at 50% 0%, rgba(255,0,51,.16), transparent 34%),
        linear-gradient(145deg, #10131a 0%, #08090d 100%);
    border: 1px solid rgba(255,255,255,.13);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.17),
        inset 0 0 48px rgba(0,0,0,.72),
        0 0 24px rgba(255,0,51,.12);
}

.movetime-jackpot-slot .header-display {
    width: min(480px, 100%);
    margin: 0 auto 18px;
    padding: 10px 18px;
    border-radius: 16px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035)),
        #090b12;
    border: 1px solid rgba(255,255,255,.13);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.18),
        0 12px 24px rgba(0,0,0,.28);
    text-align: center;
}

.movetime-jackpot-slot .display-title {
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 950;
    letter-spacing: .08em;
    text-shadow: 0 0 18px rgba(255,0,51,.26);
}

.movetime-jackpot-slot .display-title span {
    color: var(--slot-red-soft);
}

.movetime-jackpot-slot .slot-engine-tunnel {
    position: relative;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 11px;
    padding: 18px;
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 50%, rgba(255,0,51,.12), transparent 52%),
        linear-gradient(180deg, #050609 0%, #11131a 48%, #050609 100%);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow:
        inset 0 0 36px rgba(0,0,0,.90),
        inset 0 1px 0 rgba(255,255,255,.13),
        0 14px 26px rgba(0,0,0,.34);
}

.movetime-jackpot-slot .slot-engine-tunnel:before,
.movetime-jackpot-slot .slot-engine-tunnel:after {
    content: "";
    position: absolute;
    top: 12px;
    bottom: 12px;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, transparent, rgba(255,255,255,.50), transparent);
    opacity: .42;
    pointer-events: none;
}

.movetime-jackpot-slot .slot-engine-tunnel:before { left: 10px; }
.movetime-jackpot-slot .slot-engine-tunnel:after { right: 10px; }

.movetime-jackpot-slot .cylinder-slot-card {
    position: relative;
    height: 190px;
    overflow: hidden;
    border-radius: 21px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.20), transparent 13%, transparent 86%, rgba(255,255,255,.13)),
        radial-gradient(ellipse at 50% 8%, rgba(255,255,255,.24), transparent 42%),
        linear-gradient(180deg, #1f232d 0%, #0c0e14 52%, #1c2028 100%);
    border: 1px solid rgba(255,255,255,.18);
    box-shadow:
        inset 10px 0 22px rgba(255,255,255,.06),
        inset -10px 0 22px rgba(0,0,0,.40),
        inset 0 0 30px rgba(0,0,0,.60),
        0 12px 24px rgba(0,0,0,.38);
}

.movetime-jackpot-slot .cylinder-slot-card:before,
.movetime-jackpot-slot .cylinder-slot-card:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    z-index: 3;
    height: 52px;
    pointer-events: none;
}

.movetime-jackpot-slot .cylinder-slot-card:before {
    top: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.88), rgba(0,0,0,.18), transparent);
}

.movetime-jackpot-slot .cylinder-slot-card:after {
    bottom: 0;
    background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.18), transparent);
}

.movetime-jackpot-slot .slot-rolling-strip {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 19px;
    padding-top: 18px;
    animation: mvJackpotReel var(--mv-jackpot-duration, 15s) cubic-bezier(.18,.82,.24,1) forwards;
}

.movetime-jackpot-slot .cylinder-slot-card:nth-child(2) .slot-rolling-strip { animation-delay: .18s; }
.movetime-jackpot-slot .cylinder-slot-card:nth-child(3) .slot-rolling-strip { animation-delay: .36s; }
.movetime-jackpot-slot .cylinder-slot-card:nth-child(4) .slot-rolling-strip { animation-delay: .54s; }
.movetime-jackpot-slot .cylinder-slot-card:nth-child(5) .slot-rolling-strip { animation-delay: .72s; }

.movetime-jackpot-slot .slot-rolling-strip span {
    min-height: 40px;
    color: rgba(255,255,255,.74);
    font-size: 15px;
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: .05em;
}

.movetime-jackpot-slot .slot-rolling-strip span:first-child {
    color: #fff;
    font-size: 38px;
    text-shadow: 0 0 16px rgba(255,255,255,.35), 0 0 28px rgba(255,0,51,.34);
}

.movetime-jackpot-slot .slot-result-face {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 10px;
    text-align: center;
    opacity: 0;
    transform: translateY(10px) scale(.98);
    transition: opacity .52s ease, transform .52s ease;
}

.mv-jackpot.is-revealed .movetime-jackpot-slot .slot-result-face {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.mv-jackpot.is-revealed .movetime-jackpot-slot .slot-rolling-strip {
    opacity: 0;
    transition: opacity .35s ease;
}

.movetime-jackpot-slot .user-panel-id {
    color: #fff;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 950;
    text-shadow: 0 0 16px rgba(255,255,255,.28);
}

.movetime-jackpot-slot .meta-status-capsule {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
    color: rgba(255,255,255,.78);
    font-size: 11px;
    line-height: 1.28;
    font-weight: 900;
}

.movetime-jackpot-slot .cylinder-slot-card.active-lucky {
    background:
        linear-gradient(90deg, rgba(255,255,255,.22), transparent 14%, transparent 84%, rgba(255,255,255,.14)),
        radial-gradient(ellipse at 50% 8%, rgba(255,255,255,.24), transparent 42%),
        linear-gradient(180deg, #4d0012 0%, #180008 52%, #410010 100%);
    border-color: rgba(255,0,51,.64);
    box-shadow:
        inset 0 0 34px rgba(255,0,51,.24),
        inset 0 0 30px rgba(0,0,0,.52),
        0 0 28px rgba(255,0,51,.36),
        0 14px 28px rgba(0,0,0,.42);
    animation: mvHyperLuckyPulse 1.85s ease-in-out infinite;
}

.movetime-jackpot-slot .cylinder-slot-card.active-lucky .meta-status-capsule {
    background: rgba(255,0,51,.18);
    border-color: rgba(255,255,255,.24);
    color: #fff;
}

.movetime-jackpot-slot .hyper-action-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(390px, 100%);
    height: 58px;
    margin: 20px auto 0;
    border: 0;
    border-radius: 999px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.28), transparent 32%),
        linear-gradient(135deg, #ff3154 0%, #c90028 48%, #690016 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 950;
    letter-spacing: .02em;
    box-shadow:
        0 16px 34px rgba(255,0,51,.33),
        0 0 30px rgba(255,0,51,.30),
        inset 0 1px 0 rgba(255,255,255,.42);
    text-shadow: 0 1px 0 rgba(0,0,0,.36);
    cursor: pointer;
    overflow: hidden;
}

.movetime-jackpot-slot .hyper-action-button:before {
    content: "";
    position: absolute;
    top: -80%;
    left: -28%;
    width: 26%;
    height: 260%;
    background: linear-gradient(110deg, transparent, rgba(255,255,255,.56), transparent);
    transform: skewX(-22deg);
    animation: mvHyperButtonSweep 4.2s ease-in-out infinite;
    pointer-events: none;
}

.movetime-jackpot-slot .hyper-action-button:hover {
    filter: brightness(1.07);
    transform: translateY(-1px);
}

@keyframes mvHyperLiveBlink {
    0%, 100% { opacity: .55; transform: scale(.86); }
    50% { opacity: 1; transform: scale(1.18); }
}

@keyframes mvHyperLuckyPulse {
    0%, 100% { box-shadow: inset 0 0 34px rgba(255,0,51,.24), inset 0 0 30px rgba(0,0,0,.52), 0 0 23px rgba(255,0,51,.26), 0 14px 28px rgba(0,0,0,.42); }
    50% { box-shadow: inset 0 0 42px rgba(255,0,51,.36), inset 0 0 30px rgba(0,0,0,.52), 0 0 42px rgba(255,0,51,.48), 0 14px 28px rgba(0,0,0,.42); }
}

@keyframes mvHyperButtonSweep {
    0%, 58% { transform: skewX(-22deg) translateX(-260%); opacity: 0; }
    72% { opacity: .9; }
    100% { transform: skewX(-22deg) translateX(620%); opacity: 0; }
}

/* Hyper premium stage polish: keep the slot machine itself intact. */
.mv-jackpot {
    background:
        radial-gradient(circle at 50% 28%, rgba(255,0,51,.22), transparent 31%),
        radial-gradient(circle at 18% 6%, rgba(244,205,119,.14), transparent 28%),
        radial-gradient(circle at 88% 20%, rgba(170,0,36,.22), transparent 30%),
        linear-gradient(135deg, #05060a 0%, #11131a 34%, #220711 67%, #07080d 100%) !important;
    border-color: rgba(255,255,255,.14) !important;
    box-shadow:
        0 38px 96px rgba(0,0,0,.56),
        0 0 0 1px rgba(255,255,255,.04) inset,
        0 0 72px rgba(255,0,51,.16),
        0 0 54px rgba(244,205,119,.10) !important;
}

.mv-jackpot:before {
    background:
        linear-gradient(115deg, transparent 0%, rgba(255,255,255,.08) 18%, transparent 34%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.028) 0 1px, transparent 1px 14px),
        radial-gradient(circle at 50% 6%, rgba(255,0,51,.18), transparent 38%) !important;
    opacity: .72 !important;
    mix-blend-mode: screen;
}

.mv-jackpot:after {
    background:
        radial-gradient(circle at 50% 42%, rgba(255,0,51,.22), transparent 31%),
        radial-gradient(circle at 52% 48%, rgba(244,205,119,.14), transparent 22%),
        linear-gradient(180deg, transparent, rgba(0,0,0,.45)) !important;
    opacity: .82 !important;
}

.mv-jackpot-hero {
    position: relative;
    padding: 28px 30px 24px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.025) 32%, rgba(255,0,51,.06)),
        linear-gradient(180deg, rgba(7,8,13,.92), rgba(21,13,18,.74));
    box-shadow:
        0 24px 50px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.20),
        inset 0 -1px 0 rgba(244,205,119,.10);
    overflow: hidden;
}

.mv-jackpot-hero:before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,0,51,.18), transparent 27%, transparent 73%, rgba(244,205,119,.12)),
        radial-gradient(circle at 0% 0%, rgba(255,255,255,.12), transparent 28%);
    pointer-events: none;
}

.mv-jackpot-kicker {
    position: relative;
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), transparent 30%),
        linear-gradient(135deg, #ff365f, #8d001b);
    border: 1px solid rgba(255,255,255,.25);
    color: #fff;
    box-shadow:
        0 10px 26px rgba(255,0,51,.28),
        0 0 20px rgba(255,0,51,.24),
        inset 0 1px 0 rgba(255,255,255,.38);
    text-shadow: 0 1px 0 rgba(0,0,0,.42);
}

.mv-jackpot-hero h2 {
    position: relative;
    color: #fff7e4;
    text-shadow:
        0 0 20px rgba(255,0,51,.32),
        0 3px 0 rgba(0,0,0,.35);
}

.mv-jackpot-hero p {
    position: relative;
    color: rgba(255,255,255,.78);
}

.mv-jackpot-hero p b {
    color: #fff;
    text-shadow: 0 0 16px rgba(255,255,255,.16);
}

.mv-jackpot-hero p strong {
    color: #f6d276;
    text-shadow: 0 0 18px rgba(244,205,119,.34);
}

.mv-jackpot-live-chips {
    position: relative;
}

.mv-jackpot-live-chips em {
    background:
        linear-gradient(135deg, rgba(255,255,255,.13), transparent 35%),
        linear-gradient(180deg, rgba(16,17,24,.92), rgba(56,10,22,.68));
    border-color: rgba(244,205,119,.25);
    color: rgba(255,246,220,.92);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.16),
        0 10px 24px rgba(0,0,0,.22);
}

.mv-jackpot-live-chips em:first-child {
    background:
        linear-gradient(135deg, rgba(255,255,255,.20), transparent 34%),
        linear-gradient(135deg, #ff365f, #92001e);
    color: #fff;
    border-color: rgba(255,255,255,.26);
}

.mv-jackpot-card,
.mv-jackpot-recent {
    background:
        linear-gradient(135deg, rgba(255,255,255,.10), transparent 32%),
        radial-gradient(circle at 50% 0%, rgba(255,0,51,.12), transparent 34%),
        linear-gradient(180deg, rgba(17,19,26,.96), rgba(7,8,13,.96)) !important;
    border-color: rgba(244,205,119,.22) !important;
    box-shadow:
        0 22px 48px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.16),
        inset 0 -1px 0 rgba(255,0,51,.10) !important;
}

.mv-jackpot-card span,
.mv-jackpot-recent-head span {
    color: #ff4168;
    text-shadow: 0 0 16px rgba(255,0,51,.34);
}

.mv-jackpot-card strong,
.mv-jackpot-recent-head strong {
    color: #fff6d8;
    text-shadow: 0 0 18px rgba(244,205,119,.16);
}

.mv-jackpot-card p {
    color: rgba(255,255,255,.72);
}

.mv-jackpot-recent ul {
    gap: 10px;
}

.mv-jackpot-recent li {
    background:
        linear-gradient(135deg, rgba(255,255,255,.08), transparent 35%),
        linear-gradient(180deg, rgba(17,20,28,.84), rgba(8,9,14,.92)) !important;
    border-color: rgba(255,255,255,.10) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 12px 24px rgba(0,0,0,.22) !important;
}

.mv-jackpot-recent li:before {
    content: "LIVE";
    background: linear-gradient(135deg, #ff365f, #8a001b);
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 0 18px rgba(255,0,51,.26);
}

.mv-jackpot-recent li span {
    color: rgba(255,255,255,.78);
}

.mv-jackpot-recent li strong {
    color: #f6d276;
    text-shadow: 0 0 14px rgba(244,205,119,.22);
}

.mv-jackpot-recent li.is-real {
    background:
        linear-gradient(135deg, rgba(255,255,255,.13), transparent 34%),
        linear-gradient(180deg, rgba(76,0,18,.88), rgba(14,7,11,.96)) !important;
    border-color: rgba(255,0,51,.42) !important;
    box-shadow:
        0 0 28px rgba(255,0,51,.18),
        inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.mv-jackpot-recent li.is-real:before {
    content: "WIN";
    background: linear-gradient(135deg, #fff0a8, #c38a18);
    color: #160d02;
    box-shadow: 0 0 18px rgba(244,205,119,.34);
}

@media (max-width: 1024px) {
    .movetime-jackpot-slot .hyper-slot-case {
        padding: 16px;
        border-radius: 28px;
    }
    .movetime-jackpot-slot .inner-gear-board {
        padding: 22px 14px 16px;
    }
    .movetime-jackpot-slot .slot-engine-tunnel {
        gap: 8px;
        padding: 12px;
    }
    .movetime-jackpot-slot .cylinder-slot-card {
        height: 158px;
        border-radius: 17px;
    }
}

@media (max-width: 640px) {
    .movetime-jackpot-slot .neon-live-badge {
        left: 18px;
    }
    .movetime-jackpot-slot .display-title {
        font-size: 12px;
    }
    .movetime-jackpot-slot .slot-engine-tunnel {
        grid-template-columns: repeat(5, minmax(58px, 1fr));
        gap: 6px;
        padding: 9px;
    }
    .movetime-jackpot-slot .cylinder-slot-card {
        height: 138px;
        min-width: 0;
    }
    .movetime-jackpot-slot .slot-rolling-strip span:first-child {
        font-size: 28px;
    }
    .movetime-jackpot-slot .user-panel-id {
        font-size: 12px;
    }
    .movetime-jackpot-slot .meta-status-capsule {
        min-height: 34px;
        padding: 5px 7px;
        font-size: 9px;
    }
}

/* Main-event layout: make the slot machine the hero and move info cards below. */
.mv-jackpot .mv-jackpot-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px;
}

.mv-jackpot .mv-jackpot-machine {
    width: 100%;
    padding: 34px;
    border-radius: 38px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.13), rgba(255,255,255,.035) 38%, rgba(255,0,51,.06)),
        radial-gradient(circle at 50% -8%, rgba(255,0,51,.22), transparent 38%),
        radial-gradient(circle at 50% 110%, rgba(244,205,119,.12), transparent 35%),
        linear-gradient(180deg, rgba(13,14,20,.94), rgba(5,6,10,.96));
    border: 1px solid rgba(255,255,255,.16);
    box-shadow:
        0 34px 82px rgba(0,0,0,.46),
        0 0 58px rgba(255,0,51,.16),
        inset 0 1px 0 rgba(255,255,255,.22),
        inset 0 -1px 0 rgba(244,205,119,.13);
}

.mv-jackpot .movetime-jackpot-slot {
    width: 100%;
    max-width: none;
}

.mv-jackpot .movetime-jackpot-slot .hyper-slot-case {
    width: 100%;
    padding: 30px;
    border-radius: 40px;
    box-shadow:
        0 28px 74px rgba(0,0,0,.54),
        0 0 54px rgba(255,0,51,.24),
        0 0 36px rgba(244,205,119,.10),
        inset 0 1px 0 rgba(255,255,255,.24),
        inset 0 -1px 0 rgba(255,0,51,.16);
}

.mv-jackpot .movetime-jackpot-slot .inner-gear-board {
    padding: 34px 28px 26px;
    border-radius: 32px;
}

.mv-jackpot .movetime-jackpot-slot .slot-engine-tunnel {
    gap: 18px;
    padding: 20px;
    border: 2px solid rgba(255,255,255,.14);
    box-shadow:
        inset 0 0 42px rgba(0,0,0,.70),
        inset 0 1px 0 rgba(255,255,255,.18),
        0 0 34px rgba(255,0,51,.16);
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card {
    height: 218px;
    border-radius: 26px;
    border: 3px solid rgba(255,255,255,.18);
    outline: 1px solid rgba(244,205,119,.22);
    outline-offset: -7px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.28), transparent 12%, transparent 86%, rgba(255,255,255,.20)),
        radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.28), transparent 43%),
        radial-gradient(ellipse at 50% 96%, rgba(255,0,51,.16), transparent 48%),
        linear-gradient(180deg, rgba(18,25,36,.74), rgba(3,6,12,.96));
    backdrop-filter: blur(24px) saturate(1.25);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.18),
        inset 0 18px 34px rgba(255,255,255,.12),
        inset 0 -28px 42px rgba(0,0,0,.68),
        inset 12px 0 24px rgba(255,255,255,.055),
        inset -12px 0 24px rgba(255,0,51,.08),
        0 0 0 1px rgba(0,0,0,.68),
        0 0 28px rgba(244,205,119,.12),
        0 18px 36px rgba(0,0,0,.50);
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card:before,
.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card:after {
    z-index: 3;
    height: 68px;
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card:before {
    background:
        linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08) 24%, rgba(0,0,0,.10) 48%, transparent),
        linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card:after {
    background:
        linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.34), transparent),
        radial-gradient(ellipse at 50% 100%, rgba(255,0,51,.18), transparent 62%);
}

.mv-jackpot .movetime-jackpot-slot .cylinder-slot-card.active-lucky {
    border-color: rgba(255,255,255,.30);
    outline-color: rgba(255,49,84,.58);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.22),
        inset 0 18px 34px rgba(255,255,255,.14),
        inset 0 -28px 42px rgba(0,0,0,.66),
        0 0 0 1px rgba(255,0,51,.38),
        0 0 42px rgba(255,0,51,.38),
        0 20px 40px rgba(0,0,0,.52);
}

.mv-jackpot .movetime-jackpot-slot .slot-rolling-strip {
    gap: 22px;
    padding-top: 22px;
}

.mv-jackpot .movetime-jackpot-slot .slot-rolling-strip span:first-child {
    font-size: 42px;
}

.mv-jackpot .movetime-jackpot-slot .user-panel-id {
    font-size: 21px;
    text-shadow:
        0 0 16px rgba(255,255,255,.32),
        0 0 24px rgba(255,0,51,.18);
}

.mv-jackpot .movetime-jackpot-slot .meta-status-capsule {
    min-height: 44px;
    padding: 8px 13px;
    border-width: 2px;
    background:
        linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.045)),
        rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
}

.mv-jackpot .mv-jackpot-side {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px;
}

.mv-jackpot .mv-jackpot-card {
    min-height: 154px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@media (max-width: 1024px) {
    .mv-jackpot .mv-jackpot-machine {
        padding: 22px;
        border-radius: 30px;
    }

    .mv-jackpot .movetime-jackpot-slot .hyper-slot-case {
        padding: 20px;
        border-radius: 32px;
    }

    .mv-jackpot .movetime-jackpot-slot .inner-gear-board {
        padding: 24px 16px 18px;
    }

    .mv-jackpot .movetime-jackpot-slot .slot-engine-tunnel {
        gap: 10px;
        padding: 13px;
    }

    .mv-jackpot .movetime-jackpot-slot .cylinder-slot-card {
        height: 166px;
        border-width: 2px;
        border-radius: 20px;
        outline-offset: -5px;
    }
}

@media (max-width: 640px) {
    .mv-jackpot .mv-jackpot-machine {
        padding: 14px;
    }

    .mv-jackpot .movetime-jackpot-slot .hyper-slot-case {
        padding: 14px;
    }

    .mv-jackpot .movetime-jackpot-slot .slot-engine-tunnel {
        grid-template-columns: repeat(5, minmax(52px, 1fr));
        gap: 6px;
        padding: 8px;
    }

    .mv-jackpot .movetime-jackpot-slot .cylinder-slot-card {
        height: 138px;
        border-radius: 16px;
    }

    .mv-jackpot .movetime-jackpot-slot .slot-rolling-strip span:first-child {
        font-size: 27px;
    }

    .mv-jackpot .movetime-jackpot-slot .user-panel-id {
        font-size: 12px;
    }

    .mv-jackpot .mv-jackpot-side {
        grid-template-columns: 1fr !important;
    }
}

/* Smooth final-stop tuning for 777 jackpot reels. Keep this block last. */
.mv-jackpot .movetime-jackpot-slot .slot-rolling-strip {
    animation: none !important;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
    opacity: 1;
    will-change: transform, filter, opacity;
    backface-visibility: hidden;
}

.mv-jackpot.is-spinning .movetime-jackpot-slot .slot-rolling-strip {
    animation-name: mvJackpotSmoothSlotStop !important;
    animation-duration: var(--mv-slot-duration, 3200ms) !important;
    animation-timing-function: cubic-bezier(.16, 1, .3, 1) !important;
    animation-fill-mode: forwards !important;
    animation-iteration-count: 1 !important;
    filter: blur(.9px);
}

.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(1) .slot-rolling-strip { animation-delay: 0ms !important; animation-duration: var(--mv-slot-duration, 3200ms) !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(2) .slot-rolling-strip { animation-delay: 140ms !important; animation-duration: var(--mv-slot-duration, 3200ms) !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(3) .slot-rolling-strip { animation-delay: 280ms !important; animation-duration: var(--mv-slot-duration, 3200ms) !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(4) .slot-rolling-strip { animation-delay: 420ms !important; animation-duration: var(--mv-slot-duration, 3200ms) !important; }
.mv-jackpot.is-spinning .movetime-jackpot-slot .cylinder-slot-card:nth-child(5) .slot-rolling-strip { animation-delay: 560ms !important; animation-duration: var(--mv-slot-duration, 3200ms) !important; }

.mv-jackpot.is-revealed .movetime-jackpot-slot .slot-rolling-strip,
.mv-jackpot.is-complete .movetime-jackpot-slot .slot-rolling-strip {
    animation: none !important;
    transform: translate3d(0, -760px, 0) !important;
    filter: blur(0) !important;
    opacity: 0 !important;
    transition: opacity .42s ease, filter .42s ease;
}

.mv-jackpot.is-revealed .movetime-jackpot-slot .slot-result-face {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) scale(1) !important;
    transition: opacity .52s ease .08s, transform .58s cubic-bezier(.16, 1, .3, 1) .08s;
}

.mv-jackpot.is-settled .movetime-jackpot-slot .cylinder-slot-card {
    transform: translate3d(0, 0, 0);
}

@keyframes mvJackpotSmoothSlotStop {
    0% {
        transform: translate3d(0, 0, 0);
        filter: blur(1.6px);
    }
    18% {
        transform: translate3d(0, -250px, 0);
        filter: blur(1.8px);
    }
    42% {
        transform: translate3d(0, -520px, 0);
        filter: blur(1.25px);
    }
    66% {
        transform: translate3d(0, -685px, 0);
        filter: blur(.55px);
    }
    84% {
        transform: translate3d(0, -742px, 0);
        filter: blur(.16px);
    }
    94% {
        transform: translate3d(0, -754px, 0);
        filter: blur(0);
    }
    100% {
        transform: translate3d(0, -760px, 0);
        filter: blur(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .mv-jackpot.is-spinning .movetime-jackpot-slot .slot-rolling-strip {
        animation: none !important;
        transform: translate3d(0, -760px, 0) !important;
        filter: blur(0) !important;
    }
}

/* 777 mypage candidate reel rebuild. Visual candidate slots only; payout logs stay separate. */
.mv-jackpot .mypage-jackpot-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: none;
    padding: 34px 30px 28px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 50% 0%, rgba(255,42,82,.24), transparent 35%),
        radial-gradient(circle at 50% 105%, rgba(255,218,100,.13), transparent 34%),
        linear-gradient(145deg, #11131b 0%, #050609 54%, #18030a 100%);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow:
        0 28px 74px rgba(0,0,0,.50),
        0 0 44px rgba(255,0,51,.20),
        inset 0 1px 0 rgba(255,255,255,.18);
}

.mv-jackpot .mypage-jackpot-card:before {
    content: "";
    position: absolute;
    inset: 12px;
    border-radius: 26px;
    border: 1px solid rgba(255,220,140,.14);
    pointer-events: none;
}

.mypage-jackpot-head {
    position: relative;
    z-index: 2;
    text-align: center;
    margin-bottom: 24px;
}

.jackpot-live-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 16px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff174f, #9b001b);
    color: #fff;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .12em;
    box-shadow: 0 0 22px rgba(255,32,79,.48);
}

.mypage-jackpot-head h3 {
    margin: 13px 0 0;
    color: #fff3d2;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.08;
    font-weight: 950;
    letter-spacing: -.035em;
    text-shadow: 0 0 26px rgba(255,41,82,.32);
}

.mypage-jackpot-head p {
    margin: 9px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 17px;
    line-height: 1.45;
    font-weight: 850;
}

.jackpot-slot-stage {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    min-height: 245px;
    padding: 24px 28px;
    border-radius: 28px;
    background:
        radial-gradient(circle at 28% 45%, rgba(255,48,82,.18), transparent 34%),
        radial-gradient(circle at 72% 35%, rgba(255,180,70,.10), transparent 30%),
        linear-gradient(180deg, #07070a 0%, #030305 100%);
    border: 1px solid rgba(255,75,95,.22);
    box-shadow:
        inset 0 0 34px rgba(255,255,255,.04),
        inset 0 0 54px rgba(0,0,0,.86),
        0 0 34px rgba(190,0,38,.24),
        0 16px 32px rgba(0,0,0,.38);
    overflow: hidden;
}

.slot-unit {
    position: relative;
    flex: 0 0 122px;
    height: 205px;
    overflow: visible;
    border-radius: 28px;
    padding: 4px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.28), rgba(255,255,255,.04) 35%, rgba(0,0,0,.55) 100%);
    box-shadow:
        0 0 0 1px rgba(255,255,255,.16),
        0 0 0 2px rgba(255,255,255,.05),
        inset 0 1px 0 rgba(255,255,255,.22),
        0 14px 28px rgba(0,0,0,.42),
        0 0 22px rgba(255,45,82,.18);
}

.slot-unit:after {
    content: "";
    position: absolute;
    inset: 7px 10px auto 10px;
    height: 42px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,0));
    opacity: .46;
    pointer-events: none;
    z-index: 4;
}

.slot-viewport {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 10%, rgba(255,255,255,.28), transparent 28%),
        linear-gradient(180deg, #403941 0%, #1b1118 45%, #060507 100%);
    border: 1px solid rgba(255,255,255,.22);
    box-shadow:
        inset 0 2px 4px rgba(255,255,255,.2),
        inset 0 -26px 36px rgba(0,0,0,.62),
        inset 0 0 24px rgba(255,255,255,.06);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 16%, rgba(0,0,0,1) 84%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 16%, rgba(0,0,0,1) 84%, rgba(0,0,0,0) 100%);
}

.slot-viewport:after {
    content: "";
    position: absolute;
    left: 12%;
    right: 12%;
    bottom: 8px;
    height: 56px;
    z-index: 1;
    background:
        repeating-linear-gradient(
            90deg,
            rgba(255,255,255,.18) 0 2px,
            transparent 2px 7px
        );
    opacity: .32;
    filter: blur(.8px);
    pointer-events: none;
}

.slot-reel {
    position: relative;
    z-index: 2;
    will-change: transform, filter;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}

.slot-item {
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    font-size: 18px;
    line-height: 1.1;
    font-weight: 950;
    letter-spacing: -.02em;
    white-space: nowrap;
    text-shadow:
        0 0 10px rgba(255,255,255,.36),
        0 18px 24px rgba(255,255,255,.16),
        0 -18px 24px rgba(255,255,255,.16);
}

.slot-unit.is-spinning .slot-reel {
    filter: blur(3px);
}

.slot-unit.is-spinning .slot-item {
    opacity: .86;
    text-shadow:
        0 0 12px rgba(255,255,255,.42),
        0 24px 30px rgba(255,255,255,.26),
        0 -24px 30px rgba(255,255,255,.26);
}

.slot-reel.spin-rapid {
    animation-name: jackpotReelSpin;
    animation-duration: var(--slot-spin-duration, 3200ms);
    animation-timing-function: cubic-bezier(.1, 0, 0, 1);
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

.slot-unit.is-my-slot .slot-viewport {
    border-color: rgba(255,218,92,.86);
}

.slot-unit.is-my-slot.is-settled {
    background:
        linear-gradient(145deg, rgba(255,232,120,.95), rgba(255,139,34,.38) 42%, rgba(80,20,0,.7) 100%);
    box-shadow:
        0 0 12px rgba(255,230,120,.95),
        0 0 28px rgba(255,178,42,.88),
        0 0 58px rgba(255,90,28,.62),
        0 0 96px rgba(255,42,20,.36),
        inset 0 1px 0 rgba(255,255,255,.32);
}

.slot-unit.is-my-slot.is-settled .slot-viewport {
    box-shadow:
        inset 0 2px 5px rgba(255,255,255,.26),
        inset 0 -24px 36px rgba(0,0,0,.58),
        0 0 28px rgba(255,212,80,.52);
}

.slot-item.my-slot {
    color: #fff4c8;
    text-shadow:
        0 0 12px rgba(255,220,100,.75),
        0 0 24px rgba(255,80,40,.44);
}

.slot-item.my-slot em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    margin-top: 6px;
    height: 20px;
    padding: 0 9px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ffe77c, #d59a20);
    color: #151009;
    font-size: 10px;
    font-weight: 950;
    font-style: normal;
}

.slot-light-column {
    position: absolute;
    left: 50%;
    top: -38px;
    width: 72px;
    height: calc(100% + 76px);
    transform: translateX(-50%);
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent 0%, rgba(255,238,165,.28) 24%, rgba(255,255,255,.72) 50%, rgba(255,187,61,.26) 76%, transparent 100%);
    filter: blur(3px);
}

.slot-unit.is-my-slot.is-settled .slot-light-column {
    opacity: 1;
    animation: slotLightPulse 1.4s ease-in-out infinite;
}

.slot-spark-ring {
    position: absolute;
    inset: -18px;
    z-index: 6;
    opacity: 0;
    pointer-events: none;
    border-radius: 34px;
    background:
        radial-gradient(circle at 15% 18%, rgba(255,238,130,1) 0 2px, transparent 4px),
        radial-gradient(circle at 78% 22%, rgba(255,95,48,.95) 0 2px, transparent 4px),
        radial-gradient(circle at 22% 78%, rgba(255,210,70,.85) 0 2px, transparent 4px),
        radial-gradient(circle at 85% 70%, rgba(255,255,255,.86) 0 1px, transparent 3px);
    filter:
        drop-shadow(0 0 8px rgba(255,211,70,.9))
        drop-shadow(0 0 18px rgba(255,81,35,.55));
}

.slot-unit.is-my-slot.is-settled .slot-spark-ring {
    opacity: 1;
    animation: sparkRingFlash .11s infinite alternate;
}

.slot-unit.is-my-slot.is-settled:before {
    content: "";
    position: absolute;
    inset: -8px;
    z-index: 7;
    pointer-events: none;
    border-radius: 32px;
    border: 2px solid rgba(255,219,95,.78);
    box-shadow:
        0 0 12px rgba(255,220,90,.9),
        0 0 28px rgba(255,140,35,.75),
        0 0 56px rgba(255,55,25,.42);
    animation: mySlotBorderFire 1.05s ease-in-out infinite;
}

.spark-overlay {
    position: absolute;
    inset: -18px;
    pointer-events: none;
    opacity: 0;
    z-index: 8;
    background:
        radial-gradient(circle at 18% 20%, rgba(255,235,120,.95) 0 2px, transparent 3px),
        radial-gradient(circle at 80% 28%, rgba(255,105,60,.9) 0 2px, transparent 4px),
        radial-gradient(circle at 35% 82%, rgba(255,215,90,.85) 0 2px, transparent 4px),
        radial-gradient(circle at 70% 72%, rgba(255,255,255,.75) 0 1px, transparent 3px);
    filter: drop-shadow(0 0 10px rgba(255,190,60,.75));
}

.slot-unit.is-my-slot.is-settled .spark-overlay {
    animation: sparkFlash .12s infinite alternate;
}

.mypage-jackpot-info {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 22px auto 0;
    color: rgba(255,255,255,.74);
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}

.mypage-jackpot-info strong {
    color: #ffe08a;
    font-weight: 950;
}

.mypage-jackpot-actions {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

.mypage-jackpot-benefits {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.jackpot-benefit-card {
    padding: 18px 20px;
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
        linear-gradient(135deg, #101016, #230710);
    border: 1px solid rgba(255,216,130,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.jackpot-benefit-card strong {
    display: inline-flex;
    margin-bottom: 8px;
    color: #ff436d;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
}

.jackpot-benefit-card h4 {
    margin: 0 0 7px;
    color: #fff4d0;
    font-size: 17px;
    font-weight: 950;
}

.jackpot-benefit-card p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.55;
}

.mypage-jackpot-expire-note {
    position: relative;
    z-index: 2;
    margin-top: 12px;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(255,222,140,.08);
    color: rgba(255,255,255,.78);
    font-size: 13px;
    line-height: 1.5;
}

.jackpot-replay-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 950;
    text-decoration: none !important;
}

.jackpot-replay-btn {
    border: 0;
    background: linear-gradient(135deg, #ffe694, #c78a22);
    color: #120b05;
    box-shadow: 0 14px 30px rgba(218,154,38,.32), 0 0 18px rgba(255,217,119,.18);
    cursor: pointer;
}

@keyframes jackpotReelSpin {
    0% { transform: translate3d(0, var(--slot-rapid-y, -820px), 0); filter: blur(3px); }
    22% { transform: translate3d(0, var(--slot-mid-y, -1560px), 0); filter: blur(3px); }
    52% { transform: translate3d(0, var(--slot-near-y, -2140px), 0); filter: blur(1.7px); }
    78% { transform: translate3d(0, calc(var(--slot-final-y, -2592px) - 36px), 0); filter: blur(.7px); }
    92% { transform: translate3d(0, calc(var(--slot-final-y, -2592px) - 8px), 0); filter: blur(.18px); }
    100% { transform: translate3d(0, var(--slot-final-y, -2592px), 0); filter: blur(0); }
}

@keyframes sparkFlash {
    from { opacity: .45; transform: scale(1); }
    to { opacity: 1; transform: scale(1.08); }
}

@keyframes slotLightPulse {
    0%, 100% {
        opacity: .42;
        transform: translateX(-50%) scaleX(.78);
    }
    50% {
        opacity: 1;
        transform: translateX(-50%) scaleX(1.08);
    }
}

@keyframes sparkRingFlash {
    from {
        opacity: .45;
        transform: scale(.96) rotate(-1deg);
    }
    to {
        opacity: 1;
        transform: scale(1.08) rotate(1deg);
    }
}

@keyframes mySlotBorderFire {
    0%, 100% {
        opacity: .58;
        transform: scale(.99);
    }
    50% {
        opacity: 1;
        transform: scale(1.035);
    }
}

@media (max-width: 768px) {
    .jackpot-slot-stage {
        display: flex;
        justify-content: flex-start;
        gap: 12px;
        overflow-x: auto;
        min-height: 220px;
        padding: 18px 14px;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    .slot-unit {
        flex: 0 0 102px;
        height: 178px;
        border-radius: 22px;
        scroll-snap-align: start;
    }

    .slot-viewport {
        border-radius: 22px;
    }

    .slot-item {
        height: 52px;
        font-size: 15px;
    }

    .mypage-jackpot-card {
        padding: 24px 14px 22px;
        border-radius: 26px;
    }

    .mypage-jackpot-info,
    .mypage-jackpot-actions {
        flex-direction: column;
    }

    .mypage-jackpot-benefits {
        grid-template-columns: 1fr;
    }

    .jackpot-replay-btn {
        width: 100%;
    }
}

/* Public 777 jackpot promotion cards: main, mobile main, login. */
.mv-jackpot-promo,
.mv-jackpot-promo * {
    box-sizing: border-box;
}

.mv-jackpot-promo {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: grid;
    grid-template-columns: 520px minmax(0, 1fr) 260px;
    align-items: center;
    gap: 34px;
    width: min(1400px, calc(100% - 40px));
    min-height: 250px;
    margin: 28px auto 38px;
    padding: 42px 46px;
    border-radius: 34px;
    background:
        radial-gradient(circle at 24% 48%, rgba(255,20,55,.34), transparent 34%),
        radial-gradient(circle at 82% 45%, rgba(255,194,76,.16), transparent 30%),
        linear-gradient(135deg, #030306 0%, #120306 32%, #3b0710 62%, #070309 100%);
    border: 1px solid rgba(255,52,82,.48);
    color: #fff;
    box-shadow:
        0 30px 76px rgba(0,0,0,.45),
        inset 0 1px 0 rgba(255,255,255,.08),
        inset 0 0 0 1px rgba(255,215,120,.08),
        0 0 38px rgba(190,0,40,.32);
}

.mv-jackpot-promo:before {
    content: "";
    position: absolute;
    inset: 14px;
    border-radius: 26px;
    border: 1px solid rgba(255,219,130,.14);
    pointer-events: none;
    z-index: 2;
}

.mv-jackpot-promo-glow {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(115deg, transparent 0%, rgba(255,255,255,.12) 45%, transparent 58%),
        radial-gradient(circle at 13% 58%, rgba(255,62,110,.28), transparent 35%),
        repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 18px);
    transform: translateX(-84%);
    animation: mvJackpotPromoSweep 6.4s ease-in-out infinite;
    pointer-events: none;
}

.mv-jackpot-promo:after {
    content: "777 JACKPOT";
    position: absolute;
    right: 36px;
    top: 20px;
    z-index: 1;
    color: rgba(255,255,255,.045);
    font-size: 88px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.045em;
    pointer-events: none;
}

.mv-jackpot-slot-preview {
    position: relative;
    grid-column: 1;
    left: auto;
    top: auto;
    width: 100%;
    height: 205px;
    border-radius: 24px;
    overflow: hidden;
    z-index: 3;
    opacity: 1;
    background:
        repeating-linear-gradient(90deg, rgba(255,255,255,.08) 0 2px, transparent 2px 58px),
        radial-gradient(circle at 45% 50%, rgba(255,220,130,.16), transparent 28%),
        linear-gradient(135deg, #08080c, #25040b 54%, #08080c);
    filter: brightness(1.12) contrast(1.06) saturate(1.08);
    box-shadow:
        0 0 28px rgba(255,39,70,.28),
        0 0 54px rgba(255,187,75,.12);
}

.mv-jackpot-slot-preview:before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 2;
    border-radius: inherit;
    border: 1px solid rgba(255,91,116,.24);
    box-shadow: inset 0 0 20px rgba(0,0,0,.18);
    pointer-events: none;
}

.mv-jackpot-slot-preview:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(90deg, rgba(0,0,0,.02) 0%, rgba(0,0,0,.04) 58%, rgba(0,0,0,.18) 100%),
        linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.08));
    pointer-events: none;
}

.mv-jackpot-slot-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    filter: none;
}

.mv-jackpot-promo-coins {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}

.mv-jackpot-promo-coins:before,
.mv-jackpot-promo-coins:after {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 28%, #fff8bd 0 18%, #f4c35d 19% 58%, #9e651f 59% 100%);
    box-shadow: 0 0 16px rgba(255,215,100,.42);
    opacity: .78;
    animation: mvJackpotCoinFloat 3.2s ease-in-out infinite;
}

.mv-jackpot-promo-coins:before {
    right: 385px;
    top: 42px;
}

.mv-jackpot-promo-coins:after {
    right: 325px;
    bottom: 46px;
    animation-delay: .7s;
}

.mv-jackpot-promo-reels {
    position: relative;
    z-index: 3;
    display: block;
    min-width: 0;
}

.mv-jackpot-promo-main .mv-jackpot-promo-reels,
.mv-jackpot-promo-mobile .mv-jackpot-promo-reels {
    display: none;
}

.mv-jackpot-promo-reels > em {
    display: block;
    margin: 0 0 13px;
    color: rgba(255,234,178,.72);
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .16em;
}

.mv-jackpot-promo-reels > div {
    display: flex;
    gap: 12px;
}

.mv-jackpot-promo-reels span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 82px;
    border-radius: 18px;
    background:
        linear-gradient(180deg, rgba(255,255,255,.12), transparent 38%),
        linear-gradient(180deg, #2b1719 0%, #060507 100%);
    border: 1px solid rgba(255,213,105,.52);
    color: #ffe38a;
    font-size: 44px;
    line-height: 1;
    font-weight: 950;
    text-shadow: 0 0 18px rgba(255,215,105,.58);
    box-shadow:
        inset 0 0 22px rgba(255,255,255,.08),
        0 0 22px rgba(255,187,53,.24),
        0 10px 20px rgba(0,0,0,.25);
    animation: mvJackpotPromoPulse 2.3s ease-in-out infinite;
}

.mv-jackpot-promo-reels span:nth-child(2) { animation-delay: .18s; }
.mv-jackpot-promo-reels span:nth-child(3) { animation-delay: .36s; }

.mv-jackpot-promo-copy {
    position: relative;
    z-index: 4;
    min-width: 0;
    text-align: center;
    grid-column: 2;
    max-width: none;
    margin-left: 0;
}

.mv-jackpot-promo-copy em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 0 16px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff174f, #9b001b);
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
    letter-spacing: .08em;
    box-shadow: 0 0 22px rgba(255,32,79,.48);
}

.mv-jackpot-promo-copy strong,
.mv-jackpot-promo-copy b,
.mv-jackpot-promo-copy p {
    display: block;
}

.mv-jackpot-promo-copy strong {
    margin-top: 12px;
    color: #fff4d2;
    font-size: clamp(27px, 2.65vw, 38px);
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: -.04em;
    text-shadow: 0 0 24px rgba(255,41,82,.28);
}

.mv-jackpot-promo-copy b {
    margin-top: 8px;
    color: #fff;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 950;
}

.mv-jackpot-promo-copy p {
    margin: 8px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 14px;
    line-height: 1.5;
    font-weight: 760;
}

.mv-jackpot-promo-actions {
    position: relative;
    z-index: 4;
    grid-column: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

.mv-jackpot-promo-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 18px;
    border-radius: 999px;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 950;
    white-space: nowrap;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.mv-jackpot-promo-actions a:hover,
.mv-jackpot-promo-actions a:focus {
    transform: translateY(-2px);
}

.mv-jackpot-promo-primary {
    background: linear-gradient(135deg, #ffe694, #c78a22);
    color: #120b05 !important;
    box-shadow:
        0 14px 30px rgba(218,154,38,.32),
        0 0 18px rgba(255,217,119,.18),
        inset 0 1px 0 rgba(255,255,255,.50);
}

.mv-jackpot-promo-primary:hover,
.mv-jackpot-promo-primary:focus {
    box-shadow: 0 17px 34px rgba(218,158,47,.34), inset 0 1px 0 rgba(255,255,255,.52);
}

.mv-jackpot-promo-secondary {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,220,138,.34);
    color: #ffe6a8 !important;
    backdrop-filter: blur(6px);
}

.mv-jackpot-promo-secondary:hover,
.mv-jackpot-promo-secondary:focus {
    border-color: rgba(255,224,150,.48);
    box-shadow: 0 12px 24px rgba(255,48,99,.12);
}

.mv-jackpot-promo-mini {
    min-height: 30px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.68);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
}

.mv-jackpot-promo-login {
    width: 100%;
    min-height: 0;
    margin: 0 0 16px;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 15px;
    padding: 18px 19px;
    border-radius: 21px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-coins,
.mv-jackpot-promo-login .mv-jackpot-slot-preview {
    display: none;
}

.mv-jackpot-promo-login:before {
    inset: 9px;
    border-radius: 16px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-actions {
    grid-column: 1 / -1;
    flex-direction: row;
}

.mv-jackpot-promo-login .mv-jackpot-promo-actions a {
    flex: 1 1 0;
    min-height: 41px;
    font-size: 13px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-mini {
    display: none;
}

.mv-jackpot-promo-login .mv-jackpot-promo-copy {
    text-align: left;
    max-width: none;
    margin-left: 0;
}

.mv-jackpot-promo-login .mv-jackpot-promo-copy em {
    min-height: 24px;
    padding: 0 10px;
    font-size: 10px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-copy strong {
    margin-top: 8px;
    font-size: 19px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-copy b {
    font-size: 14px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-reels > em {
    display: none;
}

.mv-jackpot-promo-login .mv-jackpot-promo-reels > div {
    gap: 5px;
}

.mv-jackpot-promo-login .mv-jackpot-promo-reels span {
    width: 30px;
    height: 39px;
    border-radius: 10px;
    font-size: 21px;
}

@keyframes mvJackpotPromoSweep {
    0%, 56% { transform: translateX(-84%); opacity: 0; }
    70% { opacity: .72; }
    100% { transform: translateX(84%); opacity: 0; }
}

@keyframes mvJackpotPromoPulse {
    0%, 100% {
        transform: translateY(0);
        filter: brightness(1);
        box-shadow:
            inset 0 0 18px rgba(255,255,255,.08),
            0 0 16px rgba(255,209,90,.16),
            0 10px 20px rgba(0,0,0,.25);
    }
    50% {
        transform: translateY(-3px) scale(1.035);
        filter: brightness(1.22);
        box-shadow:
            inset 0 0 22px rgba(255,255,255,.12),
            0 0 26px rgba(255,209,90,.28),
            0 13px 25px rgba(0,0,0,.28);
    }
}

@keyframes mvJackpotCoinFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); opacity: .45; }
    50% { transform: translateY(-9px) rotate(12deg); opacity: .9; }
}

@media (max-width: 1200px) {
    .mv-jackpot-slot-preview {
        width: 100%;
    }
    .mv-jackpot-promo {
        grid-template-columns: 470px minmax(0, 1fr) 240px;
    }
}

@media (max-width: 1100px) {
    .mv-jackpot-promo {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
        min-height: 0;
        padding: 34px 22px;
    }
    .mv-jackpot-slot-preview {
        width: 100%;
        max-width: 520px;
        height: 165px;
        margin: 0 auto -2px;
        opacity: 1;
    }
    .mv-jackpot-promo-coins:before {
        right: 62px;
        top: 32px;
    }
    .mv-jackpot-promo-coins:after {
        right: 34px;
        bottom: 58px;
    }
    .mv-jackpot-promo-reels > div {
        justify-content: center;
    }
    .mv-jackpot-promo-copy {
        max-width: none;
        margin-left: 0;
        grid-column: auto;
    }
    .mv-jackpot-promo-actions {
        grid-column: auto;
        width: min(360px, 100%);
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .mv-jackpot-promo {
        width: calc(100% - 24px);
        min-height: 0;
        margin: 18px auto 28px;
        padding: 28px 18px;
        border-radius: 24px;
        gap: 18px;
    }
    .mv-jackpot-promo:before {
        inset: 9px;
        border-radius: 17px;
    }
    .mv-jackpot-slot-preview {
        height: 138px;
        border-radius: 18px;
    }
    .mv-jackpot-promo:after {
        font-size: 52px;
        right: 16px;
        top: 16px;
    }
    .mv-jackpot-promo-copy strong {
        font-size: 26px;
    }
    .mv-jackpot-promo-copy b {
        font-size: 17px;
    }
    .mv-jackpot-promo-actions {
        width: 100%;
    }
    .mv-jackpot-promo-actions a {
        width: 100%;
    }
    .mv-jackpot-promo-login {
        grid-template-columns: 1fr;
        padding: 18px 14px;
    }
    .mv-jackpot-promo-login .mv-jackpot-promo-copy {
        text-align: center;
    }
    .mv-jackpot-promo-login .mv-jackpot-promo-reels > div {
        justify-content: center;
    }
    .mv-jackpot-promo-login .mv-jackpot-promo-actions {
        flex-direction: column;
    }
}
