/* roulang page: index */
:root{
  --bg:#080a0f;
  --bg-2:#0c0f16;
  --surface:#131824;
  --surface-2:#1a2130;
  --surface-3:#222b3d;
  --line:rgba(255,255,255,.08);
  --line-strong:rgba(255,255,255,.18);
  --text:#edf0f7;
  --text-2:#b9c1d1;
  --muted:#8b95a9;
  --brand:#ffc23c;
  --brand-2:#ff8a3d;
  --accent:#57d8c6;
  --violet:#9b8cff;
  --radius:22px;
  --radius-sm:14px;
  --radius-pill:999px;
  --shadow-1:0 26px 60px -34px rgba(0,0,0,.95);
  --shadow-2:0 18px 40px -22px rgba(255,194,60,.55);
  --ease:cubic-bezier(.4,.1,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(1100px 620px at 78% -8%, rgba(255,194,60,.13), transparent 62%),
    radial-gradient(900px 520px at 6% 8%, rgba(87,216,198,.10), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .22s var(--ease)}
a:hover{color:var(--brand)}
p{margin:0 0 1rem}
h1,h2,h3,h4,h5{margin:0;line-height:1.28;font-weight:800;letter-spacing:.2px}
ul,ol{margin:0;padding:0;list-style:none}
button{font-family:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}

.container{
  width:100%;
  max-width:1180px;
  padding-left:22px;
  padding-right:22px;
  margin-left:auto;
  margin-right:auto;
}
.section{padding:76px 0;position:relative}
.section-tight{padding:52px 0}
.section-head{max-width:760px;margin-bottom:42px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:1.4px;
  color:var(--brand);
  background:rgba(255,194,60,.10);
  border:1px solid rgba(255,194,60,.28);
  padding:6px 14px;border-radius:var(--radius-pill);
  margin-bottom:18px;
}
.eyebrow.teal{color:var(--accent);background:rgba(87,216,198,.10);border-color:rgba(87,216,198,.28)}
.section-title{font-size:clamp(1.55rem,3.2vw,2.35rem);margin-bottom:14px}
.section-title .hl{color:var(--brand)}
.section-desc{color:var(--text-2);font-size:1rem;max-width:680px}
.section-head.center .section-desc{margin-left:auto;margin-right:auto}

/* ============ 浮动 Dock 导航 ============ */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:18px 18px 0;
  pointer-events:none;
}
.dock{
  pointer-events:auto;
  max-width:1120px;margin:0 auto;
  display:flex;align-items:center;gap:18px;
  padding:11px 14px 11px 18px;
  background:rgba(15,19,28,.78);
  border:1px solid var(--line-strong);
  border-radius:var(--radius-pill);
  box-shadow:0 20px 48px -28px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand-mark{
  width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;
  background:linear-gradient(140deg,var(--brand),var(--brand-2));
  color:#17130a;font-size:15px;
  box-shadow:0 8px 20px -10px rgba(255,194,60,.9);
}
.brand-text{font-size:16px;font-weight:800;letter-spacing:.4px;white-space:nowrap}
.brand-text em{font-style:normal;color:var(--brand)}
.dock-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav-link{
  position:relative;
  display:inline-block;
  padding:8px 13px;border-radius:var(--radius-pill);
  font-size:14px;font-weight:600;color:var(--text-2);
  white-space:nowrap;
  transition:all .22s var(--ease);
}
.nav-link:hover{color:var(--text);background:rgba(255,255,255,.07)}
.nav-link.active{color:#1a1408;background:linear-gradient(135deg,var(--brand),var(--brand-2));font-weight:800}
.dock-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.dock-toggle{
  display:none;
  width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.06);color:var(--text);
  font-size:15px;cursor:pointer;
  align-items:center;justify-content:center;
}
.dock-mobile{
  display:none;
  max-width:1120px;margin:10px auto 0;
  background:rgba(15,19,28,.96);
  border:1px solid var(--line-strong);
  border-radius:20px;
  padding:12px;
  box-shadow:var(--shadow-1);
  backdrop-filter:blur(18px);
}
.dock-mobile.is-open{display:block;animation:slideDown .28s var(--ease)}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.dock-mobile a{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-radius:12px;
  font-size:15px;font-weight:600;color:var(--text-2);
}
.dock-mobile a:hover,.dock-mobile a.active{background:rgba(255,255,255,.07);color:var(--brand)}
.dock-mobile a i{font-size:12px;color:var(--muted)}

/* ============ 按钮 ============ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  border-radius:var(--radius-pill);
  font-weight:700;font-size:15px;
  padding:12px 24px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s var(--ease),color .22s var(--ease),border-color .22s var(--ease);
  white-space:nowrap;
}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-brand{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#1b1408;
  box-shadow:var(--shadow-2);
}
.btn-brand:hover{color:#1b1408;transform:translateY(-2px);box-shadow:0 22px 44px -20px rgba(255,194,60,.75)}
.btn-ghost{
  background:rgba(255,255,255,.05);
  color:var(--text);
  border-color:var(--line-strong);
}
.btn-ghost:hover{background:rgba(255,255,255,.11);color:var(--text);transform:translateY(-2px)}
.btn-accent{
  background:linear-gradient(135deg,var(--accent),#3fb6a6);
  color:#06231f;
}
.btn-accent:hover{color:#06231f;transform:translateY(-2px);box-shadow:0 20px 40px -20px rgba(87,216,198,.7)}
.btn-lg{padding:15px 30px;font-size:16px}
.btn-sm{padding:9px 18px;font-size:13.5px}

/* ============ Hero ============ */
.hero{padding:150px 0 60px;position:relative}
.hero h1{
  font-size:clamp(2rem,4.4vw,3.25rem);
  letter-spacing:-.5px;
  margin-bottom:20px;
}
.hero h1 .hl{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.hero-lead{
  color:var(--text-2);
  font-size:1.08rem;
  max-width:560px;
  margin-bottom:30px;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:34px}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:10px 26px;
  padding-top:24px;border-top:1px solid var(--line);
  font-size:14px;color:var(--muted);
}
.hero-meta li strong{display:block;color:var(--text);font-size:17px;font-weight:800;letter-spacing:.3px}

/* 封面墙 */
.poster-wall{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.poster{
  position:relative;overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--line-strong);
  background:linear-gradient(160deg,var(--surface-2),var(--surface));
  padding:20px;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:168px;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
  box-shadow:var(--shadow-1);
}
.poster::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 85% 0%,rgba(255,194,60,.28),transparent 62%);
  opacity:.9;
}
.poster.p2::before{background:radial-gradient(120% 90% at 85% 0%,rgba(155,140,255,.30),transparent 62%)}
.poster.p3::before{background:radial-gradient(120% 90% at 85% 0%,rgba(87,216,198,.28),transparent 62%)}
.poster.p4::before{background:radial-gradient(120% 90% at 15% 0%,rgba(255,138,61,.30),transparent 62%)}
.poster:hover{transform:translateY(-5px);border-color:rgba(255,194,60,.45);box-shadow:0 30px 56px -30px rgba(0,0,0,.95)}
.poster > *{position:relative;z-index:1}
.poster-wide{grid-column:span 2;min-height:150px}
.poster-tag{
  align-self:flex-start;
  font-size:11.5px;font-weight:700;letter-spacing:.6px;
  padding:4px 11px;border-radius:var(--radius-pill);
  background:rgba(255,194,60,.16);
  border:1px solid rgba(255,194,60,.36);
  color:var(--brand);
  margin-bottom:auto;
}
.poster h2{font-size:1.05rem;margin:14px 0 6px}
.poster p{font-size:13.5px;color:var(--text-2);margin:0;line-height:1.6}
.poster-play{
  position:absolute;top:16px;right:16px;z-index:2;
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;font-size:13px;
  backdrop-filter:blur(6px);
  transition:all .25s var(--ease);
}
.poster:hover .poster-play{background:var(--brand);color:#1b1408;border-color:var(--brand);transform:scale(1.06)}

/* ============ 数据条 ============ */
.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.stat-item{padding:26px 22px;border-right:1px solid var(--line);text-align:center}
.stat-item:last-child{border-right:0}
.stat-num{
  font-size:1.85rem;font-weight:900;letter-spacing:-.5px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.stat-label{font-size:13.5px;color:var(--muted);margin-top:4px}

/* ============ 卡片通用 ============ */
.card-soft{
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 26px;
  height:100%;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease);
}
.card-soft:hover{
  transform:translateY(-6px);
  border-color:rgba(255,194,60,.38);
  box-shadow:0 28px 52px -30px rgba(0,0,0,.95);
  background:linear-gradient(160deg,rgba(255,194,60,.09),rgba(255,255,255,.02));
}
.icon-box{
  width:52px;height:52px;border-radius:16px;
  display:grid;place-items:center;
  font-size:20px;color:#1b1408;
  background:linear-gradient(140deg,var(--brand),var(--brand-2));
  margin-bottom:20px;
  box-shadow:0 14px 28px -16px rgba(255,194,60,.9);
}
.icon-box.teal{background:linear-gradient(140deg,var(--accent),#3aa89a);color:#06231f;box-shadow:0 14px 28px -16px rgba(87,216,198,.85)}
.icon-box.violet{background:linear-gradient(140deg,var(--violet),#6f5ce0);color:#fff;box-shadow:0 14px 28px -16px rgba(155,140,255,.85)}
.card-soft h3{font-size:1.18rem;margin-bottom:10px}
.card-soft p{color:var(--text-2);font-size:14.5px;margin:0}
.card-line{
  display:inline-flex;align-items:center;gap:7px;
  margin-top:16px;font-size:13.5px;font-weight:700;color:var(--brand);
}
.card-line i{font-size:11px;transition:transform .25s var(--ease)}
.card-soft:hover .card-line i{transform:translateX(4px)}

/* ============ 精选片单 ============ */
.pick-card{
  position:relative;overflow:hidden;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(165deg,var(--surface-2),var(--surface));
  padding:26px 24px 24px;
  height:100%;
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.pick-card::after{
  content:"";position:absolute;top:-60px;right:-60px;width:170px;height:170px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,194,60,.28),transparent 70%);
  transition:opacity .3s var(--ease);
  opacity:.75;
}
.pick-card.tint-violet::after{background:radial-gradient(circle,rgba(155,140,255,.28),transparent 70%)}
.pick-card.tint-teal::after{background:radial-gradient(circle,rgba(87,216,198,.28),transparent 70%)}
.pick-card:hover{transform:translateY(-7px);border-color:rgba(255,194,60,.4);box-shadow:0 32px 60px -34px rgba(0,0,0,.95)}
.pick-card > *{position:relative;z-index:1}
.pick-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}
.badge-soft{
  font-size:11.5px;font-weight:700;letter-spacing:.5px;
  padding:4px 11px;border-radius:var(--radius-pill);
  background:rgba(255,255,255,.07);
  border:1px solid var(--line-strong);
  color:var(--text-2);
}
.badge-brand{
  background:rgba(255,194,60,.14);
  border-color:rgba(255,194,60,.36);
  color:var(--brand);
}
.pick-score{font-size:12.5px;font-weight:800;color:var(--accent);letter-spacing:.4px}
.pick-card h3{font-size:1.16rem;margin-bottom:10px}
.pick-card p{font-size:14.5px;color:var(--text-2);flex:1}
.pick-foot{
  margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);
  display:flex;align-items:center;justify-content:space-between;
  font-size:13px;color:var(--muted);
}
.pick-foot strong{color:var(--text);font-weight:700}
.wave{display:flex;align-items:flex-end;gap:3px;height:16px}
.wave span{width:3px;border-radius:2px;background:var(--brand);opacity:.85;animation:wavePlay 1.1s ease-in-out infinite}
.wave span:nth-child(1){height:7px;animation-delay:0s}
.wave span:nth-child(2){height:14px;animation-delay:.15s}
.wave span:nth-child(3){height:10px;animation-delay:.3s}
.wave span:nth-child(4){height:16px;animation-delay:.45s}
.wave span:nth-child(5){height:8px;animation-delay:.6s}
@keyframes wavePlay{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1)}}

