:root{
  --main-color:#f472b6;
  --accent-color:#fbbf24;
  --bg-color:#fff5f7;
  --text-color:#4a2530;
  --dark-bg:#1a0a10;
  --border-w:3px;
  --shadow-hard:6px 6px 0 rgba(74,37,48,0.9);
  --shadow-hover:10px 10px 0 rgba(244,114,182,0.9);
  --radius:0px;
}
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}
html{
  scroll-behavior:smooth;
}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg-color);
  color:var(--text-color);
  line-height:1.6;
  font-size:16px;
  letter-spacing:0.01em;
}
img{
  max-width:100%;
  display:block;
}
a{
  text-decoration:none;
  color:inherit;
}
.navbar{
  background:var(--dark-bg);
  border-bottom:var(--border-w) solid var(--text-color);
  padding:0.8rem 0;
  box-shadow:0 4px 0 rgba(244,114,182,0.4);
}
.navbar-brand{
  font-weight:900;
  font-size:1.8rem;
  color:var(--main-color);
  letter-spacing:-0.02em;
  padding:0.2rem 1.2rem;
  border:var(--border-w) solid var(--main-color);
  background:var(--bg-color);
  box-shadow:4px 4px 0 var(--main-color);
  margin-right:1.5rem;
  transition:all 0.2s;
}
.navbar-brand:hover{
  transform:translate(2px,2px);
  box-shadow:2px 2px 0 var(--main-color);
}
.navbar-nav{
  gap:0.5rem;
}
.nav-link{
  font-weight:700;
  color:#fdf2f8 !important;
  font-size:1rem;
  padding:0.4rem 0.8rem !important;
  border:2px solid transparent;
  transition:all 0.2s;
}
.nav-link:hover{
  border-color:var(--accent-color);
  color:var(--accent-color) !important;
}
.navbar-toggler{
  border:2px solid var(--main-color);
  color:var(--main-color);
}
.navbar-toggler-icon{
  filter:invert(65%) sepia(60%) saturate(500%) hue-rotate(290deg);
}
/* Hero */
.hero{
  background:var(--dark-bg);
  padding:5rem 0 6rem;
  border-bottom:var(--border-w) solid var(--text-color);
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  top:0;left:0;width:100%;height:100%;
  background:linear-gradient(135deg, rgba(244,114,182,0.25) 0%, transparent 40%, rgba(251,191,36,0.15) 80%);
}
.hero h1{
  font-size:clamp(2.2rem,5vw,4rem);
  font-weight:900;
  color:var(--bg-color);
  letter-spacing:-0.03em;
  line-height:1.15;
  text-transform:uppercase;
  position:relative;
  z-index:1;
}
.hero h1 .highlight{
  color:var(--accent-color);
  text-decoration:underline;
  text-decoration-thickness:6px;
  text-underline-offset:8px;
}
.hero p{
  color:#fce7f3;
  font-size:1.2rem;
  max-width:720px;
  margin:1.5rem 0 2.5rem;
  font-weight:400;
  position:relative;
  z-index:1;
}
.hero-buttons{
  position:relative;
  z-index:1;
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}
.btn-hard{
  display:inline-block;
  padding:0.9rem 2rem;
  font-weight:800;
  font-size:1rem;
  border:var(--border-w) solid var(--text-color);
  box-shadow:var(--shadow-hard);
  transition:all 0.15s ease;
  text-transform:uppercase;
  letter-spacing:0.05em;
  background:var(--bg-color);
  color:var(--text-color);
  position:relative;
  overflow:hidden;
}
.btn-hard::after{
  content:'';
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(244,114,182,0.4), rgba(251,191,36,0.4), transparent);
  transition:left 0.4s;
}
.btn-hard:hover::after{
  left:100%;
}
.btn-hard:hover{
  transform:translate(3px,3px);
  box-shadow:3px 3px 0 var(--text-color);
}
.btn-primary-hard{
  background:var(--main-color);
  color:var(--bg-color);
  border-color:var(--text-color);
}
.btn-accent-hard{
  background:var(--accent-color);
  color:var(--text-color);
  border-color:var(--text-color);
}
/* Section */
.section-pad{
  padding:4rem 0;
}
.section-title-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:2rem;
  border-bottom:var(--border-w) solid var(--text-color);
  padding-bottom:0.8rem;
}
.section-title{
  font-size:2rem;
  font-weight:900;
  letter-spacing:-0.02em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  gap:0.8rem;
}
.section-title i{
  color:var(--main-color);
  font-size:1.8rem;
}
.section-title .badge-count{
  background:var(--accent-color);
  color:var(--text-color);
  font-size:0.8rem;
  padding:0.2rem 0.8rem;
  border:2px solid var(--text-color);
  font-weight:800;
}
.section-more{
  font-weight:700;
  font-size:0.9rem;
  border:2px solid var(--text-color);
  padding:0.3rem 1rem;
  background:var(--bg-color);
  transition:all 0.2s;
}
.section-more:hover{
  background:var(--text-color);
  color:var(--bg-color);
}
/* Poster Cards */
.poster-scroll{
  display:flex;
  gap:1.2rem;
  overflow-x:auto;
  padding:0.5rem 0 1.5rem;
  scrollbar-width:thin;
  scrollbar-color:var(--main-color) var(--bg-color);
}
.poster-scroll::-webkit-scrollbar{
  height:8px;
}
.poster-scroll::-webkit-scrollbar-track{
  background:var(--bg-color);
}
.poster-scroll::-webkit-scrollbar-thumb{
  background:var(--main-color);
  border:2px solid var(--text-color);
}
.poster-card{
  min-width:220px;
  max-width:220px;
  background:var(--bg-color);
  border:var(--border-w) solid var(--text-color);
  box-shadow:var(--shadow-hard);
  transition:all 0.2s ease;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  display:flex;
  flex-direction:column;
}
.poster-card:hover{
  transform:translate(-2px,-2px);
  box-shadow:var(--shadow-hover);
}
.poster-img-wrap{
  position:relative;
  overflow:hidden;
  aspect-ratio:2/3;
  background:linear-gradient(135deg, #fdf2f8, #fce7f3);
}
.poster-img-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.3s;
}
.poster-card:hover .poster-img-wrap img{
  transform:scale(1.05);
}
.poster-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(26,10,16,0.85) 100%);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  opacity:0;
  transition:opacity 0.3s;
}
.poster-card:hover .poster-overlay{
  opacity:1;
}
.play-btn{
  background:var(--main-color);
  color:#fff;
  width:60px;
  height:60px;
  border:3px solid var(--text-color);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
  box-shadow:4px 4px 0 rgba(0,0,0,0.5);
  transform:translateY(20px);
  transition:all 0.3s;
  margin-bottom:40px;
}
.poster-card:hover .play-btn{
  transform:translateY(0);
}
.poster-info{
  padding:0.8rem;
  background:var(--bg-color);
  border-top:2px solid var(--text-color);
  flex:1;
  display:flex;
  flex-direction:column;
  gap:0.3rem;
}
.poster-title{
  font-weight:800;
  font-size:1rem;
  line-height:1.3;
  color:var(--text-color);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.poster-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:0.8rem;
}
.poster-rating{
  background:var(--text-color);
  color:var(--accent-color);
  font-weight:900;
  padding:0.1rem 0.5rem;
  border:1px solid var(--text-color);
  font-size:0.8rem;
}
.poster-year{
  font-weight:600;
  opacity:0.7;
}
.poster-type{
  font-size:0.7rem;
  font-weight:700;
  text-transform:uppercase;
  color:var(--main-color);
  border:1px solid var(--main-color);
  padding:0.1rem 0.4rem;
  display:inline-block;
  width:fit-content;
}
/* Top List */
.toplist-section{
  background:var(--dark-bg);
  color:var(--bg-color);
  border-top:var(--border-w) solid var(--text-color);
  border-bottom:var(--border-w) solid var(--text-color);
}
.toplist-section .section-title{
  color:var(--bg-color);
}
.toplist-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;
}
.rank-card{
  background:var(--bg-color);
  border:var(--border-w) solid var(--text-color);
  box-shadow:6px 6px 0 var(--main-color);
  padding:1rem;
  display:flex;
  gap:1rem;
  align-items:center;
  transition:all 0.2s;
}
.rank-card:hover{
  transform:translate(-3px,-3px);
  box-shadow:10px 10px 0 var(--accent-color);
}
.rank-num{
  font-size:2.5rem;
  font-weight:900;
  color:var(--main-color);
  -webkit-text-stroke:2px var(--text-color);
  line-height:1;
  min-width:60px;
  text-align:center;
}
.rank-thumb{
  width:70px;
  height:90px;
  border:2px solid var(--text-color);
  overflow:hidden;
  background:var(--bg-color);
  flex-shrink:0;
}
.rank-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.rank-info{
  flex:1;
}
.rank-title{
  font-weight:800;
  font-size:1.1rem;
  color:var(--text-color);
  margin-bottom:0.2rem;
}
.rank-stats{
  font-size:0.85rem;
  color:var(--text-color);
  font-weight:600;
}
/* Category cards */
.cat-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:1.2rem;
}
.cat-card{
  border:var(--border-w) solid var(--text-color);
  box-shadow:var(--shadow-hard);
  overflow:hidden;
  cursor:pointer;
  transition:all 0.2s;
  background:var(--bg-color);
  aspect-ratio:3/4;
  position:relative;
}
.cat-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 0.3s;
}
.cat-card:hover img{
  transform:scale(1.08);
}
.cat-card-badge{
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:rgba(74,37,48,0.9);
  color:var(--bg-color);
  padding:0.5rem 0.8rem;
  font-weight:800;
  font-size:1rem;
  border-top:2px solid var(--text-color);
}
/* steps */
.steps-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:1.5rem;
  margin-top:2rem;
}
.step-item{
  background:var(--bg-color);
  border:var(--border-w) solid var(--text-color);
  box-shadow:var(--shadow-hard);
  padding:1.5rem;
  position:relative;
}
.step-num{
  font-size:3rem;
  font-weight:900;
  color:var(--main-color);
  -webkit-text-stroke:2px var(--text-color);
  line-height:1;
  margin-bottom:0.8rem;
}
.step-title{
  font-size:1.2rem;
  font-weight:800;
  margin-bottom:0.5rem;
}
.step-desc{
  font-size:0.95rem;
  opacity:0.85;
}
/* Feature cards */
.feature-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.2rem;
}
.feature-card{
  border:var(--border-w) solid var(--text-color);
  box-shadow:var(--shadow-hard);
  background:var(--bg-color);
  padding:1.2rem;
  text-align:center;
  transition:all 0.2s;
}
.feature-card:hover{
  transform:translate(-3px,-3px);
  box-shadow:10px 10px 0 var(--accent-color);
}
.feature-icon{
  font-size:2.5rem;
  color:var(--main-color);
  margin-bottom:0.8rem;
}
.feature-card h5{
  font-weight:800;
  margin-bottom:0.5rem;
}
/* Modal */
.modal-mask{
  position:fixed;
  top:0;left:0;right:0;bottom:0;
  background:rgba(26,10,16,0.9);
  backdrop-filter:blur(12px);
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;
  opacity:0;
  visibility:hidden;
  transition:all 0.3s;
}
.modal-mask.show{
  opacity:1;
  visibility:visible;
}
.modal-box{
  max-width:800px;
  width:100%;
  background:var(--bg-color);
  border:var(--border-w) solid var(--text-color);
  box-shadow:12px 12px 0 var(--main-color);
  position:relative;
  max-height:90vh;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
}
.modal-close{
  position:absolute;
  top:0.8rem;right:0.8rem;
  width:45px;height:45px;
  border:var(--border-w) solid var(--text-color);
  background:var(--text-color);
  color:var(--bg-color);
  font-size:1.5rem;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:10;
  transition:all 0.2s;
}
.modal-close:hover{
  background:var(--main-color);
  transform:rotate(90deg);
}
.modal-backdrop{
  height:280px;
  background-size:cover;
  background-position:center;
  border-bottom:var(--border-w) solid var(--text-color);
  position:relative;
}
.modal-backdrop::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, rgba(255,245,247,1) 100%);
}
.modal-content{
  padding:2rem;
  margin-top:-100px;
  position:relative;
  z-index:2;
}
.modal-title{
  font-size:2rem;
  font-weight:900;
  margin-bottom:0.5rem;
  display:inline-block;
  background:var(--bg-color);
  padding:0.3rem 1rem;
  border:var(--border-w) solid var(--text-color);
  box-shadow:4px 4px 0 var(--text-color);
}
.modal-rating{
  display:inline-block;
  background:var(--accent-color);
  color:var(--text-color);
  font-weight:900;
  font-size:1.5rem;
  padding:0.2rem 0.8rem;
  border:2px solid var(--text-color);
  margin-left:0.5rem;
}
.modal-meta-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1rem;
  margin:1.5rem 0;
}
.modal-meta-item{
  border:2px solid var(--text-color);
  padding:0.8rem;
  background:var(--bg-color);
}
.modal-meta-item .label{
  font-size:0.75rem;
  font-weight:700;
  text-transform:uppercase;
  opacity:0.7;
}
.modal-meta-item .value{
  font-weight:800;
  font-size:1.1rem;
}
.modal-plot{
  border:2px solid var(--text-color);
  background:var(--bg-color);
  padding:1rem;
  font-size:1rem;
  line-height:1.7;
}
/* Random picker */
.picker-box{
  background:var(--dark-bg);
  border:var(--border-w) solid var(--text-color);
  box-shadow:8px 8px 0 var(--main-color);
  padding:2.5rem;
  text-align:center;
  color:var(--bg-color);
}
.picker-result{
  font-size:1.6rem;
  font-weight:900;
  margin:1.5rem 0;
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px dashed var(--accent-color);
  background:rgba(255,255,255,0.1);
  padding:1rem;
}
.picker-btn{
  background:var(--accent-color);
  border:3px solid var(--text-color);
  color:var(--text-color);
  font-weight:800;
  font-size:1.1rem;
  padding:0.8rem 2rem;
  cursor:pointer;
  transition:all 0.2s;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
}
.picker-btn:hover{
  transform:translate(-2px,-2px);
  box-shadow:5px 5px 0 var(--text-color);
}
/* Footer */
.footer{
  background:var(--dark-bg);
  color:#fce7f3;
  border-top:var(--border-w) solid var(--text-color);
  padding:2.5rem 0 1.5rem;
}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  margin-bottom:1.5rem;
}
.footer-links a{
  color:#fce7f3;
  font-weight:600;
  border-bottom:2px solid transparent;
  transition:all 0.2s;
}
.footer-links a:hover{
  color:var(--accent-color);
  border-bottom-color:var(--accent-color);
}
.footer-copyright{
  border-top:1px solid rgba(255,255,255,0.15);
  padding-top:1.5rem;
  text-align:center;
  font-size:0.9rem;
  opacity:0.8;
}
/* friends */
.friends-section{
  background:var(--bg-color);
  border-top:var(--border-w) solid var(--text-color);
  padding:2rem 0;
}
.friends-title{
  font-weight:800;
  font-size:1.3rem;
  margin-bottom:1rem;
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.friends-links{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem 1.5rem;
  padding:0.5rem;
  border:2px solid var(--text-color);
  background:var(--bg-color);
  box-shadow:var(--shadow-hard);
  padding:1rem;
}
.friends-links a{
  font-weight:600;
  color:var(--text-color);
  border-bottom:2px solid var(--main-color);
}
.friends-links a:hover{
  background:var(--main-color);
  color:var(--bg-color);
}
/* reveal animation */
.reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity 0.6s, transform 0.6s;
}
.reveal.active{
  opacity:1;
  transform:translateY(0);
}
/* lazy img */
img[loading="lazy"]{
  background:linear-gradient(135deg, #fce7f3 25%, #fdf2f8 50%, #fce7f3 75%);
  background-size:400% 400%;
  animation:shimmer 1.5s ease infinite;
}
@keyframes shimmer{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
/* responsive */
@media (max-width: 768px){
  .navbar-brand{
    font-size:1.3rem;
    padding:0.2rem 0.8rem;
  }
  .section-title{
    font-size:1.4rem;
  }
  .poster-card{
    min-width:170px;
    max-width:170px;
  }
  .poster-scroll{
    gap:0.8rem;
  }
  .hero h1{
    font-size:2rem;
  }
  .modal-content{
    padding:1rem;
  }
  .modal-title{
    font-size:1.4rem;
  }
  .modal-backdrop{
    height:200px;
  }
}

/* --- 子页面追加 --- */
/* 关于页特有样式:时间线、团队卡片等,保持站点硬朗阴影风格 */
        .about-hero {
            padding: 80px 0 40px;
            background: var(--bg-color);
            border-bottom: var(--border-w) solid var(--text-color);
        }
.about-hero h1 {
            font-weight: 900;
            color: var(--text-color);
            margin-bottom: 16px;
            font-size: 2.6rem;
            line-height: 1.2;
        }
.about-hero .lead {
            font-size: 1.15rem;
            color: var(--text-color);
            opacity: 0.85;
            max-width: 720px;
        }
.about-section {
            padding: 60px 0;
            border-bottom: 2px dashed rgba(74,37,48,0.15);
        }
.about-section:last-of-type {
            border-bottom: none;
        }
.about-section h2 {
            font-weight: 800;
            color: var(--text-color);
            margin-bottom: 24px;
            font-size: 1.9rem;
            position: relative;
            display: inline-block;
            padding-bottom: 8px;
        }
.about-section h2::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 60px;
            height: var(--border-w);
            background: var(--main-color);
        }
.about-section p {
            color: var(--text-color);
            line-height: 1.9;
            font-size: 1.02rem;
            margin-bottom: 16px;
        }
.about-section ul {
            color: var(--text-color);
            padding-left: 1.2rem;
        }
.about-section li {
            margin-bottom: 10px;
            line-height: 1.7;
        }
.value-card {
            background: var(--dark-bg);
            color: var(--bg-color);
            padding: 28px 24px;
            border: var(--border-w) solid var(--text-color);
            box-shadow: var(--shadow-hard);
            height: 100%;
            transition: box-shadow 0.2s ease;
        }
.value-card:hover {
            box-shadow: var(--shadow-hover);
        }
.value-card i {
            font-size: 2.2rem;
            color: var(--accent-color);
            margin-bottom: 16px;
            display: block;
        }
.value-card h3 {
            font-size: 1.2rem;
            font-weight: 700;
            margin-bottom: 12px;
        }
.value-card p {
            font-size: 0.95rem;
            opacity: 0.9;
            margin-bottom: 0;
            color: var(--bg-color) !important;
        }
.timeline {
            position: relative;
            padding-left: 32px;
        }
.timeline::before {
            content: '';
            position: absolute;
            left: 8px;
            top: 0;
            bottom: 0;
            width: 3px;
            background: var(--main-color);
        }
.timeline-item {
            position: relative;
            margin-bottom: 32px;
        }
.timeline-item::before {
            content: '';
            position: absolute;
            left: -30px;
            top: 6px;
            width: 16px;
            height: 16px;
            background: var(--accent-color);
            border: 2px solid var(--text-color);
        }
.timeline-item .date {
            font-weight: 700;
            color: var(--main-color);
            font-size: 0.9rem;
            display: block;
            margin-bottom: 6px;
        }
.timeline-item p {
            margin-bottom: 0;
        }
.stat-box {
            background: var(--bg-color);
            border: var(--border-w) solid var(--text-color);
            box-shadow: var(--shadow-hard);
            padding: 24px 16px;
            text-align: center;
            margin-bottom: 20px;
        }
.stat-box .num {
            font-size: 2.8rem;
            font-weight: 900;
            color: var(--main-color);
            line-height: 1;
        }
.stat-box .label {
            font-size: 0.9rem;
            color: var(--text-color);
            margin-top: 8px;
            font-weight: 600;
        }
.faq-item {
            background: var(--bg-color);
            border: 2px solid var(--text-color);
            padding: 20px 24px;
            margin-bottom: 16px;
            box-shadow: 4px 4px 0 rgba(74,37,48,0.4);
        }
.faq-item h3 {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--text-color);
            margin-bottom: 10px;
        }
