/* 魅影TV - black gold cinema theme */
:root{
  --tv-bg:#160f0a;
  --tv-surface:#221610;
  --tv-surface2:#2c1d13;
  --tv-line:rgba(212,175,106,.28);
  --tv-gold:#d4af6a;
  --tv-orange:#e8843c;
  --tv-text:#f3e9d7;
  --tv-muted:#a89478;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--tv-bg);
  color:var(--tv-text);
  font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
ul{list-style:none}
.tv-serif{font-family:"STSong","SimSun","Songti SC",serif}
.tv-wrap{max-width:1240px;margin:0 auto;padding:0 24px}

.tv-hdr{
  position:fixed;top:0;left:0;right:0;z-index:90;
  background:rgba(22,15,10,.7);
  backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s;
}
.tv-hdr.tv-stuck{border-bottom-color:var(--tv-line);background:rgba(22,15,10,.95)}
.tv-hdr .tv-wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.tv-brand{font-family:"STSong","SimSun",serif;font-size:24px;font-weight:700;letter-spacing:3px;color:var(--tv-gold)}
.tv-brand span{color:var(--tv-text)}
.tv-menu{display:flex;gap:30px}
.tv-menu a{font-size:15px;color:var(--tv-muted);transition:color .2s}
.tv-menu a:hover,.tv-menu a.tv-cur{color:var(--tv-gold)}
.tv-burger{
  display:none;background:none;border:1px solid var(--tv-line);color:var(--tv-text);
  width:42px;height:40px;border-radius:6px;font-size:20px;cursor:pointer;line-height:1;
}

.tv-banner{
  position:relative;min-height:92vh;display:flex;align-items:flex-end;
  padding:140px 0 60px;overflow:hidden;
}
.tv-banner-bg{
  position:absolute;inset:0;z-index:0;
}
.tv-banner-bg img{width:100%;height:100%;object-fit:cover;opacity:.55}
.tv-banner-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(22,15,10,.55) 0%,rgba(22,15,10,.35) 45%,var(--tv-bg) 100%);
}
.tv-banner .tv-wrap{position:relative;z-index:1;width:100%}
.tv-banner-tag{
  display:inline-block;padding:6px 18px;border:1px solid var(--tv-gold);
  color:var(--tv-gold);font-size:13px;letter-spacing:4px;margin-bottom:22px;
  background:rgba(212,175,106,.08);
}
.tv-banner h1{
  font-family:"STSong","SimSun",serif;
  font-size:64px;line-height:1.15;font-weight:700;margin-bottom:20px;
  color:var(--tv-text);text-shadow:0 4px 30px rgba(0,0,0,.6);
}
.tv-banner h1 em{font-style:normal;color:var(--tv-gold)}
.tv-banner-sub{max-width:680px;color:#d8c6a8;font-size:16px;margin-bottom:34px}
.tv-banner-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:48px}
.tv-btn{
  display:inline-block;padding:14px 36px;border-radius:2px;font-size:16px;font-weight:600;
  cursor:pointer;border:none;transition:all .2s;letter-spacing:1px;
}
.tv-btn-gold{background:var(--tv-gold);color:#1a1008}
.tv-btn-gold:hover{background:#e6c37e}
.tv-btn-line{background:transparent;color:var(--tv-gold);border:1px solid var(--tv-gold)}
.tv-btn-line:hover{background:rgba(212,175,106,.12)}

.tv-nums{display:flex;gap:60px;flex-wrap:wrap;border-top:1px solid var(--tv-line);padding-top:28px}
.tv-num-big{font-family:"STSong","SimSun",serif;font-size:38px;color:var(--tv-gold);display:block;line-height:1.1}
.tv-num-label{font-size:13px;color:var(--tv-muted);margin-top:6px;display:block}

.tv-sec{padding:80px 0}
.tv-sec-hd{margin-bottom:40px}
.tv-sec-hd.tv-c{text-align:center}
.tv-kicker{color:var(--tv-orange);font-size:13px;letter-spacing:5px;margin-bottom:12px}
.tv-sec-h{font-family:"STSong","SimSun",serif;font-size:34px;font-weight:700;margin-bottom:12px}
.tv-sec-sub{color:var(--tv-muted);font-size:15px}

.tv-hscroll{
  display:flex;gap:18px;overflow-x:auto;padding:6px 4px 18px;
  scroll-snap-type:x mandatory;
}
.tv-hscroll::-webkit-scrollbar{height:8px}
.tv-hscroll::-webkit-scrollbar-thumb{background:var(--tv-line);border-radius:4px}
.tv-hs-card{
  flex:0 0 380px;scroll-snap-align:start;
  border:1px solid var(--tv-line);border-radius:4px;overflow:hidden;
  background:var(--tv-surface);transition:transform .25s,border-color .25s;
}
.tv-hs-card:hover{transform:translateY(-4px);border-color:var(--tv-gold)}
.tv-hs-img{aspect-ratio:16/9;overflow:hidden}
.tv-hs-img img{width:100%;height:100%;object-fit:cover}
.tv-hs-body{padding:16px 18px}
.tv-hs-name{font-family:"STSong","SimSun",serif;font-size:18px;font-weight:700;margin-bottom:6px}
.tv-hs-tag{font-size:13px;color:var(--tv-muted)}

.tv-tvgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tv-tvcell{
  border:1px solid var(--tv-line);border-radius:4px;padding:28px 22px;
  background:linear-gradient(180deg,var(--tv-surface2),var(--tv-surface));
}
.tv-tvico{
  width:52px;height:52px;border:1px solid var(--tv-gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;color:var(--tv-gold);
  font-size:22px;margin-bottom:16px;
}
.tv-tvh{font-family:"STSong","SimSun",serif;font-size:18px;font-weight:700;margin-bottom:8px;color:var(--tv-gold)}
.tv-tvp{font-size:14px;color:var(--tv-muted);line-height:1.7}

.tv-rank{border:1px solid var(--tv-line);border-radius:4px;overflow:hidden;background:var(--tv-surface)}
.tv-rank-row{display:flex;align-items:center;gap:18px;padding:16px 22px;border-bottom:1px solid var(--tv-line);transition:background .2s}
.tv-rank-row:last-child{border-bottom:none}
.tv-rank-row:hover{background:var(--tv-surface2)}
.tv-rank-no{
  font-family:"STSong","SimSun",serif;font-size:26px;font-weight:700;color:var(--tv-muted);
  width:40px;text-align:center;
}
.tv-rank-row:nth-child(1) .tv-rank-no,
.tv-rank-row:nth-child(2) .tv-rank-no,
.tv-rank-row:nth-child(3) .tv-rank-no{color:var(--tv-gold)}
.tv-rank-pic{width:80px;height:60px;border-radius:2px;overflow:hidden;flex:0 0 80px}
.tv-rank-pic img{width:100%;height:100%;object-fit:cover}
.tv-rank-info{flex:1}
.tv-rank-name{font-family:"STSong","SimSun",serif;font-size:17px;font-weight:700;margin-bottom:4px}
.tv-rank-cat{font-size:13px;color:var(--tv-muted)}
.tv-rank-hot{font-size:14px;color:var(--tv-orange);font-weight:600;white-space:nowrap}

.tv-stars{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.tv-star-card{
  border:1px solid var(--tv-line);border-radius:4px;overflow:hidden;background:var(--tv-surface);
  transition:transform .25s,border-color .25s;
}
.tv-star-card:hover{transform:translateY(-4px);border-color:var(--tv-gold)}
.tv-star-pic{aspect-ratio:4/3;overflow:hidden}
.tv-star-pic img{width:100%;height:100%;object-fit:cover}
.tv-star-bd{padding:14px}
.tv-star-name{font-family:"STSong","SimSun",serif;font-size:16px;font-weight:700;margin-bottom:4px}
.tv-star-role{font-size:12.5px;color:var(--tv-muted);margin-bottom:6px}
.tv-star-fans{font-size:12.5px;color:var(--tv-gold)}

.tv-pk{
  display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;
  border:1px solid var(--tv-line);border-radius:4px;padding:30px;
  background:radial-gradient(600px 300px at 50% 0%, rgba(232,132,60,.12), transparent 70%),var(--tv-surface);
}
.tv-pk-side{text-align:center}
.tv-pk-side img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:4px;border:1px solid var(--tv-line);margin-bottom:12px}
.tv-pk-name{font-family:"STSong","SimSun",serif;font-size:20px;font-weight:700;color:var(--tv-gold)}
.tv-pk-sub{font-size:13px;color:var(--tv-muted)}
.tv-vs{
  font-family:"STSong","SimSun",serif;font-size:42px;font-weight:700;color:var(--tv-orange);
  padding:0 10px;
}

.tv-voices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.tv-voice-card{border:1px solid var(--tv-line);border-radius:4px;padding:24px;background:var(--tv-surface)}
.tv-voice-user{font-family:"STSong","SimSun",serif;font-size:16px;font-weight:700;color:var(--tv-gold);margin-bottom:6px}
.tv-voice-star{color:var(--tv-orange);font-size:13px;letter-spacing:2px;margin-bottom:12px}
.tv-voice-text{font-size:14px;color:var(--tv-muted)}

.tv-gold{
  border:1px solid var(--tv-gold);border-radius:4px;
  background:
    radial-gradient(700px 260px at 15% 0%, rgba(212,175,106,.22), transparent 60%),
    linear-gradient(135deg,var(--tv-surface2),var(--tv-surface));
  padding:44px 40px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;
}
.tv-gold-h{font-family:"STSong","SimSun",serif;font-size:28px;font-weight:700;color:var(--tv-gold);margin-bottom:12px}
.tv-gold-p{color:#d8c6a8;max-width:560px}
.tv-gold-ul{display:flex;gap:32px;flex-wrap:wrap}
.tv-gold-li{text-align:center}
.tv-gold-li b{display:block;font-family:"STSong","SimSun",serif;font-size:26px;color:var(--tv-orange)}
.tv-gold-li span{font-size:12.5px;color:var(--tv-muted)}

.tv-qa{max-width:840px;margin:0 auto}
.tv-qa-row{border:1px solid var(--tv-line);border-radius:4px;margin-bottom:12px;background:var(--tv-surface);overflow:hidden}
.tv-qa-head{
  width:100%;background:none;border:none;color:var(--tv-text);cursor:pointer;
  padding:18px 22px;font-size:16px;font-weight:600;text-align:left;font-family:"STSong","SimSun",serif;
  display:flex;justify-content:space-between;align-items:center;
}
.tv-qa-head i{font-style:normal;color:var(--tv-gold);transition:transform .3s}
.tv-qa-row.tv-open .tv-qa-head i{transform:rotate(45deg)}
.tv-qa-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.tv-qa-row.tv-open .tv-qa-body{max-height:280px}
.tv-qa-body p{padding:0 22px 18px;color:var(--tv-muted);font-size:14.5px}

.tv-foot{border-top:1px solid var(--tv-line);padding:32px 0;text-align:center;color:var(--tv-muted);font-size:13.5px;line-height:2}

.tv-pop{
  position:fixed;left:50%;bottom:40px;transform:translateX(-50%) translateY(20px);
  background:var(--tv-gold);color:#1a1008;padding:13px 26px;border-radius:2px;
  font-size:14px;font-weight:600;opacity:0;pointer-events:none;
  transition:opacity .25s, transform .25s;z-index:99;max-width:90%;
  box-shadow:0 10px 30px rgba(212,175,106,.35);
}
.tv-pop.tv-show{opacity:1;transform:translateX(-50%) translateY(0)}
.tv-pop-msg{display:inline;line-height:1.4;color:inherit;font:inherit}

.tv-page{padding:130px 0 60px;min-height:70vh}
.tv-page-hd{margin-bottom:28px}
.tv-crumb{font-size:13px;color:var(--tv-muted);margin-bottom:10px}
.tv-crumb a{color:var(--tv-gold)}
.tv-page-t{font-family:"STSong","SimSun",serif;font-size:36px;font-weight:700;margin-bottom:8px}
.tv-page-meta{font-size:13px;color:var(--tv-muted)}
.tv-page-bd{border:1px solid var(--tv-line);border-radius:4px;padding:36px 40px;background:var(--tv-surface)}
.tv-page-bd h2{font-family:"STSong","SimSun",serif;font-size:21px;color:var(--tv-gold);margin:26px 0 12px;border-left:3px solid var(--tv-orange);padding-left:12px}
.tv-page-bd h2:first-child{margin-top:0}
.tv-page-bd p{margin-bottom:12px;color:#d8c6a8;font-size:14.5px}
.tv-page-bd ul{margin:8px 0 14px 20px;list-style:disc;color:#d8c6a8;font-size:14.5px}
.tv-page-bd li{margin-bottom:6px}
.tv-page-bd a{color:var(--tv-gold)}

.tv-form{margin-top:10px}
.tv-fld{margin-bottom:18px}
.tv-fld label{display:block;font-size:14px;margin-bottom:6px;color:var(--tv-text)}
.tv-fld input,.tv-fld select,.tv-fld textarea{
  width:100%;padding:12px 14px;background:var(--tv-bg);border:1px solid var(--tv-line);border-radius:2px;
  color:var(--tv-text);font-size:14px;font-family:inherit;
}
.tv-fld textarea{min-height:120px;resize:vertical}
.tv-fld input:focus,.tv-fld select:focus,.tv-fld textarea:focus{outline:none;border-color:var(--tv-gold)}
.tv-submit{background:var(--tv-gold);color:#1a1008;border:none;border-radius:2px;padding:13px 36px;font-size:15px;font-weight:700;cursor:pointer}

.tv-rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.tv-rv.tv-in{opacity:1;transform:none}

@media (max-width:900px){
  .tv-menu{
    position:fixed;top:66px;right:0;left:0;
    background:rgba(22,15,10,.98);flex-direction:column;gap:0;
    max-height:0;overflow:hidden;transition:max-height .3s;
    border-bottom:1px solid var(--tv-line);
  }
  .tv-menu.tv-open{max-height:420px}
  .tv-menu a{padding:14px 22px;border-top:1px solid rgba(212,175,106,.12)}
  .tv-burger{display:block}
  .tv-banner h1{font-size:38px}
  .tv-tvgrid{grid-template-columns:repeat(2,1fr)}
  .tv-stars{grid-template-columns:repeat(2,1fr)}
  .tv-voices{grid-template-columns:1fr}
  .tv-pk{grid-template-columns:1fr;gap:14px}
  .tv-vs{text-align:center;padding:6px 0}
  .tv-nums{gap:28px}
  .tv-page-bd{padding:24px 20px}
}
@media (max-width:520px){
  .tv-tvgrid{grid-template-columns:1fr}
  .tv-stars{grid-template-columns:1fr 1fr;gap:10px}
  .tv-hs-card{flex-basis:82%}
}