/* ============ 排行榜 ============ */
.rank-panel{
  background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px;
}
.rank-row{
  display:flex;align-items:center;gap:16px;
  padding:16px 16px;
  border-radius:16px;
  transition:background .22s var(--ease),transform .22s var(--ease);
}
.rank-row:hover{background:rgba(255,255,255,.06);transform:translateX(4px)}
.rank-row + .rank-row{border-top:1px solid var(--line)}
.rank-no{
  flex-shrink:0;width:34px;height:34px;border-radius:11px;
  display:grid;place-items:center;
  font-weight:900;font-size:14px;
  background:rgba(255,255,255,.07);
  border:1px solid var(--line-strong);
  color:var(--text-2);
}
.rank-row:nth-child(1) .rank-no{background:linear-gradient(140deg,var(--brand),var(--brand-2));color:#1b1408;border-color:transparent}
.rank-row:nth-child(2) .rank-no{background:rgba(255,194,60,.20);color:var(--brand);border-color:rgba(255,194,60,.35)}
.rank-row:nth-child(3) .rank-no{background:rgba(87,216,198,.16);color:var(--accent);border-color:rgba(87,216,198,.32)}
.rank-body{flex:1;min-width:0}
.rank-body h3{font-size:1rem;margin-bottom:3px}
.rank-body p{font-size:13px;color:var(--muted);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-heat{font-size:13px;font-weight:800;color:var(--brand);white-space:nowrap}
.rank-side{
  background:linear-gradient(155deg,rgba(255,194,60,.14),rgba(255,138,61,.05));
  border:1px solid rgba(255,194,60,.26);
  border-radius:var(--radius);
  padding:30px 28px;
  height:100%;
}
.rank-side h3{font-size:1.25rem;margin-bottom:12px}
.rank-side p{color:var(--text-2);font-size:14.5px}
.mini-list{margin-top:20px;display:grid;gap:12px}
.mini-list li{display:flex;gap:10px;font-size:14px;color:var(--text-2)}
.mini-list li i{color:var(--brand);margin-top:5px;font-size:12px}

/* ============ 频道卡片 ============ */
.channel-card{
  display:flex;flex-direction:column;
  height:100%;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(165deg,var(--surface-2),var(--surface));
  padding:28px 26px;
  position:relative;overflow:hidden;
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
}
.channel-card:hover{
  transform:translateY(-7px);
  border-color:rgba(255,194,60,.42);
  box-shadow:0 32px 60px -34px rgba(0,0,0,.95);
}
.channel-card .ch-num{
  font-size:12px;font-weight:800;letter-spacing:2px;color:var(--muted);margin-bottom:16px;
}
.channel-card h3{font-size:1.2rem;margin-bottom:10px}
.channel-card p{font-size:14.5px;color:var(--text-2);flex:1}
.channel-card .ch-link{
  margin-top:20px;display:inline-flex;align-items:center;gap:8px;
  font-size:13.5px;font-weight:800;color:var(--brand);
}
.channel-card .ch-link i{font-size:11px;transition:transform .25s var(--ease)}
.channel-card:hover .ch-link i{transform:translateX(5px)}

/* ============ 场景 ============ */
.scene-card{
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:rgba(255,255,255,.028);
  padding:26px 24px;
  height:100%;
  transition:border-color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease);
}
.scene-card:hover{border-color:rgba(87,216,198,.4);background:rgba(87,216,198,.055);transform:translateY(-5px)}
.scene-time{
  display:inline-block;font-size:12px;font-weight:800;letter-spacing:.6px;
  color:var(--accent);background:rgba(87,216,198,.12);
  border:1px solid rgba(87,216,198,.3);
  padding:4px 12px;border-radius:var(--radius-pill);margin-bottom:16px;
}
.scene-card h3{font-size:1.1rem;margin-bottom:10px}
.scene-card p{font-size:14.5px;color:var(--text-2);margin:0}

/* ============ 评价 ============ */
.voice-card{
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.012));
  padding:28px 26px;height:100%;
  display:flex;flex-direction:column;
  transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.voice-card:hover{transform:translateY(-5px);border-color:rgba(255,194,60,.35)}
.voice-quote{font-size:15px;color:var(--text-2);flex:1;margin-bottom:22px}
.voice-quote::before{content:"“";color:var(--brand);font-size:26px;line-height:0;vertical-align:-6px;margin-right:2px}
.voice-user{display:flex;align-items:center;gap:12px}
.avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  display:grid;place-items:center;font-weight:800;font-size:15px;color:#1b1408;
  background:linear-gradient(140deg,var(--brand),var(--brand-2));
}
.avatar.t2{background:linear-gradient(140deg,var(--accent),#3aa89a);color:#06231f}
.avatar.t3{background:linear-gradient(140deg,var(--violet),#6f5ce0);color:#fff}
.voice-user strong{display:block;font-size:14.5px}
.voice-user span{font-size:12.5px;color:var(--muted)}

/* ============ FAQ ============ */
.faq-list{display:grid;gap:14px;max-width:860px;margin:0 auto}
.faq-item{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.03);
  overflow:hidden;
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
.faq-item[open]{border-color:rgba(255,194,60,.4);background:rgba(255,194,60,.055)}
.faq-item summary{
  list-style:none;cursor:pointer;
  padding:20px 54px 20px 24px;
  font-size:15.5px;font-weight:700;
  position:relative;
  transition:color .22s var(--ease);
}
.faq-item summary:hover{color:var(--brand)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"\f078";
  font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-size:12px;color:var(--muted);
  transition:transform .25s var(--ease),color .25s var(--ease);
}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(180deg);color:var(--brand)}
.faq-answer{padding:0 24px 22px;color:var(--text-2);font-size:14.5px;line-height:1.85}

/* ============ CTA ============ */
.cta-block{
  position:relative;overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,194,60,.3);
  background:
    radial-gradient(700px 320px at 82% 0%,rgba(255,194,60,.24),transparent 65%),
    linear-gradient(150deg,#1b2130,#11141d);
  padding:60px 46px;
  text-align:center;
  box-shadow:var(--shadow-1);
}
.cta-block::before{
  content:"";position:absolute;left:-80px;bottom:-120px;width:320px;height:320px;border-radius:50%;
  background:radial-gradient(circle,rgba(87,216,198,.22),transparent 68%);
}
.cta-block > *{position:relative;z-index:1}
.cta-block h2{font-size:clamp(1.6rem,3.4vw,2.4rem);margin-bottom:16px}
.cta-block p{color:var(--text-2);max-width:620px;margin:0 auto 30px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.cta-note{margin-top:22px;font-size:13px;color:var(--muted)}

/* ============ 页脚 ============ */
.site-footer{
  margin-top:80px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.25));
  padding:60px 0 30px;
}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;margin-bottom:44px}
.footer-brand p{color:var(--muted);font-size:14px;margin-top:16px;max-width:340px}
.footer-col h4{font-size:14px;letter-spacing:1px;color:var(--text);margin-bottom:18px;font-weight:800}
.footer-col ul{display:grid;gap:11px}
.footer-col a{font-size:14px;color:var(--muted)}
.footer-col a:hover{color:var(--brand)}
.footer-bottom{
  border-top:1px solid var(--line);
  padding-top:24px;
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  font-size:13px;color:var(--muted);
}
.footer-bottom a{color:var(--text-2)}
.footer-bottom a:hover{color:var(--brand)}

/* ============ 响应式 ============ */
@media (max-width:1024px){
  .dock-nav{display:none}
  .dock-toggle{display:flex}
  .dock-actions .btn-sm{display:none}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .stat-item:nth-child(2){border-right:0}
  .stat-item:nth-child(1),.stat-item:nth-child(2){border-bottom:1px solid var(--line)}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px}
  .hero{padding-top:132px}
}
@media (max-width:768px){
  .section{padding:56px 0}
  .hero{padding:124px 0 42px}
  .hero-meta{gap:16px 22px}
  .hero-meta li strong{font-size:15.5px}
  .poster-wall{grid-template-columns:1fr 1fr;gap:12px}
  .poster{padding:16px;min-height:150px}
  .poster-wide{grid-column:span 2}
  .cta-block{padding:44px 24px;border-radius:22px}
  .rank-row{padding:14px 10px;gap:12px}
  .rank-body p{white-space:normal}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .brand-text{font-size:14.5px}
}
@media (max-width:520px){
  .container{padding-left:16px;padding-right:16px}
  .site-header{padding:12px 12px 0}
  .dock{padding:9px 10px 9px 13px;gap:10px}
  .brand-mark{width:30px;height:30px;border-radius:10px;font-size:13px}
  .brand-text{font-size:13px;max-width:150px;overflow:hidden;text-overflow:ellipsis}
  .hero h1{font-size:1.72rem}
  .hero-lead{font-size:.98rem}
  .hero-actions .btn{width:100%}
  .poster-wall{grid-template-columns:1fr}
  .poster-wide{grid-column:span 1}
  .stats-strip{grid-template-columns:1fr 1fr}
  .stat-item{padding:20px 12px}
  .stat-num{font-size:1.5rem}
  .stat-label{font-size:12px}
  .cta-actions .btn{width:100%}
  .rank-heat{display:none}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}