.faq-item p {
            margin-bottom: 0;
            font-size: 0.98rem;
        }

/* --- 子页面追加 --- */
/* 本页专属微调 —— 补充导航高亮和卡片细节，保持整体风格 */
        .nav-link.active-disclaimer {
            background: var(--accent-color);
            color: var(--dark-bg);
            box-shadow: 4px 4px 0 rgba(74,37,48,0.9);
        }
.disclaimer-hero {
            background: var(--bg-color);
            border-bottom: var(--border-w) solid var(--main-color);
            padding: 3rem 0 2.5rem;
        }
.disclaimer-hero h1 {
            font-weight: 900;
            color: var(--dark-bg);
            text-shadow: 3px 3px 0 var(--accent-color);
            letter-spacing: -0.02em;
        }
.disclaimer-section {
            background: var(--bg-color);
            padding: 3.5rem 0;
        }
.disclaimer-card {
            background: #fffafc;
            border: var(--border-w) solid var(--dark-bg);
            box-shadow: var(--shadow-hard);
            padding: 2rem 2rem;
            height: 100%;
            transition: transform .2s, box-shadow .2s;
        }
.disclaimer-card:hover {
            transform: translate(-4px,-4px);
            box-shadow: var(--shadow-hover);
        }
.disclaimer-card h3 {
            font-weight: 800;
            font-size: 1.4rem;
            color: var(--dark-bg);
            border-left: 8px solid var(--main-color);
            padding-left: 1rem;
            margin-bottom: 1.2rem;
            letter-spacing: -0.01em;
        }
