:root{
  --brand:#c2185b;
  --brand-soft:#fce4ec;
  --ink:#1a1a1a;
  --sub:#5b5b5b;
  --line:#e6e6e6;
  --bg:#f7f7f8;
  --card:#ffffff;
  --green:#2e9e5b;
  --radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}

/* ===== 顶部导航 ===== */
.topbar{
  position:sticky;top:0;z-index:120;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s;
}
.topbar.is-stuck{box-shadow:0 6px 24px rgba(0,0,0,.07);}
.nav-inner{
  max-width:1200px;margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;gap:22px;
}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.brand img{height:32px;width:auto;}
.brand span{font-weight:800;font-size:17px;letter-spacing:.5px;white-space:nowrap;}
.nav-links{display:flex;gap:18px;font-size:14px;color:var(--sub);flex-wrap:wrap;}
.nav-links a:hover{color:var(--brand);}
.search-box{
  margin-left:auto;display:flex;align-items:center;gap:6px;
  background:#f2f2f4;border-radius:999px;padding:6px 14px;min-width:150px;
}
.search-box input{border:none;background:none;outline:none;font-size:13px;width:100%;color:var(--ink);}
.btn-dl{
  background:var(--brand);color:#fff;border-radius:999px;
  padding:9px 20px;font-size:14px;font-weight:600;white-space:nowrap;
  transition:transform .2s, background .2s;
}
.btn-dl:hover{background:#a0144b;transform:translateY(-1px);}

/* ===== 通用楼层 ===== */
.floor{
  position:relative;
  max-width:1200px;margin:0 auto;padding:70px 20px;
}
.num-bg{
  position:absolute;top:10px;left:0;
  font-size:clamp(90px,17vw,210px);
  font-weight:900;line-height:1;
  color:transparent;-webkit-text-stroke:2px #e8e8ea;
  z-index:0;pointer-events:none;user-select:none;
}
.floor > *{position:relative;z-index:1;}
h2.sec-title{
  font-size:clamp(24px,3.4vw,38px);
  font-weight:800;letter-spacing:-.5px;line-height:1.3;margin-bottom:10px;
}
.sec-desc{color:var(--sub);font-size:15px;margin-bottom:34px;max-width:640px;}
em.brand-em{color:var(--brand);font-style:normal;}

/* ===== 首屏 ===== */
.hero{
  max-width:1200px;margin:0 auto;padding:56px 20px 70px;
  display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:center;
}
.hero h1{
  font-size:clamp(32px,4.6vw,56px);line-height:1.15;
  letter-spacing:-1.5px;font-weight:900;margin-bottom:18px;
}
.hero h1 span{color:var(--brand);}
.hook{font-size:17px;color:var(--sub);max-width:480px;margin-bottom:28px;}
.data-row{display:flex;gap:34px;flex-wrap:wrap;margin-bottom:32px;}
.data-item strong{display:block;font-size:28px;font-weight:900;letter-spacing:-1px;}
.data-item span{font-size:13px;color:var(--sub);}
.dl-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn-store{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid var(--ink);border-radius:999px;
  padding:11px 26px;font-weight:700;font-size:15px;
  transition:background .2s,color .2s,transform .2s;
}
.btn-store:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}

/* 卡堆 */
.card-stack{
  position:relative;height:440px;display:flex;align-items:center;justify-content:center;
  touch-action:pan-y;
}
.stack-card{
  position:absolute;width:230px;height:340px;
  border-radius:var(--radius);overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
  transition:transform .45s cubic-bezier(.22,.9,.3,1),opacity .35s;
  background:#ddd;
}
.stack-card img{width:100%;height:100%;object-fit:cover;}
.stack-card:nth-child(1){transform:translate(-70px,18px) rotate(-8deg) scale(.92);opacity:.7;}
.stack-card:nth-child(2){transform:translate(70px,10px) rotate(7deg) scale(.94);opacity:.8;}
.stack-card:nth-child(3){transform:translate(0,0) rotate(0) scale(1);z-index:3;}
.card-tag{
  position:absolute;right:2px;bottom:26px;z-index:4;
  background:#fff;border-radius:12px;padding:7px 13px;
  box-shadow:0 8px 20px rgba(0,0,0,.14);font-size:12px;line-height:1.4;
}
.card-tag b{display:block;font-size:13px;color:var(--brand);}

