/* Hudson Albums — front-end liner-note treatment */
.hudson-album-tracklist{
  --ha-ink:#eee8da;
  --ha-muted:rgba(238,232,218,.56);
  --ha-faint:rgba(238,232,218,.15);
  --ha-line:rgba(238,232,218,.18);
  --ha-accent:#a5221f;
  width:100%; color:var(--ha-ink); font-family:inherit;
}
.hudson-album-tracklist *{box-sizing:border-box}
.hudson-album-tracklist__heading{
  display:flex;align-items:baseline;gap:12px;margin:0 0 22px;
  padding:0 0 12px;border-bottom:1px solid var(--ha-line);
}
.hudson-album-tracklist__heading>span{
  font-family:inherit;font-size:clamp(22px,2vw,30px);
  font-weight:400;letter-spacing:.14em;line-height:1;text-transform:uppercase;
}
.hudson-album-tracklist__heading small{
  color:var(--ha-muted);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
}
.hudson-album-tracklist__tracks{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;
}
.hudson-track-item{
  position:relative;border-bottom:1px solid var(--ha-faint);min-width:0;
}
.hudson-track-toggle{
  appearance:none!important;-webkit-appearance:none!important;
  display:grid!important;grid-template-columns:28px minmax(0,1fr) auto!important;
  align-items:center!important;gap:10px!important;width:100%!important;
  min-height:50px!important;margin:0!important;padding:0 2px!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:var(--ha-ink)!important;text-align:left!important;box-shadow:none!important;
  font:inherit!important;cursor:pointer!important;transition:color .2s ease,transform .2s ease!important;
}
.hudson-track-toggle:hover,.hudson-track-toggle:focus{
  background:transparent!important;color:#fff!important;outline:none!important;
}
.hudson-track-toggle:hover{transform:translateX(3px)}
.hudson-track-pos{
  color:var(--ha-muted);font-family:inherit;
  font-size:14px;letter-spacing:.08em;font-variant-numeric:tabular-nums;
}
.hudson-track-title{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:inherit;font-size:16px;letter-spacing:.05em;
}
.hudson-track-duration{
  color:var(--ha-muted);font-size:12px;letter-spacing:.08em;font-variant-numeric:tabular-nums;
}
.hudson-track-toggle[aria-expanded="true"] .hudson-track-title{color:#fff}
.hudson-track-toggle[aria-expanded="true"] .hudson-track-pos{color:var(--ha-accent)}
.hudson-track-platforms{
  padding:0 0 15px 38px;
}
.hudson-track-platforms[hidden]{display:none!important}
.hudson-track-platforms:not([hidden]){
  display:flex!important;flex-wrap:wrap;gap:7px;animation:haReveal .18s ease-out both;
}
@keyframes haReveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.hudson-platform-link{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:48%!important;min-height:34px!important;
  padding:7px 12px!important;border:1px solid var(--ha-line)!important;border-radius:999px!important;
  background:rgba(0,0,0,.16)!important;color:var(--ha-muted)!important;
  font-size:12px!important;line-height:1!important;letter-spacing:.05em!important;
  text-align:center!important;text-decoration:none!important;white-space:nowrap!important;
  transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease!important;
}
.hudson-platform-link:hover{
  color:#fff!important;border-color:rgba(238,232,218,.42)!important;
  background:rgba(0,0,0,.32)!important;transform:translateY(-1px);
}
@media(max-width:1024px){
  .hudson-album-tracklist__tracks{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
}
@media(max-width:767px){
  .hudson-album-tracklist__heading{margin-bottom:12px}
  .hudson-album-tracklist__heading>span{font-size:22px}
  .hudson-album-tracklist__tracks{grid-template-columns:1fr}
  .hudson-track-toggle{min-height:48px!important;grid-template-columns:26px minmax(0,1fr) auto!important}
  .hudson-track-title{font-size:16px}
  .hudson-track-platforms{padding-left:36px}
}

.hudson-track-static{
  cursor:default!important;
}
.hudson-track-static:hover{
  transform:none!important;
  color:var(--ha-ink)!important;
}
.hudson-track-item--static .hudson-track-pos{
  color:var(--ha-muted)!important;
}
