:root {
      --accent: #f472b6;
      --highlight: #fbbf24;
      --bg: #fff5f7;
      --text: #4a2530;
      --border: #4a2530;
      --hard-shadow: 6px 6px 0px 0px #4a2530;
      --card-shadow: 4px 4px 0px 0px #f472b6;
    }

    * { border-radius: 0 !important; font-family: 'Noto Sans SC', 'Inter', sans-serif; }
    body { background-color: var(--bg); color: var(--text); }
    h1,h2,h3,h4,h5,.font-serif { font-family: 'Noto Serif SC', serif; }

    /* 滚动进度条 */
    #scrollProgress {
      position: fixed; top: 0; left: 0; height: 4px; width: 0%;
      background: linear-gradient(90deg, var(--accent), var(--highlight));
      z-index: 9999; transition: width 0.1s;
    }

    /* 直角粗边框 */
    .hard-box { border: 2px solid var(--border); box-shadow: var(--hard-shadow); }
    .card-frame { border: 2px solid var(--border); background: #fff; transition: all 0.2s ease; }
    .card-frame:hover { transform: scale(1.02); border-color: var(--accent); box-shadow: 6px 6px 0px var(--highlight); }

    /* 胶囊分类标签 */
    .pill-tag { display: inline-block; background: var(--bg); border: 2px solid var(--border); padding: 0.3rem 1rem; font-weight: 600; color: var(--text); margin-right: 0.5rem; box-shadow: 2px 2px 0px var(--border); transition: all .1s; }
    .pill-tag:hover { background: var(--highlight); color: #4a2530; }

    /* 区块入场动画 */
    .fade-up { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease; }
    .fade-up.visible { opacity: 1; transform: translateY(0); }

    /* 奖牌 */
    .medal { display: inline-block; width: 28px; height: 28px; line-height: 28px; text-align: center; background: var(--text); color: white; font-weight: 700; margin-right: 8px; }
    .medal.gold { background: #fbbf24; color: #4a2530; }
    .medal.silver { background: #b0b0b0; color: white; }
    .medal.bronze { background: #b36b3c; color: white; }

    /* 底部抽屉弹窗 */
    .drawer-overlay { display: none; position: fixed; inset: 0; background: rgba(74,37,48,0.5); z-index: 2000; }
    .drawer-panel { position: fixed; bottom: 0; left: 0; width: 100%; max-height: 75vh; overflow-y: auto; background: #fff; border-top: 4px solid var(--accent); box-shadow: 0 -10px 20px rgba(0,0,0,0.2); transform: translateY(100%); transition: transform 0.35s ease; z-index: 2001; }
    .drawer-panel.show { transform: translateY(0); }
    .drawer-close { float: right; font-size: 2rem; padding: 0 1rem; cursor: pointer; }

    .navbar-custom { background: #fff; border-bottom: 2px solid var(--border); }
    .navbar-brand { font-weight: 900; font-size: 1.8rem; font-family: 'Noto Serif SC', serif; color: var(--text) !important; }
    .nav-link { font-weight: 600; color: var(--text) !important; }

    /* banner 占位用色块 */
    .banner-block { height: 280px; background: linear-gradient(135deg, #fbc7d9, #ffe6a7); border: 2px solid var(--border); }

    footer { border-top: 2px solid var(--border); background: #fff; }
    .friend-links { background: #fef0f5; border-top: 2px dashed var(--accent); }

    .movie-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1.2rem; }
    .movie-card { cursor: pointer; }
    .movie-poster { background: #f0d9e2; height: 230px; border-bottom: 2px solid var(--border); display: flex; align-items: center; justify-content: center; }
    .movie-poster img { width: 100%; height: 100%; object-fit: cover; }
    .movie-info { padding: 0.7rem; }

    .rank-item { border: 1px solid #eee; padding: 0.4rem 0.6rem; background: white; margin-bottom: 6px; }

/* --- 子页面追加 --- */
/* 本页专属的小范围样式,仅用于补充 about 页特有的排版细节 */
        .about-hero {
            background: var(--bg);
            border-bottom: 3px solid var(--border);
        }
.about-section {
            margin-bottom: 2.5rem;
        }
.about-section h2 {
            font-weight: 800;
            font-size: 1.6rem;
            color: var(--text);
            border-left: 6px solid var(--accent);
            padding-left: 0.9rem;
            margin-bottom: 1rem;
        }
.about-section p {
            color: var(--text);
            opacity: 0.85;
            line-height: 1.8;
        }
.feature-icon {
            font-size: 2.2rem;
            color: var(--accent);
            margin-bottom: 0.8rem;
        }
.about-stats {
            background: var(--bg);
            border: 2px solid var(--border);
            box-shadow: var(--hard-shadow);
            border-radius: 1rem;
            padding: 1.5rem;
            text-align: center;
        }
.about-stats .num {
            font-size: 2rem;
            font-weight: 900;
            color: var(--accent);
        }
.about-stats .label {
            font-size: 0.9rem;
            color: var(--text);
            opacity: 0.75;
        }
.timeline-item {
            position: relative;
            padding-left: 1.8rem;
            margin-bottom: 1.5rem;
        }
.timeline-item::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0.5rem;
            width: 12px;
            height: 12px;
            background: var(--highlight);
            border: 2px solid var(--border);
            border-radius: 50%;
        }
.timeline-item .time {
            font-weight: 700;
            color: var(--accent);
            font-size: 0.9rem;
        }
.timeline-item .desc {
            color: var(--text);
            opacity: 0.85;
            margin-top: 0.2rem;
        }

/* --- 子页面追加 --- */
/* 页面专属补充样式 */
        .disclaimer-hero {
            background: var(--bg);
            padding: 80px 0 40px;
            position: relative;
            overflow: hidden;
        }
.disclaimer-hero::before {
            content: '';
            position: absolute;
            top: -50px;
            right: -50px;
            width: 200px;
            height: 200px;
            background: rgba(244, 114, 182, 0.15);
            border-radius: 50%;
        }
.disclaimer-hero h1 {
            font-size: 2.8rem;
            font-weight: 900;
            color: var(--text);
            margin-bottom: 20px;
            position: relative;
            display: inline-block;
        }
.disclaimer-hero h1::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 60%;
            height: 4px;
            background: var(--accent);
            border-radius: 2px;
        }
.disclaimer-hero .lead {
            color: var(--text);
            opacity: 0.85;
            font-size: 1.15rem;
            max-width: 700px;
        }
.disclaimer-content {
            padding: 60px 0 80px;
            background: var(--bg);
        }
.disclaimer-section {
            margin-bottom: 50px;
        }
.disclaimer-section h2 {
            font-size: 1.8rem;
            font-weight: 800;
            color: var(--text);
            margin-bottom: 25px;
            position: relative;
            padding-left: 20px;
        }
.disclaimer-section h2::before {
            content: '';
            position: absolute;
            left: 0;
            top: 8px;
            bottom: 8px;
            width: 6px;
            background: var(--accent);
            border-radius: 3px;
        }
.disclaimer-section h3 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--text);
            margin-top: 30px;
            margin-bottom: 15px;
        }
.disclaimer-section p {
            color: var(--text);
            opacity: 0.85;
            line-height: 1.8;
            margin-bottom: 15px;
            font-size: 1rem;
        }
.disclaimer-section ul {
            color: var(--text);
            opacity: 0.85;
            padding-left: 20px;
            margin-bottom: 15px;
        }
.disclaimer-section ul li {
            margin-bottom: 8px;
            line-height: 1.7;
        }
.notice-box {
            background: #fff;
            border: 2px solid var(--border);
            border-radius: 12px;
            padding: 30px;
            box-shadow: var(--hard-shadow);
            margin: 40px 0;
        }
.notice-box h3 {
            color: var(--text);
            font-weight: 800;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
.notice-box h3 i {
            color: var(--accent);
        }
.notice-box p {
            color: var(--text);
            opacity: 0.85;
            line-height: 1.8;
            margin-bottom: 10px;
        }
.update-date {
            background: rgba(244, 114, 182, 0.1);
            display: inline-block;
            padding: 5px 15px;
            border-radius: 20px;
            font-size: 0.9rem;
            color: var(--text);
            border: 1px solid var(--accent);
            margin-top: 20px;
        }
.disclaimer-hero {
                padding: 60px 0 30px;
            }
.disclaimer-hero h1 {
                font-size: 2rem;
            }
.disclaimer-section h2 {
                font-size: 1.5rem;
            }

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