:root {
    --primary: #3330D1;
    --accent: #FAFF00;
    --neon: #00FF78;
    --cyan: #0FF2DB;
    --magenta: #FF18BE;
    --dark: #080808;
    --darker: #030303;
    --white: #FFFFFF;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    font-family: 'Inter', sans-serif;
    background: var(--darker);
    color: var(--white);
    overflow-x: hidden;
}

::selection { background: var(--neon); color: var(--dark); }

/* ===== MUSIC TOGGLE BUTTON ===== */
.music-controls {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(8, 8, 8, 0.9);
    border-radius: 30px;
    padding: 6px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.music-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: rgba(255, 255, 255, 0.6);
}

.music-btn:hover {
    color: var(--neon);
    transform: scale(1.1);
}

.music-btn svg {
    width: 20px;
    height: 20px;
}

.music-btn.music-toggle {
    width: 44px;
    height: 44px;
    border: 2px solid rgba(0, 255, 120, 0.3);
    position: relative;
}

.music-btn.music-toggle:hover {
    border-color: var(--neon);
    box-shadow: 0 0 20px rgba(0, 255, 120, 0.3);
}

.music-toggle .music-icon {
    width: 22px;
    height: 22px;
    color: var(--neon);
    transition: opacity 0.3s ease;
}

.music-toggle .music-off {
    display: none;
}

.music-toggle.muted .music-on {
    display: none;
}

.music-toggle.muted .music-off {
    display: block;
}

.music-toggle.muted {
    border-color: rgba(255, 255, 255, 0.2);
}

.music-toggle.muted .music-icon {
    color: rgba(255, 255, 255, 0.5);
}

/* Pulse animation when playing */
.music-toggle:not(.muted)::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid var(--neon);
    animation: musicPulse 2s ease-in-out infinite;
}

@keyframes musicPulse {
    0%, 100% { transform: scale(1); opacity: 0.5; }
    50% { transform: scale(1.15); opacity: 0; }
}

/* ===== FIXED CRASH GAME BACKGROUND ===== */
.crash-bg {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: var(--darker);
}

.crash-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(51, 48, 209, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(51, 48, 209, 0.15) 1px, transparent 1px);
    background-size: 50px 50px;
    transform: perspective(400px) rotateX(55deg) scale(2.5);
    transform-origin: center top;
    animation: gridMove 20s linear infinite;
}

@keyframes gridMove {
    0% { background-position: 0 0; }
    100% { background-position: 0 50px; }
}

.crash-glow {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80%;
    background:
        radial-gradient(ellipse 80% 50% at 50% 100%, rgba(0, 255, 120, 0.15) 0%, transparent 60%),
        radial-gradient(ellipse 60% 40% at 20% 80%, rgba(255, 24, 190, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse 60% 40% at 80% 70%, rgba(15, 242, 219, 0.1) 0%, transparent 50%);
    pointer-events: none;
    animation: glowShift 10s ease-in-out infinite alternate;
}

@keyframes glowShift {
    0% { opacity: 0.8; }
    100% { opacity: 1; }
}

.crash-curve-container {
    position: absolute;
    bottom: 5%;
    left: 0;
    width: 100%;
    height: 80%;
    pointer-events: none;
}

.crash-curve-container svg {
    width: 100%;
    height: 100%;
}

.crash-line {
    fill: none;
    stroke: url(#crashGradient);
    stroke-width: 3;
    stroke-linecap: round;
    filter: drop-shadow(0 0 15px rgba(0, 255, 120, 0.6));
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
}

.crash-line-bg {
    fill: none;
    stroke: rgba(51, 48, 209, 0.2);
    stroke-width: 2;
    stroke-linecap: round;
}

.crash-rocket {
    position: absolute;
    bottom: 15%;
    left: 8%;
    z-index: 5;
    transition: all 0.15s ease-out;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}

/* Pixel Art Rocket */
.pixel-rocket {
    width: 64px;
    height: 96px;
    position: relative;
    filter: drop-shadow(0 0 20px rgba(0, 255, 120, 1))
            drop-shadow(0 0 40px rgba(250, 255, 0, 0.8))
            drop-shadow(0 0 60px rgba(255, 24, 190, 0.4));
}

.pixel-rocket > svg {
    width: 100%;
    height: auto;
    image-rendering: pixelated;
    image-rendering: crisp-edges;
}

/* Animated flame container */
.pixel-flame {
    position: absolute;
    bottom: -24px;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    height: 48px;
}

.pixel-flame svg {
    width: 100%;
    height: 100%;
    image-rendering: pixelated;
    animation: flameFlicker 0.1s steps(2) infinite;
}

@keyframes flameFlicker {
    0%, 100% { transform: scaleY(1) scaleX(1); opacity: 1; }
    50% { transform: scaleY(0.85) scaleX(1.15); opacity: 0.9; }
}

/* Pixel spark particles */
.pixel-sparks {
    position: absolute;
    bottom: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 60px;
    pointer-events: none;
}

.spark {
    position: absolute;
    width: 6px;
    height: 6px;
    image-rendering: pixelated;
    animation: sparkFall 0.5s ease-out infinite;
    box-shadow: 0 0 8px currentColor;
}

.spark:nth-child(1) {
    background: #FAFF00;
    left: 50%;
    animation-delay: 0s;
}
.spark:nth-child(2) {
    background: #FFA500;
    left: 25%;
    animation-delay: 0.1s;
}
.spark:nth-child(3) {
    background: #FF4500;
    left: 75%;
    animation-delay: 0.2s;
}
.spark:nth-child(4) {
    background: #00FF78;
    left: 35%;
    animation-delay: 0.15s;
}
.spark:nth-child(5) {
    background: #0FF2DB;
    left: 65%;
    animation-delay: 0.25s;
}

@keyframes sparkFall {
    0% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
    50% {
        opacity: 0.8;
    }
    100% {
        opacity: 0;
        transform: translateY(35px) scale(0.3);
    }
}

/* ===== FIREWORKS CELEBRATION ===== */
.fireworks-container {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 100;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.5s;
}

.fireworks-container.active {
    opacity: 1;
}

/* Pixel Firework Rocket */
.firework-rocket {
    position: absolute;
    bottom: -50px;
    width: 8px;
    height: 20px;
    animation: rocketLaunch 1.5s ease-out forwards;
}

.firework-rocket::before {
    content: '';
    position: absolute;
    width: 8px;
    height: 16px;
    background:
        linear-gradient(to right, transparent 25%, #fff 25%, #fff 75%, transparent 75%) 0 0 / 100% 4px no-repeat,
        linear-gradient(to right, transparent 25%, #ccc 25%, #ccc 75%, transparent 75%) 0 4px / 100% 4px no-repeat,
        linear-gradient(to right, transparent 25%, #fff 25%, #fff 75%, transparent 75%) 0 8px / 100% 4px no-repeat,
        linear-gradient(to right, transparent 25%, #ff4757 25%, #ff4757 75%, transparent 75%) 0 12px / 100% 4px no-repeat;
    image-rendering: pixelated;
}

.firework-rocket::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 8px;
    background: linear-gradient(to bottom, #ffff00, #ff6600, #ff0000);
    animation: trailFlicker 0.1s steps(2) infinite;
    image-rendering: pixelated;
}

@keyframes rocketLaunch {
    0% {
        transform: translateY(0);
        opacity: 1;
    }
    70% {
        opacity: 1;
    }
    100% {
        transform: translateY(-100vh);
        opacity: 0;
    }
}

@keyframes trailFlicker {
    0%, 100% { height: 8px; }
    50% { height: 12px; }
}

/* Pixel Explosion */
.firework-explosion {
    position: absolute;
    width: 10px;
    height: 10px;
    opacity: 0;
    animation: explode 0.8s ease-out forwards;
}

.pixel-particle {
    position: absolute;
    width: 6px;
    height: 6px;
    image-rendering: pixelated;
    animation: particleExplode 1s ease-out forwards;
}

@keyframes explode {
    0% { opacity: 0; transform: scale(0); }
    10% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(2); }
}

@keyframes particleExplode {
    0% {
        opacity: 1;
        transform: translate(0, 0) scale(1);
    }
    100% {
        opacity: 0;
        transform: var(--end-pos) scale(0.3);
    }
}

/* Celebration text */
.celebration-text {
    position: fixed;
    top: 15%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    font-size: clamp(4rem, 15vw, 12rem);
    font-weight: 900;
    background: linear-gradient(135deg, #FAFF00, #00FF78, #0FF2DB, #FF18BE);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: celebrationPop 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards, gradientShift 2s ease-in-out infinite;
    z-index: 101;
    text-shadow: 0 0 60px rgba(250, 255, 0, 0.5);
    opacity: 0;
    pointer-events: none;
}

.celebration-text.active {
    opacity: 1;
}

@keyframes celebrationPop {
    0% { transform: translate(-50%, -50%) scale(0) rotate(-10deg); }
    50% { transform: translate(-50%, -50%) scale(1.2) rotate(5deg); }
    100% { transform: translate(-50%, -50%) scale(1) rotate(0deg); }
}

/* Stars/Sparkles */
.stars {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.star {
    position: absolute;
    width: 4px;
    height: 4px;
    background: white;
    border-radius: 50%;
    animation: starTwinkle 3s ease-in-out infinite;
}

@keyframes starTwinkle {
    0%, 100% { opacity: 0; transform: scale(0); }
    50% { opacity: 1; transform: scale(1); }
}

.crash-multiplier {
    position: fixed;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    font-size: clamp(4rem, 12vw, 10rem);
    font-weight: 900;
    color: var(--neon);
    opacity: 0.15;
    z-index: 1;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 0 100px rgba(0, 255, 120, 0.3);
    pointer-events: none;
}

.crash-multiplier span {
    font-size: 0.4em;
    opacity: 0.6;
}

/* ===== PROGRESS BAR ===== */
.progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary), var(--neon), var(--accent));
    width: 0%;
    z-index: 9999;
}

/* ===== NAV ===== */
nav {
    position: fixed;
    top: 0;
    width: 100%;
    padding: 25px 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
}

.logo {
    font-weight: 800;
    font-size: 0.85rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--white);
}

.multiplier-hud {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(10px);
    border-radius: 50px;
    border: 1px solid rgba(0, 255, 120, 0.2);
}

.multiplier-hud .label {
    font-size: 0.65rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
}

.multiplier-hud .value {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--neon);
    font-variant-numeric: tabular-nums;
}

/* ===== CONTENT WRAPPER ===== */
.content {
    position: relative;
    z-index: 10;
}

/* ===== SECTIONS ===== */
section {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 100px 40px;
}

.section-inner {
    max-width: 1200px;
    width: 100%;
}

/* Glass card effect for content */
.glass-card {
    background: rgba(8, 8, 8, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 30px;
    padding: 60px;
}

/* ===== HERO ===== */
#hero {
    min-height: 100vh;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Hero glow effects */
.hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
    animation: glowPulse 4s ease-in-out infinite alternate;
}

.hero-glow-1 {
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 24, 190, 0.4) 0%, transparent 70%);
    top: -20%;
    left: -10%;
}

