/* 叮叮點歌 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; }
}
