:root{
  --bg:#0e0c0b;
  --bg-soft:#17130f;
  --card:#1d1814;
  --line:#2f2721;
  --text:#f3ece4;
  --muted:#a99c8e;
  --warm:#ff7a2f;
  --warm-2:#ffb03a;
  --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 18px;}

/* header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(14,12,11,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;gap:18px;
  height:60px;
}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand img{height:32px;width:32px;border-radius:9px;object-fit:cover;}
.brand span{font-size:17px;font-weight:700;letter-spacing:.5px;}
.nav-links{display:none;gap:22px;font-size:14px;color:var(--muted);}
.nav-links a:hover{color:var(--warm-2);}
.header-act{margin-left:auto;display:flex;align-items:center;gap:10px;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;font-size:14px;font-weight:600;
  padding:10px 22px;border:none;cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn-main{
  background:linear-gradient(135deg,var(--warm),var(--warm-2));
  color:#241305;
  box-shadow:0 6px 20px rgba(255,122,47,.28);
}
.btn-main:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(255,122,47,.4);}
.btn-ghost{
  background:transparent;color:var(--text);
  border:1px solid var(--line);padding:9px 18px;
}
.btn-ghost:hover{border-color:var(--warm);color:var(--warm-2);}
.menu-toggle{
  display:inline-flex;background:transparent;border:1px solid var(--line);
  color:var(--text);border-radius:10px;width:38px;height:34px;
  align-items:center;justify-content:center;font-size:16px;cursor:pointer;
}
.mobile-nav{
  display:none;flex-direction:column;gap:2px;
  padding:8px 18px 16px;border-bottom:1px solid var(--line);
  background:var(--bg-soft);
}
.mobile-nav.open{display:flex;}
.mobile-nav a{padding:10px 4px;font-size:15px;color:var(--muted);border-bottom:1px solid rgba(255,255,255,.04);}
.mobile-nav a:last-child{border-bottom:none;}

/* hero */
.hero{
  padding:26px 0 34px;
  background:
    radial-gradient(1200px 420px at 15% 0%, rgba(255,122,47,.16), transparent 65%),
    radial-gradient(900px 380px at 90% 20%, rgba(160,80,255,.10), transparent 70%);
}
.hero-grid{display:grid;gap:26px;}
.hero-copy .kicker{
  display:inline-block;font-size:12px;letter-spacing:2px;color:var(--warm-2);
  border:1px solid rgba(255,176,58,.35);padding:4px 12px;border-radius:999px;margin-bottom:14px;
}
.hero-copy h1{
  font-size:30px;line-height:1.3;font-weight:800;letter-spacing:.5px;
}
.hero-copy h1 em{font-style:normal;color:var(--warm-2);}
.hero-copy p{margin-top:14px;color:var(--muted);font-size:15px;max-width:520px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.hero-facts{
  display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:24px;
  font-size:13px;color:var(--muted);
}
.hero-facts b{color:var(--text);font-weight:600;}

/* carousel */
.carousel{position:relative;overflow:hidden;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-soft);}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.slides::-webkit-scrollbar{display:none;}
.slide{min-width:100%;scroll-snap-align:start;position:relative;}
.slide img{width:100%;height:380px;object-fit:cover;object-position:top center;}
.slide-info{
  position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;
  background:linear-gradient(to top,rgba(8,6,5,.95),rgba(8,6,5,.55) 55%,transparent);
}
.slide-info h3{font-size:19px;font-weight:700;}
.slide-info p{font-size:13px;color:#d3c6b8;margin-top:4px;}
.slide-info .btn{margin-top:12px;padding:8px 18px;font-size:13px;}
.dots{display:flex;justify-content:center;gap:8px;padding:12px 0;}
.dot{width:22px;height:5px;border-radius:99px;background:#3a3129;border:none;cursor:pointer;padding:0;transition:background .2s;}
.dot.active{background:var(--warm);}

/* sections */
.section{padding:40px 0;}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:20px;}
.section-head h2{font-size:22px;font-weight:800;letter-spacing:.5px;}
.section-head .sub{font-size:13px;color:var(--muted);margin-top:4px;}
.more-link{font-size:13px;color:var(--warm-2);white-space:nowrap;}

/* card rail */
.rail{
  display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;
  scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#3a3129 transparent;
}
.rail::-webkit-scrollbar{height:5px;}
.rail::-webkit-scrollbar-thumb{background:#3a3129;border-radius:99px;}
.rail .card{scroll-snap-align:start;}
.card{
  flex:0 0 148px;border-radius:14px;overflow:hidden;
  background:var(--card);border:1px solid var(--line);
  transition:transform .2s ease,border-color .2s ease;
}
.card:hover{transform:translateY(-4px);border-color:#4a3b2d;}
.card .poster{position:relative;}
.card .poster img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:top center;}
.badge{
  position:absolute;top:8px;left:8px;font-size:11px;padding:2px 8px;border-radius:999px;
  background:linear-gradient(135deg,var(--warm),var(--warm-2));color:#241305;font-weight:700;
}
.badge.badge-soft{background:rgba(14,12,11,.75);color:var(--warm-2);border:1px solid rgba(255,176,58,.4);font-weight:600;}
.card .meta{padding:10px 10px 12px;}
.card .meta .name{font-size:14px;font-weight:600;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.card .meta .tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px;}
.tag{font-size:11px;color:#c9b9a8;border:1px solid var(--line);padding:1px 7px;border-radius:6px;}
.card .meta .line{font-size:12px;color:var(--muted);margin-top:6px;display:flex;justify-content:space-between;}

/* category filters */
.filter-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.06);}
.filter-row:last-child{border-bottom:none;}
.filter-label{font-size:13px;color:var(--muted);width:56px;flex-shrink:0;}
.chip{font-size:13px;padding:5px 14px;border-radius:999px;border:1px solid var(--line);color:#d8ccbe;cursor:pointer;background:transparent;transition:all .18s;}
.chip:hover{border-color:var(--warm);color:var(--warm-2);}
.chip.on{background:linear-gradient(135deg,var(--warm),var(--warm-2));color:#241305;border-color:transparent;font-weight:600;}

/* ranking */
.rank-grid{display:grid;gap:14px;}
.rank-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;}
.rank-list h3{font-size:15px;margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.rank-list h3 i{display:inline-block;width:4px;height:15px;background:var(--warm);border-radius:2px;}
.rank-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);}
.rank-item:last-child{border-bottom:none;}
.rank-item .no{width:20px;font-size:14px;font-weight:800;color:#6b5c4d;text-align:center;flex-shrink:0;}
.rank-item:nth-child(2) .no{color:var(--warm-2);}
.rank-item:nth-child(3) .no{color:#e0b07c;}
.rank-item:nth-child(4) .no{color:#c9b9a8;}
.rank-item img{width:44px;height:60px;object-fit:cover;object-position:top center;border-radius:6px;flex-shrink:0;}
.rank-item .r-txt{min-width:0;}
.rank-item .r-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rank-item .r-desc{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* feature editorial */
.feature{
  display:grid;gap:0;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--card);
}
.feature img{width:100%;height:260px;object-fit:cover;object-position:top center;}
.feature-body{padding:22px;}
.feature-body .kicker{font-size:12px;color:var(--warm-2);letter-spacing:2px;}
.feature-body h2{font-size:21px;margin-top:8px;font-weight:800;line-height:1.4;}
.feature-body p{color:var(--muted);font-size:14px;margin-top:10px;}
.feature-body .btn{margin-top:16px;}

/* detail-style block */
.detail-block{display:grid;gap:20px;}
.detail-poster{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);}
.detail-poster img{width:100%;aspect-ratio:2/3;object-fit:cover;object-position:top center;}
.detail-info h2{font-size:22px;font-weight:800;}
.score-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:13px;color:var(--muted);}
.score-row b{color:var(--warm-2);font-size:16px;}
.episodes{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;margin-top:16px;}
.ep{
  display:flex;align-items:center;justify-content:center;height:40px;border-radius:9px;
  background:#241d17;border:1px solid var(--line);font-size:13px;color:#d8ccbe;
}
.ep.free{color:var(--warm-2);border-color:rgba(255,176,58,.35);}
.ep.seen{color:#7d6f61;}
.cast{display:flex;gap:14px;overflow-x:auto;margin-top:16px;padding-bottom:6px;}
.cast .person{flex:0 0 76px;text-align:center;}
.cast .person img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top center;margin:0 auto;border:2px solid #3a3129;}
.cast .person .p-name{font-size:13px;margin-top:6px;}
.cast .person .p-role{font-size:11px;color:var(--muted);}
.stills{display:flex;gap:10px;overflow-x:auto;margin-top:14px;padding-bottom:8px;}
.stills img{flex:0 0 150px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.comments{margin-top:16px;display:grid;gap:10px;}
.comment{background:#241d17;border:1px solid var(--line);border-radius:12px;padding:12px 14px;}
.comment .c-head{display:flex;justify-content:space-between;font-size:13px;color:var(--warm-2);}
.comment p{font-size:13.5px;color:#d3c6b8;margin-top:6px;}

/* help */
.help-grid{display:grid;gap:14px;}
.help-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;}
.help-card img{width:100%;height:150px;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.help-card h3{font-size:15px;margin-top:12px;}
.help-card p{font-size:13px;color:var(--muted);margin-top:6px;}

/* download strip */
.dl-strip{
  margin:36px 0;
  border-radius:var(--radius);
  border:1px solid #4a3b2d;
  background:linear-gradient(120deg,#241505,#1a1410 55%,#1d1814);
  padding:26px 22px;
  display:grid;gap:18px;
}
.dl-strip h2{font-size:21px;font-weight:800;}
.dl-strip p{color:var(--muted);font-size:14px;margin-top:8px;}
.dl-strip .btn{padding:13px 30px;font-size:15px;}

/* footer */
.site-footer{
  border-top:1px solid var(--line);
  background:#0b0908;
  padding:30px 0 22px;
  font-size:12.5px;
  color:#7d7369;
}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:14px;}
.footer-links a:hover{color:var(--warm-2);}
.footer-note{line-height:1.9;}
.footer-note a.beian{color:#8a7f73;text-decoration:underline;text-decoration-color:#3a3129;}
.footer-note a.beian:hover{color:var(--warm-2);}
.footer-time{display:block;margin-top:6px;color:#5f574f;}

/* responsive */
@media (min-width:768px){
  .hero-copy h1{font-size:38px;}
  .slide img{height:420px;}
  .card{flex:0 0 176px;}
  .feature{grid-template-columns:1fr 1fr;align-items:stretch;}
  .feature img{height:100%;min-height:300px;}
  .rank-grid{grid-template-columns:repeat(3,1fr);}
  .detail-block{grid-template-columns:260px 1fr;}
  .detail-poster img{aspect-ratio:auto;height:100%;}
  .help-grid{grid-template-columns:repeat(2,1fr);}
  .dl-strip{grid-template-columns:1fr auto;align-items:center;padding:30px 32px;}
  .section{padding:52px 0;}
  .section-head h2{font-size:26px;}
}
@media (min-width:1024px){
  .nav-links{display:flex;}
  .menu-toggle{display:none;}
  .mobile-nav{display:none !important;}
  .hero-grid{grid-template-columns:1fr 1.15fr;align-items:center;gap:40px;}
  .hero-copy h1{font-size:44px;}
  .carousel{box-shadow:0 24px 60px rgba(0,0,0,.5);}
  .slide img{height:470px;}
  .card{flex:0 0 190px;}
  .rank-grid{grid-template-columns:repeat(3,1fr);gap:18px;}
  .detail-block{grid-template-columns:300px 1fr;gap:34px;}
  .help-grid{grid-template-columns:repeat(3,1fr);}
  .footer-flex{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;}
}