.hero-glow-2 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(0, 255, 120, 0.3) 0%, transparent 70%);
    bottom: -10%;
    right: -5%;
    animation-delay: 2s;
}

.hero-glow-3 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, rgba(15, 242, 219, 0.35) 0%, transparent 70%);
    top: 30%;
    right: 20%;
    animation-delay: 1s;
}

.hero-glow-4 {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(250, 255, 0, 0.25) 0%, transparent 70%);
    bottom: 20%;
    left: 15%;
    animation-delay: 3s;
}

@keyframes glowPulse {
    0% { opacity: 0.5; transform: scale(1); }
    100% { opacity: 1; transform: scale(1.2); }
}

/* Particles */
.particles {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.particle {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    animation: particleFloat linear infinite;
}

@keyframes particleFloat {
    0% { transform: translateY(100vh) rotate(0deg); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translateY(-100vh) rotate(720deg); opacity: 0; }
}

.hero-content {
    position: relative;
    z-index: 10;
}

.year-main {
    font-size: clamp(6rem, 25vw, 18rem);
    font-weight: 900;
    line-height: 0.85;
    background: linear-gradient(135deg, var(--white) 0%, var(--cyan) 30%, var(--magenta) 60%, var(--accent) 100%);
    background-size: 300% 300%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    opacity: 0;
    transform: scale(0.8);
    animation: heroIn 1.2s 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards, gradientShift 8s ease-in-out infinite;
    text-shadow: 0 0 80px rgba(0, 255, 120, 0.5);
}

@keyframes heroIn {
    to { opacity: 1; transform: scale(1); }
}

@keyframes gradientShift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.wrap-text {
    font-size: clamp(0.9rem, 2.5vw, 1.3rem);
    font-weight: 300;
    letter-spacing: 15px;
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--neon), var(--cyan), var(--magenta), var(--neon));
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-top: 20px;
    opacity: 0;
    animation: fadeIn 1s 0.6s forwards, shimmer 3s linear infinite;
}

@keyframes fadeIn { to { opacity: 1; } }

@keyframes shimmer {
    to { background-position: 200% center; }
}

/* Floating orbs around hero */
.hero-orbs {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.orb {
    position: absolute;
    border-radius: 50%;
    animation: orbFloat 6s ease-in-out infinite;
}

.orb-1 {
    width: 12px;
    height: 12px;
    background: var(--neon);
    box-shadow: 0 0 30px var(--neon), 0 0 60px var(--neon);
    top: 25%;
    left: 15%;
    animation-delay: 0s;
}

.orb-2 {
    width: 8px;
    height: 8px;
    background: var(--magenta);
    box-shadow: 0 0 25px var(--magenta), 0 0 50px var(--magenta);
    top: 35%;
    right: 20%;
    animation-delay: 1s;
}

.orb-3 {
    width: 10px;
    height: 10px;
    background: var(--cyan);
    box-shadow: 0 0 25px var(--cyan), 0 0 50px var(--cyan);
    bottom: 30%;
    left: 25%;
    animation-delay: 2s;
}

.orb-4 {
    width: 6px;
    height: 6px;
    background: var(--accent);
    box-shadow: 0 0 20px var(--accent), 0 0 40px var(--accent);
    bottom: 40%;
    right: 15%;
    animation-delay: 3s;
}

.orb-5 {
    width: 14px;
    height: 14px;
    background: var(--white);
    box-shadow: 0 0 30px var(--white), 0 0 60px var(--cyan);
    top: 20%;
    right: 30%;
    animation-delay: 0.5s;
}

@keyframes orbFloat {
    0%, 100% { transform: translateY(0) scale(1); opacity: 0.8; }
    50% { transform: translateY(-30px) scale(1.2); opacity: 1; }
}

.scroll-indicator {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    opacity: 0;
    animation: fadeIn 1s 1s forwards;
}

.scroll-indicator span {
    font-size: 0.7rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
}

.scroll-line {
    width: 1px;
    height: 50px;
    background: linear-gradient(180deg, var(--accent), transparent);
    animation: scrollPulse 2s infinite;
}

@keyframes scrollPulse {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}

/* ===== NUMBERS ===== */
#numbers { background: transparent; }

.numbers-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.num-card {
    background: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 24px;
    padding: 50px 40px;
    text-align: center;
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

.num-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(0, 255, 120, 0.1), transparent);
    transition: left 0.6s;
}

.num-card:hover::before {
    left: 100%;
}

.num-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.num-card:hover {
    border-color: rgba(0, 255, 120, 0.4);
    transform: translateY(-5px);
    box-shadow: 0 20px 60px rgba(0, 255, 120, 0.15), inset 0 1px 0 rgba(0, 255, 120, 0.2);
}

.num-value {
    font-size: clamp(3.5rem, 10vw, 6rem);
    font-weight: 900;
    line-height: 1;
    background: linear-gradient(135deg, var(--white) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.num-value.accent-gradient {
    background: linear-gradient(135deg, var(--accent) 0%, var(--neon) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.num-label {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.4);
    margin-top: 15px;
}

/* ===== STATS SECTIONS ===== */
.stats-section {
    margin-top: 150px;
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.stats-section:first-of-type {
    margin-top: 80px;
}

.stats-section.visible {
    opacity: 1;
    transform: translateY(0);
}

.stats-title {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 15px;
    background: linear-gradient(135deg, var(--white) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.stats-subtitle {
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.9rem;
    margin-bottom: 40px;
}

/* Releases by Year Chart */
.releases-chart {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 20px;
    height: 280px;
    padding: 20px;
}

.release-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 60px;
    height: 100%;
}

.release-bar .bar-fill {
    width: 100%;
    min-height: 4px;
    height: 0;
    background: linear-gradient(180deg, var(--cyan) 0%, var(--primary) 100%);
    border-radius: 8px 8px 0 0;
    transition: height 1.5s cubic-bezier(0.16, 1, 0.3, 1);
    order: -1;
}

.release-bar.highlight-bar .bar-fill {
    background: linear-gradient(180deg, var(--neon) 0%, var(--cyan) 100%);
    box-shadow: 0 0 20px rgba(0, 255, 120, 0.4);
}

.stats-section.visible .release-bar .bar-fill {
    height: var(--target-height);
}

.release-bar .bar-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--white);
}

.release-bar .bar-year {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 600;
}

.release-bar.highlight-bar .bar-year {
    color: var(--neon);
}

/* Performance Grid */
.performance-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.perf-card {
    background: linear-gradient(145deg, rgba(20, 20, 30, 0.95), rgba(8, 8, 12, 0.98));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.4s ease;
}

.perf-card:hover {
    transform: translateY(-5px);
    border-color: rgba(0, 255, 120, 0.3);
}

.perf-card.highlight-card-perf {
    background: linear-gradient(145deg, rgba(0, 255, 120, 0.15), rgba(0, 255, 120, 0.05));
    border-color: rgba(0, 255, 120, 0.3);
    animation: pulseBorder 2.5s ease-in-out infinite;
}

@keyframes pulseBorder {
    0%, 100% {
        border-color: rgba(0, 255, 120, 0.3);
        box-shadow: 0 0 20px rgba(0, 255, 120, 0.1);
    }
    50% {
        border-color: rgba(0, 255, 120, 0.6);
        box-shadow: 0 0 40px rgba(0, 255, 120, 0.3), 0 0 60px rgba(0, 255, 120, 0.1);
    }
}

.perf-value {
    font-size: 2.5rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--white) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1.2;
}

.highlight-card-perf .perf-value {
    background: linear-gradient(135deg, var(--neon) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    background-clip: text;
}

.perf-percent {
    font-size: 1.2rem;
    font-weight: 600;
    background: none;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6);
    background-clip: unset;
}

.perf-label {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--white);
    margin-top: 10px;
}

.perf-detail {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.4);
    margin-top: 5px;
}

/* Top Games Chart */
.top-games-chart {
    display: flex;
    flex-direction: column;
    gap: 25px;
    max-width: 800px;
    margin: 0 auto;
}

.game-comparison {
    display: flex;
    align-items: center;
    gap: 20px;
    background: rgba(20, 20, 30, 0.6);
    border-radius: 16px;
    padding: 25px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.game-rank {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--cyan);
    min-width: 50px;
    text-align: center;
}

.game-info {
    flex: 1;
}

.game-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--white);
    margin-bottom: 15px;
}

