:root {
            --primary: #2563eb;
            --accent: #06b6d4;
            --bg: #f4f8ff;
            --text: #0f1e3d;
            --card-bg: #ffffff;
            --shadow-heavy: 0 10px 25px rgba(0,0,0,0.15), 0 5px 10px rgba(0,0,0,0.1);
            --shadow-light: 0 4px 10px rgba(0,0,0,0.08);
            --title-font: 'Noto Serif SC', 'Source Han Serif SC', 'Songti SC', serif;
            --body-font: 'Noto Sans SC', 'Source Han Sans SC', 'Microsoft YaHei', sans-serif;
        }
        body {
            background-color: var(--bg);
            color: var(--text);
            font-family: var(--body-font);
            font-size: 0.95rem;
            line-height: 1.6;
        }
        h1, h2, h3, h4, .navbar-brand, .serif-title {
            font-family: var(--title-font);
            font-weight: 700;
        }
        .text-primary-custom { color: var(--primary); }
        .text-accent-custom { color: var(--accent); }
        
        /* 拟物厚重风 */
        .card, .list-group-item, .side-panel {
            background: var(--card-bg);
            box-shadow: var(--shadow-heavy);
            border: none;
            border-radius: 0.75rem;
        }
        .badge-cat {
            background: linear-gradient(145deg, #ffffff, #e0e9ff);
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.05), 0 4px 8px rgba(0,0,0,0.08);
            color: var(--text);
            padding: 0.5rem 1rem;
            border-radius: 50rem;
            font-weight: 600;
            font-size: 0.9rem;
            transition: all 0.2s;
            cursor: pointer;
        }
        .badge-cat i { color: var(--primary); margin-right: 4px; }
        .badge-cat:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 15px rgba(37,99,235,0.2);
        }
        .poster-card {
            transition: transform 0.2s, box-shadow 0.2s;
            background: #fff;
            border-radius: 0.8rem;
            overflow: hidden;
            box-shadow: var(--shadow-light);
            height: 100%;
        }
        .poster-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-heavy);
        }
        .poster-card img {
            width: 100%;
            aspect-ratio: 2 / 3;
            object-fit: cover;
            background: #ddd;
        }
        .poster-card .card-body {
            padding: 0.7rem;
        }
        .poster-card .card-title {
            font-size: 0.95rem;
            font-weight: 700;
            margin-bottom: 0.2rem;
        }
        .poster-card .card-text {
            font-size: 0.8rem;
            color: #4a5568;
        }
        .ranking-badge {
            background: linear-gradient(145deg, #ffd700, #ffb347);
            color: #0f1e3d;
            font-weight: 800;
            width: 30px;
            height: 30px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 3px 6px rgba(0,0,0,0.2);
        }
        .ranking-badge.silver { background: linear-gradient(145deg, #c0c0c0, #a0a0a0); }
        .ranking-badge.bronze { background: linear-gradient(145deg, #cd7f32, #b87333); }
        
        /* 视差背景 */
        .hero-section {
            background: linear-gradient(135deg, #dbeafe, #e0f2fe);
            position: relative;
            overflow: hidden;
            padding: 4rem 0 3rem;
            box-shadow: inset 0 -20px 30px -20px rgba(0,0,0,0.2);
        }
        .hero-section::before {
            content: '';
            position: absolute;
            top: -30%;
            left: -10%;
            width: 120%;
            height: 120%;
            background-image: radial-gradient(circle at 30% 40%, rgba(37,99,235,0.15) 0%, transparent 40%),
                              radial-gradient(circle at 70% 80%, rgba(6,182,212,0.2) 0%, transparent 50%);
            background-size: 50% 50%;
            background-repeat: no-repeat;
            will-change: transform;
            transform: translateY(0);
        }
        .hero-stats {
            display: flex;
            gap: 2rem;
            justify-content: center;
            font-family: var(--title-font);
        }
        .hero-stats .stat-num {
            font-size: 3.5rem;
            font-weight: 900;
            color: var(--primary);
            text-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        /* 光泽按钮 */
        .btn-shine {
            position: relative;
            overflow: hidden;
            background: linear-gradient(90deg, var(--primary), var(--accent));
            border: none;
            box-shadow: 0 4px 15px rgba(37,99,235,0.4);
            color: white;
        }
        .btn-shine::after {
            content: '';
            position: absolute;
            top: 0;
            left: -150%;
            width: 100%;
            height: 100%;
            background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
            transform: skewX(-20deg);
            animation: shine 3s infinite;
        }
        @keyframes shine {
            0% { left: -150%; }
            50% { left: 150%; }
            100% { left: 150%; }
        }
        /* 滚动淡入 */
        .fade-up {
            opacity: 0;
            transform: translateY(20px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }
        .fade-up.active {
            opacity: 1;
            transform: translateY(0);
        }
        /* 侧边弹窗 */
        .detail-sidebar {
            position: fixed;
            top: 0;
            right: -420px;
            width: 380px;
            height: 100%;
            background: white;
            box-shadow: -5px 0 20px rgba(0,0,0,0.3);
            transition: right 0.4s ease;
            z-index: 1050;
            overflow-y: auto;
            padding: 1.5rem;
        }
        .detail-sidebar.open { right: 0; }
        .detail-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.5);
            z-index: 1049;
            display: none;
        }
        .detail-overlay.show { display: block; }
        /* 时间线 */
        .timeline {
            border-left: 3px solid var(--primary);
            margin-left: 1rem;
            padding-left: 1.5rem;
        }
        .timeline-item {
            position: relative;
            margin-bottom: 1.2rem;
        }
        .timeline-item::before {
            content: '';
            position: absolute;
            left: -1.85rem;
            top: 0.5rem;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--accent);
            border: 2px solid white;
            box-shadow: 0 0 0 2px var(--primary);
        }
        /* 分类胶囊 */
        .cat-pills .badge-cat { margin: 0.2rem 0.3rem; }
        /* 紧凑排版 */
        .section-padding { padding: 3rem 0; }
        .heading-wrap { margin-bottom: 1.8rem; }
        .heading-wrap h2 { font-size: 1.8rem; font-weight: 800; }
        .heading-wrap h2 i { color: var(--primary); }
        footer {
            background: #0b1b3a;
            color: #b0c4de;
            padding: 2.5rem 0 1rem;
        }
        footer a { color: #cbd5e1; text-decoration: none; }
        footer a:hover { color: white; }
        .friend-links {
            background: #f0f4ff;
            padding: 1rem;
            border-radius: 1rem;
            box-shadow: inset 0 2px 5px rgba(0,0,0,0.05);
        }

/* --- 子页面追加 --- */
/* 页面专属样式 */
        .about-hero {
            background: linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(6, 182, 212, 0.05) 100%);
            padding: 4rem 0 3rem;
            border-bottom: 1px solid rgba(37, 99, 235, 0.1);
        }
.about-hero h1 {
            font-family: var(--title-font);
            font-weight: 900;
            color: var(--text);
            font-size: 2.5rem;
            line-height: 1.3;
            margin-bottom: 1rem;
        }
.about-hero h1 .highlight {
            color: var(--primary);
        }
.about-hero .lead {
            color: #4a5a7a;
            font-size: 1.1rem;
            max-width: 720px;
            margin: 0 auto 2rem;
        }
.about-card {
            background: var(--card-bg);
            border-radius: 16px;
            padding: 2.5rem;
            box-shadow: var(--shadow-light);
            margin-bottom: 2rem;
            border: 1px solid rgba(37, 99, 235, 0.06);
            transition: box-shadow 0.3s ease;
        }
.about-card:hover {
            box-shadow: var(--shadow-heavy);
        }
.about-card h2 {
            font-family: var(--title-font);
            font-weight: 800;
            color: var(--text);
            font-size: 1.6rem;
            margin-bottom: 1.2rem;
            position: relative;
            padding-bottom: 0.75rem;
        }
.about-card h2::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 48px;
            height: 3px;
            background: linear-gradient(90deg, var(--primary), var(--accent));
            border-radius: 4px;
        }
.about-card h2 i {
            color: var(--primary);
            margin-right: 0.5rem;
            font-size: 1.4rem;
        }
.about-card p, .about-card li {
            color: #3a4a6a;
            line-height: 1.8;
            font-size: 1rem;
        }
.about-card ul {
            padding-left: 1.2rem;
            margin-bottom: 1rem;
        }
.about-card li {
            margin-bottom: 0.5rem;
            position: relative;
        }
.feature-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 1.5rem;
            margin-top: 1.5rem;
        }
.feature-item {
            background: rgba(37, 99, 235, 0.04);
            border: 1px solid rgba(37, 99, 235, 0.08);
            border-radius: 12px;
            padding: 1.5rem;
            text-align: center;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
.feature-item:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-light);
        }
.feature-item i {
            font-size: 2rem;
            color: var(--primary);
            margin-bottom: 1rem;
        }
.feature-item h4 {
            font-family: var(--title-font);
            font-weight: 700;
            color: var(--text);
            font-size: 1.1rem;
            margin-bottom: 0.5rem;
        }
.feature-item p {
            font-size: 0.9rem;
            color: #5a6a8a;
            margin-bottom: 0;
        }
.timeline-custom {
            position: relative;
            padding-left: 2rem;
            margin-top: 1.5rem;
        }
.timeline-custom::before {
            content: '';
            position: absolute;
            left: 8px;
            top: 0;
            bottom: 0;
            width: 2px;
            background: linear-gradient(180deg, var(--primary), var(--accent));
            border-radius: 2px;
        }
.timeline-custom .timeline-item {
            position: relative;
            margin-bottom: 1.5rem;
            padding-left: 1.5rem;
        }
.timeline-custom .timeline-item::before {
            content: '';
            position: absolute;
            left: -1.35rem;
            top: 6px;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--primary);
            border: 2px solid #fff;
            box-shadow: 0 0 0 2px var(--primary);
        }
.timeline-custom .timeline-item h5 {
            font-family: var(--title-font);
            font-weight: 700;
            color: var(--text);
            margin-bottom: 0.35rem;
            font-size: 1.05rem;
        }
.timeline-custom .timeline-item .timeline-date {
            font-size: 0.85rem;
            color: var(--primary);
            font-weight: 600;
            margin-bottom: 0.35rem;
        }
.timeline-custom .timeline-item p {
            font-size: 0.95rem;
            color: #4a5a7a;
            margin-bottom: 0;
        }
.value-list {
            list-style: none;
            padding-left: 0;
        }
.value-list li {
            display: flex;
            align-items: flex-start;
            gap: 0.75rem;
            margin-bottom: 1rem;
            padding: 1rem;
            background: rgba(6, 182, 212, 0.04);
            border-radius: 10px;
            border-left: 3px solid var(--accent);
        }
.value-list li i {
            color: var(--accent);
            font-size: 1.2rem;
            margin-top: 0.2rem;
            flex-shrink: 0;
        }
.value-list li strong {
            color: var(--text);
            font-weight: 600;
            display: block;
            margin-bottom: 0.25rem;
        }
.value-list li span {
            color: #4a5a7a;
            font-size: 0.95rem;
            line-height: 1.6;
        }
.contact-box {
            background: linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(6, 182, 212, 0.06));
            border-radius: 12px;
            padding: 1.5rem;
            margin-top: 1rem;
            border: 1px solid rgba(37, 99, 235, 0.1);
        }
