:root{
  --paper:#fdf6e3;
  --paper-2:#f8eccb;
  --ink:#1d1a17;
  --pink:#ff7ea8;
  --pink-soft:#ffd6e2;
  --gold:#f6c453;
  --tape:rgba(255,255,255,.55);
  --shadow:6px 6px 0 var(--ink);
  --line:3px solid var(--ink);
  --muted:#6b615a;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  color:var(--ink);
  background:var(--paper);
  background-image:
    radial-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
    radial-gradient(rgba(0,0,0,.025) 1px, transparent 1px);
  background-size:22px 22px, 14px 14px;
  background-position:0 0, 7px 7px;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px;}

/* ===== 公告条 ===== */
.notice-bar{
  height:40px;background:linear-gradient(90deg,#ff7ea8,#ffb35c);
  display:flex;align-items:center;overflow:hidden;position:relative;
  border-bottom:var(--line);
}
.notice-track{
  white-space:nowrap;color:#fff;font-size:14px;font-weight:700;
  padding-left:10px;animation:marquee 22s linear infinite;
}
.notice-track span{padding-right:60px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.notice-close{
  position:absolute;right:8px;top:5px;width:26px;height:26px;border-radius:50%;
  border:2px solid #fff;background:transparent;color:#fff;font-weight:800;
  cursor:pointer;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;
}

/* ===== 顶部导航 ===== */
.site-header{
  position:sticky;top:0;z-index:40;background:var(--paper-2);
  border-bottom:var(--line);
  box-shadow:0 3px 0 rgba(29,26,23,.12);
}
.nav-inner{
  display:flex;align-items:center;gap:16px;padding:12px 0;flex-wrap:wrap;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 0 auto;}
.brand img{height:34px;width:auto;border:2px solid var(--ink);border-radius:10px;background:#fff;padding:2px;}
.brand-name{font-size:20px;font-weight:900;letter-spacing:1px;transform:rotate(-2deg);}
.search-box{position:relative;flex:1 1 260px;min-width:200px;}
.search-box input{
  width:100%;border:var(--line);border-radius:999px;background:#fff;
  padding:9px 16px 9px 40px;font-size:14px;font-family:inherit;outline:none;
  box-shadow:3px 3px 0 var(--ink);
}
.search-box input:focus{box-shadow:3px 3px 0 var(--pink);}
.search-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:15px;}
.search-drop{
  display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);
  background:#fff;border:var(--line);border-radius:14px;padding:12px;
  box-shadow:var(--shadow);z-index:50;
}
.search-box.open .search-drop{display:block;}
.search-drop h4{margin:0 0 6px;font-size:13px;color:var(--muted);font-weight:800;}
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;}
.tag{
  font-size:12px;padding:4px 10px;border-radius:999px;
  border:2px solid var(--ink);background:var(--pink-soft);text-decoration:none;
}
.tag:hover{background:var(--pink);color:#fff;}
.nav-links{display:flex;gap:14px;align-items:center;font-size:14px;font-weight:700;}
.nav-links a{text-decoration:none;border-bottom:2px solid transparent;}
.nav-links a:hover{border-color:var(--ink);}
.dl-btn{
  background:var(--pink);color:var(--ink);text-decoration:none;font-weight:900;
  padding:9px 20px;border-radius:12px;border:var(--line);box-shadow:4px 4px 0 var(--ink);
  display:inline-block;transition:transform .12s ease;
}
.dl-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);}
.dl-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);}