.game-bars {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ggr-bar-container,
.fee-bar-container {
    position: relative;
    height: 28px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 6px;
    overflow: visible;
}

.ggr-bar-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--magenta) 0%, var(--accent) 100%);
    border-radius: 6px;
    transition: width 1.5s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    overflow: visible;
    position: relative;
}

.fee-bar-fill {
    height: 100%;
    width: 0;
    background: linear-gradient(90deg, var(--neon) 0%, var(--cyan) 100%);
    border-radius: 6px;
    transition: width 1.5s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
    overflow: visible;
    position: relative;
}

.stats-section.visible .ggr-bar-fill {
    width: var(--target-width);
}

.stats-section.visible .fee-bar-fill {
    width: var(--target-width);
}

.top-games-chart .bar-label {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.75rem;
    font-weight: 700;
    white-space: nowrap;
}

.ggr-bar-container .bar-label {
    color: #00aa55;
    text-shadow: none;
}

.fee-bar-container .bar-label {
    color: var(--white);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

/* Insight Box */
.insight-box {
    display: flex;
    align-items: center;
    gap: 15px;
    background: linear-gradient(135deg, rgba(0, 255, 120, 0.1), rgba(15, 242, 219, 0.05));
    border: 1px solid rgba(0, 255, 120, 0.2);
    border-radius: 12px;
    padding: 20px 25px;
    margin-top: 30px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.insight-icon {
    font-size: 1.5rem;
}

.insight-text {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.5;
}

.insight-text strong {
    color: var(--neon);
}

/* New Faces Section */
.new-faces-section {
    margin-top: 60px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.new-faces-section.visible {
    opacity: 1;
    transform: translateY(0);
}

.new-faces-title {
    font-size: 2rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 6px;
    text-align: center;
    margin-bottom: 40px;
    background: linear-gradient(135deg, var(--magenta), var(--accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease 0.2s;
}

.new-faces-section.visible .new-faces-title {
    opacity: 1;
    transform: translateY(0);
}

.new-faces-grid {
    display: flex;
    justify-content: center;
    gap: 35px;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
}

.new-face-item {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    border: 4px solid transparent;
    background: linear-gradient(var(--darker), var(--darker)) padding-box,
                linear-gradient(135deg, var(--neon), var(--cyan), var(--magenta)) border-box;
    opacity: 0;
    transform: scale(0) rotate(-180deg);
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.4);
}

.new-faces-section.visible .new-face-item {
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

/* Staggered animation delays */
.new-faces-section.visible .new-face-item:nth-child(1) { transition-delay: 0.3s; }
.new-faces-section.visible .new-face-item:nth-child(2) { transition-delay: 0.4s; }
.new-faces-section.visible .new-face-item:nth-child(3) { transition-delay: 0.5s; }
.new-faces-section.visible .new-face-item:nth-child(4) { transition-delay: 0.6s; }
.new-faces-section.visible .new-face-item:nth-child(5) { transition-delay: 0.7s; }
.new-faces-section.visible .new-face-item:nth-child(6) { transition-delay: 0.8s; }

.new-face-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.new-face-item:hover {
    transform: scale(1.1);
    box-shadow: 0 0 40px rgba(0, 255, 120, 0.5), 0 20px 50px rgba(0, 0, 0, 0.4);
}

.new-face-item:hover img {
    transform: scale(1.1);
}

/* ===== HIGHLIGHTS ===== */
#highlights { background: transparent; }

.section-label {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: var(--neon);
    margin-bottom: 50px;
    text-align: center;
}

.highlights-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.highlight-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    background: linear-gradient(145deg, rgba(20, 20, 30, 0.95), rgba(8, 8, 12, 0.98));
    backdrop-filter: blur(30px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    padding: 45px 40px;
    opacity: 0;
    transform: translateY(40px) scale(0.95);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
    min-height: 220px;
}

/* Glowing border effect */
.highlight-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 2px;
    background: linear-gradient(135deg, var(--neon), var(--cyan), var(--magenta), var(--accent));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Corner accent */
.highlight-card::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, var(--neon) 0%, transparent 70%);
    opacity: 0.15;
    transition: all 0.5s ease;
}

.highlight-card:hover::before {
    opacity: 1;
}

.highlight-card:hover::after {
    opacity: 0.3;
    transform: scale(1.2);
}

.highlight-card:nth-child(1)::after { background: radial-gradient(circle, var(--neon) 0%, transparent 70%); }
.highlight-card:nth-child(2)::after { background: radial-gradient(circle, var(--magenta) 0%, transparent 70%); }
.highlight-card:nth-child(3)::after { background: radial-gradient(circle, var(--cyan) 0%, transparent 70%); }
.highlight-card:nth-child(4)::after { background: radial-gradient(circle, var(--accent) 0%, transparent 70%); }
.highlight-card:nth-child(5)::after { background: radial-gradient(circle, var(--primary) 0%, transparent 70%); }
.highlight-card:nth-child(6)::after { background: radial-gradient(circle, var(--neon) 0%, transparent 70%); }
.highlight-card:nth-child(7)::after { background: radial-gradient(circle, var(--magenta) 0%, transparent 70%); }
.highlight-card:nth-child(8)::after { background: radial-gradient(circle, var(--cyan) 0%, transparent 70%); }

.highlight-card.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.highlight-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.4),
        0 0 40px rgba(0, 255, 120, 0.1);
}

.highlight-num {
    font-size: 4rem;
    font-weight: 900;
    background: linear-gradient(135deg, var(--accent) 0%, var(--neon) 50%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    line-height: 1;
    letter-spacing: -2px;
}

.highlight-card:nth-child(1) .highlight-num { background: linear-gradient(135deg, var(--neon), var(--cyan)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(2) .highlight-num { background: linear-gradient(135deg, var(--magenta), var(--accent)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(3) .highlight-num { background: linear-gradient(135deg, var(--cyan), var(--neon)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(4) .highlight-num { background: linear-gradient(135deg, var(--accent), var(--magenta)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(5) .highlight-num { background: linear-gradient(135deg, var(--primary), var(--cyan)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(6) .highlight-num { background: linear-gradient(135deg, var(--neon), var(--accent)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(7) .highlight-num { background: linear-gradient(135deg, var(--magenta), var(--cyan)); -webkit-background-clip: text; background-clip: text; }
.highlight-card:nth-child(8) .highlight-num { background: linear-gradient(135deg, var(--accent), var(--neon)); -webkit-background-clip: text; background-clip: text; }

.highlight-text {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.95);
    flex-grow: 1;
}

.highlight-tag {
    align-self: flex-start;
    padding: 10px 22px;
    background: rgba(0, 255, 120, 0.12);
    border: 1px solid rgba(0, 255, 120, 0.25);
    border-radius: 50px;
    font-size: 0.7rem;
    font-weight: 700;
    color: var(--neon);
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.highlight-card:nth-child(1) .highlight-tag { background: rgba(0, 255, 120, 0.12); border-color: rgba(0, 255, 120, 0.25); color: var(--neon); }
.highlight-card:nth-child(2) .highlight-tag { background: rgba(255, 24, 190, 0.12); border-color: rgba(255, 24, 190, 0.25); color: var(--magenta); }
.highlight-card:nth-child(3) .highlight-tag { background: rgba(15, 242, 219, 0.12); border-color: rgba(15, 242, 219, 0.25); color: var(--cyan); }
.highlight-card:nth-child(4) .highlight-tag { background: rgba(250, 255, 0, 0.12); border-color: rgba(250, 255, 0, 0.25); color: var(--accent); }
.highlight-card:nth-child(5) .highlight-tag { background: rgba(51, 48, 209, 0.15); border-color: rgba(51, 48, 209, 0.3); color: #7B79FF; }
.highlight-card:nth-child(6) .highlight-tag { background: rgba(0, 255, 120, 0.12); border-color: rgba(0, 255, 120, 0.25); color: var(--neon); }
.highlight-card:nth-child(7) .highlight-tag { background: rgba(255, 24, 190, 0.12); border-color: rgba(255, 24, 190, 0.25); color: var(--magenta); }
.highlight-card:nth-child(8) .highlight-tag { background: rgba(15, 242, 219, 0.12); border-color: rgba(15, 242, 219, 0.25); color: var(--cyan); }

.highlight-card:hover .highlight-tag {
    transform: scale(1.05);
}

/* Photo indicator for highlights with photos */
.highlight-card.has-photos {
    cursor: pointer;
}

.photo-indicator {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 1.2rem;
    opacity: 0.6;
    transition: all 0.3s ease;
}

.highlight-card.has-photos:hover .photo-indicator {
    opacity: 1;
    transform: scale(1.2);
}

/* ===== POLAROID OVERLAY ===== */
.polaroid-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
    backdrop-filter: blur(10px);
}

.polaroid-overlay.active {
    opacity: 1;
    visibility: visible;
}

.polaroid-close {
    position: absolute;
    top: 30px;
    right: 40px;
    width: 50px;
    height: 50px;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: white;
    font-size: 2rem;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10001;
}

.polaroid-close:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: rotate(90deg);
}

.polaroid-container {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 60px;
}

.polaroid {
    position: absolute;
    background: white;
    padding: 15px 15px 50px 15px;
    box-shadow:
        0 10px 40px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(255, 255, 255, 0.1);
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    opacity: 0;
    transform: translateY(-100vh) rotate(0deg);
}

.polaroid.dropped {
    opacity: 1;
    transform: translateY(0) rotate(var(--rotation));
    animation: polaroidBounce 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes polaroidBounce {
    0% {
        transform: translateY(-100vh) rotate(0deg) scale(0.5);
        opacity: 0;
    }
    60% {
        transform: translateY(10px) rotate(var(--rotation)) scale(1.05);
        opacity: 1;
    }
    80% {
        transform: translateY(-5px) rotate(var(--rotation)) scale(0.98);
    }
    100% {
        transform: translateY(0) rotate(var(--rotation)) scale(1);
    }
}

.polaroid:hover {
    z-index: 100 !important;
    transform: translateY(-10px) rotate(0deg) scale(1.1) !important;
    box-shadow:
        0 30px 60px rgba(0, 0, 0, 0.6),
        0 0 40px rgba(0, 255, 120, 0.2);
}

.polaroid img {
    width: 280px;
    height: 280px;
    object-fit: cover;
    display: block;
}

.polaroid-caption {
    position: absolute;
    bottom: 12px;
    left: 15px;
    right: 15px;
    font-family: 'Caveat', cursive, sans-serif;
    font-size: 1rem;
    color: #333;
    text-align: center;
}

/* Expanded polaroid view */
.polaroid.expanded {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) rotate(0deg) scale(1) !important;
    z-index: 10002 !important;
    padding: 20px 20px 60px 20px;
}

.polaroid.expanded img {
    width: 70vmin;
    height: 70vmin;
    max-width: 600px;
    max-height: 600px;
}

/* ===== GAMES CAROUSEL (EVERVAULT SCANNER EFFECT) ===== */
#games {
    background: transparent;
    overflow: hidden;
}

.games-carousel-container {
    width: 100%;
    position: relative;
    margin-top: 40px;
}

.card-stream-wrapper {
    position: relative;
    width: 100vw;
    height: 450px;
    display: flex;
    align-items: center;
    overflow: visible;
    margin-left: calc(-50vw + 50%);
}

.card-stream {
    display: flex;
    align-items: center;
    gap: 40px;
    white-space: nowrap;
    cursor: grab;
    user-select: none;
    will-change: transform;
}

.card-stream:active,
.card-stream.dragging {
    cursor: grabbing;
}

/* Card wrapper contains both normal and branded versions */
.game-card-wrapper {
    position: relative;
    width: 346px;
    height: 432px;
    flex-shrink: 0;
    transition: opacity 0.3s ease-out;
}

.game-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 346px;
    height: 432px;
    border-radius: 16px;
    overflow: hidden;
}

/* Normal card (image) */
.game-card-normal {
    background: transparent;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
    z-index: 2;
    clip-path: inset(0 0 0 var(--clip-right, 0%));
}

.game-card-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
    filter: brightness(1.1) contrast(1.1);
}

/* Branding watermark card (revealed by scanner) */
.game-card-branded {
    background: rgba(0, 0, 0, 0.8);
    z-index: 1;
    clip-path: inset(0 calc(100% - var(--clip-left, 0%)) 0 0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.branding-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75%;
    height: auto;
    opacity: 0.7;
    filter: drop-shadow(0 0 10px rgba(0, 255, 120, 0.4));
    animation: glitchLogo 3s infinite;
}

/* Subtle Glitch effect for logo */
@keyframes glitchLogo {
    0%, 100% {
        opacity: 0.7;
        transform: translate(-50%, -50%);
        filter: drop-shadow(0 0 10px rgba(0, 255, 120, 0.4));
    }
    92% {
        opacity: 0.8;
        transform: translate(-51%, -50%);
        filter: drop-shadow(2px 0 0 rgba(255, 0, 100, 0.6)) drop-shadow(-2px 0 0 rgba(0, 255, 255, 0.6));
    }
    94% {
        opacity: 0.6;
        transform: translate(-49%, -50%);
        filter: drop-shadow(-2px 0 0 rgba(255, 0, 100, 0.6)) drop-shadow(2px 0 0 rgba(0, 255, 255, 0.6));
    }
    96% {
        opacity: 0.75;
        transform: translate(-50%, -49%);
        filter: drop-shadow(0 0 15px rgba(0, 255, 120, 0.6));
    }
    98% {
        opacity: 0.7;
        transform: translate(-50%, -50%);
        filter: drop-shadow(0 0 10px rgba(0, 255, 120, 0.4));
    }
}

/* Additional glitch layers - subtle */
.glitch-layer {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 75%;
    height: auto;
    opacity: 0;
    pointer-events: none;
}

.glitch-layer.red {
    animation: glitchRed 3s infinite;
}

.glitch-layer.cyan {
    animation: glitchCyan 3s infinite;
}

@keyframes glitchRed {
    0%, 91%, 95%, 100% {
        opacity: 0;
        transform: translate(-50%, -50%);
    }
    92%, 94% {
        opacity: 0.4;
        transform: translate(-47%, -50%);
        filter: hue-rotate(-60deg) saturate(2) brightness(1.3);
    }
}

@keyframes glitchCyan {
    0%, 91%, 95%, 100% {
        opacity: 0;
        transform: translate(-50%, -50%);
    }
    93%, 94.5% {
        opacity: 0.4;
        transform: translate(-53%, -50%);
        filter: hue-rotate(140deg) saturate(2) brightness(1.3);
    }
}

/* Scan line effect on branded card */
.scan-lines {
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 255, 120, 0.06) 2px,
        rgba(0, 255, 120, 0.06) 4px
    );
    pointer-events: none;
    animation: scanLinesMove 0.2s linear infinite;
}

@keyframes scanLinesMove {
    0% { background-position: 0 0; }
    100% { background-position: 0 4px; }
}

/* Noise overlay */
.noise-overlay {
    position: absolute;
    inset: 0;
    opacity: 0.15;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
    animation: noiseMove 0.15s steps(10) infinite;
}

@keyframes noiseMove {
    0% { transform: translate(0, 0); }
    100% { transform: translate(10px, 10px); }
}

/* Game title overlay */
.game-card-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 50px 15px 15px;
    background: linear-gradient(transparent, rgba(0,0,0,0.9));
    z-index: 3;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--white);
    text-transform: uppercase;
    letter-spacing: 1px;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    transition: opacity 0.3s ease-out;
}

/* Hide title when card has been scanned */
.game-card-wrapper.scanned .game-card-title {
    opacity: 0;
}

/* Scanner beam - Pure CSS for performance */
.scanner-beam {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 470px;
    background: linear-gradient(to bottom,
        transparent 0%,
        rgba(0, 255, 120, 0.6) 8%,
        rgba(255, 255, 255, 0.9) 50%,
        rgba(0, 255, 120, 0.6) 92%,
        transparent 100%
    );
    border-radius: 2px;
    z-index: 50;
    pointer-events: none;
    box-shadow:
        0 0 10px rgba(0, 255, 120, 0.5),
        0 0 20px rgba(0, 255, 120, 0.3),
        0 0 30px rgba(0, 255, 120, 0.15);
}

.scanner-beam::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 20px;
    height: 100%;
    background: linear-gradient(to bottom,
        transparent 0%,
        rgba(0, 255, 120, 0.15) 10%,
        rgba(0, 255, 120, 0.2) 50%,
        rgba(0, 255, 120, 0.15) 90%,
        transparent 100%
    );
    border-radius: 10px;
}

/* Carousel controls */
.carousel-controls {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
}

.carousel-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--white);
    font-size: 1.2rem;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-btn:hover {
    border-color: var(--neon);
    color: var(--neon);
    box-shadow: 0 0 30px rgba(0, 255, 120, 0.3);
    transform: scale(1.1);
}

/* ===== GAME STATS ===== */
.game-stats-section {
    margin-top: 80px;
    padding: 60px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 40px;
}

.stat-card {
    background: rgba(8, 8, 8, 0.9);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    padding: 30px;
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.stat-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.stat-card:hover {
    border-color: rgba(0, 255, 120, 0.3);
    transform: translateY(-5px);
    box-shadow: 0 20px 60px rgba(0, 255, 120, 0.1);
}

/* Expandable category card */
.stat-card.expandable {
    cursor: pointer;
}

.stat-card.expandable .stat-card-title::after {
    content: 'Click to explore';
    display: block;
    font-size: 0.65rem;
    color: rgba(0, 255, 120, 0.5);
    margin-top: 5px;
    letter-spacing: 0.5px;
}

.stats-grid.expanded .stat-card:not(.expanded) {
    opacity: 0;
    transform: scale(0.8);
    pointer-events: none;
    position: absolute;
}

.stats-grid.expanded {
    display: block;
}

.stat-card.expanded {
    grid-column: span 3;
    cursor: default;
}

.stat-card.expanded .stat-card-title::after {
    display: none;
}

/* Category games expanded view */
.category-games-expanded {
    display: none;
    margin-top: 30px;
}

.stat-card.expanded .category-games-expanded {
    display: block;
    animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.category-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    flex-wrap: wrap;
    justify-content: center;
}

.category-tab {
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.category-tab:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

.category-tab.active,
.operator-tab.active {
    background: var(--neon);
    border-color: var(--neon);
    color: var(--dark);
}

/* Operator tabs - same styling as category tabs */
.operator-tab {
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.operator-tab:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

.category-games-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 15px;
    max-height: 400px;
    overflow-y: auto;
    padding-right: 10px;
}

.category-games-grid::-webkit-scrollbar {
    width: 6px;
}

.category-games-grid::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 3px;
}

.category-games-grid::-webkit-scrollbar-thumb {
    background: var(--neon);
    border-radius: 3px;
}

.category-game-item {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    opacity: 0;
    transform: scale(0.9);
    animation: gameItemAppear 0.4s ease-out forwards;
}

.category-game-item:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(0, 255, 120, 0.2);
}

@keyframes gameItemAppear {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.category-game-thumb {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    display: block;
}

.category-game-name {
    padding: 10px;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.back-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.back-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    color: white;
}

.stat-card:not(.expanded) .back-btn {
    display: none;
}

.stat-card-title {
    font-size: 1rem;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Donut Chart */
.donut-chart-container {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0 auto 20px;
}

.donut-chart {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.donut-segment {
    fill: none;
    stroke-width: 35;
    stroke-linecap: round;
    transition: stroke-dasharray 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.donut-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.donut-center-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--white);
}

.donut-center-label {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
}

/* Bar Chart (Operator Stats) */
.bar-chart {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bar-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.bar-chart .bar-label {
    position: static;
    width: 80px;
    font-size: 0.85rem;
    color: rgba(255,255,255,0.7);
    text-align: right;
    flex-shrink: 0;
    transform: none;
    text-shadow: none;
}

.bar-track {
    flex: 1;
    height: 28px;
    background: rgba(255,255,255,0.05);
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}

.bar-fill {
    height: 100%;
    border-radius: 14px;
    width: 0;
    transition: width 1.5s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 10px;
}

.bar-value {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--dark);
}

/* Legend */
.chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: center;
    margin-top: 15px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: rgba(255,255,255,0.7);
}

.legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

/* New Categories Badge */
.new-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin-top: 20px;
}

.category-badge {
    padding: 12px 24px;
    background: linear-gradient(135deg, rgba(0, 255, 120, 0.15) 0%, rgba(15, 242, 219, 0.1) 100%);
    border: 1px solid rgba(0, 255, 120, 0.3);
    border-radius: 30px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--neon);
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.category-badge.visible {
    opacity: 1;
    transform: scale(1);
}

.category-badge:hover {
    background: linear-gradient(135deg, rgba(0, 255, 120, 0.25) 0%, rgba(15, 242, 219, 0.2) 100%);
    transform: scale(1.05);
    box-shadow: 0 0 30px rgba(0, 255, 120, 0.3);
}

/* GGR Comparison Chart */
.ggr-chart-container,
.ggr-growth-chart {
    width: 100%;
    height: 250px;
    position: relative;
    margin-top: 20px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.ggr-bars {
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    height: 200px;
    padding: 0 10px;
}

.ggr-bar-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.ggr-bars-wrapper {
    display: flex;
    gap: 4px;
    align-items: flex-end;
    height: 180px;
}

.ggr-bar {
    width: 18px;
    border-radius: 4px 4px 0 0;
    transition: height 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.ggr-bar.year-2024 {
    background: linear-gradient(to top, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.4));
}

.ggr-bar.year-2025 {
    background: linear-gradient(to top, var(--neon), var(--cyan));
    box-shadow: 0 0 15px rgba(0, 255, 120, 0.4);
}

.ggr-month {
    font-size: 0.7rem;
    color: rgba(255,255,255,0.5);
    text-transform: uppercase;
}

.ggr-legend {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 15px;
}

.ggr-legend-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.7);
}

.ggr-legend-bar {
    width: 20px;
    height: 12px;
    border-radius: 2px;
}

/* Wide stat card for GGR */
.stat-card.wide {
    grid-column: span 3;
}

@media (max-width: 1024px) {
    .stats-grid {
        grid-template-columns: 1fr;
    }
    .stat-card.wide {
        grid-column: span 1;
    }
}

/* ===== PARTNERS ===== */
#partners { background: transparent; }

.partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.partner-card {
    background: linear-gradient(145deg, rgba(20, 20, 30, 0.95), rgba(8, 8, 12, 0.98));
    backdrop-filter: blur(30px);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    padding: 40px 30px;
    text-align: center;
    opacity: 0;
    transform: translateY(40px) scale(0.95);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    overflow: hidden;
}

/* Glowing border effect */
.partner-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    padding: 2px;
    background: linear-gradient(135deg, var(--neon), var(--cyan), var(--magenta), var(--accent));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Corner accent */
.partner-card::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: radial-gradient(circle, var(--neon) 0%, transparent 70%);
    opacity: 0.15;
    transition: all 0.5s ease;
}

.partner-card:nth-child(1)::after { background: radial-gradient(circle, var(--neon) 0%, transparent 70%); }
.partner-card:nth-child(2)::after { background: radial-gradient(circle, var(--magenta) 0%, transparent 70%); }
.partner-card:nth-child(3)::after { background: radial-gradient(circle, var(--cyan) 0%, transparent 70%); }
.partner-card:nth-child(4)::after { background: radial-gradient(circle, var(--accent) 0%, transparent 70%); }
.partner-card:nth-child(5)::after { background: radial-gradient(circle, var(--primary) 0%, transparent 70%); }
.partner-card:nth-child(6)::after { background: radial-gradient(circle, var(--neon) 0%, transparent 70%); }
.partner-card:nth-child(7)::after { background: radial-gradient(circle, var(--magenta) 0%, transparent 70%); }

.partner-card.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.partner-card:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.4),
        0 0 40px rgba(0, 255, 120, 0.1);
}

.partner-card:hover::before {
    opacity: 1;
}

.partner-card:hover::after {
    opacity: 0.3;
    transform: scale(1.2);
}

.partner-logo {
    width: 100%;
    max-width: 180px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 20px;
    transition: transform 0.3s ease;
}

.partner-card:hover .partner-logo {
    transform: scale(1.05);
}

.partner-name {
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 10px;
    background: linear-gradient(135deg, var(--white) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.partner-desc {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
}

/* ===== EVENTS ===== */
#events {
    background: transparent;
    padding-bottom: 600px;
}

.events-container {
    display: flex;
    flex-direction: column;
    gap: 200px;
}

.event-block {
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.event-block.visible {
    opacity: 1;
    transform: translateY(0);
}

.event-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 35px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.event-title {
    font-size: 2.8rem;
    font-weight: 800;
    background: linear-gradient(135deg, var(--white) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -1px;
}

.event-date {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 3px;
    text-transform: uppercase;
}

/* Event gallery - horizontal scrolling masonry */
.event-gallery-wrapper {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;
    position: relative;
    contain: layout style;
}

.event-gallery-wrapper::before,
.event-gallery-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 150px;
    z-index: 10;
    pointer-events: none;
}

.event-gallery-wrapper::before {
    left: 0;
    background: linear-gradient(to right, rgba(0,0,0,1) 0%, transparent 100%);
}

.event-gallery-wrapper::after {
    right: 0;
    background: linear-gradient(to left, rgba(0,0,0,1) 0%, transparent 100%);
}

.event-gallery {
    display: grid;
    grid-template-rows: repeat(4, 180px);
    grid-auto-flow: column;
    grid-auto-columns: 180px;
    gap: 15px;
    padding: 20px 150px;
    width: max-content;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.event-gallery.small-gallery {
    grid-template-rows: repeat(2, 180px);
}

.event-gallery.scrolling {
    animation: scrollGallery 60s linear infinite;
    transform: translateZ(0);
}

@keyframes scrollGallery {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.gallery-item {
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    opacity: 0;
    transform: scale(0.95);
    will-change: opacity, transform;
    contain: layout style paint;
}

/* Random size classes for variety */
.gallery-item.size-large {
    grid-column: span 2;
    grid-row: span 2;
}

.gallery-item.size-tall {
    grid-row: span 2;
}

.gallery-item.size-wide {
    grid-column: span 2;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease, filter 0.4s ease;
    filter: grayscale(40%) brightness(0.9);
    will-change: transform;
    transform: translateZ(0);
}

.gallery-item::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 3px solid transparent;
    border-radius: 16px;
    transition: border-color 0.3s ease;
    z-index: 2;
    pointer-events: none;
}

.gallery-item:hover img {
    transform: scale(1.08);
    filter: grayscale(0%) brightness(1);
}

.gallery-item:hover::after {
    border-color: var(--neon);
}

/* Staggered animation for gallery items */
.event-block.visible .gallery-item {
    animation: galleryFadeIn 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.event-block.visible .gallery-item:nth-child(1) { animation-delay: 0.1s; }
.event-block.visible .gallery-item:nth-child(2) { animation-delay: 0.15s; }
.event-block.visible .gallery-item:nth-child(3) { animation-delay: 0.2s; }
.event-block.visible .gallery-item:nth-child(4) { animation-delay: 0.25s; }
.event-block.visible .gallery-item:nth-child(5) { animation-delay: 0.3s; }
.event-block.visible .gallery-item:nth-child(6) { animation-delay: 0.35s; }
.event-block.visible .gallery-item:nth-child(7) { animation-delay: 0.4s; }
.event-block.visible .gallery-item:nth-child(8) { animation-delay: 0.45s; }

@keyframes galleryFadeIn {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* ===== TEAM ===== */
#team {
    background: transparent;
    text-align: center;
}

.team-number {
    font-size: clamp(8rem, 30vw, 20rem);
    font-weight: 900;
    line-height: 0.85;
    background: linear-gradient(135deg, var(--neon) 0%, var(--cyan) 50%, var(--magenta) 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    opacity: 0;
    transform: scale(0.5);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
    animation: teamGradient 5s ease-in-out infinite;
    filter: drop-shadow(0 0 60px rgba(0, 255, 120, 0.4));
}

@keyframes teamGradient {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

.team-number.visible {
    opacity: 1;
    transform: scale(1);
}

.team-label {
    font-size: 1.1rem;
    font-weight: 300;
    letter-spacing: 8px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.5);
    margin-top: 20px;
}

.team-subtitle {
    font-size: 1.5rem;
    font-weight: 600;
    background: linear-gradient(135deg, var(--accent) 0%, var(--neon) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-top: 15px;
}

.values-row {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 60px;
    flex-wrap: wrap;
}

.value-pill {
    padding: 12px 25px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    transition: all 0.8s ease-out;
    cursor: default;
}

.value-pill.active {
    transition: all 0.2s ease-in;
}

.value-pill:nth-child(1):hover,
.value-pill:nth-child(1).active {
    background: rgba(0, 255, 120, 0.2);
    backdrop-filter: blur(10px);
    border-color: var(--neon);
    color: var(--neon);
    box-shadow: 0 0 30px rgba(0, 255, 120, 0.3);
}

.value-pill:nth-child(2):hover,
.value-pill:nth-child(2).active {
    background: rgba(15, 242, 219, 0.2);
    backdrop-filter: blur(10px);
    border-color: var(--cyan);
    color: var(--cyan);
    box-shadow: 0 0 30px rgba(15, 242, 219, 0.3);
}

.value-pill:nth-child(3):hover,
.value-pill:nth-child(3).active {
    background: rgba(255, 24, 190, 0.2);
    backdrop-filter: blur(10px);
    border-color: var(--magenta);
    color: var(--magenta);
    box-shadow: 0 0 30px rgba(255, 24, 190, 0.3);
}

.value-pill:nth-child(4):hover,
.value-pill:nth-child(4).active {
    background: rgba(250, 255, 0, 0.2);
    backdrop-filter: blur(10px);
    border-color: var(--accent);
    color: var(--accent);
    box-shadow: 0 0 30px rgba(250, 255, 0, 0.3);
}

.value-pill:nth-child(5):hover,
.value-pill:nth-child(5).active {
    background: rgba(51, 48, 209, 0.25);
    backdrop-filter: blur(10px);
    border-color: var(--primary);
    color: var(--white);
    box-shadow: 0 0 30px rgba(51, 48, 209, 0.4);
}

/* ===== MARKET EXPANSION ===== */
#expansion {
    background: transparent;
    min-height: 100vh;
}

.expansion-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.globe-container {
    width: 100%;
    height: 650px;
    position: relative;
    margin: 20px 0;
}

.globe-container canvas {
    background: transparent !important;
}

.expansion-info {
    margin-top: 20px;
    text-align: center;
}

.expansion-country {
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    background: linear-gradient(135deg, var(--neon) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 10px;
}

.expansion-details {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.6);
}

.expansion-cards {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 40px;
    max-width: 900px;
}

.expansion-card {
    background: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    opacity: 0;
    transform: translateY(30px);
}

.expansion-card.visible {
    opacity: 1;
    transform: translateY(0);
}

.expansion-card:hover {
    border-color: var(--neon);
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(0, 255, 120, 0.2);
}

.expansion-card-flag {
    font-size: 2.5rem;
}

.expansion-card-name {
    font-size: 1rem;
    font-weight: 700;
    color: var(--white);
}

.expansion-card-detail {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.5);
    text-align: center;
}

/* Globe Layout with Flag Buttons */
.globe-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    width: 100%;
}

.flag-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.flag-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    background: rgba(8, 8, 8, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    min-width: 180px;
}

.flag-btn:hover {
    border-color: var(--neon);
    transform: translateX(8px);
    box-shadow: 0 0 30px rgba(0, 255, 120, 0.2);
}

.flag-btn.active {
    border-color: var(--neon);
    background: rgba(0, 255, 120, 0.15);
    box-shadow: 0 0 40px rgba(0, 255, 120, 0.3);
}

.flag-emoji {
    font-size: 1.8rem;
}

.flag-name {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--white);
    letter-spacing: 1px;
}

@media (max-width: 768px) {
    .globe-layout {
        flex-direction: column;
    }
    .flag-buttons {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .flag-btn {
        min-width: auto;
        padding: 10px 14px;
    }
    .flag-name {
        display: none;
    }
}

/* ===== TEASER ===== */
#teaser {
    background: transparent;
    text-align: center;
}

.teaser-year {
    font-size: clamp(10rem, 40vw, 25rem);
    font-weight: 900;
    line-height: 0.85;
    background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.teaser-content {
    position: relative;
    z-index: 1;
}

.teaser-title {
    font-size: clamp(3rem, 10vw, 7rem);
    font-weight: 900;
    margin-bottom: 40px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.teaser-title span {
    background: linear-gradient(135deg, var(--magenta) 0%, var(--cyan) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.teaser-title .question-mark {
    display: inline-block;
    background: linear-gradient(135deg, var(--accent) 0%, var(--magenta) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: questionPulse 0.8s ease-in-out infinite;
    font-size: 1.2em;
}

/* Screaming animation for What's Next */
.scream-animation {
    animation: screamPulse 2s ease-in-out infinite;
}

.scream-animation:hover {
    animation: screamShake 0.1s ease-in-out infinite;
}

@keyframes screamPulse {
    0%, 100% {
        transform: scale(1);
        text-shadow:
            0 0 20px rgba(255, 24, 190, 0.3),
            0 0 40px rgba(15, 242, 219, 0.2);
    }
    25% {
        transform: scale(1.02);
        text-shadow:
            0 0 30px rgba(255, 24, 190, 0.5),
            0 0 60px rgba(15, 242, 219, 0.3),
            0 0 80px rgba(250, 255, 0, 0.2);
    }
    50% {
        transform: scale(1.05);
        text-shadow:
            0 0 40px rgba(255, 24, 190, 0.7),
            0 0 80px rgba(15, 242, 219, 0.5),
            0 0 120px rgba(250, 255, 0, 0.3);
    }
    75% {
        transform: scale(1.02);
        text-shadow:
            0 0 30px rgba(255, 24, 190, 0.5),
            0 0 60px rgba(15, 242, 219, 0.3),
            0 0 80px rgba(250, 255, 0, 0.2);
    }
}

@keyframes screamShake {
    0%, 100% { transform: translateX(0) rotate(0deg); }
    25% { transform: translateX(-3px) rotate(-1deg); }
    50% { transform: translateX(3px) rotate(1deg); }
    75% { transform: translateX(-3px) rotate(-1deg); }
}

@keyframes questionPulse {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        filter: brightness(1);
    }
    50% {
        transform: scale(1.3) rotate(5deg);
        filter: brightness(1.5);
    }
}

/* ===== NEW GAMES SECTION ===== */
#newGames {
    background: transparent;
    text-align: center;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.future-title {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 6px;
    text-transform: uppercase;
    color: var(--neon);
    margin-bottom: 50px;
    text-align: center;
}

.arcade-carousel-wrapper {
    width: 100%;
    overflow: hidden;
    padding: 40px 0;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Fade edges */
.arcade-carousel-wrapper::before,
.arcade-carousel-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 150px;
    z-index: 10;
    pointer-events: none;
}

.arcade-carousel-wrapper::before {
    left: 0;
    background: linear-gradient(to right, var(--bg) 0%, transparent 100%);
}

.arcade-carousel-wrapper::after {
    right: 0;
    background: linear-gradient(to left, var(--bg) 0%, transparent 100%);
}

.retro-arcade {
    display: flex;
    gap: 60px;
    width: max-content;
}

.retro-arcade.row-1 {
    animation: arcadeScroll 25s linear infinite;
}

.retro-arcade.row-2 {
    animation: arcadeScrollReverse 30s linear infinite;
}

.retro-arcade.row-3 {
    animation: arcadeScroll 22s linear infinite;
}

@keyframes arcadeScroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes arcadeScrollReverse {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

.arcade-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

/* Varying heights for visual interest */
.row-1 .arcade-icon:nth-child(odd) { transform: translateY(-10px); }
.row-1 .arcade-icon:nth-child(even) { transform: translateY(10px); }
.row-2 .arcade-icon:nth-child(odd) { transform: translateY(5px); }
.row-2 .arcade-icon:nth-child(even) { transform: translateY(-5px); }
.row-3 .arcade-icon:nth-child(3n) { transform: translateY(-15px); }
.row-3 .arcade-icon:nth-child(3n+1) { transform: translateY(8px); }
.row-3 .arcade-icon:nth-child(3n+2) { transform: translateY(-5px); }

.arcade-icon:hover {
    transform: scale(1.15) !important;
}

.arcade-icon svg.pixel-art {
    width: 100px;
    height: 100px;
    image-rendering: pixelated;
    filter: drop-shadow(0 0 6px currentColor);
}

.pacman-icon svg { filter: drop-shadow(0 0 8px rgba(255, 255, 0, 0.5)); }
.invader-icon svg { filter: drop-shadow(0 0 8px rgba(0, 255, 0, 0.5)); }
.tetris-icon svg { filter: drop-shadow(0 0 8px rgba(0, 255, 255, 0.5)); }
.mario-icon svg { filter: drop-shadow(0 0 8px rgba(255, 0, 0, 0.5)); }
.pong-icon svg { filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5)); }
.dk-icon svg { filter: drop-shadow(0 0 8px rgba(139, 69, 19, 0.5)); }
.asteroids-icon svg { filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.5)); }
.frogger-icon svg { filter: drop-shadow(0 0 8px rgba(0, 170, 0, 0.5)); }

/* ===== AI SECTION - EPIC REDESIGN ===== */
#aiSection {
    background: transparent;
    text-align: center;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

/* Animated background grid for AI section */
#aiSection::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image:
        linear-gradient(rgba(255, 24, 190, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 242, 219, 0.03) 1px, transparent 1px);
    background-size: 50px 50px;
    animation: gridPulseAI 4s ease-in-out infinite;
    pointer-events: none;
}

@keyframes gridPulseAI {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.6; }
}

.ai-text {
    background: linear-gradient(90deg, var(--magenta), var(--cyan), var(--neon), var(--accent), var(--magenta));
    background-size: 400% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: aiShimmer 4s linear infinite;
    text-shadow: none;
    position: relative;
    display: inline-block;
}

.ai-text::after {
    content: 'AI';
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg, var(--magenta), var(--cyan));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: blur(20px);
    opacity: 0.5;
    animation: aiGlowText 2s ease-in-out infinite;
}

@keyframes aiShimmer {
    0% { background-position: 0% center; }
    100% { background-position: 400% center; }
}

@keyframes aiGlowText {
    0%, 100% { opacity: 0.3; filter: blur(20px); }
    50% { opacity: 0.7; filter: blur(30px); }
}

.ai-visual {
    margin: 80px auto;
    display: flex;
    justify-content: center;
    position: relative;
}

.ai-container {
    position: relative;
    width: 700px;
    height: 450px;
}

/* Central AI Core */
.ai-core {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 180px;
    height: 180px;
}

.ai-core-ring {
    position: absolute;
    border-radius: 50%;
    border: 2px solid transparent;
}

.ai-core-ring-1 {
    width: 180px;
    height: 180px;
    top: 0;
    left: 0;
    border-color: var(--magenta);
    animation: ringRotate 8s linear infinite;
    box-shadow: 0 0 30px rgba(255, 24, 190, 0.4), inset 0 0 30px rgba(255, 24, 190, 0.1);
}

.ai-core-ring-2 {
    width: 140px;
    height: 140px;
    top: 20px;
    left: 20px;
    border-color: var(--cyan);
    animation: ringRotate 6s linear infinite reverse;
    box-shadow: 0 0 25px rgba(15, 242, 219, 0.4), inset 0 0 25px rgba(15, 242, 219, 0.1);
}

.ai-core-ring-3 {
    width: 100px;
    height: 100px;
    top: 40px;
    left: 40px;
    border-color: var(--neon);
    animation: ringRotate 4s linear infinite;
    box-shadow: 0 0 20px rgba(0, 255, 120, 0.4), inset 0 0 20px rgba(0, 255, 120, 0.1);
}

.ai-core-center {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 60px;
    left: 60px;
    background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
    border-radius: 50%;
    animation: corePulse 2s ease-in-out infinite;
    box-shadow: 0 0 40px var(--accent), 0 0 80px var(--accent);
}

@keyframes ringRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes corePulse {
    0%, 100% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.2); opacity: 1; }
}

