/* roulang page: index */
:root {
            --color-primary: #0F141C;
            --color-accent: #0284C7;
            --color-surface: #F8FAFC;
            --border-soft: rgba(15, 23, 42, 0.08);
            --border-glow: rgba(14, 165, 233, 0.25);
            --shadow-subtle: 0 10px 30px -10px rgba(15, 23, 42, 0.05);
            --shadow-card: 0 15px 35px -5px rgba(15, 23, 42, 0.08);
        }

        html, body {
            overflow-x: hidden;
            background-color: #FFFFFF;
            color: #1E293B;
            font-family: var(--font-sans, "PingFang SC", "Microsoft YaHei", sans-serif);
            line-height: 1.7;
        }

        .hero-mesh {
            background-image: radial-gradient(rgba(2, 132, 199, 0.08) 1px, transparent 1px);
            background-size: 28px 28px;
        }

        .dark-mesh {
            background-image: radial-gradient(rgba(14, 165, 233, 0.12) 1px, transparent 1px);
            background-size: 32px 32px;
        }

        .glass-nav {
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(16px);
            -webkit-backdrop-filter: blur(16px);
        }

        .glass-dark {
            background: rgba(19, 27, 42, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }

        .accordion-content {
            transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
        }

        .badge-pulse::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            height: 100%;
            border-radius: 9999px;
            background: inherit;
            animation: pulse-ring 2s cubic-bezier(0.24, 0, 0.38, 1) infinite;
            z-index: -1;
        }

        @keyframes pulse-ring {
            0% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.8; }
            100% { transform: translate(-50%, -50%) scale(2.2); opacity: 0; }
        }
