/* roulang page: index */
:root {
            --brand-green: #00E599;
            --brand-cyan: #00B4D8;
            --brand-dark: #0A0F1D;
            --brand-navy: #131E36;
            --brand-coral: #FF5722;
            --brand-bg: #F7F9FC;
            --text-main: #1E293B;
            --text-muted: #64748B;
        }
        body {
            background-color: var(--brand-bg);
            color: var(--text-main);
            overflow-x: hidden;
        }
        .btn-gradient {
            background: linear-gradient(135deg, #00E599 0%, #00B4D8 100%);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-gradient:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px -5px rgba(0, 229, 153, 0.4);
        }
        .card-glow {
            transition: all 0.3s ease;
        }
        .card-glow:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 35px -10px rgba(0, 180, 216, 0.15);
            border-color: rgba(0, 229, 153, 0.4);
        }
        .text-gradient {
            background: linear-gradient(135deg, #00E599 0%, #00B4D8 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .dark-field-grid {
            background-image: linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
                              linear-gradient(to bottom, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
            background-size: 32px 32px;
        }
        .animate-pulse-slow {
            animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
        }
        @keyframes pulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.5; }
        }