/* Brain Side (Left) */
.brain-side {
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 220px;
    height: 280px;
}

.brain-svg-container {
    width: 100%;
    height: 100%;
    animation: brainFloat 4s ease-in-out infinite;
    filter: drop-shadow(0 0 30px rgba(255, 24, 190, 0.6));
}

@keyframes brainFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-15px) scale(1.05); }
}

/* Chip Side (Right) */
.chip-side {
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 260px;
    height: 320px;
}

.chip-svg-container {
    width: 100%;
    height: 100%;
    animation: chipFloat 4s ease-in-out infinite 0.5s;
    filter: drop-shadow(0 0 30px rgba(15, 242, 219, 0.6));
}

@keyframes chipFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-15px) scale(1.05); }
}

/* Neural Network Lines */
.neural-network {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.neural-line {
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 10 5;
    animation: neuralFlow 2s linear infinite;
    opacity: 0.6;
}

.neural-line-1 { animation-delay: 0s; stroke: var(--magenta); }
.neural-line-2 { animation-delay: 0.3s; stroke: var(--cyan); }
.neural-line-3 { animation-delay: 0.6s; stroke: var(--neon); }
.neural-line-4 { animation-delay: 0.9s; stroke: var(--accent); }

@keyframes neuralFlow {
    0% { stroke-dashoffset: 0; }
    100% { stroke-dashoffset: -30; }
}

/* Floating Data Particles */
.ai-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.ai-particle {
    position: absolute;
    border-radius: 50%;
    animation: particleOrbit var(--duration) linear infinite;
    animation-delay: var(--delay);
}

.ai-particle::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: inherit;
    filter: blur(4px);
    opacity: 0.6;
}

