/* roulang page: index */
:root {
            --brand-gradient: linear-gradient(135deg, #4F46E5 0%, #06B6D4 100%);
            --card-bg: #111827;
            --page-bg: #090D16;
        }
        body {
            background-color: var(--page-bg);
            color: #F3F4F6;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .text-gradient {
            background: linear-gradient(135deg, #818CF8 0%, #22D3EE 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .btn-gradient {
            background: var(--brand-gradient);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-gradient:hover {
            box-shadow: 0 0 25px rgba(79, 70, 229, 0.6);
            transform: translateY(-2px);
        }
        .glass-card {
            background-color: #111827;
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
        }
        .glass-card:hover {
            border-color: rgba(99, 102, 241, 0.4);
        }
        .custom-scrollbar::-webkit-scrollbar {
            height: 6px;
            width: 6px;
        }
        .custom-scrollbar::-webkit-scrollbar-thumb {
            background: #374151;
            border-radius: 9999px;
        }

/* roulang page: article */
:root {
            --brand-gradient: linear-gradient(135deg, #4F46E5 0%, #06B6D4 100%);
            --card-bg: #111827;
            --page-bg: #090D16;
        }
        body {
            background-color: var(--page-bg);
            color: #F3F4F6;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .text-gradient {
            background: linear-gradient(135deg, #818CF8 0%, #22D3EE 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .btn-gradient {
            background: var(--brand-gradient);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-gradient:hover {
            box-shadow: 0 0 25px rgba(79, 70, 229, 0.6);
            transform: translateY(-2px);
        }
        .glass-card {
            background-color: #111827;
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
        }
        .glass-card:hover {
            border-color: rgba(99, 102, 241, 0.4);
        }
        /* 针对 CMS 正文与 Markdown 排版增强 */
        .article-body h2 {
            font-size: 1.5rem;
            font-weight: 700;
            color: #FFFFFF;
            margin-top: 2rem;
            margin-bottom: 1rem;
            padding-left: 0.85rem;
            border-left: 4px solid #06B6D4;
            line-height: 1.4;
        }
        .article-body h3 {
            font-size: 1.25rem;
            font-weight: 600;
            color: #E2E8F0;
            margin-top: 1.5rem;
            margin-bottom: 0.75rem;
        }
        .article-body p {
            line-height: 1.85;
            color: #CBD5E1;
            margin-bottom: 1.25rem;
            font-size: 1.05rem;
        }
        .article-body strong {
            color: #38BDF8;
            font-weight: 600;
        }
        .article-body ul, .article-body ol {
            margin-bottom: 1.25rem;
            padding-left: 1.5rem;
            color: #CBD5E1;
        }
        .article-body li {
            margin-bottom: 0.5rem;
            line-height: 1.7;
        }
        .article-body blockquote {
            margin: 1.5rem 0;
            padding: 1rem 1.25rem;
            background: rgba(15, 23, 42, 0.7);
            border-left: 4px solid #4F46E5;
            border-radius: 0 0.75rem 0.75rem 0;
            color: #94A3B8;
            font-style: italic;
        }
        .article-body img {
            max-width: 100%;
            height: auto;
            border-radius: 1rem;
            margin: 1.5rem auto;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

/* roulang page: category1 */
:root {
            --brand-gradient: linear-gradient(135deg, #4F46E5 0%, #06B6D4 100%);
            --card-bg: #111827;
            --page-bg: #090D16;
        }
        body {
            background-color: var(--page-bg);
            color: #F3F4F6;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .text-gradient {
            background: linear-gradient(135deg, #818CF8 0%, #22D3EE 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .btn-gradient {
            background: var(--brand-gradient);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-gradient:hover {
            box-shadow: 0 0 25px rgba(79, 70, 229, 0.6);
            transform: translateY(-2px);
        }
        .glass-card {
            background-color: #111827;
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
        }
        .glass-card:hover {
            border-color: rgba(99, 102, 241, 0.4);
        }

/* roulang page: category2 */
:root {
            --brand-gradient: linear-gradient(135deg, #4F46E5 0%, #06B6D4 100%);
            --card-bg: #111827;
            --page-bg: #090D16;
        }
        body {
            background-color: var(--page-bg);
            color: #F3F4F6;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
            overflow-x: hidden;
        }
        .text-gradient {
            background: linear-gradient(135deg, #818CF8 0%, #22D3EE 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .btn-gradient {
            background: var(--brand-gradient);
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        }
        .btn-gradient:hover {
            box-shadow: 0 0 25px rgba(79, 70, 229, 0.6);
            transform: translateY(-2px);
        }
        .glass-card {
            background-color: #111827;
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
            transition: all 0.3s ease;
        }
        .glass-card:hover {
            border-color: rgba(99, 102, 241, 0.4);
            transform: translateY(-3px);
        }
        .node-active {
            border-color: #06B6D4 !important;
            box-shadow: 0 0 20px rgba(6, 182, 212, 0.25) !important;
        }
        .rank-gold {
            background: linear-gradient(135deg, #F59E0B 0%, #D97706 100%);
        }
        .rank-silver {
            background: linear-gradient(135deg, #94A3B8 0%, #64748B 100%);
        }
        .rank-bronze {
            background: linear-gradient(135deg, #D97706 0%, #92400E 100%);
        }
        details summary::-webkit-details-marker {
            display: none;
        }
        .filter-btn.active {
            background: linear-gradient(135deg, #4F46E5 0%, #06B6D4 100%);
            color: #ffffff;
            border-color: transparent;
        }
