/* roulang page: index */
:root {
            --primary: #0F172A;
            --accent: #0EA5E9;
            --accent-hover: #0284C7;
            --bg-light: #F8FAFC;
            --text-dark: #0F172A;
            --text-muted: #64748B;
            --border-color: #E2E8F0;
        }

        body {
            color: #334155;
            background-color: #FFFFFF;
            overflow-x: hidden;
        }

        .hero-clip {
            background-image: radial-gradient(rgba(14, 165, 233, 0.08) 1px, transparent 1px);
            background-size: 28px 28px;
        }

        .tech-border {
            border: 1px solid rgba(226, 232, 240, 0.8);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .tech-border:hover {
            border-color: #0EA5E9;
            box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.12), 0 8px 10px -6px rgba(14, 165, 233, 0.08);
            transform: translateY(-2px);
        }

        .dark-card-border {
            border: 1px solid rgba(51, 65, 85, 0.7);
            transition: all 0.3s ease;
        }

        .dark-card-border:hover {
            border-color: #0EA5E9;
            box-shadow: 0 0 20px rgba(14, 165, 233, 0.2);
        }

        /* 手风琴平滑过渡 */
        .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 {
            max-height: 280px;
            opacity: 1;
        }
        .accordion-item.active .accordion-icon {
            transform: rotate(180deg);
            color: #0EA5E9;
        }

        /* 前后对比分割交互 */
        .compare-slider-container {
            position: relative;
            user-select: none;
        }