@keyframes particleOrbit {
    0% {
        transform: rotate(0deg) translateX(var(--radius)) rotate(0deg);
        opacity: 0.3;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: rotate(360deg) translateX(var(--radius)) rotate(-360deg);
        opacity: 0.3;
    }
}

/* Binary Rain Effect */
.binary-rain {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    opacity: 0.15;
}

.binary-column {
    position: absolute;
    top: -100%;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    color: var(--neon);
    text-shadow: 0 0 10px var(--neon);
    animation: binaryFall var(--fall-duration) linear infinite;
    animation-delay: var(--fall-delay);
    writing-mode: vertical-rl;
    white-space: nowrap;
}

@keyframes binaryFall {
    0% { transform: translateY(0); }
    100% { transform: translateY(200%); }
}

/* Pulse Waves from Center */
.pulse-waves {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.pulse-wave {
    position: absolute;
    width: 100px;
    height: 100px;
    border: 2px solid var(--accent);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: pulseExpand 3s ease-out infinite;
    opacity: 0;
}

.pulse-wave:nth-child(1) { animation-delay: 0s; }
.pulse-wave:nth-child(2) { animation-delay: 1s; }
.pulse-wave:nth-child(3) { animation-delay: 2s; }

@keyframes pulseExpand {
    0% {
        width: 100px;
        height: 100px;
        opacity: 0.8;
        border-color: var(--accent);
    }
    100% {
        width: 500px;
        height: 500px;
        opacity: 0;
        border-color: var(--cyan);
    }
}

/* Glowing Nodes */
.ai-node {
    position: absolute;
    width: 12px;
    height: 12px;
    background: var(--neon);
    border-radius: 50%;
    box-shadow: 0 0 20px var(--neon), 0 0 40px var(--neon);
    animation: nodeGlow 1.5s ease-in-out infinite;
}

.ai-node::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 4px;
    height: 4px;
    background: white;
    border-radius: 50%;
}