.disclaimer-card p, .disclaimer-card li {
            color: var(--text-color);
            font-size: 0.98rem;
            line-height: 1.7;
        }
.disclaimer-card ul {
            padding-left: 1.4rem;
            margin-bottom: 0;
        }
.disclaimer-card li {
            margin-bottom: 0.4rem;
        }
.badge-soft {
            background: var(--accent-color);
            color: var(--dark-bg);
            font-weight: 700;
            padding: 0.25rem 0.9rem;
            border-radius: 30px;
            font-size: 0.8rem;
            display: inline-block;
            border: 2px solid var(--dark-bg);
            box-shadow: 2px 2px 0 var(--dark-bg);
        }
.footer-note {
            background: var(--dark-bg);
            color: #f5c6d8;
            padding: 2.5rem 0;
            border-top: 5px solid var(--main-color);
        }
.footer-note a {
            color: var(--accent-color);
            font-weight: 600;
            text-decoration: none;
        }
.footer-note a:hover {
            text-decoration: underline;
        }
/* 覆盖bootstrap组件默认白底（如有使用） */
        .card, .card-body, .card-title, .card-text {
            background: transparent;
            color: inherit;
            border: none;
        }
.accordion-item, .accordion-button {
            background: transparent;
            color: var(--text-color);
        }

