﻿.party-mode-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.7); /* semi-transparent dark */
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.party-mode-popup {
    background: linear-gradient(270deg, #ff00cc, #333399, #00ffcc, #fff700, #ff8800, #ff00cc);
    background-size: 1200% 1200%;
    animation: party-gradient-bg 6s ease-in-out infinite, popup-bounce 0.7s cubic-bezier(.68,-0.55,.27,1.55), popup-wow 2.5s infinite alternate;
    border-radius: 32px;
    padding: 3rem 4rem;
    text-align: center;
    box-shadow: 0 0 40px #ff00cc, 0 0 80px #00ffcc, 0 0 120px #fff700, 0 0 160px #ff00cc;
    color: #fff;
    font-size: 2.5rem;
    font-family: 'Segoe UI', 'Arial', sans-serif;
    font-weight: bold;
    position: relative;
    min-width: 350px;
    z-index: 10000;
    border: 4px solid;
    border-image: linear-gradient(90deg, #ff00cc, #00ffcc, #fff700, #ff8800, #ff00cc) 1;
    overflow: visible;
}

@keyframes party-gradient-bg {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@keyframes popup-wow {
    0% { transform: rotate(-2deg) scale(1); }
    50% { transform: rotate(2deg) scale(1.05); }
    100% { transform: rotate(-2deg) scale(1); }
}

/* Sparkle effect using pseudo-elements */
.party-mode-popup::before, .party-mode-popup::after {
    content: "";
    position: absolute;
    pointer-events: none;
    border-radius: 50%;
    opacity: 0.7;
    filter: blur(8px);
    animation: sparkle 1.5s infinite alternate;
}

.party-mode-popup::before {
    width: 60px; height: 60px;
    left: 10%; top: 10%;
    background: radial-gradient(circle, #fff700 60%, transparent 100%);
    animation-delay: 0s;
}

.party-mode-popup::after {
    width: 40px; height: 40px;
    right: 10%; bottom: 10%;
    background: radial-gradient(circle, #ff00cc 60%, transparent 100%);
    animation-delay: 0.7s;
}

@keyframes sparkle {
    0% { opacity: 0.7; transform: scale(1); }
    100% { opacity: 1; transform: scale(1.2); }
}

.party-mode-popup h2 {
    margin-bottom: 1rem;
    font-size: 2.5rem;
    color: #ff00cc;
    text-shadow: 0 2px 8px #fff, 0 0 20px #00ffcc;
}

.party-mode-emoji {
    font-size: 3rem;
    margin-bottom: 1rem;
    display: block;
    animation: emoji-dance 1.2s infinite alternate;
}

@keyframes emoji-dance {
    0% { transform: rotate(-10deg) scale(1); }
    100% { transform: rotate(10deg) scale(1.15); }
}

.party-mode-subtext {
    font-size: 1.2rem;
    color: #333399;
    margin-top: 1rem;
    opacity: 0.8;
    letter-spacing: 1px;
}