:root{
  --bg:#0b0b0d;
  --bg2:#111114;
  --line:rgba(255,255,255,.08);
  --txt:#efeee9;
  --dim:#9a978f;
  --gold:#e3b56b;
  --gold-soft:rgba(227,181,107,.14);
  --player-h:88px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(1200px 600px at 20% -10%, #1a1712 0%, transparent 60%),
    radial-gradient(900px 500px at 90% 0%, #131318 0%, transparent 55%),
    var(--bg);
  color:var(--txt);
  font:16px/1.7 -apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;
  padding-bottom:calc(var(--player-h) + 16px);
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:"Songti SC","Noto Serif SC",Georgia,serif;font-weight:600;letter-spacing:.02em}

.top{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(18px,4vw,56px);
  backdrop-filter:blur(12px);
  background:linear-gradient(to bottom,rgba(11,11,13,.86),rgba(11,11,13,.4));
  border-bottom:1px solid var(--line);
}
.brand{display:flex;align-items:center;gap:12px}
.mark{
  display:grid;place-items:center;width:38px;height:38px;border-radius:12px;
  background:linear-gradient(145deg,#2a2318,#17140f);
  border:1px solid rgba(227,181,107,.35);
  color:var(--gold);font-family:"Songti SC",serif;font-size:20px;
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-text b{font-family:"Songti SC",serif;font-size:19px;letter-spacing:.16em}
.brand-text i{font-style:normal;font-size:11px;color:var(--dim);letter-spacing:.18em}
nav{display:flex;gap:22px;font-size:14px;color:var(--dim)}
nav a:hover{color:var(--txt)}

.hero{padding:clamp(48px,9vw,110px) clamp(18px,4vw,56px) 24px;max-width:1100px;margin:0 auto;position:relative}
.kicker{color:var(--gold);font-size:12px;letter-spacing:.28em;margin:0 0 18px}
.hero h1{
  font-size:clamp(38px,7vw,76px);line-height:1.12;margin:0 0 20px;
  background:linear-gradient(180deg,#fffdf7 10%,#c9c2b2 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lede{color:var(--dim);font-size:clamp(15px,1.6vw,18px);max-width:34em;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  padding:12px 24px;border-radius:999px;font-size:14px;letter-spacing:.06em;
  border:1px solid var(--line);transition:.25s;
}
.btn.solid{background:var(--gold);color:#15120c;border-color:transparent;font-weight:600}
.btn.solid:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.ghost:hover{border-color:rgba(227,181,107,.5);color:var(--gold)}
.spectrum{
  display:flex;gap:5px;align-items:flex-end;height:46px;margin-top:52px;opacity:.55;
}
.spectrum span{
  width:4px;border-radius:3px;background:linear-gradient(to top,rgba(227,181,107,.15),var(--gold));
  animation:eq 2.4s ease-in-out infinite;
}
.spectrum span:nth-child(1){height:22%;animation-delay:-.1s}
.spectrum span:nth-child(2){height:48%;animation-delay:-.4s}
.spectrum span:nth-child(3){height:34%;animation-delay:-.9s}
.spectrum span:nth-child(4){height:68%;animation-delay:-.2s}
.spectrum span:nth-child(5){height:52%;animation-delay:-1.1s}
.spectrum span:nth-child(6){height:88%;animation-delay:-.6s}
.spectrum span:nth-child(7){height:40%;animation-delay:-1.4s}
.spectrum span:nth-child(8){height:62%;animation-delay:-.3s}
.spectrum span:nth-child(9){height:30%;animation-delay:-1s}
.spectrum span:nth-child(10){height:74%;animation-delay:-.7s}
.spectrum span:nth-child(11){height:44%;animation-delay:-1.3s}
.spectrum span:nth-child(12){height:26%;animation-delay:-.5s}
@keyframes eq{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}

.works{padding:60px clamp(18px,4vw,56px) 20px;max-width:1240px;margin:0 auto}
.works-head{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.works-head h2{font-size:26px;margin:0}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  padding:7px 15px;border-radius:999px;border:1px solid var(--line);
  font-size:13px;color:var(--dim);transition:.2s;
}
.chip:hover{color:var(--txt);border-color:rgba(255,255,255,.2)}
.chip.on{background:var(--gold-soft);border-color:rgba(227,181,107,.45);color:var(--gold)}

.grid{
  display:grid;gap:clamp(14px,2vw,24px);
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
}
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid var(--line);border-radius:16px;overflow:hidden;
  transition:.28s;position:relative;
}
.card:hover{transform:translateY(-4px);border-color:rgba(227,181,107,.32);box-shadow:0 18px 40px -22px rgba(0,0,0,.9)}
.card.playing{border-color:rgba(227,181,107,.55);box-shadow:0 0 0 1px rgba(227,181,107,.2) inset}
.cover{position:relative;aspect-ratio:1;overflow:hidden;background:#17171a;cursor:pointer}
.cover img{width:100%;height:100%;object-fit:cover;display:block;transition:.5s}
.card:hover .cover img{transform:scale(1.045)}
.cover .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.45),transparent 55%)}
.cover .play{
  position:absolute;right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;
  background:rgba(11,11,13,.62);border:1px solid rgba(255,255,255,.22);
  display:grid;place-items:center;font-size:14px;backdrop-filter:blur(6px);
  opacity:0;transform:translateY(8px);transition:.25s;
}
.card:hover .cover .play,.card.playing .cover .play{opacity:1;transform:none}
.meta{padding:14px 16px 16px}
.meta h3{margin:0 0 6px;font-size:17px;letter-spacing:.04em}
.meta .row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tagline{color:var(--dim);font-size:12px;letter-spacing:.06em}
.time{color:var(--dim);font-size:12px;font-variant-numeric:tabular-nums}
.note{margin-top:8px;font-size:11px;color:rgba(227,181,107,.72);letter-spacing:.04em}
.empty{color:var(--dim);padding:40px 0}

.about{padding:80px clamp(18px,4vw,56px) 40px;max-width:1100px;margin:0 auto;border-top:1px solid var(--line)}
.about h2{font-size:26px;margin:0 0 28px}
.about-grid{display:grid;gap:clamp(24px,4vw,56px);grid-template-columns:1fr 1fr}
.about h3{font-size:15px;letter-spacing:.12em;color:var(--gold);margin:0 0 12px;font-family:inherit}
.about p{color:#bdbab2;font-size:14.5px;margin:0 0 14px}
.about ul{padding-left:18px;color:#bdbab2;font-size:14.5px;margin:0 0 14px}
.about li{margin-bottom:6px}
.small{font-size:12.5px;color:var(--dim)}

.foot{padding:40px clamp(18px,4vw,56px) 36px;border-top:1px solid var(--line);color:var(--dim);font-size:13px}
.foot p{margin:0 0 6px}
.foot a{color:var(--gold)}

.player{
  position:fixed;left:0;right:0;bottom:0;z-index:40;height:var(--player-h);
  display:flex;align-items:center;gap:18px;padding:0 clamp(12px,3vw,28px);
  background:rgba(14,14,16,.92);backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.player.on{transform:none}
.p-left{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 260px}
.p-left img{width:56px;height:56px;border-radius:8px;object-fit:cover;background:#222}
.p-meta{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.p-meta b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-meta span{font-size:11.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.p-center{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.p-controls{display:flex;align-items:center;justify-content:center;gap:18px}
.p-controls button{color:var(--dim);font-size:14px;transition:.2s}
.p-controls button:hover{color:var(--txt)}
.p-controls .main{
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--gold);color:#15120c;font-size:13px;
}
.p-bar{display:flex;align-items:center;gap:10px}
.p-bar span{font-size:11px;color:var(--dim);font-variant-numeric:tabular-nums;width:34px;text-align:center}
.track{flex:1;height:4px;border-radius:3px;background:rgba(255,255,255,.12);cursor:pointer;position:relative}
.track:hover .fill{background:#f0c987}
.fill{height:100%;width:0;border-radius:3px;background:var(--gold);transition:width .12s linear}
.p-right{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.p-right button{color:var(--dim);font-size:13px;border:1px solid var(--line);border-radius:8px;padding:5px 9px}
.p-right button:hover{color:var(--gold);border-color:rgba(227,181,107,.4)}
.p-right input[type=range]{width:80px;accent-color:var(--gold)}

.lyrics{
  position:fixed;z-index:50;top:0;right:0;bottom:0;width:min(460px,100%);
  background:rgba(12,12,14,.97);backdrop-filter:blur(20px);
  border-left:1px solid var(--line);
  transform:translateX(102%);transition:transform .35s cubic-bezier(.2,.8,.2,1);
  display:flex;flex-direction:column;
}
.lyrics.on{transform:none}
.lyrics-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
.lyrics-head b{display:block;font-family:"Songti SC",serif;font-size:19px}
.lyrics-head span{font-size:12px;color:var(--dim)}
.lyrics-head button{color:var(--dim);font-size:16px}
.lyrics pre{
  flex:1;overflow:auto;margin:0;padding:24px;white-space:pre-wrap;
  font:15px/2.1 "Songti SC","Noto Serif SC",Georgia,serif;color:#d8d4ca;
}

@media (max-width:720px){
  :root{--player-h:76px}
  .about-grid{grid-template-columns:1fr}
  .p-left{flex:0 0 auto}
  .p-meta{display:none}
  .p-right input[type=range]{display:none}
  .hero{padding-top:44px}
  .spectrum{margin-top:34px}
}

.studio{padding:80px clamp(18px,4vw,56px) 20px;max-width:1100px;margin:0 auto;border-top:1px solid var(--line)}
.studio-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:26px}
.studio-head h2{font-size:26px;margin:0 0 8px}
.studio-sub{color:var(--dim);font-size:14px;margin:0;max-width:36em}
.pulse{width:9px;height:9px;border-radius:50%;background:#4a4a4a;display:inline-block;margin-top:10px;flex:0 0 auto}
.pulse.on{background:#57c98a;box-shadow:0 0 0 0 rgba(87,201,138,.55);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(87,201,138,.5)}70%{box-shadow:0 0 0 9px rgba(87,201,138,0)}100%{box-shadow:0 0 0 0 rgba(87,201,138,0)}}
.studio-form{display:grid;gap:16px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:16px;padding:clamp(16px,2.4vw,26px)}
.field{display:flex;flex-direction:column;gap:7px}
.field label{font-size:12.5px;color:var(--dim);letter-spacing:.04em}
.field .hint{color:#6f6d67;font-size:11.5px;margin-left:6px}
.field input[type=text],.field input:not([type]),.field textarea,.field input[type=range]{width:100%}
.field input:not([type]),.field textarea{
  background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:10px;
  color:var(--txt);padding:11px 13px;font:inherit;font-size:14px;outline:none;transition:.2s;
}
.field input:focus,.field textarea:focus{border-color:rgba(227,181,107,.5);background:rgba(0,0,0,.5)}
.field textarea{resize:vertical;line-height:1.9;font-family:"Songti SC",serif}
.field input[type=range]{accent-color:var(--gold);padding:6px 0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.studio-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.studio-actions .small{margin:0}
.result{margin-top:22px;border:1px solid rgba(227,181,107,.28);background:var(--gold-soft);border-radius:16px;padding:18px 20px}
.result-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.result-head b{font-family:"Songti SC",serif;font-size:17px}
.result-head span{color:var(--dim);font-size:12px}
.result audio{width:100%}
@media (max-width:720px){.row2{grid-template-columns:1fr}}
