/* roulang page: index */
:root {
            --primary-blue: #2563eb;
            --primary-dark: #1e40af;
            --accent-cyan: #06b6d4;
            --bg-page: #f8fafc;
            --text-main: #0f172a;
            --text-muted: #64748b;
            --card-border: #f1f5f9;
            --shadow-subtle: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
            --shadow-hover: 0 20px 25px -5px rgba(37, 99, 235, 0.1), 0 8px 10px -6px rgba(37, 99, 235, 0.1);
        }
        
        body {
            background-color: var(--bg-page);
            color: var(--text-main);
            font-family: system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
        }

        .hero-mesh {
            background-image: radial-gradient(at 0% 0%, rgba(37, 99, 235, 0.12) 0px, transparent 50%),
                              radial-gradient(at 100% 100%, rgba(6, 182, 212, 0.08) 0px, transparent 50%);
        }

        .card-modern {
            background: #ffffff;
            border: 1px solid #edf2f7;
            border-radius: 1rem;
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
            box-shadow: 0 2px 8px -2px rgba(15, 23, 42, 0.04);
        }

        .card-modern:hover {
            transform: translateY(-4px);
            box-shadow: 0 16px 30px -10px rgba(30, 64, 175, 0.12);
            border-color: #bfdbfe;
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.35s ease-out, opacity 0.3s ease;
            opacity: 0;
        }

        .accordion-item.active .accordion-content {
            opacity: 1;
        }

        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
        }

        .accordion-item.active {
            border-color: #93c5fd;
            background-color: #f8faff;
        }

        .badge-cyan {
            background-color: #e0f2fe;
            color: #0369a1;
            border: 1px solid #bae6fd;
        }
