:root{
  --peach:#ff8a5c;
  --peach-deep:#ff5f3d;
  --peach-soft:#fff1e9;
  --ink:#241c1a;
  --ink-2:#5a4a44;
  --cream:#fffaf6;
  --mint:#e8f6f1;
  --night:#171520;
  --night-2:#241f33;
  --violet:#8a6bff;
  --gold:#e8b25a;
  --line:rgba(36,28,26,.1);
  --radius:18px;
}
*{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;
  color:var(--ink);
  background:var(--cream);
  line-height:1.7;
  font-size:15px;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}

/* ---------- 顶部导航 ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(255,250,246,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{
  display:flex;align-items:center;gap:18px;
  max-width:1180px;margin:0 auto;padding:10px 20px;
}
.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}
.brand img{height:34px;width:34px;border-radius:10px;object-fit:cover}
.brand-name{font-size:17px;font-weight:800;letter-spacing:.5px;white-space:nowrap}
.nav-desktop{display:flex;flex-wrap:wrap;gap:2px;margin-left:auto}
.nav-desktop a{
  font-size:13.5px;padding:6px 10px;border-radius:999px;
  color:var(--ink-2);transition:.22s;white-space:nowrap;
}
.nav-desktop a:hover{color:#fff;background:var(--peach-deep)}
.nav-toggle{
  display:none;margin-left:auto;border:1px solid var(--line);
  background:#fff;border-radius:12px;padding:8px 14px;font-size:14px;
  color:var(--ink);cursor:pointer;font-weight:600;
}
.nav-mobile{display:none;border-top:1px solid var(--line);padding:8px 16px 14px;background:#fff}
.nav-mobile.open{display:block}
.nav-mobile a{
  display:block;padding:9px 10px;font-size:14.5px;border-radius:10px;color:var(--ink-2);
}
.nav-mobile a:hover{background:var(--peach-soft);color:var(--peach-deep)}

/* ---------- 首屏 ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 420px at 15% -10%,#ffe0cc 0%,transparent 62%),
    radial-gradient(760px 400px at 96% 8%,#ffe9d2 0%,transparent 60%),
    linear-gradient(180deg,#fff7f0 0%,#fffaf6 100%);
  padding:34px 0 0;
}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:30px;align-items:center;
}
.hero-kicker{
  display:inline-flex;align-items:center;gap:7px;
  background:#fff;border:1px solid rgba(255,95,61,.28);
  color:var(--peach-deep);font-size:12.5px;font-weight:700;
  padding:5px 13px;border-radius:999px;margin-bottom:14px;
}
.hero-kicker i{width:6px;height:6px;border-radius:50%;background:var(--peach-deep);display:block}
.hero h1{
  font-size:clamp(27px,3.6vw,42px);
  line-height:1.28;letter-spacing:-.5px;font-weight:900;
}
.hero h1 em{
  font-style:normal;
  background:linear-gradient(96deg,#ff5f3d,#ff9a3d 55%,#ffc14d);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{margin-top:14px;color:var(--ink-2);font-size:15.5px;max-width:33em}
.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.hero-tags span{
  font-size:12.5px;padding:5px 12px;border-radius:999px;
  background:#fff;border:1px solid var(--line);color:var(--ink-2);
}
.dl-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.dl-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 20px;border-radius:14px;font-weight:700;font-size:14px;
  transition:.22s;border:1px solid transparent;
}
.dl-btn .dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.75}
.dl-primary{background:linear-gradient(120deg,#ff5f3d,#ff9440);color:#fff;box-shadow:0 10px 22px -10px rgba(255,95,61,.75)}
.dl-primary:hover{transform:translateY(-2px);box-shadow:0 16px 26px -12px rgba(255,95,61,.8)}
.dl-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.dl-ghost:hover{border-color:var(--peach);color:var(--peach-deep);transform:translateY(-2px)}

/* 首屏右侧轮播 */
.hero-visual{position:relative}
.reel{
  position:relative;border-radius:26px;overflow:hidden;
  aspect-ratio:4/3.4;background:#ffe7d8;
  box-shadow:0 30px 60px -34px rgba(120,60,30,.55);
}
.reel img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .9s ease,transform 6s linear;
  transform:scale(1.04);
}
.reel img.on{opacity:1;transform:scale(1.1)}
.reel-cap{
  position:absolute;left:14px;bottom:14px;right:14px;
  background:rgba(24,16,14,.62);backdrop-filter:blur(6px);
  color:#fff;border-radius:14px;padding:10px 14px;
  font-size:13px;display:flex;justify-content:space-between;gap:10px;align-items:center;
}
.reel-cap b{font-size:14px;font-weight:800}
.reel-cap span{color:#ffd9a3;font-size:12px;white-space:nowrap}
.reel-dots{display:flex;gap:6px;justify-content:center;margin-top:12px}
.reel-dots i{width:20px;height:5px;border-radius:99px;background:#f0c9b4;transition:.25s;display:block}
.reel-dots i.on{background:var(--peach-deep);width:34px}

/* 跑马灯 */
.marquee{
  margin-top:30px;background:linear-gradient(90deg,#2b1a16,#3c231b 45%,#2b1a16);
  border-top:1px solid rgba(255,255,255,.08);
  overflow:hidden;padding:11px 0;
}
.marquee-track{display:flex;gap:36px;width:max-content;animation:slide 32s linear infinite}
.marquee span{
  font-size:14px;font-weight:800;white-space:nowrap;
  background:linear-gradient(92deg,#ffd166,#ff7a59 40%,#ff4f9a 70%,#8a6bff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.marquee span::after{content:"·";margin-left:36px;color:#7a5c4d;-webkit-text-fill-color:#7a5c4d}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- 通用区块头部 ---------- */
.sec{padding:58px 0}
.sec-head{margin-bottom:26px;max-width:660px}
.sec-label{
  font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;
  color:var(--peach-deep);margin-bottom:9px;
}
.sec-head h2{font-size:clamp(21px,2.5vw,29px);line-height:1.35;font-weight:900;letter-spacing:-.3px}
.sec-head p{margin-top:9px;color:var(--ink-2);font-size:14.5px}

/* 剧场：横向卡片列 */
.sec-classic{background:linear-gradient(180deg,#fffaf6,#fdf3ea)}
.card-row{
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
}
.story-card{
  background:#fff;border-radius:16px;overflow:hidden;
  border:1px solid var(--line);transition:.25s;
  display:flex;flex-direction:column;
}
.story-card:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(120,60,30,.6)}
.story-card .pic{position:relative;aspect-ratio:3/4;overflow:hidden;background:#f6e2d6}
.story-card .pic img{width:100%;height:100%;object-fit:cover;transition:.4s}
.story-card:hover .pic img{transform:scale(1.05)}
.score{
  position:absolute;top:8px;right:8px;background:rgba(24,16,14,.7);
  color:#ffd08a;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:99px;
}
.story-card .body{padding:11px 12px 13px;display:flex;flex-direction:column;gap:6px;flex:1}
.story-card h3{font-size:14.5px;font-weight:800;line-height:1.35}
.story-card .desc{font-size:12.5px;color:var(--ink-2);line-height:1.55;flex:1}
.story-card .meta{font-size:11.5px;color:#9a8478;display:flex;justify-content:space-between;gap:8px}
.chip{display:inline-block;font-size:11px;padding:1px 8px;border-radius:99px;background:var(--peach-soft);color:#c4471f}

/* 深夜心跳：深色时间轴 */
.sec-night{background:linear-gradient(180deg,var(--night),var(--night-2));color:#f3ece4}
.sec-night .sec-head h2{color:#fff}
.sec-night .sec-head p{color:#b9aec4}
.sec-night .sec-label{color:#ffb27a}
.timeline{position:relative;padding-left:26px;margin-top:6px}
.timeline::before{
  content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg,#ffb27a,#8a6bff 60%,transparent);
}
.tl-item{position:relative;padding:0 0 20px 14px}
.tl-item::before{
  content:"";position:absolute;left:-26px;top:6px;width:12px;height:12px;border-radius:50%;
  background:var(--night-2);border:2px solid #ffb27a;
}
.tl-time{font-size:12.5px;font-weight:800;color:#ffb27a;letter-spacing:1px}
.tl-item h3{font-size:15px;font-weight:800;margin:2px 0 3px;color:#fff}
.tl-item p{font-size:13px;color:#b6aabc}
.tl-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.night-note{
  margin-top:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:16px 18px;font-size:13.5px;color:#cfc4d8;
}
.night-note strong{color:#ffd08a}

/* 原著联动：左右图文 */
.sec-origin{background:linear-gradient(180deg,#f3f8f4,#eaf4ee)}
.origin-grid{display:grid;grid-template-columns:.62fr 1fr;gap:32px;align-items:start}
.origin-visual{position:relative}
.origin-visual img{border-radius:20px;aspect-ratio:3/4;object-fit:cover;width:100%}
.origin-quote{
  position:absolute;left:-10px;bottom:-14px;right:18px;
  background:#fff;border-radius:14px;padding:11px 14px;font-size:12.5px;
  color:var(--ink-2);box-shadow:0 16px 28px -20px rgba(30,70,50,.6);
}
.origin-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.origin-item{
  background:#fff;border:1px solid rgba(30,70,50,.1);border-radius:13px;
  padding:11px 13px;font-size:13px;color:var(--ink-2);
}
.origin-item b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px}

/* 全集：紧凑清单 */
.sec-all{background:linear-gradient(180deg,#fffaf6,#fff3ea)}
.all-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 22px}
.all-item{
  display:flex;align-items:baseline;gap:10px;padding:10px 0;
  border-bottom:1px dashed rgba(180,140,120,.35);font-size:13.5px;
}
.all-item .no{font-size:12px;font-weight:900;color:var(--peach-deep);min-width:26px}
.all-item .nm{font-weight:700}
.all-item .tag{margin-left:auto;font-size:11.5px;color:#a08a7d;white-space:nowrap}

/* AI 剧场：问答 */
.sec-ai{background:linear-gradient(180deg,#f6f2ff,#ece6ff)}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qa-card{background:#fff;border-radius:16px;padding:15px 17px;border:1px solid rgba(138,107,255,.16)}
.qa-card .q{font-size:14px;font-weight:800;color:#4d3b8f;display:flex;gap:8px}
.qa-card .q span{color:var(--violet)}
.qa-card .a{font-size:13px;color:var(--ink-2);margin-top:6px;padding-left:22px}

/* 神评墙 */
.sec-comment{background:linear-gradient(180deg,#fff6f1,#ffece2)}
.wall{columns:2;column-gap:16px}
.wall-card{
  break-inside:avoid;background:#fff;border-radius:16px;padding:14px 16px;
  margin-bottom:16px;border:1px solid var(--line);
}
.wall-user{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.wall-user img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid #ffd9c2}
.wall-user b{font-size:13.5px}
.wall-user i{font-style:normal;font-size:11.5px;color:#a8907f;margin-left:auto}
.wall-card p{font-size:13.5px;color:var(--ink-2)}
.wall-card .ref{margin-top:7px;font-size:11.5px;color:var(--peach-deep)}

/* 未成年人保护 */
.sec-teen{background:linear-gradient(180deg,#eef7fb,#e3f1f8)}
.teen-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.teen-card{background:#fff;border-radius:16px;padding:15px 17px;border:1px solid rgba(30,90,120,.12)}
.teen-card h3{font-size:14.5px;font-weight:800;margin-bottom:5px;color:#1f4f66}
.teen-card p{font-size:13px;color:#4d6b78}

/* 意见反馈 */
.sec-feedback{background:linear-gradient(180deg,#fffdf6,#fdf6e6)}
.fb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fb-card{background:#fff;border-radius:16px;padding:16px 18px;border:1px solid rgba(160,130,60,.18)}
.fb-card h3{font-size:14.5px;font-weight:800;margin-bottom:5px;color:#7a5b1f}
.fb-card p{font-size:13px;color:#6b5b3a}

/* 下载专区 */
.sec-download{background:linear-gradient(160deg,#2b1a16,#3d241b 55%,#2b1a16);color:#fff}
.sec-download .sec-label{color:#ffb27a}
.sec-download .sec-head h2{color:#fff}
.sec-download .sec-head p{color:#d3bfb3}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.step{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:15px 17px}
.step b{display:block;font-size:13px;color:#ffb27a;letter-spacing:1px;margin-bottom:4px}
.step h3{font-size:15px;margin-bottom:4px}
.step p{font-size:13px;color:#d3bfb3}
.dl-panel{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  border-radius:20px;padding:22px;
}
.dl-panel .dl-group{margin-top:0}
.dl-panel .dl-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.dl-panel .dl-ghost:hover{border-color:#ffb27a;color:#ffb27a}
.dl-tip{margin-top:14px;font-size:12.5px;color:#bda89a}
.copy-box{
  display:none;margin-top:14px;background:#fff;color:var(--ink);
  border-radius:14px;padding:14px 16px;font-size:13px;
}
.copy-box.show{display:block}
.copy-box em{display:block;font-style:normal;color:var(--peach-deep);font-weight:800;margin-bottom:6px}
.copy-box code{
  display:block;word-break:break-all;background:var(--peach-soft);
  border-radius:9px;padding:8px 10px;font-size:12.5px;color:#a13a16;margin-bottom:9px;
}
.copy-box button{
  border:none;background:var(--peach-deep);color:#fff;border-radius:9px;
  padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;
}

/* 浮动下载 */
.float-dl{
  position:fixed;left:50%;bottom:16px;transform:translateX(-50%);
  z-index:70;display:flex;align-items:center;gap:9px;
  background:#fff;border-radius:999px;padding:7px 9px 7px 8px;
  box-shadow:0 14px 34px -14px rgba(60,30,20,.55);
  border:1px solid var(--line);
}
.float-dl img{width:30px;height:30px;border-radius:50%;object-fit:cover}
.float-dl .txt{font-size:12px;color:var(--ink-2);line-height:1.25}
.float-dl .txt b{display:block;font-size:13px;color:var(--ink)}
.float-dl a.go{
  background:linear-gradient(120deg,#ff5f3d,#ff9440);color:#fff;
  border-radius:999px;padding:8px 16px;font-size:13px;font-weight:800;white-space:nowrap;
}

/* 页脚 */
.site-footer{
  background:#1d1512;color:#8d7c72;padding:34px 0 84px;font-size:12.5px;
}
.footer-top{
  display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:26px;
  padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08);
}
.footer-brand{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.footer-brand img{height:28px;width:28px;border-radius:8px;object-fit:cover}
.footer-brand b{color:#f0e4da;font-size:14px}
.site-footer p{line-height:1.75}
.footer-col h4{color:#e0d2c7;font-size:12.5px;margin-bottom:8px;letter-spacing:1px}
.footer-col a{display:block;padding:2px 0;color:#8d7c72;transition:.2s}
.footer-col a:hover{color:#ffb27a}
.footer-bottom{padding-top:16px;display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:space-between}
.footer-bottom a{color:#a59287}
.footer-bottom time{color:#7a6a61}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .card-row{grid-template-columns:repeat(3,1fr)}
  .origin-grid{grid-template-columns:1fr;gap:24px}
  .origin-visual img{aspect-ratio:16/11}
  .footer-top{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
}
@media (max-width:768px){
  body{font-size:14.5px}
  .nav-desktop{display:none}
  .nav-toggle{display:inline-block}
  .hero{padding-top:24px}
  .hero-grid{grid-template-columns:1fr;gap:22px}
  .hero h1{font-size:26px}
  .hero-lead{font-size:14.5px}
  .dl-btn{padding:10px 16px;font-size:13.5px;flex:1 1 auto;justify-content:center}
  .reel{aspect-ratio:4/3.6;border-radius:20px}
  .sec{padding:40px 0}
  .card-row{grid-template-columns:repeat(2,1fr);gap:12px}
  .tl-grid{grid-template-columns:1fr}
  .origin-list{grid-template-columns:1fr}
  .all-list{grid-template-columns:1fr}
  .qa,.teen-grid,.fb-grid{grid-template-columns:1fr}
  .wall{columns:1}
  .footer-top{grid-template-columns:1fr}
  .float-dl{left:12px;right:12px;transform:none;justify-content:space-between}
}