/* Library refinement: keep the forest and existing type families; bring selection forward. */
body.library-page--dark .music-library-hero {
  /* scenic-bg is z:1. Keep readable controls above its image, as the results already are. */
  z-index: 3;
  padding: 92px 24px 20px;
}
body.library-page--dark .music-library-hero__eyebrow { margin: 0 0 8px; }
body.library-page--dark .music-library-hero__title { font-size: clamp(38px, 4.4vw, 64px); line-height: 1.06; }
body.library-page--dark .music-library-hero__title-sub { margin-top: 8px; color: #d4e1cf; font-size: .95rem; letter-spacing: .15em; }
body.library-page--dark .music-library-hero__title::after { margin-top: 14px; }
body.library-page--dark .music-library-hero__lead { margin-top: 10px; font-size: 16px; line-height: 1.75; }
body.library-page--dark .music-library-hero__sublead { margin-top: 6px; color: #c2d4c2; font-size: 13px; line-height: 1.7; }
body.library-page--dark .music-library-hero__search-wrap {
  max-width: 760px;
  margin-top: 18px;
  padding: 7px;
  background: linear-gradient(140deg, rgba(25, 47, 33, .95), rgba(9, 25, 16, .96));
  border-color: rgba(181, 198, 141, .55);
  box-shadow: inset 0 1px 0 rgba(230, 236, 194, .15), 0 10px 30px rgba(0, 0, 0, .3);
}
body.library-page--dark .music-library-hero__search { height: 48px; padding-right: 52px; color: #f0f3df; font-size: 16px; background: rgba(3, 15, 9, .38); }
body.library-page--dark .music-library-hero__search::placeholder { color: #c5d5be; opacity: 1; }
body.library-page--dark .music-library-hero__search-icon { color: #d5dbb5; opacity: .95; }
body.library-page--dark .music-library-hero__search:focus { box-shadow: inset 0 0 0 2px #c5ce94, 0 0 0 3px rgba(197, 206, 148, .16); }
body.library-page--dark .ml-search-clear { width: 44px; height: 44px; right: 3px; color: #d5dfc8; }
body.library-page--dark .ml-search-clear[hidden] { display: none; }
body.library-page--dark .ml-search-clear:focus-visible { outline: 2px solid #dfd499; outline-offset: 1px; }
body.library-page--dark .ml-search-help { margin: 8px auto 0; font-size: 13px; line-height: 1.75; color: #d4dfc9; text-shadow: 0 1px 5px #07150c, 0 0 12px #07150c; }
body.library-page--dark .music-library-hero__quick-tags { margin-top: 12px; gap: 8px; }
body.library-page--dark .music-library-hero__quick-tag { min-height: 40px; color: #dbe4ce; border-color: rgba(173, 197, 147, .38); background: rgba(15, 35, 23, .78); font-size: 13px; }
body.library-page--dark .music-library-hero__quick-tag-label { color: #c8d7c3; }
body.library-page--dark .ml-layout-top-tags { margin-top: 8px; }
body.library-page--dark .ml-layout-top-tags .ml-qs-card,
body.library-page--dark .ml-layout-top-tags .ml-scene-card { min-height: 64px; }
body.library-page--dark .ml-layout-shell[data-local-layout="columns"] { margin-top: 16px; }
body.library-page--dark .ml-results-hint { color: #c4d4bd; }

@media (min-width: 521px) {
  /* The illustrated scene entrances below already offer these popular filters. */
  body.library-page--dark .music-library-hero__quick-tags { display: none; }
  body.library-page--dark #ml-quick-scene { position: relative; z-index: 3; padding: 0 24px; }
  body.library-page--dark #ml-quick-scene .ml-quick-scene-inner { max-width: 1180px; margin: 0 auto; }
  body.library-page--dark #ml-quick-scene .ml-qs-card {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 1px 7px;
    min-height: 64px;
    padding: 10px;
    align-content: center;
    text-align: left;
  }
  body.library-page--dark #ml-quick-scene .ml-qs-icon { grid-column: 1; grid-row: 1 / 3; width: 30px; height: 30px; margin: 0; align-self: center; }
  body.library-page--dark #ml-quick-scene .ml-qs-icon svg { width: 30px; height: 30px; }
  body.library-page--dark #ml-quick-scene .ml-qs-label { grid-column: 2; grid-row: 1; margin: 0; font-size: 11px; }
  body.library-page--dark #ml-quick-scene .ml-qs-label-jp { grid-column: 2; grid-row: 2; margin: 0; font-size: 12px; color: #c5d8bd; }
}

/* A comfortable reading size without replacing the existing serif/sans roles. */
body.library-page--dark .ml-filter-nav-intro,
body.library-page--dark .ml-filter-nav-empty { font-size: 13px; color: #c7d8c8; }
body.library-page--dark .ml-filter-nav-hint,
body.library-page--dark .ml-filter-nav-label { font-size: 12px; color: #c3d3bd; }
body.library-page--dark [data-filter-nav] .ml-left-reset-btn { font-size: 12px; color: #d0dbc5; }
body.library-page--dark .ml-filter-nav-tab { font-size: 13px; color: #cbdcc9; }

@media (max-width: 820px) {
  body.library-page--dark .music-library-hero { padding: 86px 20px 16px; }
  body.library-page--dark .music-library-hero__title { font-size: clamp(32px, 6.4vw, 48px); }
}
@media (max-width: 520px) {
  body.library-page--dark .music-library-hero { padding: 78px 16px 12px; min-height: 340px; }
  body.library-page--dark .music-library-hero__title { font-size: clamp(28px, 8.2vw, 38px); }
  body.library-page--dark .music-library-hero__title-sub { font-size: 13px; margin-top: 7px; }
  body.library-page--dark .music-library-hero__title::after { margin-top: 10px; }
  body.library-page--dark .music-library-hero__lead { margin-top: 10px; font-size: 14px; line-height: 1.7; }
  body.library-page--dark .music-library-hero__search-wrap { margin-top: 12px; padding: 5px; }
  body.library-page--dark .music-library-hero__search { height: 46px; padding-left: 39px; }
  body.library-page--dark .music-library-hero__search-icon { left: 14px; }
  body.library-page--dark .ml-search-help { padding: 0 4px; font-size: 12px; line-height: 1.7; text-align: left; }
  body.library-page--dark .music-library-hero__quick-tags { margin-top: 10px; gap: 6px; }
  body.library-page--dark .music-library-hero__quick-tag { min-height: 44px; }
  body.library-page--dark .ml-layout-shell[data-local-layout="columns"] { margin-top: 10px; }
}

/* Touch-first cards: retain the existing materials and type families. */
@media (max-width: 768px) {
  body.library-page .ml-card .ml-card-actions > .ml-btn-play,
  body.library-page .ml-card .ml-card-actions > .ml-btn-dl {
    min-height: 44px;
    font-size: 12px;
  }
  body.library-page .ml-card .ml-card-secondary .ml-btn-tools {
    min-height: 44px;
    font-size: 12px;
  }
  body.library-page .ml-card .ml-card-secondary .ml-btn-detail,
  body.library-page .ml-card .ml-card-secondary .ml-btn-fav {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }
  body.library-page .ml-card .ml-card-footer > .ml-neighbor-link,
  body.library-page .ml-card .ml-card-footer > .hmt-card-entry {
    box-sizing: border-box;
    min-height: 44px;
    font-size: 12px;
  }
  body.library-page .ml-card .ml-card-inner .hmt-community-words,
  body.library-page .ml-card .hmt-word-group > .hmt-word-label,
  body.library-page .ml-card .ml-neighbor-reason { font-size: 12px; }
  body.library-page .ml-card .hmt-word-group { gap: 4px 8px; }
  body.library-page .ml-card .hmt-word-group a {
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 44px;
    min-width: 44px;
  }
  body.library-page .ml-card .hmt-words-more > summary {
    font-size: 12px;
    box-sizing: border-box;
    min-height: 44px;
    padding-block: 10px;
  }
}

/* All screen sizes: legible text on an opaque forest-green reading surface. */
body.library-page .ml-card .ml-card-inner { background:linear-gradient(145deg,rgba(18,39,28,.97),rgba(11,28,20,.96)); }
body.library-page .ml-card .ml-card-desc { font-size:14px; line-height:1.8; color:#d3dfcf; }
body.library-page .ml-card .ml-card-tag { font-size:12px; color:#dbe9cf; }
body.library-page .ml-card .ml-card-meta-badge,
body.library-page .ml-card .ml-card-duration { font-size:12px; color:#d3dfcf; }
body.library-page .ml-card .ml-card-actions > a,
body.library-page .ml-card .ml-card-actions > button,
body.library-page .ml-card .ml-card-secondary > button,
body.library-page .ml-card .ml-card-secondary > a,
body.library-page .ml-card .ml-card-footer > button,
body.library-page .ml-card .ml-card-footer > a { min-height:44px; font-size:13px; }
body.library-page .ml-card .ml-card-secondary > .ml-btn-detail,
body.library-page .ml-card .ml-card-secondary > .ml-btn-fav { width:44px; height:44px; min-width:44px; }
body.library-page .ml-card .hmt-word-group > .hmt-word-label,
body.library-page .ml-card .hmt-community-words,
body.library-page .ml-card .ml-neighbor-reason { font-size:12px; color:#cdd9c6; }
body.library-page .ml-card .hmt-word-group a { font-size:12px; color:#d4e2c9; }
body.library-page .ml-card .ml-card-title { overflow-wrap:anywhere; }
body.library-page--dark #ml-quick-scene .ml-qs-label { font-size:12px; }
@media(max-width:520px) { body.library-page .ml-card .ml-card-desc { -webkit-line-clamp:3; } }
