:root{
  --primary:#e50914;
  --accent:#f5c518;
  --bg:#0b0b0f;
  --text:#f5f5f7;
  --card-bg:#16161d;
  --radius-card:14px;
  --radius-pill:50px;
  --shadow:0 8px 24px rgba(0,0,0,0.45);
  --font-mono:'SF Mono', 'Fira Code', 'Courier New', monospace;
}
*{scrollbar-width:thin;scrollbar-color:#333 #0b0b0f}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', sans-serif;
  font-size:14px;
  line-height:1.5;
  padding-top:56px;
}
h1,h2,h3,h4,.navbar-brand,.hero-title{font-weight:900;letter-spacing:-0.02em;}
h1{font-size:clamp(2rem, 5vw, 3.2rem);}
h2{font-size:1.6rem;font-weight:800;margin-bottom:1rem;display:flex;align-items:center;gap:10px;}
h2 i{color:var(--accent);}
h2::after{content:'';flex:1;height:2px;background:linear-gradient(90deg, var(--primary), transparent);margin-left:15px;}
a{color:var(--text);text-decoration:none;transition:all .2s;}
a:hover{color:var(--accent);}
.navbar{
  background:rgba(11,11,15,0.9) !important;
  backdrop-filter:blur(12px);
  border-bottom:1px solid #222;
  padding:8px 0;
}
.navbar-brand{
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-0.03em;
  color:var(--text) !important;
  display:flex;align-items:center;gap:8px;
}
.navbar-brand i{color:var(--accent);font-size:1.3rem;}
.nav-link{
  font-weight:600;
  color:#ccc !important;
  margin:0 4px;
  font-size:0.92rem;
  padding:8px 14px !important;
  border-radius:var(--radius-pill);
  transition:all .2s;
}
.nav-link:hover{
  color:var(--accent) !important;
  background:rgba(245,197,24,0.08);
}
.navbar-toggler{
  border:none;
  color:var(--text);
  font-size:1.4rem;
}
.navbar-toggler:focus{box-shadow:none;}

/* scroll progress bar */
#progressBar{
  position:fixed;top:0;left:0;height:3px;
  background:linear-gradient(90deg, var(--primary), var(--accent));
  width:0%;z-index:9999;transition:width 0.1s linear;
  border-radius:0 3px 3px 0;
}
/* back to top */
#backTop{
  position:fixed;bottom:30px;right:30px;
  width:46px;height:46px;border-radius:50%;
  background:var(--primary);color:#fff;border:none;
  font-size:1.1rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 16px rgba(229,9,20,0.4);
  opacity:0;visibility:hidden;transform:translateY(15px);
  transition:all .35s ease;z-index:999;
}
#backTop.show{opacity:1;visibility:visible;transform:translateY(0);}
#backTop:hover{background:#ff202b;transform:translateY(-3px);}

