/* roulang page: index */
:root {
            --bg-primary: #0A0A0C;
            --bg-card: #121216;
            --accent-gold: #D4AF37;
            --accent-gold-glow: rgba(212, 175, 55, 0.25);
            --border-light: rgba(255, 255, 255, 0.08);
            --text-main: #F8FAFC;
            --text-sub: #94A3B8;
        }

        body {
            background-color: var(--bg-primary);
            color: var(--text-main);
            overflow-x: hidden;
            letter-spacing: 0.02em;
        }

        .gold-gradient-text {
            background: linear-gradient(135deg, #FFFFFF 20%, #D4AF37 80%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .gold-border-glow {
            border: 1px solid var(--border-light);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .gold-border-glow:hover {
            border-color: rgba(212, 175, 55, 0.4);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px var(--accent-gold-glow);
            transform: translateY(-4px);
        }

        .coupon-ticket {
            position: relative;
            background: radial-gradient(circle at left, transparent 15px, #15151B 16px) left,
                        radial-gradient(circle at right, transparent 15px, #15151B 16px) right;
            background-size: 51% 100%;
            background-repeat: no-repeat;
            border: 1px dashed rgba(212, 175, 55, 0.3);
        }

        .flow-line::after {
            content: '';
            position: absolute;
            top: 50%;
            right: -24px;
            width: 24px;
            height: 2px;
            background: linear-gradient(90deg, #D4AF37, transparent);
        }

        @media (max-width: 1024px) {
            .flow-line::after {
                display: none;
            }
        }

        /* 移动端菜单抽屉 */
        #mobile-menu {
            transition: transform 0.3s ease-in-out;
        }
        #mobile-menu.hidden-menu {
            transform: translateX(100%);
        }
        #mobile-menu.visible-menu {
            transform: translateX(0);
        }

/* roulang page: article */
:root {
            --bg-primary: #0A0A0C;
            --bg-card: #121216;
            --accent-gold: #D4AF37;
            --accent-gold-glow: rgba(212, 175, 55, 0.25);
            --border-light: rgba(255, 255, 255, 0.08);
            --text-main: #F8FAFC;
            --text-sub: #94A3B8;
        }
        body {
            background-color: var(--bg-primary);
            color: var(--text-main);
            overflow-x: hidden;
            letter-spacing: 0.02em;
            font-family: 'PingFang SC', 'Hiragino Sans GB', 'Noto Sans SC', sans-serif;
        }
        .gold-border-glow {
            border: 1px solid var(--border-light);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .gold-border-glow:hover {
            border-color: rgba(212, 175, 55, 0.4);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px var(--accent-gold-glow);
            transform: translateY(-4px);
        }
        .article-body {
            font-size: 1.0625rem;
            line-height: 1.85;
            color: #CBD5E1;
        }
        .article-body p {
            margin-bottom: 1.75rem;
            text-align: justify;
        }
        .article-body h2 {
            font-size: 1.75rem;
            font-weight: 700;
            color: #F8FAFC;
            margin-top: 2.75rem;
            margin-bottom: 1.25rem;
            padding-bottom: 0.5rem;
            border-bottom: 1px solid rgba(212, 175, 55, 0.25);
            letter-spacing: 0.03em;
        }
        .article-body h3 {
            font-size: 1.35rem;
            font-weight: 600;
            color: #E2E8F0;
            margin-top: 2rem;
            margin-bottom: 1rem;
        }
        .article-body ul, .article-body ol {
            margin-bottom: 1.75rem;
            padding-left: 1.5rem;
        }
        .article-body li {
            margin-bottom: 0.5rem;
        }
        .article-body blockquote {
            margin: 2rem 0;
            padding: 1rem 1.5rem;
            background: rgba(212, 175, 55, 0.05);
            border-left: 4px solid var(--accent-gold);
            color: #E2E8F0;
            font-style: normal;
            border-radius: 0 8px 8px 0;
        }
        .article-body img {
            border-radius: 8px;
            margin: 2rem auto;
            max-width: 100%;
            height: auto;
            border: 1px solid var(--border-light);
        }
        #mobile-menu {
            transition: transform 0.3s ease-in-out;
        }
        #mobile-menu.hidden-menu {
            transform: translateX(100%);
        }
        #mobile-menu.visible-menu {
            transform: translateX(0);
        }

/* roulang page: category1 */
:root {
            --bg-primary: #0A0A0C;
            --bg-card: #121216;
            --accent-gold: #D4AF37;
            --accent-gold-glow: rgba(212, 175, 55, 0.25);
            --border-light: rgba(255, 255, 255, 0.08);
            --text-main: #F8FAFC;
            --text-sub: #94A3B8;
        }
        body {
            background-color: var(--bg-primary);
            color: var(--text-main);
            overflow-x: hidden;
            letter-spacing: 0.02em;
            font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;
        }
        .gold-border-glow {
            border: 1px solid var(--border-light);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .gold-border-glow:hover {
            border-color: rgba(212, 175, 55, 0.4);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px var(--accent-gold-glow);
            transform: translateY(-4px);
        }
        #mobile-menu {
            transition: transform 0.3s ease-in-out;
        }
        #mobile-menu.hidden-menu {
            transform: translateX(100%);
        }
        #mobile-menu.visible-menu {
            transform: translateX(0);
        }
        details summary::-webkit-details-marker {
            display: none;
        }
        details[open] summary svg {
            transform: rotate(180deg);
        }

/* roulang page: category2 */
:root {
            --bg-primary: #0A0A0C;
            --bg-card: #121216;
            --accent-gold: #D4AF37;
            --accent-gold-glow: rgba(212, 175, 55, 0.25);
            --border-light: rgba(255, 255, 255, 0.08);
            --text-main: #F8FAFC;
            --text-sub: #94A3B8;
        }
        body {
            background-color: var(--bg-primary);
            color: var(--text-main);
            overflow-x: hidden;
            letter-spacing: 0.02em;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", sans-serif;
        }
        .gold-border-glow {
            border: 1px solid var(--border-light);
            transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .gold-border-glow:hover {
            border-color: rgba(212, 175, 55, 0.4);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.8), 0 0 20px var(--accent-gold-glow);
            transform: translateY(-4px);
        }
        #mobile-menu {
            transition: transform 0.3s ease-in-out;
        }
        #mobile-menu.hidden-menu {
            transform: translateX(100%);
        }
        #mobile-menu.visible-menu {
            transform: translateX(0);
        }
