.slot-card.theme-gem { background: linear-gradient(120deg, #062028, #0c2428 55%, #12343a); border-color: #1f8a8a; }
.slot-card.theme-coin { background: linear-gradient(120deg, #3a1020, #5a1830 50%, #3a2410); border-color: #e23b58; }
.slot-card.theme-star { background: linear-gradient(120deg, #101428, #1a2048 48%, #142818); border-color: #6a7cff; }
.slot-card.theme-potion { background: linear-gradient(120deg, #1a1028, #241438 55%, #102018); border-color: #8b5cf6; }
.slot-card.theme-chapel { background: linear-gradient(120deg, #1a1030, #241448 50%, #3a1828); border-color: #fde68a; }

.slot-stage.theme-gem,
.slot-stage.theme-coin,
.slot-stage.theme-star,
.slot-stage.theme-potion,
.slot-stage.theme-chapel {
    width: min(100%, 520px);
    margin-inline: auto;
    padding: 16px 12px 18px;
    border-radius: 28px;
}

.slot-stage.theme-gem {
    background:
        radial-gradient(circle at 50% 0%, rgba(94, 234, 212, 0.22), transparent 42%),
        linear-gradient(180deg, #083038, #06141c);
    border: 1px solid #2dd4bf;
    box-shadow: inset 0 0 0 5px #062830, 0 0 24px rgba(45, 212, 191, 0.25);
}
.theme-gem .slot-window, .theme-gem .slot-mini { background: radial-gradient(circle at 50% 0%, #14545c, #06181c 74%); border-color: #2dd4bf; box-shadow: inset 0 0 16px rgba(45, 212, 191, 0.28); border-radius: 18px; }
.theme-gem .slot-window::after, .theme-gem .slot-mini::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent, rgba(94, 234, 212, 0.18), transparent); animation: gemWash 2.8s ease-in-out infinite; pointer-events: none; }
.theme-gem .slot-window.expanded { border-color: #ccfff6; box-shadow: inset 0 0 22px rgba(94, 234, 212, 0.75), 0 0 14px rgba(20, 184, 166, 0.55); }
.theme-gem .slot-jackpot { background: rgba(6, 28, 34, 0.86); border-color: #147d78; }
.theme-gem .slot-jackpot small { color: #99f6e4; }
.theme-gem .slot-jackpot b { color: #ecfeff; }
.theme-gem .slot-jackpot.grand { border-color: #5eead4; box-shadow: 0 0 16px rgba(45, 212, 191, 0.45); }
.theme-gem .slot-spins { color: #99f6e4; text-shadow: 0 0 12px rgba(45, 212, 191, 0.55); }
.slot-burst.theme-gem i { background: radial-gradient(circle, #ccfff6, #14b8a6 46%, transparent 72%); }

.slot-stage.theme-coin {
    background:
        repeating-linear-gradient(90deg, rgba(226, 59, 88, 0.18) 0 14px, rgba(255, 209, 90, 0.12) 14px 28px),
        linear-gradient(180deg, #4a1024, #1a0c10);
    border: 3px dashed #ffd15a;
    box-shadow: inset 0 0 0 6px #3a1020;
}
.theme-coin .slot-window, .theme-coin .slot-mini { background: radial-gradient(circle at 50% 0%, #6a1830, #1a0c10 76%); border-color: #ffd15a; box-shadow: inset 0 0 14px rgba(255, 209, 90, 0.22); border-radius: 8px; }
.theme-coin .slot-window::after, .theme-coin .slot-mini::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 209, 90, 0.16), transparent 40%, rgba(226, 59, 88, 0.18)); animation: paradeWash 1.8s ease-in-out infinite; pointer-events: none; }
.theme-coin .slot-window.expanded { border-color: #fff6d8; box-shadow: inset 0 0 20px rgba(255, 209, 90, 0.7), 0 0 12px rgba(226, 59, 88, 0.55); }
.theme-coin .slot-jackpot { background: rgba(58, 16, 32, 0.88); border-color: #e23b58; }
.theme-coin .slot-jackpot small { color: #ffd15a; }
.theme-coin .slot-jackpot b { color: #fff6d8; }
.theme-coin .slot-jackpot.grand { border-color: #fff1c9; box-shadow: 0 0 16px rgba(255, 209, 90, 0.5); }
.theme-coin .slot-spins { color: #ffd15a; text-shadow: 0 0 12px rgba(226, 59, 88, 0.6); }
.slot-burst.theme-coin i { background: radial-gradient(circle, #fff1c9, #e23b58 42%, transparent 72%); }

.slot-stage.theme-star {
    background:
        radial-gradient(circle at 80% 0%, rgba(255, 255, 255, 0.16), transparent 28%),
        radial-gradient(circle at 12% 100%, rgba(63, 191, 106, 0.2), transparent 36%),
        linear-gradient(180deg, #12183a, #0c1024);
    border: 1px solid #8ea2ff;
    box-shadow: inset 0 0 0 5px #1a2048, 0 0 22px rgba(110, 130, 255, 0.25);
}
.theme-star .slot-window, .theme-star .slot-mini { background: radial-gradient(circle at 50% 0%, #24305c, #0c1020 74%); border-color: #a5b4fc; box-shadow: inset 0 0 16px rgba(165, 180, 252, 0.28); }
.theme-star .slot-window::after, .theme-star .slot-mini::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.35), transparent 8%), radial-gradient(circle at 70% 40%, rgba(255, 255, 255, 0.28), transparent 6%), linear-gradient(180deg, transparent, rgba(63, 191, 106, 0.12)); animation: starTwinkle 2.2s ease-in-out infinite; pointer-events: none; }
.theme-star .slot-window.expanded { border-color: #fff6d8; box-shadow: inset 0 0 22px rgba(255, 241, 180, 0.65), 0 0 14px rgba(142, 162, 255, 0.5); }
.theme-star .slot-jackpot { background: rgba(12, 16, 36, 0.86); border-color: #4f46e5; }
.theme-star .slot-jackpot small { color: #c7d2fe; }
.theme-star .slot-jackpot b { color: #eef2ff; }
.theme-star .slot-jackpot.grand { border-color: #fde68a; box-shadow: 0 0 16px rgba(253, 230, 138, 0.4); }
.theme-star .slot-spins { color: #e0e7ff; text-shadow: 0 0 12px rgba(165, 180, 252, 0.6); }
.slot-burst.theme-star i { background: radial-gradient(circle, #fff6d8, #6366f1 46%, transparent 72%); }

.slot-stage.theme-potion {
    background:
        radial-gradient(circle at 50% 100%, rgba(110, 231, 183, 0.16), transparent 40%),
        linear-gradient(180deg, #241438, #120c18);
    border: 1px solid #8b5cf6;
    box-shadow: inset 0 0 0 8px #3a2450, inset 0 0 0 10px #1a1028;
}
.theme-potion .slot-window, .theme-potion .slot-mini { background: radial-gradient(circle at 50% 0%, #3b2468, #140c1c 76%); border-color: #a78bfa; box-shadow: inset 0 0 16px rgba(167, 139, 250, 0.3); }
.theme-potion .slot-window::after, .theme-potion .slot-mini::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 80%, rgba(110, 231, 183, 0.28), transparent 46%); animation: atticBubble 2.4s ease-in-out infinite; pointer-events: none; }
.theme-potion .slot-window.expanded { border-color: #6ee7b7; box-shadow: inset 0 0 22px rgba(110, 231, 183, 0.55), 0 0 14px rgba(139, 92, 246, 0.5); }
.theme-potion .slot-jackpot { background: rgba(26, 16, 40, 0.88); border-color: #6d28d9; }
.theme-potion .slot-jackpot small { color: #c4b5fd; }
.theme-potion .slot-jackpot b { color: #f5f3ff; }
.theme-potion .slot-jackpot.grand { border-color: #6ee7b7; box-shadow: 0 0 16px rgba(110, 231, 183, 0.4); }
.theme-potion .slot-spins { color: #ddd6fe; text-shadow: 0 0 12px rgba(139, 92, 246, 0.6); }
.slot-burst.theme-potion i { background: radial-gradient(circle, #ddd6fe, #6ee7b7 40%, #5b21b6 68%, transparent 74%); }

.slot-stage.theme-chapel {
    background:
        radial-gradient(circle at 50% 18%, rgba(253, 230, 138, 0.2), transparent 26%),
        linear-gradient(180deg, #1e1b4b, #2a1030 70%, #1a1020);
    border: 1px solid #fde68a;
    box-shadow: inset 0 0 0 4px #312e81, 0 18px 0 #7f1d1d;
}
.theme-chapel .slot-window, .theme-chapel .slot-mini { background: radial-gradient(circle at 50% 0%, #3730a3, #1e1b4b 72%); border-color: #fde68a; box-shadow: inset 0 0 16px rgba(96, 165, 250, 0.28); border-radius: 16px 16px 6px 6px; }
.theme-chapel .slot-window::after, .theme-chapel .slot-mini::after { content: ""; position: absolute; inset: 0; background: conic-gradient(from 20deg, rgba(239, 68, 68, 0.16), rgba(96, 165, 250, 0.16), rgba(250, 204, 21, 0.16), rgba(239, 68, 68, 0.16)); animation: chapelGlow 6s linear infinite; pointer-events: none; }
.theme-chapel .slot-window.expanded { border-color: #fff7d6; box-shadow: inset 0 0 22px rgba(253, 230, 138, 0.7), 0 0 14px rgba(96, 165, 250, 0.45); }
.theme-chapel .slot-jackpot { background: rgba(30, 27, 75, 0.88); border-color: #4338ca; }
.theme-chapel .slot-jackpot small { color: #fde68a; }
.theme-chapel .slot-jackpot b { color: #eef2ff; }
.theme-chapel .slot-jackpot.grand { border-color: #fde68a; box-shadow: 0 0 16px rgba(253, 230, 138, 0.45); }
.theme-chapel .slot-spins { color: #fde68a; text-shadow: 0 0 12px rgba(99, 102, 241, 0.55); }
.slot-burst.theme-chapel i { background: radial-gradient(circle, #fde68a, #60a5fa 40%, #7f1d1d 68%, transparent 74%); }

@keyframes gemWash { 0% { opacity: 0.2; } 50% { opacity: 0.85; } 100% { opacity: 0.2; } }
@keyframes paradeWash { 0% { opacity: 0.35; } 50% { opacity: 0.9; } 100% { opacity: 0.35; } }
@keyframes starTwinkle { 0%, 100% { opacity: 0.35; } 50% { opacity: 1; } }
@keyframes atticBubble { 0% { transform: translateY(6px); opacity: 0.3; } 50% { transform: translateY(-4px); opacity: 0.85; } 100% { transform: translateY(6px); opacity: 0.3; } }
@keyframes chapelGlow { to { transform: rotate(1turn); } }