/* roulang page: category2 */
:root{
  --bg:#080b11;
  --bg-2:#0c1119;
  --surface:#111927;
  --surface-2:#16202f;
  --surface-3:#1c2839;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.18);
  --text:#eaf0f8;
  --muted:#93a1b4;
  --muted-2:#6f7d90;
  --brand:#ffb454;
  --brand-2:#ff7a4d;
  --accent:#57e0c6;
  --violet:#8f7bff;
  --radius-xs:10px;
  --radius-sm:14px;
  --radius:20px;
  --radius-lg:28px;
  --shadow-sm:0 8px 24px -12px rgba(0,0,0,.7);
  --shadow:0 26px 64px -28px rgba(0,0,0,.85);
  --shadow-glow:0 18px 48px -18px rgba(255,180,84,.42);
  --ease:cubic-bezier(.22,.7,.3,1);
  --max:1180px;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:
    radial-gradient(1100px 620px at 78% -12%, rgba(255,122,77,.16), transparent 62%),
    radial-gradient(900px 520px at 8% 4%, rgba(87,224,198,.10), transparent 60%),
    linear-gradient(180deg,#080b11 0%,#090d14 46%,#080b11 100%);
  background-color:var(--bg);
  color:var(--text);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px;
  line-height:1.78;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:var(--brand);text-decoration:none;transition:color .22s var(--ease),opacity .22s var(--ease);}
a:hover{color:#ffc978;}
a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:3px;
  border-radius:6px;
}
h1,h2,h3,h4,h5{margin:0;line-height:1.26;font-weight:700;letter-spacing:-.01em;color:#fff;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
button{font-family:inherit;}
::selection{background:rgba(255,180,84,.32);color:#fff;}

.container{width:100%;max-width:var(--max);margin:0 auto;padding-left:20px;padding-right:20px;}

/* ---------- header / dock nav ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  padding:16px 20px 8px;
  backdrop-filter:blur(10px);
}
.dock{
  max-width:var(--max);
  margin:0 auto;
  display:flex;
  align-items:center;
  gap:18px;
  padding:10px 14px 10px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(24,32,46,.92),rgba(14,19,28,.92));
  box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,.06);
}
.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  color:#fff;
  font-weight:700;
  font-size:15.5px;
  letter-spacing:.01em;
  white-space:nowrap;
}
.brand:hover{color:#fff;}
.brand-mark{
  width:34px;height:34px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:11px;
  background:linear-gradient(140deg,var(--brand),var(--brand-2));
  color:#1b1207;
  font-size:14px;
  box-shadow:0 8px 20px -10px rgba(255,140,80,.9);
}
.brand-text em{
  font-style:normal;
  color:var(--brand);
  font-weight:600;
  margin-left:2px;
}
.dock-nav{
  display:flex;
  align-items:center;
  gap:4px;
  margin-left:auto;
  flex-wrap:wrap;
}
.nav-link{
  position:relative;
  display:inline-block;
  padding:8px 14px;
  border-radius:999px;
  color:var(--muted);
  font-size:14px;
  font-weight:500;
  white-space:nowrap;
  transition:color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease);
}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.06);}
.nav-link:active{transform:translateY(1px);}
.nav-link.active{
  color:#1b1207;
  background:linear-gradient(140deg,var(--brand),#ffa246);
  font-weight:700;
  box-shadow:0 10px 22px -12px rgba(255,170,80,.95);
}
.nav-link.active:hover{color:#1b1207;background:linear-gradient(140deg,var(--brand),#ffb066);}

/* ---------- hero ---------- */
.hero{
  position:relative;
  padding:56px 0 26px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:46px;
  align-items:center;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:6px 14px 6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,180,84,.34);
  background:rgba(255,180,84,.10);
  color:var(--brand);
  font-size:13px;
  font-weight:600;
  letter-spacing:.04em;
}
.eyebrow i{font-size:12px;}
.hero h1{
  margin:20px 0 18px;
  font-size:clamp(30px,4vw,50px);
  line-height:1.18;
  letter-spacing:-.02em;
}
.hero h1 span{
  background:linear-gradient(120deg,var(--brand) 10%,var(--brand-2) 90%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-lead{
  color:var(--muted);
  font-size:16.5px;
  max-width:34em;
}
.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.btn-main,.btn-ghost{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:13px 26px;
  border-radius:999px;
  font-size:15px;
  font-weight:700;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .2s var(--ease),box-shadow .24s var(--ease),background .24s var(--ease),color .24s var(--ease),border-color .24s var(--ease);
}
.btn-main{
  background:linear-gradient(140deg,var(--brand),var(--brand-2));
  color:#1b1207;
  box-shadow:var(--shadow-glow);
}
.btn-main:hover{transform:translateY(-2px);box-shadow:0 24px 46px -18px rgba(255,140,80,.75);color:#1b1207;}
.btn-main:active{transform:translateY(0);}
.btn-ghost{
  background:rgba(255,255,255,.04);
  border-color:var(--line-strong);
  color:var(--text);
}
.btn-ghost:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.34);color:#fff;transform:translateY(-2px);}
.hero-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:6px 13px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--muted);
  font-size:12.5px;
  font-weight:500;
}
.chip i{color:var(--accent);font-size:11px;}

/* hero player card */
.player-card{
  position:relative;
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.player-cover{
  position:relative;
  aspect-ratio:16/10;
  background:
    radial-gradient(circle at 72% 22%, rgba(255,180,84,.42), transparent 52%),
    radial-gradient(circle at 22% 82%, rgba(143,123,255,.38), transparent 55%),
    linear-gradient(150deg,#1d2a3c,#0e1522 70%);
  display:flex;
  align-items:flex-end;
  padding:20px;
}
.player-cover::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(8,11,17,.86));
}
.cover-badge{
  position:absolute;
  top:16px;left:16px;
  z-index:2;
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 12px;
  border-radius:999px;
  background:rgba(8,11,17,.62);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  font-size:12px;
  font-weight:600;
  backdrop-filter:blur(6px);
}
.cover-badge .dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--brand-2);
  box-shadow:0 0 0 4px rgba(255,122,77,.22);
}
.play-btn{
  position:absolute;
  inset:0;
  margin:auto;
  width:64px;height:64px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:19px;
  backdrop-filter:blur(6px);
  z-index:2;
  transition:transform .24s var(--ease),background .24s var(--ease);
}
.play-btn:hover{transform:scale(1.06);background:rgba(255,180,84,.9);color:#1b1207;}
.cover-caption{
  position:relative;
  z-index:2;
}
.cover-caption strong{display:block;font-size:17px;color:#fff;margin-bottom:4px;}
.cover-caption span{font-size:12.5px;color:rgba(255,255,255,.72);}
.player-body{padding:20px 22px 22px;}
.track-line{
  height:4px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
  margin-bottom:14px;
}
.track-line i{
  display:block;
  height:100%;
  width:42%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
}
.spec-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:12.5px;
  flex-wrap:wrap;
}
.spec-row b{color:#fff;font-weight:600;}

/* ---------- sections ---------- */
section{position:relative;}
.section{padding:74px 0;}
.section-head{
  max-width:720px;
  margin-bottom:34px;
}
.section-head .kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--brand);
  text-transform:uppercase;
  margin-bottom:12px;
}
.section-head h2{
  font-size:clamp(23px,2.6vw,34px);
  margin-bottom:14px;
}
.section-head p{color:var(--muted);font-size:15.5px;}

