.chart-section-link{display:inline-flex;align-items:center;gap:8px}
.chart-section-link:hover{text-decoration:underline}
.chart-heading-copy{min-width:0}
.section h2{gap:4px}
.song-card .game-title{height:auto;max-height:44px;margin-bottom:4px}
.song-artist{font-size:14px;line-height:20px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chart-section-page .page-heading{margin-bottom:18px}
.chart-section-detail .back{margin-bottom:16px}
.chart-section-description{font-size:14px;line-height:21px;color:var(--muted);max-width:1000px;margin:8px 0 24px}
.chart-section-detail .section-subtitle{margin:0 0 8px}
.chart-section-detail .game-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 16px}
#section-pagination,#charts-pagination{max-width:800px;margin:28px auto;text-align:center}
.section-load-error,.section-empty,.charts-loading{font-size:14px;line-height:21px;color:var(--muted)}
@media(max-width:600px){.chart-section-detail .game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 12px}.chart-section-detail .game-title{font-size:14px;line-height:20px}.chart-section-description{font-size:13px}.song-artist{font-size:12px}.chart-section-link{gap:6px}}
@media(max-width:380px){.chart-section-detail .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Desktop rail geometry measured from the public Charts page. */
@media(min-width:801px){
 body[data-page=charts] .carousel{padding:0 30px}
 body[data-page=charts] .game-row{gap:14px;padding:2px 0 0}
 body[data-page=charts] .game-card:not(.song-card) .game-link{min-height:240px;padding-bottom:6px}
 body[data-page=charts] .game-card:not(.song-card) .game-title{display:block;height:44.8px;line-height:22.4px;margin:6px 0 10.8px}
 body[data-page=charts] .game-meta{line-height:22.4px}
 body[data-page=charts] .arrow{width:29px}
}