@keyframes nodeGlow {
    0%, 100% { transform: scale(1); box-shadow: 0 0 20px var(--neon); }
    50% { transform: scale(1.3); box-shadow: 0 0 40px var(--neon), 0 0 60px var(--neon); }
}

/* Hexagon Background Pattern */
.hex-pattern {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 500px;
    height: 500px;
    opacity: 0.1;
    animation: hexRotate 60s linear infinite;
}

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

/* Energy Beams */
.energy-beam {
    position: absolute;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--magenta), var(--cyan), transparent);
    animation: beamShoot 2s ease-in-out infinite;
    opacity: 0;
}

.energy-beam-1 {
    top: 35%;
    left: 15%;
    width: 120px;
    animation-delay: 0s;
    transform-origin: left center;
}

.energy-beam-2 {
    top: 65%;
    left: 15%;
    width: 120px;
    animation-delay: 0.5s;
    transform-origin: left center;
}

.energy-beam-3 {
    top: 35%;
    right: 15%;
    width: 120px;
    animation-delay: 1s;
    transform-origin: right center;
}

.energy-beam-4 {
    top: 65%;
    right: 15%;
    width: 120px;
    animation-delay: 1.5s;
    transform-origin: right center;
}

@keyframes beamShoot {
    0%, 100% { opacity: 0; transform: scaleX(0); }
    50% { opacity: 1; transform: scaleX(1); }
}

