/* roulang page: index */
:root {
            --brand-primary: #00E599;
            --brand-secondary: #0066FF;
            --bg-dark: #0B0F17;
            --card-border: rgba(255, 255, 255, 0.08);
            --card-border-light: rgba(15, 23, 42, 0.08);
        }
        .tabular-nums {
            font-variant-numeric: tabular-nums;
        }
        .hero-pattern {
            background-image: radial-gradient(rgba(0, 229, 153, 0.08) 1px, transparent 1px);
            background-size: 28px 28px;
        }
        .glass-panel {
            background: rgba(17, 24, 39, 0.85);
            backdrop-filter: blur(12px);
            border: 1px solid var(--card-border);
        }
        .data-card-hover {
            transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
        }
        .data-card-hover:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 30px -10px rgba(0, 229, 153, 0.08);
            border-color: rgba(0, 229, 153, 0.4);
        }
        .pulse-beacon {
            box-shadow: 0 0 0 0 rgba(0, 229, 153, 0.7);
            animation: pulse-ring 2s infinite cubic-bezier(0.66, 0, 0, 1);
        }
        @keyframes pulse-ring {
            to {
                box-shadow: 0 0 0 10px rgba(0, 229, 153, 0);
            }
        }
