.difficulty { display: inline-flex; align-items: center; gap: 4px; padding: 5px 9px; border: 1px solid transparent; border-radius: 999px; letter-spacing: .06em; }
.difficulty span { font-size: .86rem; line-height: 1; }
.difficulty-easy { color: #39785a; border-color: #bfe5d2; background: #ecfaf3; }
.difficulty-normal { color: #93621b; border-color: #efd39d; background: #fff7e5; }
.difficulty-hard { color: #a83758; border-color: #efbfd0; background: #fff0f5; }
.card-play-count { margin: -4px 0 10px; color: var(--muted); font-size: .7rem; font-weight: 700; }
.card-top-score { margin: 0 0 12px; padding: 8px 9px; border-radius: 11px; background: #fff0f5; }
.card-top-score .score-heading { display: block; margin-bottom: 4px; color: var(--pink); font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.card-top-score ol { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.card-top-score li { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: 5px; min-width: 0; }
.card-top-score li b { overflow: hidden; color: #4b3540; font-size: .7rem; text-overflow: ellipsis; white-space: nowrap; }
.card-top-score li strong { color: #4b3540; font-size: .68rem; font-variant-numeric: tabular-nums; }
.score-crown { display: block; font-size: .9rem; line-height: 1; text-align: center; text-shadow: 0 1px 1px rgba(49,26,34,.18); }
.score-crown.rank-1 { color: #e3aa19; }
.score-crown.rank-2 { color: #a9afb8; }
.score-crown.rank-3 { color: #9a633d; }
.card-top-score.empty { color: var(--muted); font-size: .7rem; }
.track-card .play-label { display: inline-flex; align-items: center; justify-content: center; padding: 9px 15px; border: 1px solid var(--line); border-radius: 999px; background: #fff; box-shadow: 0 5px 14px rgba(70,25,50,.07); font-size: .75rem; font-weight: 900; }
.track-card:hover .play-label { border-color: var(--pink2); background: #fff5f8; }