/* --- 子页面追加 --- */
/* 确保隐私政策页面内容与首页硬朗风格一致 */
        .privacy-hero {
            background: var(--bg-color);
            border-bottom: var(--border-w) solid var(--text-color);
            padding: 3rem 0 2rem;
            box-shadow: var(--shadow-hard);
            margin-bottom: 2rem;
        }
.privacy-hero h1 {
            font-weight: 900;
            color: var(--text-color);
            text-shadow: 2px 2px 0 var(--accent-color);
            letter-spacing: -0.02em;
        }
.privacy-section {
            background: var(--bg-color);
            border: var(--border-w) solid var(--text-color);
            box-shadow: var(--shadow-hard);
            padding: 2rem 1.5rem;
            margin-bottom: 2rem;
        }
.privacy-section h2 {
            font-weight: 800;
            color: var(--main-color);
            border-left: 8px solid var(--accent-color);
            padding-left: 1rem;
            margin-top: 1.5rem;
            margin-bottom: 1.2rem;
            text-transform: uppercase;
            letter-spacing: -0.01em;
        }
.privacy-section h2:first-of-type {
            margin-top: 0.5rem;
        }
.privacy-section p, .privacy-section li {
            color: var(--text-color);
            font-weight: 400;
            line-height: 1.7;
        }
