/* ============================================================
   撸撸短剧 · 全站样式
   第一部分：基础与共享组件（原首页样式，已修复变量与重复定义）
   第二部分：Header / Footer
   第三部分：首页专用
   第四部分：子页面通用
   第五部分：AI 短剧页
   第六部分：排行榜页
   第七部分：新剧速看页
   第八部分：社区页
   ============================================================ */

/* ============ 一、基础变量与全局 ============ */
:root{
  --bg-0:#07070a;
  --bg-1:#0d0d14;
  --bg-2:#14141f;
  --line:rgba(255,255,255,.08);
  --line-2:rgba(255,255,255,.14);
  --txt:#eceae6;
  --txt-dim:#9b9aa8;
  --txt-faint:#6c6b7a;
  --brand:#ff2e6d;
  --brand-2:#ff7ab8;
  --pink:#ff4e8c;
  --purple:#8c46ff;
  --gold:#e9c46a;
  --cyan:#4fd6e0;
  --radius:18px;
  --radius-s:12px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-poster:0 24px 60px -20px rgba(255,46,109,.55);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  background:var(--bg-0);
  color:var(--txt);
  font-family:"PingFang SC","Microsoft YaHei","HarmonyOS Sans","Helvetica Neue",-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;
  background:
    radial-gradient(1200px 700px at 82% -10%, rgba(255,46,109,.22), transparent 60%),
    radial-gradient(900px 600px at 8% 12%, rgba(79,214,224,.10), transparent 55%),
    var(--bg-0);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:radial-gradient(#fff 1px,transparent 1px);background-size:3px 3px;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;object-fit:cover}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--brand);color:#fff}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:99px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,46,109,.5)}

.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
@media(max-width:760px){.wrap{padding:0 16px}}

section{padding:88px 0;position:relative}
.sec-head{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:38px}
.sec-eyebrow{
  font-size:12px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--brand-2);display:flex;align-items:center;gap:10px;margin-bottom:10px;
}
.sec-eyebrow::before{content:"";width:26px;height:1px;background:var(--brand)}
.sec-title{font-size:clamp(26px,3.4vw,42px);font-weight:800;letter-spacing:.01em;line-height:1.2}
.sec-title em{font-style:normal;background:linear-gradient(92deg,var(--brand),var(--brand-2) 55%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-sub{color:var(--txt-dim);font-size:14.5px;max-width:560px}
.sec-more{
  margin-left:auto;font-size:13.5px;color:var(--txt-dim);
  display:flex;align-items:center;gap:8px;transition:color .3s;
}
.sec-more:hover{color:var(--brand-2)}
.sec-more svg{transition:transform .3s}
.sec-more:hover svg{transform:translateX(5px)}

/* ============ 二、Header / Footer ============ */
header.site{
  position:sticky;top:0;z-index:100;
  backdrop-filter:blur(18px) saturate(140%);
  background:linear-gradient(180deg,rgba(7,7,10,.86),rgba(7,7,10,.62));
  border-bottom:1px solid transparent;
  transition:border-color .3s,background .3s;
}
header.site.scrolled{border-bottom-color:var(--line);background:rgba(7,7,10,.92)}
.h-inner{display:flex;align-items:center;gap:26px;height:72px}
.logo{display:flex;align-items:center;gap:0}
.logo .mark{
  width:134px;height:44px;border-radius:9px;overflow:hidden;position:relative;
  background:
    radial-gradient(120% 140% at 82% 12%,rgba(255,122,184,.55),transparent 55%),
    radial-gradient(90% 120% at 8% 90%,rgba(122,15,255,.55),transparent 50%),
    linear-gradient(120deg,#16071f,#0a0a14);
  box-shadow:0 8px 26px -8px rgba(255,46,109,.55),inset 0 0 0 1px rgba(255,255,255,.10);
  display:grid;place-items:center;
}
.logo .mark::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 46%,rgba(255,255,255,.18) 50%,transparent 54%);
  background-size:240% 100%;animation:logoShine 4.2s ease-in-out infinite}
@keyframes logoShine{0%{background-position:160% 0}60%,100%{background-position:-160% 0}}
.logo .mark img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1}
nav.nav{display:flex;gap:6px;margin-left:auto;align-items:center}
nav.nav a{
  font-size:14.5px;color:var(--txt-dim);padding:8px 14px;border-radius:99px;
  transition:.28s;position:relative;
}
nav.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
nav.nav a.active{color:#fff;background:rgba(255,46,109,.14)}
nav.nav a.active::after{content:"";position:absolute;left:14px;right:14px;bottom:3px;height:2px;border-radius:99px;background:linear-gradient(90deg,var(--brand),transparent)}
.btn-app{
  font-size:13.5px;font-weight:700;padding:10px 20px;border-radius:99px;
  background:linear-gradient(92deg,var(--brand),#ff5b94);color:#fff;
  box-shadow:0 10px 26px -10px rgba(255,46,109,.8);transition:transform .25s var(--ease),box-shadow .25s;
}
.btn-app:hover{transform:translateY(-2px);box-shadow:0 16px 34px -10px rgba(255,46,109,.95)}
.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--line)}
@media(max-width:900px){
  nav.nav{position:fixed;inset:72px 0 0 0;flex-direction:column;align-items:stretch;gap:4px;padding:22px;
    background:rgba(10,10,16,.98);backdrop-filter:blur(24px);transform:translateX(100%);transition:transform .35s var(--ease);
    border-left:1px solid var(--line);z-index:99;overflow-y:auto}
  nav.nav.open{transform:translateX(0)}
  nav.nav a{font-size:16px;padding:15px 16px;border-radius:14px}
  .btn-app{margin-left:auto}
  .menu-toggle{display:flex;margin-left:auto}
}

footer{background:#050508;border-top:1px solid var(--line);padding:64px 0 30px;margin-top:40px}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:44px;border-bottom:1px solid var(--line)}
@media(max-width:820px){.foot-top{grid-template-columns:1fr 1fr;gap:30px}}
.foot-top h6{font-size:13px;letter-spacing:.16em;color:var(--txt-faint);margin-bottom:16px;font-weight:700}
.foot-top p{color:var(--txt-dim);font-size:13.5px}
.foot-top ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-top ul a{font-size:13.5px;color:var(--txt-dim);transition:color .25s}
.foot-top ul a:hover{color:var(--brand-2)}
.foot-app{display:flex;gap:10px;margin-top:14px}
.foot-app .btn{font-size:12.5px;padding:9px 15px;border-radius:9px;border:1px solid var(--line-2);color:var(--txt);transition:.25s}
.foot-app .btn:hover{border-color:var(--brand);color:#fff}
.foot-bot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:12.5px;color:var(--txt-faint)}
.foot-bot .brand-foot{font-weight:800;color:var(--txt-dim);letter-spacing:.04em}
.foot-bot a{color:var(--txt-faint);border-bottom:1px solid transparent}
.foot-bot a:hover{color:var(--brand-2);border-bottom-color:var(--brand-2)}
.disc{margin-top:18px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;font-size:12px;color:var(--txt-faint);line-height:1.8;
  background:rgba(255,255,255,.02)}

/* ============ 三、首页专用（Hero / 专题 / AI / 榜单 / 新剧 / 社区 / 评价 / FAQ）============ */
.hero{padding:70px 0 40px;position:relative}
.hero-grid{display:grid;grid-template-columns:.62fr .38fr;gap:48px;align-items:center}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:40px}.poster-stage{height:auto;order:2}}
.hero-tag{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.2em;
  padding:7px 15px 7px 11px;border-radius:99px;border:1px solid var(--line-2);
  color:var(--brand-2);background:rgba(255,46,109,.07);margin-bottom:22px}
