/* roulang page: index */
:root {
            --primary-bg: #0F1015;
            --accent-purple: #6366F1;
            --accent-green: #10B981;
            --surface-white: #FFFFFF;
            --surface-muted: #F8FAFC;
            --surface-dark: #090A0F;
            --text-heading: #0F172A;
            --text-body: #334155;
            --text-muted: #64748B;
            --border-light: rgba(15, 23, 42, 0.08);
            --border-dark: rgba(255, 255, 255, 0.12);
            --shadow-subtle: 0 4px 20px -2px rgba(0, 0, 0, 0.05);
            --radius-btn: 6px;
            --radius-card: 14px;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: var(--font-sans, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif);
            background-color: #FAFAFC;
            color: var(--text-body);
            line-height: 1.75;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        .site-container {
            width: 100%;
            max-width: 1240px;
            margin-left: auto;
            margin-right: auto;
            padding-left: 24px;
            padding-right: 24px;
        }

        /* 堆叠首屏卡片 */
        .hero-deck-wrap {
            position: relative;
            perspective: 1000px;
        }
        .hero-card-side-left {
            transform: translate(-30px, 20px) scale(0.92);
            opacity: 0.85;
            filter: blur(0.5px);
            transition: all 0.3s ease;
        }
        .hero-card-side-right {
            transform: translate(30px, 20px) scale(0.92);
            opacity: 0.85;
            filter: blur(0.5px);
            transition: all 0.3s ease;
        }
        .hero-card-center {
            z-index: 10;
            box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.15);
        }

        /* 平滑滚动与焦点轮廓 */
        html {
            scroll-behavior: smooth;
        }
        a:focus-visible, button:focus-visible {
            outline: 2px solid var(--accent-purple);
            outline-offset: 2px;
        }

        /* 手风琴原生优化 */
        details summary::-webkit-details-marker {
            display: none;
        }
        details summary {
            list-style: none;
        }
        details[open] .faq-icon {
            transform: rotate(180deg);
        }

        /* 图像加载骨架过渡 */
        .img-slot {
            background-color: #E2E8F0;
            position: relative;
            overflow: hidden;
        }
        .img-slot img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