/* Legacy support for old classes */
.brain-chip { display: none; }
.brain-half, .chip-half { display: none; }
.neural-connections { display: none; }
.data-bit { display: none; }

/* ===== CLOSING ===== */
#closing {
    background: transparent;
    text-align: center;
}

.closing-quote {
    font-size: clamp(2.2rem, 6vw, 4rem);
    font-weight: 700;
    line-height: 1.4;
    max-width: 1000px;
    position: relative;
    text-align: center;
    margin: 0 auto;
}


.closing-quote span {
    background: linear-gradient(135deg, var(--accent) 0%, var(--neon) 50%, var(--cyan) 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer 4s linear infinite;
}

.closing-tagline {
    font-size: 0.85rem;
    letter-spacing: 8px;
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--magenta), var(--cyan));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-top: 50px;
    opacity: 0.8;
}

.closing-logo {
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: rgba(255,255,255,0.3);
    margin-top: 80px;
    transition: all 0.4s;
}

.closing-logo:hover {
    color: var(--neon);
    text-shadow: 0 0 30px rgba(0, 255, 120, 0.5);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
    section { padding: 80px 20px; }
    nav { padding: 20px; }
    .numbers-grid { grid-template-columns: 1fr; }
    .partners-grid { grid-template-columns: 1fr; }
    .highlights-list { grid-template-columns: 1fr; gap: 20px; }
    .highlight-card {
        padding: 35px 30px;
        min-height: auto;
        text-align: left;
    }
    .highlight-num { font-size: 3rem; }
    .highlight-text { font-size: 1.2rem; }
    .highlight-tag { align-self: flex-start; }
    .num-card { padding: 35px 25px; }
    .multiplier-hud { padding: 8px 15px; }
    /* Stats responsive */
    .performance-grid { grid-template-columns: repeat(2, 1fr); }
    .perf-value { font-size: 1.8rem; }
    .releases-chart { gap: 10px; height: 200px; }
    .release-bar { width: 40px; }
    .release-bar .bar-value { font-size: 0.9rem; }
    .game-comparison { flex-direction: column; text-align: center; }
    .game-rank { min-width: auto; }
    .insight-box { flex-direction: column; text-align: center; }
    /* Events responsive */
    .event-title { font-size: 2rem; }
    .event-header { flex-direction: column; gap: 10px; }
    .event-gallery { grid-template-rows: repeat(3, 120px); grid-auto-columns: 120px; }
    .event-gallery-wrapper::before,
    .event-gallery-wrapper::after { width: 50px; }
    .event-gallery { padding: 15px 50px; }
    .events-container { gap: 120px; }
    .new-faces-grid { gap: 15px; }
    .new-face-item { width: 120px; height: 120px; }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .partners-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== GAME MODAL ===== */
.game-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.game-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
}

.game-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.95);
    backdrop-filter: blur(10px);
}

.game-modal-container {
    position: relative;
    width: 90vw;
    height: 85vh;
    max-width: 1200px;
    background: linear-gradient(135deg, rgba(20, 20, 30, 0.98) 0%, rgba(10, 10, 15, 0.98) 100%);
    border: 2px solid rgba(0, 255, 136, 0.3);
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow:
        0 0 60px rgba(0, 255, 136, 0.2),
        0 0 120px rgba(255, 24, 190, 0.1),
        inset 0 0 100px rgba(0, 0, 0, 0.5);
    animation: modalAppear 0.4s ease;
}

