:root {
            --primary: #6d5dfc;
            --accent: #22d3ee;
            --bg-dark: #0f1020;
            --text-light: #e8eaf6;
            --card-radius: 20px;
            --shadow-soft: 0 8px 30px rgba(109, 93, 252, 0.12);
            --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
        }

        * { font-family: var(--font-sans); }
        body {
            background-color: var(--bg-dark);
            color: var(--text-light);
            line-height: 1.6;
        }

        /* 导航栏 */
        .custom-navbar {
            background: rgba(15, 16, 32, 0.85);
            backdrop-filter: blur(12px);
            border-bottom: 1px solid rgba(255,255,255,0.05);
            padding: 12px 0;
            transition: all .3s;
        }
        .navbar-brand {
            font-weight: 900;
            font-size: 1.5rem;
            color: #fff !important;
            letter-spacing: -0.5px;
        }
        .navbar-brand i { color: var(--accent); margin-right: 8px; }
        .nav-link {
            color: rgba(255,255,255,0.8) !important;
            font-weight: 500;
            margin: 0 8px;
            transition: .2s;
            border-radius: 30px;
            padding: 8px 16px !important;
        }
        .nav-link:hover { color: var(--accent) !important; background: rgba(109, 93, 252, 0.1); }
        .navbar-toggler { border: none; color: #fff; font-size: 1.6rem; }
        .navbar-toggler:focus { box-shadow: none; }

        /* 排版 */
        h1, h2, h3, h4 { font-weight: 800; letter-spacing: -0.3px; }
        .section-title {
            font-size: 2rem;
            font-weight: 800;
            margin-bottom: 1.5rem;
            position: relative;
            display: inline-block;
        }
        .section-title::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 0;
            width: 60%;
            height: 4px;
            background: linear-gradient(90deg, var(--primary), var(--accent));
            border-radius: 8px;
        }

        /* Hero 打字机 */
        .hero-section {
            padding: 120px 0 60px;
            background: radial-gradient(circle at 20% 20%, rgba(109,93,252,0.2), transparent 50%);
        }
        .typewriter-text {
            font-size: 3.2rem;
            font-weight: 900;
            display: inline-block;
            border-right: 4px solid var(--accent);
            white-space: nowrap;
            overflow: hidden;
            color: #fff;
        }
        .hero-sub {
            font-size: 1.2rem;
            color: rgba(232, 234, 246, 0.8);
            font-weight: 300;
        }

        /* 海报卡片通用 */
        .movie-card {
            background: #1a1c2e;
            border-radius: var(--card-radius);
            overflow: hidden;
            box-shadow: var(--shadow-soft);
            border: 1px solid rgba(255,255,255,0.03);
            transition: all .3s ease;
            position: relative;
            cursor: pointer;
            transform-style: preserve-3d;
            transition: transform .4s ease, box-shadow .3s;
            height: 100%;
        }
        .movie-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.5);
        }
        .poster-wrapper {
            position: relative;
            overflow: hidden;
            aspect-ratio: 2 / 3;
            background: #1f2240;
        }
        .poster-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform .5s;
        }
        .movie-card:hover .poster-wrapper img { transform: scale(1.08); }

        .gradient-overlay {
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: linear-gradient(to top, rgba(15,16,32,0.95) 0%, transparent 60%);
            opacity: 0;
            transition: .4s;
        }
        .movie-card:hover .gradient-overlay { opacity: 1; }

        .play-icon {
            position: absolute;
            top: 50%; left: 50%;
            transform: translate(-50%, -50%) scale(0.8);
            width: 60px; height: 60px;
            background: rgba(109, 93, 252, 0.85);
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            color: #fff;
            font-size: 1.5rem;
            opacity: 0;
            backdrop-filter: blur(4px);
            transition: .3s;
        }
        .movie-card:hover .play-icon { opacity: 1; transform: translate(-50%, -50%) scale(1); }

        .card-info {
            padding: 12px 12px 16px;
            background: #1a1c2e;
        }
        .card-title {
            font-weight: 700;
            font-size: 1rem;
            margin-bottom: 4px;
            color: #fff;
        }
        .card-meta {
            display: flex;
            justify-content: space-between;
            color: rgba(232,234,246,0.5);
            font-size: 0.8rem;
        }
        .rating {
            color: #ffb43a;
            font-weight: 700;
        }

        /* 区块背景 */
        .section-block { padding: 50px 0; }
        .bg-alt { background: rgba(255,255,255,0.02); }

        /* 横向滚动 */
        .scroll-row {
            display: flex;
            overflow-x: auto;
            gap: 18px;
            padding-bottom: 20px;
            scrollbar-width: thin;
        }
        .scroll-row::-webkit-scrollbar { height: 6px; }
        .scroll-row::-webkit-scrollbar-thumb { background: var(--primary); border-radius: 10px; }
        .scroll-row .movie-card { min-width: 160px; max-width: 160px; }

        /* 对比表格 */
        .compare-table {
            background: #1a1c2e;
            border-radius: 24px;
            padding: 20px;
            overflow: hidden;
            border: 1px solid rgba(255,255,255,0.05);
        }
        .compare-table table { margin: 0; color: var(--text-light); }
        .compare-table th { border: none; background: transparent; font-weight: 700; }
        .compare-table td { border-color: rgba(255,255,255,0.1); padding: 12px; }

        /* 编号清单 */
        .steps-list {
            list-style: none;
            counter-reset: my-counter;
            padding: 0;
        }
        .steps-list li {
            counter-increment: my-counter;
            margin-bottom: 20px;
            font-size: 1.1rem;
            display: flex;
            align-items: center;
            gap: 15px;
        }
        .steps-list li::before {
            content: counter(my-counter);
            background: var(--primary);
            color: white;
            width: 40px; height: 40px;
            border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-weight: 800;
            font-size: 1.2rem;
            flex-shrink: 0;
        }

        /* 友链 */
        .friend-links {
            background: #15172a;
            padding: 40px 0;
            border-top: 1px solid rgba(255,255,255,0.05);
        }
        .friend-links a { color: var(--accent); text-decoration: none; }

        /* 回到顶部 */
        #backToTop {
            position: fixed;
            bottom: 30px; right: 30px;
            width: 50px; height: 50px;
            background: var(--primary);
            border: none;
            border-radius: 50%;
            color: white;
            font-size: 1.3rem;
            display: none;
            align-items: center; justify-content: center;
            cursor: pointer;
            z-index: 9999;
            box-shadow: 0 4px 16px rgba(109,93,252,0.4);
            transition: .3s;
        }
        #backToTop.show { display: flex; }

        /* 弹窗翻转效果 */
        .flip-card-container {
            perspective: 1000px;
            height: 100%;
        }
        .flip-card-inner {
            position: relative;
            width: 100%;
            height: 100%;
            transition: transform 0.6s;
            transform-style: preserve-3d;
        }
        .movie-card.flipped .flip-card-inner { transform: rotateY(180deg); }
        .movie-card .flip-front, .movie-card .flip-back {
            backface-visibility: hidden;
        }
        .movie-card .flip-back {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            transform: rotateY(180deg);
            background: #1e2035;
            border-radius: var(--card-radius);
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            overflow-y: auto;
            border: 1px solid rgba(109,93,252,0.3);
        }
        .close-flip {
            position: absolute;
            top: 8px; right: 12px;
            background: none;
            border: none;
            color: #aaa;
            font-size: 1.4rem;
            z-index: 5;
        }

        /* 分类科普、随机推荐 */
        .widget-box {
            background: #1a1c2e;
            border-radius: 24px;
            padding: 25px;
            border: 1px solid rgba(255,255,255,0.05);
        }
        .btn-accent {
            background: var(--accent);
            color: #0f1020;
            border: none;
            font-weight: 700;
            border-radius: 40px;
            padding: 10px 24px;
        }
        .btn-accent:hover { background: #67e8f9; color: #0f1020; }

        footer {
            background: #0c0d1a;
            padding: 40px 0 20px;
            border-top: 1px solid rgba(255,255,255,0.05);
        }
        footer a { color: var(--text-light); text-decoration: none; }

/* --- 子页面追加 --- */
/* 本页专属补充样式 */
        .about-hero {
            padding: 80px 0 60px;
            background: linear-gradient(135deg, rgba(109,93,252,0.15) 0%, rgba(34,211,238,0.08) 100%);
        }
.about-section {
            padding: 60px 0;
        }
.about-card {
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: var(--card-radius);
            padding: 30px;
            height: 100%;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }
.about-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-soft);
        }