/* hero */
.hero{
  position:relative;
  min-height:72vh;
  display:flex;align-items:center;
  background:linear-gradient(135deg, #0b0b0f 0%, #1a0a0e 45%, #0b0b0f 100%);
  overflow:hidden;
}
.hero::before{
  content:'';position:absolute;top:0;left:0;width:100%;height:100%;
  background-image:url('{随机图片}');
  background-size:cover;background-position:center;
  opacity:0.18;filter:blur(6px);
}
.hero::after{
  content:'';position:absolute;top:0;left:0;width:100%;height:100%;
  background:linear-gradient(90deg, rgba(11,11,15,0.92) 20%, rgba(11,11,15,0.4) 60%, rgba(11,11,15,0.8) 100%);
}
.hero-content{position:relative;z-index:2;max-width:680px;padding:3rem 0;}
.hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(245,197,24,0.12);
  color:var(--accent);
  border:1px solid rgba(245,197,24,0.3);
  padding:6px 18px;border-radius:var(--radius-pill);
  font-size:0.85rem;font-weight:600;margin-bottom:1.2rem;
  backdrop-filter:blur(4px);
}
.hero-title{
  font-size:clamp(2.4rem, 6vw, 4rem);
  line-height:1.1;margin-bottom:1rem;
}
.hero-title span{color:var(--primary);}
.hero-sub{
  font-size:1.1rem;color:#aaa;margin-bottom:2rem;max-width:520px;
  font-weight:300;
}
.btn-hero{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 30px;border-radius:var(--radius-pill);
  font-weight:700;font-size:0.95rem;transition:all .25s;
  border:none;cursor:pointer;
}
.btn-hero-primary{background:var(--primary);color:#fff;box-shadow:0 4px 20px rgba(229,9,20,0.35);}
.btn-hero-primary:hover{background:#ff202b;color:#fff;transform:translateY(-2px);box-shadow:0 8px 30px rgba(229,9,20,0.5);}
.btn-hero-outline{background:transparent;color:var(--text);border:1.5px solid #333;}
.btn-hero-outline:hover{border-color:var(--accent);color:var(--accent);}

/* section spacing */
.section{padding:3.5rem 0;}
.section-tight{padding:2.5rem 0;}
.bg-alt{background:#0e0e13;}

/* movie card */
.movie-card{
  position:relative;
  border-radius:var(--radius-card);
  overflow:hidden;
  background:var(--card-bg);
  box-shadow:var(--shadow);
  transition:transform .3s ease, box-shadow .3s ease;
  cursor:pointer;
  border:1px solid #1e1e26;
  margin-bottom:1rem;
}
.movie-card:hover{
  transform:translateY(-6px) scale(1.02);
  box-shadow:0 16px 40px rgba(0,0,0,0.6);
  border-color:rgba(245,197,24,0.4);
}
.movie-card .poster-wrap{
  position:relative;aspect-ratio:2/3;overflow:hidden;
  background:#111;
}
.movie-card .poster-wrap img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease;
  display:block;
}
.movie-card:hover .poster-wrap img{transform:scale(1.08);}
.movie-card .card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(11,11,15,0.95) 100%);
  opacity:0;transition:opacity .35s ease;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:16px;
}
.movie-card:hover .card-overlay{opacity:1;}
.movie-card .movie-title{
  font-weight:800;font-size:1.02rem;margin-bottom:4px;
  color:#fff;line-height:1.3;
}
.movie-card .movie-meta{
  font-size:0.75rem;color:#bbb;display:flex;gap:8px;flex-wrap:wrap;
  margin-bottom:6px;
}
.movie-card .movie-plot{
  font-size:0.74rem;color:#aaa;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.movie-card .rating-badge{
  position:absolute;top:10px;left:10px;
  background:rgba(11,11,15,0.8);
  backdrop-filter:blur(4px);
  padding:3px 10px;border-radius:var(--radius-pill);
  font-size:0.78rem;font-weight:800;color:var(--accent);
  font-family:var(--font-mono);
  border:1px solid rgba(245,197,24,0.3);
  z-index:2;
}
.movie-card .rating-badge i{font-size:0.65rem;margin-right:3px;}

/* ranking medal */
.rank-list{
  list-style:none;padding:0;margin:0;
}
.rank-item{
  display:flex;align-items:center;
  padding:10px 14px;margin-bottom:8px;
  background:rgba(255,255,255,0.03);
  border-radius:var(--radius-pill);
  transition:background .2s, transform .2s;
  border:1px solid rgba(255,255,255,0.04);
  cursor:pointer;
}
.rank-item:hover{
  background:rgba(245,197,24,0.08);
  transform:translateX(5px);
  border-color:rgba(245,197,24,0.25);
}
.rank-medal{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;font-size:0.95rem;margin-right:14px;flex-shrink:0;
  font-family:var(--font-mono);
}
.rank-medal.gold{background:linear-gradient(135deg, #ffd700, #ffb800);color:#0b0b0f;}
.rank-medal.silver{background:linear-gradient(135deg, #c0c0c0, #a8a8a8);color:#0b0b0f;}
.rank-medal.bronze{background:linear-gradient(135deg, #cd7f32, #b06020);color:#fff;}
.rank-item .rank-info{flex:1;}
.rank-item .rank-title{font-weight:700;font-size:0.9rem;}
.rank-item .rank-score{color:var(--accent);font-family:var(--font-mono);font-weight:700;font-size:0.9rem;}
.rank-item .rank-tag{
  font-size:0.7rem;background:rgba(229,9,20,0.2);color:#ff6b6b;
  padding:2px 8px;border-radius:var(--radius-pill);margin-left:8px;
}

/* category pills */
.cat-pills{
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:1.5rem;
}
.cat-pill{
  padding:7px 18px;border-radius:var(--radius-pill);
  background:rgba(255,255,255,0.06);
  border:1px solid #2a2a35;
  font-size:0.85rem;font-weight:600;cursor:pointer;
  transition:all .25s;color:#ccc;
}
.cat-pill:hover{background:rgba(245,197,24,0.15);border-color:var(--accent);color:var(--accent);}
.cat-pill.active{
  background:var(--primary);border-color:var(--primary);color:#fff;
  box-shadow:0 4px 14px rgba(229,9,20,0.3);
}

/* tabs */
.nav-tabs-custom{
  display:flex;gap:6px;border-bottom:none;margin-bottom:1.5rem;
  flex-wrap:wrap;
}
.nav-tabs-custom .tab-btn{
  padding:8px 22px;border-radius:var(--radius-pill);
  background:rgba(255,255,255,0.05);
  border:1px solid #2a2a35;
  font-weight:700;font-size:0.88rem;color:#aaa;
  cursor:pointer;transition:all .25s;
}
.nav-tabs-custom .tab-btn.active{
  background:var(--accent);color:#0b0b0f;border-color:var(--accent);
  box-shadow:0 4px 16px rgba(245,197,24,0.25);
}
.tab-panel{display:none;}
.tab-panel.active{display:block;animation:fadeIn 0.4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

/* timeline */
.timeline{
  position:relative;padding-left:30px;margin:1rem 0 2rem;
}
.timeline::before{
  content:'';position:absolute;left:10px;top:5px;bottom:5px;width:2px;
  background:linear-gradient(180deg, var(--primary), var(--accent), transparent);
  border-radius:2px;
}
.timeline-item{
  position:relative;padding-bottom:20px;
}
.timeline-item::before{
  content:'';position:absolute;left:-27px;top:4px;
  width:14px;height:14px;border-radius:50%;
  background:var(--accent);border:3px solid var(--bg);
  box-shadow:0 0 0 2px var(--accent);
}
.timeline-item .tl-title{font-weight:700;font-size:0.95rem;margin-bottom:3px;}
.timeline-item .tl-desc{font-size:0.83rem;color:#999;line-height:1.5;}

/* mood section */
.mood-tags{
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:1.5rem;
}
.mood-tag{
  padding:10px 22px;border-radius:var(--radius-pill);
  font-weight:700;font-size:0.9rem;cursor:pointer;
  background:rgba(255,255,255,0.05);border:1px solid #2a2a35;
  transition:all .25s;color:#ccc;
  display:inline-flex;align-items:center;gap:8px;
}
.mood-tag:hover{transform:scale(1.05);border-color:var(--accent);color:var(--accent);}
.mood-tag i{font-size:1rem;}
.mood-tag:nth-child(1){border-left:3px solid #ff6b6b;}
.mood-tag:nth-child(2){border-left:3px solid var(--accent);}
.mood-tag:nth-child(3){border-left:3px solid #6bc5ff;}
.mood-tag:nth-child(4){border-left:3px solid #6bffa5;}

/* faq */
.faq-item{
  margin-bottom:10px;
  background:rgba(255,255,255,0.03);
  border-radius:var(--radius-card);
  border:1px solid rgba(255,255,255,0.05);
  overflow:hidden;
  transition:border-color .2s;
}
.faq-item:hover{border-color:rgba(245,197,24,0.3);}
.faq-q{
  padding:16px 20px;font-weight:700;font-size:0.95rem;
  display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;color:var(--text);
}
.faq-q i{transition:transform .3s;color:var(--accent);font-size:0.8rem;}
.faq-item.open .faq-q i{transform:rotate(180deg);}
.faq-a{
  padding:0 20px;max-height:0;overflow:hidden;
  transition:max-height .3s ease, padding .3s ease;
  font-size:0.87rem;color:#aaa;line-height:1.6;
}
.faq-item.open .faq-a{
  padding:0 20px 16px;max-height:300px;
}

/* trailer section */
.trailer-card{
  position:relative;border-radius:var(--radius-card);overflow:hidden;
  aspect-ratio:16/9;background:#111;cursor:pointer;margin-bottom:1rem;
  border:1px solid #222;
}
.trailer-card img{
  width:100%;height:100%;object-fit:cover;transition:transform .4s;
}
.trailer-card:hover img{transform:scale(1.05);}
.trailer-card .play-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(11,11,15,0.3);
  transition:background .3s;
}
.trailer-card:hover .play-overlay{background:rgba(11,11,15,0.5);}
.play-btn{
  width:60px;height:60px;border-radius:50%;
  background:rgba(229,9,20,0.9);
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;color:#fff;
  box-shadow:0 0 30px rgba(229,9,20,0.4);
  transition:transform .3s;
}
.trailer-card:hover .play-btn{transform:scale(1.15);}
.trailer-title{
  position:absolute;bottom:0;left:0;right:0;
  padding:30px 16px 12px;
  background:linear-gradient(180deg, transparent, rgba(11,11,15,0.95));
  font-weight:700;font-size:0.9rem;
}

/* footer */
footer{
  background:#08080c;
  border-top:1px solid #1a1a22;
  padding:3rem 0 1.5rem;
}
.footer-brand{font-size:1.3rem;font-weight:900;display:flex;align-items:center;gap:8px;}
.footer-link{
  display:block;padding:5px 0;color:#999;font-size:0.87rem;
}
.footer-link:hover{color:var(--accent);}
.footer-title{font-weight:700;margin-bottom:1rem;font-size:0.95rem;}

/* friends */
.friend-links{
  padding:1.8rem 0;
  border-top:1px solid #1a1a22;
  border-bottom:1px solid #1a1a22;
  margin-top:1.5rem;
}
.friend-links h5{font-size:0.9rem;color:#888;margin-bottom:12px;font-weight:700;}
.friend-links .link-item{
  display:inline-block;color:#777;font-size:0.82rem;
  margin-right:20px;margin-bottom:6px;transition:color .2s;
}
.friend-links .link-item:hover{color:var(--accent);}

/* modal */
.modal-movie{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(6px);
  z-index:1050;display:none;
  align-items:center;justify-content:center;
  padding:20px;
}
.modal-movie.show{display:flex;animation:fadeIn .25s;}
.modal-card{
  background:#14141c;
  border-radius:18px;
  max-width:720px;width:100%;
  max-height:90vh;overflow-y:auto;
  position:relative;
  border:1px solid rgba(245,197,24,0.2);
  box-shadow:0 24px 60px rgba(0,0,0,0.6);
  animation:modalIn .35s ease;
}
@keyframes modalIn{from{opacity:0;transform:scale(0.92) translateY(20px);}to{opacity:1;transform:scale(1) translateY(0);}}
.modal-close{
  position:absolute;top:12px;right:12px;
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,0.1);
  border:none;color:#fff;font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;z-index:10;
}
.modal-close:hover{background:var(--primary);transform:rotate(90deg);}
.modal-body{display:flex;gap:20px;padding:24px;}
.modal-poster{
  width:180px;height:270px;object-fit:cover;border-radius:12px;
  flex-shrink:0;box-shadow:0 8px 24px rgba(0,0,0,0.4);
}
.modal-info{flex:1;}
.modal-title{font-size:1.4rem;font-weight:900;margin-bottom:6px;}
.modal-meta{
  display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px;font-size:0.8rem;
  color:#999;
}
.modal-meta span{
  background:rgba(255,255,255,0.06);
  padding:4px 12px;border-radius:var(--radius-pill);
  font-family:var(--font-mono);
}
.modal-score{
  color:var(--accent);font-size:1rem;font-weight:800;
  font-family:var(--font-mono);
}
.modal-plot{font-size:0.87rem;color:#bbb;line-height:1.6;margin-bottom:12px;}
.modal-actors{font-size:0.82rem;color:#888;margin-bottom:8px;}
.modal-actors strong{color:#aaa;}
@media(max-width:576px){
  .modal-body{flex-direction:column;padding:16px;}
  .modal-poster{width:100%;height:200px;object-position:top;}
  .movie-card .movie-plot{display:none;}
  .hero{min-height:60vh;}
}

/* utility */
.text-accent{color:var(--accent);}
.font-mono{font-family:var(--font-mono);}
.section-label{
  font-size:0.75rem;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:#666;margin-bottom:4px;
}
.card-subtitle{font-size:0.78rem;color:#777;margin-top:-5px;margin-bottom:1rem;}
.copyright{
  font-size:0.8rem;color:#666;margin-top:1.5rem;text-align:center;
  border-top:1px solid #15151c;padding-top:1.5rem;
}

/* --- 子页面追加 --- */
/* 本页专属微调 - 不影响全局，仅覆盖个别组件 */
        .guide-section { margin-bottom: 2.5rem; }
.guide-card {
            background: var(--card-bg);
            border: 1px solid rgba(255,255,255,0.06);
            border-radius: var(--radius-card);
            padding: 1.8rem 1.8rem;
            box-shadow: var(--shadow);
            transition: transform .2s;
        }
.guide-card:hover { transform: translateY(-3px); }
.guide-icon {
            width: 44px; height: 44px;
            background: rgba(229, 9, 20, 0.12);
            border-radius: 12px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: var(--primary);
            font-size: 1.25rem;
            margin-bottom: 1rem;
        }
.step-number {
            font-family: var(--font-mono);
            background: var(--primary);
            color: white;
            width: 28px; height: 28px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            font-weight: 700;
            margin-right: 8px;
        }
.timeline-item h4 { font-weight: 600; }
.highlight { color: var(--accent); font-weight: 600; }
.list-bullet { list-style: none; padding-left: 0.2rem; }
.list-bullet li { padding-bottom: 0.6rem; padding-left: 1.8rem; position: relative; }
.list-bullet li::before {
            content: "\f061";
            font-family: "Font Awesome 6 Free";
            font-weight: 900;
            position: absolute; left: 0; top: 2px;
            color: var(--primary);
            font-size: 0.9rem;
        }
.bg-alt-custom { background: rgba(0,0,0,0.18); }
.code-inline {
            background: rgba(245,197,24,0.1);
            border: 1px solid rgba(245,197,24,0.2);
            padding: 2px 8px;
            border-radius: 6px;
            font-family: var(--font-mono);
            font-size: 0.85rem;
            color: var(--accent);
        }
.accordion-button:not(.collapsed) {
            background: rgba(229,9,20,0.08);
            color: var(--text);
        }
.accordion-button:focus { box-shadow: none; }
.accordion-item, .accordion-button {
            background: var(--card-bg);
            color: var(--text);
            border-color: rgba(255,255,255,0.08);
        }
.accordion-button::after { filter: invert(0.8); }

/* --- 子页面追加 --- */
/* 电影页专属样式 */
        .movie-hero {
            background: linear-gradient(135deg, rgba(11,11,15,0.9), rgba(22,22,29,0.7)), url('https://picsum.photos/1920/600') center/cover no-repeat;
            padding: 100px 0;
            text-align: center;
            border-bottom: 1px solid var(--border-color);
        }
.movie-hero h1 {
            font-size: 3rem;
            font-weight: 900;
            color: var(--text);
            text-shadow: 0 2px 20px rgba(0,0,0,0.8);
            margin-bottom: 1rem;
        }
.movie-hero p {
            color: var(--text);
            opacity: 0.8;
            font-size: 1.2rem;
            max-width: 600px;
            margin: 0 auto 2rem;
        }
.movie-hero .hero-badge {
            display: inline-block;
            background: var(--primary);
            color: #fff;
            padding: 6px 20px;
            border-radius: var(--radius-pill);
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 1rem;
        }
.movie-cat-pills {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            justify-content: center;
            margin: 2rem 0;
        }
.movie-cat-pills .cat-pill {
            background: var(--card-bg);
            color: var(--text);
            border: 1px solid var(--border-color);
            padding: 8px 20px;
            border-radius: var(--radius-pill);
            font-size: 0.9rem;
            cursor: pointer;
            transition: all 0.3s;
            text-decoration: none;
        }
.movie-cat-pills .cat-pill:hover,
        .movie-cat-pills .cat-pill.active {
            background: var(--primary);
            color: #fff;
            border-color: var(--primary);
        }
.movie-feature-card {
            background: var(--card-bg);
            border-radius: var(--radius-card);
            padding: 2rem;
            box-shadow: var(--shadow);
            transition: transform 0.3s;
            height: 100%;
        }
.movie-feature-card:hover {
            transform: translateY(-5px);
        }
.movie-feature-card .icon-wrap {
            width: 60px;
            height: 60px;
            background: rgba(229,9,20,0.15);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
            font-size: 1.6rem;
            color: var(--primary);
        }
.movie-feature-card h3 {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 0.8rem;
        }
.movie-feature-card p {
            color: var(--text);
            opacity: 0.7;
            font-size: 0.9rem;
            line-height: 1.7;
        }
.movie-picks {
            padding: 3rem 0;
        }
.movie-picks .section-title {
            font-size: 2rem;
            font-weight: 800;
            color: var(--text);
            margin-bottom: 2rem;
            text-align: center;
        }
.movie-picks .section-title span {
            color: var(--primary);
        }
.movie-list-item {
            background: var(--card-bg);
            border-radius: var(--radius-card);
            padding: 1.5rem;
            margin-bottom: 1rem;
            box-shadow: var(--shadow);
            transition: background 0.3s;
            display: flex;
            align-items: center;
            gap: 1.5rem;
        }
.movie-list-item:hover {
            background: #1e1e28;
        }
.movie-list-item .rank {
            font-family: var(--font-mono);
            font-size: 1.5rem;
            font-weight: 900;
            color: var(--accent);
            min-width: 50px;
            text-align: center;
        }
.movie-list-item .info {
            flex: 1;
        }
.movie-list-item .info h4 {
            color: var(--text);
            font-weight: 700;
            font-size: 1.1rem;
            margin-bottom: 0.3rem;
        }
.movie-list-item .info p {
            color: var(--text);
            opacity: 0.6;
            font-size: 0.85rem;
            margin-bottom: 0;
        }
.movie-list-item .score {
            font-family: var(--font-mono);
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--accent);
            text-align: center;
            min-width: 60px;
        }
.movie-list-item .score small {
            font-size: 0.75rem;
            color: var(--text);
            opacity: 0.5;
            display: block;
        }
.movie-genre-card {
            background: var(--card-bg);
            border-radius: var(--radius-card);
            padding: 1.5rem;
            text-align: center;
            box-shadow: var(--shadow);
            transition: all 0.3s;
            height: 100%;
            display: block;
            text-decoration: none;
        }
.movie-genre-card:hover {
            transform: scale(1.03);
            background: #1e1e28;
        }
.movie-genre-card i {
            font-size: 2rem;
            color: var(--primary);
            margin-bottom: 0.8rem;
        }
.movie-genre-card h5 {
            color: var(--text);
            font-weight: 700;
            font-size: 1rem;
            margin-bottom: 0.3rem;
        }
.movie-genre-card span {
            color: var(--text);
            opacity: 0.5;
            font-size: 0.8rem;
        }
.movie-timeline {
            border-left: 3px solid var(--primary);
            margin-left: 20px;
            padding-left: 20px;
        }
.movie-timeline .timeline-item {
            position: relative;
            margin-bottom: 1.5rem;
        }
.movie-timeline .timeline-item::before {
            content: '';
            position: absolute;
            left: -27px;
            top: 5px;
            width: 12px;
            height: 12px;
            background: var(--primary);
            border-radius: 50%;
            border: 2px solid var(--bg);
        }
.movie-timeline .timeline-item h4 {
            color: var(--text);
            font-weight: 700;
            font-size: 1rem;
            margin-bottom: 0.3rem;
        }
.movie-timeline .timeline-item p {
            color: var(--text);
            opacity: 0.7;
            font-size: 0.85rem;
            line-height: 1.6;
        }
.movie-quote {
            background: linear-gradient(135deg, rgba(229,9,20,0.1), rgba(245,197,24,0.05));
            border-radius: var(--radius-card);
            padding: 2rem;
            margin: 2rem 0;
            border-left: 4px solid var(--primary);
        }
.movie-quote p {
            color: var(--text);
            font-style: italic;
            font-size: 1.1rem;
            line-height: 1.8;
            margin-bottom: 0;
        }
.movie-quote .author {
            color: var(--accent);
            font-style: normal;
            font-weight: 600;
            margin-top: 0.8rem;
            display: block;
        }
.movie-hero h1 {
                font-size: 2rem;
            }
.movie-list-item {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.8rem;
            }
.movie-list-item .score {
                text-align: left;
            }

/* --- 子页面追加 --- */
.tv-hero { padding: 90px 0 50px; background: linear-gradient(135deg, rgba(229,9,20,.15) 0%, transparent 50%), var(--bg); }
.tv-hero .hero-title { font-size: 2.6rem; font-weight: 900; letter-spacing: -.02em; }
.tv-hero .hero-sub { color: rgba(245,245,247,.65); max-width: 620px; margin: 18px auto 0; font-size: 1.05rem; line-height: 1.7; }
.tv-hero .hero-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(229,9,20,.12); color: var(--accent); border: 1px solid rgba(229,9,20,.3); padding: 6px 18px; border-radius: var(--radius-pill); font-size: .82rem; font-weight: 600; letter-spacing: .04em; margin-bottom: 20px; }
.tv-section { padding: 60px 0; }
.tv-section.bg-alt { background: rgba(22,22,29,.5); border-top: 1px solid rgba(255,255,255,.04); border-bottom: 1px solid rgba(255,255,255,.04); }
.tv-section .section-title { font-size: 1.75rem; font-weight: 800; letter-spacing: -.01em; margin-bottom: 8px; }
.tv-section .section-title i { color: var(--accent); margin-right: 10px; font-size: 1.3rem; }
.tv-section .section-sub { color: rgba(245,245,247,.55); font-size: .95rem; margin-bottom: 30px; }
.tv-card { background: var(--card-bg); border-radius: var(--radius-card); overflow: hidden; border: 1px solid rgba(255,255,255,.05); transition: transform .3s ease, box-shadow .3s ease; height: 100%; }
.tv-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.tv-card .card-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; }
.tv-card .card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.tv-card:hover .card-thumb img { transform: scale(1.05); }
.tv-card .card-tag { position: absolute; top: 12px; left: 12px; background: rgba(229,9,20,.9); color: #fff; font-size: .7rem; font-weight: 700; padding: 4px 12px; border-radius: var(--radius-pill); letter-spacing: .05em; }
.tv-card .card-score { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,.75); backdrop-filter: blur(6px); color: var(--accent); font-weight: 800; font-size: .9rem; padding: 4px 10px; border-radius: 8px; border: 1px solid rgba(245,197,24,.3); }
.tv-card .card-body { padding: 18px; }
.tv-card .card-title { font-size: 1.05rem; font-weight: 700; margin-bottom: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tv-card .card-meta { font-size: .78rem; color: rgba(245,245,247,.5); margin-bottom: 10px; }
.tv-card .card-meta span { margin-right: 12px; }
.tv-card .card-meta i { font-size: .7rem; margin-right: 4px; color: var(--accent); }
.tv-card .card-desc { font-size: .85rem; color: rgba(245,245,247,.65); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tv-list-item { display: flex; align-items: center; gap: 18px; padding: 16px 20px; background: var(--card-bg); border-radius: var(--radius-card); border: 1px solid rgba(255,255,255,.05); margin-bottom: 12px; transition: border-color .3s; }
.tv-list-item:hover { border-color: rgba(229,9,20,.4); }
.tv-list-item .rank-num { font-family: var(--font-mono); font-size: 1.4rem; font-weight: 800; color: var(--accent); min-width: 40px; text-align: center; }
.tv-list-item .rank-num.top { color: var(--primary); font-size: 1.7rem; }
.tv-list-item .item-title { font-weight: 600; font-size: .98rem; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tv-list-item .item-meta { font-size: .8rem; color: rgba(245,245,247,.5); white-space: nowrap; }
.tv-list-item .item-score { font-family: var(--font-mono); color: var(--accent); font-weight: 700; font-size: .95rem; }
.tv-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 30px; }
.tv-tab { padding: 8px 22px; border-radius: var(--radius-pill); font-size: .88rem; font-weight: 600; cursor: pointer; border: 1px solid rgba(255,255,255,.1); background: transparent; color: rgba(245,245,247,.7); transition: all .25s; }
.tv-tab:hover { border-color: var(--accent); color: var(--accent); }
.tv-tab.active { background: var(--primary); border-color: var(--primary); color: #fff; }
.tv-pick { background: linear-gradient(120deg, rgba(229,9,20,.1) 0%, rgba(22,22,29,.8) 100%); border-radius: var(--radius-card); padding: 30px; border: 1px solid rgba(229,9,20,.2); margin-bottom: 30px; }
.tv-pick .pick-label { font-size: .75rem; letter-spacing: .1em; color: var(--accent); font-weight: 700; text-transform: uppercase; margin-bottom: 10px; }
.tv-pick .pick-title { font-size: 1.5rem; font-weight: 800; margin-bottom: 8px; }
.tv-pick .pick-desc { color: rgba(245,245,247,.65); line-height: 1.7; max-width: 700px; }
.tv-pick .pick-tags { margin-top: 15px; display: flex; gap: 8px; flex-wrap: wrap; }
.tv-pick .pick-tags span { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); padding: 4px 14px; border-radius: var(--radius-pill); font-size: .78rem; }
.tv-guide-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.tv-guide-card { background: var(--card-bg); border-radius: var(--radius-card); padding: 26px; border: 1px solid rgba(255,255,255,.05); transition: border-color .3s, transform .3s; }
.tv-guide-card:hover { border-color: rgba(229,9,20,.35); transform: translateY(-4px); }
.tv-guide-card .guide-icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; background: rgba(229,9,20,.12); color: var(--accent); margin-bottom: 16px; }
.tv-guide-card h4 { font-size: 1.02rem; font-weight: 700; margin-bottom: 8px; }
.tv-guide-card p { font-size: .86rem; color: rgba(245,245,247,.6); line-height: 1.7; margin: 0; }
.tv-hero .hero-title { font-size: 1.9rem; }
.tv-section .section-title { font-size: 1.4rem; }
.tv-list-item .item-meta { display: none; }

/* --- 子页面追加 --- */
/* 综艺页局部配色增强，与首页变量完全一致 */
    .variety-hero {
      background: radial-gradient(circle at 20% 30%, #1f1f2b 0%, var(--bg) 80%);
      border-bottom: 1px solid rgba(245,197,24,0.15);
    }
.variety-hero .hero-badge {
      background: rgba(245,197,24,0.12);
      color: var(--accent);
      border: 1px solid rgba(245,197,24,0.3);
    }
/* 综艺卡片覆盖（确保没有白底） */
    .movie-card {
      background: var(--card-bg);
      border: 1px solid #26262e;
      transition: transform .2s ease, border-color .2s;
    }
.movie-card .card-body {
      background: transparent;
      color: var(--text);
    }
.rank-list .rank-item {
      background: rgba(22,22,29,0.7);
      border-bottom: 1px solid #24242c;
    }
.rank-list .rank-item:last-child {
      border-bottom: none;
    }
.form-select, .form-control {
      background: rgba(0,0,0,0.3);
      border: 1px solid #2c2c36;
      color: var(--text);
    }
.form-select option {
      background: #16161d;
    }

/* --- 子页面追加 --- */
background: linear-gradient(135deg, rgba(11,11,15,0.9) 0%, rgba(22,22,29,0.7) 100%), url(' {随机图片}
.anime-grid-card {
            background: var(--card-bg);
            border-radius: var(--radius-card);
            padding: 1.5rem 1.2rem;
            transition: transform .2s ease, box-shadow .2s;
            border: 1px solid rgba(255,255,255,0.04);
            height: 100%;
        }
.anime-grid-card:hover {
            transform: translateY(-4px);
            box-shadow: 0 12px 28px rgba(0,0,0,0.6);
        }
.anime-tag {
            background: rgba(229,9,20,0.15);
            color: var(--accent);
            padding: 0.2rem 0.8rem;
            border-radius: var(--radius-pill);
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.3px;
            display: inline-block;
        }
.season-badge {
            background: var(--primary);
            color: #fff;
            padding: 0.25rem 0.9rem;
            border-radius: var(--radius-pill);
            font-size: 0.7rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
.rank-badge {
            font-family: var(--font-mono);
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--accent);
            background: rgba(245,197,24,0.08);
            width: 40px;
            height: 40px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            border: 1px solid rgba(245,197,24,0.3);
            flex-shrink: 0;
        }
.list-group-flush-custom {
            border-bottom: 1px solid rgba(255,255,255,0.05);
            padding: 0.8rem 0.5rem;
        }
.list-group-flush-custom:last-child {
            border-bottom: none;
        }
.text-muted-custom {
            color: rgba(245,245,247,0.6);
            font-size: 0.9rem;
        }
.nav-link.active-anime {
            color: var(--accent) !important;
            font-weight: 600;
        }
.card-no-bs {
            background: transparent;
            border: none;
        }

/* --- 子页面追加 --- */
/* 关于页专属微调 */
    .about-hero {
      padding: 120px 0 60px;
      background: radial-gradient(ellipse at 20% 50%, rgba(229, 9, 20, 0.15) 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, rgba(245, 197, 24, 0.08) 0%, transparent 40%);
    }
.about-hero .hero-title {
      font-size: clamp(2.2rem, 5vw, 3.5rem);
      font-weight: 800;
      letter-spacing: -0.02em;
      line-height: 1.15;
      margin-bottom: 1rem;
    }
.about-hero .hero-title span {
      background: linear-gradient(135deg, var(--primary), var(--accent));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
.about-hero .hero-sub {
      color: rgba(245, 245, 247, 0.7);
      font-size: 1.15rem;
      max-width: 640px;
      margin: 0 auto;
      line-height: 1.7;
    }
.section-label::before {
      content: "";
      width: 28px;
      height: 2px;
      background: var(--primary);
      border-radius: 2px;
    }
.about-card {
      background: var(--card-bg);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: var(--radius-card);
      padding: 2rem;
      height: 100%;
      transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    }
.about-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: rgba(229, 9, 20, 0.4);
    }
.about-card i {
      font-size: 1.8rem;
      color: var(--primary);
      margin-bottom: 1rem;
      display: inline-block;
    }
.about-card h3 {
      font-size: 1.15rem;
      font-weight: 700;
      margin-bottom: 0.8rem;
      color: var(--text);
    }
.about-card p {
      font-size: 0.95rem;
      color: rgba(245, 245, 247, 0.7);
      line-height: 1.7;
      margin-bottom: 0;
    }
.timeline-item:last-child {
      margin-bottom: 0;
    }
.timeline-item h3 {
      font-size: 1.1rem;
      font-weight: 700;
      margin-bottom: 0.5rem;
      color: var(--text);
    }
.timeline-item .date-badge {
      display: inline-block;
      font-family: var(--font-mono);
      font-size: 0.75rem;
      color: var(--accent);
      margin-bottom: 0.4rem;
      letter-spacing: 0.04em;
    }
.value-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
.value-list li {
      display: flex;
      align-items: flex-start;
      gap: 0.8rem;
      padding: 0.8rem 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      font-size: 0.95rem;
      color: rgba(245, 245, 247, 0.8);
      line-height: 1.6;
    }
.value-list li:last-child {
      border-bottom: none;
    }
.value-list li i {
      color: var(--primary);
      font-size: 0.9rem;
      margin-top: 0.2rem;
      flex-shrink: 0;
    }
.stat-number {
      font-family: var(--font-mono);
      font-size: 2rem;
      font-weight: 800;
      color: var(--text);
      line-height: 1;
    }
.stat-label {
      font-size: 0.8rem;
      color: rgba(245, 245, 247, 0.5);
      margin-top: 0.4rem;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }
.highlight-box {
      background: rgba(229, 9, 20, 0.08);
      border-left: 3px solid var(--primary);
      border-radius: 0 var(--radius-card) var(--radius-card) 0;
      padding: 1.5rem 2rem;
      margin: 2rem 0;
    }
.highlight-box p {
      margin: 0;
      font-size: 1.05rem;
      color: rgba(245, 245, 247, 0.85);
      line-height: 1.8;
      font-style: italic;
    }
.highlight-box .quote-author {
      margin-top: 0.8rem;
      font-size: 0.85rem;
      font-style: normal;
      color: var(--accent);
      font-weight: 600;
    }
.team-chip {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: rgba(255, 255, 255, 0.04);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: var(--radius-pill);
      padding: 6px 14px;
      font-size: 0.85rem;
      color: rgba(245, 245, 247, 0.8);
      margin: 4px;
    }
.team-chip i {
      color: var(--accent);
      font-size: 0.8rem;
    }
.cta-band {
      background: linear-gradient(135deg, rgba(229, 9, 20, 0.15) 0%, rgba(245, 197, 24, 0.1) 100%);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: var(--radius-card);
      padding: 3rem 2rem;
      text-align: center;
    }
.cta-band h2 {
      font-size: 1.8rem;
      font-weight: 800;
      margin-bottom: 0.8rem;
    }
.cta-band p {
      color: rgba(245, 245, 247, 0.7);
      max-width: 560px;
      margin: 0 auto 1.5rem;
      font-size: 1rem;
      line-height: 1.7;
    }
.about-hero {
        padding: 90px 0 40px;
      }
.about-card {
        padding: 1.5rem;
      }
.highlight-box {
        padding: 1.2rem 1.2rem;
      }

/* --- 子页面追加 --- */
/* 本页专属补充样式（自动合并进站点CSS） */
    .disclaimer-hero {
      background: linear-gradient(135deg, rgba(229, 9, 20, 0.15) 0%, rgba(11, 11, 15, 0.9) 60%, rgba(11, 11, 15, 1) 100%);
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      padding: 80px 0 50px;
    }
.disclaimer-content {
      background: var(--card-bg);
      border-radius: var(--radius-card);
      padding: 40px 36px;
      box-shadow: var(--shadow);
      border: 1px solid rgba(255, 255, 255, 0.06);
    }
.disclaimer-content h3 {
      color: var(--accent);
      font-size: 1.35rem;
      font-weight: 700;
      margin-top: 36px;
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 10px;
    }
.disclaimer-content h3:first-child {
      margin-top: 0;
    }
.disclaimer-content h3 i {
      color: var(--primary);
      font-size: 1.1rem;
    }
.disclaimer-content p {
      color: rgba(245, 245, 247, 0.82);
      font-size: 0.98rem;
      line-height: 1.85;
      margin-bottom: 14px;
    }
.disclaimer-content ul {
      padding-left: 20px;
      margin-bottom: 16px;
    }
.disclaimer-content ul li {
      color: rgba(245, 245, 247, 0.78);
      font-size: 0.95rem;
      line-height: 1.8;
      margin-bottom: 6px;
      position: relative;
    }
.disclaimer-content ul li::marker {
      color: var(--primary);
    }
.disclaimer-box {
      background: rgba(229, 9, 20, 0.08);
      border-left: 3px solid var(--primary);
      border-radius: 0 10px 10px 0;
      padding: 18px 22px;
      margin: 26px 0;
    }
.disclaimer-box p {
      margin-bottom: 0;
      color: rgba(245, 245, 247, 0.85);
    }
.disclaimer-updated {
      display: inline-block;
      background: rgba(245, 197, 24, 0.1);
      color: var(--accent);
      font-size: 0.85rem;
      font-weight: 600;
      padding: 5px 16px;
      border-radius: var(--radius-pill);
      margin-top: 8px;
      letter-spacing: 0.3px;
    }
.contact-link {
      color: var(--accent);
      text-decoration: underline;
      text-underline-offset: 3px;
      transition: all 0.2s ease;
    }
.contact-link:hover {
      color: var(--primary);
    }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.card-text { color:#f5f5f7 !important; }
.accordion-body { background:transparent !important; color:#f5f5f7 !important; }
.accordion-header { background:transparent !important; }
