:root {
            --primary: #dc2626;
            --accent: #fb923c;
            --bg: #141013;
            --text: #fef2f2;
            --card-bg: #221b1f;
            --border-light: #3d2e33;
            --shadow: 0 6px 18px rgba(0,0,0,0.5);
            --radius: 8px;
        }
        * { scroll-behavior: smooth; }
        body {
            background-color: var(--bg);
            color: var(--text);
            font-family: 'Inter', '思源黑体', system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
            letter-spacing: 0.2px;
        }
        h1,h2,h3,h4,h5,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6 {
            font-family: '思源宋体', 'Songti SC', 'Noto Serif SC', serif;
            font-weight: 700;
        }
        .navbar-brand, .footer-brand {
            font-family: '思源宋体', serif;
            font-weight: 900;
            letter-spacing: 1px;
        }
        /* 滚动进度条 */
        #progressBar {
            position: fixed; top: 0; left: 0; height: 4px; width: 0%;
            background: linear-gradient(90deg, var(--primary), var(--accent));
            z-index: 9999; transition: width 0.1s ease;
        }
        /* 卡片与图片 */
        .movie-card {
            background: var(--card-bg);
            border-radius: var(--radius);
            border: 1px solid var(--border-light);
            box-shadow: var(--shadow);
            transition: transform .25s, box-shadow .25s;
            overflow: hidden;
            cursor: pointer;
        }
        .movie-card:hover { transform: translateY(-6px); box-shadow: 0 12px 26px rgba(220,38,38,0.2); }
        .poster-wrap {
            position: relative; aspect-ratio: 2/3; background: #221b1f; overflow: hidden;
        }
        .poster-wrap img {
            width: 100%; height: 100%; object-fit: cover; opacity: 0;
            transition: opacity .4s ease, transform .3s;
            background: linear-gradient(145deg, #2a1f23, #1a1418);
        }
        .poster-wrap img.lazy-loaded { opacity: 1; }
        .movie-card:hover img { transform: scale(1.03); }
        .badge-tag {
            background: rgba(220,38,38,0.2); color: var(--accent); border: 1px solid var(--primary);
            font-size: 0.7rem; padding: 0.2rem 0.6rem; border-radius: 50rem; backdrop-filter: blur(2px);
        }
        .rank-badge {
            width: 28px; height: 28px; border-radius: 50%;
            display: inline-flex; align-items: center; justify-content: center;
            font-weight: 800; font-size: 0.9rem;
        }
        .rank-gold { background: #eab308; color: #1a1a1a; }
        .rank-silver { background: #a3a3a3; color: #111; }
        .rank-bronze { background: #b45309; color: #fff; }
        .rank-normal { background: #3d2e33; color: #fef2f2; }
        /* 分类胶囊 */
        .cat-pill {
            background: #2a1f23; border: 1px solid var(--border-light);
            color: var(--text); padding: 0.3rem 0.9rem; border-radius: 50rem;
            font-size: 0.8rem; font-weight: 500; transition: all .2s;
        }
        .cat-pill:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
        /* 时间线 */
        .timeline-item { position: relative; padding-left: 1.8rem; margin-bottom: 1.2rem; }
        .timeline-item::before {
            content: ""; position: absolute; left: 5px; top: 10px; width: 10px; height: 10px;
            border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 3px rgba(220,38,38,0.2);
        }
        /* 底部抽屉弹窗 */
        .drawer-overlay {
            position: fixed; inset: 0; background: rgba(0,0,0,0.65); z-index: 1040;
            display: none; opacity: 0; transition: opacity .3s;
        }
        .drawer-panel {
            position: fixed; left: 0; right: 0; bottom: 0; background: #221b1f;
            border-top-left-radius: 20px; border-top-right-radius: 20px; padding: 1.5rem 1.8rem 2rem;
            z-index: 1050; transform: translateY(110%); transition: transform .35s cubic-bezier(.2,.8,.2,1);
            box-shadow: 0 -10px 40px rgba(0,0,0,0.6); max-height: 70vh; overflow-y: auto;
        }
        .drawer-panel.show { transform: translateY(0); }
        .drawer-overlay.show { display: block; opacity: 1; }
        .btn-close-drawer {
            background: transparent; border: none; color: var(--text); font-size: 1.8rem; line-height: 1;
        }
        /* 打字机动画 */
        .typewriter {
            display: inline-block; overflow: hidden; white-space: nowrap; border-right: 3px solid var(--accent);
            animation: typing 2.8s steps(40,end) 0.3s both, blink-caret .75s step-end infinite;
            max-width: 100%;
        }
        @keyframes typing { from { width: 0 } to { width: 100% } }
        @keyframes blink-caret { 50% { border-color: transparent } }
        /* 按钮光泽 */
        .btn-sheen {
            position: relative; overflow: hidden; background: linear-gradient(90deg, var(--primary), var(--accent));
            border: none; color: #fff; font-weight: 600;
        }
        .btn-sheen::after {
            content: ""; position: absolute; top: 0; left: -150%; width: 60%; height: 100%;
            background: linear-gradient(120deg, transparent, rgba(255,255,255,0.4), transparent);
            transform: skewX(-20deg); animation: sheenFlow 3s infinite;
        }
        @keyframes sheenFlow { 0% { left: -150%; } 50% { left: 150%; } 100% { left: 150%; } }
        /* 横滑区域 */
        .hscroll { display: flex; gap: 1rem; overflow-x: auto; padding-bottom: 0.75rem; scroll-snap-type: x mandatory; }
        .hscroll > .movie-card { flex: 0 0 160px; scroll-snap-align: start; }
        .section-title {
            font-size: 1.9rem; font-weight: 800; border-left: 6px solid var(--primary); padding-left: 1rem;
            margin-bottom: 1.5rem; letter-spacing: -0.5px;
        }
        .footer-link a { color: var(--accent); text-decoration: none; }
        .footer-link a:hover { color: var(--primary); }
        /* 图片懒加载占位 */
        .poster-wrap img { background: #2a1f23; }
        /* 滚动条美化 */
        .hscroll::-webkit-scrollbar { height: 6px; background: #2a1f23; }
        .hscroll::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 6px; }

/* --- 子页面追加 --- */
/* 确保Bootstrap组件被覆盖为本站深色风格 */
        .card, .card-body, .card-header, .card-footer {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border-light);
        }
.list-group-item {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border-light);
        }
.accordion-item, .accordion-button {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border-light);
        }
.accordion-button:not(.collapsed) {
            background: rgba(220, 38, 38, 0.15);
            color: var(--text);
        }
.form-control, .form-select {
            background: rgba(0,0,0,0.35);
            color: var(--text);
            border-color: var(--border-light);
        }
.form-control::placeholder {
            color: rgba(255,255,255,0.45);
        }
/* 导航高亮当前页 */
        .navbar-nav .nav-link.active {
            color: var(--accent) !important;
            font-weight: 600;
        }
/* 页内小标题icon与品牌色点缀 */
        .about-section-title i {
            color: var(--accent);
            margin-right: 0.5rem;
        }
.about-section-title {
            border-left: 4px solid var(--primary);
            padding-left: 1rem;
            margin: 2.5rem 0 1.2rem 0;
            font-weight: 700;
            letter-spacing: -0.01em;
        }
/* 品牌名连续强调 */
        .brand-inline {
            color: var(--accent);
            font-weight: 700;
            white-space: nowrap;
        }
/* 特色卡微调 */
        .feature-card {
            background: var(--card-bg);
            border: 1px solid var(--border-light);
            border-radius: var(--radius);
            padding: 1.5rem 1.2rem;
            height: 100%;
            transition: transform 0.2s, box-shadow 0.2s;
        }
.feature-card:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow);
        }
.feature-card i {
            color: var(--primary);
            font-size: 2rem;
            margin-bottom: 0.8rem;
        }
.feature-card h3 {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 0.6rem;
        }
.feature-card p {
            color: rgba(254,242,242,0.75);
            font-size: 0.95rem;
            line-height: 1.6;
            margin-bottom: 0;
        }
/* 理念时间线条 */
        .timeline-item {
            border-left: 2px solid var(--primary);
            padding-left: 1.5rem;
            margin-bottom: 1.8rem;
            position: relative;
        }
.timeline-item h4 {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 0.3rem;
        }
.timeline-item p {
            color: rgba(254,242,242,0.7);
            font-size: 0.95rem;
            margin-bottom: 0.2rem;
        }

/* --- 子页面追加 --- */
/* 确保Bootstrap组件配色与站点一致 */
        .accordion-item, .accordion-button, .accordion-body,
        .card, .card-body, .card-header, .card-footer,
        .list-group-item, .form-control, .form-select {
            background-color: var(--card-bg) !important;
            color: var(--text) !important;
            border-color: var(--border-light) !important;
        }
.accordion-button::after {
            filter: invert(1) hue-rotate(180deg);
        }
.accordion-button:focus {
            box-shadow: 0 0 0 0.25rem rgba(220, 38, 38, 0.2);
        }
/* 轻微调整 */
        .faq-hero {
            background: radial-gradient(circle at 20% 30%, rgba(220,38,38,0.15), transparent 60%);
        }
.search-box {
            max-width: 560px;
        }
.faq-cat-pill {
            background: rgba(220,38,38,0.12);
            border: 1px solid var(--border-light);
            color: var(--text);
            padding: 0.4rem 1rem;
            border-radius: 30px;
            font-size: 0.85rem;
            transition: 0.2s;
        }
.faq-cat-pill:hover {
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
        }
.faq-cat-pill.active {
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
        }
.accordion-item {
            border-radius: var(--radius) !important;
            margin-bottom: 1rem;
            overflow: hidden;
            box-shadow: var(--shadow);
            border: 1px solid var(--border-light) !important;
        }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.input-group-text { background:rgba(255,255,255,.04) !important; color:#fef2f2 !important; border-color:rgba(255,255,255,.12) !important; }
.accordion-header { background:transparent !important; }
