/* feelin 官方下载站 · 深夜电台独立骨架（第2组第5站） */

:root{
  --bg:#08081A;
  --bg2:#0F0D26;
  --panel:#14122E;
  --panel-2:#100E24;
  --line:#2C2750;
  --paper:#F2EFFA;
  --muted:#9C94BE;
  --brand:#A66FC2;
  --brand-d:#8B54A8;
  --brand-t:#211A3D;
  --alt:#3AE0C8;
  --alt-d:#2BBFA9;
  --ink:#05050F;
  --ink-t:#F6F4FC;
  --txt-d:#231E38;
  --mut-d:#6A6486;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--paper);font:16px/1.75 "Microsoft YaHei","PingFang SC",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,p{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[id]{scroll-margin-top:84px}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border:2px solid transparent;font-size:15px;font-weight:700;line-height:1;cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s}
.btn-lg{height:54px;padding:0 30px;font-size:16.5px}
.btn-pri{background:var(--brand);color:#160A24;border-color:var(--brand)}
.btn-pri:hover{background:var(--brand-d);border-color:var(--brand-d);color:#fff;transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--paper);border-color:var(--paper)}
.btn-line:hover{background:var(--paper);color:var(--ink);transform:translateY(-2px)}

/* ---------- 顶栏 ---------- */
.fbar{position:sticky;top:0;z-index:60;background:#0B0A20;border-bottom:2px solid var(--line)}
.fbar-in{display:flex;align-items:center;gap:26px;height:72px}
.flogo{display:flex;align-items:center;gap:10px;flex:none}
.flogo img{border:2px solid var(--brand)}
.flogo-t strong{display:block;font-size:19px;line-height:1.2;color:#fff}
.flogo-t small{display:block;font-size:11.5px;color:var(--muted);letter-spacing:.04em}
.fnav{display:flex;align-items:center;gap:20px;margin-left:6px}
.fnav a{padding:6px 2px;font-size:15px;color:var(--paper);border-bottom:3px solid transparent}
.fnav a:hover{color:var(--alt)}
.fnav a.on{color:var(--alt);border-bottom-color:var(--alt)}
.fbar-r{display:flex;align-items:center;gap:12px;margin-left:auto;flex:none}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--paper)}

/* ---------- 区块头 ---------- */
.kick{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.kick i{font-style:normal;background:var(--brand);color:#160A24;padding:3px 8px;font-size:12px;letter-spacing:0}
.sec-h{margin-bottom:30px}
.sec-h h2{margin:14px 0 10px;font-size:30px;line-height:1.32;color:#fff}
.sec-h .sec-sub{max-width:760px;font-size:14.5px;color:var(--muted)}
.sec-h-dark .kick i{background:var(--alt);color:#06231D}
.dot{width:8px;height:8px;background:var(--alt);flex:none}

/* ---------- 英雄区：深夜电台唱机 ---------- */
.fhe{padding:54px 0 66px}
.fhe-in{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}
.fhe-l h1{margin:16px 0;font-size:64px;line-height:1.04;letter-spacing:-.01em;color:#fff}
.fhe-lead,.lead{font-size:15.5px;line-height:1.95;color:#BDB6D8}
.fhe-acts{display:flex;flex-wrap:wrap;gap:14px;margin:26px 0 22px}
.fhe-tags{display:flex;flex-wrap:wrap;gap:9px}
.fhe-tags li{padding:5px 13px;border:1px solid var(--line);font-size:13.5px;color:#BDB6D8}
.fhe-tags li:nth-child(2n){border-color:var(--brand);color:var(--brand)}
.fhe-tags li:nth-child(3n){border-color:var(--alt);color:var(--alt)}
.fhe-note{display:flex;align-items:center;gap:9px;margin-top:20px;font-size:13px;color:var(--muted)}

/* 唱机 */
.fhe-r{display:flex;justify-content:center}
.deck{position:relative;width:100%;max-width:470px;background:var(--panel);border:3px solid var(--brand);box-shadow:14px 14px 0 var(--brand);padding:16px 18px 20px}
.deck-top{display:flex;align-items:center;gap:9px;padding-bottom:14px;border-bottom:2px solid var(--line);font-size:12.5px}
.deck-top b{color:#fff;letter-spacing:.08em}
.deck-top span{margin-left:auto;color:var(--alt);font-weight:700;letter-spacing:.14em}
.deck-stage{position:relative;display:flex;justify-content:center;padding:26px 0 20px}
.deck-disc{position:relative;width:min(78%,320px);aspect-ratio:1/1;background:var(--ink);border:2px solid var(--line)}
.ring{position:absolute;border:2px solid}
.ring.r1{inset:12%;border-color:var(--brand)}
.ring.r2{inset:24%;border-color:var(--alt)}
.ring.r3{inset:36%;border-color:var(--line)}
.deck-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0}
.deck-label img{width:150px;max-width:150px;height:auto;border:2px solid var(--brand)}
.deck-arm{position:absolute;top:4%;right:7%;width:12px;height:56%;background:var(--brand);transform:rotate(16deg);transform-origin:top center}
.deck-arm i{position:absolute;left:-8px;bottom:-12px;width:28px;height:28px;background:var(--alt);border:2px solid var(--ink)}
.deck-eq{display:flex;align-items:flex-end;gap:6px;height:44px;padding-top:14px;border-top:2px solid var(--line)}
.deck-eq i{flex:1;background:var(--brand);transform-origin:bottom;animation:eq 1.15s ease-in-out infinite alternate}
.deck-eq i:nth-child(2n){background:var(--alt)}
.deck-eq i:nth-child(1){height:30%;animation-delay:0s}
.deck-eq i:nth-child(2){height:62%;animation-delay:.12s}
.deck-eq i:nth-child(3){height:44%;animation-delay:.24s}
.deck-eq i:nth-child(4){height:82%;animation-delay:.36s}
.deck-eq i:nth-child(5){height:56%;animation-delay:.48s}
.deck-eq i:nth-child(6){height:92%;animation-delay:.6s}
.deck-eq i:nth-child(7){height:48%;animation-delay:.72s}
.deck-eq i:nth-child(8){height:70%;animation-delay:.84s}
.deck-eq i:nth-child(9){height:38%;animation-delay:.96s}
.deck-eq i:nth-child(10){height:78%;animation-delay:1.08s}
.deck-eq i:nth-child(11){height:52%;animation-delay:1.2s}
.deck-eq i:nth-child(12){height:88%;animation-delay:1.32s}
.deck-eq i:nth-child(13){height:42%;animation-delay:1.44s}
.deck-eq i:nth-child(14){height:64%;animation-delay:1.56s}
@keyframes eq{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
.deck-tag{position:absolute;background:var(--ink);border:2px solid var(--alt);padding:8px 12px;font-size:12px;line-height:1.5}
.deck-tag b{display:block;color:var(--alt);font-size:13px}
.deck-tag span{color:var(--muted)}
.tag-a{left:-16px;bottom:64px}
.tag-b{right:-16px;top:84px;border-color:var(--brand)}
.tag-b b{color:var(--brand)}

/* ---------- 夜话留声：1大+4小+1宽 bento ---------- */
.fvo{padding:64px 0}
.fvo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;background:var(--panel-2);border:2px solid var(--alt);box-shadow:-14px 12px 0 var(--alt);padding:22px}
.fv{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);padding:18px 20px 14px}
.fv-lead{grid-column:1;grid-row:1/4;border:2px solid var(--brand);padding:26px 26px 18px}
.fv-badge{align-self:flex-start;margin-bottom:12px;background:var(--brand);color:#160A24;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.1em}
.fv-p{flex:1;font-size:14px;line-height:1.95;color:#C9C3E2}
.fv-lead .fv-p{font-size:15.5px}
.fv footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}
.fv footer b{font-size:14px;color:#fff}
.fv footer time{font-size:12px;color:var(--muted);white-space:nowrap}
.fv-wide{grid-column:2/4;border-left:6px solid var(--alt)}

/* ---------- 数据条 ---------- */
.fba{padding:0 0 64px}
.fba-in{display:grid;grid-template-columns:repeat(4,1fr)}
.fb{padding:26px 18px;text-align:center}
.fb:nth-child(odd){background:var(--brand);color:#160A24}
.fb:nth-child(even){background:var(--panel);color:#fff}
.fb+.fb{border-left:2px solid var(--bg)}
.fb b{display:block;font-size:34px;font-weight:800;line-height:1}
.fb span{display:block;margin-top:9px;font-size:13.5px;opacity:.92}

/* ---------- 功能特色：通栏列表行（白模块） ---------- */
.ffe{padding:64px 0}
.ffe-list{background:#fff;color:var(--txt-d);box-shadow:12px -12px 0 var(--brand);padding:8px 30px}
.ff{display:flex;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #E7E3F2}
.ff:last-child{border-bottom:0}
.ff-no{flex:none;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;background:var(--brand);color:#fff;font-size:17px;font-weight:800}
.ff:nth-child(2n) .ff-no{background:var(--alt);color:#06231D}
.ff-m{flex:1}
.ff h3{font-size:18px;margin-bottom:6px;color:var(--ink)}
.ff p{font-size:14px;line-height:1.9;color:var(--mut-d)}
.ff-side{flex:none;font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--brand)}
.ff:nth-child(2n) .ff-side{color:var(--alt-d)}

/* ---------- 界面陈列：碟架错落 ---------- */
.fga{padding:64px 0}
.fg-shelf{display:flex;align-items:flex-start;gap:18px;background:var(--panel-2);border:2px solid var(--line);box-shadow:-12px -14px 0 var(--alt);padding:26px 24px 20px}
.fg-f{flex:1 1 0;margin:0;background:var(--panel);border:1px solid var(--line);padding:8px 8px 0}
.fg-f img{width:100%;max-width:240px;margin:0 auto;height:auto}
.fg-f figcaption{display:flex;align-items:center;gap:8px;margin:8px -8px 0;padding:8px 10px;background:var(--ink);font-size:12.5px;color:var(--muted)}
.fg-f figcaption b{color:var(--alt);letter-spacing:.06em}
.fg-2{margin-top:26px}
.fg-3{margin-top:8px}
.fg-4{margin-top:34px}
.fg-5{margin-top:16px}
.fg-2 figcaption b,.fg-4 figcaption b{color:var(--brand)}

/* ---------- 调频指南：三步 ---------- */
.ffl{padding:64px 0}
.ffl-steps{display:flex;align-items:stretch;gap:0;background:var(--panel-2);border:2px solid var(--line);box-shadow:-16px 8px 0 var(--brand);padding:28px 26px}
.fs{flex:1 1 0;background:#fff;color:var(--txt-d);padding:24px 22px 20px;border-top:6px solid var(--brand)}
.fs:nth-child(3){border-top-color:var(--alt)}
.fs:nth-child(5){border-top-color:var(--brand)}
.fs-no{display:inline-block;margin-bottom:12px;background:var(--ink);color:var(--alt);padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.14em}
.fs h3{font-size:18px;margin-bottom:8px;color:var(--ink)}
.fs p{font-size:14px;line-height:1.9;color:var(--mut-d)}
.fs-link{flex:none;align-self:center;width:34px;height:2px;background:var(--alt)}

/* ---------- 深夜答疑：2×3 details + 通栏 ---------- */
.fas{padding:64px 0}
.fas-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:var(--panel-2);border:2px solid var(--brand);box-shadow:0 14px 0 var(--brand);padding:22px}
.fq{background:#fff;color:var(--txt-d);border:1px solid #E7E3F2}
.fq summary{display:flex;align-items:center;gap:12px;padding:16px 16px;cursor:pointer;list-style:none}
.fq summary::-webkit-details-marker{display:none}
.fq-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--brand);color:#fff;font-size:13px;font-weight:800}
.fq:nth-child(2n) .fq-n{background:var(--alt);color:#06231D}
.fq-t{flex:1;font-size:15.5px;font-weight:700;color:var(--ink)}
.fq-x{position:relative;flex:none;width:16px;height:16px}
.fq-x::before,.fq-x::after{content:"";position:absolute;background:var(--ink)}
.fq-x::before{left:0;top:7px;width:16px;height:2px}
.fq-x::after{left:7px;top:0;width:2px;height:16px;transition:transform .18s}
.fq[open] .fq-x::after{transform:scaleY(0)}
.fq[open]{border-color:var(--brand)}
.fq-a{padding:0 16px 16px 66px}
.fq-a p{font-size:14px;line-height:1.9;color:var(--mut-d)}
.fq-wide{grid-column:1/3;border-left:6px solid var(--alt)}
.fq-wide .fq-n{background:var(--ink);color:var(--alt)}

/* ---------- 下载 CTA：深夜电波 ---------- */
.fct{padding:0 0 76px}
.fct-box{background:var(--ink);border:3px solid var(--alt);box-shadow:10px -16px 0 var(--alt);padding:48px 40px;text-align:center}
.fct-eq{display:flex;align-items:flex-end;justify-content:center;gap:5px;height:38px;margin-bottom:22px}
.fct-eq i{width:10px;background:var(--brand);transform-origin:bottom;animation:eq 1.3s ease-in-out infinite alternate}
.fct-eq i:nth-child(2n){background:var(--alt)}
.fct-eq i:nth-child(3n){height:46%}
.fct-eq i:nth-child(3n+1){height:88%}
.fct-eq i:nth-child(3n+2){height:64%}
.fct-eq i:nth-child(2){animation-delay:.2s}
.fct-eq i:nth-child(3){animation-delay:.45s}
.fct-eq i:nth-child(4){animation-delay:.1s}
.fct-eq i:nth-child(5){animation-delay:.65s}
.fct-eq i:nth-child(6){animation-delay:.3s}
.fct-eq i:nth-child(7){animation-delay:.8s}
.fct-eq i:nth-child(8){animation-delay:.15s}
.fct-eq i:nth-child(9){animation-delay:.55s}
.fct-eq i:nth-child(10){animation-delay:.95s}
.fct-eq i:nth-child(11){animation-delay:.25s}
.fct-eq i:nth-child(12){animation-delay:.7s}
.fct-eq i:nth-child(13){animation-delay:.4s}
.fct-eq i:nth-child(14){animation-delay:1.05s}
.fct-eq i:nth-child(15){animation-delay:.05s}
.fct-eq i:nth-child(16){animation-delay:.85s}
.fct-eq i:nth-child(17){animation-delay:.5s}
.fct-eq i:nth-child(18){animation-delay:1.15s}
.fct-box h2{font-size:34px;line-height:1.35;color:#fff}
.fct-p{max-width:620px;margin:18px auto 0;font-size:15px;line-height:1.95;color:#BDB6D8}
.fct-box .btn{margin-top:28px}
.fct-note{margin-top:16px;font-size:13px;color:var(--muted)}

/* ---------- 页脚 ---------- */
.fbtm{background:#0D0918;border-top:3px solid var(--alt);padding:36px 0 30px}
.fbtm-in{text-align:center}
.fbtm-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;color:#fff}
.fbtm-brand img{border:2px solid var(--alt)}
.fbtm-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin-bottom:18px}
.fbtm-nav a{font-size:13.5px;color:var(--muted);border-bottom:2px solid transparent}
.fbtm-nav a:hover{color:var(--alt);border-bottom-color:var(--alt)}
.fbtm-icp{margin-bottom:6px;font-size:12.5px;color:#6A6486}
.fbtm-c{font-size:12.5px;color:#6A6486}

/* ---------- 返回顶部 ---------- */
.backtop{position:fixed;right:20px;bottom:160px;z-index:59;display:none;width:46px;height:46px;background:var(--brand);color:#160A24;border:2px solid var(--brand);font-size:20px;font-weight:800;line-height:1;cursor:pointer;align-items:center;justify-content:center}
.backtop.show{display:inline-flex}
.backtop:hover{background:var(--brand-d);color:#fff}

/* ---------- 入场 ---------- */
.rv{opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s}
.rv.in{opacity:1;transform:none}

/* ---------- 响应式 ---------- */
@media (max-width:980px){
  .fhe-in{grid-template-columns:1fr;gap:44px}
  .fhe-l h1{font-size:48px}
  .deck{max-width:430px;margin:0 auto}
  .fvo-grid{grid-template-columns:1fr 1fr}
  .fv-lead{grid-column:1/3;grid-row:auto}
  .fv-wide{grid-column:1/3}
  .ffl-steps{flex-direction:column;gap:22px}
  .fs-link{width:2px;height:24px;margin:0 auto}
  .fct-box h2{font-size:28px}
}

@media (max-width:760px){
  body{font-size:15.5px}
  .wrap{padding:0 16px}
  [id]{scroll-margin-top:72px}
  .fbar-in{height:64px;gap:12px}
  .flogo-t small{display:none}
  .fnav{position:fixed;left:0;right:0;top:64px;z-index:59;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:6px 16px 16px;background:#0B0A20;border-bottom:2px solid var(--brand)}
  .fnav.open{display:flex}
  .fnav a{padding:12px 2px;border-bottom:1px solid var(--line)}
  .fbar-cta{display:none}
  .burger{display:inline-flex}

  .fhe{padding:32px 0 50px}
  .fhe-l h1{font-size:40px}
  .btn-lg{height:48px;padding:0 22px;font-size:15.5px}
  .deck{box-shadow:9px 9px 0 var(--brand);padding:12px 12px 16px}
  .deck-label img{width:120px;max-width:120px}
  .tag-a{left:-6px;bottom:52px}
  .tag-b{right:-6px;top:64px}

  .sec-h{margin-bottom:24px}
  .sec-h h2{font-size:24px}

  .fvo,.ffe,.fga,.ffl,.fas{padding:48px 0}
  .fvo-grid{grid-template-columns:1fr;box-shadow:-10px 8px 0 var(--alt);padding:16px}
  .fv-lead,.fv-wide{grid-column:auto}

  .fba{padding-bottom:48px}
  .fba-in{grid-template-columns:1fr 1fr}
  .fb+.fb{border-left:0}
  .fb:nth-child(2n){border-left:2px solid var(--bg)}
  .fb:nth-child(n+3){border-top:2px solid var(--bg)}
  .fb b{font-size:28px}

  .ffe-list{box-shadow:8px -8px 0 var(--brand);padding:4px 18px}
  .ff{gap:14px;padding:18px 0}
  .ff-no{width:42px;height:42px;font-size:15px}
  .ff-side{display:none}

  .fg-shelf{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;box-shadow:-8px -10px 0 var(--alt);padding:18px 16px 14px}
  .fg-f{flex:0 0 62%;scroll-snap-align:center}
  .fg-2,.fg-3,.fg-4,.fg-5{margin-top:0}

  .ffl-steps{box-shadow:-10px 6px 0 var(--brand);padding:18px 16px}

  .fas-grid{grid-template-columns:1fr;box-shadow:0 10px 0 var(--brand);padding:16px}
  .fq-wide{grid-column:auto}
  .fq-a{padding-left:16px}

  .fct{padding-bottom:52px}
  .fct-box{padding:32px 18px;box-shadow:8px -10px 0 var(--alt)}

  .backtop{right:16px;bottom:150px;width:42px;height:42px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .btn,.fq-x::after{transition:none}
  .deck-eq i,.fct-eq i{animation:none}
}
