/**
 * MH Premium Audio Player 4.5.0 — Playlist UI/UX system
 * Self-contained Playlist presentation layer. No legacy Playlist stylesheet is
 * required for the current widget; runtime engines keep their existing DOM/API.
 */

.mhpap-playlist.mhpap-playlist--v450 {
  --mhpap-v450-bg: var(--mhpap-v42-bg, #101114);
  --mhpap-v450-surface: var(--mhpap-v42-surface, #17191d);
  --mhpap-v450-text: var(--mhpap-v42-text, #f6f6f4);
  --mhpap-v450-muted: var(--mhpap-v42-muted, #9ea3ab);
  --mhpap-v450-accent: var(--mhpap-v42-accent, #ffc50d);
  --mhpap-v450-focus: var(--mhpap-v42-focus, var(--mhpap-v450-accent));
  --mhpap-v450-density: var(--mhpap-v42-density, 1);
  --mhpap-v450-radius: clamp(14px, var(--mhpap-v42-radius, 18px), 28px);
  --mhpap-v450-border: color-mix(in srgb, var(--mhpap-v450-text) 9%, transparent);
  --mhpap-v450-border-strong: color-mix(in srgb, var(--mhpap-v450-text) 15%, transparent);
  --mhpap-v450-panel: color-mix(in srgb, var(--mhpap-v450-surface) 86%, var(--mhpap-v450-bg));
  --mhpap-v450-panel-soft: color-mix(in srgb, var(--mhpap-v450-surface) 64%, transparent);
  --mhpap-v450-control-bg: var(--mhpap-v42-control-bg, color-mix(in srgb, var(--mhpap-v450-text) 4%, transparent));
  --mhpap-v450-control-color: var(--mhpap-v42-control-color, var(--mhpap-v450-muted));
  --mhpap-v450-control-hover-bg: var(--mhpap-v42-control-hover-bg, color-mix(in srgb, var(--mhpap-v450-text) 7%, transparent));
  --mhpap-v450-control-hover-color: var(--mhpap-v42-control-hover-color, var(--mhpap-v450-text));
  --mhpap-v450-control-active-bg: var(--mhpap-v42-control-active-bg, var(--mhpap-v450-accent));
  --mhpap-v450-control-active-color: var(--mhpap-v42-control-active-color, #141414);
  --mhpap-v450-track-bg-source: var(--mhpap-v42-track-bg, var(--mhpap-v450-surface));
  --mhpap-v450-track-hover-source: var(--mhpap-v42-track-hover-bg, var(--mhpap-v450-text));
  --mhpap-v450-track-active-source: var(--mhpap-v42-track-active-bg, var(--mhpap-v450-accent));
  --mhpap-v450-track-bg: color-mix(in srgb, var(--mhpap-v450-track-bg-source) 58%, transparent);
  --mhpap-v450-track-hover: color-mix(in srgb, var(--mhpap-v450-track-hover-source) 6%, var(--mhpap-v450-track-bg-source));
  --mhpap-v450-track-active: color-mix(in srgb, var(--mhpap-v450-track-active-source) 10%, var(--mhpap-v450-track-bg-source));
  --mhpap-v450-track-text: var(--mhpap-v42-track-text, var(--mhpap-v450-text));
  --mhpap-v450-track-hover-text: var(--mhpap-v42-track-hover-text, var(--mhpap-v450-text));
  --mhpap-v450-track-active-text: var(--mhpap-v42-track-active-text, var(--mhpap-v450-text));
  --mhpap-v450-now-cover: clamp(78px, var(--mhpap-v42-now-cover, 92px), 112px);
  --mhpap-v450-track-cover: clamp(40px, var(--mhpap-v42-track-cover-size, 48px), 58px);
  --mhpap-v450-list-gap: clamp(6px, var(--mhpap-v42-list-gap, 8px), 18px);
  --mhpap-v450-icon-size: clamp(16px, var(--mhpap-v42-icon-size, 20px), 28px);
  --mhpap-v450-ease: 170ms cubic-bezier(.2,.72,.2,1);

  container-type: inline-size;
  display: grid;
  gap: clamp(16px, 1.5vw, 22px);
  width: 100%;
  min-width: 0;
  padding: clamp(12px, 1.35vw, 20px);
  color: var(--mhpap-v450-text);
  background: var(--mhpap-v450-bg);
  border: 1px solid var(--mhpap-v450-border);
  border-radius: var(--mhpap-v450-radius);
  box-shadow: var(--mhpap-v42-shadow, none);
  box-sizing: border-box;
  overflow: clip;
  font-family: inherit;
  line-height: 1.5;
  isolation: isolate;
}

.mhpap-playlist.mhpap-playlist--v450 *,
.mhpap-playlist.mhpap-playlist--v450 *::before,
.mhpap-playlist.mhpap-playlist--v450 *::after { box-sizing: border-box; }

.mhpap-playlist.mhpap-playlist--v450 button,
.mhpap-playlist.mhpap-playlist--v450 input,
.mhpap-playlist.mhpap-playlist--v450 select,
.mhpap-playlist.mhpap-playlist--v450 summary { font: inherit; }

.mhpap-playlist.mhpap-playlist--v450 .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-icon,
.mhpap-playlist.mhpap-playlist--v450 .elementor-icon,
.mhpap-playlist.mhpap-playlist--v450 .elementor-icon svg {
  display: block;
  width: var(--mhpap-v450-icon-size);
  height: var(--mhpap-v450-icon-size);
  flex: 0 0 auto;
  pointer-events: none;
}

.mhpap-playlist.mhpap-playlist--v450 :where(
  .mhpap-playlist__up-next,
  .mhpap-playlist__chapters,
  .mhpap-playlist__bookmarks,
  .mhpap-playlist__completion,
  .mhpap-playlist__search-clear,
  .mhpap-playlist__empty,
  .mhpap-playlist__track,
  .mhpap-playlist__repeat-one,
  .mhpap-playlist__download
)[hidden] { display: none !important; }

.mhpap-playlist.mhpap-playlist--v450 .mhpap-v44-queue-trigger,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v44-queue-drawer { display: none !important; }

/* Progressive enhancement: native audio is the fallback; custom controls own the UI after init. */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__audio[controls] {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 12px 0 0;
}
.mhpap-playlist.mhpap-playlist--v450.is-enhanced .mhpap-playlist__audio { display: none !important; }
.mhpap-playlist.mhpap-playlist--v450:not(.is-enhanced) :where(
  .mhpap-playlist__control-panel,
  .mhpap-playlist__search,
  .mhpap-playlist__completion,
  .mhpap-playlist__chapters,
  .mhpap-playlist__bookmarks,
  .mhpap-playlist__up-next,
  .mhpap-playlist__track-menu
) { display: none !important; }

/* --------------------------------------------------------------------------
   Player stage: identity and controls are two deliberate regions.
   -------------------------------------------------------------------------- */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__player {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 430px) !important;
  grid-template-areas: "hero controls" !important;
  align-items: center !important;
  gap: clamp(28px, 3.2vw, 56px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: clamp(24px, 2.5vw, 38px) !important;
  background: var(--mhpap-v450-panel-soft) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: calc(var(--mhpap-v450-radius) - 2px) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--mhpap-v450-text) 2%, transparent) !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__hero {
  grid-area: hero !important;
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  grid-template-areas: "heading" "now" !important;
  align-content: center !important;
  align-items: start !important;
  justify-items: stretch !important;
  justify-self: center !important;
  gap: clamp(22px, 2.2vw, 30px) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 680px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-align: start !important;
  z-index: auto !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__heading {
  grid-area: heading !important;
  position: static !important;
  display: grid !important;
  gap: 7px !important;
  width: 100% !important;
  max-width: 660px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  transform: none !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__title {
  margin: 0;
  max-width: 22ch;
  color: var(--mhpap-v450-text);
  font-size: clamp(24px, 2.05vw, 34px);
  font-weight: 760;
  line-height: 1.28;
  letter-spacing: -.018em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__description {
  margin: 0;
  max-width: 58ch;
  color: var(--mhpap-v450-muted);
  font-size: clamp(12px, .95vw, 14px);
  line-height: 1.75;
  text-wrap: pretty;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__now {
  grid-area: now !important;
  position: static !important;
  display: grid !important;
  grid-template-columns: var(--mhpap-v450-now-cover) minmax(0, 1fr) !important;
  grid-template-areas: "cover meta" !important;
  align-items: center !important;
  gap: clamp(14px, 1.45vw, 20px) !important;
  width: min(100%, 580px) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__now {
  grid-template-columns: minmax(0, 1fr) var(--mhpap-v450-now-cover) !important;
  grid-template-areas: "meta cover" !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__cover-wrap {
  grid-area: cover !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: var(--mhpap-v450-now-cover) !important;
  height: var(--mhpap-v450-now-cover) !important;
  min-width: var(--mhpap-v450-now-cover) !important;
  overflow: hidden !important;
  color: var(--mhpap-v450-muted) !important;
  background: var(--mhpap-v450-panel) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: clamp(12px, calc(var(--mhpap-v450-radius) * .72), 20px) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18) !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__cover-fallback {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  color: var(--mhpap-v450-muted) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__cover {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__now-text {
  grid-area: meta !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas: "eyebrow count" "title title" "artist artist" "description description" !important;
  align-items: center !important;
  gap: 4px 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  text-align: inherit !important;
}

.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__now-text,
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__heading,
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-copy { text-align: right !important; }
.mhpap-playlist.mhpap-playlist--v450[dir="ltr"] .mhpap-playlist__now-text,
.mhpap-playlist.mhpap-playlist--v450[dir="ltr"] .mhpap-playlist__heading,
.mhpap-playlist.mhpap-playlist--v450[dir="ltr"] .mhpap-playlist__track-copy { text-align: left !important; }

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__eyebrow {
  grid-area: eyebrow !important;
  color: var(--mhpap-v450-accent) !important;
  font-size: 10px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__count {
  grid-area: count !important;
  display: inline-grid !important;
  place-items: center !important;
  width: max-content !important;
  min-width: 34px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 8px !important;
  color: var(--mhpap-v450-muted) !important;
  background: color-mix(in srgb,var(--mhpap-v450-text) 4%,transparent) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-variant-numeric: tabular-nums !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__now-title {
  grid-area: title !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--mhpap-v450-text) !important;
  font-size: clamp(18px, 1.5vw, 22px);
  font-weight: 740;
  line-height: 1.38;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: inherit !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__now-artist {
  grid-area: artist !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: inherit !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__now-description {
  grid-area: description !important;
  display: -webkit-box !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  text-align: inherit !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

/* --------------------------------------------------------------------------
   Control card
   -------------------------------------------------------------------------- */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__control-panel {
  grid-area: controls !important;
  position: relative !important;
  display: grid !important;
  align-self: center !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 430px !important;
  margin: 0 !important;
  padding: clamp(18px, 1.65vw, 24px) !important;
  background: var(--mhpap-v450-panel) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: clamp(16px, calc(var(--mhpap-v450-radius) * .88), 22px) !important;
  box-shadow: 0 20px 52px rgba(0,0,0,.14) !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__transport {
  direction: ltr !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__btn,.mhpap-playlist__play) {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
  transition: transform var(--mhpap-v450-ease), background-color var(--mhpap-v450-ease), color var(--mhpap-v450-ease), border-color var(--mhpap-v450-ease), box-shadow var(--mhpap-v450-ease) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  color: var(--mhpap-v450-control-color) !important;
  background: transparent !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 50% !important;
  box-shadow: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__btn:hover {
  color: var(--mhpap-v450-control-hover-color) !important;
  background: var(--mhpap-v450-control-hover-bg) !important;
  border-color: var(--mhpap-v450-border-strong) !important;
  transform: translateY(-1px) !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__shuffle[aria-pressed="true"],.mhpap-playlist__repeat[data-mode="all"],.mhpap-playlist__repeat[data-mode="one"]) {
  color: var(--mhpap-v450-accent) !important;
  background: color-mix(in srgb,var(--mhpap-v450-accent) 9%,transparent) !important;
  border-color: color-mix(in srgb,var(--mhpap-v450-accent) 45%,transparent) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__play {
  width: 66px !important;
  height: 66px !important;
  min-width: 66px !important;
  min-height: 66px !important;
  color: var(--mhpap-v450-control-active-color) !important;
  background: var(--mhpap-v450-control-active-bg) !important;
  border: 0 !important;
  border-radius: 50% !important;
  box-shadow: 0 12px 30px color-mix(in srgb,var(--mhpap-v450-accent) 17%,transparent) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__play:hover {
  filter: brightness(1.035) !important;
  transform: translateY(-1px) scale(1.02) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__play-glyph { display: grid !important; place-items: center !important; }
.mhpap-playlist.mhpap-playlist--v450:not(.is-playing) .mhpap-playlist__play-glyph--pause,
.mhpap-playlist.mhpap-playlist--v450.is-playing .mhpap-playlist__play-glyph--play { display: none !important; }

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__repeat { position: relative !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__repeat-one {
  position: absolute !important;
  inset-inline-end: 3px !important;
  inset-block-end: 3px !important;
  display: grid !important;
  place-items: center !important;
  min-width: 14px !important;
  height: 14px !important;
  padding: 0 2px !important;
  color: #111 !important;
  background: var(--mhpap-v450-accent) !important;
  border-radius: 999px !important;
  font-size: 9px !important;
  font-weight: 800 !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__timeline {
  display: grid !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(input[type="range"].mhpap-playlist__progress,input[type="range"].mhpap-playlist__volume) {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  height: 4px !important;
  min-height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(to right,var(--mhpap-v450-accent) 0 var(--mhpap-range-pct,0%),color-mix(in srgb,var(--mhpap-v450-text) 15%,transparent) var(--mhpap-range-pct,0%) 100%) !important;
  box-shadow: none !important;
  direction: ltr !important;
}
.mhpap-playlist.mhpap-playlist--v450 input[type="range"]::-webkit-slider-thumb {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 14px !important;
  height: 14px !important;
  border: 2px solid var(--mhpap-v450-panel) !important;
  border-radius: 50% !important;
  background: var(--mhpap-v450-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--mhpap-v450-accent) 13%,transparent) !important;
}
.mhpap-playlist.mhpap-playlist--v450 input[type="range"]::-moz-range-thumb {
  width: 12px !important;
  height: 12px !important;
  border: 2px solid var(--mhpap-v450-panel) !important;
  border-radius: 50% !important;
  background: var(--mhpap-v450-accent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--mhpap-v450-accent) 13%,transparent) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__progress:disabled { cursor: not-allowed !important; opacity: .58 !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__times {
  display: flex !important;
  justify-content: space-between !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 11px !important;
  font-variant-numeric: tabular-nums !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__utilities {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px 14px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid var(--mhpap-v450-border) !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__utilities-primary,.mhpap-playlist__actions) {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__utilities-primary { justify-content: flex-start !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__actions { justify-content: flex-end !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__volume-wrap {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  flex: 1 1 170px !important;
  min-width: 150px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  color: var(--mhpap-v450-control-color) !important;
  background: var(--mhpap-v450-control-bg) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 999px !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__volume { min-width: 90px !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__speed {
  min-height: 40px !important;
  padding: 0 30px 0 10px !important;
  color: var(--mhpap-v450-text) !important;
  background: var(--mhpap-v450-control-bg) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  direction: ltr !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__action {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  color: var(--mhpap-v450-control-color) !important;
  background: transparent !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__action:hover {
  color: var(--mhpap-v450-control-hover-color) !important;
  background: var(--mhpap-v450-control-hover-bg) !important;
  border-color: var(--mhpap-v450-border-strong) !important;
}

/* --------------------------------------------------------------------------
   Optional content panels
   -------------------------------------------------------------------------- */
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__completion,.mhpap-playlist__chapters,.mhpap-playlist__bookmarks,.mhpap-playlist__up-next):not([hidden]) {
  margin: 0 !important;
  padding: 14px 16px !important;
  color: var(--mhpap-v450-muted) !important;
  background: var(--mhpap-v450-panel-soft) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__completion:not([hidden]) {
  display: grid !important;
  grid-template-columns: auto minmax(120px,1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__chapters,.mhpap-playlist__bookmarks,.mhpap-playlist__up-next):not([hidden]) {
  display: grid !important;
  gap: 10px !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__chapters,.mhpap-playlist__bookmarks,.mhpap-playlist__up-next) > strong {
  color: var(--mhpap-v450-text) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__chapter-list,.mhpap-playlist__bookmark-list,.mhpap-playlist__up-next ol) {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* --------------------------------------------------------------------------
   Library toolbar
   -------------------------------------------------------------------------- */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library {
  display: grid !important;
  gap: 12px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px 20px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 2px 2px 6px !important;
  background: transparent !important;
  border: 0 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-title-wrap {
  display: grid !important;
  grid-template-columns: auto auto !important;
  grid-template-areas: "kicker kicker" "title count" !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 3px 9px !important;
  min-width: max-content !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-kicker {
  grid-area: kicker !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 10px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-title {
  grid-area: title !important;
  color: var(--mhpap-v450-text) !important;
  font-size: 19px !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-count {
  grid-area: count !important;
  display: inline-grid !important;
  place-items: center !important;
  min-width: 28px !important;
  height: 24px !important;
  padding: 0 7px !important;
  color: var(--mhpap-v450-muted) !important;
  background: color-mix(in srgb,var(--mhpap-v450-text) 4%,transparent) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-variant-numeric: tabular-nums !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-tools {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  gap: 8px !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  width: min(310px, 38vw) !important;
  min-width: 180px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding-inline: 12px 7px !important;
  color: var(--mhpap-v450-muted) !important;
  background: var(--mhpap-v450-panel-soft) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 12px !important;
  transition: border-color var(--mhpap-v450-ease), box-shadow var(--mhpap-v450-ease), background-color var(--mhpap-v450-ease) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search:focus-within {
  background: var(--mhpap-v450-panel) !important;
  border-color: color-mix(in srgb,var(--mhpap-v450-focus) 55%,transparent) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb,var(--mhpap-v450-focus) 10%,transparent) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search-icon {
  display: grid !important;
  place-items: center !important;
  width: 17px !important;
  height: 17px !important;
  color: var(--mhpap-v450-muted) !important;
  pointer-events: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search input {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 0 !important;
  color: var(--mhpap-v450-text) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search input::placeholder { color: var(--mhpap-v450-muted) !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search-clear {
  appearance: none !important;
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-sort {
  width: auto !important;
  max-width: 186px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding-inline: 11px 34px !important;
  color: var(--mhpap-v450-text) !important;
  background-color: var(--mhpap-v450-panel-soft) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-sort:hover {
  background-color: var(--mhpap-v450-panel) !important;
  border-color: var(--mhpap-v450-border-strong) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-toggle {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 12px !important;
  cursor: pointer !important;
}
.mhpap-playlist.mhpap-playlist--v450.is-library-collapsed :where(.mhpap-playlist__tracks,.mhpap-playlist__show-more,.mhpap-playlist__empty) { display: none !important; }
.mhpap-playlist.mhpap-playlist--v450.is-library-collapsed .mhpap-playlist__library-toggle > span:last-child { transform: rotate(180deg) !important; }

/* --------------------------------------------------------------------------
   Track list
   -------------------------------------------------------------------------- */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__tracks {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--mhpap-v450-list-gap) !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  scrollbar-width: thin !important;
  scrollbar-color: color-mix(in srgb,var(--mhpap-v450-accent) 32%,transparent) transparent !important;
  list-style: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas: "button menu" !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--mhpap-v450-track-text) !important;
  background: var(--mhpap-v450-track-bg) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: clamp(11px, calc(var(--mhpap-v450-radius) * .62), 15px) !important;
  box-shadow: none !important;
  outline: 0 !important;
  overflow: visible !important;
  content-visibility: auto !important;
  contain-intrinsic-size: 72px !important;
  transition: background-color var(--mhpap-v450-ease), border-color var(--mhpap-v450-ease), box-shadow var(--mhpap-v450-ease), transform var(--mhpap-v450-ease) !important;
}
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track {
  /* CSS Grid already mirrors inline progression in RTL. Keep semantic order
     identical to LTR so the menu stays on the left and the track body on the right. */
  grid-template-columns: minmax(0,1fr) auto !important;
  grid-template-areas: "button menu" !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track::before {
  content: "" !important;
  position: absolute !important;
  inset-block: 11px !important;
  inset-inline-start: -1px !important;
  width: 3px !important;
  border-radius: 999px !important;
  background: transparent !important;
  pointer-events: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track:hover,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track:focus-within {
  color: var(--mhpap-v450-track-hover-text) !important;
  background: var(--mhpap-v450-track-hover) !important;
  border-color: var(--mhpap-v450-border-strong) !important;
  transform: translateY(-1px) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-active,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track[aria-current="true"] {
  color: var(--mhpap-v450-track-active-text) !important;
  background: var(--mhpap-v450-track-active) !important;
  border-color: color-mix(in srgb,var(--mhpap-v450-accent) 34%,var(--mhpap-v450-border)) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.07) !important;
  outline: 0 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-active::before,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track[aria-current="true"]::before { background: var(--mhpap-v450-accent) !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-error {
  border-color: color-mix(in srgb,#d92d20 50%,var(--mhpap-v450-border)) !important;
  background: color-mix(in srgb,#d92d20 7%,var(--mhpap-v450-track-bg-source)) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-error::before { background: #d92d20 !important; }

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-button {
  grid-area: button !important;
  appearance: none !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(48px,auto) !important;
  grid-template-areas: "main duration" !important;
  align-items: center !important;
  gap: 16px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 68px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: inherit !important;
  box-shadow: none !important;
  outline: 0 !important;
  text-decoration: none !important;
  text-align: start !important;
  cursor: pointer !important;
  transform: none !important;
}
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-button {
  grid-template-columns: minmax(0,1fr) minmax(48px,auto) !important;
  grid-template-areas: "main duration" !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-button:hover { color: inherit !important; background: transparent !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-main {
  grid-area: main !important;
  display: grid !important;
  grid-template-columns: auto auto auto minmax(0,1fr) !important;
  grid-template-areas: "number cover state copy" !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-main {
  grid-template-columns: auto auto auto minmax(0,1fr) !important;
  grid-template-areas: "number cover state copy" !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-number {
  grid-area: number !important;
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 50% !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  direction: ltr !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-active .mhpap-playlist__track-number {
  color: var(--mhpap-v450-control-active-color) !important;
  background: var(--mhpap-v450-accent) !important;
  border-color: var(--mhpap-v450-accent) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-cover {
  grid-area: cover !important;
  display: grid !important;
  place-items: center !important;
  width: var(--mhpap-v450-track-cover) !important;
  height: var(--mhpap-v450-track-cover) !important;
  min-width: var(--mhpap-v450-track-cover) !important;
  overflow: hidden !important;
  color: var(--mhpap-v450-muted) !important;
  background: color-mix(in srgb,var(--mhpap-v450-text) 4%,transparent) !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 11px !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-cover img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-state {
  grid-area: state !important;
  display: none !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 12px !important;
  height: 18px !important;
  gap: 2px !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-active .mhpap-playlist__track-state { display: flex !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-state i {
  display: block !important;
  width: 2px !important;
  height: 35% !important;
  background: var(--mhpap-v450-accent) !important;
  border-radius: 2px !important;
  transform-origin: bottom !important;
}
@keyframes mhpap-v450-eq { from { height: 28%; } to { height: 100%; } }
.mhpap-playlist.mhpap-playlist--v450.is-playing .mhpap-playlist__track.is-active .mhpap-playlist__track-state i:nth-child(1) { animation: mhpap-v450-eq .86s ease-in-out infinite alternate; }
.mhpap-playlist.mhpap-playlist--v450.is-playing .mhpap-playlist__track.is-active .mhpap-playlist__track-state i:nth-child(2) { animation: mhpap-v450-eq .64s .13s ease-in-out infinite alternate-reverse; }
.mhpap-playlist.mhpap-playlist--v450.is-playing .mhpap-playlist__track.is-active .mhpap-playlist__track-state i:nth-child(3) { animation: mhpap-v450-eq .74s .06s ease-in-out infinite alternate; }

.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-copy {
  grid-area: copy !important;
  display: grid !important;
  gap: 2px !important;
  min-width: 0 !important;
  max-width: 62ch !important;
  color: inherit !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-copy strong {
  overflow: hidden !important;
  color: inherit !important;
  font-size: 14px;
  font-weight: 720;
  line-height: 1.4;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: inherit !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-copy small {
  overflow: hidden !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: inherit !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-description {
  display: -webkit-box !important;
  overflow: hidden !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  text-align: inherit !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-duration {
  grid-area: duration !important;
  justify-self: end !important;
  min-width: 56px !important;
  color: var(--mhpap-v450-muted) !important;
  font-size: 11px !important;
  font-variant-numeric: tabular-nums !important;
  text-align: end !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

/* Contextual track actions: one clear affordance instead of two persistent icons. */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu {
  grid-area: menu !important;
  position: relative !important;
  align-self: center !important;
  justify-self: end !important;
  margin-inline-end: 9px !important;
  z-index: 5 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu > summary {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 10px !important;
  list-style: none !important;
  cursor: pointer !important;
  opacity: 0 !important;
  transform: translateX(-3px) !important;
  transition: opacity var(--mhpap-v450-ease), transform var(--mhpap-v450-ease), background-color var(--mhpap-v450-ease), color var(--mhpap-v450-ease), border-color var(--mhpap-v450-ease) !important;
}
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-menu > summary { transform: translateX(3px) !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu > summary::-webkit-details-marker { display: none !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track:hover .mhpap-playlist__track-menu > summary,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track:focus-within .mhpap-playlist__track-menu > summary,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu[open] > summary {
  opacity: 1 !important;
  transform: translateX(0) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu > summary:hover,
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu[open] > summary {
  color: var(--mhpap-v450-text) !important;
  background: var(--mhpap-v450-control-hover-bg) !important;
  border-color: var(--mhpap-v450-border) !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu-popover {
  position: absolute !important;
  top: 50% !important;
  right: calc(100% + 7px) !important;
  left: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  width: max-content !important;
  min-width: 0 !important;
  padding: 5px !important;
  color: var(--mhpap-v450-text) !important;
  background: color-mix(in srgb,var(--mhpap-v450-surface) 96%,var(--mhpap-v450-bg)) !important;
  border: 1px solid var(--mhpap-v450-border-strong) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.25) !important;
  transform: translateY(-50%) !important;
  z-index: 30 !important;
}
.mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-menu-popover {
  right: auto !important;
  left: calc(100% + 7px) !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__queue-next,.mhpap-playlist__queue-add) {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  grid-template-columns: 18px auto !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 5px 9px !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  text-align: start !important;
  cursor: pointer !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__queue-next,.mhpap-playlist__queue-add):hover {
  color: var(--mhpap-v450-text) !important;
  background: var(--mhpap-v450-control-hover-bg) !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__queue-next,.mhpap-playlist__queue-add) .mhpap-icon { width: 18px !important; height: 18px !important; }

/* Track density variants remain meaningful but controlled. */
.mhpap-playlist.mhpap-playlist--v450.mhpap-track-design--compact .mhpap-playlist__track,
.mhpap-playlist.mhpap-playlist--v450.mhpap-track-design--dense .mhpap-playlist__track { min-height: 60px !important; }
.mhpap-playlist.mhpap-playlist--v450.mhpap-track-design--compact .mhpap-playlist__track-button,
.mhpap-playlist.mhpap-playlist--v450.mhpap-track-design--dense .mhpap-playlist__track-button { min-height: 58px !important; padding-block: 6px !important; }
.mhpap-playlist.mhpap-playlist--v450.mhpap-track-design--card .mhpap-playlist__track,
.mhpap-playlist.mhpap-playlist--v450.mhpap-track-design--media .mhpap-playlist__track { min-height: 76px !important; }

/* Queue panel generated by the stable runtime. */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-queue-item {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 5px 0 !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-queue-title { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-queue-actions { display: inline-flex !important; align-items: center !important; gap: 3px !important; }
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-v43-queue-up,.mhpap-v43-queue-down,.mhpap-v43-queue-remove) {
  appearance: none !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  cursor: pointer !important;
}
.mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-v43-queue-up,.mhpap-v43-queue-down,.mhpap-v43-queue-remove):hover { color: var(--mhpap-v450-text) !important; background: var(--mhpap-v450-control-hover-bg) !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-queue-remove:hover { color: #ff8585 !important; }
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-queue-clear {
  appearance: none !important;
  margin-top: 6px !important;
  padding: 4px 0 !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  cursor: pointer !important;
}

/* v4.4 history trigger remains optional, but now looks native to this system. */
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v44-history-trigger {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  color: var(--mhpap-v450-control-color) !important;
  background: transparent !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-v44-history-trigger:hover { color: var(--mhpap-v450-control-hover-color) !important; background: var(--mhpap-v450-control-hover-bg) !important; }

/* Loading/recovery feedback without moving layout. */
.mhpap-playlist.mhpap-playlist--v450.mhpap-v43-state-loading .mhpap-playlist__now,
.mhpap-playlist.mhpap-playlist--v450.mhpap-v43-state-buffering .mhpap-playlist__now { position: relative !important; overflow: hidden !important; }
.mhpap-playlist.mhpap-playlist--v450.mhpap-v43-state-loading .mhpap-playlist__now::after,
.mhpap-playlist.mhpap-playlist--v450.mhpap-v43-state-buffering .mhpap-playlist__now::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background: linear-gradient(100deg,transparent 20%,rgba(255,255,255,.06) 48%,transparent 76%) !important;
  transform: translateX(-105%) !important;
  animation: mhpap-v450-shimmer 1.35s ease-in-out infinite !important;
}
@keyframes mhpap-v450-shimmer { to { transform: translateX(105%); } }

/* --------------------------------------------------------------------------
   Focus, hover, input modality
   -------------------------------------------------------------------------- */
.mhpap-playlist.mhpap-playlist--v450 :where(
  .mhpap-playlist__track-button,
  .mhpap-playlist__btn,
  .mhpap-playlist__play,
  .mhpap-playlist__action,
  .mhpap-playlist__track-menu > summary,
  .mhpap-playlist__queue-next,
  .mhpap-playlist__queue-add,
  .mhpap-playlist__library-toggle,
  .mhpap-playlist__show-more,
  .mhpap-v43-sort,
  .mhpap-v44-history-trigger,
  input,
  select
):focus-visible {
  outline: 2px solid var(--mhpap-v450-focus) !important;
  outline-offset: 3px !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-button:focus-visible {
  outline-offset: -4px !important;
  border-radius: inherit !important;
}
.mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__show-more {
  appearance: none !important;
  min-height: 40px !important;
  margin: 4px auto 0 !important;
  padding: 0 16px !important;
  color: var(--mhpap-v450-muted) !important;
  background: transparent !important;
  border: 1px solid var(--mhpap-v450-border) !important;
  border-radius: 999px !important;
  cursor: pointer !important;
}

@media (hover: none), (pointer: coarse) {
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu > summary {
    opacity: 1 !important;
    transform: none !important;
    width: 40px !important;
    height: 40px !important;
  }
}

/* --------------------------------------------------------------------------
   Responsive layout
   -------------------------------------------------------------------------- */
@container (max-width: 980px) {
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__player {
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-areas: "hero" "controls" !important;
    gap: 24px !important;
  }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__hero { max-width: none !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__control-panel { max-width: none !important; }
}

@container (max-width: 720px) {
  .mhpap-playlist.mhpap-playlist--v450 {
    gap: 12px !important;
    padding: 10px !important;
    border-radius: 16px !important;
  }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__player {
    gap: 20px !important;
    padding: 16px !important;
    border-radius: 14px !important;
  }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__hero { gap: 18px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__title { max-width: none !important; font-size: clamp(21px, 7vw, 28px); }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__now {
    grid-template-columns: 68px minmax(0,1fr) !important;
    grid-template-areas: "cover meta" !important;
    gap: 12px !important;
  }
  .mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__now {
    grid-template-columns: minmax(0,1fr) 68px !important;
    grid-template-areas: "meta cover" !important;
  }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__cover-wrap {
    width: 68px !important;
    height: 68px !important;
    min-width: 68px !important;
  }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__control-panel { padding: 15px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__utilities { grid-template-columns: 1fr !important; align-items: stretch !important; }
  .mhpap-playlist.mhpap-playlist--v450 :where(.mhpap-playlist__utilities-primary,.mhpap-playlist__actions) { justify-content: stretch !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__volume-wrap { flex: 1 1 180px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-head { align-items: stretch !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-tools {
    flex: 1 1 100% !important;
    width: 100% !important;
    justify-content: stretch !important;
  }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search { flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-sort { flex: 0 0 auto !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track { min-height: 64px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-button { min-height: 62px !important; gap: 8px !important; padding: 7px 8px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-number { display: none !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-main { grid-template-columns: auto auto minmax(0,1fr) !important; grid-template-areas: "cover state copy" !important; gap: 8px !important; }
  .mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-main { grid-template-columns: auto auto minmax(0,1fr) !important; grid-template-areas: "cover state copy" !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-cover { width: 44px !important; height: 44px !important; min-width: 44px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-duration { min-width: 46px !important; font-size: 10px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu { margin-inline-end: 5px !important; }
}

@container (max-width: 520px) {
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__transport { gap: 6px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__btn { width: 40px !important; height: 40px !important; min-width: 40px !important; min-height: 40px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__play { width: 58px !important; height: 58px !important; min-width: 58px !important; min-height: 58px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__library-tools { display: grid !important; grid-template-columns: 1fr !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-v43-sort,
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search { width: 100% !important; max-width: none !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-button { grid-template-columns: minmax(0,1fr) auto !important; grid-template-areas: "main duration" !important; }
  .mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-button { grid-template-columns: minmax(0,1fr) auto !important; grid-template-areas: "main duration" !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-state { display: none !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-main { grid-template-columns: auto minmax(0,1fr) !important; grid-template-areas: "cover copy" !important; }
  .mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-main { grid-template-columns: auto minmax(0,1fr) !important; grid-template-areas: "cover copy" !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-cover { width: 42px !important; height: 42px !important; min-width: 42px !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-copy strong { font-size: 13px; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu-popover {
    top: calc(100% + 6px) !important;
    right: 0 !important;
    left: auto !important;
    display: grid !important;
    min-width: 154px !important;
    transform: none !important;
  }
  .mhpap-playlist.mhpap-playlist--v450[dir="rtl"] .mhpap-playlist__track-menu-popover { right: auto !important; left: 0 !important; }
}

@media (max-width: 980px) {
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__player {
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-areas: "hero" "controls" !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mhpap-playlist.mhpap-playlist--v450 *,
  .mhpap-playlist.mhpap-playlist--v450 *::before,
  .mhpap-playlist.mhpap-playlist--v450 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  .mhpap-playlist.mhpap-playlist--v450,
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__player,
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__control-panel,
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track,
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__search,
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track-menu-popover { border: 1px solid CanvasText !important; }
  .mhpap-playlist.mhpap-playlist--v450 .mhpap-playlist__track.is-active::before { background: Highlight !important; }
}
