:root{
  --primary:#e50914;
  --accent:#f5c518;
  --bg-dark:#0b0b0f;
  --text-light:#f5f5f7;
  --card-bg:#16161d;
  --border-line:#2a2a33;
  --shadow-sm:0 4px 20px rgba(0,0,0,0.6);
  --radius:8px;
}
*{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background-color:var(--bg-dark);
  color:var(--text-light);
  letter-spacing:0.02em;
}
h1,h2,h3,h4,.navbar-brand,.display-5{font-weight:800;letter-spacing:-0.02em;}
.navbar{
  background:rgba(11,11,15,0.85) !important;
  backdrop-filter: blur(8px);
  border-bottom:1px solid var(--border-line);
  padding:12px 0;
}
.navbar-brand{
  font-size:1.6rem;font-weight:900;color:var(--text-light) !important;
  display:flex;align-items:center;gap:8px;
}
.navbar-brand i{color:var(--accent);font-size:2rem;}
.nav-link{
  color:#c9c9d1 !important;font-weight:500;margin:0 8px;transition:0.2s;
}
.nav-link:hover{color:var(--accent) !important;}
.navbar-toggler{border-color:var(--border-line);}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='%23f5f5f7' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
.btn-accent{background:var(--accent);color:#0b0b0f;font-weight:700;border:none;}
.btn-accent:hover{background:#ffd84d;color:#000;}
.btn-primary-custom{background:var(--primary);color:#fff;font-weight:700;border:none;}
.btn-primary-custom:hover{background:#ff2733;}
.hero-section{
  position:relative;
  background:linear-gradient(135deg,#14141c 0%,#0b0b0f 80%);
  padding:100px 0 80px;
  overflow:hidden;
}
.hero-bg-layer{
  position:absolute;inset:0;z-index:0;
  background-image: radial-gradient(circle at 30% 40%, rgba(229,9,20,0.3) 0%, transparent 50%),
                    radial-gradient(circle at 70% 60%, rgba(245,197,24,0.2) 0%, transparent 40%);
  background-size:cover;
  will-change:transform;
  animation:parallaxShift 25s infinite alternate ease-in-out;
}
@keyframes parallaxShift{
  0%{transform:translateY(0) scale(1);}
  100%{transform:translateY(-20px) scale(1.05);}
}
.hero-content{position:relative;z-index:2;}
.hero-title{font-size:3.5rem;font-weight:900;line-height:1.1;}
.hero-subtitle{font-size:1.2rem;color:#b8b8c4;max-width:600px;}
.stat-number{font-family:'Courier New',monospace;font-weight:700;font-size:1.8rem;color:var(--accent);}
.section-title{font-size:1.9rem;font-weight:800;margin-bottom:8px;position:relative;display:inline-block;}
.section-title::after{content:'';position:absolute;left:0;bottom:-6px;width:70px;height:4px;background:var(--primary);border-radius:4px;}
.badge-capsule{background:#1c1c26;color:var(--text-light);border:1px solid #3a3a46;padding:6px 16px;border-radius:50px;font-size:0.85rem;font-weight:500;transition:0.2s;}
.badge-capsule:hover,.badge-capsule.active{background:var(--primary);border-color:var(--primary);}
.badge-capsule i{margin-right:4px;}
.card-movie{
  background:var(--card-bg);border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border-line);transition:all 0.25s ease;cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,0.4);
}
.card-movie:hover{transform:scale(1.03);border-color:var(--accent);box-shadow:0 10px 25px rgba(245,197,24,0.15);}
.card-movie .poster-wrap{aspect-ratio:2/3;background:#1a1a22;overflow:hidden;}
.card-movie img{width:100%;height:100%;object-fit:cover;transition:0.3s;}
.card-movie:hover img{transform:scale(1.05);}
.movie-info{padding:12px;}
.movie-title{font-weight:700;font-size:1rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.movie-meta{font-size:0.8rem;color:#9a9aa6;}
.rating-badge{color:var(--accent);font-weight:800;font-size:0.9rem;}
.rank-badge{font-weight:900;font-family:'Inter';}
.rank-1{color:var(--accent);}
.rank-2{color:#c0c0c0;}
.rank-3{color:#cd7f32;}
.time-line-item{position:relative;padding-left:24px;margin-bottom:20px;border-left:2px solid var(--primary);}
.time-line-item::before{content:'';position:absolute;left:-8px;top:4px;width:14px;height:14px;background:var(--accent);border-radius:50%;}
.tab-pane{background:transparent;}
.footer-links{background:#0e0e14;border-top:1px solid var(--border-line);padding:30px 0;}
.footer-links a{color:#999;text-decoration:none;margin-right:18px;}
.footer-links a:hover{color:var(--accent);}
#movieModal .modal-content{
  background:#101018;border:1px solid var(--border-line);border-radius:16px;
  box-shadow:0 20px 50px rgba(0,0,0,0.8);
}
.modal-movie-poster img{width:100%;border-radius:8px;}
.modal-movie-details h4{font-weight:800;}
.info-chip{display:inline-block;background:#1f1f2a;padding:4px 12px;border-radius:30px;font-size:0.8rem;margin:3px 4px;}
.modal-close{color:var(--text-light);font-size:1.8rem;opacity:0.7;}
.modal-close:hover{color:#fff;opacity:1;}
#randomSuggestionBtn{background:var(--primary);color:#fff;font-weight:600;border-radius:50px;padding:10px 24px;}
#randomSuggestionText{font-size:1.1rem;font-weight:500;}
/* 数字滚动动画 */
@keyframes count-up{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.count-animate{animation:count-up 0.8s ease-out;}
@media (max-width: 768px) {
  .hero-title{font-size:2.3rem;}
  .navbar-brand{font-size:1.2rem;}
}

/* --- 子页面追加 --- */
.about-hero {
            padding: 80px 0 60px;
            background: linear-gradient(135deg, rgba(229,9,20,.08) 0%, rgba(11,11,15,.9) 60%);
            border-bottom: 1px solid var(--border-line);
        }
.about-hero h1 {
            font-size: 2.6rem;
            font-weight: 800;
            margin-bottom: 20px;
            line-height: 1.2;
        }
.about-hero p {
            font-size: 1.15rem;
            color: var(--text-light);
            opacity: .85;
            max-width: 700px;
            margin: 0 auto;
            line-height: 1.8;
        }
.about-section {
            padding: 70px 0;
            border-bottom: 1px solid var(--border-line);
        }
.about-section h2 {
            font-size: 1.9rem;
            font-weight: 700;
            margin-bottom: 30px;
            position: relative;
            padding-left: 18px;
        }
.about-section h2::before {
            content: '';
            position: absolute;
            left: 0;
            top: 6px;
            bottom: 6px;
            width: 4px;
            background: var(--primary);
            border-radius: 2px;
        }
.about-section p {
            font-size: 1.05rem;
            line-height: 1.9;
            opacity: .9;
            margin-bottom: 18px;
        }
.feature-list {
            list-style: none;
            padding: 0;
            margin: 20px 0 0;
        }
.feature-list li {
            padding: 10px 0;
            padding-left: 32px;
            position: relative;
            font-size: 1.05rem;
            line-height: 1.7;
        }
.feature-list li i {
            position: absolute;
            left: 0;
            top: 14px;
            color: var(--accent);
            font-size: 1rem;
        }
.stats-banner {
            padding: 50px 0;
            background: rgba(229,9,20,.06);
            border-bottom: 1px solid var(--border-line);
        }
.stats-banner .stat-item {
            text-align: center;
            padding: 20px;
        }
.stats-banner .stat-number {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--accent);
            display: block;
            margin-bottom: 6px;
        }
.stats-banner .stat-label {
            font-size: 1rem;
            opacity: .8;
        }
.difference-box {
            background: var(--card-bg);
            border: 1px solid var(--border-line);
            border-radius: var(--radius);
            padding: 25px;
            margin-bottom: 20px;
            transition: transform .3s ease, box-shadow .3s ease;
        }
.difference-box:hover {
            transform: translateY(-4px);
            box-shadow: var(--shadow-sm);
        }
.difference-box i {
            font-size: 1.8rem;
            color: var(--primary);
            margin-bottom: 12px;
        }
.difference-box h3 {
            font-size: 1.2rem;
            font-weight: 700;
            margin-bottom: 10px;
        }
.difference-box p {
            font-size: .95rem;
            opacity: .85;
            line-height: 1.7;
            margin-bottom: 0;
        }
.timeline-about {
            position: relative;
            padding-left: 30px;
            margin: 30px 0 0;
        }
.timeline-about::before {
            content: '';
            position: absolute;
            left: 8px;
            top: 0;
            bottom: 0;
            width: 2px;
            background: var(--border-line);
        }
.timeline-item-about {
            position: relative;
            padding-bottom: 30px;
        }
.timeline-item-about::before {
            content: '';
            position: absolute;
            left: -26px;
            top: 6px;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: var(--primary);
            border: 2px solid var(--bg-dark);
        }
.timeline-item-about .date {
            font-size: .9rem;
            font-weight: 600;
            color: var(--accent);
            margin-bottom: 6px;
        }
.timeline-item-about h3 {
            font-size: 1.15rem;
            font-weight: 700;
            margin-bottom: 8px;
        }
.timeline-item-about p {
            font-size: .95rem;
            line-height: 1.7;
            opacity: .85;
            margin-bottom: 0;
        }
.about-hero h1 { font-size: 2rem; }
.about-section { padding: 50px 0; }
.stats-banner .stat-number { font-size: 2rem; }

/* --- 子页面追加 --- */
.disclaimer-hero {
            padding: 100px 0 50px;
            text-align: center;
            background: linear-gradient(180deg, rgba(11,11,15,0) 0%, var(--bg-dark) 100%);
        }
.disclaimer-hero .hero-title {
            font-size: 2.5rem;
            font-weight: 800;
            color: var(--text-light);
            margin-bottom: 15px;
        }
.disclaimer-hero .hero-subtitle {
            font-size: 1.1rem;
            color: rgba(245,245,247,0.7);
            max-width: 700px;
            margin: 0 auto;
        }
.disclaimer-section {
            padding: 40px 0;
        }
.disclaimer-section .container {
            max-width: 900px;
        }
.disclaimer-section h2 {
            color: var(--accent);
            font-size: 1.6rem;
            font-weight: 700;
            margin-bottom: 20px;
            position: relative;
            padding-left: 18px;
        }
.disclaimer-section h2::before {
            content: '';
            position: absolute;
            left: 0;
            top: 8px;
            width: 6px;
            height: 22px;
            background: var(--primary);
            border-radius: 3px;
        }
.disclaimer-section p {
            color: rgba(245,245,247,0.8);
            line-height: 1.8;
            font-size: 1rem;
            margin-bottom: 20px;
        }
.disclaimer-section .highlight-box {
            background: var(--card-bg);
            border: 1px solid var(--border-line);
            border-radius: var(--radius);
            padding: 25px 30px;
            margin: 25px 0;
            box-shadow: var(--shadow-sm);
        }
.disclaimer-section .highlight-box p {
            margin-bottom: 10px;
        }
.disclaimer-section .highlight-box p:last-child {
            margin-bottom: 0;
        }
.disclaimer-section ul {
            color: rgba(245,245,247,0.8);
            line-height: 1.8;
            padding-left: 20px;
            margin-bottom: 20px;
        }
.disclaimer-section ul li {
            margin-bottom: 10px;
        }
.disclaimer-section .date-updated {
            color: rgba(245,245,247,0.5);
            font-size: 0.9rem;
            margin-top: 30px;
            text-align: right;
        }
.disclaimer-hero {
                padding: 80px 0 30px;
            }
.disclaimer-hero .hero-title {
                font-size: 1.8rem;
            }
.disclaimer-section h2 {
                font-size: 1.3rem;
            }

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