/* roulang page: index */
:root {
            --bg-base: #0D1117;
            --bg-surface: #161B22;
            --bg-card: #21262D;
            --border-line: #30363D;
            --primary-cyan: #00E5FF;
            --accent-amber: #FF9F1C;
            --text-high: #F0F6FC;
            --text-sub: #8B949E;
        }
        body {
            background-color: var(--bg-base);
            color: var(--text-high);
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .glow-border {
            border: 1px solid var(--border-line);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .glow-border:hover {
            border-color: var(--primary-cyan);
            box-shadow: 0 0 16px rgba(0, 229, 255, 0.2);
            transform: translateY(-2px);
        }
        .glow-amber-border {
            border: 1px solid var(--border-line);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .glow-amber-border:hover {
            border-color: var(--accent-amber);
            box-shadow: 0 0 16px rgba(255, 159, 28, 0.2);
            transform: translateY(-2px);
        }
        .btn-primary {
            background-color: var(--primary-cyan);
            color: #070A0D;
            font-weight: 600;
            transition: all 0.25s ease;
        }
        .btn-primary:hover {
            background-color: #33ebff;
            box-shadow: 0 0 20px rgba(0, 229, 255, 0.45);
            transform: translateY(-2px);
        }
        .btn-secondary {
            border: 1px solid var(--border-line);
            background-color: rgba(33, 38, 45, 0.6);
            color: var(--text-high);
            transition: all 0.25s ease;
        }
        .btn-secondary:hover {
            border-color: var(--primary-cyan);
            background-color: var(--bg-card);
            color: var(--primary-cyan);
        }
        .hero-banner-mask {
            background: linear-gradient(180deg, rgba(13, 17, 23, 0.75) 0%, rgba(13, 17, 23, 0.95) 85%, #0D1117 100%);
        }
        .circuit-bg {
            background-image: radial-gradient(rgba(0, 229, 255, 0.08) 1px, transparent 1px);
            background-size: 24px 24px;
        }
        /* 手风琴平滑收缩过渡 */
        .accordion-content {
            transition: max-height 0.35s ease-out, opacity 0.3s ease-out;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
        }
        .accordion-item.active .accordion-content {
            max-height: 200px;
            opacity: 1;
        }
        .accordion-item.active .accordion-arrow {
            transform: rotate(180deg);
            color: var(--primary-cyan);
        }
        .accordion-item.active {
            border-left: 3px solid var(--primary-cyan);
            background-color: rgba(33, 38, 45, 0.4);
        }
