        :root {
            --primary-bg: #E8D4FF; /* Pastel Lavender */
            --secondary-bg: #FFD4B2; /* Soft Peach */
            --cyan-accent: #00F0FF;
            --magenta-hover: #FF00D4;
            --charcoal: #1A1A1A;
        }

        body {
            font-family: 'Baloo 2', cursive;
            background-color: var(--primary-bg);
            color: var(--charcoal);
            overflow-x: hidden;
        }

        /* --- Animations --- */
        @keyframes floating {
            0%, 100% { transform: translateY(0) rotate(0); }
            50% { transform: translateY(-20px) rotate(5deg); }
        }

        @keyframes bgGradient {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

        .animate-bg {
            background: linear-gradient(-45deg, #E8D4FF, #FFD4B2, #D4EBFF, #FFE8D4);
            background-size: 400% 400%;
            animation: bgGradient 15s ease infinite;
        }

        .float-element { animation: floating 6s ease-in-out infinite; }
        .float-delayed { animation: floating 8s ease-in-out infinite reverse; }

        .reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* --- Custom UI Components --- */
        .btn-cyan {
            background: var(--cyan-accent);
            border: 3px solid var(--charcoal);
            box-shadow: 4px 4px 0px var(--charcoal);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .btn-cyan:hover {
            transform: translate(-2px, -2px);
            box-shadow: 8px 8px 0px var(--charcoal);
            filter: drop-shadow(0 0 10px var(--cyan-accent));
        }

        .btn-magenta {
            background: var(--magenta-hover);
            color: white;
            border: 3px solid var(--charcoal);
            box-shadow: 4px 4px 0px var(--charcoal);
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .btn-magenta:hover {
            transform: translate(-2px, -2px);
            box-shadow: 8px 8px 0px var(--charcoal);
            filter: drop-shadow(0 0 10px var(--magenta-hover));
        }

        .model-card {
            background: var(--secondary-bg);
            border: 4px solid var(--charcoal);
            border-radius: 30px;
            box-shadow: 10px 10px 0px var(--charcoal);
            overflow: hidden;
            transition: all 0.4s ease;
        }
        .model-card:hover { transform: scale(1.02); }
        .model-card:hover .stats-overlay { opacity: 1; transform: translateY(0); }

        .stats-overlay {
            background: rgba(26, 26, 26, 0.9);
            color: white;
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.3s ease;
        }

        .category-circle {
            min-width: 120px;
            height: 120px;
            background: white;
            border: 3px solid var(--charcoal);
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            transition: all 0.3s;
            cursor: pointer;
        }
        .category-circle:hover { background: var(--cyan-accent); transform: scale(1.1); }

        .diagonal-stripes {
            background-image: repeating-linear-gradient(45deg, rgba(0,0,0,0.05) 25%, transparent 25%, transparent 50%, rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.05) 75%, transparent 75%, transparent);
            background-size: 40px 40px;
        }

        .horizontal-scroll::-webkit-scrollbar { display: none; }

@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.animate-scroll {
  width: max-content;
  animation: scroll 30s linear infinite;
}
