:root{
  --main:#e50914;
  --accent:#f5c518;
  --bg:#0b0b0f;
  --text:#f5f5f7;
  --panel:#131320;
  --line:#2a2a3a;
  --dim:#9a9aae;
  --shadow:6px 6px 0 #000;
}
*{border-radius:0 !important;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter','Microsoft YaHei','PingFang SC',sans-serif;
  font-size:13.5px;
  line-height:1.55;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.hand-font{
  font-family:'Inter','Microsoft YaHei',sans-serif;
  font-weight:900;
  letter-spacing:-.4px;
}
a{text-decoration:none;color:inherit;}
a:hover{color:var(--accent);}
::selection{background:var(--main);color:#fff;}

/* ===== 顶部导航 ===== */
.top-nav{
  background:#08080c;
  border-bottom:3px solid var(--main);
  position:sticky;top:0;z-index:1030;
  box-shadow:0 4px 0 rgba(0,0,0,.6);
}
.brand-name{
  font-weight:900;
  font-size:1.45rem;
  color:var(--text);
  letter-spacing:-.5px;
  display:flex;align-items:center;gap:8px;
  font-style:italic;
}
.brand-name .brand-icon{
  color:var(--main);
  font-size:1.3rem;
}
.brand-name:hover{color:var(--accent);}
.nav-cat{display:flex;flex-wrap:wrap;gap:2px;}
.nav-cat a{
  display:inline-block;
  padding:7px 12px;
  font-size:12.5px;
  font-weight:600;
  color:var(--dim);
  border:2px solid transparent;
  transition:.18s;
}
.nav-cat a:first-child{color:var(--accent);}
.nav-cat a:hover{
  color:#fff;background:var(--main);border-color:var(--main);
}
.nav-toggle{
  background:none;border:2px solid var(--line);color:var(--text);
  padding:5px 10px;font-size:1rem;
}
.nav-toggle:hover{border-color:var(--accent);color:var(--accent);}

/* ===== HERO ===== */
.hero{
  position:relative;
  padding:70px 0 60px;
  overflow:hidden;
  border-bottom:3px solid var(--line);
  background:
    radial-gradient(circle at 15% 20%, rgba(229,9,20,.22), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(245,197,24,.16), transparent 50%),
    #0b0b0f;
}
.hero-parallax{
  position:absolute;inset:-15% 0;
  background-image:
    linear-gradient(rgba(42,42,58,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(42,42,58,.5) 1px, transparent 1px);
  background-size:44px 44px;
  opacity:.45;
  z-index:0;
  will-change:transform;
}
.hero-float{
  position:absolute;
  font-size:2.2rem;
  opacity:.13;
  z-index:0;
  animation:floaty 7s ease-in-out infinite;
  color:var(--accent);
}
.hero-float.f1{top:12%;left:6%;animation-delay:0s;}
.hero-float.f2{top:60%;left:14%;animation-delay:1.4s;color:var(--main);font-size:3rem;}
.hero-float.f3{top:20%;right:9%;animation-delay:.7s;font-size:2.8rem;}
.hero-float.f4{top:70%;right:16%;animation-delay:2.1s;color:var(--main);}
@keyframes floaty{
  0%,100%{transform:translateY(0) rotate(0deg);}
  50%{transform:translateY(-22px) rotate(8deg);}
}
.hero-inner{position:relative;z-index:2;}
.hero h1{
  font-size:clamp(2rem,5vw,3.6rem);
  line-height:1.05;
  font-style:italic;
  text-transform:uppercase;
}
.grad-text{
  background:linear-gradient(100deg,var(--main),var(--accent) 60%,#fff);
  -webkit-background-clip:text;background-clip:text;
  color:transparent;
}
.hero-sub{
  color:var(--dim);
  max-width:640px;
  font-size:13.5px;
  border-left:4px solid var(--main);
  padding-left:14px;
  margin-top:18px;
}
.hero-tag{
  display:inline-block;
  background:var(--accent);color:#0b0b0f;
  font-weight:800;font-size:11.5px;
  padding:3px 9px;letter-spacing:.5px;
  border:2px solid #000;
  box-shadow:3px 3px 0 #000;
  margin-bottom:16px;
}
.hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;}
.hero-stat{
  background:var(--panel);
  border:2px solid var(--line);
  box-shadow:var(--shadow);
  padding:10px 16px;
  min-width:110px;
}
.hero-stat b{display:block;font-size:1.5rem;color:var(--accent);font-style:italic;}
.hero-stat span{font-size:11px;color:var(--dim);}

/* ===== 通用区块 ===== */
.section{padding:44px 0;border-bottom:2px solid #16161f;}
.sec-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:16px;flex-wrap:wrap;
  margin-bottom:22px;
  border-bottom:3px solid var(--line);
  padding-bottom:12px;
}
.sec-head h2{
  font-size:1.4rem;
  margin:0;
  font-style:italic;
  display:flex;align-items:center;gap:10px;
}
.sec-head h2 .bar{
  display:inline-block;width:7px;height:24px;
  background:var(--main);
  box-shadow:3px 3px 0 #000;
}
.sec-head .sec-note{font-size:11.5px;color:var(--dim);max-width:420px;}
.sec-more{
  font-size:12px;font-weight:700;color:var(--accent);
  border:2px solid var(--accent);
  padding:5px 12px;
  transition:.18s;
  white-space:nowrap;
}
.sec-more:hover{background:var(--accent);color:#0b0b0f;}

/* ===== 横向滑动海报区 ===== */
.hscroll{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:6px 4px 18px;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:var(--main) #16161f;
}
.hscroll::-webkit-scrollbar{height:8px;}
.hscroll::-webkit-scrollbar-track{background:#16161f;}
.hscroll::-webkit-scrollbar-thumb{background:var(--main);}

/* ===== 影片卡片 ===== */
.m-card{
  flex:0 0 158px;
  width:158px;
  scroll-snap-align:start;
  background:var(--panel);
  border:2px solid var(--line);
  box-shadow:4px 4px 0 #000;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative;
  display:flex;flex-direction:column;
}
.m-card:hover{
  transform:translateY(-6px) scale(1.045);
  border-color:var(--accent);
  box-shadow:7px 7px 0 #000;
  z-index:3;
}
.m-poster{
  position:relative;
  aspect-ratio:2/3;
  overflow:hidden;
  background:#08080c;
  border-bottom:2px solid var(--line);
}
.m-poster img{width:100%;height:100%;object-fit:cover;display:block;}
.m-badge{
  position:absolute;top:0;left:0;
  font-size:10px;font-weight:800;
  padding:2px 6px;
  color:#fff;letter-spacing:.5px;
  border-right:2px solid #000;
  border-bottom:2px solid #000;
}
.m-badge.hd{background:#1e6fd9;}
.m-badge.uhd{background:var(--main);}
.m-badge.blu{background:#7b2ff7;}
.m-score{
  position:absolute;bottom:0;right:0;
  background:var(--accent);color:#0b0b0f;
  font-weight:900;font-size:11.5px;
  padding:1px 6px;
  border-left:2px solid #000;border-top:2px solid #000;
}
.m-info{padding:7px 8px 9px;flex:1;display:flex;flex-direction:column;gap:3px;}
.m-title{
  font-size:12.5px;font-weight:700;color:var(--text);
  line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.m-meta{font-size:10.5px;color:var(--dim);display:flex;gap:6px;flex-wrap:wrap;}
.m-meta .dot{color:#3a3a4a;}

/* ===== 网格海报墙 ===== */
.grid-wall{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:14px;
}
.grid-wall .m-card{flex:none;width:auto;}

/* ===== 榜单 ===== */
.rank-table-wrap{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  background:var(--panel);
  overflow-x:auto;
}
table.rank-table{
  width:100%;border-collapse:collapse;
  font-size:12.5px;min-width:720px;
}
table.rank-table thead th{
  background:#08080c;
  color:var(--accent);
  font-size:11.5px;font-weight:800;
  letter-spacing:.5px;text-transform:uppercase;
  padding:11px 12px;text-align:left;
  border-bottom:3px solid var(--main);
  white-space:nowrap;
}
table.rank-table tbody td{
  padding:10px 12px;
  border-bottom:1px solid #1e1e2b;
  vertical-align:middle;
}
table.rank-table tbody tr{transition:background .15s;}
table.rank-table tbody tr:hover{background:#191926;}
.rank-no{
  font-weight:900;font-style:italic;font-size:1.05rem;color:#5a5a70;width:44px;
}
tr:nth-child(1) .rank-no{color:var(--accent);}
tr:nth-child(2) .rank-no{color:#d8d8e0;}
tr:nth-child(3) .rank-no{color:#c98a3a;}
.rank-name{font-weight:700;color:var(--text);}
.rank-name small{display:block;color:var(--dim);font-weight:400;font-size:10.5px;}
.rank-type{
  display:inline-block;font-size:10.5px;padding:1px 7px;
  border:1px solid var(--line);color:var(--dim);
}
.rank-score{color:var(--accent);font-weight:900;font-size:13px;}
.rank-hot{color:var(--main);font-weight:700;font-size:11.5px;}

/* ===== 对比表格 ===== */
.compare-wrap{
  border:3px solid var(--line);
  box-shadow:var(--shadow);
  overflow-x:auto;
  background:var(--panel);
}
table.compare{
  width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px;
}
table.compare th,table.compare td{
  padding:11px 13px;border:1px solid #1e1e2b;text-align:left;
}
table.compare thead th{
  background:#08080c;color:var(--accent);font-weight:800;font-size:11.5px;
  text-transform:uppercase;letter-spacing:.4px;
  border-bottom:3px solid var(--main);
}
table.compare tbody th{
  background:#101019;color:var(--text);font-weight:700;width:180px;
}
table.compare td.yes{color:#3ecf8e;font-weight:700;}
table.compare td.no{color:#c35a6a;}

/* ===== 编号清单 ===== */
.num-list{list-style:none;padding:0;margin:0;counter-reset:nl;}
.num-list li{
  counter-increment:nl;
  position:relative;
  padding:12px 14px 12px 54px;
  background:var(--panel);
  border:2px solid var(--line);
  margin-bottom:10px;
  box-shadow:4px 4px 0 #000;
  font-size:12.5px;
  color:#d4d4de;
}
.num-list li::before{
  content:counter(nl,decimal-leading-zero);
  position:absolute;left:0;top:0;bottom:0;
  width:38px;
  display:flex;align-items:center;justify-content:center;
  background:var(--main);color:#fff;
  font-weight:900;font-style:italic;font-size:12.5px;
  border-right:2px solid #000;
}
.num-list li b{color:var(--accent);}

/* ===== 精选片单 ===== */
.pick-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;}
.pick-item{
  display:flex;gap:12px;
  background:var(--panel);
  border:2px solid var(--line);
  padding:12px;
  box-shadow:4px 4px 0 #000;
  transition:.18s;
}
.pick-item:hover{border-color:var(--accent);transform:translateX(3px);}
.pick-idx{
  font-weight:900;font-style:italic;font-size:1.35rem;
  color:var(--main);min-width:34px;
}
.pick-body h4{font-size:13px;margin:0 0 4px;}
.pick-body h4 span{color:var(--dim);font-weight:400;font-size:11px;margin-left:6px;}
.pick-body p{margin:0;font-size:12px;color:#b8b8c6;line-height:1.55;}

/* ===== 相关推荐入口 ===== */
.rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;}
.rel-card{
  display:block;
  background:var(--panel);
  border:2px solid var(--line);
  padding:14px;
  box-shadow:4px 4px 0 #000;
  transition:.18s;
}
.rel-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:6px 6px 0 #000;}
.rel-card i{color:var(--main);font-size:1.2rem;margin-bottom:8px;display:block;}
.rel-card b{font-size:13px;display:block;margin-bottom:4px;}
.rel-card span{font-size:11.5px;color:var(--dim);line-height:1.5;display:block;}

/* ===== FAQ ===== */
.faq-item{
  background:var(--panel);
  border:2px solid var(--line);
  box-shadow:4px 4px 0 #000;
  margin-bottom:10px;
}
.faq-q{
  width:100%;text-align:left;background:none;border:none;
  color:var(--text);font-weight:700;font-size:13px;
  padding:13px 16px;
  display:flex;justify-content:space-between;align-items:center;gap:12px;
  cursor:pointer;
}
.faq-q:hover{color:var(--accent);}
.faq-q i{color:var(--main);transition:transform .2s;}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .3s ease;
  font-size:12.5px;color:#bcbcca;line-height:1.7;
}
.faq-a div{padding:0 16px 15px;}
.faq-item.open .faq-a{max-height:280px;}
.faq-item.open .faq-q i{transform:rotate(180deg);}

/* ===== 友链 ===== */
.friend-links{
  padding:34px 0;border-bottom:2px solid #16161f;background:#08080c;
}
.friend-links h3{font-size:13px;font-style:italic;margin-bottom:12px;color:var(--accent);}
.friend-links h3 i{margin-right:6px;color:var(--main);}
.fl-box{
  border:2px dashed var(--line);
  padding:14px;font-size:12px;color:var(--dim);
  line-height:1.9;word-break:break-all;
}
.fl-box a{color:#c6c6d4;border-bottom:1px dotted var(--line);margin-right:12px;display:inline-block;}
.fl-box a:hover{color:var(--accent);border-color:var(--accent);}

/* ===== 页脚 ===== */
.site-footer{padding:36px 0 26px;background:#08080c;border-top:3px solid var(--main);}
.site-footer .f-brand{font-size:1.2rem;font-weight:900;font-style:italic;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.site-footer .f-brand i{color:var(--main);}
.site-footer p{font-size:12px;color:var(--dim);line-height:1.8;margin-bottom:8px;}
.f-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0;}
.f-links a{font-size:12px;color:#b9b9c7;}
.f-links a:hover{color:var(--accent);}
.f-copy{font-size:11.5px;color:#6a6a7c;border-top:1px solid #1a1a26;padding-top:14px;margin-top:14px;}

/* ===== 弹窗 ===== */
.modal-mask{
  position:fixed;inset:0;background:rgba(4,4,8,.82);
  display:none;align-items:center;justify-content:center;
  z-index:2050;padding:16px;
  backdrop-filter:blur(3px);
}
.modal-mask.show{display:flex;}
.modal-box{
  background:#fff;color:#111;
  width:100%;max-width:680px;
  border:4px solid #000;
  box-shadow:10px 10px 0 rgba(229,9,20,.9);
  display:flex;gap:0;
  position:relative;
  animation:popin .22s ease;
  max-height:90vh;overflow-y:auto;
}
@keyframes popin{from{transform:translateY(16px) scale(.97);opacity:0;}to{transform:none;opacity:1;}}
.modal-poster{
  flex:0 0 200px;background:#111;border-right:4px solid #000;
}
.modal-poster img{width:100%;height:100%;object-fit:cover;display:block;min-height:100%;}
.modal-content{flex:1;padding:20px 20px 22px;min-width:0;}
.modal-close{
  position:absolute;top:-4px;right:-4px;
  width:38px;height:38px;
  background:var(--main);color:#fff;border:3px solid #000;
  font-size:1.1rem;font-weight:900;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.modal-close:hover{background:var(--accent);color:#000;}
.modal-content h3{font-size:1.2rem;margin:0 0 4px;color:#111;font-style:italic;padding-right:34px;}
.modal-sub{font-size:11.5px;color:#666;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:8px;}
.modal-sub .tag{background:#111;color:var(--accent);padding:1px 7px;font-weight:700;}
.modal-score{
  display:inline-flex;align-items:center;gap:5px;
  background:var(--accent);color:#111;font-weight:900;
  padding:2px 9px;font-size:12.5px;border:2px solid #000;margin-bottom:12px;
}
.modal-row{font-size:12.5px;line-height:1.7;margin-bottom:6px;}
.modal-row b{color:#111;display:inline-block;min-width:44px;}
.modal-row span{color:#444;}
.modal-plot{font-size:12.5px;color:#333;line-height:1.75;margin-top:10px;border-top:2px solid #eee;padding-top:10px;}

/* ===== 滚动渐显 ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .55s ease,transform .55s ease;}
.reveal.in{opacity:1;transform:none;}

/* ===== 响应式 ===== */
@media (max-width:991.98px){
  .nav-cat{
    display:none;
    flex-direction:column;
    width:100%;
    padding-top:8px;
    border-top:2px solid var(--line);
    margin-top:8px;
  }
  .nav-cat.open{display:flex;}
  .nav-cat a{width:100%;padding:10px 6px;border-bottom:1px solid #16161f;}
}
@media (max-width:767.98px){
  body{font-size:13px;}
  .hero{padding:48px 0 40px;}
  .m-card{flex:0 0 130px;width:130px;}
  .m-title{font-size:11.5px;}
  .grid-wall{grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:10px;}
  .modal-box{flex-direction:column;max-height:88vh;}
  .modal-poster{flex:none;max-height:230px;border-right:none;border-bottom:4px solid #000;}
  .modal-poster img{height:230px;}
  .section{padding:32px 0;}
  .hero-stat{min-width:92px;padding:8px 12px;}
  .hero-stat b{font-size:1.2rem;}
}