* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Roboto', sans-serif;
    overflow: hidden;
}

.game-title {
    font-family: 'Fredoka One', cursive;
    background: linear-gradient(135deg, #ffeb3b, #ff9800);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 2px 2px 10px rgba(255, 235, 59, 0.3);
}

.stat-card {
    background: rgba(0, 0, 0, 0.8);
    border: 2px solid rgba(0, 188, 212, 0.3);
    border-radius: 0.75rem;
    padding: 1rem;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.stat-card:hover {
    border-color: rgba(0, 188, 212, 0.6);
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(0, 188, 212, 0.3);
}

#scene-container {
    width: 100vw;
    height: 100vh;
}

@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(255, 235, 59, 0.7);
    }
    50% {
        box-shadow: 0 0 20px 10px rgba(255, 235, 59, 0);
    }
}

.animate-pulse {
    animation: pulse-glow 2s infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-20px);
    }
}

.animate-bounce {
    animation: bounce 0.5s infinite;
}

/* Pixel font for retro scores */
.pixel-font {
    font-family: 'Press Start 2P', cursive;
}

/* Smooth transitions */
* {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Scrollbar styling */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: rgba(26, 26, 46, 0.5);
}

::-webkit-scrollbar-thumb {
    background: rgba(0, 188, 212, 0.5);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 188, 212, 0.8);
}

/* Glow effects for territories */
.territory-glow {
    animation: territory-pulse 2s infinite;
}

@keyframes territory-pulse {
    0%, 100% {
        filter: drop-shadow(0 0 5px rgba(255, 235, 59, 0.8));
    }
    50% {
        filter: drop-shadow(0 0 20px rgba(255, 235, 59, 0.4));
    }
}

/* Loading indicator */
.loading {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2rem;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to { transform: translate(-50%, -50%) rotate(360deg); }
}