.contact-box i {
            color: var(--primary);
            margin-right: 0.5rem;
        }
.about-hero {
                padding: 2.5rem 0 2rem;
            }
.about-hero h1 {
                font-size: 1.8rem;
            }
.about-card {
                padding: 1.5rem;
            }
.feature-grid {
                grid-template-columns: 1fr;
            }

/* --- 子页面追加 --- */
/* 确保覆盖 Bootstrap 默认白底 */
        .card, .card-body, .card-title, .card-text, .list-group-item {
            background: var(--card-bg);
            color: var(--text);
            border-color: rgba(0,0,0,0.08);
        }
.card {
            box-shadow: var(--shadow-light);
            border-radius: 1rem;
        }
.disclaimer-icon {
            color: var(--primary);
            margin-right: 10px;
        }
.section-rule {
            border-left: 4px solid var(--accent);
            padding-left: 1.25rem;
        }
.text-muted-soft {
            color: rgba(15,30,61,0.7);
        }
/* 让导航高亮当前页 */
        .navbar-nav .nav-link.active-disclaimer {
            color: var(--primary) !important;
            font-weight: 600;
            border-bottom: 2px solid var(--accent);
        }
/* 页面标题微调 */
        .page-hero {
            background: linear-gradient(145deg, var(--bg) 0%, #eef2ff 100%);
            border-bottom: 1px solid rgba(0,0,0,0.05);
            padding: 3rem 0 1.8rem;
        }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.accordion-item { background:rgba(0,0,0,.03) !important; color:#0f1e3d !important; border-color:rgba(0,0,0,.12) !important; }
.accordion-button { background:rgba(0,0,0,.03) !important; color:#0f1e3d !important; }
.accordion-body { background:transparent !important; color:#0f1e3d !important; }
.accordion-header { background:transparent !important; }
