/* ════════════════════════════════════════
   PC 端样式 — 顺雅音乐播放器 全息首页
   仅 PC 加载 (≥ 768px)
   ════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;background:#05050a;color:#e0e0f0}
canvas#bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}
#app{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;display:flex;flex-direction:column;pointer-events:none}
#app *{pointer-events:auto}

.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px 36px;transition:background .4s,backdrop-filter .4s}
.nav-logo{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:rgba(255,255,255,.7);letter-spacing:.02em;pointer-events:auto}
.nav-logo svg{width:22px;height:22px;opacity:.6}
.nav-links{display:flex;gap:4px}
.nav-links a{font-size:12px;font-weight:600;color:rgba(255,255,255,.3);text-decoration:none;padding:7px 16px;border-radius:8px;transition:all .3s;letter-spacing:.06em}
.nav-links a:hover,.nav-links a.active{color:rgba(255,255,255,.85);background:rgba(120,160,255,.08)}
.nav-toggle{display:none;background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;padding:8px}
.nav-toggle svg{width:22px;height:22px}

.scroll-container{flex:1;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
.scroll-container::-webkit-scrollbar{display:none}

.section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 40px;position:relative}
.section-inner{max-width:900px;width:100%;text-align:center}

.tag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(120,160,255,.6);margin-bottom:18px;padding:6px 16px;border-radius:20px;border:1px solid rgba(120,160,255,.15);background:rgba(120,160,255,.04)}
h1{font-size:52px;font-weight:800;letter-spacing:-.035em;line-height:1.12;margin-bottom:18px;background:linear-gradient(135deg,rgba(180,200,255,.95),rgba(120,160,255,.7),rgba(180,140,255,.6));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
h2{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px;color:rgba(220,225,255,.9)}
.subtitle{font-size:15px;color:rgba(255,255,255,.32);line-height:1.75;max-width:540px;margin:0 auto 36px}
.actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .3s;border:none;font-family:inherit}
.btn svg{width:16px;height:16px}
.btn-primary{background:rgba(120,160,255,.12);color:rgba(160,190,255,.9);border:1px solid rgba(120,160,255,.2)}
.btn-primary:hover{background:rgba(120,160,255,.22);border-color:rgba(120,160,255,.35);transform:translateY(-1px);box-shadow:0 8px 32px rgba(120,160,255,.15)}
.btn-ghost{background:rgba(255,255,255,.04);color:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.08)}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.7)}

.stats-row{display:flex;gap:18px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.stat{padding:18px 32px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(12px);min-width:130px}
.stat-num{font-size:30px;font-weight:800;background:linear-gradient(135deg,rgba(120,160,255,.8),rgba(180,140,255,.6));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-label{font-size:10px;font-weight:600;color:rgba(255,255,255,.25);letter-spacing:.12em;margin-top:4px}

.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:32px;text-align:left}
.feat{padding:22px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(12px);transition:all .35s cubic-bezier(.4,0,.2,1);min-width:0;overflow:hidden}
.feat:hover{background:rgba(120,160,255,.04);border-color:rgba(120,160,255,.18);transform:translateY(-3px);box-shadow:0 12px 40px rgba(120,160,255,.06)}
.feat-icon{width:36px;height:36px;border-radius:10px;background:rgba(120,160,255,.08);display:flex;align-items:center;justify-content:center;margin-bottom:14px;flex-shrink:0}
.feat-icon svg{width:18px;height:18px;color:rgba(120,160,255,.6)}
.feat h3{font-size:13px;font-weight:700;color:rgba(220,225,255,.85);margin-bottom:6px}
.feat p{font-size:12px;color:rgba(255,255,255,.28);line-height:1.65;overflow-wrap:break-word;word-break:break-word}

.code-block{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:22px 26px;margin:28px auto;max-width:600px;text-align:left;font-family:"SF Mono","Fira Code","Consolas",monospace;font-size:13px;line-height:1.85;color:rgba(255,255,255,.45);overflow-x:auto;position:relative}
.code-block .tag-name{color:rgba(120,160,255,.7)}
.code-block .attr-name{color:rgba(180,140,255,.6)}
.code-block .attr-val{color:rgba(140,220,160,.6)}
.code-block .cm{color:rgba(255,255,255,.18)}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px;text-align:left}
.col-card{padding:22px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);backdrop-filter:blur(12px)}
.col-card h3{font-size:14px;font-weight:700;color:rgba(220,225,255,.85);margin-bottom:8px}
.col-card p{font-size:12px;color:rgba(255,255,255,.28);line-height:1.65}

.footer{padding:48px 24px;text-align:center;font-size:11px;color:rgba(255,255,255,.12);letter-spacing:.06em}

.reveal{opacity:0;transform:translateY(36px);transition:opacity .9s cubic-bezier(.4,0,.2,1),transform .9s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.reveal-d4{transition-delay:.4s}.reveal-d5{transition-delay:.5s}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-badge{animation:float 4s ease-in-out infinite}