@keyframes modalAppear {
    0% {
        transform: scale(0.9) translateY(20px);
        opacity: 0;
    }
    100% {
        transform: scale(1) translateY(0);
        opacity: 1;
    }
}

.game-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 30px;
    background: rgba(0, 0, 0, 0.5);
    border-bottom: 1px solid rgba(0, 255, 136, 0.2);
}

.game-modal-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: var(--neon);
    text-transform: uppercase;
    letter-spacing: 4px;
    text-shadow: 0 0 20px rgba(0, 255, 136, 0.5);
}

.game-modal-controls {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    font-family: 'Press Start 2P', monospace;
    letter-spacing: 1px;
}

.game-modal-close {
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255, 24, 190, 0.5);
    background: transparent;
    color: var(--magenta);
    font-size: 2rem;
    cursor: pointer;
    border-radius: 50%;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.game-modal-close:hover {
    background: var(--magenta);
    color: white;
    transform: rotate(90deg);
    box-shadow: 0 0 30px rgba(255, 24, 190, 0.5);
}

.game-modal-canvas-wrapper {
    flex: 1;
    position: relative;
    padding: 20px;
}

.game-modal-canvas {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 10px;
    border: 1px solid rgba(0, 255, 136, 0.2);
}

.game-modal-footer {
    padding: 15px 30px;
    background: rgba(0, 0, 0, 0.5);
    border-top: 1px solid rgba(0, 255, 136, 0.2);
    text-align: center;
}

.game-modal-hint {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.4);
    letter-spacing: 2px;
}

/* ===== ENHANCED ARCADE SECTION ===== */
#newGames {
    position: relative;
    overflow: hidden;
}

/* Circuit board background animation */
.arcade-circuit-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.25;
    z-index: 0;
}

.arcade-circuit-bg svg {
    width: 100%;
    height: 100%;
}

/* Rotating Gears */
.gear-spin {
    animation: gearRotate 20s linear infinite;
}

.gear-spin-reverse {
    animation: gearRotate 15s linear infinite reverse;
}

@keyframes gearRotate {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Rotating Diamond */
.diamond-rotate {
    animation: diamondSpin 12s linear infinite;
}

.diamond-inner {
    animation: diamondPulse 2s ease-in-out infinite;
}

@keyframes diamondSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes diamondPulse {
    0%, 100% { opacity: 0.2; }
    50% { opacity: 0.6; }
}

/* Joystick Animation */
.joystick-stick {
    animation: joystickWobble 3s ease-in-out infinite;
    transform-origin: 600px 680px;
}

.joystick-ball {
    animation: joystickWobble 3s ease-in-out infinite;
}

@keyframes joystickWobble {
    0%, 100% { transform: rotate(0deg) translateX(0); }
    25% { transform: rotate(-8deg) translateX(-5px); }
    75% { transform: rotate(8deg) translateX(5px); }
}

/* Arcade Buttons Pulse */
.btn-pulse-1 { animation: btnPulse 1.5s ease-in-out infinite; }
.btn-pulse-2 { animation: btnPulse 1.5s ease-in-out infinite 0.3s; }
.btn-pulse-3 { animation: btnPulse 1.5s ease-in-out infinite 0.6s; }
.btn-pulse-4 { animation: btnPulse 1.5s ease-in-out infinite 0.9s; }

@keyframes btnPulse {
    0%, 100% {
        stroke-width: 3;
        opacity: 0.6;
    }
    50% {
        stroke-width: 5;
        opacity: 1;
    }
}

.arcade-btn-inner {
    animation: btnInnerPulse 1.5s ease-in-out infinite;
}

@keyframes btnInnerPulse {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.7; }
}

/* Floating Particles */
.particle {
    animation: particleFloat 4s ease-in-out infinite;
}

.float-1 { animation-delay: 0s; animation-duration: 3.5s; }
.float-2 { animation-delay: 0.3s; animation-duration: 4s; }
.float-3 { animation-delay: 0.6s; animation-duration: 3.2s; }
.float-4 { animation-delay: 0.9s; animation-duration: 4.5s; }
.float-5 { animation-delay: 1.2s; animation-duration: 3.8s; }
.float-6 { animation-delay: 0.2s; animation-duration: 4.2s; }
.float-7 { animation-delay: 0.5s; animation-duration: 3.6s; }
.float-8 { animation-delay: 0.8s; animation-duration: 4.1s; }
.float-9 { animation-delay: 1.1s; animation-duration: 3.4s; }
.float-10 { animation-delay: 0.4s; animation-duration: 4.3s; }

@keyframes particleFloat {
    0%, 100% {
        transform: translateY(0) scale(1);
        opacity: 0.6;
    }
    50% {
        transform: translateY(-20px) scale(1.3);
        opacity: 1;
    }
}

/* Data Streams */
.stream-h-1 {
    animation: streamMoveH 4s linear infinite;
}

.stream-h-2 {
    animation: streamMoveH 4s linear infinite 2s;
}

.stream-v-1 {
    animation: streamMoveV 5s linear infinite;
}

.stream-v-2 {
    animation: streamMoveV 5s linear infinite 2.5s;
}

@keyframes streamMoveH {
    0% { transform: translateX(-100px); }
    100% { transform: translateX(1400px); }
}

@keyframes streamMoveV {
    0% { transform: translateY(-100px); }
    100% { transform: translateY(1000px); }
}

/* LED Blinking */
.led-blink-1 { animation: ledBlink 1s ease-in-out infinite; }
.led-blink-2 { animation: ledBlink 1s ease-in-out infinite 0.25s; }
.led-blink-3 { animation: ledBlink 1s ease-in-out infinite 0.5s; }
.led-blink-4 { animation: ledBlink 1s ease-in-out infinite 0.75s; }

@keyframes ledBlink {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.9; }
}

/* Node Pulse */
.node-pulse-1 { animation: nodePulse 2s ease-in-out infinite; }
.node-pulse-2 { animation: nodePulse 2s ease-in-out infinite 0.5s; }
.node-pulse-3 { animation: nodePulse 2s ease-in-out infinite 1s; }
.node-pulse-4 { animation: nodePulse 2s ease-in-out infinite 1.5s; }

@keyframes nodePulse {
    0%, 100% {
        r: 8;
        opacity: 0.5;
    }
    50% {
        r: 12;
        opacity: 1;
    }
}

/* Connection Lines Dash Animation */
.connection-line {
    animation: dashMove 3s linear infinite;
}

@keyframes dashMove {
    to { stroke-dashoffset: -30; }
}

/* Floating Pixel Sprites Layer */
.pixel-sprites-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.pixel-sprite {
    position: absolute;
    width: 8px;
    height: 8px;
    background: var(--neon);
    box-shadow: 0 0 10px var(--neon), 0 0 20px var(--neon);
    animation: spriteFloat 8s ease-in-out infinite;
}

.sprite-1 {
    top: 20%;
    left: 10%;
    background: var(--magenta);
    box-shadow: 0 0 10px var(--magenta), 0 0 20px var(--magenta);
    animation-delay: 0s;
}

.sprite-2 {
    top: 30%;
    right: 15%;
    background: var(--cyan);
    box-shadow: 0 0 10px var(--cyan), 0 0 20px var(--cyan);
    animation-delay: 2s;
}

.sprite-3 {
    bottom: 25%;
    left: 20%;
    background: var(--accent);
    box-shadow: 0 0 10px var(--accent), 0 0 20px var(--accent);
    animation-delay: 4s;
}

.sprite-4 {
    bottom: 35%;
    right: 10%;
    animation-delay: 6s;
}

@keyframes spriteFloat {
    0%, 100% {
        transform: translateY(0) translateX(0) scale(1);
        opacity: 0.8;
    }
    25% {
        transform: translateY(-30px) translateX(20px) scale(1.2);
        opacity: 1;
    }
    50% {
        transform: translateY(-10px) translateX(-15px) scale(0.8);
        opacity: 0.6;
    }
    75% {
        transform: translateY(-40px) translateX(10px) scale(1.1);
        opacity: 0.9;
    }
}

/* Grid line glow animation */
.grid-line-main {
    animation: gridGlow 3s ease-in-out infinite;
}

@keyframes gridGlow {
    0%, 100% { opacity: 0.2; }
    50% { opacity: 0.4; }
}

/* Make arcade icons clickable */
.arcade-icon {
    cursor: pointer;
    position: relative;
}

.arcade-icon::after {
    content: 'PLAY';
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
    color: var(--neon);
    opacity: 0;
    transition: all 0.3s ease;
    text-shadow: 0 0 10px var(--neon);
}

.arcade-icon:hover::after {
    opacity: 1;
    bottom: -30px;
}

.arcade-icon:hover svg.pixel-art {
    animation: iconPulse 0.3s ease;
}

@keyframes iconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Arcade section glow effects */
.arcade-carousel-wrapper::before {
    background: linear-gradient(to right, var(--darker) 0%, transparent 100%);
}

.arcade-carousel-wrapper::after {
    background: linear-gradient(to left, var(--darker) 0%, transparent 100%);
}

/* Scanline overlay for retro feel */
.arcade-scanlines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.1) 2px,
        rgba(0, 0, 0, 0.1) 4px
    );
    opacity: 0.3;
    z-index: 5;
}

/* Enhanced title styling for arcade section */
#newGames .future-title {
    position: relative;
    z-index: 10;
    font-size: 1.3rem;
    letter-spacing: 8px;
}

#newGames .future-title::before,
#newGames .future-title::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 100px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--neon), transparent);
}

#newGames .future-title::before {
    right: 100%;
    margin-right: 20px;
}

#newGames .future-title::after {
    left: 100%;
    margin-left: 20px;
}

/* Press Start 2P font for game aesthetics */
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
