/* roulang page: index */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 "PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
input,button{font:inherit}
:focus-visible{outline:2px solid var(--sun);outline-offset:3px}
:root{
  --ink:#191324;
  --paper:#fffcf9;
  --sand:#f7f0ea;
  --sun:#ef4b52;
  --gold:#f2a33c;
  --mute:#6f6879;
  --hair:#eae1d9;
  --rad:18px;
  --lift:0 16px 36px rgba(25,19,36,.10);
  --wide:1160px;
}
.nyfv-wrap{width:100%;max-width:var(--wide);margin:0 auto;padding:0 16px}
@media(min-width:768px){.nyfv-wrap{padding:0 24px}}

/* 顶栏 */
.nyfv-top{position:sticky;top:0;z-index:20;background:rgba(255,252,249,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.nyfv-top__bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
.nyfv-brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:15px;white-space:nowrap;min-height:44px}
.nyfv-brand__mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(140deg,var(--sun),var(--gold));color:#fff;font-size:16px}
.nyfv-nav{display:flex;gap:4px;overflow-x:auto;flex:1 1 100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nyfv-nav::-webkit-scrollbar{display:none}
.nyfv-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;color:var(--mute);font-size:14px;white-space:nowrap;transition:background .2s,color .2s}
.nyfv-nav a:hover,.nyfv-nav a:focus-visible{color:var(--ink);background:var(--sand)}
@media(min-width:1024px){
  .nyfv-top__bar{flex-wrap:nowrap}
  .nyfv-nav{flex:0 1 auto;margin-left:auto;overflow:visible}
  .nyfv-nav a{padding:0 14px}
}

/* 首屏 */
.nyfv-hero{position:relative;overflow:hidden;background:#191324;color:#fff}
.nyfv-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.44}
.nyfv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,14,32,.52),rgba(20,14,32,.9) 68%,#191324)}
.nyfv-hero__inner{position:relative;z-index:1;max-width:840px;margin:0 auto;padding:44px 18px 52px}
@media(min-width:768px){.nyfv-hero__inner{padding:64px 24px 72px}}
.nyfv-hero__tag{display:inline-block;font-size:12.5px;letter-spacing:.14em;color:var(--gold);border:1px solid rgba(242,163,60,.45);border-radius:999px;padding:4px 13px}
.nyfv-hero__title{font-size:clamp(30px,7vw,52px);line-height:1.22;font-weight:900;margin-top:16px;letter-spacing:.01em}
.nyfv-hero__title em{font-style:normal;color:var(--gold)}
.nyfv-hero__sub{margin-top:12px;font-size:15px;color:rgba(255,255,255,.86);font-weight:600}
.nyfv-hero__lead{margin-top:14px;font-size:14px;line-height:1.9;color:rgba(255,255,255,.74)}
@media(min-width:768px){.nyfv-hero__lead{font-size:15px}}
.nyfv-hero__strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 24px;padding:10px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.86)}
.nyfv-hero__badge{background:var(--gold);color:#241408;font-weight:700;font-size:12px;padding:3px 10px;border-radius:999px}
.nyfv-hero__pulse{width:9px;height:9px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(239,75,82,.28);margin-left:auto}
.nyfv-hero__btns{display:flex;gap:12px;flex-wrap:wrap}

/* 按钮 */
.nyfv-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 26px;border-radius:999px;background:var(--sun);color:#fff;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s}
.nyfv-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(239,75,82,.3)}
.nyfv-btn--ghost{background:transparent;border-color:rgba(255,255,255,.5);color:#fff}
.nyfv-btn--ghost:hover{box-shadow:none;background:rgba(255,255,255,.1)}

/* 板块通用 */
.nyfv-sec{padding:46px 0}
@media(min-width:768px){.nyfv-sec{padding:64px 0}}
.nyfv-sec--sand{background:var(--sand)}
.nyfv-sec--dark{background:#191324;color:#fff}
.nyfv-head{max-width:700px;margin-bottom:26px}
.nyfv-head__k{display:inline-block;font-size:12px;letter-spacing:.18em;color:var(--sun);font-weight:700;margin-bottom:8px}
.nyfv-head h2{font-size:clamp(21px,4.6vw,30px);line-height:1.34;font-weight:800}
.nyfv-head h2 em{font-style:normal;color:var(--sun)}
.nyfv-head p{margin-top:10px;font-size:14px;color:var(--mute)}
.nyfv-sec--dark .nyfv-head__k{color:var(--gold)}
.nyfv-sec--dark .nyfv-head h2 em{color:var(--gold)}
.nyfv-sec--dark .nyfv-head p{color:rgba(255,255,255,.7)}

/* 概览数据 */
.nyfv-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:768px){.nyfv-stats{grid-template-columns:repeat(4,1fr);gap:16px}}
.nyfv-stat{padding:18px 16px;border-radius:var(--rad);background:#fff;border:1px solid var(--hair);box-shadow:var(--lift)}
.nyfv-stat b{display:block;font-size:15px;margin-bottom:6px}
.nyfv-stat span{display:block;font-size:13px;color:var(--mute);line-height:1.65}

/* 场景 */
.nyfv-scenes{display:grid;gap:12px}
@media(min-width:520px){.nyfv-scenes{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nyfv-scenes{grid-template-columns:repeat(4,1fr);gap:18px}}
.nyfv-scene{padding:20px 18px;border-radius:var(--rad);background:#fff;border:1px solid var(--hair);transition:transform .22s,box-shadow .22s}
.nyfv-scene:hover{transform:translateY(-3px);box-shadow:var(--lift)}
.nyfv-scene__no{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--gold);margin-bottom:8px}
.nyfv-scene h3{font-size:15.5px;margin-bottom:7px}
.nyfv-scene p{font-size:13.5px;color:var(--mute)}

/* 题材分类 */
.nyfv-cats{display:grid;gap:12px}
@media(min-width:520px){.nyfv-cats{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nyfv-cats{grid-template-columns:repeat(3,1fr);gap:18px}}
.nyfv-cat{padding:18px;border-radius:var(--rad);background:#fff;border:1px solid var(--hair)}
.nyfv-cat b{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--sand);color:var(--sun);font-size:13px;margin-bottom:10px}
.nyfv-cat p{font-size:13.5px;color:var(--mute)}

/* 口碑佳作 */
.nyfv-picks{display:grid;gap:12px}
@media(min-width:768px){.nyfv-picks{grid-template-columns:repeat(2,1fr);gap:16px}}
.nyfv-pick{display:flex;gap:14px;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid var(--hair)}
.nyfv-pick b{flex:0 0 auto;font-size:14px;color:var(--sun);max-width:6em}
.nyfv-pick p{font-size:13.5px;color:var(--mute)}

/* 更新节奏 */
.nyfv-steps{display:grid;gap:12px}
@media(min-width:768px){.nyfv-steps{grid-template-columns:repeat(4,1fr);gap:18px}}
.nyfv-step{padding:20px 18px;border-radius:var(--rad);background:#fff;border:1px solid var(--hair)}
.nyfv-step b{display:block;font-size:12.5px;letter-spacing:.14em;color:var(--sun);margin-bottom:8px}
.nyfv-step h3{font-size:15px;margin-bottom:7px}
.nyfv-step p{font-size:13.5px;color:var(--mute)}

/* 观众反馈 */
.nyfv-voices{display:grid;gap:12px}
@media(min-width:768px){.nyfv-voices{grid-template-columns:repeat(2,1fr);gap:16px}}
.nyfv-voice{padding:16px 18px;border-radius:16px;background:var(--sand);border:1px solid var(--hair)}
.nyfv-voice p{font-size:13.5px;color:#4a4356}
.nyfv-voice span{display:block;margin-top:9px;font-size:12.5px;font-weight:700;color:var(--sun)}

/* 卡片网格 */
.nyfv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:768px){.nyfv-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.nyfv-card{background:#fff;border:1px solid var(--hair);border-radius:var(--rad);overflow:hidden;transition:transform .24s,box-shadow .24s}
.nyfv-card:hover{transform:translateY(-4px);box-shadow:var(--lift)}
.nyfv-card__cover{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--sand)}
.nyfv-card__cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.nyfv-card:hover .nyfv-card__cover img{transform:scale(1.05)}
.nyfv-card__badge{position:absolute;left:10px;top:10px;padding:3px 10px;border-radius:999px;background:rgba(25,19,36,.8);color:#fff;font-size:11.5px}
.nyfv-card__body{padding:12px 14px 15px}
.nyfv-card__name{font-size:14.5px;font-weight:700}
.nyfv-card__meta{margin-top:6px;font-size:12.5px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap}

/* 榜单 */
.nyfv-rank{display:grid;gap:8px}
@media(min-width:768px){.nyfv-rank{grid-template-columns:1fr 1fr;gap:10px 28px}}
.nyfv-rank li{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}
.nyfv-rank__no{font-weight:800;font-size:15px;color:var(--gold);min-width:22px}
.nyfv-rank__name{flex:1;font-size:14.5px;font-weight:600}
.nyfv-rank__tag{font-size:12px;color:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:2px 9px}
.nyfv-rank__heat{font-size:12.5px;color:var(--gold)}

/* 专题 */
.nyfv-feats{display:grid;gap:14px}
@media(min-width:768px){.nyfv-feats{grid-template-columns:repeat(3,1fr);gap:20px}}
.nyfv-feat{background:#fff;border:1px solid var(--hair);border-radius:var(--rad);overflow:hidden}
.nyfv-feat__pic{aspect-ratio:16/10;overflow:hidden}
.nyfv-feat__pic img{width:100%;height:100%;object-fit:cover}
.nyfv-feat__body{padding:16px 18px 18px}
.nyfv-feat h3{font-size:16px;margin-bottom:7px}
.nyfv-feat p{font-size:13.5px;color:var(--mute)}
.nyfv-chip{display:inline-block;margin-top:10px;font-size:12px;color:var(--sun);background:var(--sand);padding:3px 10px;border-radius:999px}

/* 资讯 */
.nyfv-news{display:grid;gap:14px}
@media(min-width:768px){.nyfv-news{grid-template-columns:repeat(3,1fr);gap:20px}}
.nyfv-news__item{display:flex;gap:14px;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--hair)}
.nyfv-news__pic{flex:0 0 92px;aspect-ratio:1/1;border-radius:12px;overflow:hidden}
.nyfv-news__pic img{width:100%;height:100%;object-fit:cover}
.nyfv-news h3{font-size:14.5px;margin-bottom:6px;line-height:1.5}
.nyfv-news p{font-size:13px;color:var(--mute)}
.nyfv-news__time{display:inline-block;margin-top:7px;font-size:12px;color:var(--sun)}

/* 问答 */
.nyfv-faq{display:grid;gap:10px;max-width:820px}
.nyfv-faq details{padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--hair)}
.nyfv-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:700;font-size:14.5px;cursor:pointer;list-style:none;min-height:24px}
.nyfv-faq summary::-webkit-details-marker{display:none}
.nyfv-faq summary::after{content:"+";color:var(--sun);font-weight:800;font-size:16px}
.nyfv-faq details[open] summary::after{content:"−"}
.nyfv-faq p{margin-top:10px;font-size:13.5px;color:var(--mute)}

/* 心愿剧单 */
.nyfv-wish{position:relative;background:#1c1529 url("/assets/images/backpic/back-3.webp") center/cover no-repeat;color:#fff;overflow:hidden;padding:50px 0}
@media(min-width:768px){.nyfv-wish{padding:70px 0}}
.nyfv-wish::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(20,14,32,.95),rgba(20,14,32,.72))}
.nyfv-wish .nyfv-wrap{position:relative;z-index:1}
.nyfv-wish h2{font-size:clamp(21px,4.6vw,30px);line-height:1.34}
.nyfv-wish h2 em{font-style:normal;color:var(--gold)}
.nyfv-wish__desc{margin-top:10px;font-size:14px;color:rgba(255,255,255,.74);max-width:640px}
.nyfv-form{display:grid;gap:12px;max-width:520px;margin-top:22px}
.nyfv-field span{display:block;font-size:13px;margin-bottom:6px;color:rgba(255,255,255,.78)}
.nyfv-field input{width:100%;min-height:46px;padding:11px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);color:#fff}
.nyfv-field input::placeholder{color:rgba(255,255,255,.45)}
.nyfv-form__note{font-size:12.5px;color:rgba(255,255,255,.55)}
.nyfv-form .nyfv-btn{justify-self:start;min-width:160px}

/* 页脚 */
.nyfv-foot{background:#141020;color:rgba(255,255,255,.72);padding:44px 0 22px;font-size:13.5px}
.nyfv-foot__cols{display:grid;gap:24px}
@media(min-width:520px){.nyfv-foot__cols{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.nyfv-foot__cols{grid-template-columns:repeat(4,1fr);gap:30px}}
.nyfv-foot h3{font-size:14px;color:#fff;margin-bottom:10px}
.nyfv-foot li+li{margin-top:7px}
.nyfv-foot a{transition:color .2s}
.nyfv-foot a:hover{color:var(--gold)}
.nyfv-foot__bottom{margin-top:28px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;font-size:12.5px;color:rgba(255,255,255,.45)}