.hero-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 12px var(--brand);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero-eyebrow{
  display:flex;flex-direction:column;gap:7px;
  margin-bottom:30px;padding:16px 26px 16px 22px;
  border:1px solid rgba(255,78,140,.42);border-radius:3px;
  background:
    linear-gradient(90deg,rgba(255,78,140,.14),rgba(140,70,255,.05) 60%,rgba(255,78,140,.10)),
    rgba(8,6,18,.55);
  box-shadow:0 0 24px rgba(255,78,140,.22),inset 0 0 30px rgba(255,78,140,.10);
  position:relative;overflow:hidden;
  font-family:'Noto Serif SC','Songti SC',serif;
  font-size:clamp(15px,1.35vw,20px);line-height:1.5;letter-spacing:.24em;
  text-align:left;max-width:fit-content;
  -webkit-box-reflect:below 4px linear-gradient(transparent 62%,rgba(255,255,255,.10));
  animation:eyebrowIn .9s cubic-bezier(.2,.7,.3,1) both;
}
.hero-eyebrow::before,.hero-eyebrow::after{
  content:"";position:absolute;top:0;bottom:0;width:3px;
  background:linear-gradient(var(--pink),var(--purple));box-shadow:0 0 14px var(--pink);
}
.hero-eyebrow::before{left:0}
.hero-eyebrow::after{right:0;background:linear-gradient(var(--purple),var(--pink));box-shadow:0 0 14px var(--purple)}
.he-line{
  display:block;position:relative;padding-left:22px;
  text-shadow:0 0 14px currentColor,0 0 30px rgba(255,255,255,.08);
  animation:lineIn .8s cubic-bezier(.2,.7,.3,1) both;
}
.he-tk{font-style:normal;color:currentColor;opacity:.75;margin-right:2px;font-size:.85em}
.he-line::before{
  content:"";position:absolute;left:4px;top:52%;width:7px;height:2px;
  background:currentColor;box-shadow:0 0 8px currentColor;transform:translateY(-50%);
}
.he-l1{color:#ff9ec0;animation-delay:.05s}
.he-l2{color:#f4d68a;font-weight:600;text-shadow:0 0 16px rgba(244,214,138,.55),0 0 34px rgba(244,214,138,.18);animation-delay:.16s}
.he-l3{color:#8fe3ff;animation-delay:.27s}
@keyframes lineIn{from{opacity:0;transform:translateX(-26px);letter-spacing:.6em}to{opacity:1;transform:none}}
@keyframes eyebrowIn{from{opacity:0;filter:blur(6px);transform:translateY(14px) scale(.98)}to{opacity:1;filter:blur(0);transform:none}}
.he-sweep{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(120deg,transparent 34%,rgba(255,255,255,.55) 48%,transparent 62%);
  animation:sweep 4.6s ease-in-out infinite;mix-blend-mode:overlay}
@keyframes sweep{0%{transform:translateX(-140%)}56%,100%{transform:translateX(140%)}}

.hero-title{
  font-size:clamp(60px,8.4vw,132px);
  line-height:1.0;font-weight:900;letter-spacing:-.025em;
  margin:0 0 26px;position:relative;
  text-shadow:0 0 26px rgba(255,78,140,.42),0 0 66px rgba(140,70,255,.24);
}
.hero-title .grad{
  -webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;
  background-image:linear-gradient(100deg,#ff4e8c 0%,#ffcbe0 26%,#ffffff 44%,#b06bff 62%,#7ee0ff 90%);
  background-size:240% 100%;
  animation:titleIn 1.2s cubic-bezier(.2,.7,.2,1) both,hue 5.6s ease-in-out infinite alternate;
  animation-delay:.4s,1.7s;
  filter:drop-shadow(0 0 34px rgba(255,100,150,.72)) drop-shadow(0 0 70px rgba(140,70,255,.34));
}
@keyframes hue{0%{background-position:0% 50%}100%{background-position:100% 50%}}
@keyframes titleIn{0%{opacity:0;letter-spacing:.5em;filter:blur(16px)}55%{opacity:1;letter-spacing:-.015em;filter:blur(0)}100%{opacity:1}}
.ht-glow{position:absolute;left:2%;right:2%;bottom:-14px;height:34px;z-index:-1;
  background:radial-gradient(50% 50%,rgba(255,90,150,.55),transparent 70%);filter:blur(18px);
  animation:glowPulse 5.6s ease-in-out infinite alternate}
@keyframes glowPulse{from{opacity:.55;transform:scaleX(.92)}to{opacity:1;transform:scaleX(1.06)}}
.hero p.lede{margin-top:20px;color:#e6e6ee;font-size:16.5px;max-width:600px;line-height:1.85;
  text-shadow:0 1px 2px rgba(0,0,0,.6)}
.hero p.lede b{color:#fff;font-weight:600;text-shadow:0 0 10px rgba(255,255,255,.22)}
.hero-byline{
  display:flex;align-items:center;gap:9px;
  font-size:clamp(13px,.95vw,15px);letter-spacing:.34em;
  color:rgba(255,255,255,.88);margin-bottom:10px;
  font-family:'Noto Serif SC','Songti SC',serif;
  animation:lineIn .8s cubic-bezier(.2,.7,.3,1) both;animation-delay:.18s;
}
.bl-dot{width:7px;height:7px;border-radius:50%;
  background:var(--pink);box-shadow:0 0 12px var(--pink),0 0 24px var(--pink);
  animation:pulse 1.5s steps(2,end) infinite}
.meta-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 34px}
.meta-chips span{font-size:13px;padding:8px 15px;border-radius:99px;border:1px solid rgba(255,255,255,.18);color:#dfe1ea;background:rgba(255,255,255,.055)}
.meta-chips span.hot{color:#fff;border-color:rgba(255,46,109,.5);background:rgba(255,46,109,.12)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.cta-main{font-size:15.5px;font-weight:800;padding:16px 34px;border-radius:99px;color:#fff;
  background:linear-gradient(92deg,var(--brand),#ff5b94);box-shadow:0 16px 40px -12px rgba(255,46,109,.85);transition:transform .25s var(--ease)}
.cta-main:hover{transform:translateY(-3px) scale(1.02)}
.cta-ghost{font-size:15.5px;font-weight:600;padding:16px 28px;border-radius:99px;border:1px solid var(--line-2);color:var(--txt);
  display:flex;align-items:center;gap:10px;transition:.28s}
.cta-ghost:hover{border-color:var(--brand);color:#fff}
.hero-stats{display:flex;gap:44px;margin-top:44px;flex-wrap:wrap}
.hero-stats div{border-left:1px solid var(--line-2);padding-left:18px}
.hero-stats b{display:block;font-size:30px;color:#fff;font-weight:800;letter-spacing:.01em}
.hero-stats b i{font-style:normal;color:var(--brand-2)}
.hero-stats small{color:#b9bcc9;font-size:12.5px;letter-spacing:.08em}

.poster-stage{position:relative;perspective:1400px}
.poster-main{
  position:relative;border-radius:26px;overflow:hidden;
  aspect-ratio:9/16;max-width:420px;margin-left:auto;
  box-shadow:var(--shadow-poster);
  transform:rotateY(-7deg) rotateX(3deg);transition:transform .6s var(--ease);
  border:1px solid rgba(255,255,255,.1);
}
.poster-main:hover{transform:rotateY(-2deg) rotateX(0deg) scale(1.015)}
.poster-main img{width:100%;height:100%}
.poster-main .ph{
  width:100%;height:100%;background:
    radial-gradient(120% 80% at 50% 8%,rgba(255,122,184,.35),transparent 60%),
    linear-gradient(170deg,#24102e 0%,#0c0c16 70%);
  display:grid;place-items:center;color:rgba(255,255,255,.35);font-size:13px;letter-spacing:.3em
}
.pm-badge{position:absolute;top:16px;left:16px;display:flex;gap:8px;z-index:2}
.pm-badge i{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.1em;padding:5px 11px;border-radius:8px;backdrop-filter:blur(10px)}
.pm-badge i:nth-child(1){background:rgba(255,46,109,.85);color:#fff}
.pm-badge i:nth-child(2){background:rgba(0,0,0,.45);color:var(--gold);border:1px solid rgba(233,196,106,.4)}
.pm-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.18);opacity:0;transition:.4s}
.poster-main:hover .pm-play{opacity:1}
.pm-play b{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.16);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.4);
  display:grid;place-items:center;transition:transform .3s}
.poster-main:hover .pm-play b{transform:scale(1.1)}
.pm-info{position:absolute;left:0;right:0;bottom:0;padding:26px 20px 18px;
  background:linear-gradient(0deg,rgba(5,5,9,.96),rgba(5,5,9,.55),transparent)}
.pm-info h4{font-size:18px;font-weight:800;letter-spacing:.02em}
.pm-info p{font-size:12.5px;color:var(--txt-dim);margin-top:5px;display:flex;gap:10px;align-items:center}
.pm-info p em{font-style:normal;color:var(--gold)}
.float-p{position:absolute;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 44px -16px rgba(0,0,0,.8);background:#111;z-index:1}
.float-p img{width:100%;height:100%}
.float-p .ph{width:100%;height:100%;background:linear-gradient(150deg,#2a1236,#0c0c16);display:grid;place-items:center;color:rgba(255,255,255,.3);font-size:10px;letter-spacing:.2em}
.f1{width:150px;aspect-ratio:9/16;left:-26px;bottom:30px;transform:rotate(-9deg);animation:floaty 6s ease-in-out infinite}
.f2{width:120px;aspect-ratio:9/16;right:-18px;top:40px;transform:rotate(8deg);animation:floaty 7s ease-in-out infinite reverse}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(-9deg)}50%{transform:translateY(-12px) rotate(-6deg)}}
@media(max-width:980px){.f1,.f2{display:none}}
.hero-tag-seam{margin-top:18px;font-size:12px;color:var(--txt-faint);display:flex;align-items:center;gap:8px;justify-content:flex-end}
.hero-tag-seam .dot{width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 10px var(--brand);animation:pulse 1.8s infinite}

.grid{display:grid;gap:22px}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1000px){.g-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.g-4,.g-3{grid-template-columns:repeat(2,1fr)}.grid{gap:16px}}

.card{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--bg-2);border:1px solid var(--line);transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.card:hover{transform:translateY(-7px);border-color:rgba(255,122,184,.4);box-shadow:0 26px 54px -22px rgba(255,46,109,.55)}
.card .cv{aspect-ratio:9/16;position:relative;overflow:hidden}
.card .cv img{width:100%;height:100%;transition:scale .6s var(--ease)}
.card:hover .cv img{scale:1.06}
.card .ph{width:100%;height:100%;display:grid;place-items:center;color:rgba(255,255,255,.28);font-size:11px;letter-spacing:.24em;
  background:linear-gradient(155deg,var(--bg-2),#0a0a12)}
.card .cv .tag{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:4px 9px;border-radius:7px;background:rgba(255,46,109,.88);color:#fff;z-index:2}
.card .cv .tag.gold{background:rgba(233,196,106,.9);color:#241a02}
.card .cv .tag.cyan{background:rgba(79,214,224,.9);color:#02242a}
.card .cv .ep{position:absolute;right:10px;bottom:10px;font-size:11px;color:#fff;padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.62);backdrop-filter:blur(6px);z-index:2}
.card .ci{padding:15px 16px 17px}
.card .ci h4{font-size:15.5px;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .ci .row{margin-top:9px;display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--txt-faint)}
.card .ci .row .bar{flex:1;height:3px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}
.card .ci .row .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--gold));border-radius:99px}
.card .ci .row b{color:var(--brand-2);font-weight:700}

/* 首页专题转盘 */
.feature .mood{display:grid;grid-template-columns:320px 1fr;gap:40px;align-items:center}
@media(max-width:1000px){.feature .mood{grid-template-columns:260px 1fr;gap:28px}}
@media(max-width:820px){.feature .mood{grid-template-columns:1fr}}
.mood-wheel{position:relative;width:100%;max-width:320px;aspect-ratio:1/1;margin:0 auto}
.wheel-ring{position:absolute;inset:8px;border-radius:50%;overflow:hidden;
  background:conic-gradient(from 45deg,#ff2e6d 0 25%,#e9c46a 25% 50%,#4fd6e0 50% 75%,#8b3dff 75% 100%);
  opacity:.55;
  box-shadow:0 0 0 1px var(--line-2),inset 0 0 70px rgba(0,0,0,.6);
  animation:wheelSpin 38s linear infinite}
@keyframes wheelSpin{to{transform:rotate(360deg)}}
.wheel-pie{position:absolute;width:46%;height:46%;display:grid;place-items:center;text-align:center;
  color:#fff;z-index:2;text-shadow:0 3px 14px rgba(0,0,0,.7);pointer-events:none}
.wheel-pie span{display:flex;flex-direction:column;align-items:center;gap:5px;line-height:1.2}
.wheel-pie span i{font-style:normal;font-size:21px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5));animation:floaty 4s ease-in-out infinite}
.wheel-pie span b{font-size:13.5px;font-weight:800;letter-spacing:.1em}
.p1{top:6%;left:6%}.p2{top:6%;right:6%}.p3{bottom:6%;left:6%}.p4{bottom:6%;right:6%}
.wheel-pie.p2 span i{animation-delay:1s}
.wheel-pie.p3 span i{animation-delay:2s}
.wheel-pie.p4 span i{animation-delay:3s}
.wheel-center{position:absolute;inset:22%;border-radius:50%;z-index:3;
  background:radial-gradient(circle at 50% 38%,#1c1c2b,#0a0a14);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 50px -16px rgba(0,0,0,.8),0 0 30px rgba(255,46,109,.18);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.wheel-center em{font-style:normal;font-size:11px;letter-spacing:.3em;color:var(--brand-2)}
.wheel-center strong{font-size:20px;font-weight:900;letter-spacing:.02em}
.needle{position:absolute;top:6%;left:50%;width:2px;height:44%;background:linear-gradient(var(--brand),transparent);
  transform-origin:50% 100%;transform:translateX(-50%) rotate(-18deg);animation:needleSwing 5.2s ease-in-out infinite}
@keyframes needleSwing{0%,100%{transform:translateX(-50%) rotate(-22deg)}50%{transform:translateX(-50%) rotate(24deg)}}
.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.mood-grid{grid-template-columns:1fr}}
.mcell{display:flex;gap:0;align-items:stretch;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:var(--bg-2);transition:transform .35s var(--ease),border-color .3s,box-shadow .3s}
.mcell:hover{transform:translateY(-5px);border-color:rgba(255,122,184,.45);box-shadow:0 22px 46px -20px rgba(255,46,109,.5)}
.mc-img{width:118px;flex:none;position:relative;overflow:hidden}
.mc-img .ph{width:100%;height:100%;min-height:150px;background:linear-gradient(155deg,#24102e,#0c0c16);
  display:grid;place-items:center;color:rgba(255,255,255,.28);font-size:10px;letter-spacing:.2em}
.mc-img img{width:100%;height:100%;transition:scale .6s var(--ease)}
.mcell:hover .mc-img img{scale:1.07}
.mc-no{position:absolute;top:10px;left:10px;font-family:"SF Mono",monospace;font-size:11px;font-weight:800;
  color:var(--brand-2);background:rgba(0,0,0,.5);backdrop-filter:blur(6px);padding:3px 8px;border-radius:6px}
.mc-txt{padding:16px 18px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.mc-txt h4{font-size:16px;font-weight:800;line-height:1.35}
.mc-txt p{font-size:13px;color:var(--txt-dim);margin-top:7px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-ft{margin-top:12px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--txt-faint)}
.mc-ft b{color:var(--brand-2);font-weight:800}
.mc-tag{padding:3px 9px;border-radius:99px;border:1px solid var(--line-2);color:var(--txt-dim);font-size:11.5px}
.mc-knife:hover{border-color:rgba(255,46,109,.55)}
.mc-sweet:hover{border-color:rgba(233,196,106,.55)}
.mc-mind:hover{border-color:rgba(79,214,224,.55)}
.mc-soft:hover{border-color:rgba(168,122,255,.6)}

.ai{overflow:hidden}
.ai::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(79,214,224,.05) 0 1px,transparent 1px 4px);pointer-events:none}
.ai-card{background:radial-gradient(120% 90% at 50% 0%,rgba(79,214,224,.12),transparent 60%),linear-gradient(165deg,#12122a,#0a0a14);border-color:rgba(79,214,224,.18)}
.ai-card:hover{border-color:rgba(79,214,224,.55);box-shadow:0 26px 54px -22px rgba(79,214,224,.5)}
.ai-card .ci h4{font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace;font-size:14.5px;letter-spacing:.01em}
.ai-card .cv::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,rgba(255,255,255,.12) 50%,transparent 52%);background-size:220% 100%;animation:scan 3.4s linear infinite;opacity:.5}
@keyframes scan{0%{background-position:120% 0}100%{background-position:-120% 0}}
.ai-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ai-meta i{font-style:normal;font-size:11px;padding:3px 9px;border-radius:6px;background:rgba(79,214,224,.12);color:var(--cyan);border:1px solid rgba(79,214,224,.25)}

.chart-hero{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center;
  padding:22px;border-radius:var(--radius);border:1px solid rgba(255,215,107,.28);
  background:radial-gradient(120% 120% at 0% 0%,rgba(255,46,109,.14),transparent 60%),var(--bg-2);
  margin-bottom:26px}
@media(max-width:820px){.chart-hero{grid-template-columns:220px 1fr;gap:20px}}
@media(max-width:640px){.chart-hero{grid-template-columns:1fr}}
.ch-frame{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-poster);border:1px solid rgba(255,255,255,.12)}
.ch-frame .ph{height:100%}
.ch-sprocket{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;flex-direction:column;
  justify-content:space-between;padding:7px 0;pointer-events:none;opacity:.55}
.ch-sprocket i{display:block;height:5px;background:repeating-linear-gradient(90deg,transparent 0 5px,#000 5px 9px);margin:0 6px}
.ch-crown{position:absolute;top:12px;left:12px;font-size:11px;font-weight:800;letter-spacing:.08em;
  padding:5px 11px;border-radius:8px;background:rgba(255,215,107,.92);color:#241a02;z-index:3}
.ch-tag{position:absolute;bottom:12px;left:12px;font-size:11px;color:#fff;z-index:3;
  padding:4px 10px;border-radius:7px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px)}
.ch-info{min-width:0}
.ch-no{font-family:"SF Mono",monospace;font-size:13px;font-weight:800;color:var(--gold);letter-spacing:.2em}
.ch-info h3{font-size:clamp(20px,2.4vw,30px);font-weight:900;line-height:1.25;margin:6px 0 10px}
.ch-info p{color:var(--txt-dim);font-size:14px}
.ch-info p b{color:#fff;font-weight:700}
.ch-wave{display:flex;align-items:flex-end;gap:4px;height:46px;margin:16px 0 14px}
.ch-wave i{flex:1;background:linear-gradient(180deg,var(--brand),rgba(255,46,109,.15));
  border-radius:3px 3px 0 0;height:var(--h);animation:wave 1.6s ease-in-out infinite alternate}
.ch-wave i:nth-child(even){animation-delay:.5s;background:linear-gradient(180deg,var(--gold),rgba(233,196,106,.15))}
@keyframes wave{from{opacity:.55;transform:scaleY(.82)}to{opacity:1;transform:scaleY(1.06)}}
.ch-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--txt-faint)}
.ch-meta b{color:var(--gold);font-size:15px;font-weight:800;margin-right:3px}
.ch-meta .up{color:var(--brand-2);font-weight:700}
.ch-play{margin-left:auto;font-weight:700;color:#fff;padding:8px 16px;border-radius:99px;
  background:linear-gradient(92deg,var(--brand),#ff5b94);transition:transform .25s}
.ch-play:hover{transform:translateX(3px)}

.racetrack{list-style:none;display:flex;flex-direction:column;gap:9px;counter-reset:rt}
.rt{display:flex;align-items:center;gap:16px;padding:11px 14px;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--bg-2);transition:.3s}
.rt:hover{border-color:rgba(255,122,184,.45);background:#181824;transform:translateX(6px)}
.rt-no{font-family:"SF Mono",monospace;font-size:15px;font-weight:900;width:34px;text-align:center;flex:none;color:var(--txt-faint)}
.rt.top2 .rt-no{color:#d6dcf0;text-shadow:0 0 12px rgba(214,220,240,.5)}
.rt.top3 .rt-no{color:var(--gold);text-shadow:0 0 12px rgba(233,196,106,.5)}
.rt-img{width:52px;height:74px;border-radius:9px;flex:none;overflow:hidden}
.rt-img .ph{height:100%;font-size:8px;background:linear-gradient(150deg,#2a1236,#0c0c16)}
.rt-img img{width:100%;height:100%}
.rt-txt{flex:1;min-width:0}
.rt-txt h4{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt-txt small{font-size:11.5px;color:var(--txt-faint)}
.rt-bar{flex:2;height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;min-width:80px}
.rt-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .8s var(--ease)}
.rt:hover .rt-bar i{box-shadow:0 0 14px rgba(255,46,109,.7)}
.rt-sc{flex:none;width:66px;text-align:right;font-size:12px;color:var(--txt-faint)}
.rt-sc b{font-size:16px;font-weight:800;color:var(--txt);margin-right:5px}
.rt-sc em{font-style:normal}
.rt-sc .up{color:var(--brand-2)}
.rt-sc .down{color:#7a8499}
.rt-sc .new{color:var(--cyan)}
.chart-note{font-size:12px;color:var(--txt-faint);margin-top:18px;text-align:right;border-top:1px dashed var(--line);padding-top:12px}

.film{display:flex;gap:18px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory}
.film::-webkit-scrollbar{height:8px}
.film .card{flex:0 0 220px;scroll-snap-align:start}
@media(max-width:760px){.film .card{flex:0 0 180px}}
.film .card .cv{aspect-ratio:16/10}
.film .countdown{font-size:11.5px;color:var(--gold);margin-top:8px;display:flex;align-items:center;gap:6px;font-weight:600}
.film .cmt{font-size:11.5px;color:var(--txt-faint);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dot-blink{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:pulse 1.4s infinite}

.cal{margin-top:34px;padding:24px 26px;border-radius:var(--radius);border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.005))}
.cal-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.cal-head h4{font-size:17px;font-weight:800}
.cal-legend{display:flex;gap:16px;margin-left:auto;font-size:12px;color:var(--txt-dim)}
.cal-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}
.dot.d-fire{background:var(--brand)}
.dot.d-gold{background:var(--gold)}
.dot.d-cyan{background:var(--cyan)}
.dot.d-gray{background:#5a5a6a}
.cal-track{list-style:none;display:flex;gap:0;overflow-x:auto;padding-bottom:6px;margin:0 -4px}
.cal-track li{flex:0 0 168px;padding:0 14px;border-left:1px solid var(--line);position:relative}
.cal-track li:first-child{border-left:none}
.cal-track li::before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;border-radius:50%;
  background:var(--txt-faint);box-shadow:0 0 0 3px var(--bg-2)}
.cal-track li:nth-child(1)::before{background:var(--brand);box-shadow:0 0 0 3px var(--bg-2),0 0 12px var(--brand)}
.cal-track .cd{display:block;font-size:12px;color:var(--txt-faint);letter-spacing:.04em}
.cal-track .cd b{color:var(--brand-2);font-weight:800;margin-right:5px}
.cal-track .ci2{display:block;margin-top:8px;font-size:13px;font-weight:600;line-height:1.45}
.cal-track .ci2 em{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:middle}
.cal-track .ci2 em.d-fire{background:var(--brand)}
.cal-track .ci2 em.d-gold{background:var(--gold)}
.cal-track .ci2 em.d-cyan{background:var(--cyan)}
.cal-track .ci2 em.d-gray{background:#5a5a6a}
.cal-track .ci2 small{display:block;font-size:11px;color:var(--txt-faint);font-weight:500;margin-left:14px}

.notify{margin-top:28px;display:flex;align-items:center;gap:28px;flex-wrap:wrap;
  padding:22px 26px;border-radius:var(--radius);border:1px solid rgba(255,122,184,.3);
  background:radial-gradient(120% 200% at 100% 50%,rgba(255,46,109,.18),transparent 60%),var(--bg-2)}
.nf-txt{flex:1;min-width:240px}
.nf-txt b{display:block;font-size:17px;font-weight:800}
.nf-txt span{font-size:13px;color:var(--txt-dim)}
.nf-act{display:flex;gap:8px;flex:none}
.nf-act input{width:230px;max-width:60vw;padding:11px 14px;border-radius:99px;border:1px solid var(--line-2);
  background:rgba(0,0,0,.25);color:var(--txt);font-size:13px;outline:none;transition:.25s}
.nf-act input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,46,109,.18)}
.nf-act button{padding:11px 22px;border-radius:99px;background:linear-gradient(92deg,var(--brand),#ff5b94);
  color:#fff;font-weight:800;font-size:13px;transition:transform .25s}
.nf-act button:hover{transform:translateY(-2px)}

.community{background:linear-gradient(180deg,transparent,var(--bg-1) 40%,transparent)}
.post{display:flex;gap:16px;padding:20px;border-radius:var(--radius-s);border:1px solid var(--line);background:var(--bg-2);transition:.3s}
.post:hover{border-color:rgba(255,122,184,.4);background:#181824}
.avatar{width:46px;height:46px;border-radius:50%;flex:none;overflow:hidden;border:1px solid var(--line-2)}
.avatar .ph{width:100%;height:100%;background:linear-gradient(140deg,var(--brand),#7a0fff);display:grid;place-items:center;color:#fff;font-size:15px;font-weight:800}
.post .hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.post .hd b{font-size:15px}
.post .hd small{font-size:12px;color:var(--txt-faint)}
.post .bd{color:var(--txt-dim);font-size:14px;margin-top:8px}
.post .ft{display:flex;gap:22px;margin-top:12px;font-size:12.5px;color:var(--txt-faint)}
.post .ft i{font-style:normal;display:flex;align-items:center;gap:6px;transition:color .25s}
.post .ft i:hover{color:var(--brand-2)}
.comm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.comm-grid{grid-template-columns:1fr}}
.comm-aside h5{font-size:15px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.comm-aside h5::before{content:"";width:4px;height:14px;border-radius:3px;background:var(--brand)}
.tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.tagcloud a{font-size:12.5px;padding:6px 12px;border-radius:99px;border:1px solid var(--line-2);color:var(--txt-dim);transition:.25s}
.tagcloud a:hover{color:#fff;border-color:var(--brand);background:rgba(255,46,109,.14)}

.quotes .grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.quotes .grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.quotes .grid{grid-template-columns:1fr}}
.quote{padding:24px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(165deg,var(--bg-2),#0b0b13);position:relative;transition:.35s cubic-bezier(.22,1,.36,1);transition-property:transform,border-color,box-shadow}
.quote:hover{transform:translateY(-5px);border-color:rgba(255,46,109,.55);box-shadow:0 18px 44px -22px rgba(255,46,109,.65)}
.quote::before{content:"”";position:absolute;top:6px;right:18px;font-size:70px;line-height:.8;color:rgba(255,46,109,.22);font-family:Georgia,serif}
.quote .stars{color:var(--gold);font-size:13px;letter-spacing:.15em;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.quote p{font-size:14px;color:var(--txt-dim);position:relative;z-index:1}
.quote .who{margin-top:16px;display:flex;align-items:center;gap:10px;font-size:13px}
.quote .who .av{width:34px;height:34px;border-radius:50%;overflow:hidden;flex:0 0 auto}
.quote .who .av .ph{width:100%;height:100%;background:linear-gradient(140deg,var(--cyan),#7a0fff);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800}
.quote .who b{font-weight:700}
.quote .who span{color:var(--txt-faint);font-size:12px}
.qmeta{display:flex;align-items:center;gap:8px;margin-top:14px;padding-top:13px;border-top:1px dashed rgba(255,255,255,.09);flex-wrap:wrap}
.qdate{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:.02em;
  padding:3px 9px;border-radius:99px;background:rgba(255,46,109,.12);
  color:#ffd0e0;border:1px solid rgba(255,46,109,.34)}
.qdate.fresh{background:rgba(0,229,255,.11);color:#9ff3ff;border-color:rgba(0,229,255,.38)}
.qdate.mid{background:rgba(255,196,0,.11);color:#ffe6a8;border-color:rgba(255,196,0,.36)}
.qdate svg{width:11px;height:11px;flex:0 0 auto}
.qtag{font-size:11px;color:var(--txt-faint);padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.qtag b{color:var(--txt);font-weight:600}

.faq details{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-2);margin-bottom:12px;overflow:hidden;transition:border-color .3s}
.faq details[open]{border-color:rgba(255,122,184,.45)}
.faq summary{cursor:pointer;padding:20px 22px;font-size:15.5px;font-weight:600;list-style:none;display:flex;align-items:center;gap:14px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .qno{font-size:12px;color:var(--brand-2);font-weight:800;font-family:"SF Mono",monospace}
.faq summary .chev{margin-left:auto;transition:transform .3s;color:var(--txt-faint)}
.faq details[open] summary .chev{transform:rotate(180deg)}
.faq .ans{padding:0 22px 22px 54px;color:var(--txt-dim);font-size:14px}
.faq .ans a{color:var(--brand-2);border-bottom:1px solid rgba(255,122,184,.35)}
.faq .ans code{background:rgba(255,255,255,.07);padding:1px 7px;border-radius:5px;font-size:13px;color:var(--cyan)}

.reveal{opacity:0;transform:translateY(28px);transition:.8s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============ 四、子页面通用 ============ */
.page-hero{padding:60px 0 8px;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-140px;top:-120px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,46,109,.20),transparent 70%);pointer-events:none;filter:blur(26px)}
.page-hero .crumb{
  font-size:12.5px;color:var(--txt-faint);letter-spacing:.06em;
  display:flex;align-items:center;gap:8px;margin-bottom:16px;position:relative;z-index:1;
}
.page-hero .crumb a{color:var(--txt-dim);transition:color .25s}
.page-hero .crumb a:hover{color:var(--brand-2)}
.page-hero .crumb i{font-style:normal;opacity:.5}
.page-hero h1{
  font-size:clamp(36px,5.4vw,72px);font-weight:900;line-height:1.06;letter-spacing:-.02em;
  margin-bottom:18px;position:relative;z-index:1;
  text-shadow:0 0 30px rgba(255,78,140,.24);
}
.page-hero h1 em{
  font-style:normal;
  background:linear-gradient(100deg,#ff4e8c,#ffcbe0 30%,#fff 46%,#b06bff 68%,#7ee0ff);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 26px rgba(255,100,150,.5));
  animation:hue 6s ease-in-out infinite alternate;
}
.page-hero .lede{color:var(--txt-dim);font-size:16px;max-width:720px;line-height:1.85;position:relative;z-index:1}
.page-hero .lede b{color:var(--txt);font-weight:600}
.pstats{display:flex;gap:40px;flex-wrap:wrap;margin-top:30px;padding-top:24px;border-top:1px solid var(--line);position:relative;z-index:1}
.pstats div{border-left:1px solid var(--line-2);padding-left:16px}
.pstats b{display:block;font-size:26px;font-weight:800;color:#fff;line-height:1.2}
.pstats b i{font-style:normal;color:var(--brand-2)}
.pstats small{font-size:12px;color:var(--txt-faint);letter-spacing:.06em}
@media(max-width:600px){.pstats{gap:24px}.pstats b{font-size:21px}}

.subnav{
  position:sticky;top:72px;z-index:90;
  backdrop-filter:blur(16px) saturate(140%);
  background:rgba(7,7,10,.9);
  border-bottom:1px solid var(--line);
  margin-top:34px;
}
.subnav-inner{display:flex;gap:6px;overflow-x:auto;padding:10px 0;scrollbar-width:none}
.subnav-inner::-webkit-scrollbar{display:none}
.subnav a{
  font-size:14px;color:var(--txt-dim);padding:8px 16px;border-radius:99px;
  white-space:nowrap;transition:.25s;border:1px solid transparent;
}
.subnav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.subnav a.on{color:#fff;background:rgba(255,46,109,.16);border-color:rgba(255,46,109,.4)}
@media(max-width:760px){.subnav{top:72px}}

/* 通用小徽标 */
.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  padding:3px 10px;border-radius:99px;letter-spacing:.04em}
.pill-fire{background:rgba(255,46,109,.16);color:#ffb3cc;border:1px solid rgba(255,46,109,.4)}
.pill-gold{background:rgba(233,196,106,.14);color:#f3dca6;border:1px solid rgba(233,196,106,.36)}
.pill-cyan{background:rgba(79,214,224,.13);color:#a6eef4;border:1px solid rgba(79,214,224,.34)}
.pill-gray{background:rgba(255,255,255,.06);color:var(--txt-dim);border:1px solid var(--line-2)}

/* ============ 五、AI 短剧页 ============ */
.ai-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;position:relative;z-index:1}
@media(max-width:820px){.ai-cats{grid-template-columns:1fr}}
.ai-cat{
  position:relative;padding:24px 22px;border-radius:var(--radius);
  border:1px solid var(--line);background:linear-gradient(160deg,rgba(79,214,224,.07),rgba(255,255,255,.01));
  transition:.35s var(--ease);overflow:hidden;display:block;
}
.ai-cat:hover{transform:translateY(-6px);border-color:rgba(79,214,224,.5);box-shadow:0 24px 50px -22px rgba(79,214,224,.5)}
.ai-cat .no{font-family:"SF Mono",monospace;font-size:12px;font-weight:800;color:var(--cyan);letter-spacing:.2em}
.ai-cat h3{font-size:20px;font-weight:800;margin:8px 0 8px}
.ai-cat p{font-size:13.5px;color:var(--txt-dim);line-height:1.7}
.ai-cat .arrow{position:absolute;right:20px;top:22px;color:var(--txt-faint);transition:.3s}
.ai-cat:hover .arrow{color:var(--cyan);transform:translateX(5px)}
.ai-cat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--cyan),transparent);opacity:0;transition:opacity .3s}
.ai-cat:hover::after{opacity:1}

.ai-flag{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ai-flag i{font-style:normal;font-size:11px;padding:3px 9px;border-radius:6px;
  background:rgba(79,214,224,.10);color:var(--cyan);border:1px solid rgba(79,214,224,.22)}
.ai-flag i.brand{background:rgba(255,46,109,.12);color:var(--brand-2);border-color:rgba(255,46,109,.3)}

/* AI 漫剧：横向卡 */
.manga-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:760px){.manga-grid{grid-template-columns:1fr}}
.manga{display:flex;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);
  background:var(--bg-2);transition:.35s var(--ease)}
.manga:hover{transform:translateY(-5px);border-color:rgba(168,122,255,.5);box-shadow:0 24px 50px -22px rgba(168,122,255,.45)}
.manga-img{width:150px;flex:none;position:relative;overflow:hidden;background:#0c0c16}
.manga-img img{width:100%;height:100%;transition:scale .6s var(--ease)}
.manga:hover .manga-img img{scale:1.06}
.manga-img .frames{position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 33.3%,rgba(0,0,0,.55) 33.3% calc(33.3% + 2px))}
.manga-body{padding:18px 20px;min-width:0;display:flex;flex-direction:column}
.manga-body h4{font-size:16px;font-weight:800;line-height:1.4}
.manga-body p{font-size:13px;color:var(--txt-dim);margin-top:7px;line-height:1.7}
.manga-stats{display:flex;gap:16px;margin-top:auto;padding-top:12px;font-size:11.5px;color:var(--txt-faint);flex-wrap:wrap}
.manga-stats b{color:#c9a7ff;font-weight:800}
@media(max-width:480px){.manga-img{width:110px}}

/* AI 魔改：前后对比 */
.remix-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
@media(max-width:820px){.remix-grid{grid-template-columns:1fr}}
.remix{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);overflow:hidden;transition:.35s var(--ease)}
.remix:hover{border-color:rgba(255,46,109,.5);box-shadow:0 26px 54px -22px rgba(255,46,109,.5);transform:translateY(-5px)}
.remix-pair{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;padding:16px;gap:6px}
.remix-shot{position:relative;aspect-ratio:9/16;border-radius:10px;overflow:hidden;border:1px solid var(--line-2);background:#0b0b13}
.remix-shot img{width:100%;height:100%}
.remix-shot .lbl{position:absolute;left:8px;top:8px;font-size:10px;font-weight:800;letter-spacing:.06em;
  padding:3px 8px;border-radius:6px;backdrop-filter:blur(6px)}
.remix-shot .lbl.old{background:rgba(0,0,0,.6);color:var(--txt-dim);border:1px solid var(--line-2)}
.remix-shot .lbl.new{background:rgba(255,46,109,.9);color:#fff}
.remix-arrow{display:grid;place-items:center;color:var(--brand-2);font-size:18px;font-weight:900}
.remix-body{padding:0 18px 18px}
.remix-body h4{font-size:16.5px;font-weight:800}
.remix-body p{font-size:13px;color:var(--txt-dim);margin-top:6px;line-height:1.7}
.remix-tags{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}

/* 制作流水线 */
.pipeline{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;background:rgba(255,255,255,.015)}
@media(max-width:900px){.pipeline{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.pipeline{grid-template-columns:repeat(2,1fr)}}
.pstep{padding:22px 16px;position:relative;border-right:1px solid var(--line);transition:background .3s}
.pstep:last-child{border-right:none}
.pstep:hover{background:rgba(79,214,224,.05)}
.pstep .n{font-family:"SF Mono",monospace;font-size:11px;font-weight:800;color:var(--cyan);letter-spacing:.18em}
.pstep h5{font-size:14.5px;font-weight:800;margin:8px 0 6px}
.pstep p{font-size:12px;color:var(--txt-faint);line-height:1.65}
.pstep::after{content:"";position:absolute;right:-4px;top:50%;width:7px;height:7px;border-radius:50%;
  background:var(--cyan);transform:translateY(-50%);box-shadow:0 0 10px var(--cyan);opacity:.6}
.pstep:last-child::after{display:none}
@media(max-width:900px){.pstep:nth-child(3)::after{display:none}}

/* AI 透明度表 */
.ai-table{width:100%;border-collapse:collapse;font-size:13.5px}
.ai-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-2)}
.ai-table th{font-size:11.5px;letter-spacing:.12em;color:var(--txt-faint);font-weight:700;text-align:left;
  padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap;background:rgba(255,255,255,.02)}
.ai-table td{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05);white-space:nowrap;color:var(--txt-dim)}
.ai-table tr:last-child td{border-bottom:none}
.ai-table tr:hover td{background:rgba(255,46,109,.05)}
.ai-table td b{color:var(--txt);font-weight:700}
.ai-table .mono{font-family:"SF Mono",monospace;color:var(--cyan);font-size:12.5px}

/* ============ 六、排行榜页 ============ */
.board{margin-bottom:64px}
.board-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.board-badge{font-size:11.5px;font-weight:800;letter-spacing:.14em;padding:6px 13px;border-radius:99px}
.board-badge.b-fire{background:rgba(255,46,109,.16);color:#ffb3cc;border:1px solid rgba(255,46,109,.45)}
.board-badge.b-gold{background:rgba(233,196,106,.14);color:#f3dca6;border:1px solid rgba(233,196,106,.4)}
.board-badge.b-cyan{background:rgba(79,214,224,.12);color:#a6eef4;border:1px solid rgba(79,214,224,.38)}
.board-badge.b-purple{background:rgba(168,122,255,.14);color:#d3bcff;border:1px solid rgba(168,122,255,.4)}
.board-head h2{font-size:clamp(22px,2.8vw,32px);font-weight:900;letter-spacing:.01em}
.board-head .sub{font-size:13px;color:var(--txt-faint);margin-left:auto;text-align:right}
@media(max-width:700px){.board-head .sub{margin-left:0;text-align:left;width:100%}}

/* 热播榜紧凑列表 */
.hot-list{list-style:none;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--bg-2)}
.hot-list li{display:flex;align-items:center;gap:16px;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.05);transition:.25s}
.hot-list li:last-child{border-bottom:none}
.hot-list li:hover{background:rgba(255,46,109,.06)}
.hl-no{font-family:"SF Mono",monospace;font-weight:900;font-size:14px;width:28px;flex:none;color:var(--txt-faint);text-align:center}
.hl-no.top{color:var(--brand-2);text-shadow:0 0 12px rgba(255,46,109,.6)}
.hl-thumb{width:40px;height:56px;border-radius:7px;overflow:hidden;flex:none;background:#0c0c16}
.hl-thumb img{width:100%;height:100%}
.hl-main{flex:1;min-width:0}
.hl-main h4{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hl-main small{font-size:11.5px;color:var(--txt-faint)}
.hl-live{display:flex;align-items:flex-end;gap:2px;height:22px;flex:none;width:64px}
.hl-live i{flex:1;border-radius:2px;background:linear-gradient(180deg,var(--brand),rgba(255,46,109,.2));height:var(--h);animation:wave 1.4s ease-in-out infinite alternate}
.hl-live i:nth-child(even){animation-delay:.4s}
.hl-num{flex:none;width:96px;text-align:right;font-size:11.5px;color:var(--txt-faint)}
.hl-num b{display:block;font-size:15px;font-weight:800;color:var(--txt)}
@media(max-width:640px){.hl-live{display:none}.hl-num{width:70px}}

/* 小编精选 */
.pick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:960px){.pick-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.pick-grid{grid-template-columns:1fr}}
.pick{border-radius:var(--radius);border:1px solid rgba(233,196,106,.24);overflow:hidden;
  background:linear-gradient(165deg,rgba(233,196,106,.06),rgba(255,255,255,.01) 60%,rgba(255,46,109,.04));
  transition:.35s var(--ease);display:flex;flex-direction:column}
.pick:hover{transform:translateY(-6px);border-color:rgba(233,196,106,.6);box-shadow:0 26px 54px -22px rgba(233,196,106,.42)}
.pick-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0c0c16}
.pick-cover img{width:100%;height:100%;transition:scale .6s var(--ease)}
.pick:hover .pick-cover img{scale:1.05}
.pick-cover .rank{position:absolute;left:12px;top:12px;font-size:10.5px;font-weight:800;letter-spacing:.1em;
  padding:4px 10px;border-radius:7px;background:rgba(233,196,106,.92);color:#241a02}
.pick-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.pick-body h4{font-size:16px;font-weight:800;line-height:1.4}
.pick-body .meta{font-size:11.5px;color:var(--txt-faint);margin-top:6px;display:flex;gap:10px;flex-wrap:wrap}
.pick-quote{margin-top:12px;padding:12px 14px;border-radius:10px;background:rgba(0,0,0,.28);
  border-left:2px solid var(--gold);font-size:13px;color:var(--txt-dim);line-height:1.75;flex:1}
.pick-who{display:flex;align-items:center;gap:9px;margin-top:14px;font-size:12px;color:var(--txt-faint)}
.pick-who .av{width:26px;height:26px;border-radius:50%;overflow:hidden;flex:none;background:linear-gradient(140deg,var(--gold),var(--brand));display:grid;place-items:center;color:#241a02;font-weight:800;font-size:11px}
.pick-who b{color:var(--txt-dim);font-weight:700}

/* 飙升榜 */
.rise-list{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(max-width:760px){.rise-list{grid-template-columns:1fr}}
.rise{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--bg-2);transition:.3s}
.rise:hover{border-color:rgba(79,214,224,.45);background:#161622;transform:translateX(5px)}
.rise-no{font-family:"SF Mono",monospace;font-size:13px;font-weight:900;color:var(--cyan);width:26px;flex:none}
.rise-thumb{width:38px;height:52px;border-radius:6px;overflow:hidden;flex:none;background:#0c0c16}
.rise-thumb img{width:100%;height:100%}
.rise-main{flex:1;min-width:0}
.rise-main h4{font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rise-main small{font-size:11px;color:var(--txt-faint)}
.rise-up{flex:none;font-size:12px;font-weight:800;color:#7ee0ff;display:flex;align-items:center;gap:3px}

/* 分类榜 */
.cat-boards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:1000px){.cat-boards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cat-boards{grid-template-columns:1fr}}
.cat-board{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);overflow:hidden}
.cat-board h5{font-size:14.5px;font-weight:800;padding:15px 18px;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:9px}
.cat-board h5::before{content:"";width:4px;height:14px;border-radius:3px;background:var(--brand)}
.cat-board ul{list-style:none}
.cat-board li{display:flex;align-items:center;gap:11px;padding:11px 18px;border-bottom:1px solid rgba(255,255,255,.04);transition:.25s}
.cat-board li:last-child{border-bottom:none}
.cat-board li:hover{background:rgba(255,46,109,.05)}
.cat-board .n{font-family:"SF Mono",monospace;font-size:12px;font-weight:800;color:var(--txt-faint);width:14px;flex:none}
.cat-board li:first-child .n{color:var(--gold)}
.cat-board .t{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-board .s{font-size:12px;font-weight:800;color:var(--brand-2);flex:none}

/* ============ 七、新剧速看页 ============ */
.countdown-hero{
  margin-top:34px;display:grid;grid-template-columns:260px 1fr;gap:30px;align-items:center;
  padding:24px;border-radius:var(--radius);border:1px solid rgba(255,46,109,.3);
  background:radial-gradient(120% 160% at 0% 0%,rgba(255,46,109,.18),transparent 62%),var(--bg-2);
  position:relative;z-index:1;
}
@media(max-width:760px){.countdown-hero{grid-template-columns:1fr}}
.cd-frame{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;border:1px solid var(--line-2);box-shadow:var(--shadow-poster)}
.cd-frame img{width:100%;height:100%}
.cd-frame .lbl{position:absolute;left:12px;top:12px;font-size:11px;font-weight:800;letter-spacing:.08em;
  padding:5px 11px;border-radius:8px;background:rgba(255,46,109,.92);color:#fff}
.cd-info h3{font-size:clamp(22px,3vw,34px);font-weight:900;line-height:1.25;margin:8px 0 10px}
.cd-info p{color:var(--txt-dim);font-size:14px;max-width:560px}
.cd-clock{display:flex;gap:10px;margin:22px 0 18px;flex-wrap:wrap}
.cd-unit{min-width:76px;padding:12px 14px;border-radius:12px;text-align:center;
  border:1px solid var(--line-2);background:rgba(0,0,0,.32)}
.cd-unit b{display:block;font-size:26px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums;line-height:1.15}
.cd-unit small{font-size:10.5px;letter-spacing:.14em;color:var(--txt-faint)}
.cd-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}

/* 14 天概览条 */
.cal-strip{display:grid;grid-template-columns:repeat(14,1fr);gap:8px;margin-bottom:44px}
@media(max-width:900px){.cal-strip{display:flex;overflow-x:auto;padding-bottom:8px}.cal-strip .cs{flex:0 0 74px}}
.cs{padding:12px 6px;border-radius:12px;text-align:center;border:1px solid var(--line);background:var(--bg-2);transition:.3s;position:relative}
.cs:hover{transform:translateY(-4px);border-color:rgba(255,122,184,.45)}
.cs .d{display:block;font-size:10.5px;color:var(--txt-faint);letter-spacing:.06em}
.cs .n{display:block;font-size:15px;font-weight:900;margin:3px 0 6px}
.cs .dots{display:flex;gap:3px;justify-content:center}
.cs .dots i{width:5px;height:5px;border-radius:50%;background:var(--txt-faint);opacity:.5}
.cs .dots i.f{background:var(--brand);opacity:1;box-shadow:0 0 7px var(--brand)}
.cs .dots i.g{background:var(--gold);opacity:1}
.cs .dots i.c{background:var(--cyan);opacity:1}
.cs.today{border-color:rgba(255,46,109,.55);background:rgba(255,46,109,.10)}
.cs.today .n{color:var(--brand-2)}

/* 竖向时间轴 */
.timeline{list-style:none;position:relative}
.tl-day{position:relative;padding-left:112px;padding-bottom:38px}
.tl-day::before{content:"";position:absolute;left:80px;top:14px;bottom:-4px;width:2px;
  background:linear-gradient(rgba(255,46,109,.55),rgba(255,255,255,.08))}
.tl-day:last-child::before{display:none}
.tl-date{position:absolute;left:0;top:2px;width:62px;text-align:right;line-height:1.35}
.tl-date b{display:block;font-size:13px;font-weight:800;color:var(--txt)}
.tl-date span{display:block;font-size:11px;color:var(--txt-faint);font-family:"SF Mono",monospace}
.tl-date em{display:block;font-style:normal;font-size:10.5px;color:var(--brand-2);letter-spacing:.08em;margin-top:2px}
.tl-dot{position:absolute;left:71.5px;top:8px;width:19px;height:19px;border-radius:50%;
  background:var(--bg-0);border:2px solid rgba(255,255,255,.24);z-index:2}
.tl-day.today .tl-dot{border-color:var(--brand);box-shadow:0 0 0 5px rgba(255,46,109,.14),0 0 20px rgba(255,46,109,.7)}
.tl-day.today .tl-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--brand);animation:pulse 1.6s infinite}
.tl-day.premiere .tl-dot{border-color:var(--gold);box-shadow:0 0 0 5px rgba(233,196,106,.12),0 0 18px rgba(233,196,106,.55)}
.tl-items{display:flex;flex-direction:column;gap:10px;margin-top:2px}
.tl-item{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--bg-2);transition:.3s}
.tl-item:hover{border-color:rgba(255,122,184,.42);background:#171722;transform:translateX(5px)}
.tl-time{flex:none;width:52px;font-family:"SF Mono",monospace;font-size:12.5px;font-weight:800;color:var(--txt-dim);text-align:center}
.tl-time.finished{color:var(--txt-faint);text-decoration:line-through}
.tl-thumb{width:42px;height:58px;border-radius:7px;overflow:hidden;flex:none;background:#0c0c16}
.tl-thumb img{width:100%;height:100%}
.tl-main{flex:1;min-width:0}
.tl-main h4{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-main .sub{font-size:11.5px;color:var(--txt-faint);margin-top:3px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tl-act{flex:none}
.tl-act a{font-size:12px;font-weight:700;padding:7px 14px;border-radius:99px;
  border:1px solid var(--line-2);color:var(--txt-dim);transition:.25s;white-space:nowrap}
.tl-act a:hover{border-color:var(--brand);color:#fff;background:rgba(255,46,109,.14)}
@media(max-width:680px){
  .tl-day{padding-left:0;padding-top:8px;padding-bottom:30px}
  .tl-day::before{left:7px}
  .tl-dot{left:-1.5px;top:14px}
  .tl-date{position:static;width:auto;text-align:left;display:flex;align-items:baseline;gap:9px;margin:0 0 10px 26px;flex-wrap:wrap}
  .tl-date b,.tl-date span,.tl-date em{display:inline}
  .tl-items{margin-left:26px}
  .tl-item{flex-wrap:wrap;gap:12px}
  .tl-time{width:auto;min-width:46px;text-align:left}
  .tl-act{margin-left:auto}
}

/* ============ 八、社区页 ============ */
.vote-shell{border-radius:var(--radius);border:1px solid rgba(255,46,109,.26);overflow:hidden;
  background:linear-gradient(170deg,rgba(255,46,109,.10),rgba(255,255,255,.01) 40%),var(--bg-2)}
.vote-top{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.vote-top h3{font-size:20px;font-weight:900}
.vote-top .sub{font-size:12.5px;color:var(--txt-faint)}
.vote-total{margin-left:auto;font-size:12.5px;color:var(--txt-faint);text-align:right}
.vote-total b{display:block;font-size:24px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums;line-height:1.2}
.vote-list{padding:10px 14px 16px;display:flex;flex-direction:column;gap:2px}
.vote-row{display:grid;grid-template-columns:34px 52px 1fr 108px;gap:16px;align-items:center;
  padding:14px 10px;border-radius:var(--radius-s);transition:.3s;position:relative}
.vote-row:hover{background:rgba(255,255,255,.035)}
.vote-row.lead{background:linear-gradient(90deg,rgba(255,46,109,.10),transparent 70%)}
.vote-rank{font-family:"SF Mono",monospace;font-size:16px;font-weight:900;color:var(--txt-faint);text-align:center}
.vote-row:nth-child(1) .vote-rank{color:var(--gold);text-shadow:0 0 14px rgba(233,196,106,.55)}
.vote-row:nth-child(2) .vote-rank{color:#d6dcf0}
.vote-row:nth-child(3) .vote-rank{color:#e0a479}
.vote-av{width:52px;height:52px;border-radius:50%;overflow:hidden;flex:none;border:2px solid rgba(255,255,255,.14)}
.vote-row.lead .vote-av{border-color:var(--brand);box-shadow:0 0 20px rgba(255,46,109,.5)}
.vote-av img{width:100%;height:100%}
.vote-info{min-width:0}
.vote-info h4{font-size:15px;font-weight:800;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.vote-info h4 .role{font-size:11.5px;font-weight:600;color:var(--brand-2);padding:2px 8px;border-radius:6px;
  background:rgba(255,46,109,.13);border:1px solid rgba(255,46,109,.3)}
.vote-info .from{font-size:11.5px;color:var(--txt-faint);margin-top:3px}
.vote-meter{margin-top:8px;display:flex;align-items:center;gap:10px}
.vote-bar{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.09);overflow:hidden}
.vote-bar i{display:block;height:100%;border-radius:99px;width:0;transition:width 1s var(--ease);
  background:linear-gradient(90deg,var(--brand),var(--gold))}
.vote-row.lead .vote-bar i{background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--gold))}
.vote-pct{font-size:12px;font-weight:800;color:var(--txt-dim);font-variant-numeric:tabular-nums;width:46px;text-align:right}
.vote-side{text-align:center}
.vote-count{font-size:14px;font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums}
.vote-count small{display:block;font-size:10px;color:var(--txt-faint);font-weight:600;letter-spacing:.08em}
.vote-btn{margin-top:6px;width:100%;font-size:12.5px;font-weight:800;padding:7px 0;border-radius:99px;
  border:1px solid rgba(255,46,109,.45);color:#ffc2d6;background:rgba(255,46,109,.10);transition:.25s}
.vote-btn:hover:not(:disabled){background:rgba(255,46,109,.22);color:#fff;transform:translateY(-1px)}
.vote-btn:disabled{opacity:.42;cursor:not-allowed;border-color:var(--line-2);color:var(--txt-faint);background:transparent}
.vote-btn.done{opacity:1;border-color:rgba(79,214,224,.5);color:#a6eef4;background:rgba(79,214,224,.12);cursor:default}
.vote-note{padding:14px 24px;border-top:1px solid var(--line);font-size:11.5px;color:var(--txt-faint);line-height:1.7}
@media(max-width:640px){
  .vote-row{grid-template-columns:26px 44px 1fr;gap:12px;row-gap:8px}
  .vote-av{width:44px;height:44px}
  .vote-side{grid-column:1/-1;display:flex;align-items:center;gap:14px;justify-content:flex-end}
  .vote-side .vote-count{font-size:13px}
  .vote-btn{width:auto;padding:7px 20px;margin-top:0}
  .vote-info h4{font-size:14px}
}

/* CP 榜 */
.cp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:760px){.cp-grid{grid-template-columns:1fr}}
.cp{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--radius);
  border:1px solid var(--line);background:var(--bg-2);transition:.3s}
.cp:hover{border-color:rgba(255,122,184,.45);background:#171722;transform:translateY(-3px)}
.cp-avs{display:flex;flex:none}
.cp-avs .a{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--bg-2)}
.cp-avs .a+.a{margin-left:-13px}
.cp-avs img{width:100%;height:100%}
.cp-body{flex:1;min-width:0}
.cp-body h4{font-size:14px;font-weight:800;display:flex;align-items:center;gap:7px}
.cp-body h4 span{font-size:11px;color:var(--brand-2);font-weight:700}
.cp-body .from{font-size:11px;color:var(--txt-faint);margin-top:2px}
.cp-meter{margin-top:7px;display:flex;align-items:center;gap:9px}
.cp-meter .vote-bar{height:5px}
.cp-meter .vote-bar i{background:linear-gradient(90deg,var(--brand-2),var(--brand))}
.cp-pct{font-size:11.5px;font-weight:800;color:var(--txt-dim);width:42px;text-align:right}

/* 话题卡 */
.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.topic-grid{grid-template-columns:1fr}}
.topic{padding:22px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);
  transition:.32s var(--ease);display:block}
.topic:hover{border-color:rgba(79,214,224,.45);transform:translateY(-5px);box-shadow:0 22px 46px -22px rgba(79,214,224,.42)}
.topic .tp-tag{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--cyan)}
.topic h4{font-size:17px;font-weight:800;margin:8px 0 8px;line-height:1.45}
.topic p{font-size:13px;color:var(--txt-dim);line-height:1.7}
.topic .tp-foot{display:flex;gap:14px;margin-top:14px;font-size:11.5px;color:var(--txt-faint);flex-wrap:wrap}
.topic .tp-foot b{color:var(--brand-2);font-weight:800}

/* 二创墙 */
.ugc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.ugc-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ugc-grid{grid-template-columns:repeat(2,1fr)}}
.ugc{position:relative;border-radius:var(--radius-s);overflow:hidden;border:1px solid var(--line);
  aspect-ratio:3/4;background:#0c0c16;transition:.35s var(--ease)}
.ugc:hover{transform:translateY(-5px);border-color:rgba(168,122,255,.55);box-shadow:0 22px 46px -20px rgba(168,122,255,.45)}
.ugc img{width:100%;height:100%;transition:scale .6s var(--ease)}
.ugc:hover img{scale:1.06}
.ugc .ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:12px;background:linear-gradient(0deg,rgba(4,4,8,.92),rgba(4,4,8,.15) 55%,transparent)}
.ugc .ov b{font-size:12.5px;font-weight:700;line-height:1.4}
.ugc .ov small{font-size:10.5px;color:var(--txt-faint);margin-top:2px}
.ugc .badge{position:absolute;left:10px;top:10px;font-size:10px;font-weight:800;letter-spacing:.06em;
  padding:3px 8px;border-radius:6px;background:rgba(168,122,255,.9);color:#fff}

/* 活动卡 */
.act-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.act-grid{grid-template-columns:1fr}}
.act{padding:24px;border-radius:var(--radius);border:1px solid rgba(233,196,106,.26);
  background:linear-gradient(165deg,rgba(233,196,106,.07),rgba(255,255,255,.01));transition:.32s var(--ease)}
.act:hover{transform:translateY(-5px);border-color:rgba(233,196,106,.58);box-shadow:0 24px 50px -22px rgba(233,196,106,.42)}
.act .st{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--gold)}
.act h4{font-size:17px;font-weight:800;margin:8px 0 8px;line-height:1.45}
.act p{font-size:13px;color:var(--txt-dim);line-height:1.7}
.act .btn2{display:inline-block;margin-top:16px;font-size:12.5px;font-weight:800;padding:8px 18px;border-radius:99px;
  border:1px solid rgba(233,196,106,.5);color:#f3dca6;transition:.25s}
.act .btn2:hover{background:rgba(233,196,106,.16);color:#fff}

/* 站队二选一 */
.duel{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;
  padding:28px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2)}
@media(max-width:700px){.duel{grid-template-columns:1fr;gap:16px}}
.duel-side{padding:22px;border-radius:var(--radius-s);border:1px solid var(--line-2);
  background:rgba(0,0,0,.25);text-align:center;transition:.3s;cursor:pointer}
.duel-side:hover{border-color:var(--brand);background:rgba(255,46,109,.08)}
.duel-side .nm{font-size:16px;font-weight:800}
.duel-side .ds{font-size:12px;color:var(--txt-faint);margin-top:6px}
.duel-side .vv{margin-top:12px;font-size:22px;font-weight:900;color:var(--brand-2);font-variant-numeric:tabular-nums}
.duel-vs{font-size:15px;font-weight:900;color:var(--txt-faint);letter-spacing:.1em}
/* ============ 补充：社区页改造 ============ */

/* 投票头像：文字版，不用图片 */
.vote-av .ph{
  width:100%;height:100%;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--brand),#7a0fff);
  color:#fff;font-weight:800;font-size:20px;letter-spacing:0;
}
.vote-row:nth-child(2) .vote-av .ph{background:linear-gradient(140deg,#7a5cff,#3b1e8f)}
.vote-row:nth-child(3) .vote-av .ph{background:linear-gradient(140deg,#e9c46a,#a86b1a);color:#241a02}
.vote-row:nth-child(4) .vote-av .ph{background:linear-gradient(140deg,var(--cyan),#106b7a)}
.vote-row:nth-child(5) .vote-av .ph{background:linear-gradient(140deg,#a87aff,#4a1f8f)}
.vote-row:nth-child(6) .vote-av .ph{background:linear-gradient(140deg,#ff7ab8,#8f1a4a)}
.vote-row:nth-child(7) .vote-av .ph{background:linear-gradient(140deg,#8fd6a0,#1a5c2f)}
.vote-row:nth-child(8) .vote-av .ph{background:linear-gradient(140deg,#9aa4b8,#3a4258)}

/* CP 榜：横图版 */
.cp{
  display:flex;flex-direction:column;align-items:stretch;
  gap:0;padding:0;overflow:hidden;
  border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);
  transition:.35s var(--ease);
}
.cp:hover{transform:translateY(-5px);border-color:rgba(255,122,184,.45);background:var(--bg-2);box-shadow:0 22px 46px -20px rgba(255,46,109,.45)}
.cp-cover{position:relative;aspect-ratio:16/9;overflow:hidden;background:#0c0c16}
.cp-cover img{width:100%;height:100%;transition:scale .6s var(--ease)}
.cp:hover .cp-cover img{scale:1.05}
.cp-cover .cp-rank{
  position:absolute;left:10px;top:10px;font-size:10.5px;font-weight:800;letter-spacing:.08em;
  padding:3px 9px;border-radius:7px;background:rgba(0,0,0,.62);color:#fff;backdrop-filter:blur(6px);
}
.cp-body{padding:15px 17px 17px;min-width:0}
/* ============ 排行榜页 · 无图版 ============ */

/* 冠军带(无图) */
.champion{
  display:grid;grid-template-columns:210px 1fr;gap:34px;align-items:center;
  padding:28px;border-radius:var(--radius);
  border:1px solid rgba(255,215,107,.3);
  background:
    radial-gradient(120% 140% at 0% 0%,rgba(255,46,109,.16),transparent 60%),
    radial-gradient(100% 120% at 100% 100%,rgba(233,196,106,.10),transparent 55%),
    var(--bg-2);
  margin-bottom:26px;position:relative;overflow:hidden;
}
@media(max-width:820px){.champion{grid-template-columns:140px 1fr;gap:22px;padding:22px}}
@media(max-width:560px){.champion{grid-template-columns:1fr;text-align:center;gap:18px}}
.champ-badge{
  position:relative;aspect-ratio:1/1;border-radius:20px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:linear-gradient(150deg,rgba(255,46,109,.18),rgba(233,196,106,.10));
  border:1px solid rgba(255,215,107,.35);
  box-shadow:inset 0 0 60px rgba(255,46,109,.18),0 20px 50px -24px rgba(255,46,109,.6);
}
.champ-badge::after{
  content:"";position:absolute;inset:0;border-radius:20px;pointer-events:none;
  background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.14) 48%,transparent 58%);
  background-size:220% 100%;animation:sweep 5s ease-in-out infinite;
}
.champ-badge .crown{font-size:24px;line-height:1}
.champ-badge .num{
  font-family:"SF Mono",monospace;font-size:clamp(52px,7vw,80px);font-weight:900;line-height:1;
  background:linear-gradient(100deg,#ff4e8c,#ffcbe0 30%,#fff 46%,#e9c46a 72%,#ff4e8c);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  animation:hue 6s ease-in-out infinite alternate;
  filter:drop-shadow(0 0 22px rgba(255,100,150,.6));
}
.champ-badge .lbl{font-size:10.5px;letter-spacing:.26em;color:rgba(255,255,255,.7);font-weight:700}

/* 无图榜单行(人气榜 / 热播榜共用) */
.race-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.rl{
  display:grid;grid-template-columns:46px 1fr 150px 118px;gap:18px;align-items:center;
  padding:14px 18px;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--bg-2);transition:.3s;
}
.rl:hover{border-color:rgba(255,122,184,.45);background:#181824;transform:translateX(5px)}
.rl-no{
  font-family:"SF Mono",monospace;font-size:20px;font-weight:900;line-height:1;
  color:var(--txt-faint);text-align:center;letter-spacing:-.02em;
}
.rl.silver .rl-no{color:#d6dcf0;text-shadow:0 0 14px rgba(214,220,240,.4)}
.rl.bronze .rl-no{color:#e0a479;text-shadow:0 0 14px rgba(224,164,121,.4)}
.rl.gold .rl-no{color:var(--gold);text-shadow:0 0 14px rgba(233,196,106,.5)}
.rl-txt{min-width:0}
.rl-txt h4{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-txt small{font-size:11.5px;color:var(--txt-faint);display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.rl-bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.rl-bar i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--brand),var(--gold));transition:width .8s var(--ease)}
.rl:hover .rl-bar i{box-shadow:0 0 16px rgba(255,46,109,.7)}
.rl-sc{text-align:right;font-size:11.5px;color:var(--txt-faint);line-height:1.35}
.rl-sc b{display:block;font-size:16px;font-weight:800;color:var(--txt);font-variant-numeric:tabular-nums}
.rl-sc em{font-style:normal}
.rl-sc .up{color:var(--brand-2);font-weight:700}
.rl-sc .down{color:#7a8499;font-weight:700}
.rl-sc .new{color:var(--cyan);font-weight:700}

@media(max-width:760px){
  .rl{grid-template-columns:34px 1fr 84px;gap:12px;padding:13px 14px}
  .rl-bar{display:none}
  .rl-no{font-size:17px}
  .rl-txt h4{font-size:13.5px}
}

/* 新剧飙升 · 无图卡片 */
.rise-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(max-width:760px){.rise-grid{grid-template-columns:1fr}}
.rise-card{
  position:relative;padding:20px 20px 18px;border-radius:var(--radius);
  border:1px solid var(--line);overflow:hidden;
  background:linear-gradient(160deg,rgba(79,214,224,.06),rgba(255,255,255,.01) 60%,rgba(255,46,109,.035));
  transition:.32s var(--ease);
}
.rise-card:hover{transform:translateY(-5px);border-color:rgba(79,214,224,.5);
  box-shadow:0 24px 50px -22px rgba(79,214,224,.45)}
.rc-top{display:flex;align-items:baseline;gap:12px;margin-bottom:9px}
.rc-rank{font-family:"SF Mono",monospace;font-size:11.5px;font-weight:800;
  color:var(--txt-faint);letter-spacing:.16em}
.rc-up{
  font-family:"SF Mono",monospace;font-size:25px;font-weight:900;line-height:1;letter-spacing:-.02em;
  background:linear-gradient(100deg,#7ee0ff,#4fd6e0 42%,#ff7ab8);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 14px rgba(79,214,224,.45));
}
.rise-card h4{font-size:15.5px;font-weight:800;line-height:1.45;margin-bottom:7px;position:relative;z-index:1}
.rc-sub{font-size:11.5px;color:var(--txt-faint);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:13px}
.rc-bar{height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;position:relative;z-index:1}
.rc-bar i{display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--cyan),var(--brand-2));transition:width .9s var(--ease)}
.rise-card:hover .rc-bar i{box-shadow:0 0 14px rgba(79,214,224,.7)}
.rc-ghost{
  position:absolute;right:12px;bottom:2px;font-family:"SF Mono",monospace;
  font-size:52px;font-weight:900;line-height:1;color:rgba(255,255,255,.035);
  pointer-events:none;user-select:none;
}

/* 小编精选 · 无封面 */
.pick-rank{font-size:10.5px;font-weight:800;letter-spacing:.18em;color:var(--gold);margin-bottom:9px}
/* ================= 下载版块 ================= */
.download{padding:60px 0 80px}
.dl-box{
  display:grid;grid-template-columns:1fr 260px;gap:40px;align-items:center;
  padding:44px 48px;border-radius:var(--radius);
  border:1px solid rgba(255,122,184,.3);
  background:radial-gradient(120% 180% at 0% 0%,rgba(255,46,109,.16),transparent 60%),var(--bg-2);
  box-shadow:0 30px 70px -30px rgba(255,46,109,.45);
  position:relative;overflow:hidden;
}
.dl-box::before{
  content:"";position:absolute;right:-20px;top:-20px;width:200px;height:200px;
  background:radial-gradient(circle,rgba(79,214,224,.15),transparent 70%);
  filter:blur(20px);pointer-events:none;
}
.dl-eyebrow{
  font-size:12px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--brand-2);margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.dl-eyebrow::before{content:"";width:26px;height:1px;background:var(--brand)}
.dl-title{font-size:clamp(28px,3.6vw,46px);font-weight:900;line-height:1.15;margin-bottom:16px;}
.dl-title em{
  font-style:normal;
  background:linear-gradient(92deg,var(--brand),var(--brand-2) 55%,var(--gold));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.dl-sub{color:var(--txt-dim);font-size:15px;max-width:520px;margin-bottom:28px;line-height:1.7;}
.dl-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.dl-btn{
  display:flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:14px;font-size:15px;font-weight:700;
  transition:transform .25s var(--ease),box-shadow .25s;
}
.dl-btn svg{width:22px;height:22px;}
.dl-btn.ios{background:#fff;color:#000;}
.dl-btn.android{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.2);}
.dl-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px -10px rgba(0,0,0,.5);}
.dl-meta{display:flex;gap:18px;font-size:12.5px;color:var(--txt-faint);}

.dl-qr{
  display:flex;flex-direction:column;align-items:center;gap:16px;
  padding:24px;border-radius:20px;
  background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);
  box-shadow:inset 0 0 30px rgba(0,0,0,.5);
}
.qr-box{
  width:140px;height:140px;border-radius:16px;background:#fff;
  display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.qr-box::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent,rgba(79,214,224,.4),transparent);
  animation:scan 3s linear infinite;height:30%;
}
.qr-placeholder{color:#999;}
.dl-qr span{font-size:13.5px;font-weight:700;color:var(--txt-dim);letter-spacing:.1em;}

@media(max-width:820px){
  .dl-box{grid-template-columns:1fr;padding:32px 24px;text-align:center;}
  .dl-eyebrow{justify-content:center;}
  .dl-sub{margin:0 auto 28px;}
  .dl-actions{justify-content:center;}
  .dl-meta{justify-content:center;}
  .dl-qr{margin:0 auto;}
}