:root{
  --primary:#2563eb;
  --accent:#06b6d4;
  --bg:#f4f8ff;
  --text:#0f1e3d;
  --card-bg:#ffffff;
  --radius:8px;
  --shadow:0 2px 12px rgba(37,99,235,0.06);
  --border:#e5edf5;
}
*{font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;}
body{background:var(--bg);color:var(--text);line-height:1.6;}
.navbar-custom{background:rgba(255,255,255,0.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.navbar-brand{font-weight:900;font-size:1.5rem;color:var(--primary)!important;letter-spacing:-0.5px;}
.nav-link{font-weight:600;color:var(--text)!important;margin:0 0.5rem;transition:all .2s;}
.nav-link:hover{color:var(--primary)!important;}
.hero-tag{display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.hero-tag span{background:rgba(37,99,235,0.08);color:var(--primary);padding:8px 20px;border-radius:50px;font-size:0.9rem;font-weight:600;border:1px solid rgba(37,99,235,0.12);}
.hero-section{background:linear-gradient(135deg,#eef6ff 0%,#f4f8ff 60%,#e6f9fe 100%);padding:5rem 0;position:relative;overflow:hidden;}
.hero-section::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(6,182,212,0.1) 0%,transparent 70%);}
.section-title{font-size:1.8rem;font-weight:800;letter-spacing:-0.02em;margin-bottom:1.5rem;position:relative;}
.section-title::after{content:'';position:absolute;bottom:-8px;left:0;width:40px;height:4px;background:var(--primary);border-radius:2px;}
.movie-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .3s,box-shadow .3s;cursor:pointer;border:1px solid var(--border);height:100%;}
.movie-card:hover{transform:translateY(-6px);box-shadow:0 8px 25px rgba(37,99,235,0.12);}
.movie-card .poster{position:relative;overflow:hidden;aspect-ratio:2/3;}
.movie-card .poster img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(0.85);}
.movie-card:hover .poster img{transform:scale(1.06);filter:saturate(1);}
.movie-card .rating-badge{position:absolute;top:10px;right:10px;background:rgba(15,30,61,0.85);color:#fff;padding:4px 10px;border-radius:20px;font-size:0.75rem;font-weight:800;backdrop-filter:blur(4px);}
.movie-card .card-body{padding:12px;}
.movie-card .card-title{font-weight:700;font-size:0.95rem;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.movie-card .card-meta{color:#64748b;font-size:0.78rem;font-weight:500;}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:0.8rem;font-weight:800;margin-right:8px;}
.rank-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;}
.rank-2{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff;}
.rank-3{background:linear-gradient(135deg,#d97706,#b45309);color:#fff;}
.rank-4,.rank-5{background:#e2e8f0;color:#334155;}
.tag-pill{display:inline-block;padding:3px 12px;border-radius:50px;font-size:0.7rem;font-weight:700;background:rgba(6,182,212,0.1);color:var(--accent);border:1px solid rgba(6,182,212,0.2);}
.btn-shine{position:relative;overflow:hidden;}
.btn-shine::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,0.3),transparent);transition:left .5s;}
.btn-shine:hover::after{left:100%;}
.drawer-overlay{position:fixed;inset:0;background:rgba(15,30,61,0.6);z-index:1040;display:none;backdrop-filter:blur(4px);}
.drawer-panel{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:20px 20px 0 0;z-index:1050;transform:translateY(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);max-height:80vh;overflow-y:auto;}
.drawer-panel.open{transform:translateY(0);}
.drawer-panel .drawer-content{padding:24px;}
.drawer-panel .close-btn{position:absolute;top:16px;right:20px;width:36px;height:36px;border-radius:50%;border:none;background:#f1f5f9;font-size:1rem;color:#64748b;cursor:pointer;transition:all .2s;}
.drawer-panel .close-btn:hover{background:var(--primary);color:#fff;}
.scroll-row{display:flex;overflow-x:auto;gap:16px;padding-bottom:16px;scroll-snap-type:x mandatory;}
.scroll-row .movie-card{flex:0 0 180px;scroll-snap-align:start;}
.step-item{position:relative;padding-left:40px;padding-bottom:2rem;}
.step-item::before{content:'';position:absolute;left:12px;top:8px;width:2px;height:calc(100% - 8px);background:var(--border);}
.step-item:last-child::before{display:none;}
.step-number{position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:800;z-index:1;}
footer{background:#0f1e3d;color:#94a3b8;padding:3rem 0 2rem;}
footer a{color:#94a3b8;text-decoration:none;transition:color .2s;}
footer a:hover{color:#fff;}
.friend-links{border-top:1px solid #1e3a5f;margin-top:2rem;padding-top:1.5rem;}
.lazy-load{opacity:0;transition:opacity .5s;}
.lazy-load.loaded{opacity:1;}
@media (max-width:768px){
  .section-title{font-size:1.4rem;}
  .scroll-row .movie-card{flex:0 0 140px;}
  .hero-section{padding:3rem 0;}
  .hero-tag span{font-size:0.75rem;padding:6px 14px;}
}

/* --- 子页面追加 --- */
/* 确保Bootstrap组件不破坏深色/浅色主题——这里覆盖常用组件 */
    .card, .card-body, .card-header, .card-footer {
      background: var(--card-bg);
      color: var(--text);
      border-color: var(--border);
    }
.card-title, .card-text { color: var(--text); }
.list-group-item {
      background: var(--card-bg);
      color: var(--text);
      border-color: var(--border);
    }
.form-control, .form-select {
      background: #ffffff;
      color: var(--text);
      border-color: var(--border);
    }
.accordion-item, .accordion-button, .accordion-body {
      background: var(--card-bg);
      color: var(--text);
      border-color: var(--border);
    }
.nav-link, .navbar { color: var(--text); }
.btn-light { background: var(--card-bg); color: var(--text); border-color: var(--border); }
/* 子页面专属微调 */
    .about-hero {
      padding: 4rem 0 2.5rem;
      background: linear-gradient(145deg, var(--bg), #eef5ff);
    }
.feature-icon {
      font-size: 2.2rem;
      color: var(--primary);
      margin-bottom: 0.8rem;
    }
.stat-number {
      font-size: 2.5rem;
      font-weight: 800;
      color: var(--primary);
      line-height: 1.2;
    }
.stat-label {
      font-size: 0.9rem;
      color: #5b6b8c;
      letter-spacing: 0.03em;
    }
.timeline-item {
      border-left: 3px solid var(--accent);
      padding-left: 1.5rem;
      margin-bottom: 2rem;
    }
.timeline-date {
      font-weight: 700;
      color: var(--primary);
      font-size: 0.95rem;
    }
.about-quote {
      background: rgba(6, 182, 212, 0.06);
      border-left: 5px solid var(--accent);
      padding: 1.8rem 2rem;
      border-radius: 0 12px 12px 0;
    }
/* 友情链接占位样式 (沿用站点 friend-links) */
    .friend-links a {
      color: var(--primary);
      text-decoration: none;
      margin-right: 1.5rem;
      font-weight: 500;
    }
.friend-links a:hover { text-decoration: underline; }

/* --- 子页面追加 --- */
.disclaimer-hero {
            padding: 80px 0 50px;
            background: linear-gradient(135deg, rgba(37,99,235,0.08) 0%, rgba(6,182,212,0.05) 100%);
        }
.disclaimer-card {
            background: var(--card-bg);
            border: 1px solid var(--border);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 2.5rem;
            margin-bottom: 2rem;
        }
.disclaimer-card h2 {
            color: var(--primary);
            font-size: 1.4rem;
            font-weight: 700;
            margin-bottom: 1.2rem;
            display: flex;
            align-items: center;
            gap: 0.6rem;
        }
.disclaimer-card h2 i {
            color: var(--accent);
        }
.disclaimer-card p {
            color: var(--text);
            line-height: 1.8;
            margin-bottom: 1rem;
        }
.disclaimer-card ul {
            padding-left: 1.5rem;
            margin-bottom: 1rem;
        }
.disclaimer-card ul li {
            color: var(--text);
            line-height: 1.8;
            margin-bottom: 0.5rem;
        }
.disclaimer-card ul li strong {
            color: var(--primary);
        }
.notice-box {
            background: rgba(37,99,235,0.05);
            border-left: 4px solid var(--primary);
            padding: 1.2rem 1.5rem;
            border-radius: 0 var(--radius) var(--radius) 0;
            margin-bottom: 1.5rem;
        }
.notice-box p {
            margin-bottom: 0;
            font-size: 0.95rem;
        }
.update-time {
            display: inline-block;
            background: rgba(6,182,212,0.1);
            color: var(--accent);
            padding: 0.3rem 1rem;
            border-radius: 20px;
            font-size: 0.85rem;
            font-weight: 500;
            margin-top: 0.5rem;
        }
.disclaimer-card {
                padding: 1.5rem;
            }

/* --- 子页面追加 --- */
.privacy-page { padding: 60px 0; }
.privacy-page h1 { color: var(--text); font-weight: 800; margin-bottom: 12px; }
.privacy-page .lead { color: #5a6b8a; font-size: 1.05rem; margin-bottom: 40px; }
.privacy-card { background: var(--card-bg); border-radius: var(--radius); box-shadow: var(--shadow); padding: 30px; margin-bottom: 28px; border: 1px solid var(--border); }
.privacy-card h2 { font-size: 1.35rem; font-weight: 700; color: var(--primary); margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.privacy-card h2 i { color: var(--accent); font-size: 1.1rem; }
.privacy-card h3 { font-size: 1.05rem; font-weight: 600; color: var(--text); margin: 18px 0 8px; }
.privacy-card p { color: #4a5a7a; line-height: 1.75; margin-bottom: 12px; font-size: 0.95rem; }
.privacy-card ul { padding-left: 20px; margin-bottom: 12px; }
.privacy-card li { color: #4a5a7a; line-height: 1.75; font-size: 0.95rem; }
.privacy-card a { color: var(--primary); text-decoration: underline; }
.privacy-card a:hover { color: var(--accent); }
.update-tag { display: inline-block; background: rgba(37,99,235,.08); color: var(--primary); font-size: 0.82rem; font-weight: 600; padding: 4px 14px; border-radius: 20px; margin-bottom: 20px; }
.contact-box { background: rgba(6,182,212,.06); border-radius: var(--radius); padding: 20px; margin-top: 20px; }
.contact-box p { margin-bottom: 6px; }
.contact-box i { color: var(--accent); margin-right: 8px; }
.nav-link.active-page { color: var(--primary) !important; font-weight: 700; }
.footer-links { margin-bottom: 20px; }
.footer-links a { margin: 0 15px; font-size: 0.9rem; }
.copyright { font-size: 0.82rem; color: rgba(255,255,255,.5); border-top: 1px solid rgba(255,255,255,.1); padding-top: 20px; margin-top: 20px; }

/* --- 子页面追加 --- */
/* 页面专属补充样式 */
        .sitemap-section { background: var(--card-bg); border-radius: var(--radius); box-shadow: var(--shadow); padding: 2rem; margin-bottom: 1.5rem; border: 1px solid var(--border); }
.sitemap-section h2 { color: var(--primary); font-weight: 700; font-size: 1.4rem; margin-bottom: 1.2rem; border-left: 4px solid var(--accent); padding-left: 0.8rem; }
.sitemap-section h3 { color: var(--text); font-weight: 600; font-size: 1.1rem; margin-bottom: 0.8rem; }
.sitemap-list { list-style: none; padding: 0; margin: 0; }
.sitemap-list li { padding: 0.45rem 0; border-bottom: 1px dashed var(--border); }
.sitemap-list li:last-child { border-bottom: none; }
.sitemap-list a { color: var(--text); text-decoration: none; transition: color 0.2s; display: inline-flex; align-items: center; gap: 0.5rem; }
.sitemap-list a:hover { color: var(--primary); text-decoration: underline; }
.sitemap-list a i { color: var(--accent); width: 20px; text-align: center; }
.sitemap-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.5rem; }
.sitemap-tag { display: inline-block; background: rgba(37,99,235,0.08); color: var(--primary); padding: 0.2rem 0.8rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; margin-right: 0.4rem; margin-bottom: 0.4rem; }
.sitemap-grid { grid-template-columns: 1fr; }
.sitemap-section { padding: 1.2rem; }