/* picks wall */
.picks-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.pick{
  position:relative;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--surface-2),var(--surface));
  overflow:hidden;
  transition:transform .26s var(--ease),border-color .26s var(--ease),box-shadow .26s var(--ease);
  display:flex;
  flex-direction:column;
}
.pick:hover{transform:translateY(-6px);border-color:rgba(255,180,84,.42);box-shadow:0 26px 50px -26px rgba(0,0,0,.9);}
.pick-art{
  aspect-ratio:4/3;
  position:relative;
  padding:14px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.pick:nth-child(1) .pick-art{background:linear-gradient(150deg,#2a3550,#131a26 78%);}
.pick:nth-child(2) .pick-art{background:linear-gradient(150deg,#3a2a2a,#1a1319 78%);}
.pick:nth-child(3) .pick-art{background:linear-gradient(150deg,#233a37,#111c1c 78%);}
.pick:nth-child(4) .pick-art{background:linear-gradient(150deg,#2f2a42,#15121f 78%);}
.pick-tag{
  padding:4px 10px;
  border-radius:999px;
  background:rgba(8,11,17,.5);
  border:1px solid rgba(255,255,255,.18);
  font-size:11.5px;
  color:rgba(255,255,255,.88);
  font-weight:600;
  backdrop-filter:blur(4px);
}
.pick-time{
  font-size:11.5px;
  color:rgba(255,255,255,.7);
  font-weight:600;
  letter-spacing:.04em;
}
.pick-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.pick-body h3{font-size:16px;}
.pick-body p{font-size:13.5px;color:var(--muted);line-height:1.7;}
.pick-quote{
  margin-top:auto;
  padding-top:12px;
  border-top:1px dashed var(--line);
  font-size:13px;
  color:var(--brand);
  font-style:normal;
}

/* layers */
.layers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.layer{
  padding:28px 24px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  transition:border-color .24s var(--ease),transform .24s var(--ease),background .24s var(--ease);
}
.layer:hover{transform:translateY(-4px);border-color:rgba(255,180,84,.36);background:linear-gradient(180deg,rgba(255,180,84,.09),rgba(255,255,255,.015));}
.layer-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;
  border-radius:12px;
  background:rgba(255,180,84,.14);
  border:1px solid rgba(255,180,84,.3);
  color:var(--brand);
  font-weight:800;
  font-size:15px;
  margin-bottom:16px;
}
.layer h3{font-size:18px;margin-bottom:10px;}
.layer p{color:var(--muted);font-size:14.5px;}
.layer .mini{
  margin-top:14px;
  font-size:12.5px;
  color:var(--muted-2);
  padding-left:14px;
  border-left:2px solid rgba(255,180,84,.5);
}

/* scenes */
.scenes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.scene{
  display:flex;
  gap:16px;
  padding:22px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  transition:background .24s var(--ease),border-color .24s var(--ease);
}
.scene:hover{background:rgba(255,255,255,.055);border-color:var(--line-strong);}
.scene-ico{
  flex:0 0 auto;
  width:46px;height:46px;
  border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(140deg,rgba(87,224,198,.2),rgba(143,123,255,.18));
  border:1px solid rgba(87,224,198,.28);
  color:var(--accent);
  font-size:17px;
}
.scene h3{font-size:16px;margin-bottom:6px;}
.scene p{font-size:13.8px;color:var(--muted);}

/* steps */
.steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  counter-reset:step;
}
.step{
  position:relative;
  padding:26px 22px 24px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:linear-gradient(180deg,var(--surface),rgba(17,25,39,.5));
  transition:border-color .24s var(--ease),transform .24s var(--ease);
}
.step:hover{transform:translateY(-4px);border-color:rgba(255,180,84,.38);}
.step::before{
  counter-increment:step;
  content:"0" counter(step);
  display:block;
  font-size:26px;
  font-weight:800;
  letter-spacing:-.02em;
  color:rgba(255,180,84,.85);
  margin-bottom:12px;
  line-height:1;
}
.step h3{font-size:16px;margin-bottom:8px;}
.step p{font-size:13.6px;color:var(--muted);}

/* stats */
.stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:var(--line);
  overflow:hidden;
}
.stat{
  background:linear-gradient(180deg,#0f1622,#0c1219);
  padding:30px 24px;
  text-align:center;
}
.stat b{
  display:block;
  font-size:clamp(24px,3vw,34px);
  font-weight:800;
  letter-spacing:-.02em;
  background:linear-gradient(120deg,#fff,var(--brand));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  line-height:1.2;
}
.stat span{display:block;margin-top:8px;font-size:13px;color:var(--muted);}

/* faq */
.faq-list{display:grid;gap:12px;max-width:900px;}
.faq-item{
  border-radius:var(--radius-sm);
  border:1px solid var(--line);
  background:rgba(255,255,255,.028);
  padding:0 22px;
  transition:border-color .24s var(--ease),background .24s var(--ease);
}
.faq-item:hover{border-color:var(--line-strong);background:rgba(255,255,255,.05);}
.faq-item[open]{border-color:rgba(255,180,84,.4);background:rgba(255,180,84,.07);}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:19px 30px 19px 0;
  font-size:15.5px;
  font-weight:600;
  color:#fff;
  position:relative;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{
  content:"\f078";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  color:var(--brand);
  transition:transform .24s var(--ease);
}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(180deg);}
.faq-item .answer{
  padding:0 0 20px;
  color:var(--muted);
  font-size:14.4px;
  line-height:1.8;
}

/* cta */
.cta-band{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,180,84,.28);
  background:
    radial-gradient(680px 320px at 86% 8%, rgba(255,122,77,.32), transparent 62%),
    radial-gradient(520px 300px at 4% 92%, rgba(87,224,198,.2), transparent 62%),
    linear-gradient(140deg,#16202f,#0d131c 72%);
  padding:52px 46px;
  box-shadow:var(--shadow);
}
.cta-band h2{font-size:clamp(23px,3vw,34px);margin-bottom:14px;}
.cta-band p{color:#bcc7d6;max-width:44em;font-size:15.5px;}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.cta-note{margin-top:18px;font-size:12.8px;color:var(--muted-2);}

/* footer */
.site-footer{
  margin-top:70px;
  padding:56px 0 30px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(12,17,25,.4),rgba(8,11,17,1));
}
.footer-top{
  display:grid;
  grid-template-columns:1.5fr .8fr .8fr;
  gap:42px;
  padding-bottom:38px;
  border-bottom:1px solid var(--line);
}
.footer-brand .brand{margin-bottom:16px;font-size:16px;}
.footer-brand p{color:var(--muted);font-size:14px;max-width:34em;}
.footer-col h4{
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
  margin-bottom:16px;
}
.footer-col ul{display:grid;gap:10px;}
.footer-col a{
  color:var(--muted);
  font-size:14px;
  transition:color .2s var(--ease),padding-left .2s var(--ease);
}
.footer-col a:hover{color:var(--brand);padding-left:4px;}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  padding-top:24px;
  color:var(--muted-2);
  font-size:13px;
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:34px;}
  .hero{padding-top:38px;}
  .picks-rail{grid-template-columns:repeat(2,minmax(0,1fr));}
  .layers{grid-template-columns:1fr 1fr;}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px;}
  .footer-brand{grid-column:1/-1;}
  .dock{flex-wrap:wrap;border-radius:24px;justify-content:center;}
  .dock-nav{margin-left:0;justify-content:center;width:100%;}
}
@media (max-width:768px){
  body{font-size:15.5px;}
  .site-header{padding:12px 14px 6px;}
  .section{padding:52px 0;}
  .hero h1{font-size:clamp(26px,7vw,34px);}
  .scenes{grid-template-columns:1fr;}
  .layers{grid-template-columns:1fr;}
  .cta-band{padding:36px 24px;}
  .nav-link{padding:7px 12px;font-size:13.5px;}
  .brand-text{font-size:14px;}
}
@media (max-width:520px){
  .picks-rail{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;}
  .dock{padding:10px;gap:10px;}
  .dock-nav{gap:2px;}
  .nav-link{padding:7px 10px;font-size:13px;}
  .hero-actions .btn-main,.hero-actions .btn-ghost{width:100%;justify-content:center;}
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:8px;}
  .scene{flex-direction:column;gap:12px;}
  .stat{padding:22px 16px;}
}

/* roulang page: category1 */
:root{
  --ink:#070911;
  --ink-soft:#0b0f1b;
  --panel:#111726;
  --panel-2:#161e31;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.2);
  --text:#eef1f8;
  --muted:#98a2b8;
  --brand:#ffb35c;
  --brand-deep:#ff7a4d;
  --accent:#7d95ff;
  --radius-l:26px;
  --radius-m:18px;
  --radius-s:12px;
  --shadow:0 26px 64px rgba(0,0,0,.5);
  --shadow-soft:0 12px 30px rgba(0,0,0,.3);
  --container:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--text);
  background:var(--ink);
  line-height:1.72;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:-10% -10% auto -10%;
  height:720px;
  background:
    radial-gradient(560px 380px at 18% 8%,rgba(255,179,92,.16),transparent 70%),
    radial-gradient(620px 420px at 82% 0%,rgba(125,149,255,.16),transparent 72%),
    radial-gradient(700px 500px at 50% 40%,rgba(255,122,77,.07),transparent 75%);
  pointer-events:none;
  z-index:0;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
p{margin:0 0 14px}
h1,h2,h3,h4{margin:0;line-height:1.28;letter-spacing:.2px;font-weight:800}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:8px}
::selection{background:rgba(255,179,92,.32);color:#fff}

.wrap{width:100%;max-width:var(--container);margin:0 auto;padding:0 22px;position:relative;z-index:1}

/* ---------- header / dock nav ---------- */
.site-header{position:sticky;top:0;z-index:80;padding:16px 0 6px}
.dock{
  display:flex;align-items:center;gap:16px;
  padding:10px 14px 10px 16px;
  background:rgba(13,18,30,.82);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand-mark{
  width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;
  border-radius:50%;font-size:.94rem;color:#12161f;
  background:linear-gradient(140deg,var(--brand),var(--brand-deep));
  box-shadow:0 8px 20px rgba(255,140,70,.36);
}
.brand-text{font-weight:800;font-size:1.02rem;white-space:nowrap;letter-spacing:.3px}
.brand-text em{font-style:normal;color:var(--brand)}
.dock-nav{display:flex;align-items:center;gap:2px;margin:0 auto;overflow-x:auto;scrollbar-width:none}
.dock-nav::-webkit-scrollbar{display:none}
.nav-link{
  display:inline-block;padding:8px 15px;border-radius:999px;
  font-size:.92rem;color:var(--muted);white-space:nowrap;
  transition:color .2s ease,background .2s ease,transform .2s ease;
}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.07)}
.nav-link:active{transform:scale(.97)}
.nav-link.active{
  color:#10141d;font-weight:800;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 8px 22px rgba(255,140,70,.32);
}
.dock-cta{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  padding:9px 18px;border-radius:999px;font-size:.9rem;font-weight:700;
  color:var(--text);background:rgba(255,255,255,.06);
  border:1px solid var(--line-strong);
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.dock-cta:hover{background:rgba(255,179,92,.16);border-color:rgba(255,179,92,.5);color:#fff;transform:translateY(-1px)}
.dock-cta:active{transform:translateY(0) scale(.98)}

/* ---------- buttons ---------- */
.btn-brand,.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 26px;border-radius:999px;font-size:.98rem;font-weight:700;
  border:1px solid transparent;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;
}
.btn-brand{
  color:#141821;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 14px 32px rgba(255,140,70,.32);
}
.btn-brand:hover{transform:translateY(-2px);box-shadow:0 20px 42px rgba(255,140,70,.42);color:#0e1219}
.btn-brand:active{transform:translateY(0) scale(.985)}
.btn-ghost{
  color:var(--text);background:rgba(255,255,255,.05);
  border-color:var(--line-strong);
}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,179,92,.55);color:#fff;transform:translateY(-2px)}
.btn-ghost:active{transform:translateY(0) scale(.985)}

/* ---------- hero ---------- */
.hero{padding:56px 0 24px}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:44px;align-items:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:700;
  letter-spacing:.14em;color:var(--brand);
  background:rgba(255,179,92,.1);border:1px solid rgba(255,179,92,.28);
  text-transform:uppercase;
}
.hero h1{
  font-size:clamp(2.1rem,4.6vw,3.5rem);
  margin:20px 0 16px;
  letter-spacing:-.5px;
}
.hero h1 span{
  background:linear-gradient(120deg,var(--brand),var(--brand-deep) 55%,var(--accent));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-lead{color:var(--muted);font-size:1.06rem;max-width:560px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.hero-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;
  max-width:520px;
}
.stat{
  padding:16px 16px 14px;border-radius:var(--radius-m);
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--line);
}
.stat b{display:block;font-size:1.5rem;line-height:1.2;color:#fff}
.stat span{font-size:.82rem;color:var(--muted)}

.hero-stack{position:relative;display:grid;gap:14px}
.mini-cover{
  display:flex;align-items:center;gap:14px;
  padding:14px;border-radius:var(--radius-m);
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.mini-cover:hover{transform:translateX(-6px);border-color:rgba(255,179,92,.45);box-shadow:var(--shadow)}
.mini-thumb{
  width:74px;height:74px;flex:0 0 74px;border-radius:14px;display:grid;place-items:center;
  font-size:1.3rem;color:#12161f;
}
.t1{background:linear-gradient(140deg,#ffcf82,#ff8a5c)}
.t2{background:linear-gradient(140deg,#9fb4ff,#6f7dff)}
.t3{background:linear-gradient(140deg,#7ef0d0,#39b5a4)}
.mini-cover h3{font-size:.98rem;margin-bottom:4px}
.mini-cover p{font-size:.82rem;color:var(--muted);margin:0}
.dot-live{
  display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--brand);
}
.dot-live i{font-size:.5rem}

/* ---------- sections ---------- */
.section{padding:64px 0}
.section-head{max-width:720px;margin-bottom:34px}
.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:14px 0 12px}
.section-head p{color:var(--muted);margin:0}
.tag-mini{
  display:inline-block;padding:5px 12px;border-radius:999px;font-size:.76rem;
  font-weight:700;letter-spacing:.12em;color:var(--accent);
  background:rgba(125,149,255,.12);border:1px solid rgba(125,149,255,.3);
}

.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}

/* pick cards */
.pick-card{
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:var(--radius-l);
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.pick-card:hover{transform:translateY(-7px);border-color:rgba(255,179,92,.45);box-shadow:var(--shadow)}
.cover{
  position:relative;height:132px;display:grid;place-items:center;
  font-size:1.9rem;color:rgba(10,14,22,.78);
}
.c1{background:linear-gradient(135deg,#ffcf82,#ff8a5c)}
.c2{background:linear-gradient(135deg,#9fb4ff,#6f7dff)}
.c3{background:linear-gradient(135deg,#7ef0d0,#39b5a4)}
.c4{background:linear-gradient(135deg,#ffa8c9,#ff6f9c)}
.badge-soft{
  position:absolute;top:12px;left:12px;
  padding:4px 11px;border-radius:999px;font-size:.74rem;font-weight:800;
  color:#0d1119;background:rgba(255,255,255,.84);
}
.badge-time{
  position:absolute;bottom:12px;right:12px;
  padding:3px 10px;border-radius:8px;font-size:.72rem;font-weight:700;
  color:#fff;background:rgba(8,11,18,.72);
  backdrop-filter:blur(6px);
}
.pick-body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.pick-body h3{font-size:1.06rem}
.pick-body p{font-size:.9rem;color:var(--muted);margin:0;flex:1}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{
  font-size:.75rem;padding:3px 10px;border-radius:999px;
  color:var(--muted);background:rgba(255,255,255,.05);
  border:1px solid var(--line);
}
.pick-link{
  display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:700;color:var(--brand);
  transition:gap .2s ease,color .2s ease;
}
.pick-link:hover{gap:12px;color:#ffd39a}

/* feature cards */
.feature{
  padding:26px 24px;border-radius:var(--radius-m);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--line);
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}
.feature:hover{transform:translateY(-5px);border-color:rgba(125,149,255,.45);background:linear-gradient(180deg,rgba(125,149,255,.11),rgba(255,255,255,.015))}
.icon-badge{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  font-size:1.1rem;color:#12161f;margin-bottom:16px;
  background:linear-gradient(140deg,var(--brand),var(--brand-deep));
  box-shadow:0 10px 24px rgba(255,140,70,.28);
}
.icon-badge.alt{background:linear-gradient(140deg,#a9bcff,#6f7dff);box-shadow:0 10px 24px rgba(111,125,255,.3)}
.icon-badge.green{background:linear-gradient(140deg,#8df0d7,#39b5a4);box-shadow:0 10px 24px rgba(57,181,164,.28)}
.feature h3{font-size:1.02rem;margin-bottom:8px}
.feature p{font-size:.9rem;color:var(--muted);margin:0}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}
.step{
  position:relative;padding:26px 22px 22px;
  border-radius:var(--radius-m);
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  transition:transform .25s ease,border-color .25s ease;
}
.step:hover{transform:translateY(-4px);border-color:rgba(255,179,92,.4)}
.step::before{
  counter-increment:step;content:"0" counter(step);
  display:block;font-size:.82rem;font-weight:800;letter-spacing:.16em;
  color:var(--brand);margin-bottom:12px;
}
.step h3{font-size:1rem;margin-bottom:8px}
.step p{font-size:.88rem;color:var(--muted);margin:0}

/* scenes */
.scene{
  display:flex;gap:16px;align-items:flex-start;
  padding:20px 20px;border-radius:var(--radius-m);
  background:linear-gradient(180deg,var(--panel),rgba(17,23,38,.5));
  border:1px solid var(--line);
  transition:transform .25s ease,border-color .25s ease;
}
.scene:hover{transform:translateY(-4px);border-color:rgba(255,179,92,.4)}
.scene i{
  width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;
  font-size:1rem;color:var(--brand);background:rgba(255,179,92,.12);
  border:1px solid rgba(255,179,92,.28);
}
.scene h3{font-size:.98rem;margin-bottom:6px}
.scene p{font-size:.87rem;color:var(--muted);margin:0}

/* ranking */
.rank-panel{
  border-radius:var(--radius-l);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012));
  padding:12px 10px;
}
.rank-item{
  display:flex;align-items:center;gap:16px;
  padding:16px 16px;border-radius:var(--radius-s);
  transition:background .2s ease,transform .2s ease;
}
.rank-item+.rank-item{border-top:1px solid rgba(255,255,255,.06)}
.rank-item:hover{background:rgba(255,255,255,.05);transform:translateX(4px)}
.rank-no{
  width:34px;height:34px;flex:0 0 34px;border-radius:10px;display:grid;place-items:center;
  font-weight:800;font-size:.92rem;color:var(--muted);
  background:rgba(255,255,255,.06);border:1px solid var(--line);
}
.rank-item:nth-child(1) .rank-no{color:#12161f;background:linear-gradient(140deg,var(--brand),var(--brand-deep));border-color:transparent}
.rank-item:nth-child(2) .rank-no{color:#12161f;background:linear-gradient(140deg,#cfdcff,#9fb4ff);border-color:transparent}
.rank-item:nth-child(3) .rank-no{color:#12161f;background:linear-gradient(140deg,#9ff0dc,#4ec3b0);border-color:transparent}
.rank-main{flex:1;min-width:0}
.rank-main h3{font-size:.98rem;margin-bottom:3px}
.rank-main p{font-size:.82rem;color:var(--muted);margin:0}
.rank-score{
  flex:0 0 auto;font-size:.86rem;font-weight:800;color:var(--brand);
  padding:5px 12px;border-radius:999px;
  background:rgba(255,179,92,.12);border:1px solid rgba(255,179,92,.3);
}

/* faq */
.faq-list{display:grid;gap:12px;max-width:900px}
.faq-item{
  border-radius:var(--radius-m);
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  overflow:hidden;
  transition:border-color .2s ease,background .2s ease;
}
.faq-item[open]{border-color:rgba(255,179,92,.42);background:rgba(255,179,92,.06)}
.faq-item summary{
  cursor:pointer;list-style:none;padding:18px 54px 18px 22px;
  font-weight:700;font-size:.98rem;position:relative;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"\f107";font-family:"Font Awesome 6 Free";font-weight:900;
  position:absolute;right:22px;top:50%;transform:translateY(-50%);
  color:var(--brand);font-size:.9rem;transition:transform .2s ease;
}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(180deg)}
.faq-item p{padding:0 22px 20px;margin:0;color:var(--muted);font-size:.92rem}

/* cta band */
.cta-band{
  position:relative;overflow:hidden;
  padding:52px 40px;border-radius:var(--radius-l);
  background:
    radial-gradient(600px 300px at 12% 20%,rgba(255,179,92,.22),transparent 70%),
    radial-gradient(500px 300px at 88% 80%,rgba(125,149,255,.22),transparent 72%),
    linear-gradient(160deg,#141a2b,#0d1220);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow);
  text-align:center;
}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:14px}
.cta-band p{color:var(--muted);max-width:620px;margin:0 auto 26px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* footer */
.site-footer{
  margin-top:72px;padding:56px 0 30px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(10,14,23,.4),rgba(6,8,14,.95));
  position:relative;z-index:1;
}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
.footer-brand .brand{margin-bottom:16px}
.footer-brand p{color:var(--muted);font-size:.9rem;max-width:380px}
.footer-col h4{font-size:.92rem;margin-bottom:16px;letter-spacing:.08em;color:#fff}
.footer-col ul{display:grid;gap:10px}
.footer-col a{font-size:.88rem;color:var(--muted);transition:color .2s ease,padding-left .2s ease}
.footer-col a:hover{color:var(--brand);padding-left:5px}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  margin-top:42px;padding-top:22px;border-top:1px solid var(--line);
  font-size:.8rem;color:rgba(152,162,184,.85);
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .hero-stack{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}
  .mini-cover{flex-direction:column;align-items:flex-start;text-align:left}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-top{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:900px){
  .dock{flex-wrap:wrap;border-radius:22px;justify-content:space-between;gap:10px;padding:12px 14px}
  .dock-nav{order:3;width:100%;margin:2px 0 0;justify-content:flex-start;padding-bottom:2px;
    border-top:1px solid var(--line);padding-top:10px}
  .dock-cta{order:2;padding:8px 14px;font-size:.84rem}
  .site-header{padding-top:12px}
}
@media (max-width:768px){
  .section{padding:48px 0}
  .hero{padding:40px 0 12px}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .hero-stack{grid-template-columns:1fr}
  .mini-cover{flex-direction:row;align-items:center}
  .cta-band{padding:40px 22px}
  .footer-top{grid-template-columns:1fr;gap:28px}
  .hero-stats{grid-template-columns:1fr;max-width:100%}
  .stat{display:flex;align-items:baseline;gap:12px}
  .stat b{font-size:1.2rem}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .brand-text{font-size:.94rem}
  .dock-cta{display:none}
  .grid-4{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .hero h1{font-size:1.95rem}
  .hero-actions .btn-brand,.hero-actions .btn-ghost{width:100%}
  .rank-item{gap:12px;padding:14px 10px}
  .rank-score{font-size:.78rem;padding:4px 9px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .cta-actions .btn-brand,.cta-actions .btn-ghost{width:100%}
}

/* roulang page: category3 */
:root{
  --bg:#0b0910;
  --bg-soft:#120e1a;
  --surface:#171225;
  --surface-2:#1e1830;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.17);
  --text:#f4effa;
  --text-soft:#c9c1d8;
  --muted:#9b92ad;
  --brand:#ff8a3d;
  --brand-deep:#ff5f36;
  --rose:#ff4d6d;
  --violet:#8b7bff;
  --gold:#ffd166;
  --radius-sm:12px;
  --radius:18px;
  --radius-lg:28px;
  --shadow-sm:0 10px 26px rgba(0,0,0,.32);
  --shadow:0 26px 64px rgba(0,0,0,.48);
  --glow:0 0 0 1px rgba(255,138,61,.32), 0 18px 52px rgba(255,95,54,.22);
  --container:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(920px 620px at 12% -12%,rgba(255,138,61,.16),transparent 62%),
    radial-gradient(820px 600px at 92% -4%,rgba(255,77,109,.14),transparent 64%),
    radial-gradient(760px 540px at 50% 112%,rgba(139,123,255,.13),transparent 66%);
  pointer-events:none;
  z-index:0;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .25s var(--ease),opacity .25s var(--ease)}
a:hover{color:var(--brand)}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.01em;line-height:1.28;margin:0}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
button,input{font-family:inherit}
:focus-visible{outline:3px solid rgba(255,138,61,.6);outline-offset:3px;border-radius:6px}
.container{width:100%;max-width:var(--container);margin:0 auto;padding-left:22px;padding-right:22px}
main{position:relative;z-index:1}
.section{position:relative;z-index:1;padding:86px 0}
.section--tight{padding:64px 0}
.section-head{max-width:760px;margin-bottom:44px}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brand);background:rgba(255,138,61,.1);
  border:1px solid rgba(255,138,61,.26);
  padding:7px 16px;border-radius:999px;margin-bottom:18px;
}
.section-title{font-size:clamp(1.6rem,3.2vw,2.35rem);margin-bottom:16px}
.section-lead{color:var(--text-soft);font-size:1.02rem;max-width:680px}

/* ---------- 浮动 Dock 导航 ---------- */
.dock-wrap{
  position:fixed;top:18px;left:0;right:0;z-index:1030;
  display:flex;justify-content:center;padding:0 16px;
}
.dock{
  display:flex;align-items:center;gap:6px;
  max-width:100%;
  padding:8px 10px 8px 8px;
  background:rgba(19,15,29,.82);
  border:1px solid var(--line);
  border-radius:999px;
  box-shadow:0 22px 54px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(20px) saturate(150%);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  overflow-x:auto;
  scrollbar-width:none;
}
.dock::-webkit-scrollbar{display:none}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;padding:6px 14px 6px 6px;border-radius:999px}
.brand-mark{
  width:38px;height:38px;flex:none;display:grid;place-items:center;
  border-radius:12px;
  background:linear-gradient(140deg,var(--brand),var(--rose));
  color:#1a0f0a;font-size:15px;
  box-shadow:0 8px 20px rgba(255,95,54,.34);
}
.brand-text{font-weight:800;font-size:1rem;color:var(--text);white-space:nowrap;letter-spacing:.01em}
.brand-text em{font-style:normal;color:var(--brand);margin-left:4px}
.dock-nav{display:flex;align-items:center;gap:4px;flex:none}
.nav-link{
  display:inline-block;
  padding:10px 16px;border-radius:999px;
  font-size:.92rem;font-weight:600;color:var(--text-soft);
  white-space:nowrap;
  transition:background .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);
}
.nav-link:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateY(-1px)}
.nav-link.active{
  color:#180d06;
  background:linear-gradient(135deg,var(--brand),var(--gold));
  box-shadow:0 10px 24px rgba(255,138,61,.32);
}
.nav-link.active:hover{color:#180d06}

/* ---------- Hero ---------- */
.hero{padding:170px 0 78px;position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.hero-title{font-size:clamp(2rem,4.4vw,3.2rem);margin:18px 0 20px}
.hero-title .hl{
  background:linear-gradient(120deg,var(--brand) 0%,var(--gold) 46%,var(--rose) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-sub{color:var(--text-soft);font-size:1.06rem;max-width:540px;margin-bottom:30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:38px}
.btn-main{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 30px;border-radius:999px;border:0;
  font-weight:800;font-size:.98rem;color:#1a0e06;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 16px 38px rgba(255,95,54,.32);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease),filter .25s var(--ease);
}
.btn-main:hover{color:#1a0e06;transform:translateY(-2px);box-shadow:0 22px 48px rgba(255,95,54,.44);filter:brightness(1.05)}
.btn-main:active{transform:translateY(0)}
.btn-ghost{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;border-radius:999px;
  font-weight:700;font-size:.98rem;color:var(--text);
  background:rgba(255,255,255,.05);
  border:1px solid var(--line-strong);
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,138,61,.5);color:#fff;transform:translateY(-2px)}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:500px}
.stat{
  padding:16px 18px;border-radius:var(--radius);
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
}
.stat-num{font-size:1.5rem;font-weight:800;color:var(--gold);line-height:1.2}
.stat-label{font-size:.82rem;color:var(--muted);margin-top:4px}

/* hero 封面墙 */
.cover-wall{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cover{
  position:relative;border-radius:var(--radius);
  padding:20px;min-height:150px;
  display:flex;flex-direction:column;justify-content:flex-end;
  border:1px solid var(--line);
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
.cover::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,9,16,0) 20%,rgba(11,9,16,.82) 100%);
}
.cover:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(255,138,61,.4)}
.cover > *{position:relative;z-index:2}
.cover--a{background:linear-gradient(150deg,#5b2340,#2a1430 70%),#2a1430}
.cover--b{background:linear-gradient(150deg,#7a3520,#2c1610 70%),#2c1610}
.cover--c{background:linear-gradient(150deg,#3a2a6e,#191333 70%),#191333}
.cover--d{background:linear-gradient(150deg,#1f4a52,#101f28 70%),#101f28}
.cover-tag{font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--gold);margin-bottom:8px}
.cover-name{font-size:.98rem;font-weight:800;color:#fff;line-height:1.4}
.cover-meta{font-size:.76rem;color:rgba(255,255,255,.62);margin-top:6px}

/* ---------- 爆点类型 ---------- */
.type-card{
  height:100%;
  padding:28px 26px;
  border-radius:var(--radius-lg);
  background:linear-gradient(170deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border:1px solid var(--line);
  transition:transform .32s var(--ease),border-color .32s var(--ease),box-shadow .32s var(--ease),background .32s var(--ease);
}
.type-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,138,61,.42);
  box-shadow:var(--shadow);
  background:linear-gradient(170deg,rgba(255,138,61,.1),rgba(255,255,255,.02));
}
.type-icon{
  width:46px;height:46px;border-radius:14px;
  display:grid;place-items:center;margin-bottom:18px;
  background:rgba(255,138,61,.14);color:var(--brand);
  border:1px solid rgba(255,138,61,.24);font-size:17px;
}
.type-card h3{font-size:1.12rem;margin-bottom:10px}
.type-card p{color:var(--text-soft);font-size:.94rem}
.type-line{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:.86rem;color:var(--muted)}

/* ---------- 精选片段 ---------- */
.clip-scroll{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(258px,1fr);
  gap:18px;
  overflow-x:auto;
  padding:6px 4px 22px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,138,61,.5) transparent;
}
.clip-scroll::-webkit-scrollbar{height:6px}
.clip-scroll::-webkit-scrollbar-thumb{background:rgba(255,138,61,.45);border-radius:99px}
.clip-scroll::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:99px}
.clip-card{
  scroll-snap-align:start;
  border-radius:var(--radius-lg);
  overflow:hidden;
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease);
  display:flex;flex-direction:column;
}
.clip-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:rgba(255,138,61,.42)}
.clip-thumb{
  position:relative;aspect-ratio:16/10;
  display:flex;align-items:flex-end;padding:16px;
}
.clip-thumb::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,9,16,0) 30%,rgba(11,9,16,.88) 100%);
}
.clip-thumb > *{position:relative;z-index:2}
.clip-thumb--1{background:linear-gradient(150deg,#6a2440,#221124)}
.clip-thumb--2{background:linear-gradient(150deg,#7d3a1d,#241310)}
.clip-thumb--3{background:linear-gradient(150deg,#33306f,#161329)}
.clip-thumb--4{background:linear-gradient(150deg,#1d4d51,#0f1e23)}
.clip-thumb--5{background:linear-gradient(150deg,#5a2b63,#1c1124)}
.clip-thumb--6{background:linear-gradient(150deg,#3f4a26,#161a10)}
.play-dot{
  position:absolute;top:14px;right:14px;z-index:3;
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(11,9,16,.55);color:#fff;font-size:13px;
  border:1px solid rgba(255,255,255,.26);
  backdrop-filter:blur(6px);
  transition:background .25s var(--ease),transform .25s var(--ease);
}
.clip-card:hover .play-dot{background:var(--brand);color:#1a0e06;transform:scale(1.08)}
.clip-thumb-title{font-size:1rem;font-weight:800;color:#fff;line-height:1.4}
.clip-thumb-sub{font-size:.76rem;color:rgba(255,255,255,.66);margin-top:4px}
.clip-body{padding:18px 20px 22px;flex:1;display:flex;flex-direction:column;gap:10px}
.clip-quote{font-size:.92rem;color:var(--text-soft);flex:1}
.clip-foot{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pill{
  display:inline-block;font-size:.74rem;font-weight:700;
  padding:4px 11px;border-radius:999px;
  background:rgba(255,255,255,.07);color:var(--text-soft);
  border:1px solid var(--line);
}
.pill--brand{background:rgba(255,138,61,.14);color:var(--brand);border-color:rgba(255,138,61,.3)}
.pill--rose{background:rgba(255,77,109,.14);color:var(--rose);border-color:rgba(255,77,109,.3)}

/* ---------- 适用场景 ---------- */
.scene-item{
  display:flex;gap:18px;align-items:flex-start;
  padding:24px;border-radius:var(--radius);
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  height:100%;
  transition:background .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease);
}
.scene-item:hover{background:rgba(255,255,255,.07);border-color:var(--line-strong);transform:translateY(-4px)}
.scene-no{
  flex:none;width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  font-weight:800;font-size:.95rem;color:var(--brand);
  background:rgba(255,138,61,.12);border:1px solid rgba(255,138,61,.26);
}
.scene-item h3{font-size:1.02rem;margin-bottom:8px}
.scene-item p{font-size:.92rem;color:var(--text-soft)}

/* ---------- 流程 ---------- */
.step{
  position:relative;
  padding:28px 24px 26px;
  border-radius:var(--radius-lg);
  background:linear-gradient(175deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
  border:1px solid var(--line);
  height:100%;
  transition:transform .3s var(--ease),border-color .3s var(--ease);
}
.step:hover{transform:translateY(-5px);border-color:rgba(255,138,61,.4)}
.step-num{
  font-size:.8rem;font-weight:800;letter-spacing:.16em;
  color:var(--brand);margin-bottom:12px;
}
.step h3{font-size:1.05rem;margin-bottom:10px}
.step p{font-size:.92rem;color:var(--text-soft)}

/* ---------- 热榜 ---------- */
.rank-panel{
  border-radius:var(--radius-lg);
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));
  overflow:hidden;
}
.rank-row{
  display:flex;align-items:center;gap:18px;
  padding:20px 24px;
  border-bottom:1px solid var(--line);
  transition:background .26s var(--ease),padding-left .26s var(--ease);
}
.rank-row:last-child{border-bottom:0}
.rank-row:hover{background:rgba(255,138,61,.07);padding-left:30px}
.rank-no{
  flex:none;width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  font-weight:800;font-size:.9rem;
  background:rgba(255,255,255,.07);color:var(--text-soft);
  border:1px solid var(--line);
}
.rank-row:nth-child(1) .rank-no{background:linear-gradient(135deg,var(--brand),var(--gold));color:#1a0e06;border-color:transparent}
.rank-row:nth-child(2) .rank-no{background:rgba(255,138,61,.2);color:var(--brand);border-color:rgba(255,138,61,.34)}
.rank-main{flex:1;min-width:0}
.rank-title{font-weight:700;font-size:1rem;color:var(--text)}
.rank-desc{font-size:.85rem;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rank-heat{flex:none;font-size:.82rem;font-weight:700;color:var(--gold)}

/* ---------- FAQ ---------- */
.faq-accordion{--bs-accordion-bg:transparent;--bs-accordion-color:var(--text-soft);--bs-accordion-border-color:var(--line);
  --bs-accordion-border-radius:16px;--bs-accordion-inner-border-radius:16px;
  --bs-accordion-btn-color:var(--text);--bs-accordion-btn-bg:rgba(255,255,255,.04);
  --bs-accordion-active-color:#fff;--bs-accordion-active-bg:rgba(255,138,61,.12);
  --bs-accordion-btn-focus-box-shadow:0 0 0 3px rgba(255,138,61,.35);
  --bs-accordion-btn-padding-y:1.15rem;--bs-accordion-btn-padding-x:1.4rem;
  --bs-accordion-body-padding-y:0;--bs-accordion-body-padding-x:1.4rem;
  --bs-accordion-transition:background .25s var(--ease),color .25s var(--ease);
}
.faq-accordion .accordion-item{
  margin-bottom:12px;border-radius:16px;overflow:hidden;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}
.faq-accordion .accordion-button{
  font-weight:700;font-size:1rem;line-height:1.6;
  box-shadow:none;border-radius:16px;
}
.faq-accordion .accordion-button:not(.collapsed){box-shadow:none}
.faq-accordion .accordion-button::after{
  width:1rem;height:1rem;background-size:1rem;
  filter:invert(78%) sepia(28%) saturate(900%) hue-rotate(340deg) brightness(105%);
}
.faq-accordion .accordion-body{padding-bottom:1.15rem;color:var(--text-soft);font-size:.95rem}

/* ---------- CTA ---------- */
.cta-box{
  position:relative;
  border-radius:34px;
  padding:64px 52px;
  border:1px solid rgba(255,138,61,.3);
  background:
    radial-gradient(600px 300px at 12% 0%,rgba(255,138,61,.24),transparent 65%),
    radial-gradient(560px 320px at 88% 100%,rgba(255,77,109,.2),transparent 62%),
    linear-gradient(160deg,#1a1329,#120e1c 70%);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.cta-box h2{font-size:clamp(1.6rem,3.2vw,2.3rem);margin-bottom:16px}
.cta-box p{color:var(--text-soft);max-width:590px;margin-bottom:28px}
.cta-actions{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Footer ---------- */
.site-footer{
  position:relative;z-index:1;
  margin-top:40px;
  padding:64px 0 32px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(0,0,0,.35));
}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:44px;padding-bottom:40px}
.footer-brand .brand{padding-left:0;margin-bottom:18px}
.footer-brand p{color:var(--muted);font-size:.92rem;max-width:400px}
.footer-col h4{font-size:.86rem;letter-spacing:.13em;text-transform:uppercase;color:var(--text-soft);margin-bottom:16px}
.footer-col ul li{margin-bottom:10px}
.footer-col a{color:var(--muted);font-size:.93rem}
.footer-col a:hover{color:var(--brand)}
.footer-bottom{
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  padding-top:26px;border-top:1px solid var(--line);
  color:var(--muted);font-size:.84rem;
}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero{padding:150px 0 62px}
  .hero-grid{grid-template-columns:1fr;gap:44px}
  .hero-sub{max-width:none}
  .cover-wall{max-width:640px}
  .section{padding:72px 0}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px}
  .footer-brand{grid-column:1 / -1}
  .cta-box{padding:52px 36px}
}
@media (max-width:768px){
  .dock{width:100%;justify-content:flex-start;border-radius:20px;padding:8px}
  .brand-text{font-size:.9rem}
  .brand-mark{width:34px;height:34px;font-size:13px}
  .nav-link{padding:9px 13px;font-size:.86rem}
  .hero{padding:140px 0 52px}
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:10px;max-width:none}
  .stat{padding:13px 14px}
  .stat-num{font-size:1.22rem}
  .stat-label{font-size:.74rem}
  .section{padding:60px 0}
  .section-head{margin-bottom:32px}
  .clip-scroll{grid-auto-columns:minmax(240px,80%)}
  .rank-desc{white-space:normal}
  .rank-heat{display:none}
  .cta-box{padding:42px 26px;border-radius:26px}
  .footer-top{grid-template-columns:1fr;gap:30px;padding-bottom:30px}
}
@media (max-width:520px){
  .container{padding-left:16px;padding-right:16px}
  .hero-title{font-size:1.84rem}
  .hero-actions{gap:10px}
  .btn-main,.btn-ghost{width:100%;justify-content:center;padding:14px 20px}
  .cover-wall{grid-template-columns:1fr 1fr;gap:10px}
  .cover{min-height:126px;padding:14px}
  .cover-name{font-size:.88rem}
  .hero-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .stat-num{font-size:1.05rem}
  .scene-item{flex-direction:column;gap:12px;padding:20px}
  .clip-scroll{grid-auto-columns:minmax(220px,86%)}
  .footer-bottom{flex-direction:column;gap:8px}
}

/* roulang page: category4 */
:root{
  --ink:#080b11;
  --ink-2:#0e131c;
  --surface:#151b26;
  --surface-2:#1b2331;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.18);
  --text:#eef2f8;
  --muted:#98a4b7;
  --gold:#ffc44d;
  --gold-2:#f2a51c;
  --coral:#ff7f5e;
  --mint:#5ad2a0;
  --r-xl:28px;
  --r-lg:22px;
  --r-md:16px;
  --r-sm:10px;
  --shadow-lg:0 34px 80px -36px rgba(0,0,0,.95);
  --shadow-sm:0 14px 34px -20px rgba(0,0,0,.85);
  --max:1180px;
  --ease:cubic-bezier(.22,.68,.32,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;
  font-size:16px;
  line-height:1.75;
  color:var(--text);
  background:
    radial-gradient(1100px 560px at 8% -12%,rgba(255,196,77,.12),transparent 62%),
    radial-gradient(900px 520px at 96% 2%,rgba(255,127,94,.10),transparent 60%),
    var(--ink);
  background-attachment:fixed;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .2s var(--ease)}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:8px}
::selection{background:rgba(255,196,77,.32);color:#fff}
.container{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 22px;
}
section{position:relative}
.section-pad{padding:88px 0}
.section-head{max-width:720px;margin-bottom:42px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);font-weight:700;
  padding:6px 14px;border-radius:999px;
  border:1px solid rgba(255,196,77,.32);
  background:rgba(255,196,77,.08);
  margin-bottom:18px;
}
.eyebrow i{font-size:11px}
h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.18;font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.28;font-weight:800;letter-spacing:-.015em}
h3{font-size:1.14rem;line-height:1.45;font-weight:700}
.lead{color:var(--muted);font-size:17px;line-height:1.9}
.section-head p{color:var(--muted);margin-top:14px;font-size:16px}
.accent{color:var(--gold)}
.hr-soft{height:1px;background:linear-gradient(90deg,transparent,var(--line-strong),transparent);border:0;margin:0}

/* ---------- 浮动 Dock 导航 ---------- */
.site-header{
  position:sticky;top:0;z-index:90;
  padding:16px 0 10px;
  background:linear-gradient(180deg,rgba(8,11,17,.94),rgba(8,11,17,.62) 62%,rgba(8,11,17,0));
  backdrop-filter:blur(16px);
}
.dock-shell{
  display:flex;align-items:center;gap:16px;
  padding:10px 12px 10px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(21,27,38,.86);
  box-shadow:var(--shadow-sm);
}
.brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.brand-mark{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--gold),var(--coral));
  color:#1c1305;font-size:15px;
  box-shadow:0 8px 20px -10px rgba(255,196,77,.9);
}
.brand-text{font-size:15px;font-weight:800;letter-spacing:.2px;white-space:nowrap}
.brand-text em{font-style:normal;color:var(--gold)}
.dock-nav{display:flex;align-items:center;gap:3px;margin-left:auto}
.nav-link{
  display:inline-block;
  padding:9px 14px;border-radius:999px;
  font-size:14px;color:var(--muted);white-space:nowrap;
  transition:color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease);
}
.nav-link:hover{color:var(--text);background:rgba(255,255,255,.07)}
.nav-link:active{transform:scale(.97)}
.nav-link.active{
  color:#1c1305;font-weight:700;
  background:linear-gradient(135deg,var(--gold),#ffe0a0);
  box-shadow:0 8px 22px -12px rgba(255,196,77,.95);
}
.dock-cta{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
  padding:9px 18px;border-radius:999px;font-size:14px;font-weight:700;
  color:#fff;background:linear-gradient(135deg,#ff8f6b,var(--coral));
  box-shadow:0 12px 26px -14px rgba(255,127,94,.95);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.dock-cta:hover{transform:translateY(-1px);box-shadow:0 16px 32px -14px rgba(255,127,94,1);color:#fff}
.dock-cta:active{transform:translateY(0) scale(.98)}

/* ---------- Hero ---------- */
.hero{padding:52px 0 78px;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(circle at 50% 20%,#000 12%,transparent 72%);
  -webkit-mask-image:radial-gradient(circle at 50% 20%,#000 12%,transparent 72%);
  pointer-events:none;
}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center;position:relative;z-index:1}
.hero h1{margin-bottom:20px}
.hero h1 .soft{
  display:block;font-size:clamp(1.02rem,1.8vw,1.3rem);
  font-weight:600;color:var(--gold);letter-spacing:.02em;margin-top:14px;
}
.hero-lead{max-width:560px;color:var(--muted);font-size:16.5px;line-height:1.92}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn-gold,.btn-line{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 26px;border-radius:999px;font-size:15px;font-weight:700;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.btn-gold{
  color:#1c1305;background:linear-gradient(135deg,var(--gold),#ffe2a6);
  box-shadow:0 18px 36px -18px rgba(255,196,77,.95);
}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 24px 44px -18px rgba(255,196,77,1);color:#1c1305}
.btn-gold:active{transform:translateY(0) scale(.985)}
.btn-line{
  color:var(--text);border:1px solid var(--line-strong);background:rgba(255,255,255,.04);
}
.btn-line:hover{background:rgba(255,255,255,.1);border-color:rgba(255,196,77,.5);color:var(--gold);transform:translateY(-2px)}
.btn-line:active{transform:translateY(0) scale(.985)}
.hero-facts{display:flex;flex-wrap:wrap;gap:26px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}
.fact strong{display:block;font-size:1.5rem;font-weight:800;color:var(--gold);line-height:1.2}
.fact span{font-size:12.5px;color:var(--muted);letter-spacing:.04em}

/* Hero 播放卡 */
.stage{
  position:relative;padding:22px;border-radius:var(--r-xl);
  border:1px solid var(--line);
  background:linear-gradient(165deg,#1b2431,#0f141d 68%);
  box-shadow:var(--shadow-lg);
}
.stage::after{
  content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  background:linear-gradient(140deg,rgba(255,196,77,.26),transparent 42%,rgba(255,127,94,.22));
  mask:linear-gradient(#000,#000) content-box,linear-gradient(#000,#000);
  mask-composite:exclude;-webkit-mask-composite:xor;
  padding:1px;
}
.stage-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.stage-label{font-size:12px;letter-spacing:.12em;color:var(--gold);font-weight:700;text-transform:uppercase}
.stage-live{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px rgba(90,210,160,.16);animation:pulse 2.2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.stage-cover{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  min-height:250px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;
  background:
    radial-gradient(120% 90% at 12% 8%,rgba(255,196,77,.36),transparent 58%),
    linear-gradient(150deg,#2a2036 8%,#171d29 56%,#101520 100%);
  border:1px solid rgba(255,255,255,.08);
}
.stage-cover h3{font-size:1.4rem;line-height:1.35;margin-bottom:8px}
.stage-cover p{font-size:13.5px;color:rgba(238,242,248,.72);max-width:280px}
.play-btn{
  position:absolute;right:20px;bottom:22px;
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--gold),#ffe2a6);color:#1c1305;font-size:18px;
  box-shadow:0 16px 34px -14px rgba(255,196,77,1);
  transition:transform .25s var(--ease);
}
.stage-cover:hover .play-btn{transform:scale(1.07)}
.stage-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;position:relative;z-index:2}
.tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:600;letter-spacing:.02em;
  padding:5px 12px;border-radius:999px;
  color:var(--gold);background:rgba(255,196,77,.12);
  border:1px solid rgba(255,196,77,.26);
}
.tag.muted{color:var(--muted);background:rgba(255,255,255,.05);border-color:var(--line)}
.tag.coral{color:var(--coral);background:rgba(255,127,94,.12);border-color:rgba(255,127,94,.3)}
.wave{display:flex;align-items:flex-end;gap:4px;height:44px;margin-top:18px}
.wave span{
  flex:1;border-radius:4px;
  background:linear-gradient(180deg,var(--gold),rgba(255,196,77,.16));
  animation:waveMove 1.7s ease-in-out infinite;
}
.wave span:nth-child(1){height:36%;animation-delay:0s}
.wave span:nth-child(2){height:62%;animation-delay:.1s}
.wave span:nth-child(3){height:44%;animation-delay:.2s}
.wave span:nth-child(4){height:80%;animation-delay:.3s}
.wave span:nth-child(5){height:56%;animation-delay:.4s}
.wave span:nth-child(6){height:92%;animation-delay:.5s}
.wave span:nth-child(7){height:48%;animation-delay:.6s}
.wave span:nth-child(8){height:70%;animation-delay:.7s}
.wave span:nth-child(9){height:38%;animation-delay:.8s}
.wave span:nth-child(10){height:64%;animation-delay:.9s}
.wave span:nth-child(11){height:30%;animation-delay:1s}
.wave span:nth-child(12){height:52%;animation-delay:1.1s}
@keyframes waveMove{0%,100%{transform:scaleY(1);opacity:.9}50%{transform:scaleY(.55);opacity:.55}}
.stage-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;font-size:13px;color:var(--muted)}
.stage-foot strong{color:var(--text)}

/* ---------- 通用卡片 ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.card{
  padding:28px 26px;border-radius:var(--r-lg);
  background:linear-gradient(170deg,var(--surface),var(--ink-2));
  border:1px solid var(--line);
  transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.card:hover{transform:translateY(-4px);border-color:rgba(255,196,77,.34);box-shadow:var(--shadow-sm)}
.card .icon{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  font-size:17px;color:var(--gold);
  background:rgba(255,196,77,.12);border:1px solid rgba(255,196,77,.24);
  margin-bottom:18px;
}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:14.6px;line-height:1.85}
.card .mini-list{margin-top:16px;display:grid;gap:9px}
.card .mini-list li{display:flex;gap:10px;font-size:13.8px;color:var(--muted)}
.card .mini-list i{color:var(--gold);font-size:12px;margin-top:6px}

/* ---------- 场景 ---------- */
.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.scene{
  display:flex;gap:16px;align-items:flex-start;
  padding:22px;border-radius:var(--r-md);
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);
}
.scene:hover{background:rgba(255,196,77,.07);border-color:rgba(255,196,77,.3);transform:translateY(-3px)}
.scene i{
  width:40px;height:40px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;
  font-size:15px;color:var(--gold);background:rgba(255,196,77,.1);
}
.scene h4{font-size:15px;font-weight:700;margin-bottom:6px}
.scene p{font-size:13.6px;color:var(--muted);line-height:1.8}

/* ---------- 片单 ---------- */
.pick-row{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:minmax(258px,1fr);
  gap:18px;overflow-x:auto;padding:6px 4px 20px;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
}
.pick-row::-webkit-scrollbar{height:6px}
.pick-row::-webkit-scrollbar-thumb{background:rgba(255,196,77,.32);border-radius:99px}
.pick{
  scroll-snap-align:start;
  border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);
  background:var(--surface);
  transition:transform .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);
}
.pick:hover{transform:translateY(-5px);border-color:rgba(255,196,77,.4);box-shadow:var(--shadow-sm)}
.pick-cover{
  position:relative;height:158px;display:flex;flex-direction:column;justify-content:flex-end;
  padding:18px;
}
.pick-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,11,17,.05),rgba(8,11,17,.68))}
.pick-cover .tag{position:absolute;top:14px;left:14px;z-index:2}
.pick-cover h3{position:relative;z-index:2;font-size:1.06rem;line-height:1.35}
.cover-a{background:linear-gradient(140deg,#3a2a4f,#1a2130 62%,#111823)}
.cover-b{background:linear-gradient(140deg,#4a2f24,#221a26 60%,#121722)}
.cover-c{background:linear-gradient(140deg,#1f3a44,#182230 58%,#101620)}
.cover-d{background:linear-gradient(140deg,#43323a,#1e2130 62%,#0f151f)}
.pick-body{padding:18px}
.pick-body p{font-size:13.6px;color:var(--muted);line-height:1.8;margin-bottom:14px}
.pick-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:13px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.stars{color:var(--gold);letter-spacing:2px;font-size:12px}

/* ---------- 流程 ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}
.step{
  position:relative;padding:26px 22px 24px;border-radius:var(--r-md);
  background:linear-gradient(175deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  border:1px solid var(--line);
}
.step::before{
  counter-increment:step;content:"0" counter(step);
  display:block;font-size:13px;font-weight:800;letter-spacing:.16em;
  color:var(--gold);margin-bottom:14px;
}
.step h4{font-size:15.5px;margin-bottom:8px}
.step p{font-size:13.6px;color:var(--muted);line-height:1.8}
.step:hover{border-color:rgba(255,196,77,.32)}

/* ---------- 反馈 ---------- */
.quote{
  padding:28px 26px;border-radius:var(--r-lg);
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  display:flex;flex-direction:column;gap:16px;
}
.quote p{font-size:15px;line-height:1.9;color:#dbe3ef}
.quote-by{display:flex;align-items:center;gap:12px;margin-top:auto}
.avatar{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:14px;color:#1c1305;
  background:linear-gradient(135deg,var(--gold),var(--coral));
}
.quote-by strong{display:block;font-size:14px}
.quote-by span{font-size:12.5px;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:860px;margin:0 auto;display:grid;gap:12px}
details.faq{
  border:1px solid var(--line);border-radius:var(--r-md);
  background:rgba(255,255,255,.035);
  padding:0 22px;
  transition:border-color .25s var(--ease),background .25s var(--ease);
}
details.faq[open]{border-color:rgba(255,196,77,.36);background:rgba(255,196,77,.06)}
details.faq summary{
  list-style:none;cursor:pointer;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:19px 0;font-size:15.5px;font-weight:700;color:var(--text);
}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{
  content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;
  font-size:12px;color:var(--gold);transition:transform .25s var(--ease);
}
details.faq[open] summary::after{transform:rotate(180deg)}
details.faq .faq-body{padding:0 0 20px;font-size:14.6px;color:var(--muted);line-height:1.9;max-width:720px}

/* ---------- CTA ---------- */
.cta-band{
  position:relative;overflow:hidden;
  border-radius:var(--r-xl);
  padding:58px 48px;
  border:1px solid rgba(255,196,77,.26);
  background:
    radial-gradient(120% 130% at 8% 0%,rgba(255,196,77,.2),transparent 58%),
    radial-gradient(110% 130% at 96% 100%,rgba(255,127,94,.18),transparent 58%),
    linear-gradient(160deg,#1a2130,#101620);
  box-shadow:var(--shadow-lg);
}
.cta-inner{display:grid;grid-template-columns:1.25fr .75fr;gap:38px;align-items:center;position:relative;z-index:1}
.cta-band h2{margin-bottom:14px}
.cta-band p{color:var(--muted);font-size:15.6px;line-height:1.9;max-width:560px}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cta-side{display:grid;gap:12px}
.cta-chip{
  display:flex;align-items:center;gap:12px;
  padding:15px 18px;border-radius:var(--r-md);
  background:rgba(8,11,17,.5);border:1px solid var(--line);
  font-size:13.8px;color:#dbe3ef;
}
.cta-chip i{color:var(--gold);font-size:14px}

/* ---------- 页脚 ---------- */
.site-footer{
  margin-top:88px;
  padding:64px 0 34px;
  border-top:1px solid var(--line);
  background:linear-gradient(180deg,rgba(21,27,38,.34),rgba(8,11,17,.9));
}
.footer-top{display:grid;grid-template-columns:1.6fr .8fr .8fr;gap:44px}
.footer-brand .brand{margin-bottom:18px}
.footer-brand p{color:var(--muted);font-size:14px;line-height:1.9;max-width:380px}
.footer-col h4{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}
.footer-col ul{display:grid;gap:11px}
.footer-col a{font-size:14px;color:var(--muted)}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;
  margin-top:44px;padding-top:22px;border-top:1px solid var(--line);
  font-size:12.7px;color:rgba(152,164,183,.86);
}

/* ---------- 响应式 ---------- */
@media (max-width:1024px){
  .hero-grid{grid-template-columns:1fr;gap:42px}
  .hero-lead{max-width:100%}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cta-inner{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr 1fr;gap:34px}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:991px){
  .dock-shell{flex-wrap:wrap;border-radius:26px;padding:12px 14px;gap:12px}
  .dock-nav{
    order:3;width:100%;margin-left:0;overflow-x:auto;
    padding:2px 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .dock-nav::-webkit-scrollbar{display:none}
  .dock-cta{margin-left:auto}
  .section-pad{padding:66px 0}
  .hero{padding:34px 0 58px}
  .cta-band{padding:42px 26px}
}
@media (max-width:768px){
  .grid-3,.grid-2,.scene-grid,.steps{grid-template-columns:1fr}
  .hero-facts{gap:20px}
  .fact strong{font-size:1.3rem}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .section-head{margin-bottom:32px}
  .stage-cover{min-height:220px}
}
@media (max-width:520px){
  .container{padding:0 16px}
  .brand-text{font-size:13.5px}
  .brand-mark{width:34px;height:34px;font-size:13px}
  .dock-cta{padding:8px 14px;font-size:13px}
  .nav-link{padding:8px 12px;font-size:13.2px}
  .hero-actions .btn-gold,.hero-actions .btn-line,.cta-actions .btn-gold,.cta-actions .btn-line{width:100%}
  .card,.quote{padding:22px 20px}
  .pick-row{grid-auto-columns:82%}
  .stage{padding:16px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}
