:root {
            --primary: #eab308;
            --accent: #f59e0b;
            --bg: #18181b;
            --text: #fafafa;
            --border-light: rgba(250,250,250,0.08);
            --card-bg: #212124;
            --radius: 8px;
            --shadow: 0 6px 18px rgba(0,0,0,0.2);
            --font-title: 'Inter', sans-serif; /* 因需思源宋体但CDN未包含, 用Inter模拟厚重感, 实际可用系统宋体 */
            --font-body: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
        }
        body {
            background: var(--bg);
            color: var(--text);
            font-family: var(--font-body);
            font-size: 0.95rem;
            line-height: 1.5;
        }
        h1,h2,h3,h4,h5 {
            font-family: 'Times New Roman', 'Songti SC', 'SimSun', serif; /* 思源宋体替代 */
            letter-spacing: 0.3px;
        }
        /* 导航 */
        .navbar-dm {
            background: rgba(24,24,27,0.9);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--border-light);
            padding: 0.7rem 0;
        }
        .navbar-dm .navbar-brand {
            font-weight: 800;
            color: var(--primary);
            font-size: 1.5rem;
            letter-spacing: -0.3px;
            display: flex;
            align-items: center;
        }
        .navbar-dm .navbar-brand i {
            margin-right: 8px;
            color: var(--accent);
        }
        .navbar-dm .nav-link {
            color: var(--text);
            margin: 0 0.8rem;
            font-size: 0.9rem;
            font-weight: 500;
            transition: color 0.2s;
        }
        .navbar-dm .nav-link:hover { color: var(--primary); }
        .navbar-toggler { border-color: var(--border-light); }
        .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23fafafa' stroke-width='2' linecap='round' linejoin='round' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

        /* 左侧侧栏 */
        .layout-wrap {
            display: flex;
            max-width: 1500px;
            margin: 0 auto;
            padding: 0 15px;
            gap: 20px;
            align-items: flex-start;
        }
        .sidebar-left {
            flex: 0 0 220px;
            position: sticky;
            top: 90px;
            margin-top: 30px;
            border-right: 1px solid var(--border-light);
            padding-right: 15px;
        }
        .sidebar-left ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .sidebar-left li { margin-bottom: 10px; }
        .sidebar-left a {
            color: #c5c5ca;
            text-decoration: none;
            display: block;
            padding: 8px 10px;
            border-radius: 8px;
            font-weight: 500;
            font-size: 0.9rem;
            transition: all 0.2s;
            border-left: 3px solid transparent;
        }
        .sidebar-left a i { margin-right: 8px; width: 18px; color: var(--accent); }
        .sidebar-left a:hover {
            background: rgba(234,179,8,0.1);
            color: var(--primary);
            border-left-color: var(--primary);
        }
        .main-col {
            flex: 1;
            min-width: 0;
        }

        /* hero视差 */
        .hero-parallax {
            position: relative;
            background-image: url('{随机图片}');
            background-size: cover;
            background-position: center 30%;
            background-attachment: fixed;
            min-height: 360px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 0 0 8px 8px;
            margin-top: 10px;
        }
        .hero-overlay {
            background: rgba(0,0,0,0.65);
            width: 100%;
            height: 100%;
            padding: 4rem 2rem;
            text-align: center;
            border-radius: inherit;
        }
        .hero-overlay h1 {
            font-size: 3rem;
            font-weight: 900;
            color: white;
            text-shadow: 0 4px 18px rgba(0,0,0,0.5);
        }
        .hero-overlay p {
            font-size: 1.1rem;
            color: #eee;
            max-width: 700px;
            margin: 1rem auto;
        }
        .btn-glow {
            background: linear-gradient(90deg, var(--primary), var(--accent));
            border: none;
            color: #18181b;
            font-weight: 700;
            padding: 10px 30px;
            border-radius: 50px;
            transition: all 0.3s;
            position: relative;
            overflow: hidden;
            background-size: 200% auto;
        }
        .btn-glow::after {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 60%; height: 100%;
            background: linear-gradient(100deg, transparent, rgba(255,255,255,0.4), transparent);
            transform: skewX(-20deg);
            transition: left 0.5s;
        }
        .btn-glow:hover::after {
            left: 120%;
        }
        .btn-glow:hover {
            background-position: right center;
            transform: scale(1.02);
        }

        /* 卡片瀑布 */
        .masonry-grid {
            columns: 3 320px;
            column-gap: 20px;
            margin-top: 20px;
        }
        .card-dm {
            break-inside: avoid;
            background: var(--card-bg);
            border-radius: var(--radius);
            margin-bottom: 20px;
            border: 1px solid var(--border-light);
            overflow: hidden;
            transition: 0.2s;
            box-shadow: 0 2px 10px rgba(0,0,0,0.15);
        }
        .card-dm:hover {
            box-shadow: 0 6px 18px rgba(0,0,0,0.4);
            border-color: rgba(234,179,8,0.3);
        }
        .card-img-wrapper {
            background: #2b2b2f;
            position: relative;
            min-height: 140px;
            overflow: hidden;
        }
        .card-img-wrapper img {
            width: 100%;
            height: auto;
            display: block;
            opacity: 0;
            transition: opacity 0.4s ease;
            background: linear-gradient(120deg, #242428 0%, #2b2b2f 50%, #242428 100%);
            background-size: 200% 100%;
        }
        .card-img-wrapper img.lazy-loaded {
            opacity: 1;
        }
        .card-body-dm {
            padding: 12px 14px 16px;
        }
        .card-body-dm h3 {
            font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 4px;
            color: #fff;
        }
        .meta-tag {
            font-size: 0.75rem;
            color: var(--primary);
            background: rgba(234,179,8,0.15);
            display: inline-block;
            padding: 2px 8px;
            border-radius: 30px;
            margin-right: 6px;
            margin-top: 6px;
        }
        .small-text {
            color: #a0a0a8;
            font-size: 0.8rem;
        }

        /* 区块 */
        .section-block {
            margin: 45px 0;
        }
        .section-title {
            font-size: 1.8rem;
            font-weight: 800;
            margin-bottom: 20px;
            border-left: 5px solid var(--primary);
            padding-left: 18px;
        }

        /* 特色卡片网格 */
        .feature-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 20px;
        }
        .feature-item {
            background: #1f1f23;
            border-radius: var(--radius);
            padding: 1.5rem 1.2rem;
            border: 1px solid var(--border-light);
            transition: 0.2s;
        }
        .feature-item:hover {
            border-color: var(--primary);
            transform: translateY(-3px);
        }
        .feature-item i {
            color: var(--primary);
            font-size: 1.8rem;
            margin-bottom: 10px;
        }

        /* 步骤条 */
        .steps-wrapper {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
            margin: 30px 0;
        }
        .step-item {
            flex: 1 1 180px;
            background: #1d1d21;
            border-radius: var(--radius);
            padding: 1.5rem 1rem;
            text-align: center;
            border-top: 3px solid var(--primary);
        }
        .step-num {
            font-size: 2rem;
            font-weight: 900;
            color: var(--primary);
        }

        /* FAQ折叠 */
        .accordion-dm .item {
            border-bottom: 1px solid var(--border-light);
            padding: 14px 0;
        }
        .accordion-dm .item summary {
            font-weight: 600;
            cursor: pointer;
            list-style: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .accordion-dm .item summary::-webkit-details-marker { display: none; }
        .accordion-dm .item[open] .fa-chevron-down {
            transform: rotate(180deg);
        }
        .fa-chevron-down {
            transition: transform 0.2s;
            color: var(--primary);
        }
        .accordion-dm p {
            margin-top: 12px;
            color: #c9c9cf;
            padding-left: 10px;
            border-left: 2px solid var(--primary);
        }

        /* 页脚友链 */
        .footer-links {
            border-top: 1px solid var(--border-light);
            margin-top: 60px;
            padding: 30px 0;
            font-size: 0.9rem;
        }
        .footer-links a {
            color: #b0b0b8;
            text-decoration: none;
            margin-right: 25px;
        }
        .footer-links a:hover { color: var(--primary); }
        .copyright {
            color: #6f6f76;
            border-top: 1px solid var(--border-light);
            padding-top: 20px;
            margin-top: 20px;
        }

        /* 图片懒加载占位 */
        .img-placeholder {
            background: #26262a;
            height: 180px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #3f3f46;
        }

        @media (max-width: 992px) {
            .sidebar-left { display: none; }
            .layout-wrap { flex-direction: column; }
        }

/* --- 子页面追加 --- */
/* 本页局部微调——确保与全局变量保持一致 */
        .about-hero { padding: 3.5rem 0 2rem; border-bottom: 1px solid var(--border-light); }
.about-hero h1 { font-family: var(--font-title); font-weight: 800; letter-spacing: -0.02em; }
.about-hero .lead { color: rgba(250,250,250,0.7); max-width: 720px; }
.section-title i { color: var(--primary); }
.about-quote { background: rgba(234,179,8,0.08); border-left: 4px solid var(--primary); padding: 1.5rem; border-radius: 0 var(--radius) var(--radius) 0; margin-top: 2rem; }
.about-quote p { font-style: italic; }
/* 确保 Bootstrap 组件不破坏深色风格 */
        .navbar-dm { background: var(--bg) !important; border-bottom: 1px solid var(--border-light); }
.navbar-dm .nav-link.active { color: var(--primary) !important; }
.navbar-dm .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(250, 250, 250, 0.8)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.navbar-dm .navbar-toggler { border-color: var(--border-light); }
/* 覆盖 bootstrap 可能引入的白底 */
        .navbar, .navbar-collapse { background: transparent !important; }
.container { max-width: 1200px; }
hr { border-color: var(--border-light); opacity: .4; }

/* --- 子页面追加 --- */
.rank-hero { background: linear-gradient(135deg, var(--bg) 0%, rgba(234,179,8,0.08) 100%); padding: 4rem 0 2rem; }
.rank-hero h1 { font-family: var(--font-title); font-weight: 800; color: var(--primary); }
.rank-hero .lead { color: var(--text); opacity: .85; }
.rank-section { padding: 2rem 0 4rem; }
.rank-tabs { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.rank-tab { background: var(--card-bg); border: 1px solid var(--border-light); color: var(--text); padding: .6rem 1.5rem; border-radius: var(--radius); font-size: .95rem; font-weight: 500; cursor: pointer; transition: all .3s; }
.rank-tab:hover, .rank-tab.active { background: var(--primary); color: var(--bg); border-color: var(--primary); }
.rank-card { background: var(--card-bg); border: 1px solid var(--border-light); border-radius: var(--radius); padding: 1.25rem 1.5rem; display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1rem; box-shadow: var(--shadow); transition: transform .3s, border-color .3s; }
.rank-card:hover { transform: translateX(6px); border-color: var(--primary); }
.rank-number { font-family: var(--font-title); font-size: 1.75rem; font-weight: 800; color: var(--primary); min-width: 3rem; text-align: center; }
.rank-number.top3 { font-size: 2.5rem; }
.rank-cover { width: 60px; height: 84px; border-radius: 6px; object-fit: cover; background: var(--bg); flex-shrink: 0; }
.rank-info { flex: 1; min-width: 0; }
.rank-title { font-weight: 700; font-size: 1.05rem; color: var(--text); margin-bottom: .35rem; display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.rank-title .badge { background: var(--primary); color: var(--bg); font-size: .7rem; padding: .25rem .6rem; border-radius: 4px; font-weight: 600; }
.rank-title .badge.hot { background: #ef4444; color: white; }
.rank-meta { display: flex; gap: 1.25rem; color: rgba(250,250,250,0.65); font-size: .82rem; flex-wrap: wrap; }
.rank-meta i { color: var(--primary); margin-right: .3rem; }
.rank-stats { text-align: right; flex-shrink: 0; display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; }
.rank-score { font-size: 1.4rem; font-weight: 700; color: var(--accent); }
.rank-score small { font-size: .8rem; color: rgba(250,250,250,0.5); }
.rank-trend { font-size: .8rem; color: #22c55e; display: flex; align-items: center; gap: .3rem; }
.rank-trend.down { color: #ef4444; }
.rank-note { background: rgba(234,179,8,0.06); border-left: 3px solid var(--primary); padding: 1rem 1.5rem; border-radius: 0 var(--radius) var(--radius) 0; margin: 2rem 0; color: var(--text); }
.rank-note strong { color: var(--primary); }
.top-podium { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 3rem; }
.podium-item { text-align: center; background: var(--card-bg); border: 1px solid var(--border-light); border-radius: var(--radius); padding: 2rem 1rem 1.5rem; position: relative; box-shadow: var(--shadow); }
.podium-item.first { border-color: var(--primary); transform: scale(1.02); }
.podium-medal { position: absolute; top: -18px; left: 50%; transform: translateX(-50%); font-size: 2rem; }
.podium-cover { width: 90px; height: 126px; border-radius: 8px; object-fit: cover; margin: .5rem auto 1rem; display: block; background: var(--bg); }
.podium-title { font-weight: 700; color: var(--text); font-size: 1rem; margin-bottom: .3rem; }
.podium-category { font-size: .8rem; color: rgba(250,250,250,0.6); margin-bottom: .5rem; }
.podium-score { font-size: 1.2rem; font-weight: 700; color: var(--accent); }
.top-podium { grid-template-columns: 1fr; gap: 2rem; }
.podium-item.first { order: -1; }
.rank-card { flex-wrap: wrap; }
.rank-stats { width: 100%; text-align: left; flex-direction: row; align-items: center; gap: 1rem; justify-content: flex-start; padding-left: 4.25rem; }

/* --- 子页面追加 --- */
/* 全部分类页专属样式 */
        .category-hero {
            padding: 60px 0 30px;
            position: relative;
        }
.category-hero h1 {
            font-size: 2.4rem;
            font-weight: 800;
            color: var(--text);
            margin-bottom: 12px;
            letter-spacing: -0.02em;
        }
.category-hero h1 .highlight {
            color: var(--primary);
        }
.category-hero p {
            color: rgba(250,250,250,0.7);
            font-size: 1.05rem;
            max-width: 720px;
            line-height: 1.7;
        }
.category-hero .badge-dm {
            display: inline-block;
            background: rgba(234,179,8,0.15);
            border: 1px solid rgba(234,179,8,0.3);
            color: var(--primary);
            padding: 4px 14px;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 500;
            margin-right: 8px;
            margin-bottom: 8px;
        }
.category-grid {
            padding: 20px 0 60px;
        }
.category-card {
            background: var(--card-bg);
            border: 1px solid var(--border-light);
            border-radius: var(--radius);
            padding: 28px 24px;
            height: 100%;
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
            position: relative;
            overflow: hidden;
        }
.category-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow);
            border-color: rgba(234,179,8,0.3);
        }
.category-card .cat-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.4rem;
            margin-bottom: 18px;
            background: rgba(234,179,8,0.12);
            color: var(--primary);
        }
.category-card .cat-icon.red { background: rgba(239,68,68,0.12); color: #ef4444; }
.category-card .cat-icon.blue { background: rgba(59,130,246,0.12); color: #3b82f6; }
.category-card .cat-icon.purple { background: rgba(168,85,247,0.12); color: #a855f7; }
.category-card .cat-icon.green { background: rgba(34,197,94,0.12); color: #22c55e; }
.category-card .cat-icon.orange { background: rgba(249,115,22,0.12); color: #f97316; }
.category-card .cat-icon.pink { background: rgba(236,72,153,0.12); color: #ec4899; }
.category-card .cat-icon.teal { background: rgba(20,184,166,0.12); color: #14b8a6; }
.category-card .cat-icon.cyan { background: rgba(6,182,212,0.12); color: #06b6d4; }
.category-card h3 {
            font-size: 1.15rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 10px;
            letter-spacing: -0.01em;
        }
.category-card p {
            color: rgba(250,250,250,0.65);
            font-size: 0.9rem;
            line-height: 1.65;
            margin-bottom: 16px;
        }
.category-card .cat-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
        }
.category-card .cat-tags span {
            font-size: 0.75rem;
            padding: 3px 10px;
            border-radius: 4px;
            background: rgba(250,250,250,0.06);
            border: 1px solid var(--border-light);
            color: rgba(250,250,250,0.7);
        }
.category-card .cat-count {
            position: absolute;
            top: 20px;
            right: 20px;
            font-size: 0.75rem;
            color: rgba(250,250,250,0.4);
            font-weight: 500;
        }
.category-card .cat-link {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            color: var(--primary);
            font-size: 0.85rem;
            font-weight: 600;
            text-decoration: none;
            margin-top: 4px;
            transition: gap 0.2s ease;
        }
.category-card .cat-link:hover {
            gap: 10px;
            color: var(--accent);
        }
.category-note {
            padding: 40px 0 60px;
        }
.category-note .note-box {
            background: var(--card-bg);
            border: 1px solid var(--border-light);
            border-radius: var(--radius);
            padding: 32px;
        }
.category-note h2 {
            font-size: 1.4rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 16px;
        }
.category-note h2 i {
            color: var(--primary);
            margin-right: 8px;
        }
.category-note p {
            color: rgba(250,250,250,0.7);
            line-height: 1.8;
            font-size: 0.95rem;
            margin-bottom: 12px;
        }
.category-note .note-points {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 16px;
            margin-top: 24px;
        }
.category-note .note-point {
            background: rgba(250,250,250,0.03);
            border: 1px solid var(--border-light);
            border-radius: var(--radius);
            padding: 18px;
        }
.category-note .note-point i {
            color: var(--primary);
            font-size: 1.2rem;
            margin-bottom: 10px;
            display: block;
        }
.category-note .note-point h4 {
            font-size: 0.95rem;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 6px;
        }
.category-note .note-point p {
            font-size: 0.85rem;
            color: rgba(250,250,250,0.6);
            margin-bottom: 0;
            line-height: 1.6;
        }
.category-hero h1 {
                font-size: 1.8rem;
            }
.category-card {
                padding: 22px 18px;
            }

/* --- 子页面追加 --- */
/* 本页专属微调样式 */
        .privacy-content h2 {
            margin-top: 2.2rem;
            margin-bottom: 1.2rem;
            font-weight: 700;
            color: var(--text);
            font-size: 1.5rem;
        }
.privacy-content h3 {
            margin-top: 1.5rem;
            margin-bottom: 0.8rem;
            font-weight: 600;
            color: var(--text);
            font-size: 1.2rem;
        }
.privacy-content p {
            line-height: 1.8;
            color: rgba(250,250,250,0.85);
            margin-bottom: 1rem;
        }
.privacy-content ul {
            color: rgba(250,250,250,0.85);
            padding-left: 1.2rem;
            line-height: 1.8;
            margin-bottom: 1.2rem;
        }
.privacy-content li {
            margin-bottom: 0.4rem;
        }
.privacy-box {
            background: var(--card-bg);
            border: 1px solid var(--border-light);
            border-radius: var(--radius);
            padding: 1.5rem;
            margin-bottom: 1.5rem;
            box-shadow: var(--shadow);
        }
.privacy-highlight {
            border-left: 4px solid var(--primary);
            background: rgba(234,179,8,0.06);
            padding: 1rem 1.2rem;
            border-radius: 0 var(--radius) var(--radius) 0;
            margin-bottom: 1.5rem;
        }
.privacy-highlight p {
            margin-bottom: 0;
        }
.update-time {
            font-size: 0.85rem;
            color: rgba(250,250,250,0.5);
            margin-bottom: 2rem;
        }
.privacy-nav-list {
            background: var(--card-bg);
            border-radius: var(--radius);
            padding: 1.2rem 1.5rem;
            border: 1px solid var(--border-light);
            margin-bottom: 2rem;
        }
.privacy-nav-list a {
            color: var(--primary);
            text-decoration: none;
        }
.privacy-nav-list a:hover {
            color: var(--accent);
        }
.privacy-nav-list li {
            margin-bottom: 0.3rem;
        }

/* --- 子页面追加 --- */
/* 本页专属微调 */
        .disclaimer-hero {
            padding: 80px 0 40px;
            position: relative;
        }
.disclaimer-hero h1 {
            font-size: 2.4rem;
            font-weight: 800;
            margin-bottom: 12px;
            color: var(--primary);
        }
.disclaimer-hero p {
            color: rgba(250,250,250,.7);
            max-width: 720px;
        }
.disclaimer-body {
            padding-bottom: 60px;
        }
.disclaimer-block {
            background: var(--card-bg);
            border: 1px solid var(--border-light);
            border-radius: var(--radius);
            padding: 28px 30px;
            margin-bottom: 24px;
            box-shadow: var(--shadow);
        }
.disclaimer-block h2 {
            font-size: 1.35rem;
            font-weight: 700;
            color: var(--primary);
            margin-bottom: 14px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
.disclaimer-block h2 i {
            font-size: 1.1rem;
            opacity: .8;
        }
.disclaimer-block p,
        .disclaimer-block li {
            color: rgba(250,250,250,.82);
            line-height: 1.75;
            font-size: 0.95rem;
        }
.disclaimer-block ul {
            padding-left: 20px;
            margin-top: 8px;
        }
.disclaimer-block li {
            margin-bottom: 6px;
        }
.highlight-yellow {
            color: var(--primary);
            font-weight: 600;
        }
.last-updated {
            color: rgba(250,250,250,.5);
            font-size: 0.85rem;
            margin-top: 6px;
        }