/* roulang page: index */
:root {
            --bg-main: #0d0f12;
            --bg-card: #161920;
            --bg-card-hover: #1c212c;
            --border-line: #222734;
            --primary-purple: #7c3aed;
            --accent-cyan: #06b6d4;
            --accent-rose: #f43f5e;
            --text-title: #ffffff;
            --text-body: #94a3b8;
            --text-muted: #64748b;
        }

        body {
            background-color: var(--bg-main);
            color: var(--text-body);
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }

        .gradient-brand-text {
            background: linear-gradient(135deg, #a78bfa 0%, #38bdf8 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .gradient-accent-button {
            background: linear-gradient(135deg, #7c3aed 0%, #06b6d4 100%);
            box-shadow: 0 4px 20px -2px rgba(124, 58, 237, 0.4);
            transition: all 0.25s ease-in-out;
        }

        .gradient-accent-button:hover {
            box-shadow: 0 8px 25px 2px rgba(6, 182, 212, 0.45);
            transform: translateY(-2px);
        }

        .hero-bg-layer {
            background-image: radial-gradient(circle at 50% 10%, rgba(124, 58, 237, 0.2) 0%, transparent 60%),
                              radial-gradient(circle at 80% 40%, rgba(6, 182, 212, 0.15) 0%, transparent 50%),
                              url('/assets/images/ad4d563849529102.jpg');
            background-size: cover;
            background-position: center;
        }

        .border-glow {
            border: 1px solid var(--border-line);
            transition: border-color 0.25s ease, box-shadow 0.25s ease;
        }

        .border-glow:hover {
            border-color: #38bdf8;
            box-shadow: 0 0 15px -3px rgba(56, 189, 248, 0.25);
        }

        .waveform-bar {
            animation: pulse-height 1.4s ease-in-out infinite alternate;
        }

        @keyframes pulse-height {
            0% { height: 15%; }
            100% { height: 95%; }
        }

        .faq-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }

        .faq-item.active .faq-content {
            max-height: 250px;
        }

        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }
