:root{
  --primary:#dc2626;
  --accent:#fb923c;
  --bg:#141013;
  --text:#fef2f2;
  --card-bg:#1e1a1e;
  --card-hover:#2a242a;
  --radius-card:14px;
  --radius-pill:50rem;
  --shadow-light:0 4px 20px rgba(0,0,0,0.3);
  --shadow-hover:0 12px 32px rgba(220,38,38,0.25);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}
.hero{
  min-height:88vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  background:url('{随机图片}') center/cover no-repeat fixed;
  padding:2rem;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.75);
  backdrop-filter:blur(3px);
}
.hero-content{position:relative;z-index:2;max-width:900px}
.hero h1{
  font-size:3.5rem;
  font-weight:900;
  letter-spacing:-0.02em;
  margin-bottom:1rem;
  color:var(--text);
  text-shadow:0 2px 40px rgba(0,0,0,0.8);
}
.hero p{
  font-size:1.2rem;
  font-weight:300;
  opacity:0.9;
  margin-bottom:2rem;
}
.hero-badge{
  display:inline-block;
  background:rgba(220,38,38,0.9);
  color:var(--text);
  padding:0.5rem 1.5rem;
  border-radius:var(--radius-pill);
  font-weight:600;
  font-size:0.95rem;
  margin-bottom:1.2rem;
  backdrop-filter:blur(10px);
}
.navbar-custom{
  background:rgba(20,16,19,0.92);
  backdrop-filter:blur(15px);
  border-bottom:1px solid rgba(254,242,242,0.08);
  padding:0.75rem 0;
}
.navbar-custom .navbar-brand{
  color:var(--text);
  font-weight:900;
  font-size:1.5rem;
  letter-spacing:-0.01em;
}
.navbar-custom .nav-link{
  color:rgba(254,242,242,0.8);
  font-weight:500;
  font-size:0.95rem;
  padding:0.5rem 1rem;
  border-radius:var(--radius-pill);
  transition:all 0.2s;
}
.navbar-custom .nav-link:hover{color:var(--text);background:rgba(220,38,38,0.2)}
.navbar-toggler{border-color:rgba(254,242,242,0.2)}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28254,242,242,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.section{padding:4rem 0}
.section-title{
  font-weight:900;
  font-size:1.75rem;
  letter-spacing:-0.01em;
  margin-bottom:1.5rem;
  display:flex;
  align-items:center;
  gap:0.75rem;
}
.section-title i{color:var(--primary)}
.section-title .divider{
  flex:1;
  height:2px;
  background:linear-gradient(90deg,var(--primary),transparent);
  margin-left:1rem;
}
.card-film{
  background:var(--card-bg);
  border-radius:var(--radius-card);
  overflow:hidden;
  border:none;
  box-shadow:var(--shadow-light);
  transition:all 0.35s cubic-bezier(0.4,0,0.2,1);
  cursor:pointer;
  height:100%;
}
.card-film:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-hover);
}
.card-film .poster-wrap{
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:linear-gradient(135deg,#2a242a,#1e1a1e);
}
.card-film .poster-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.4s;
}
.card-film:hover .poster-wrap img{transform:scale(1.06)}
.card-film .rating-badge{
  position:absolute;
  top:10px;
  right:10px;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(8px);
  color:#fbbf24;
  font-weight:800;
  font-size:0.9rem;
  padding:0.25rem 0.6rem;
  border-radius:var(--radius-pill);
}
.card-film .card-body{
  padding:0.75rem;
}
.card-film .film-title{
  font-weight:700;
  font-size:0.95rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.card-film .film-meta{
  font-size:0.8rem;
  color:rgba(254,242,242,0.6);
  margin-top:0.25rem;
  display:flex;
  gap:0.5rem;
}
.card-film .film-tags{
  display:flex;
  gap:0.4rem;
  margin-top:0.5rem;
  flex-wrap:wrap;
}
.tag-pill{
  background:rgba(220,38,38,0.15);
  color:var(--accent);
  border-radius:var(--radius-pill);
  padding:0.15rem 0.6rem;
  font-size:0.7rem;
  font-weight:600;
  border:1px solid rgba(220,38,38,0.2);
}
.category-row{margin-bottom:2.5rem}
.category-title{
  font-weight:800;
  font-size:1.3rem;
  margin-bottom:1rem;
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.category-title i{color:var(--accent)}
.rank-list{
  background:var(--card-bg);
  border-radius:var(--radius-card);
  padding:1.25rem;
}
.rank-item{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:0.75rem;
  border-radius:12px;
  transition:background 0.2s;
}
.rank-item:hover{background:rgba(254,242,242,0.04)}
.rank-num{
  width:2.5rem;
  height:2.5rem;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.2rem;
  border-radius:var(--radius-pill);
  flex-shrink:0;
}
.rank-gold{background:linear-gradient(135deg,#f59e0b,#d97706);color:#141013}
.rank-silver{background:linear-gradient(135deg,#94a3b8,#64748b);color:#141013}
.rank-bronze{background:linear-gradient(135deg,#b45309,#92400e);color:#141013}
.rank-plain{background:rgba(254,242,242,0.08);color:var(--text)}
.rank-info{flex:1;min-width:0}
.rank-info .rank-title{font-weight:600;font-size:0.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rank-info .rank-sub{font-size:0.8rem;color:rgba(254,242,242,0.5)}
.rank-score{font-weight:800;color:#fbbf24;font-size:0.9rem}
.accordion-custom .accordion-item{
  background:var(--card-bg);
  border:1px solid rgba(254,242,242,0.05);
  border-radius:12px;
  margin-bottom:0.75rem;
  overflow:hidden;
}
.accordion-custom .accordion-button{
  background:var(--card-bg);
  color:var(--text);
  font-weight:600;
  padding:1rem 1.25rem;
  box-shadow:none;
}
.accordion-custom .accordion-button:not(.collapsed){
  background:rgba(220,38,38,0.1);
  color:var(--accent);
}
.accordion-custom .accordion-button:focus{box-shadow:none}
.accordion-custom .accordion-body{
  color:rgba(254,242,242,0.85);
  font-size:0.9rem;
  line-height:1.7;
}
.friend-links{
  background:var(--card-bg);
  border-radius:var(--radius-card);
  padding:1.5rem;
  margin-top:3rem;
}
.friend-links h6{
  color:var(--accent);
  font-weight:700;
  margin-bottom:1rem;
  font-size:0.9rem;
  text-transform:uppercase;
  letter-spacing:0.05em;
}
.footer{
  background:linear-gradient(to bottom,var(--bg),#0d0a0d);
  padding:3rem 0 2rem;
  border-top:1px solid rgba(254,242,242,0.05);
  margin-top:3rem;
}
.footer .brand{
  font-size:1.8rem;
  font-weight:900;
  color:var(--text);
  letter-spacing:-0.02em;
}
.footer a{
  color:rgba(254,242,242,0.7);
  text-decoration:none;
  font-size:0.9rem;
  transition:color 0.2s;
}
.footer a:hover{color:var(--accent)}
.footer .footer-links{
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
  justify-content:center;
  margin:1.5rem 0;
}
.hero-scroll-indicator{
  position:absolute;
  bottom:2rem;
  left:50%;
  transform:translateX(-50%);
  color:var(--text);
  opacity:0.7;
  animation:bounce 2s infinite;
  z-index:2;
  font-size:1.5rem;
}
@keyframes bounce{
  0%,100%{transform:translateY(0) translateX(-50%)}
  50%{transform:translateY(15px) translateX(-50%)}
}
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease,transform 0.8s ease}
.fade-up.visible{opacity:1;transform:translateY(0)}
.modal-content-custom{
  background:var(--card-bg);
  border-radius:20px;
  border:none;
  color:var(--text);
}
.modal-poster{
  width:100%;
  border-radius:12px;
  aspect-ratio:2/3;
  object-fit:cover;
}
.close-btn{
  position:absolute;
  top:12px;
  right:12px;
  z-index:10;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(0,0,0,0.6);
  border:none;
  color:#fff;
  font-size:1.2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background 0.2s;
}
.close-btn:hover{background:rgba(220,38,38,0.8)}
@media(max-width:768px){
  .hero h1{font-size:2.2rem}
  .hero{min-height:70vh}
  .section{padding:2.5rem 0}
  .section-title{font-size:1.3rem}
}

/* --- 子页面追加 --- */
/* 保证任何bootstrap组件不会出现白底黑字, 但我们只用栅格与工具类, 这里做防御 */
    .card, .card-body, .card-title, .card-text, .card-header, .card-footer,
    .form-control, .form-select, .form-label, .input-group-text,
    .table, .list-group-item, .accordion-item, .accordion-button, .accordion-body,
    .modal-content, .modal-header, .modal-body, .dropdown-menu, .dropdown-item,
    .nav-link, .navbar, .navbar-brand, .btn-light, .btn-outline-* {
      background: transparent !important;
      color: var(--text) !important;
      border-color: var(--border-color, #3a2e3a) !important;
    }
/* 小细节: 导航栏当前页高亮 (关于我们) 使用主色 */
    .navbar-nav .nav-link.active {
      color: var(--primary) !important;
      font-weight: 600;
    }
/* 关于我们页的专属卡片式区块 */
    .about-card {
      background: var(--card-bg);
      border-radius: var(--radius-card);
      padding: 2rem;
      transition: transform .2s, box-shadow .2s;
      box-shadow: var(--shadow-light);
      height: 100%;
      border: 1px solid rgba(220, 38, 38, 0.1);
    }
.about-card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow-hover);
    }
.about-icon {
      font-size: 2.2rem;
      color: var(--primary);
      margin-bottom: 1rem;
    }
.about-list {
      list-style: none;
      padding-left: 0;
      margin-top: 1.2rem;
    }
.about-list li {
      padding: .45rem 0;
      border-bottom: 1px dashed rgba(251, 146, 60, .2);
      display: flex;
      align-items: center;
      gap: .6rem;
    }
.about-list li i {
      color: var(--accent);
      font-size: .9rem;
      width: 1.2rem;
    }
.about-highlight {
      color: var(--accent);
      font-weight: 600;
    }
.text-muted-soft {
      color: rgba(254, 242, 242, 0.7);
    }
/* hero 区小调整 */
    .hero-about {
      background: radial-gradient(circle at 20% 30%, rgba(220,38,38,.15), transparent 60%);
    }
.section-title::after {
      content: '';
      position: absolute;
      left: 0;
      bottom: -8px;
      width: 60px;
      height: 3px;
      background: var(--primary);
      border-radius: 4px;
    }
/* 友情链接占位 */
    .friend-links a {
      color: var(--text);
      opacity: .75;
      transition: opacity .2s;
      margin-right: 1rem;
    }
.friend-links a:hover {
      opacity: 1;
      color: var(--accent);
    }

/* --- 子页面追加 --- */
/* 本页专属样式 - 免责声明页 */
        .legal-page { padding-top: 140px; padding-bottom: 80px; }
.legal-hero { text-align: center; margin-bottom: 50px; }
.legal-hero h1 { font-size: 2.5rem; font-weight: 800; color: var(--text); }
.legal-hero h1 span { color: var(--primary); }
.legal-hero .hero-badge { display: inline-block; background: rgba(220,38,38,0.15); color: var(--accent); padding: 6px 20px; border-radius: var(--radius-pill); font-size: .85rem; margin-bottom: 20px; letter-spacing: .5px; }
.legal-container { max-width: 900px; margin: 0 auto; }
.legal-card { background: var(--card-bg); border-radius: var(--radius-card); padding: 35px 40px; margin-bottom: 25px; box-shadow: var(--shadow-light); border-left: 4px solid var(--primary); transition: all .3s ease; }
.legal-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.legal-card h2 { font-size: 1.4rem; font-weight: 700; color: var(--accent); margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.legal-card h2 i { color: var(--primary); font-size: 1.2rem; }
.legal-card p, .legal-card li { color: rgba(254,242,242,0.8); font-size: .95rem; line-height: 1.8; }
.legal-card ul { padding-left: 20px; }
.legal-card ul li { margin-bottom: 8px; }
.legal-card strong { color: var(--text); }
.legal-card .highlight { color: var(--accent); font-weight: 600; }
.legal-card .divider { height: 1px; background: rgba(255,255,255,0.08); margin: 20px 0; }
.legal-footer-note { text-align: center; color: rgba(254,242,242,0.5); font-size: .85rem; margin-top: 40px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.08); }
.legal-footer-note a { color: var(--accent); text-decoration: none; }
.legal-footer-note a:hover { color: var(--primary); }
.legal-page { padding-top: 120px; }
.legal-hero h1 { font-size: 1.8rem; }
.legal-card { padding: 25px 20px; }
.legal-card h2 { font-size: 1.2rem; }

/* --- 子页面追加 --- */
/* 覆盖 Bootstrap 卡片及表单等默认白底，保证深色风格一致 */
    .card, .card-body, .card-title, .card-text, .card-header, .card-footer,
    .form-control, .form-select, .form-label, .input-group-text,
    .list-group-item, .accordion-item, .accordion-button, .accordion-body {
      background: var(--card-bg);
      color: var(--text);
      border-color: var(--card-hover);
    }
.form-control::placeholder {
      color: rgba(255, 255, 255, 0.5);
    }
/* 隐私政策特有卡片细节 */
    .privacy-block {
      background: var(--card-bg);
      border-radius: var(--radius-card);
      padding: 2rem 1.8rem;
      margin-bottom: 1.8rem;
      box-shadow: var(--shadow-light);
      transition: box-shadow 0.25s ease, background 0.25s;
    }
.privacy-block:hover {
      box-shadow: var(--shadow-hover);
      background: var(--card-hover);
    }
.privacy-icon {
      color: var(--primary);
      font-size: 1.8rem;
      margin-right: 0.75rem;
      vertical-align: middle;
    }
.list-check {
      list-style: none;
      padding-left: 0;
    }
.list-check li {
      padding: 0.4rem 0;
      display: flex;
      align-items: flex-start;
      gap: 0.6rem;
    }
.list-check i {
      color: var(--accent);
      margin-top: 0.25rem;
    }
.privacy-highlight {
      background: rgba(220, 38, 38, 0.08);
      border-left: 4px solid var(--primary);
      padding: 1rem 1.4rem;
      border-radius: 0 var(--radius-card) var(--radius-card) 0;
      margin: 1.5rem 0;
    }
.section-title span {
      border-bottom: 3px solid var(--primary);
      padding-bottom: 0.2rem;
    }
.navbar-brand i {
      color: var(--primary);
    }
/* 调整页面主标题 */
    .page-header {
      padding: 3.5rem 0 1.5rem;
    }
.page-header h1 {
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--text);
    }
.page-header p {
      color: rgba(254, 242, 242, 0.7);
    }

/* --- 子页面追加 --- */
/* 确保Bootstrap组件配色与站点一致（覆盖白底黑字） */
        .card, .card-body, .card-title, .card-text, .card-header, .card-footer {
            background: var(--card-bg);
            color: var(--text);
            border-color: var(--border-color, #3a2e3a);
        }
.list-group-item {
            background: var(--card-bg);
            color: var(--text);
            border-color: #3a2e3a;
        }
.form-control, .form-select {
            background: rgba(0,0,0,0.35);
            color: var(--text);
            border-color: #3a2e3a;
        }
.modal-content, .modal-header, .modal-body {
            background: var(--card-bg);
            color: var(--text);
            border-color: #3a2e3a;
        }
.dropdown-menu, .dropdown-item {
            background: var(--card-bg);
            color: var(--text);
        }
.btn-light {
            background: var(--card-bg);
            color: var(--text);
            border-color: #3a2e3a;
        }
/* 排行榜专用微调 */
        .rank-section-title {
            font-size: 2rem;
            font-weight: 800;
            letter-spacing: -0.02em;
            border-left: 6px solid var(--primary);
            padding-left: 1rem;
            margin-bottom: 2rem;
        }
.rank-subnote {
            color: rgba(254,242,242,0.6);
            font-size: 0.95rem;
            margin-top: -0.5rem;
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
.rank-subnote i {
            color: var(--accent);
        }
.badge-update {
            background: rgba(220,38,38,0.2);
            color: var(--accent);
            padding: 0.25rem 0.8rem;
            border-radius: 50rem;
            font-size: 0.75rem;
            font-weight: 600;
            letter-spacing: 0.5px;
            border: 1px solid rgba(251,146,60,0.3);
        }

/* --- 子页面追加 --- */
/* 保证本页卡片、列表与全局深色风格一致 */
    .guide-card, .guide-list-group, .step-box {
      background: var(--card-bg);
      border: 1px solid rgba(220, 38, 38, 0.15);
      border-radius: var(--radius-card);
      color: var(--text);
      transition: box-shadow 0.2s, background 0.2s;
    }
.guide-card:hover, .step-box:hover {
      background: var(--card-hover);
      box-shadow: var(--shadow-hover);
    }
.guide-card .card-title, .guide-card .card-text, 
    .step-box h4, .step-box p {
      color: var(--text);
    }
.guide-list-group .list-group-item {
      background: transparent;
      border-color: rgba(220,38,38,0.1);
      color: var(--text);
    }
.guide-list-group .list-group-item i {
      color: var(--accent);
    }
/* 表格/代码块深色适配 */
    .guide-table {
      --bs-table-bg: transparent;
      --bs-table-color: var(--text);
      --bs-table-border-color: rgba(220,38,38,0.2);
    }
.guide-table td, .guide-table th {
      background: transparent;
      color: var(--text);
      border-color: rgba(220,38,38,0.2);
    }
.guide-table thead th {
      color: var(--accent);
      font-weight: 600;
    }
/* 步骤数字圆圈 */
    .step-num {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      background: var(--primary);
      color: #fff;
      border-radius: 50%;
      font-weight: 700;
      margin-right: 10px;
    }
/* 高亮导航当前页 */
    .navbar-nav .nav-link.active-guide {
      color: var(--primary) !important;
      font-weight: 600;
    }
/* 视频播放容器占位 */
    .guide-video-placeholder {
      background: rgba(0,0,0,0.3);
      border-radius: 12px;
      padding: 2rem;
      text-align: center;
      border: 1px dashed rgba(251,146,60,0.4);
    }

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