.revo-mp3-player {
  --revo-accent: var(--qt-primary-color, #ff5b35);
  --revo-bg: #121317;
  --revo-panel: #191a20;
  --revo-line: rgba(255,255,255,.09);
  --revo-text: #fff;
  --revo-muted: #9a9ca7;
  background: var(--revo-bg);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
  color: var(--revo-text);
  font-family: inherit;
  overflow: hidden;
}
.revo-mp3-player *, .revo-mp3-player *::before, .revo-mp3-player *::after { box-sizing: border-box; }
.revo-mp3-now { background: radial-gradient(circle at 92% 0, rgba(255,91,53,.22), transparent 36%), linear-gradient(135deg, #242129, #121317 65%); padding: clamp(24px,5vw,52px); }
.revo-mp3-heading { align-items: center; display: flex; gap: 22px; min-width: 0; }
.revo-mp3-cover { align-items: center; background: linear-gradient(145deg, var(--revo-accent), #ff9c42); border-radius: 14px; box-shadow: 0 12px 32px rgba(255,91,53,.22); display: flex; flex: 0 0 92px; height: 92px; justify-content: center; }
.revo-mp3-cover svg { fill: none; height: 42px; stroke: white; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 42px; }
.revo-mp3-titles { min-width: 0; }
.revo-mp3-eyebrow, .revo-mp3-section-label { color: var(--revo-accent); display: block; font-size: 11px; font-weight: 800; letter-spacing: .15em; margin-bottom: 8px; text-transform: uppercase; }
.revo-mp3-now h2 { color: var(--revo-text); font-size: clamp(24px,4vw,44px); line-height: 1.08; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.revo-mp3-status { color: var(--revo-muted); font-size: 13px; margin-top: 9px; }
.revo-mp3-wave-wrap { margin-top: 34px; }
.revo-mp3-wave-wrap canvas { cursor: pointer; display: block; height: 112px; outline: none; touch-action: manipulation; width: 100%; }
.revo-mp3-wave-wrap canvas:focus-visible { box-shadow: 0 0 0 2px var(--revo-accent); }
.revo-mp3-time { color: var(--revo-muted); display: flex; font-size: 12px; font-variant-numeric: tabular-nums; justify-content: space-between; margin-top: 6px; }
.revo-mp3-controls { align-items: center; display: flex; justify-content: space-between; margin-top: 22px; }
.revo-mp3-transport, .revo-mp3-secondary { align-items: center; display: flex; gap: 8px; }
.revo-mp3-controls button { align-items: center; background: transparent; border: 0; border-radius: 50%; color: var(--revo-text); cursor: pointer; display: inline-flex; height: 42px; justify-content: center; margin: 0; padding: 0; transition: background .2s,color .2s,transform .2s; width: 42px; }
.revo-mp3-controls button:hover { background: rgba(255,255,255,.08); color: var(--revo-accent); }
.revo-mp3-controls button:active { transform: scale(.94); }
.revo-mp3-controls button svg { fill: none; height: 21px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 21px; }
.revo-mp3-controls button svg text { fill: currentColor; font: 700 7px sans-serif; stroke: none; }
.revo-mp3-controls .revo-mp3-play { background: var(--revo-accent); box-shadow: 0 8px 24px rgba(255,91,53,.28); height: 58px; width: 58px; }
.revo-mp3-controls .revo-mp3-play:hover { background: #ff714f; color: white; }
.revo-mp3-play .icon-pause, .is-playing .revo-mp3-play .icon-play, .revo-mp3-secondary .icon-muted { display: none; }
.is-playing .revo-mp3-play .icon-pause, .revo-mp3-secondary .is-muted .icon-muted { display: block; }
.revo-mp3-secondary .is-muted .icon-volume { display: none; }
.revo-mp3-controls button.is-active { background: rgba(255,91,53,.16); color: var(--revo-accent); }
.revo-mp3-secondary input[type="range"] { accent-color: var(--revo-accent); cursor: pointer; margin: 0; width: 90px; }
.revo-mp3-library { background: var(--revo-panel); padding: clamp(24px,4vw,42px) clamp(20px,5vw,52px); }
.revo-mp3-library-head { align-items: flex-end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 20px; }
.revo-mp3-library-head strong { color: var(--revo-text); display: block; font-size: 20px; }
.revo-mp3-library input[type="search"] { background: #24252c; border: 1px solid transparent; border-radius: 24px; color: var(--revo-text); font: inherit; max-width: 330px; outline: 0; padding: 12px 18px; width: 100%; }
.revo-mp3-library input[type="search"]:focus { border-color: var(--revo-accent); }
.revo-mp3-library ol { list-style: none; margin: 0; max-height: 520px; overflow: auto; padding: 0; }
.revo-mp3-library li { border-top: 1px solid var(--revo-line); margin: 0; }
.revo-mp3-library li:last-child { border-bottom: 1px solid var(--revo-line); }
.revo-mp3-library li[hidden] { display: none; }
.revo-mp3-library li button { align-items: center; background: transparent; border: 0; color: var(--revo-text); cursor: pointer; display: grid; font: inherit; gap: 16px; grid-template-columns: 30px 42px minmax(0,1fr) auto; margin: 0; padding: 14px 10px; text-align: left; transition: background .2s; width: 100%; }
.revo-mp3-library li button:hover, .revo-mp3-library li.is-current button { background: rgba(255,255,255,.045); }
.revo-mp3-track-number { color: #70727d; font-size: 12px; font-variant-numeric: tabular-nums; }
.revo-mp3-track-play { align-items: center; background: #2b2c34; border-radius: 50%; display: flex; height: 38px; justify-content: center; width: 38px; }
.revo-mp3-track-play svg { fill: currentColor; height: 16px; width: 16px; }
.revo-mp3-library li.is-current .revo-mp3-track-play { background: var(--revo-accent); }
.revo-mp3-track-name { font-weight: 650; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.revo-mp3-track-action { color: var(--revo-accent); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.revo-mp3-notice { border-left: 4px solid #ff5b35; padding: 10px 14px; }

@media (max-width: 680px) {
  .revo-mp3-player { border-radius: 14px; }
  .revo-mp3-now { padding: 24px 18px 22px; }
  .revo-mp3-cover { border-radius: 11px; flex-basis: 68px; height: 68px; }
  .revo-mp3-cover svg { height: 31px; width: 31px; }
  .revo-mp3-heading { gap: 14px; }
  .revo-mp3-now h2 { font-size: 23px; }
  .revo-mp3-wave-wrap { margin-top: 24px; }
  .revo-mp3-wave-wrap canvas { height: 82px; }
  .revo-mp3-controls { align-items: center; flex-direction: column; gap: 18px; }
  .revo-mp3-transport { justify-content: center; width: 100%; }
  .revo-mp3-secondary { justify-content: center; width: 100%; }
  .revo-mp3-library { padding: 24px 16px; }
  .revo-mp3-library-head { align-items: stretch; flex-direction: column; gap: 14px; }
  .revo-mp3-library input[type="search"] { max-width: none; }
  .revo-mp3-library li button { gap: 10px; grid-template-columns: 22px 38px minmax(0,1fr); padding: 13px 4px; }
  .revo-mp3-track-action { display: none; }
}

@media (max-width: 390px) {
  .revo-mp3-controls button { height: 38px; width: 38px; }
  .revo-mp3-controls .revo-mp3-play { height: 54px; width: 54px; }
  .revo-mp3-secondary input[type="range"] { width: 105px; }
}