/* ===== 热播 3D 带 ===== */
.cover-flow{
  position:relative;height:360px;display:flex;align-items:center;justify-content:center;
  perspective:1100px;overflow:hidden;
}
.cf-item{
  position:absolute;width:170px;height:250px;border-radius:14px;overflow:hidden;
  transition:transform .5s ease,opacity .5s,filter .5s;
  box-shadow:0 14px 30px rgba(0,0,0,.16);background:#ddd;
}
.cf-item img{width:100%;height:100%;object-fit:cover;}
.cf-center-meta{text-align:center;margin-top:18px;}
.cf-center-meta h3{font-size:19px;font-weight:800;}
.meta-line{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px;}
.pill{
  font-size:12px;padding:3px 11px;border-radius:999px;
  background:var(--brand-soft);color:var(--brand);font-weight:600;
}
.pill.hot{background:#fff0f3;color:#e0455f;}
.thumbs{display:flex;gap:8px;justify-content:center;margin-top:18px;flex-wrap:wrap;}
.thumbs img{width:42px;height:60px;object-fit:cover;border-radius:8px;cursor:pointer;opacity:.55;transition:.2s;}
.thumbs img.active,.thumbs img:hover{opacity:1;outline:2px solid var(--brand);}

/* ===== 更新日历 ===== */
.timeline{position:relative;padding-left:26px;border-left:2px dashed var(--line);}
.time-line-now{
  position:absolute;left:-26px;right:0;height:2px;background:var(--brand);
  top:38%;z-index:2;
}
.time-line-now::before{
  content:"现在";position:absolute;left:-30px;top:-11px;
  font-size:11px;color:#fff;background:var(--brand);
  padding:1px 7px;border-radius:999px;
}
.slot{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.slot-time{width:64px;flex-shrink:0;font-weight:900;font-size:16px;color:var(--brand);}
.slot-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:6px;}
.mini{width:78px;flex-shrink:0;}
.mini img{width:78px;height:112px;object-fit:cover;border-radius:10px;}
.mini p{font-size:12px;margin-top:6px;line-height:1.35;}
.badge-ep{
  display:inline-block;font-size:10px;background:var(--brand-soft);
  color:var(--brand);border-radius:6px;padding:0 5px;margin-top:3px;
}
.mini.pending img{filter:grayscale(1);opacity:.55;}
.mini.pending p{color:#aaa;}

/* ===== 排行榜 ===== */
.rank-list{display:flex;flex-direction:column;gap:14px;}
.rank-row{
  position:relative;background:var(--card);border-radius:16px;
  padding:14px 18px;display:flex;align-items:center;gap:14px;
  border:1px solid var(--line);overflow:hidden;
}
.rank-row:nth-child(odd){margin-right:9%;}
.rank-row:nth-child(even){margin-left:9%;}
.rank-num{
  position:absolute;right:14px;top:-18px;font-size:82px;font-weight:900;
  color:transparent;-webkit-text-stroke:2px #eee;line-height:1;z-index:0;
}
.rank-row.top3 .rank-num{-webkit-text-stroke:2px var(--brand);opacity:.28;}
.rank-row img{width:48px;height:68px;object-fit:cover;border-radius:8px;position:relative;z-index:1;}
.rank-info{position:relative;z-index:1;flex:1;}
.rank-info h3{font-size:15px;font-weight:700;}
.rank-info small{color:var(--sub);font-size:12px;}
.trend{font-size:12px;font-weight:700;position:relative;z-index:1;}
.trend.up{color:#e0455f;}
.trend.down{color:var(--green);}

/* ===== 题材 Bento ===== */
.bento{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:130px;gap:16px;
}
.tile{
  background:var(--card);border-radius:16px;padding:16px;
  border:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;
  transition:transform .2s;
}
.tile:hover{transform:scale(1.03);}
.tile h3{font-size:16px;font-weight:800;}
.tile p{font-size:12px;color:var(--sub);}
.tile-imgs{display:flex;gap:6px;margin-top:8px;}
.tile-imgs img{width:38px;height:54px;object-fit:cover;border-radius:6px;}
.tile.big{grid-column:span 2;grid-row:span 2;}
.tile.wide{grid-column:span 2;}
.tile.brand{background:var(--brand);color:#fff;border-color:var(--brand);}
.tile.brand p{color:rgba(255,255,255,.8);}

/* ===== 独播 ===== */
.premiere{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;}
.premiere-main{
  border:2px solid var(--brand);border-radius:20px;padding:26px;
  background:#fff;display:flex;gap:20px;
}
.premiere-main img{width:130px;height:186px;object-fit:cover;border-radius:12px;flex-shrink:0;}
.premiere-main h3{font-size:20px;font-weight:800;margin-bottom:8px;}
.premiere-desc{font-size:13px;color:var(--sub);margin-bottom:14px;}
.countdown{display:flex;gap:8px;margin-bottom:16px;}
.cd-box{background:#1a1a1a;color:#fff;border-radius:10px;padding:8px 10px;text-align:center;min-width:52px;}
.cd-box b{display:block;font-size:19px;font-weight:900;}
.cd-box span{font-size:10px;opacity:.7;}
.btn-ghost{
  border:2px solid var(--brand);color:var(--brand);border-radius:999px;
  padding:8px 22px;font-size:13px;font-weight:700;transition:.2s;
}
.btn-ghost:hover{background:var(--brand);color:#fff;}
.premiere-list{display:flex;flex-direction:column;gap:12px;}
.excl-item{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 14px;}
.excl-item img{width:42px;height:60px;object-fit:cover;border-radius:8px;}
.excl-item h3{font-size:14px;font-weight:700;}
.excl-item small{color:var(--sub);font-size:12px;}

/* ===== 免费专区 ===== */
.free-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.free-card{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);position:relative;}
.free-card img{width:100%;aspect-ratio:3/4;object-fit:cover;}
.free-badge{
  position:absolute;top:8px;left:8px;background:var(--green);color:#fff;
  font-size:11px;padding:2px 8px;border-radius:6px;font-weight:700;
}
.free-card h3{font-size:14px;font-weight:700;padding:8px 10px 0;}
.free-card small{font-size:12px;color:var(--sub);padding:0 10px;}
.progress{height:4px;background:#eee;border-radius:4px;margin:8px 10px 4px;}
.progress i{display:block;height:100%;background:var(--brand);border-radius:4px;}
.free-card em{display:block;font-size:11px;color:#999;padding:0 10px 10px;font-style:normal;}

/* ===== 评价 ===== */
.review-stats{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:30px;}
.review-stats strong{display:block;font-size:38px;font-weight:900;letter-spacing:-1px;color:var(--brand);}
.review-stats span{font-size:13px;color:var(--sub);}
.masonry{column-count:2;column-gap:18px;}
.review-card{
  break-inside:avoid;background:#fff;border-radius:16px;padding:16px;
  margin-bottom:18px;position:relative;border:1px solid var(--line);
}
.review-card:nth-child(3n){background:#fdf3f6;}
.rv-idx{position:absolute;top:10px;right:12px;font-size:11px;color:#bbb;font-weight:700;}
.rv-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.rv-head img{width:30px;height:30px;border-radius:50%;object-fit:contain;background:#fff;border:1px solid var(--line);}
.rv-head b{font-size:13px;}
.stars{color:#f5a623;font-size:12px;letter-spacing:1px;}
.review-card p{font-size:13.5px;color:#444;}

/* ===== FAQ ===== */
.faq-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:26px;}
.faq-list{display:flex;flex-direction:column;gap:8px;}
.faq-q{
  text-align:left;width:100%;padding:14px 16px;border-radius:12px;
  background:#fff;border:1px solid var(--line);font-size:14px;
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  transition:.2s;
}
.faq-q.active{background:var(--brand);color:#fff;border-color:var(--brand);}
.faq-q span{font-size:12px;opacity:.6;}
.faq-a{
  background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;
  min-height:180px;display:flex;flex-direction:column;justify-content:center;
}
.faq-a h3{font-size:17px;margin-bottom:10px;}
.faq-a p{font-size:14px;color:var(--sub);}

/* ===== 下载安装 ===== */
.stepper{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:44px;}
.step{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;}
.step-num{font-size:26px;font-weight:900;color:var(--brand);}
.step h3{font-size:15px;margin:6px 0;}
.step p{font-size:13px;color:var(--sub);}
.final-dl{text-align:center;border:2px solid var(--ink);border-radius:24px;padding:38px 20px;background:#fff;}
.final-dl .dl-btns{justify-content:center;margin-bottom:24px;}
.qr-box{display:inline-block;background:#f2f2f4;border-radius:16px;padding:18px;}
.qr-box img{width:120px;height:120px;object-fit:contain;margin:0 auto;border-radius:10px;}
.qr-box p{font-size:12px;color:var(--sub);margin-top:8px;}

/* ===== 页脚 ===== */
footer{
  background:#111;color:#bbb;padding:48px 20px 26px;margin-top:40px;
}
.foot-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
footer h4{color:#fff;font-size:14px;margin-bottom:12px;}
footer a{font-size:13px;color:#bbb;display:block;margin-bottom:8px;}
footer a:hover{color:#fff;}
.foot-brand p{font-size:13px;line-height:1.8;max-width:280px;}
.foot-bottom{
  max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid #2a2a2a;
  font-size:12px;color:#888;line-height:2;
}
.foot-bottom a{display:inline;margin:0 6px 0 0;color:#888;font-size:12px;}
.updatetime{font-size:12px;color:#777;}

/* ===== 移动端悬浮下载 ===== */
.mobile-dl{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:#fff;border-top:1px solid var(--line);padding:10px 14px;
  gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08);
}
.mobile-dl a{
  flex:1;text-align:center;padding:11px 0;border-radius:999px;
  font-size:14px;font-weight:700;background:var(--ink);color:#fff;
}
.mobile-dl a:last-of-type{background:var(--brand);}
.mobile-dl .close-x{width:26px;flex:none;background:#f0f0f0;color:#888;border-radius:50%;padding:0;font-size:14px;}

/* ===== 断点 ===== */
@media (max-width:1200px){
  .hero{grid-template-columns:1fr 360px;}
  .nav-links{display:none;}
}
@media (max-width:992px){
  .hero{grid-template-columns:1fr;gap:36px;}
  .card-stack{height:400px;}
  .premiere{grid-template-columns:1fr;}
  .bento{grid-template-columns:repeat(3,1fr);}
  .free-grid{grid-template-columns:repeat(3,1fr);}
  .faq-wrap{grid-template-columns:1fr;}
  .foot-inner{grid-template-columns:1fr 1fr;}
  .stepper{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .floor{padding:50px 16px;}
  .rank-row:nth-child(odd),.rank-row:nth-child(even){margin:0;}
  .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:120px;}
  .tile.big{grid-column:span 2;grid-row:span 1;}
  .free-grid{grid-template-columns:repeat(2,1fr);}
  .masonry{column-count:1;}
  .cover-flow{height:300px;}
  .cf-item{width:140px;height:210px;}
  .premiere-main{flex-direction:column;}
  .premiere-main img{width:100px;height:142px;}
  .mobile-dl{display:flex;}
  body{padding-bottom:64px;}
  .nav-inner{gap:12px;padding:10px 14px;}
  .search-box{display:none;}
}
@media (max-width:480px){
  .hero h1{font-size:30px;}
  .data-row{gap:20px;}
  .data-item strong{font-size:22px;}
  .btn-store{padding:10px 18px;font-size:13px;}
  .foot-inner{grid-template-columns:1fr;}
  .card-stack{height:360px;}
  .stack-card{width:190px;height:280px;}
}