.privacy-section strong {
            color: var(--dark-bg);
            font-weight: 700;
        }
.privacy-list {
            list-style: none;
            padding-left: 0;
        }
.privacy-list li {
            padding-left: 1.8rem;
            position: relative;
            margin-bottom: 0.75rem;
        }
.privacy-list li::before {
            content: "🍒";
            position: absolute;
            left: 0;
            top: 0;
            color: var(--main-color);
            font-size: 1.1rem;
        }
.highlight-badge {
            display: inline-block;
            background: var(--accent-color);
            color: var(--dark-bg);
            font-weight: 700;
            padding: 0.2rem 1rem;
            border: 2px solid var(--text-color);
            box-shadow: 3px 3px 0 var(--text-color);
            margin-bottom: 1rem;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
.footer-link {
            color: var(--main-color);
            font-weight: 600;
            text-decoration: none;
            border-bottom: 2px solid transparent;
        }
.footer-link:hover {
            border-bottom-color: var(--main-color);
        }
/* 覆盖 bootstrap 可能带来的白底问题 (以防万一) */
        .navbar, .navbar-nav, .nav-link, .navbar-brand, .collapse {
            background-color: transparent !important;
        }
.navbar-brand, .nav-link {
            color: var(--text-color) !important;
        }
/* 强制卡片背景 */
        .card, .card-body {
            background: var(--bg-color) !important;
            color: var(--text-color) !important;
        }

/* --- 子页面追加 --- */
/* 保证卡片/表格等组件和深色背景融合 */
    .table, .table-striped > tbody > tr:nth-of-type(odd) {
      --bs-table-bg: transparent;
      background-color: transparent;
      color: var(--text-color);
      border-color: rgba(74,37,48,0.15);
    }
.table th, .table td {
      background-color: transparent;
      color: var(--text-color);
      border-color: rgba(74,37,48,0.15);
      padding: 1rem 0.5rem;
      vertical-align: middle;
    }
.list-group-item {
      background-color: transparent;
      color: var(--text-color);
      border-color: rgba(74,37,48,0.15);
    }
.badge {
      background-color: var(--accent-color);
      color: #1a0a10;
      font-weight: 700;
    }
/* 自定义榜单卡片阴影 */
    .rank-card {
      background: var(--bg-color);
      border: var(--border-w) solid var(--text-color);
      box-shadow: var(--shadow-hard);
      transition: box-shadow 0.2s ease, transform 0.2s ease;
      height: 100%;
    }
.rank-number {
      font-size: 2.2rem;
      font-weight: 900;
      color: var(--main-color);
      line-height: 1;
      min-width: 2.5rem;
    }
.rank-tag {
      background: var(--dark-bg);
      color: #fff;
      padding: 0.2rem 0.7rem;
      font-size: 0.75rem;
      font-weight: 700;
      letter-spacing: 0.5px;
      border-radius: 0;
      display: inline-block;
    }
.trend-up { color: #2e7d32; font-weight: 700; }
.trend-down { color: #b3261e; font-weight: 700; }
.trend-flat { color: #777; font-weight: 600; }
.rank-number { font-size: 1.6rem; min-width: 2rem; }

/* --- 子页面追加 --- */
/* 观影指南专属样式 */
    .guide-hero {
      background: var(--dark-bg);
      padding: 80px 0 60px;
      position: relative;
      border-bottom: var(--border-w) solid var(--main-color);
    }
.guide-hero h1 {
      font-size: 2.8rem;
      font-weight: 900;
      color: #fff;
      margin-bottom: 16px;
    }
.guide-hero h1 span {
      color: var(--main-color);
    }
.guide-hero p {
      color: rgba(255,255,255,0.75);
      font-size: 1.1rem;
      max-width: 720px;
    }
.guide-section {
      padding: 60px 0;
      border-bottom: 2px dashed rgba(244,114,182,0.3);
    }
.guide-section:last-of-type {
      border-bottom: none;
    }
.guide-card {
      background: #fff;
      border: var(--border-w) solid var(--text-color);
      box-shadow: var(--shadow-hard);
      padding: 30px;
      margin-bottom: 30px;
      transition: box-shadow 0.3s ease;
    }
.guide-card:hover {
      box-shadow: var(--shadow-hover);
    }
.guide-card h3 {
      font-size: 1.3rem;
      font-weight: 800;
      color: var(--text-color);
      margin-bottom: 14px;
      display: flex;
      align-items: center;
      gap: 10px;
    }
.guide-card h3 i {
      color: var(--main-color);
    }
.guide-card p {
      color: var(--text-color);
      line-height: 1.8;
      margin-bottom: 10px;
    }
.guide-card ul {
      padding-left: 20px;
      margin-bottom: 12px;
    }
.guide-card ul li {
      color: var(--text-color);
      line-height: 1.8;
      margin-bottom: 6px;
    }
.guide-card ol {
      padding-left: 20px;
      margin-bottom: 12px;
    }
.guide-card ol li {
      color: var(--text-color);
      line-height: 1.8;
      margin-bottom: 8px;
    }
.step-number {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 36px;
      height: 36px;
      background: var(--main-color);
      color: #fff;
      font-weight: 800;
      font-size: 1rem;
      border-radius: 50%;
      margin-right: 10px;
      flex-shrink: 0;
    }
.tip-box {
      background: var(--bg-color);
      border-left: 5px solid var(--accent-color);
      padding: 16px 20px;
      margin: 18px 0;
    }
.tip-box i {
      color: var(--accent-color);
      margin-right: 8px;
    }
.tip-box strong {
      color: var(--text-color);
    }
.tip-box p {
      margin-bottom: 0;
      color: var(--text-color);
    }
.guide-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 24px;
      margin-top: 30px;
    }
.faq-item h4 {
      font-size: 1.1rem;
      font-weight: 700;
      color: var(--text-color);
      margin-bottom: 10px;
    }
.faq-item h4 i {
      color: var(--main-color);
      margin-right: 8px;
    }
.guide-hero h1 {
        font-size: 2rem;
      }
.guide-card {
        padding: 20px;
      }