.about-icon {
            font-size: 2.5rem;
            color: var(--accent);
            margin-bottom: 20px;
        }
.about-stat {
            text-align: center;
            padding: 30px 20px;
            background: rgba(109,93,252,0.08);
            border-radius: var(--card-radius);
            margin-bottom: 20px;
        }
.about-stat-number {
            font-size: 2.2rem;
            font-weight: 800;
            color: var(--primary);
            font-family: var(--font-sans);
        }
.about-stat-label {
            font-size: 0.9rem;
            color: rgba(232,234,246,0.7);
            margin-top: 8px;
        }
.timeline-item {
            position: relative;
            padding-left: 30px;
            padding-bottom: 35px;
            border-left: 2px solid rgba(109,93,252,0.3);
        }
.timeline-item:last-child {
            border-left-color: transparent;
            padding-bottom: 0;
        }
.timeline-item::before {
            content: '';
            position: absolute;
            left: -8px;
            top: 4px;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            background: var(--primary);
            box-shadow: 0 0 12px rgba(109,93,252,0.5);
        }
.timeline-year {
            font-weight: 700;
            color: var(--accent);
            margin-bottom: 8px;
        }
.quote-block {
            border-left: 4px solid var(--accent);
            padding-left: 20px;
            margin: 30px 0;
            font-style: italic;
            color: rgba(232,234,246,0.85);
        }
