/* 동일한 곡은 이력/파생 목록/음악 목록/지도에서 같은 얼굴을 쓴다. */
.song-card{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid rgba(120,180,220,.18);border-radius:6px;background:#080d11;color:inherit;text-decoration:none;min-width:0;box-sizing:border-box}
.song-card:hover{border-color:rgba(var(--acc-rgb),.45);background:#0b141a}
.song-card:focus-visible,.song-title:focus-visible{outline:1px solid var(--blue);outline-offset:3px}
.song-identity{display:flex;align-items:center;gap:8px;flex:1;min-width:0;font-family:var(--font-body);font-weight:400;letter-spacing:0;text-align:left}
.song-thumb{position:relative;flex:0 0 40px;width:40px;height:40px;border-radius:5px;overflow:hidden;background:rgba(255,255,255,.05)}
.song-cover{display:block;width:100%;height:100%;object-fit:cover}
.song-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.song-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:#dbe8ee;font-size:var(--fs-comment);line-height:20px;font-weight:400;letter-spacing:0;overflow-wrap:anywhere;text-decoration:none}
a.song-title:hover{text-decoration:underline}
.song-credit{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-family:"Galmuri9",var(--font-mono);font-size:12px;line-height:16px;color:#8298a4}
.song-credit>*{max-width:100%;overflow-wrap:anywhere}
.song-author,.song-credit .pc-nick{color:#7fbce0}
.song-role{border-left:1px solid rgba(120,180,220,.2);padding-left:8px}
.song-card[aria-current],.song-card.cur{border-color:var(--blue);box-shadow:inset 2px 0 var(--blue)}
.song-context-label{display:block;margin:4px 0;color:var(--blue);font-family:"Galmuri9",var(--font-mono);font-size:12px;line-height:16px}
.mw-origin .song-card{flex:1 1 260px}
.mw-version-list{display:flex;flex-direction:column;gap:8px}
.mw-version-list>.song-card{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.mw-parent-label{padding-left:48px;line-height:16px}
.mw-timeline .song-card{width:100%}
.music-browser .mb-track .post-card.song-card{display:flex;gap:8px;padding:8px;min-height:58px;border:1px solid rgba(120,180,220,.18);border-radius:6px;background:#080d11}
.music-browser .mb-track+.mb-track{border:0;margin-top:8px}
.music-browser .mb-track .mb-play{left:16px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.65)}
.music-browser .mb-track .song-credit .pc-nick{max-width:100%;font-size:12px}
.mn-node.mus-card.song-card{padding:8px;border-radius:6px;background:#080d11;box-shadow:none}
.mn-node .song-identity{flex:none;align-items:flex-start}
.mn-node .song-thumb .mus-play{position:absolute;left:8px;top:8px;width:24px;height:24px;border:0;padding:0;cursor:pointer}
.mn-node .song-thumb .mus-play svg{width:14px;height:14px}
.mn-node .song-title{font-size:var(--fs-comment);line-height:20px}
.mn-node .mn-body{gap:8px}
@media(pointer:coarse){.music-browser .mb-track .mb-play{left:8px;width:40px;height:40px;background:transparent}.mn-node .song-thumb .mus-play{inset:0;width:40px;height:40px}}

.music-browser .mb-track.is-current .song-title{color:var(--blue)}
.version-row>.version-path{display:block;margin:0 0 4px 8px}
.version-relation{margin-left:56px}
.music-history .mb-track .song-card{width:100%}

.song-title{padding-left:2px;margin-left:-2px}
.music-detail .mb-audio-host .ssaud-cover{width:80px;height:80px;flex:0 0 80px;border-radius:5px}
.music-detail .mb-audio-host .ssaud-body>.song-meta{margin-bottom:4px}
.music-detail .mb-audio-host .ssemb-audio{border-radius:6px;background:#080d11;padding:8px;gap:8px}
/* 채팅 릴리즈 카드: topset-cover/meta/title/sub와 같은 40px·12px·2px 간격. */
.song-card,.music-browser .mb-track .post-card.song-card,.mn-node.mus-card.song-card{padding:10px 12px;gap:12px;background:#0b0b0b;border:0;border-radius:12px;box-shadow:none}
.song-card:hover,.music-browser .mb-track .post-card.song-card:hover{background:rgba(255,255,255,.07)}
.song-identity{gap:12px}
.song-meta{gap:2px}
.song-title,.mn-node .song-title{font-family:"Galmuri9",var(--font-mono);font-size:12px;line-height:18px;color:#fff;font-weight:400}
.song-credit{color:rgba(255,255,255,.45);line-height:18px;gap:4px 8px}
.song-author,.song-credit .pc-nick{color:rgba(255,255,255,.45)}
.song-role{border:0;padding:0}
.song-role::before{content:'·';margin-right:8px;color:rgba(255,255,255,.3)}
.song-card[aria-current],.song-card.cur{box-shadow:inset 2px 0 var(--blue);background:#101214}
.music-browser .mb-track .mb-play{left:20px}
.music-detail .mb-audio-host .ssemb-audio{border:0;border-radius:12px;background:#0b0b0b;padding:10px 12px;gap:12px}
@media(pointer:coarse){.music-browser .mb-track .mb-play{left:12px}}

.mn-node.mus-card.song-card.cur{box-shadow:inset 2px 0 var(--blue);background:#101214}
/* 릴리즈와 동일한 읽기 순서: 곡 → 시간·반응·음원 → 글 열기. */
.song-facts{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 14px;color:rgba(255,255,255,.45);font:12px/18px "Galmuri9",var(--font-mono);flex-shrink:0;max-width:100%}
.song-facts>span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.song-facts svg{width:12px;height:12px;flex:none}
.song-facts .has-score{color:#b9a343}
.song-date{margin-right:4px}
.song-source{color:#95a9b0}
.song-open{display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;width:22px;height:22px;border:1px solid rgba(255,255,255,.18);border-radius:5px;color:#98a4aa;font:12px/1 "Galmuri9",var(--font-mono)}
.song-card:hover .song-open{color:#fff;border-color:rgba(255,255,255,.4)}
.song-identity>.song-meta{flex:1;min-width:0}
.music-detail .ssaud-body .song-facts{justify-content:flex-start;margin-top:4px}
.mn-node .song-identity{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px 12px}
.mn-node .song-facts{grid-column:1/-1;justify-content:flex-start;gap:6px 12px}
@media(max-width:600px){
 .song-identity{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 12px}
 .song-identity>.song-thumb{grid-row:1/3;align-self:start}
 .song-identity>.song-facts{grid-column:2;justify-content:flex-start;gap:4px 10px}
 .song-card>.song-open{align-self:center}
 .mn-node .song-identity>.song-facts{grid-column:1/-1}
}

/* 지도 내부만: 카드 간격과 조작 영역을 명확하게. */
.mn-node.mus-card.song-card{border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px;align-items:stretch}
.mn-node.mus-card.song-card:hover{border-color:rgba(255,255,255,.25);background:#101112}
.mn-node.mus-card.song-card.cur{border-color:rgba(var(--acc-rgb),.55)}
.mn-node.mus-card.song-card.playing{border-color:var(--blue)}
.mn-node .mn-body{gap:10px}
.mn-node .mus-stats{margin-top:auto;padding-top:8px}
.mn-node .mn-kids{border-radius:4px;padding:3px 7px;line-height:18px;font-family:"Galmuri9",var(--font-mono)}
.mn-node .mn-time{font-family:"Galmuri9",var(--font-mono);font-size:12px}
.mn-node .mn-ico-btn{min-width:28px;min-height:28px;display:inline-flex;align-items:center;justify-content:center}
.mn-node .mn-bar{min-height:28px}
.mn-vp .mn-tools{padding:4px;background:rgba(5,6,7,.92);border:1px solid rgba(255,255,255,.1);border-radius:6px;gap:4px}
.mn-vp .mn-tools .top-ico-btn{border-radius:4px}
.mn-vp .mn-port{border-radius:4px}

@media(max-width:520px){.music-detail .mb-audio-host .ssaud-cover{width:64px;height:64px;flex-basis:64px}}

/* 본문 이미지의 margin:12px auto가 카드 커버를 아래로 밀지 않도록 격리한다. */
.pv-body-rich .song-thumb img,.pv-body-rich .ssaud-cover img{
 display:block;margin:0;border-radius:0;width:100%;height:100%;object-fit:cover;object-position:center;
}

.mn-node.mus-card.song-card{min-height:0;align-items:flex-start}
.mn-node .mus-stats{margin-top:0;padding-top:0}
.mn-node .mn-body{gap:8px}

.mw-version-play{display:block;flex:1;min-width:0;border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:left;font:inherit}
.mw-version-play:disabled{cursor:default;opacity:.5}
.mw-play-card .song-open{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;text-decoration:none;color:inherit}
.mw-play-card.playing .song-title{color:var(--blue)}
.mw-cover-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);color:#fff;font:12px/1 sans-serif}
