:root{
    --bg:#080A14; --ink:#F2F4FF; --soft:#A6AAC6; --muted:#6F7391;
    --violet:#6C5CE7; --cyan:#22D3EE; --mint:#3DDC97;
    --glass:rgba(255,255,255,.045); --line:rgba(255,255,255,.09);
    --r:18px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html,body{max-width:100%;overflow-x:hidden;}
  body{
    background:var(--bg); color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
    font-size:15px; line-height:1.85; -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{width:min(1180px,calc(100% - 40px));margin:0 auto;}
  .glow{position:absolute;border-radius:50%;filter:blur(120px);pointer-events:none;z-index:0;}

  /* nav */
  header.site-head{position:relative;z-index:5;padding:22px 0;}
  .head-row{display:flex;align-items:center;justify-content:space-between;}
  .brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.5px;}
  .brand img{height:34px;width:auto;border-radius:9px;}
  .head-nav{display:flex;gap:26px;font-size:14px;color:var(--soft);}
  .head-nav a:hover{color:var(--ink);}

  /* 01 hero */
  .hero{position:relative;overflow:hidden;padding-bottom:92px;}
  .hero .glow.g1{width:520px;height:520px;background:rgba(108,92,231,.42);top:-160px;left:-120px;}
  .hero .glow.g2{width:460px;height:460px;background:rgba(34,211,238,.30);top:80px;right:-140px;}
  .hero .glow.g3{width:380px;height:380px;background:rgba(61,220,151,.22);bottom:-180px;left:40%;}
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:40px;}
  .badge{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:999px;
    background:var(--glass);border:1px solid var(--line);font-size:13px;color:var(--soft);}
  .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);position:relative;}
  .dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;background:var(--mint);opacity:.35;animation:pulse 2.2s infinite;}
  @keyframes pulse{0%{transform:scale(.7);opacity:.5}70%{transform:scale(1.9);opacity:0}100%{opacity:0}}
  h1{font-size:clamp(38px,5.2vw,58px);line-height:1.16;font-weight:800;letter-spacing:-.5px;margin:22px 0 18px;}
  h1 .grad{background:linear-gradient(96deg,var(--violet),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;}
  .hero-sub{color:var(--soft);font-size:15.5px;max-width:520px;}
  .hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 34px;}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;
    font-weight:700;font-size:15px;transition:transform .22s,filter .22s;}
  .btn-main{background:linear-gradient(96deg,var(--violet),var(--cyan));color:#0A0C18;}
  .btn-ghost{background:var(--glass);border:1px solid var(--line);color:var(--ink);backdrop-filter:blur(10px);}
  .btn:hover{transform:translateY(-2px);filter:brightness(1.06);}
  .stats{display:flex;gap:38px;flex-wrap:wrap;}
  .stat-num{font-size:26px;font-weight:800;background:linear-gradient(96deg,var(--violet),var(--cyan));
    -webkit-background-clip:text;background-clip:text;color:transparent;}
  .stat-label{font-size:13px;color:var(--muted);}

  .hero-visual{position:relative;height:460px;}
  .fan{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
  .fan-card{width:196px;aspect-ratio:3/4;border-radius:16px;overflow:hidden;position:absolute;
    border:1px solid var(--line);transition:transform .22s ease,opacity .22s ease;
    box-shadow:0 24px 60px rgba(0,0,0,.55);}
  .fan-card img{width:100%;height:100%;object-fit:cover;}
  .fan-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.85));}
  .fan-l{transform:translateX(-118px) rotate(-13deg);opacity:.75;}
  .fan-c{transform:translateX(0) rotate(0);z-index:3;}
  .fan-r{transform:translateX(118px) rotate(13deg);opacity:.75;}
  .fan:hover .fan-l{transform:translateX(-138px) rotate(-13deg);}
  .fan:hover .fan-r{transform:translateX(138px) rotate(13deg);}
  .fan:hover .fan-c{transform:scale(1.03);}
  .float-card{position:absolute;top:-6px;right:0;z-index:6;padding:12px 16px;border-radius:14px;
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);font-size:12.5px;color:var(--soft);}
  .float-card b{display:block;color:var(--ink);font-size:14px;margin-top:2px;}

  /* sections */
  section.block{padding:92px 0;position:relative;}
  .sec-head{margin-bottom:34px;}
  .sec-head h2{font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-.3px;}
  .sec-head p{color:var(--soft);margin-top:8px;font-size:14.5px;}
  .sec-tag{font-size:12.5px;letter-spacing:2px;color:var(--cyan);font-weight:700;display:block;margin-bottom:8px;}

  /* 02 new */
  .rail{display:flex;gap:16px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;}
  .rail::-webkit-scrollbar{height:6px;}
  .rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:99px;}
  .new-card{flex:0 0 168px;scroll-snap-align:start;transition:transform .22s;}
  .new-card:hover{transform:translateY(-4px);}
  .new-cover{position:relative;width:100%;aspect-ratio:3/4;border-radius:14px;overflow:hidden;border:1px solid var(--line);}
  .new-cover img{width:100%;height:100%;object-fit:cover;}
  .new-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.85));}
  .tag-time{position:absolute;top:8px;left:8px;z-index:2;font-size:11px;padding:3px 8px;border-radius:99px;
    background:rgba(8,10,20,.62);backdrop-filter:blur(6px);color:var(--ink);}
  .tag-new{position:absolute;top:8px;right:8px;z-index:2;font-size:11px;padding:3px 8px;border-radius:99px;
    background:linear-gradient(96deg,var(--violet),var(--cyan));color:#0A0C18;font-weight:800;}
  .new-title{position:absolute;bottom:9px;left:10px;right:10px;z-index:2;font-size:13.5px;font-weight:700;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .new-meta{font-size:12px;color:var(--muted);margin-top:8px;}

  /* 03 genres */
  .genre-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
  .genre{position:relative;overflow:hidden;padding:22px 20px;border-radius:var(--r);
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);transition:transform .22s;}
  .genre::before{content:"";position:absolute;inset:0;border-radius:var(--r);opacity:0;transition:opacity .22s;
    background:radial-gradient(circle at 0 0,rgba(108,92,231,.38),transparent 62%);}
  .genre:hover{transform:translateY(-3px);}
  .genre:hover::before{opacity:1;}
  .genre i{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:11px;
    background:rgba(255,255,255,.06);border:1px solid var(--line);font-style:normal;font-size:17px;margin-bottom:12px;}
  .genre h3{font-size:16px;font-weight:700;position:relative;}
  .genre span{font-size:12.5px;color:var(--muted);position:relative;}

  /* 04 rank */
  .rank-list{border-top:1px solid var(--line);}
  .rank-row{display:grid;grid-template-columns:56px 60px 1fr 180px 96px;gap:18px;align-items:center;
    padding:16px 10px;border-bottom:1px solid var(--line);transition:background .22s;}
  .rank-row:hover{background:rgba(255,255,255,.035);}
  .rank-no{font-size:34px;font-weight:800;color:transparent;line-height:1;}
  .n1{-webkit-text-stroke:1.5px var(--violet);}
  .n2{-webkit-text-stroke:1.5px var(--cyan);}
  .n3{-webkit-text-stroke:1.5px var(--mint);}
  .n4,.n5{-webkit-text-stroke:1.5px rgba(166,170,198,.55);}
  .rank-thumb{width:60px;aspect-ratio:3/4;border-radius:8px;overflow:hidden;border:1px solid var(--line);}
  .rank-thumb img{width:100%;height:100%;object-fit:cover;}
  .rank-name{font-weight:700;font-size:15px;}
  .rank-cat{font-size:12.5px;color:var(--muted);}
  .bar{height:6px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;}
  .bar span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--cyan));}
  .heat{text-align:right;font-size:13px;color:var(--mint);font-weight:700;}

  /* 05 lines */
  .line-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
  .line-card{border-radius:var(--r);overflow:hidden;background:var(--glass);border:1px solid var(--line);
    backdrop-filter:blur(10px);transition:transform .22s,border-color .22s;}
  .line-card:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.55);}
  .line-thumb{height:96px;border-radius:var(--r) var(--r) 0 0;position:relative;overflow:hidden;}
  .line-thumb img{width:100%;height:100%;object-fit:cover;}
  .line-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(0,0,0,.85));}
  .line-body{padding:20px;}
  .line-body i{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;
    background:rgba(255,255,255,.06);border:1px solid var(--line);font-style:normal;margin-bottom:10px;}
  .line-body h3{font-size:17px;font-weight:700;margin-bottom:6px;}
  .line-body p{font-size:13.5px;color:var(--soft);min-height:48px;}
  .line-go{display:inline-block;margin-top:12px;font-size:13.5px;color:var(--cyan);font-weight:700;}

  /* 06 player */
  .play-grid{display:grid;grid-template-columns:1fr .85fr;gap:56px;align-items:center;}
  .feat{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);}
  .feat:last-child{border-bottom:0;}
  .feat i{flex:0 0 44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
    background:rgba(255,255,255,.06);border:1px solid var(--line);font-style:normal;font-size:18px;}
  .feat h3{font-size:16px;font-weight:700;}
  .feat p{font-size:13.5px;color:var(--soft);}
  .phone-wrap{position:relative;display:flex;justify-content:center;padding:20px 0;}
  .phone{width:250px;aspect-ratio:9/19;border-radius:36px;border:8px solid #171A2B;
    background:#0C0F1C;position:relative;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6);}
  .phone-screen{position:absolute;inset:0;background:linear-gradient(180deg,rgba(108,92,231,.34),rgba(8,10,20,.96));
    display:flex;flex-direction:column;justify-content:flex-end;padding:18px 16px;}
  .phone-screen .p-title{font-weight:700;font-size:15px;margin-bottom:10px;}
  .p-progress{height:5px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden;}
  .p-progress span{display:block;height:100%;width:46%;border-radius:99px;background:linear-gradient(90deg,var(--violet),var(--cyan));}
  .bubble{position:absolute;padding:9px 14px;border-radius:14px;font-size:12.5px;color:var(--ink);
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);animation:drift 5.5s ease-in-out infinite;}
  .bubble.b1{top:16%;left:-6%;}
  .bubble.b2{bottom:20%;right:-8%;animation-delay:1.6s;}
  @keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

  /* 07 numbers */
  .num-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);
    border-radius:var(--r);background:var(--glass);backdrop-filter:blur(10px);overflow:hidden;}
  .num-cell{padding:30px 20px;text-align:center;border-right:1px solid var(--line);}
  .num-cell:last-child{border-right:0;}
  .num-big{font-size:clamp(26px,3vw,36px);font-weight:800;
    background:linear-gradient(96deg,var(--violet),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent;}
  .num-cap{font-size:13px;color:var(--muted);margin-top:4px;}

  /* 08 reviews */
  .rev-rail{display:flex;gap:18px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory;}
  .rev-rail::-webkit-scrollbar{height:6px;}
  .rev-rail::-webkit-scrollbar-thumb{background:rgba(255,255,255,.14);border-radius:99px;}
  .rev-card{flex:0 0 66vw;max-width:620px;scroll-snap-align:start;padding:28px 30px;border-radius:var(--r);
    background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);}
  .rev-quote{font-size:40px;line-height:1;color:var(--violet);font-weight:800;}
  .rev-text{font-size:15px;color:var(--soft);margin:8px 0 16px;}
  .rev-user{font-size:13px;color:var(--muted);}

  /* 09 faq */
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .faq-item{border-radius:var(--r);background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);overflow:hidden;}
  .faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;
    padding:18px 20px;background:none;border:0;color:var(--ink);font-size:15px;font-weight:700;
    text-align:left;cursor:pointer;font-family:inherit;}
  .faq-q .plus{transition:transform .22s,color .22s;color:var(--soft);font-size:20px;line-height:1;}
  .faq-item.open .plus{transform:rotate(45deg);color:var(--cyan);}
  .faq-a{padding:0 20px 18px;font-size:13.5px;line-height:1.8;color:var(--soft);display:none;}
  .faq-item.open .faq-a{display:block;}

  /* 10 cta */
  .cta-wrap{padding:0 0 92px;}
  .cta{position:relative;overflow:hidden;border-radius:26px;padding:64px 40px;text-align:center;
    background:linear-gradient(116deg,rgba(108,92,231,.92),rgba(34,211,238,.82));}
  .cta .glow-sweep{position:absolute;width:340px;height:340px;border-radius:50%;filter:blur(90px);
    background:rgba(255,255,255,.42);top:-60px;left:-40px;animation:sweep 9s ease-in-out infinite;}
  @keyframes sweep{0%,100%{transform:translateX(0)}50%{transform:translateX(760px)}}
  .cta h2{position:relative;z-index:2;color:#0A0C18;font-size:clamp(26px,3.6vw,38px);font-weight:800;line-height:1.3;}
  .cta p{position:relative;z-index:2;color:rgba(10,12,24,.78);max-width:520px;margin:14px auto 26px;font-size:15px;}
  .cta .btn-main{background:#0A0C18;color:var(--ink);}
  .cta .btn-ghost{background:rgba(255,255,255,.32);border-color:rgba(255,255,255,.55);color:#0A0C18;}
  .cta-note{position:relative;z-index:2;margin-top:18px;font-size:12.5px;color:rgba(10,12,24,.7);}

  /* footer */
  footer.site-foot{border-top:1px solid var(--line);padding:34px 0 46px;color:var(--muted);font-size:13px;}
  .foot-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;}
  .foot-brand{display:flex;align-items:center;gap:9px;color:var(--soft);font-weight:700;}
  .foot-brand img{height:24px;border-radius:6px;}
  .foot-time{margin-top:12px;font-size:12px;color:var(--muted);}

  .reveal{transition:transform .55s ease,opacity .55s ease;}
  .reveal.pre{transform:translateY(18px);opacity:.001;}

  @media (max-width:1024px){
    .hero-grid{grid-template-columns:1fr;gap:36px;}
    .hero-visual{height:400px;}
    .play-grid{grid-template-columns:1fr;gap:36px;}
    .genre-grid{grid-template-columns:repeat(2,1fr);}
    .line-grid{grid-template-columns:1fr;}
    .faq-grid{grid-template-columns:1fr;}
    .rev-card{flex-basis:80vw;}
    .rank-row{grid-template-columns:42px 52px 1fr 110px;}
    .heat{display:none;}
  }
  @media (max-width:768px){
    section.block{padding:58px 0;}
    .head-nav{display:none;}
    .hero{padding-bottom:58px;}
    .fan-card{width:150px;}
    .fan-l{transform:translateX(-86px) rotate(-13deg);}
    .fan-r{transform:translateX(86px) rotate(13deg);}
    .fan:hover .fan-l{transform:translateX(-100px) rotate(-13deg);}
    .fan:hover .fan-r{transform:translateX(100px) rotate(13deg);}
    .float-card{right:auto;left:0;top:-14px;}
    .hero-visual{height:340px;}
    .num-band{grid-template-columns:repeat(2,1fr);}
    .num-cell:nth-child(2n){border-right:0;}
    .num-cell:nth-child(1),.num-cell:nth-child(2){border-bottom:1px solid var(--line);}
    .cta{padding:44px 22px;border-radius:20px;}
    .cta .glow-sweep{animation:none;left:auto;right:-80px;}
    .rev-card{flex-basis:86vw;padding:22px;}
    .stats{gap:24px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;}
  }