.about-tag {
            display: inline-block;
            padding: 4px 14px;
            background: rgba(109,93,252,0.15);
            color: var(--accent);
            border-radius: 20px;
            font-size: 0.85rem;
            margin-right: 8px;
            margin-bottom: 8px;
        }
.about-list-item {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            padding: 15px 0;
            border-bottom: 1px solid rgba(255,255,255,0.05);
        }
.about-list-item:last-child {
            border-bottom: none;
        }
.about-list-icon {
            color: var(--accent);
            font-size: 1.2rem;
            margin-top: 3px;
            flex-shrink: 0;
        }
.about-list-content {
            flex: 1;
        }
.about-list-title {
            font-weight: 600;
            margin-bottom: 5px;
            color: var(--text-light);
        }
.about-list-desc {
            font-size: 0.9rem;
            color: rgba(232,234,246,0.65);
        }

/* --- 子页面追加 --- */
/* 确保 Bootstrap 组件与深色主题匹配 */
        .card, .card-body, .card-header, .card-footer,
        .form-control, .form-select, .list-group-item,
        .accordion-item, .accordion-button, .accordion-body {
            background: var(--card-bg, #171830);
            color: var(--text-light);
            border-color: var(--border-color, rgba(255,255,255,.1));
        }
.accordion-button:not(.collapsed) {
            background: rgba(109, 93, 252, .2);
            color: var(--text-light);
        }
.accordion-button::after {
            filter: invert(0.8);
        }
.list-group-item {
            background: rgba(0,0,0,.25);
            border-color: rgba(255,255,255,.05);
        }
.btn-outline-primary {
            border-color: var(--primary);
            color: var(--primary);
        }
.btn-outline-primary:hover {
            background: var(--primary);
            color: #fff;
        }
/* 加强可读性 */
        .disclaimer-content a {
            color: var(--accent);
            text-decoration: underline;
        }
.disclaimer-content a:hover {
            color: #fff;
        }
.border-soft {
            border: 1px solid rgba(255,255,255,.08);
            border-radius: var(--card-radius);
        }
.bg-card-glass {
            background: rgba(255,255,255,.03);
            backdrop-filter: blur(8px);
            border-radius: var(--card-radius);
        }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.card-text { color:#e8eaf6 !important; }
.table { color:#e8eaf6 !important; border-color:rgba(255,255,255,.12) !important; --bs-table-bg:transparent !important; --bs-table-color:#e8eaf6 !important; }
