/* roulang page: index */
:root {
            --color-primary: #0F172A;
            --color-deep: #0B1120;
            --color-accent: #00DC82;
            --color-orange: #FF5E1E;
            --color-border: #334155;
            --color-text-main: #0F172A;
            --color-text-muted: #64748B;
        }
        html {
            scroll-behavior: smooth;
        }
        body {
            font-family: var(--font-sans, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif);
            color: #334155;
            background-color: #F8FAFC;
        }
        .text-glow {
            text-shadow: 0 0 15px rgba(0, 220, 130, 0.4);
        }
        .border-glow {
            box-shadow: 0 0 20px -3px rgba(0, 220, 130, 0.15);
        }
        .hero-bg {
            background-image: linear-gradient(to bottom, rgba(11, 17, 32, 0.92), rgba(15, 23, 42, 0.96)), url('/assets/images/d5bb957d75f8f54f.png');
            background-size: cover;
            background-position: center;
        }
        .section-separator {
            border-bottom: 1px solid rgba(226, 232, 240, 0.8);
        }
        .pulse-dot {
            box-shadow: 0 0 0 0 rgba(0, 220, 130, 0.7);
            animation: pulse 1.8s infinite cubic-bezier(0.66, 0, 0, 1);
        }
        @keyframes pulse {
            to {
                box-shadow: 0 0 0 10px rgba(0, 220, 130, 0);
            }
        }
        .waveform-bar {
            animation: wave 1.2s ease-in-out infinite alternate;
        }
        @keyframes wave {
            0% { height: 15%; }
            100% { height: 100%; }
        }
