
body{min-height:100vh}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--r-ctl)}
.masthead{max-width:1120px;margin:0 auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}
.masthead .identity{display:flex;gap:12px;align-items:baseline;font-weight:650;font-size:16px}.masthead .identity small{font-size:11px;font-weight:400;color:var(--muted)}
.masthead a:hover,.catalog-footer a:hover{color:var(--accent)}.return-link{font-size:12px;color:var(--muted)}
main.catalog{max-width:1120px;margin:auto;padding:44px 32px 24px;min-width:0}.eyebrow{font:11px/1.5 var(--mono);letter-spacing:.14em;color:var(--accent);margin:0 0 12px}
.catalog h1{font-size:42px;font-weight:650;line-height:1.22;letter-spacing:0;margin:0 0 16px}.catalog .intro{font-size:16px;line-height:1.8;color:var(--muted);max-width:44em;margin:0}
.catalog-top{margin-bottom:36px}.collection-head{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 16px;gap:16px}.collection-head h2{font-size:17px;margin:0;font-weight:600}.collection-head span{font-size:12px;color:var(--muted)}
.song-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.song-card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--r-panel);padding:24px;min-width:0;transition:border-color .18s,transform .18s}
.song-card:hover{border-color:var(--accent);transform:translateY(-2px)}.song-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.song-no{font:12px var(--mono);color:var(--accent)}
.song-card h3{font-size:30px;font-weight:600;line-height:1.3;margin:24px 0 8px}.song-card .artist{font-size:12px;color:var(--muted);margin:0 0 16px}.song-card .description{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 24px;flex:1}
.song-meta{padding:16px 0;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.song-action{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--accent);font-weight:600}.song-action span:last-child{font-size:20px}
.catalog-footer{max-width:1120px;margin:12px auto 0;padding:20px 32px 56px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px}
.library-about{border-top:1px solid var(--border);margin-top:40px;padding-top:20px;color:var(--muted);font-size:13px}.library-about>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;padding:8px 0;list-style:none}.library-about>summary::after{content:'＋';color:var(--accent)}.library-about[open]>summary::after{content:'−'}.library-about>summary::-webkit-details-marker{display:none}.library-about h2{font-size:22px;color:var(--text);margin-top:32px}.library-about h3{font-size:16px;color:var(--text);margin-top:24px}.library-about p{max-width:52em;line-height:1.85}.library-about a{color:var(--accent)}.library-about .request-actions{display:flex;gap:16px;flex-wrap:wrap}
.back-songs{font-size:12px;display:inline-flex;color:var(--muted);margin:0 0 24px}.back-songs:hover{color:var(--accent)}.song-heading-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.song-heading-line span{font-size:12px;color:var(--muted);white-space:nowrap}
.version-list{border:1px solid var(--border);border-radius:var(--r-panel);overflow:hidden}.version-row{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:20px;padding:20px;background:var(--panel);border-bottom:1px solid var(--border);transition:background .18s}.version-row:last-child{border-bottom:0}.version-row:hover{background:var(--panel-2)}.version-row.featured{background:var(--panel-2);border-left:3px solid var(--accent);padding-left:17px}.version-no{font:15px var(--mono);color:var(--accent);line-height:1.5}.version-main h3{font-size:18px;line-height:1.4;font-weight:600;margin:0 0 8px}.version-main p{font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:48em}.version-heading{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}.version-heading h3{margin:0}.badge{font-size:10px;border:1px solid var(--border-strong);color:var(--accent);border-radius:999px;padding:2px 8px;white-space:nowrap}.version-arrow{font-size:20px;color:var(--muted)}.archive{margin-top:20px;color:var(--muted);font-size:13px}.archive summary{cursor:pointer;padding:12px 0}.archive .version-list{margin-top:8px}.hub-note{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0 0}
@media(max-width:680px){.masthead{padding:20px}.masthead .identity small{display:none}main.catalog{padding:32px 20px 16px}.catalog h1{font-size:34px}.catalog .intro{font-size:15px}.song-grid{grid-template-columns:1fr;gap:16px}.song-card{padding:24px}.song-card h3{font-size:28px;margin-top:20px}.catalog-top{margin-bottom:28px}.catalog-footer{padding:20px 20px 32px;align-items:flex-start;flex-direction:column;gap:8px}.song-heading-line{display:block}.song-heading-line span{display:block;margin:0 0 16px}.version-row{grid-template-columns:48px 1fr 16px;gap:12px;padding:20px 16px}.version-row.featured{padding-left:13px}.version-no{font-size:12px}.version-main h3{font-size:16px}.version-main p{font-size:13px}.version-heading{gap:8px}.library-about{margin-top:28px}.collection-head span{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
