/* 叮叮点歌 dingsong.ai⁠·音乐教室曲子出处总表（class/sources/，2026-10-25）
   接在 doc.css 后面；字级、间距、圆角只用设计系统 token。
   10-25 第 3 轮必修 7：原本一首一个圆角框（身分卡第 2 节禁区“不用白底框”、taste.md“框线很僵硬”），90 个框叠成 375 宽 34,415px。
   改成每首一列（曲名＋原文名＋谁写的⁠·哪一年），首与首之间一条细线（跟选曲卡上方那条同一种），点开才看细节；展开不加动画。 */
.src-jump { display: flex; flex-wrap: wrap; gap: var(--space-8) var(--space-16); margin: var(--space-28) 0 var(--space-12); }
.src-jump a { font-size: 17px; }
.doc .src-count { color: var(--ink-2); }
.src-group h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-12); }
.src-n { font: 400 15px/1 var(--font-body); color: var(--ink-2); }
.doc ul.src-items { list-style: none; padding: 0; gap: 0; }
.doc li.src-item { border-top: 1px solid var(--line); }
.doc li.src-item:last-child { border-bottom: 1px solid var(--line); }
/* 10-26 追加修正：每首的标题列原本是 <summary>（里面放 h3，读屏跳不到）→ 改成 h3 里的一颗按钮（class-sources.js），样子、大小照旧 */
.doc h3.src-t { margin: 0; font: inherit; }
.src-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: var(--space-12); row-gap: var(--space-2); align-items: center; width: 100%; min-height: var(--tap-min); margin: 0; padding: var(--space-12) 0; border: 0; border-radius: 0; background: none; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.src-head::after { content: ""; grid-column: 2; grid-row: 1 / span 2; width: 8px; height: 8px; margin-right: var(--space-4); border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); transform: translateY(-2px) rotate(45deg); }   /* 跟“更多设置”同一种箭头：往下＝可以展开 */
.src-head[aria-expanded="true"]::after { transform: translateY(2px) rotate(225deg); }
@media (hover: hover) { .src-head:hover .src-name { text-decoration: underline; text-underline-offset: 4px; } }
.src-head:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; border-radius: var(--radius-6); }
.src-name { grid-column: 1; font: 700 18px/1.4 var(--font-body); color: var(--ink); }   /* lead-text 字级：90 首一列一首，比原本卡片标题小一级 */
.src-orig { font-size: 15px; font-weight: 400; color: var(--ink-2); }
.src-part { display: inline-block; vertical-align: 0.15em; padding: 0 var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-pill); font: 400 14px/1.6 var(--font-body); color: var(--ink-2); }   /* 名曲片段：跟教室曲名旁的小标同一个样子 */
/* text-wrap：10-26 起这一行在 h3 里，不要跟着标题 balance（会提早断行），照内文 pretty */
.src-sum { grid-column: 1; text-wrap: pretty; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.src-body { padding: 0 0 var(--space-16); }
.src-body[hidden] { padding: 0; }   /* 收着（hidden="until-found" 只把内容藏起来、框还在）：不留 16px 空白 */
.src-dl { margin: 0; display: grid; gap: var(--space-8); }
.src-dl > div { display: grid; grid-template-columns: 8em 1fr; gap: var(--space-12); }
.src-dl dt { font-size: 15px; font-weight: 700; color: var(--ink-2); }
.src-dl dd { margin: 0; font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
.doc .src-dl p, .doc .src-dl li { font-size: 16px; }
.doc ul.src-lyr { margin: 0; padding-left: var(--space-18); gap: var(--space-4); }
.src-refs { display: block; margin-top: var(--space-4); color: var(--ink-2); }
.doc p.src-go { margin: var(--space-10) 0 0; font-size: 16px; }
@media (max-width: 640px) {
  .src-dl > div { grid-template-columns: 1fr; gap: var(--space-2); }
  .src-name { font-size: 17px; }
}
