:root{
  --peach:#ff7a59;
  --peach-deep:#e2543a;
  --sun:#ffc93c;
  --ink:#1b1424;
  --ink-soft:#4a3f55;
  --cream:#fff8f1;
  --night:#16102b;
  --night-2:#221741;
  --mint:#d9f2e6;
  --paper:#fdf6ec;
  --line:rgba(27,20,36,.1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.7;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}

/* ---------- header ---------- */
.site-head{
  position:sticky;top:0;z-index:60;
  background:rgba(255,248,241,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.head-inner{
  display:flex;align-items:center;gap:18px;
  padding:10px 0;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand img{width:34px;height:34px;border-radius:10px;object-fit:cover}
.brand span{font-weight:800;font-size:18px;letter-spacing:.5px}
.nav{
  display:flex;gap:4px;flex:1;flex-wrap:wrap;justify-content:flex-end;
}
.nav a{
  font-size:14px;padding:7px 11px;border-radius:999px;
  color:var(--ink-soft);transition:background .2s,color .2s,transform .2s;
  white-space:nowrap;
}
.nav a:hover{background:var(--peach);color:#fff;transform:translateY(-2px)}
.nav-toggle{
  display:none;margin-left:auto;background:var(--peach);color:#fff;
  border:0;border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;
}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 420px at 12% 0%,#ffe3cf 0%,transparent 62%),
    radial-gradient(760px 400px at 88% 10%,#ffe9b8 0%,transparent 60%),
    linear-gradient(170deg,#fff8f1 0%,#fdeee2 100%);
  padding:44px 0 0;
}
.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}
.hero h1{
  font-size:clamp(26px,3.6vw,44px);
  line-height:1.28;letter-spacing:-.5px;font-weight:900;
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(92deg,var(--peach) 0%,var(--peach-deep) 60%,#a63a9c 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{margin-top:16px;font-size:16px;color:var(--ink-soft);max-width:33em}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.hero-tags span{
  font-size:13px;padding:5px 12px;border-radius:999px;
  background:#fff;border:1px solid var(--line);color:var(--ink-soft);
}
.dl-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.dl-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 20px;border-radius:14px;font-weight:700;font-size:15px;
  background:linear-gradient(135deg,var(--peach),var(--peach-deep));
  color:#fff;box-shadow:0 10px 22px rgba(226,84,58,.26);
  transition:transform .2s,box-shadow .2s;
}
.dl-btn:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(226,84,58,.34)}
.dl-btn.ghost{
  background:#fff;color:var(--ink);border:1.5px solid var(--peach);
  box-shadow:none;
}
.dl-btn.ghost:hover{background:#fff3ec}
.dl-note{margin-top:12px;font-size:13px;color:#8a7d8f}

.hero-stage{position:relative;display:flex;justify-content:center}
.stage-frame{
  position:relative;width:100%;max-width:330px;
  border-radius:26px;overflow:hidden;
  box-shadow:0 26px 60px rgba(56,26,66,.26);
  border:6px solid #fff;background:#fff;
  aspect-ratio:2/3;
}
.stage-frame img{width:100%;height:100%;object-fit:cover}
.stage-mask{
  position:absolute;inset:auto 0 0 0;
  background:linear-gradient(transparent,rgba(22,16,43,.82));
  color:#fff;padding:40px 16px 16px;
}
.stage-mask strong{display:block;font-size:17px}
.stage-mask small{font-size:12.5px;opacity:.82}
.stage-dots{position:absolute;top:12px;right:12px;display:flex;gap:5px}
.stage-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55)}
.stage-dots i.on{background:var(--sun);width:16px;border-radius:4px}

/* marquee */
.marquee{
  margin-top:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.6);overflow:hidden;
}
.marquee-track{
  display:flex;gap:38px;white-space:nowrap;padding:12px 0;
  animation:slide 34s linear infinite;width:max-content;
}
.marquee-track span{
  font-size:14px;font-weight:700;
  background:linear-gradient(92deg,#ff7a59,#ff3d8b 40%,#7a5cff 78%,#1ec8b0);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- generic section ---------- */
section{padding:60px 0}
.sec-head{margin-bottom:28px}
.sec-head h2{font-size:clamp(21px,2.4vw,30px);font-weight:900;letter-spacing:-.3px}
.sec-head p{margin-top:8px;color:var(--ink-soft);font-size:15px;max-width:44em}
.kicker{
  display:inline-block;font-size:12px;font-weight:800;letter-spacing:2px;
  color:var(--peach-deep);margin-bottom:8px;
}

/* ---------- 经典剧场 (staggered cards) ---------- */
.classic{background:linear-gradient(180deg,#fdf6ec 0%,#fbe9dc 100%)}
.card-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:20px;
}
.card{
  background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid var(--line);display:flex;flex-direction:column;
  transition:transform .25s,box-shadow .25s;
}
.card:hover{transform:translateY(-6px);box-shadow:0 18px 34px rgba(90,50,40,.14)}
.card .thumb{aspect-ratio:3/4;overflow:hidden;background:#f3e6db}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card-body{padding:12px 13px 15px}
.card-body h3{font-size:15.5px;margin-bottom:5px}
.card-body p{font-size:13px;color:var(--ink-soft);line-height:1.6}
.meta{display:flex;align-items:center;justify-content:space-between;margin-top:9px;font-size:12px;color:#948797}
.meta b{color:var(--peach-deep)}
.chip{display:inline-block;font-size:11.5px;padding:2px 8px;border-radius:6px;background:#fff1e8;color:var(--peach-deep);margin-top:8px}

/* ---------- 深夜心跳 (dark split) ---------- */
.night{
  background:
    radial-gradient(700px 340px at 85% 0%,#3a1f5e 0%,transparent 65%),
    linear-gradient(160deg,var(--night) 0%,var(--night-2) 100%);
  color:#f3ecff;
}
.night .sec-head h2{color:#fff}
.night .sec-head p{color:#bba9d6}
.night .kicker{color:#ffb27a}
.night-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px;align-items:start}
.night-poster{
  border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 20px 50px rgba(0,0,0,.45);position:sticky;top:90px;
}
.night-poster img{width:100%;aspect-ratio:2/3;object-fit:cover}
.night-list{display:grid;gap:12px}
.night-item{
  display:flex;gap:14px;align-items:flex-start;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;padding:13px 15px;
  transition:background .2s,border-color .2s;
}
.night-item:hover{background:rgba(255,255,255,.1);border-color:rgba(255,178,122,.5)}
.night-item .num{
  font-size:13px;font-weight:800;color:#ffb27a;min-width:26px;padding-top:2px;
}
.night-item h3{font-size:15px;margin-bottom:3px}
.night-item p{font-size:13px;color:#b9a8d2;line-height:1.6}

/* ---------- 原著联动 ---------- */
.adapt{background:linear-gradient(180deg,#eef7f1 0%,#dff0e6 100%)}
.adapt-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.adapt-left{
  background:#fff;border-radius:20px;padding:26px;border:1px solid rgba(20,80,60,.12);
}
.adapt-left h3{font-size:19px;margin-bottom:12px}
.adapt-left p{font-size:14.5px;color:#43574c;margin-bottom:12px}
.adapt-quote{
  border-left:3px solid #3f9c74;padding:8px 0 8px 14px;
  font-size:14px;color:#2f6b51;background:#f3fbf6;border-radius:0 10px 10px 0;
}
.adapt-right{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adapt-card{
  background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid rgba(20,80,60,.1);
}
.adapt-card img{width:100%;aspect-ratio:3/4;object-fit:cover}
.adapt-card div{padding:10px 12px 14px}
.adapt-card h3{font-size:14.5px}
.adapt-card p{font-size:12.5px;color:#5c7168;line-height:1.55;margin-top:3px}

/* ---------- 全集短剧 timeline ---------- */
.timeline-sec{background:linear-gradient(180deg,#fff8f1 0%,#f4eefb 100%)}
.tl{
  position:relative;margin-top:8px;padding-left:26px;
}
.tl::before{
  content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(#ff7a59,#a63a9c,#5a7cff);border-radius:2px;
}
.tl-row{position:relative;padding:0 0 22px 4px;display:grid;grid-template-columns:78px 1fr;gap:14px}
.tl-row::before{
  content:"";position:absolute;left:-26px;top:6px;width:14px;height:14px;
  border-radius:50%;background:#fff;border:3px solid var(--peach);
}
.tl-time{font-weight:800;font-size:14px;color:var(--peach-deep);padding-top:2px}
.tl-body{background:#fff;border-radius:14px;padding:13px 16px;border:1px solid var(--line)}
.tl-body h3{font-size:15px;margin-bottom:3px}
.tl-body p{font-size:13.5px;color:var(--ink-soft)}

/* ---------- AI 剧场 ---------- */
.ai{background:linear-gradient(160deg,#1d1533 0%,#2b1b45 55%,#3a2050 100%);color:#f2ebff}
.ai .sec-head h2{color:#fff}
.ai .sec-head p{color:#c3b2dd}
.ai .kicker{color:#7ee7d0}
.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.ai-card{
  border-radius:18px;padding:20px;background:rgba(255,255,255,.06);
  border:1px solid rgba(126,231,208,.22);
  transition:transform .25s,border-color .25s;
}
.ai-card:hover{transform:translateY(-5px);border-color:#7ee7d0}
.ai-card h3{font-size:16px;margin-bottom:6px;color:#a8f0e2}
.ai-card p{font-size:13.5px;color:#c9bbe3;line-height:1.65}
.ai-strip{display:flex;gap:14px;overflow-x:auto;margin-top:22px;padding-bottom:8px;scrollbar-width:thin}
.ai-strip img{width:120px;aspect-ratio:3/4;object-fit:cover;border-radius:12px;flex:0 0 auto}

/* ---------- 神评墙 ---------- */
.review{background:#fff}
.rev-wall{
  columns:3;column-gap:18px;
}
.rev-card{
  break-inside:avoid;margin-bottom:18px;background:var(--paper);
  border-radius:16px;padding:16px;border:1px solid var(--line);
}
.rev-top{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.rev-top img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.rev-top strong{font-size:14px}
.rev-top span{font-size:12px;color:#9b8fa8;margin-left:auto}
.rev-card p{font-size:13.5px;color:#4d4257;line-height:1.65}
.rev-stars{color:var(--sun);font-size:13px;letter-spacing:2px;margin-top:8px}

/* ---------- 未成年人保护 / 反馈 (Q&A) ---------- */
.safe{background:linear-gradient(180deg,#eaf4ff 0%,#f7fbff 100%)}
.faq{display:grid;gap:12px;max-width:900px;margin:0 auto}
.faq details{
  background:#fff;border-radius:14px;padding:14px 18px;border:1px solid rgba(40,80,140,.14);
}
.faq summary{
  cursor:pointer;font-weight:700;font-size:15px;list-style:none;
  display:flex;align-items:center;gap:10px;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{
  content:"+";display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:50%;background:#dbeafe;color:#2563a8;
  font-weight:800;font-size:15px;flex:0 0 auto;
}
.faq details[open] summary::before{content:"–";background:#2563a8;color:#fff}
.faq p{margin-top:10px;font-size:14px;color:#40566e;padding-left:32px}

/* ---------- 下载专区 ---------- */
.download{background:linear-gradient(165deg,#fff3e6 0%,#ffe6d6 50%,#fde0ef 100%)}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}
.dl-card{
  background:#fff;border-radius:16px;padding:18px;border:1px solid var(--line);
  display:flex;flex-direction:column;gap:6px;
}
.dl-card strong{font-size:16px}
.dl-card span{font-size:13px;color:var(--ink-soft)}
.dl-card a{
  margin-top:6px;align-self:flex-start;font-size:13.5px;font-weight:700;
  color:var(--peach-deep);border-bottom:1.5px dashed var(--peach);
}
.steps{counter-reset:s;display:grid;gap:12px}
.steps li{
  list-style:none;counter-increment:s;position:relative;
  padding:13px 18px 13px 54px;background:rgba(255,255,255,.72);
  border-radius:14px;font-size:14px;color:#4a3f55;
}
.steps li::before{
  content:counter(s);position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:24px;height:24px;border-radius:50%;background:var(--peach);color:#fff;
  font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;
}

/* ---------- floating ---------- */
.float-dl{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);
  z-index:80;display:flex;align-items:center;gap:10px;
  background:rgba(27,20,36,.93);color:#fff;border-radius:999px;
  padding:8px 16px 8px 8px;box-shadow:0 12px 30px rgba(0,0,0,.3);
  font-size:14px;font-weight:700;
}
.float-dl img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.float-dl a{color:var(--sun)}

/* ---------- footer ---------- */
.site-foot{
  background:#1b1424;color:#9c90a8;padding:34px 0 70px;font-size:13px;
}
.foot-grid{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.foot-grid h4{color:#e6dcec;font-size:14px;margin-bottom:8px}
.foot-links{display:flex;flex-wrap:wrap;gap:10px 18px;max-width:520px}
.foot-links a:hover{color:var(--sun)}
.foot-bottom{
  margin-top:22px;padding-top:14px;border-top:1px solid rgba(255,255,255,.09);
  display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between;
  font-size:12.5px;color:#7d7188;
}
.foot-bottom a{color:#8e8299}
.foot-bottom a:hover{color:var(--sun)}

/* ---------- responsive ---------- */
@media (max-width:1023px){
  .hero-inner{grid-template-columns:1fr;gap:26px}
  .hero-stage{order:-1}
  .stage-frame{max-width:280px}
  .night-layout{grid-template-columns:1fr}
  .night-poster{position:static;max-width:280px;margin:0 auto}
  .adapt-grid{grid-template-columns:1fr}
  .rev-wall{columns:2}
}
@media (max-width:767px){
  section{padding:44px 0}
  .head-inner{padding:8px 0}
  .nav-toggle{display:inline-block}
  .nav{
    display:none;width:100%;justify-content:flex-start;
    padding:10px 0 6px;border-top:1px solid var(--line);margin-top:6px;
  }
  .nav.open{display:flex}
  .nav a{font-size:13.5px;padding:7px 10px;background:#fff;border:1px solid var(--line)}
  .brand span{font-size:16px}
  .hero{padding-top:28px}
  .hero h1{font-size:26px}
  .hero-lead{font-size:14.5px}
  .dl-btn{flex:1 1 auto;justify-content:center;padding:11px 14px;font-size:14px}
  .card-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .card-body{padding:10px}
  .card-body h3{font-size:14px}
  .rev-wall{columns:1}
  .tl-row{grid-template-columns:66px 1fr;gap:10px}
  .adapt-right{grid-template-columns:1fr 1fr;gap:12px}
  .float-dl{font-size:13px;padding:7px 14px 7px 7px}
  .stage-frame{max-width:250px}
}