/* ===== 首屏 ===== */
.hero{padding:38px 0 30px;position:relative;}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;}
.hero-card{
  background:#fff;border:var(--line);border-radius:20px;padding:30px 28px;
  box-shadow:var(--shadow);position:relative;
}
.tape{
  position:absolute;width:92px;height:26px;background:var(--tape);
  border:1px dashed rgba(29,26,23,.35);transform:rotate(-6deg);
}
.tape.tl{top:-13px;left:22px;}
.tape.br{bottom:-13px;right:22px;transform:rotate(5deg);}
.hero h1{
  font-size:clamp(26px,3.4vw,40px);line-height:1.28;margin:0 0 16px;
  font-weight:900;letter-spacing:1px;transform:rotate(-1deg);
  text-shadow:2px 2px 0 var(--pink-soft);
}
.hero h1 mark{background:linear-gradient(transparent 62%,var(--gold) 62%);color:inherit;}
.hero p.lead{margin:0 0 20px;font-size:15px;color:#3b352f;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-actions .secondary{
  font-size:14px;font-weight:800;text-decoration:none;
  border-bottom:3px solid var(--ink);padding-bottom:2px;
}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;}
.hero-tags span{
  font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;
  background:var(--paper-2);border:2px solid var(--ink);
}
.hero-shots{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.hero-shots img{
  border:var(--line);border-radius:12px;box-shadow:5px 5px 0 var(--ink);
  aspect-ratio:3/4;object-fit:cover;background:#e8dfc8;
  transform:rotate(-2deg);
}
.hero-shots img:nth-child(2){transform:rotate(2deg) translateY(-12px);}
.hero-shots img:nth-child(3){transform:rotate(-1deg) translateY(6px);}

/* ===== 通用板块 ===== */
.section{padding:44px 0;position:relative;}
.section-head{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.section-head h2{
  margin:0;font-size:clamp(21px,2.4vw,28px);font-weight:900;
  transform:rotate(-1deg);text-shadow:2px 2px 0 var(--pink-soft);
}
.section-head .sub{font-size:13px;color:var(--muted);font-weight:700;}
.more-link{
  margin-left:auto;font-size:13px;font-weight:800;text-decoration:none;
  border:2px solid var(--ink);border-radius:999px;padding:5px 14px;background:#fff;
  box-shadow:3px 3px 0 var(--ink);
}
.more-link:hover{background:var(--gold);}

/* ===== 分类导航 ===== */
.cat-row{
  display:flex;gap:16px;overflow-x:auto;padding:16px 4px 20px;
  scrollbar-width:thin;
}
.cat-item{
  flex:0 0 auto;width:84px;text-align:center;text-decoration:none;
  transition:transform .15s ease;
}
.cat-ico{
  width:62px;height:62px;border-radius:50%;margin:0 auto 8px;
  display:flex;align-items:center;justify-content:center;
  border:var(--line);background:linear-gradient(135deg,#ffd6e2,#ffb35c);
  box-shadow:3px 3px 0 var(--ink);font-size:24px;transition:transform .15s ease, box-shadow .15s ease;
}
.cat-item:nth-child(2n) .cat-ico{background:linear-gradient(135deg,#cfe4ff,#8fb6ff);}
.cat-item:nth-child(3n) .cat-ico{background:linear-gradient(135deg,#ffe9b8,#f6c453);}
.cat-item:nth-child(4n) .cat-ico{background:linear-gradient(135deg,#e0d4ff,#b39bff);}
.cat-item:nth-child(5n) .cat-ico{background:linear-gradient(135deg,#c8f0dd,#7fd6ae);}
.cat-name{font-size:13px;font-weight:800;}
.cat-item:hover{transform:translateY(-4px);}
.cat-item:hover .cat-ico{border-color:var(--pink);box-shadow:0 0 0 4px var(--pink-soft),3px 3px 0 var(--ink);}

/* ===== 今日上新 横滑卡片 ===== */
.hscroll{display:flex;gap:16px;overflow-x:auto;padding:6px 4px 22px;scrollbar-width:thin;}
.drama-card{
  flex:0 0 196px;background:#fff;border:var(--line);border-radius:16px;
  box-shadow:5px 5px 0 var(--ink);overflow:hidden;position:relative;
  transition:transform .15s ease;
}
.drama-card:hover{transform:translateY(-5px) rotate(-.6deg);}
.drama-poster{position:relative;aspect-ratio:3/4;background:#e8dfc8;overflow:hidden;}
.drama-poster img{width:100%;height:100%;object-fit:cover;}
.new-badge{
  position:absolute;top:8px;right:8px;background:#ff3d64;color:#fff;
  font-size:11px;font-weight:900;padding:2px 8px;border-radius:999px;
  border:2px solid var(--ink);
}
.ep-badge{
  position:absolute;bottom:8px;left:8px;background:rgba(255,61,100,.92);color:#fff;
  font-size:11px;font-weight:800;padding:2px 8px;border-radius:6px;
}
.drama-info{padding:10px 12px 12px;}
.drama-info h3{margin:0 0 4px;font-size:14px;font-weight:900;}
.drama-info small{font-size:11px;color:var(--muted);}

/* ===== 排行榜 ===== */
.rank-tabs{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;}
.rank-tab{
  font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;
  padding:7px 20px;border-radius:999px;border:var(--line);background:#fff;
  box-shadow:3px 3px 0 var(--ink);
}
.rank-tab.active{background:var(--pink);color:var(--ink);}
.rank-list{background:#fff;border:var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;}
.rank-row{
  display:grid;grid-template-columns:46px 56px 1fr auto auto;gap:14px;align-items:center;
  padding:12px 16px;border-bottom:2px dashed rgba(29,26,23,.15);
}
.rank-row:last-child{border-bottom:none;}
.rank-no{font-size:26px;font-weight:900;text-align:center;color:#b6aca2;}
.rank-row:nth-child(1) .rank-no{color:#e0a800;}
.rank-row:nth-child(2) .rank-no{color:#9aa4b0;}
.rank-row:nth-child(3) .rank-no{color:#c1743b;}
.rank-cover img{border:2px solid var(--ink);border-radius:8px;aspect-ratio:3/4;object-fit:cover;background:#e8dfc8;}
.rank-title h3{margin:0 0 4px;font-size:15px;font-weight:900;}
.rank-cat{
  display:inline-block;font-size:11px;font-weight:800;padding:1px 8px;border-radius:999px;
  border:2px solid var(--ink);background:var(--paper-2);
}
.rank-hot{font-size:13px;font-weight:800;color:#e2483f;white-space:nowrap;}
.rank-watch{
  font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap;
  border:2px solid var(--ink);border-radius:999px;padding:6px 14px;background:var(--gold);
  box-shadow:3px 3px 0 var(--ink);
}
.rank-watch:hover{background:var(--pink);}

/* ===== 人气主演 ===== */
.actor-row{display:flex;gap:22px;overflow-x:auto;padding:8px 4px 22px;scrollbar-width:thin;}
.actor{flex:0 0 108px;text-align:center;text-decoration:none;transition:transform .15s ease;}
.actor img{
  width:92px;height:92px;border-radius:50%;object-fit:cover;margin:0 auto 8px;
  border:var(--line);box-shadow:4px 4px 0 var(--ink);background:#e8dfc8;
  transition:transform .15s ease;
}
.actor:hover{transform:translateY(-4px);}
.actor:hover img{transform:scale(1.06);}
.actor b{display:block;font-size:14px;}
.actor small{font-size:11px;color:var(--muted);}
.actor-work{
  display:block;font-size:11px;color:var(--muted);margin-top:3px;
  max-height:0;overflow:hidden;transition:max-height .2s ease;
}
.actor:hover .actor-work{max-height:40px;}

/* ===== 专题合集拼贴 ===== */
.collage{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;}
.collage-big, .collage-small{
  position:relative;border:var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow);min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:16px;color:#fff;text-decoration:none;
}
.collage-big{min-height:340px;grid-row:span 2;}
.collage-big img, .collage-small img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.collage-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,25,.15),rgba(20,15,25,.72));z-index:1;}
.collage-big h3, .collage-small h3{position:relative;z-index:2;margin:0 0 6px;font-size:18px;font-weight:900;}
.collage-big span, .collage-small span{position:relative;z-index:2;font-size:13px;font-weight:700;}
.collage-view{
  position:relative;z-index:2;margin-top:10px;font-size:13px;font-weight:900;color:var(--ink);
  background:var(--gold);border:2px solid var(--ink);border-radius:999px;padding:5px 14px;
  align-self:flex-start;opacity:.9;transition:opacity .15s ease;
}
.collage-small:hover .collage-mask{background:linear-gradient(180deg,rgba(20,15,25,.05),rgba(20,15,25,.55));}
.collage-small:hover .collage-view, .collage-big:hover .collage-view{opacity:1;}
.collage-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ===== 弹幕互动 ===== */
.danmu-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:26px;align-items:start;}
.phone-mock{
  position:relative;border:var(--line);border-radius:26px;background:#1d1a17;
  padding:12px;box-shadow:var(--shadow);max-width:290px;margin:0 auto;
}
.phone-screen{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:9/16;background:#000;}
.phone-screen img{width:100%;height:100%;object-fit:cover;opacity:.86;}
.danmu-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.danmu{
  position:absolute;white-space:nowrap;font-size:12px;font-weight:800;color:#fff;
  text-shadow:0 1px 3px rgba(0,0,0,.8);
  animation:fly linear infinite;
}
@keyframes fly{from{transform:translateX(320px);}to{transform:translateX(-340px);}}
.comment-list{display:flex;flex-direction:column;gap:14px;}
.comment{
  background:#fff;border:var(--line);border-radius:16px;padding:14px 16px;
  box-shadow:4px 4px 0 var(--ink);display:flex;gap:12px;
}
.comment img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--ink);flex:0 0 auto;background:#e8dfc8;}
.comment-body b{font-size:14px;}
.comment-body p{margin:4px 0 6px;font-size:13px;color:#3b352f;}
.comment-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:var(--muted);font-weight:700;}
.comment-meta em{font-style:normal;background:var(--pink-soft);color:var(--ink);padding:1px 8px;border-radius:999px;border:1px solid var(--ink);}

/* ===== 预告试看 ===== */
.trailer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.trailer{
  position:relative;border:var(--line);border-radius:16px;overflow:hidden;
  box-shadow:var(--shadow);cursor:pointer;background:#000;aspect-ratio:16/10;
  padding:0;font-family:inherit;text-align:left;
}
.trailer img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;opacity:.92;}
.trailer:hover img{transform:scale(1.06);}
.play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;background:rgba(255,126,168,.92);
  border:var(--line);display:flex;align-items:center;justify-content:center;
  font-size:20px;color:var(--ink);transition:transform .18s ease;z-index:2;
}
.trailer:hover .play-btn{transform:translate(-50%,-50%) scale(1.18);}
.trailer-dur{
  position:absolute;right:9px;bottom:9px;background:rgba(0,0,0,.72);color:#fff;
  font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;z-index:2;
}
.trailer-name{
  position:absolute;left:9px;bottom:9px;color:#fff;font-size:13px;font-weight:900;
  z-index:2;text-shadow:0 2px 6px rgba(0,0,0,.9);
}

/* ===== 福利横幅 ===== */
.welfare{
  position:relative;overflow:hidden;border:var(--line);border-radius:22px;
  background:linear-gradient(120deg,#7b2ff7,#ff4d8d 60%,#ffb35c);
  color:#fff;padding:34px 30px;box-shadow:var(--shadow);
  display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;
}
.welfare h2{margin:0 0 8px;font-size:clamp(22px,2.6vw,32px);font-weight:900;text-shadow:2px 2px 0 rgba(0,0,0,.28);}
.welfare p{margin:0;font-size:14px;}
.welfare-right{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.countdown{display:flex;gap:8px;}
.countdown span{
  background:rgba(0,0,0,.3);border:2px solid rgba(255,255,255,.7);border-radius:10px;
  padding:6px 10px;font-size:14px;font-weight:900;min-width:44px;text-align:center;
}
.welfare-btn{
  background:var(--gold);color:var(--ink);font-weight:900;font-size:15px;
  border:var(--line);border-radius:999px;padding:10px 26px;box-shadow:4px 4px 0 rgba(0,0,0,.55);
  text-decoration:none;display:inline-block;
}
.welfare-btn:hover{background:#fff;}
.blob{position:absolute;border-radius:50%;background:rgba(255,255,255,.18);pointer-events:none;}
.blob.b1{width:130px;height:130px;top:-40px;right:18%;}
.blob.b2{width:70px;height:70px;bottom:-20px;left:12%;}
.blob.b3{width:44px;height:44px;top:22px;left:44%;}

/* ===== 邀请好友 ===== */
.invite{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;}
.invite-card, .invite-form{
  background:#fff;border:var(--line);border-radius:18px;padding:24px;box-shadow:var(--shadow);
}
.invite-card h2{margin:0 0 14px;font-size:22px;font-weight:900;}
.rule{display:flex;gap:12px;margin-bottom:12px;font-size:14px;align-items:flex-start;}
.rule i{
  flex:0 0 30px;height:30px;border-radius:50%;background:var(--pink-soft);
  border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;
  font-style:normal;font-size:14px;font-weight:900;
}
.invite-form label{font-size:13px;font-weight:800;display:block;margin-bottom:8px;}
.copy-row{display:flex;gap:8px;margin-bottom:16px;}
.copy-row input{
  flex:1;border:2px solid var(--ink);border-radius:10px;padding:9px 12px;
  font-family:inherit;font-size:13px;background:var(--paper-2);outline:none;
}
.copy-row button{
  font-family:inherit;font-weight:900;font-size:13px;cursor:pointer;
  border:var(--line);border-radius:10px;background:var(--pink);padding:0 16px;
  box-shadow:3px 3px 0 var(--ink);
}
.share-row{display:flex;gap:10px;flex-wrap:wrap;}
.share-row a{
  text-decoration:none;font-size:13px;font-weight:800;padding:7px 16px;
  border:2px solid var(--ink);border-radius:999px;background:#fff;
}
.share-row a:hover{background:var(--gold);}

/* ===== 会员价格 ===== */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:center;}
.price-card{
  background:#fff;border:var(--line);border-radius:18px;padding:24px 20px;
  box-shadow:5px 5px 0 var(--ink);position:relative;text-align:center;
}
.price-card.hot{
  transform:scale(1.05);box-shadow:8px 8px 0 var(--ink);
  background:linear-gradient(180deg,#fff6d9,#fff);
  border-width:4px;
}
.price-tag{
  position:absolute;top:-16px;left:50%;transform:translateX(-50%);
  background:var(--gold);border:var(--line);border-radius:999px;
  font-size:12px;font-weight:900;padding:3px 14px;white-space:nowrap;
}
.price-card h3{margin:6px 0 10px;font-size:16px;font-weight:900;}
.price-num{font-size:32px;font-weight:900;line-height:1;}
.price-num small{font-size:14px;font-weight:700;}
.price-old{font-size:13px;color:var(--muted);text-decoration:line-through;margin:6px 0 12px;}
.price-list{list-style:none;padding:0;margin:0 0 18px;text-align:left;font-size:13px;}
.price-list li{padding:4px 0;border-bottom:1px dashed rgba(29,26,23,.12);}
.price-list li::before{content:"✓ ";color:#2f9e5f;font-weight:900;}
.buy-btn{
  display:block;text-decoration:none;font-weight:900;font-size:14px;
  border:var(--line);border-radius:999px;padding:9px 0;background:var(--pink);
  box-shadow:3px 3px 0 var(--ink);
}
.buy-btn:hover{background:var(--gold);}
.price-note{margin-top:18px;font-size:12px;color:var(--muted);text-align:center;}

/* ===== 媒体推荐 ===== */
.media-wall{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.media-logo{
  font-size:14px;font-weight:900;padding:10px 22px;border:2px solid #cfc6ba;border-radius:10px;
  color:#a9a097;background:#fff;filter:grayscale(1);transition:all .18s ease;
}
.media-logo:hover{filter:grayscale(0);color:var(--ink);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);}
.media-note{text-align:center;font-size:12px;color:var(--muted);margin-top:16px;}

/* ===== FAQ ===== */
.faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{border:var(--line);border-radius:14px;background:#fff;box-shadow:4px 4px 0 var(--ink);overflow:hidden;}
.faq-q{
  width:100%;text-align:left;font-family:inherit;font-size:15px;font-weight:900;
  background:none;border:none;padding:16px 18px;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--ink);
}
.faq-q i{font-style:normal;font-size:20px;font-weight:900;}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .25s ease;
  font-size:14px;color:#3b352f;padding:0 18px;
}
.faq-item.open .faq-a{max-height:220px;padding-bottom:16px;}

/* ===== 评价墙 ===== */
.eval-wall{columns:3;column-gap:16px;}
.eval-card{
  break-inside:avoid;background:#fff;border:var(--line);border-radius:16px;
  padding:16px;margin-bottom:16px;box-shadow:4px 4px 0 var(--ink);
  transition:transform .16s ease;
}
.eval-card:hover{transform:translateY(-5px);}
.eval-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.eval-head img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--ink);flex:0 0 auto;background:#e8dfc8;}
.eval-head b{font-size:13px;display:block;}
.stars{color:#e0a800;font-size:12px;letter-spacing:2px;}
.eval-card p{margin:0 0 10px;font-size:13px;color:#3b352f;}
.eval-tag{
  display:inline-block;font-size:11px;font-weight:800;padding:2px 9px;border-radius:999px;
  background:var(--pink-soft);border:1px solid var(--ink);
}

/* ===== 多端下载 ===== */
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.download-card{
  background:#fff;border:var(--line);border-radius:18px;padding:24px 20px;
  box-shadow:var(--shadow);text-align:center;
}
.download-card .dl-ico{font-size:30px;margin-bottom:8px;}
.download-card h3{margin:0 0 6px;font-size:16px;font-weight:900;}
.download-card p{margin:0 0 14px;font-size:13px;color:var(--muted);}
.dl-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.dl-btns a{
  text-decoration:none;font-size:13px;font-weight:900;padding:8px 18px;
  border:var(--line);border-radius:999px;background:var(--pink);box-shadow:3px 3px 0 var(--ink);
}
.dl-btns a:hover{background:var(--gold);}
.qr-box{
  width:88px;height:88px;margin:0 auto 10px;border:var(--line);border-radius:12px;
  background:repeating-conic-gradient(#1d1a17 0 25%, #fff 0 50%) 0 0/14px 14px;
}

/* ===== 商务合作条 ===== */
.biz-bar{
  border-top:2px solid rgba(29,26,23,.25);padding:16px 0;font-size:12px;color:var(--muted);
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;
}
.biz-bar a{text-decoration:none;border-bottom:1px solid rgba(29,26,23,.3);}
.biz-bar a:hover{color:var(--ink);}

/* ===== 页脚 ===== */
.site-footer{
  border-top:var(--line);background:var(--paper-2);padding:22px 0 30px;font-size:12px;color:var(--muted);
  text-align:center;
}
.site-footer p{margin:4px 0;}
.site-footer a{color:var(--muted);text-decoration:none;border-bottom:1px solid rgba(29,26,23,.3);}
.site-footer time{font-size:12px;}

/* ===== 弹窗 ===== */
.modal{
  position:fixed;inset:0;background:rgba(20,15,20,.72);z-index:99;
  display:none;align-items:center;justify-content:center;padding:20px;
}
.modal.show{display:flex;}
.modal-box{
  background:var(--paper);border:var(--line);border-radius:18px;padding:30px;
  max-width:420px;width:100%;box-shadow:var(--shadow);position:relative;text-align:center;
}
.modal-box h3{margin:0 0 10px;font-size:19px;font-weight:900;}
.modal-box p{margin:0 0 18px;font-size:14px;color:#3b352f;}
.modal-close{
  position:absolute;top:10px;right:12px;background:none;border:none;font-size:22px;
  font-weight:900;cursor:pointer;font-family:inherit;color:var(--ink);
}

/* ===== 响应式 ===== */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-shots{max-width:460px;}
  .danmu-wrap{grid-template-columns:1fr;}
  .collage{grid-template-columns:1fr;}
  .collage-big{min-height:240px;grid-row:auto;}
  .eval-wall{columns:2;}
  .price-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
  .price-card.hot{transform:none;}
  .trailer-grid{grid-template-columns:1fr 1fr;}
  .invite{grid-template-columns:1fr;}
  .download-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
}
@media (max-width:768px){
  .nav-links{display:none;}
  .section{padding:32px 0;}
  .rank-row{grid-template-columns:36px 48px 1fr;row-gap:8px;}
  .rank-hot, .rank-watch{grid-column:3;}
  .trailer-grid{grid-template-columns:1fr;}
  .collage-grid{grid-template-columns:1fr;}
  .eval-wall{columns:1;}
  .welfare{grid-template-columns:1fr;padding:26px 20px;}
  .welfare-right{align-items:flex-start;}
  .hero-shots{max-width:100%;}
  .brand-name{font-size:17px;}
  .notice-track{font-size:12px;}
}