/* roulang page: index */
:root {
            --color-primary: #7c3aed;
            --color-primary-hover: #6d28d9;
            --color-accent: #34d399;
            --color-bg-deep: #020617;
            --color-bg-panel: #0f172a;
            --color-bg-card: rgba(24, 24, 27, 0.85);
            --color-text-main: #f1f5f9;
            --color-text-muted: #94a3b8;
            --color-border: rgba(124, 58, 237, 0.24);
            --radius-lg: 1rem;
            --radius-xl: 1.25rem;
            --shadow-glow: 0 0 28px -4px rgba(124, 58, 237, 0.45);
            --shadow-emerald: 0 0 24px -4px rgba(52, 211, 153, 0.35);
        }

        *, *::before, *::after {
            box-sizing: border-box;
        }

        html, body {
            margin: 0;
            padding: 0;
            background-color: var(--color-bg-deep);
            color: var(--color-text-main);
            font-family: system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            line-height: 1.75;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        a {
            color: inherit;
            text-decoration: none;
            transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
        }

        /* 扫光按钮动效 */
        .btn-shine {
            position: relative;
            overflow: hidden;
            background: linear-gradient(135deg, #7c3aed 0%, #5b21b6 60%, #059669 100%);
            box-shadow: var(--shadow-glow);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-shine:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 32px -4px rgba(124, 58, 237, 0.65);
        }
        .btn-shine::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -60%;
            width: 45%;
            height: 200%;
            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.32), transparent);
            transform: rotate(25deg);
            animation: shineSweep 3.8s infinite ease-in-out;
        }
        @keyframes shineSweep {
            0% { left: -60%; }
            35%, 100% { left: 140%; }
        }

        /* 赛博网格底纹 */
        .cyber-grid-bg {
            background-image: 
                linear-gradient(to right, rgba(124, 58, 237, 0.08) 1px, transparent 1px),
                linear-gradient(to bottom, rgba(124, 58, 237, 0.08) 1px, transparent 1px);
            background-size: 36px 36px;
        }

        /* 卡片悬浮与发光 */
        .game-card {
            background: var(--color-bg-card);
            border: 1px solid rgba(148, 163, 184, 0.14);
            border-radius: var(--radius-xl);
            backdrop-filter: blur(12px);
            transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
        }
        .game-card:hover {
            transform: translateY(-5px);
            border-color: rgba(124, 58, 237, 0.7);
            box-shadow: var(--shadow-glow);
        }

        /* 推荐档位高亮外框 */
        .tier-highlight {
            background: linear-gradient(180deg, rgba(124, 58, 237, 0.22) 0%, rgba(15, 23, 42, 0.95) 100%);
            border: 2px solid #34d399;
            box-shadow: var(--shadow-emerald);
        }

        /* 发光数字 */
        .neon-number {
            text-shadow: 0 0 18px rgba(52, 211, 153, 0.55), 0 0 36px rgba(124, 58, 237, 0.4);
        }

        /* 抽屉导航动画 */
        .drawer-backdrop {
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
        }
        .drawer-backdrop.open {
            opacity: 1;
            pointer-events: auto;
        }
        .drawer-panel {
            transform: translateX(100%);
            transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .drawer-panel.open {
            transform: translateX(0);
        }

        /* 手风琴折叠动画 */
        details.faq-item summary {
            list-style: none;
            cursor: pointer;
        }
        details.faq-item summary::-webkit-details-marker {
            display: none;
        }
        details.faq-item[open] summary .faq-icon {
            transform: rotate(180deg);
            color: #34d399;
        }
        details.faq-item[open] {
            border-color: rgba(124, 58, 237, 0.65);
            background-color: rgba(15, 23, 42, 0.95);
        }

        /* 轮播动画过渡 */
        .hero-slide {
            display: none;
            animation: fadeSlide 0.45s ease forwards;
        }
        .hero-slide.active {
            display: block;
        }
        @keyframes fadeSlide {
            from { opacity: 0; transform: translateY(8px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* 响应式微调 */
        @media (max-width: 768px) {
            .section-pad {
                padding-top: 4rem;
                padding-bottom: 4rem;
            }
        }
