/* roulang page: index */
:root {
            --color-bg-dark: #0F1115;
            --color-bg-card-dark: #161A22;
            --color-accent: #00E676;
            --color-accent-hover: #00C853;
            --color-primary-dark: #12161A;
            --color-orange: #FF6D00;
            --color-border-dark: rgba(255, 255, 255, 0.08);
            --font-mono-numbers: "DIN Alternate", "Roboto Mono", "Segoe UI", monospace;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;
            color: #1F2937;
            background-color: #F8F9FA;
            overflow-x: hidden;
        }
        .num-font {
            font-family: var(--font-mono-numbers);
        }
        .bg-mesh-dark {
            background-color: var(--color-bg-dark);
            background-image: radial-gradient(rgba(0, 230, 118, 0.08) 1px, transparent 1px);
            background-size: 24px 24px;
        }
        .glow-accent {
            box-shadow: 0 0 25px rgba(0, 230, 118, 0.25);
        }
        .glow-accent-sm {
            box-shadow: 0 0 12px rgba(0, 230, 118, 0.2);
        }
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }
        .no-scrollbar {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }
        .pulse-live {
            animation: pulse-live-anim 2s infinite;
        }
        @keyframes pulse-live-anim {
            0% { transform: scale(0.95); opacity: 0.8; }
            50% { transform: scale(1.1); opacity: 1; filter: drop-shadow(0 0 6px #00E676); }
            100% { transform: scale(0.95); opacity: 0.8; }
        }
