:root {
      --main-color: #f97316;
      --accent-color: #facc15;
      --bg-color: #1a1410;
      --text-color: #fff7ed;
      --hard-shadow: 6px 6px 0 #000;
      --border-thick: 3px solid var(--text-color);
    }
    * { font-family: 'Inter', sans-serif; }
    body {
      background-color: var(--bg-color);
      color: var(--text-color);
      letter-spacing: 0.3px;
    }
    /* 全直角硬朗 */
    .no-radius { border-radius: 0 !important; }
    .hard-border { border: var(--border-thick); }
    .hard-shadow { box-shadow: var(--hard-shadow); }
    .card-img-wrapper {
      background: #000;
      overflow: hidden;
      position: relative;
    }
    .card-img-wrapper img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.3s ease, filter 0.3s;
    }
    .movie-card {
      border: 2px solid var(--text-color);
      border-radius: 0;
      background-color: #221a15;
      box-shadow: 4px 4px 0 #0a0a0a;
      transition: all 0.2s;
      position: relative;
      cursor: pointer;
    }
    .movie-card:hover {
      transform: scale(1.02);
      box-shadow: 8px 8px 0 var(--main-color);
      z-index: 10;
    }
    .movie-card:hover img {
      transform: scale(1.1);
    }
    .movie-card .play-overlay {
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0,0,0,0.4);
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      transition: opacity 0.2s;
    }
    .movie-card:hover .play-overlay { opacity: 1; }
    .play-overlay i {
      font-size: 3rem;
      color: var(--main-color);
      filter: drop-shadow(0 0 6px #000);
    }
    .quality-badge {
      position: absolute;
      top: 8px;
      right: 8px;
      background: var(--accent-color);
      color: #000;
      font-weight: 800;
      font-size: 0.7rem;
      padding: 2px 6px;
      border: 1px solid #000;
      z-index: 2;
    }
    /* 导航 */
    .navbar-ld {
      background: #20180f;
      border-bottom: 3px solid var(--text-color);
      padding: 0.5rem 0;
    }
    .navbar-brand {
      font-weight: 900;
      font-size: 2rem;
      color: var(--main-color) !important;
      text-shadow: 2px 2px 0 #000;
    }
    .nav-link {
      color: var(--text-color) !important;
      font-weight: 600;
      text-transform: uppercase;
      font-size: 0.9rem;
      margin: 0 0.5rem;
    }
    .nav-link:hover { color: var(--accent-color) !important; }
    /* hero */
    .hero-zone {
      background: linear-gradient(145deg, #2b1d12, #1a1410 70%);
      padding: 4rem 0 3rem;
      border-bottom: 3px solid var(--text-color);
      position: relative;
      overflow: hidden;
    }
    .hero-zone h1 {
      font-weight: 900;
      font-size: 3.8rem;
      background: linear-gradient(135deg, var(--main-color), var(--accent-color));
      -webkit-background-clip: text;
      background-clip: text;
      color: transparent;
      line-height: 1.2;
      letter-spacing: -1px;
    }
    .hero-sub { font-size: 1.3rem; font-weight: 400; }
    .hero-float-icon {
      position: absolute;
      color: var(--main-color);
      opacity: 0.5;
      font-size: 4rem;
      animation: float 3s infinite alternate;
    }
    @keyframes float {
      0% { transform: translateY(0); }
      100% { transform: translateY(-20px); }
    }
    /* 区块标题 */
    .section-title {
      font-weight: 900;
      font-size: 2.4rem;
      border-left: 10px solid var(--main-color);
      padding-left: 1rem;
      margin: 2rem 0 1.5rem;
      text-transform: uppercase;
    }
    .section-title small { font-size: 1rem; color: var(--accent-color); }
    /* 榜单样式 */
    .rank-badge {
      background: var(--main-color);
      color: #000;
      font-weight: 900;
      padding: 0.2rem 0.8rem;
      font-family: monospace;
    }
    .rank-item {
      background: #241b15;
      border: 2px solid var(--text-color);
      margin-bottom: 0.5rem;
      padding: 0.5rem 0.8rem;
      display: flex;
      align-items: center;
    }
    .rank-item i { color: var(--accent-color); margin-right: 0.8rem; }
    .rank-item span:first-of-type { font-weight: 800; font-size: 1.3rem; font-family: 'Courier New', monospace; }
    /* 手风琴 */
    .accordion-button { background: #2a1e16; color: var(--text-color); border-radius: 0; border: 2px solid var(--text-color); font-weight: 700; }
    .accordion-button:not(.collapsed) { background: var(--main-color); color: #000; }
    .accordion-item { background: transparent; border: none; margin-bottom: 10px; }
    .accordion-body { background: #201a15; border: 2px solid var(--text-color); border-top: 0; }
    /* 页脚 */
    .footer-links a {
      color: var(--text-color);
      text-decoration: none;
      margin-right: 1.2rem;
      font-weight: 500;
    }
    .footer-links a:hover { color: var(--accent-color); }
    /* 弹窗侧栏 */
    .side-detail-panel {
      position: fixed;
      top: 0; right: -520px;
      width: 480px;
      max-width: 100vw;
      height: 100vh;
      background: #221a15;
      border-left: 4px solid var(--text-color);
      box-shadow: -10px 0 30px rgba(0,0,0,0.6);
      transition: right 0.35s ease;
      z-index: 9999;
      overflow-y: auto;
      padding: 1.8rem;
    }
    .side-detail-panel.active { right: 0; }
    .panel-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.6);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.3s;
      z-index: 9998;
    }
    .panel-backdrop.active { opacity: 1; pointer-events: auto; }
    .close-panel {
      background: none;
      border: 2px solid var(--text-color);
      color: var(--text-color);
      font-size: 1.5rem;
      width: 40px; height: 40px;
      float: right;
    }
    .movie-detail-img { width: 100%; border: 2px solid var(--text-color); }
    .detail-field { margin-bottom: 0.8rem; }
    .detail-field strong { display: inline-block; width: 70px; color: var(--accent-color); }

/* --- 子页面追加 --- */
/* 确保 Bootstrap 组件不破坏深色风格 */
    .accordion-item, .accordion-button, .accordion-body,
    .card, .card-body, .form-control, .list-group-item {
      background: transparent !important;
      color: var(--text-color) !important;
      border-color: var(--border-color) !important;
    }
.accordion-button:focus {
      box-shadow: none;
      border-color: var(--main-color);
    }
/* 本页专用微调 */
    .about-hero {
      border-bottom: var(--border-thick);
      margin-bottom: 2rem;
    }
.stat-number {
      font-size: 2.2rem;
      font-weight: 900;
      color: var(--main-color);
      line-height: 1;
    }
.stat-label {
      font-size: 0.85rem;
      letter-spacing: 0.5px;
      opacity: 0.8;
    }
.section-block {
      margin-top: 3.5rem;
      margin-bottom: 3.5rem;
    }
.principle-icon {
      font-size: 2rem;
      color: var(--accent-color);
      margin-bottom: 0.5rem;
    }
.about-quote {
      border-left: 5px solid var(--main-color);
      padding-left: 1.2rem;
      font-style: italic;
      opacity: 0.9;
    }

/* --- 子页面追加 --- */
/* 免责声明页面专属样式 */
        .disclaimer-page { padding: 60px 0; }
.disclaimer-hero { background: linear-gradient(135deg, rgba(249,115,22,0.15) 0%, rgba(250,204,21,0.1) 100%); border: var(--border-thick); padding: 50px 40px; margin-bottom: 50px; position: relative; overflow: hidden; }
.disclaimer-hero::after { content: ''; position: absolute; top: -30px; right: -30px; width: 120px; height: 120px; background: var(--main-color); opacity: 0.1; border-radius: 50%; }
.disclaimer-hero h1 { font-size: 2.8rem; font-weight: 900; color: var(--text-color); margin-bottom: 15px; }
.disclaimer-hero p { font-size: 1.1rem; color: rgba(255,247,237,0.8); max-width: 800px; line-height: 1.8; }
.disclaimer-section { margin-bottom: 40px; padding: 35px; background: rgba(255,255,255,0.03); border: 2px solid rgba(255,247,237,0.1); transition: all 0.3s ease; }
.disclaimer-section:hover { border-color: var(--main-color); transform: translateY(-2px); }
.disclaimer-section h2 { font-size: 1.6rem; font-weight: 700; color: var(--main-color); margin-bottom: 20px; padding-bottom: 15px; border-bottom: 2px solid rgba(249,115,22,0.3); position: relative; }
.disclaimer-section h2 i { margin-right: 12px; }
.disclaimer-section p, .disclaimer-section li { color: rgba(255,247,237,0.85); line-height: 1.9; font-size: 1rem; }
.disclaimer-section ul { padding-left: 20px; }
.disclaimer-section ul li { margin-bottom: 12px; position: relative; padding-left: 8px; }
.disclaimer-section ul li::before { content: '▸'; color: var(--accent-color); position: absolute; left: -15px; }
.notice-box { background: rgba(250,204,21,0.08); border-left: 4px solid var(--accent-color); padding: 20px 25px; margin: 20px 0; }
.notice-box p { margin: 0; color: rgba(255,247,237,0.9); }
.contact-info { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px; }
.contact-item { flex: 1; min-width: 200px; padding: 20px; background: rgba(249,115,22,0.08); border: 2px solid rgba(249,115,22,0.3); text-align: center; transition: all 0.3s ease; }
.contact-item:hover { background: rgba(249,115,22,0.15); transform: translateY(-3px); }
.contact-item i { font-size: 2rem; color: var(--main-color); margin-bottom: 10px; display: block; }
.contact-item span { color: var(--text-color); font-weight: 600; }
.last-updated { color: rgba(255,247,237,0.5); font-size: 0.9rem; text-align: right; margin-top: 30px; font-style: italic; }
.disclaimer-hero { padding: 30px 20px; }
.disclaimer-hero h1 { font-size: 2rem; }
.disclaimer-section { padding: 25px 20px; }

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