.crumbs{margin:26px 0 22px}

.tr{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:start}
.art{width:300px;aspect-ratio:1;border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(16,16,20,.18)}
.kicker{color:var(--blue);margin-bottom:16px}
.tr h1{font-family:"Unbounded",sans-serif;font-weight:800;font-size:clamp(30px,4.6vw,54px);line-height:1;letter-spacing:-.03em}
.by{margin-top:14px;font-size:18px;color:var(--ink-60)}
.by a{color:var(--ink);font-weight:600;border-bottom:2px solid var(--lime)}
.cta{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}
.btn-line{border:1px solid var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--paper)}
.icon-btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-60)}
.icon-btn:hover{border-color:var(--ink);color:var(--ink)}
.icon-btn.liked{background:var(--blue);border-color:var(--blue);color:#fff}

.spec{margin-top:34px;border-top:1px solid var(--line)}
.spec div{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line)}
.spec dt{color:var(--ink-60)}
.spec dd{font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:600}

.wf-box{margin-top:52px;background:var(--ink);border-radius:var(--radius);padding:26px 28px;color:var(--paper-2)}
.wf-top{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.wf-title{font-weight:600}
.wf-sub{margin-top:4px;opacity:.6}
.big-play{width:54px;height:54px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:17px;flex-shrink:0;transition:transform .15s}
.big-play:hover{transform:scale(1.06)}
.wf{display:flex;align-items:center;gap:2px;height:88px;cursor:pointer}
.wf i{flex:1;background:rgba(255,255,255,.2);border-radius:1px;transition:background .12s}
.wf i.on{background:var(--lime)}
.wf-foot{display:flex;justify-content:space-between;margin-top:14px;font-family:"JetBrains Mono",monospace;font-size:12px;opacity:.65}

.cols{display:grid;grid-template-columns:1fr 320px;gap:56px;margin-top:64px}
.sec-head h2{font-size:20px}
.lyrics{font-size:16px;line-height:1.85;color:#26262e;white-space:pre-line;max-height:230px;overflow:hidden;position:relative;transition:max-height .4s ease}
.lyrics.open{max-height:1200px}
.lyrics:not(.open):after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,var(--paper))}
.more{margin-top:16px;color:var(--blue);font-weight:600;font-size:14px;display:inline-flex;gap:8px;align-items:center}

.rel{margin-top:60px}
.rel .row{grid-template-columns:52px 1fr auto auto}
.cover{width:52px;height:52px;border-radius:6px;overflow:hidden;position:relative}
.cover .play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(16,16,20,.55);color:#fff;opacity:0;font-size:13px}
.row:hover .play{opacity:1}
.t-title{font-weight:600;font-size:15px}
.t-title:hover{color:var(--blue)}
.t-artist{font-size:13px;color:var(--ink-60);margin-top:2px}
.dl{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:var(--ink-60)}
.dl:hover{background:var(--ink);color:var(--paper)}

aside h3{font-family:"Unbounded",sans-serif;font-size:15px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.chart{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);padding:6px 8px}
.chart a{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:8px}
.chart a:hover{background:var(--paper)}
.chart .r{font-family:"Unbounded",sans-serif;font-weight:800;font-size:18px;color:var(--line);width:26px}
.chart a:hover .r{color:var(--blue)}
.chart .n{font-size:14px;font-weight:500;line-height:1.25}
.chart .a{font-size:12px;color:var(--ink-60)}
.note{margin-top:26px;background:var(--lime);border-radius:var(--radius);padding:20px}
.note p{font-size:13px;line-height:1.5;margin-top:8px;color:var(--ink)}
.share{display:flex;gap:8px;margin-top:26px}
.share a{flex:1;height:44px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--ink-60)}
.share a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}

@media (max-width:900px){
  .tr{grid-template-columns:1fr;gap:28px}
  .art{width:min(300px,70%)}
  .cols{grid-template-columns:1fr;gap:48px}
}
