/* SunoWeb unified audio player — shared by Library / Car / Cover Art.
   Cosmetic layout only: no audio DOM changes, no JS event rebinding.
   Loaded AFTER car-web.css, player-modern.css and metallic themes.
   Uses the same viewport breakpoints for every page, not .sunocar-page.
   Album art, visualizer, karaoke and the separate offline drawer are untouched. */

/* A single stable player surface and an independently scrollable control area.
   Keep a landscape screen's song list from scrolling when using the player. */
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) {
    box-sizing:border-box;
    width:100%;
    max-height:70vh;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:var(--sw-gold, #a58a4e) transparent;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact)::-webkit-scrollbar {width:9px;}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact)::-webkit-scrollbar-thumb {
    background:var(--sw-gold, #a58a4e);
    border:2px solid #1c2430;
    border-radius:9px;
}
/* Same grid geometry regardless of which page was opened. */
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-main {
    box-sizing:border-box;
    width:100%;
    display:grid;
    grid-template-columns:minmax(165px, 1fr) auto minmax(165px, 1.25fr);
    align-items:center;
    gap:8px 14px;
    padding-right:34px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-left,
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-center,
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-right {min-width:0;}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-right {grid-column:auto;}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-progress {
    display:grid;
    grid-template-columns:38px minmax(0,1fr) 38px;
    gap:7px;
    align-items:center;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-controls {
    display:flex;
    align-items:center;
    gap:5px;
    padding:4px 7px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.suno-transport-button {
    flex:0 0 41px;
    width:41px;
    min-width:41px;
    height:42px;
    min-height:42px;
    border-radius:12px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.global-main-play.suno-transport-button {
    flex:0 0 59px;
    width:59px;
    min-width:59px;
    height:59px;
    min-height:59px;
    border-radius:18px;
}

/* Shared second row: volume, shuffle/crossfade and queue/lyrics; EQ below.
   No page-specific layout or differences in the visible controls. */
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-tools {
    box-sizing:border-box;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,340px) minmax(0,1fr);
    gap:7px 14px;
    align-items:center;
    margin-top:8px;
    padding-top:8px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-volume {
    display:flex;
    align-items:center;
    box-sizing:border-box;
    min-width:0;
    width:100%;
    gap:9px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-volume input[type="range"] {
    flex:1 1 auto;
    width:100%;
    max-width:320px;
    min-width:0;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-options {
    display:flex;
    flex-wrap:wrap;
    min-width:0;
    justify-content:flex-start;
    gap:5px 12px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-eq-tools {
    grid-column:1 / -1;
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-items:center;
    box-sizing:border-box;
    min-width:0;
    width:100%;
    gap:6px 9px;
    padding:6px 9px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-eq-tools select.form-select {
    flex:0 1 145px;
    width:145px;
    min-width:100px;
    max-width:165px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-eq-tools .global-preamp {
    display:flex;
    flex:1 1 160px;
    width:auto;
    min-width:125px;
    gap:6px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-eq-tools .global-preamp input[type="range"] {
    flex:1 1 auto;
    min-width:55px;
    width:100%;
}
/* EQ collapsed remains independently restorable; keep v4 EQ state logic. */
#globalAudioPlayer.suno-modern-player.suno-eq-collapsed:not(.suno-player-compact) .global-player-eq-tools {
    display:flex;
    flex:0 1 auto;
    width:max-content;
    max-width:100%;
    padding:5px 8px;
    gap:7px;
}

/* Every page uses the ALPS-size touch volume below 1024px.
   The thumb, track, fill and border colors remain controlled by the v7
   metallic theme stylesheet, including its four customization sliders. */
@media (max-width:1024px) {
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-volume {min-height:52px;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-volume input[type="range"] {
      height:48px;
      max-width:320px;
      margin:0;
      touch-action:pan-y;
  }
}

/* Identical landscape layout at 1024px / 800px whether Library or Car. */
@media (max-width:1100px) {
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-main {
      grid-template-columns:minmax(140px,1fr) auto minmax(125px,1.2fr);
      gap:5px 9px;
      padding-right:32px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.suno-transport-button {
      flex-basis:40px;width:40px;min-width:40px;height:42px;min-height:42px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.global-main-play.suno-transport-button {
      flex-basis:54px;width:54px;min-width:54px;height:54px;min-height:54px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-controls {gap:4px;padding:3px 5px;}
}
/* Narrow tablets and portrait phones have the same 2-row transport
   placement (info / buttons; progress beneath) across ALL three views. */
@media (max-width:750px) {
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-main {
      grid-template-columns:minmax(0,1fr) auto;
      gap:5px 8px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-left {grid-column:1;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-center {grid-column:2;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-right {grid-column:1 / -1;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-tools {grid-template-columns:minmax(0,1fr);gap:6px;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-volume {width:min(100%,360px);}
}
@media (max-width:520px) {
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-main {
      grid-template-columns:minmax(0,1fr);
      padding-right:30px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-left,
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-center,
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-right {grid-column:1;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-center {justify-content:center;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-progress {grid-template-columns:34px minmax(0,1fr) 34px;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-controls {gap:3px;}
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.suno-transport-button {
      flex-basis:38px;width:38px;min-width:38px;height:40px;min-height:40px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.global-main-play.suno-transport-button {
      flex-basis:52px;width:52px;min-width:52px;height:52px;min-height:52px;
  }
}
@media (orientation:landscape) and (max-height:700px) {
   #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) {
       max-height:65vh;
       padding:6px 10px 7px;
   }
}

/* 14 Oct 2026 · Minimized player: clean status area + a usable seek bar.
   Reuse #globalSeekSlider (the same input already bound to playback seeking);
   never clone it or introduce another audio control/state.  This intentionally
   affects the minimized player only. Expanded player retains both diagnostics. */
#globalAudioPlayer.suno-modern-player.suno-player-compact {
    width:min(470px,calc(100vw - 16px));
    right:8px;
    max-height:none;
    height:auto;
    padding:9px 46px 7px 9px;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-info #sunoStreamDspStatus,
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-info #sunoAnalysisPlayerBadge,
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-info .suno-analysis-badge {
    display:none!important;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .player-row-main {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto;
    column-gap:8px!important;
    row-gap:5px!important;
    align-items:center;
    width:100%;
    padding:0!important;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .player-left {
    grid-column:1!important;
    grid-row:1!important;
    min-width:0;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .player-center {
    grid-column:2!important;
    grid-row:1!important;
    min-width:0;
}
/* Older compact CSS deliberately hid the whole player-right (with !important).
   Unhide that ORIGINAL seek control and show it beneath title/playback. */
#globalAudioPlayer.suno-modern-player.suno-player-compact .player-right {
    display:block!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%;
    min-width:0;
    padding:0 2px;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-progress {
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) 32px!important;
    align-items:center;
    gap:6px;
    margin:0;
    width:100%;
    min-width:0;
    font-size:10px;
    line-height:1.3;
    font-variant-numeric:tabular-nums;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-progress span:last-child {text-align:right;}
#globalAudioPlayer.suno-modern-player.suno-player-compact #globalSeekSlider {
    display:block!important;
    box-sizing:border-box;
    width:100%;
    min-width:0;
    height:24px;
    margin:0;
    cursor:pointer;
    touch-action:pan-x;
    accent-color:var(--metal-face-accent,var(--sw-gold,#f6c86c));
}
@media (max-width:370px) {
    #globalAudioPlayer.suno-modern-player.suno-player-compact {
        width:calc(100vw - 10px);right:5px;padding-right:41px;
    }
    #globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-cover,
    #globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-cover img {
        width:35px;height:35px;flex-basis:35px;
    }
    #globalAudioPlayer.suno-modern-player.suno-player-compact .player-row-main {column-gap:5px!important;}
}

/* ================================================================
   V24.6: Player / EQ alternate views — never stacked.
   No changes to #globalVolumeSlider styling. Original 48px-height volume
   touch area and 34px thumb at <=1024px are retained in theme CSS.
   ================================================================ */
#globalAudioPlayer.suno-modern-player #sunoPlayerView[hidden],
#globalAudioPlayer.suno-modern-player #sunoEqView[hidden] {display:none!important;}
#globalAudioPlayer.suno-modern-player #sunoPlayerView {display:block;min-width:0;}
#globalAudioPlayer.suno-modern-player #sunoEqView {
  box-sizing:border-box;width:100%;min-width:0;max-height:calc(70vh - 20px);
  overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;padding:2px 3px 5px;
}
#globalAudioPlayer.suno-modern-player.suno-eq-view-active {
  max-height:70vh;overflow:hidden;
}
#globalAudioPlayer.suno-modern-player .suno-eq-view-head {
  display:flex;align-items:center;gap:12px;margin:0 35px 8px 0;
  padding:2px 0 7px;border-bottom:1px solid #ffffff2b;
  color:var(--metal-hi,var(--sw-gold-bright,#ffdf96));
  font-size:15px;
}
#globalAudioPlayer.suno-modern-player .suno-eq-view-head .suno-eq-view-close,
#globalAudioPlayer.suno-modern-player .suno-eq-view-open {
  border:1px solid var(--metal-accent,var(--sw-gold,#f6c86c));
  color:var(--metal-hi,#f6c86c);background:#302833;
  font-size:12px;font-weight:700;min-height:34px;
  border-radius:9px;white-space:nowrap;touch-action:manipulation;
}
#globalAudioPlayer.suno-modern-player .suno-eq-view-head .suno-eq-view-close:hover,
#globalAudioPlayer.suno-modern-player .suno-eq-view-open:hover {background:#403747;color:#fff;}
#globalAudioPlayer.suno-modern-player #sunoEqView .global-player-eq-tools {
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;
  width:100%;min-width:0;box-sizing:border-box;
  gap:7px 10px;margin:0;padding:4px 4px 8px;
  border:0;border-radius:0;background:transparent;white-space:normal;
}
#globalAudioPlayer.suno-modern-player #sunoEqView .global-player-eq-tools .global-preamp {
  display:flex;flex:1 1 200px;min-width:175px;align-items:center;
  gap:7px;width:auto;
}
#globalAudioPlayer.suno-modern-player #sunoEqView .global-player-eq-tools .global-preamp input[type="range"] {
  flex:1 1 auto;width:100%;min-width:75px;
}
#globalAudioPlayer.suno-modern-player #sunoEqView .global-player-eq-tools select.form-select {
  flex:0 1 145px;width:145px;max-width:175px;min-width:100px;
}
#globalAudioPlayer.suno-modern-player #sunoEqView .global-eq-panel {
  padding-top:7px;margin-top:6px;max-width:100%;
}
#globalAudioPlayer.suno-modern-player #sunoEqView .global-eq-bands {
  justify-content:flex-start;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
}
/* The DSP analysis status is still available in the dedicated Diagnostics
   panel; hide its transient banners in the already crowded playback panel. */
#globalAudioPlayer.suno-modern-player #sunoStreamDspStatus,
#globalAudioPlayer.suno-modern-player #sunoAnalysisPlayerBadge,
#globalAudioPlayer.suno-modern-player .global-player-info .suno-analysis-badge {display:none!important;}
/* Remove the former always-visible EQ row and tighten existing player spacing. */
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact):not(.suno-eq-view-active) {
  padding-top:7px;padding-bottom:7px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-tools {
  margin-top:4px;padding-top:5px;gap:4px 9px;
}
#globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-options {
  align-items:center;gap:5px 9px;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact {padding-top:6px;padding-bottom:5px;}
#globalAudioPlayer.suno-modern-player.suno-player-compact .player-row-main {row-gap:1px!important;}
@media (max-width:750px) {
  #globalAudioPlayer.suno-modern-player #sunoEqView .global-player-eq-tools {gap:5px 7px;}
  #globalAudioPlayer.suno-modern-player .suno-eq-view-head {margin-bottom:4px;padding-bottom:4px;}
}
/* At ALPS-size landscape preserve the full-size touch volume slider from v7,
   while keeping the two views independently scrollable. */
@media (orientation:landscape) and (max-width:650px) and (max-height:360px) {
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-volume {min-height:52px;}
  #globalAudioPlayer.suno-modern-player #sunoEqView {max-height:calc(70vh - 20px);}
}

/* Minimized: preserve the seek bar but avoid a needlessly tall footprint. */
#globalAudioPlayer.suno-modern-player.suno-player-compact {
  padding-top:4px;padding-bottom:4px;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-cover,
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-cover img {
  width:35px;height:35px;flex-basis:35px;
}
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-controls {padding:0;}
#globalAudioPlayer.suno-modern-player.suno-player-compact .global-player-progress {line-height:1;}
#globalAudioPlayer.suno-modern-player.suno-player-compact #globalSeekSlider {height:18px;}
#globalAudioPlayer.suno-modern-player.suno-player-compact .suno-player-compact-toggle {top:7px;}
/* The 597x270 landscape playback controls should keep options available
   without stealing a third/fourth row; volume remains 48px high. */
@media (orientation:landscape) and (max-width:650px) and (max-height:360px) {
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact):not(.suno-eq-view-active) .player-row-main {
    grid-template-columns:minmax(100px,1fr) auto;
    gap:2px 5px;padding-right:28px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-controls {
    gap:2px;padding:2px 3px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.suno-transport-button {
    flex:0 0 31px;width:31px;min-width:31px;height:34px;min-height:34px;border-radius:9px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-button.global-main-play.suno-transport-button {
    flex:0 0 43px;width:43px;min-width:43px;height:43px;min-height:43px;border-radius:12px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .player-row-tools {
    display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin-top:2px;padding-top:2px;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-options {
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    max-width:100%;min-height:29px;align-items:center;white-space:nowrap;gap:7px;
    -webkit-overflow-scrolling:touch;touch-action:pan-x;
  }
  #globalAudioPlayer.suno-modern-player:not(.suno-player-compact) .global-player-options > * {flex-shrink:0;}
}

/* V24.7 — Retain the live spectrum while playing, but reserve NO vertical
   space for it when both playback decks are paused, stopped or idle.
   Do not alter EQ bands, analyzer DSP or volume touch targets. */
#globalAudioPlayer.suno-modern-player #sunoEqView #globalSpectrumCanvas.suno-spectrum-inactive {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* V25.0 — inline status badges next to the existing Active EQ badge.
   The large Quality/Peak panels are replaced, without losing diagnostics.
   Native <details> makes full detail available to mouse, touch and keyboard. */
#globalAudioPlayer.suno-modern-player .suno-eq-status-badges {
  display:flex;flex-wrap:nowrap;align-items:center;gap:6px;
  width:100%;min-width:0;max-width:100%;margin:5px 0 2px;
  position:relative;isolation:isolate;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badges > .sunoweb-named-eq-status {
  display:block;flex:0 1 auto;width:auto;max-width:min(55%, 370px);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;
  margin:0;padding:4px 8px;font-size:11px;line-height:1.4;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge {
  position:relative;flex:0 0 auto;min-width:0;margin:0;
  border:1px solid rgba(135,145,163,.55);border-radius:10px;
  background:rgba(23,29,40,.94);color:#d9e5f5;
  font:600 11px/1.4 system-ui,Segoe UI,sans-serif;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge > summary {
  display:block;white-space:nowrap;cursor:pointer;
  list-style:none;padding:4px 9px;user-select:none;
  -webkit-tap-highlight-color:transparent;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge > summary::-webkit-details-marker {display:none;}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge > summary::marker {content:'';}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge summary strong {
  color:var(--metal-accent,#f0c279);
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge[open] {z-index:20;}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge:focus-within,
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge[open] {border-color:var(--metal-accent,#f0c279);}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge summary:focus-visible {
  outline:2px solid var(--metal-accent,#f0c279);outline-offset:2px;border-radius:10px;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge .suno-eq-status-detail {
  position:absolute;bottom:calc(100% + 6px);right:0;
  width:max-content;min-width:210px;max-width:min(310px,calc(100vw - 24px));
  padding:9px 11px;border-radius:9px;border:1px solid #6a7283;
  background:#131923;color:#e7edf7;box-shadow:0 8px 26px #000c;
  font-size:12px;font-weight:400;line-height:1.45;white-space:normal;overflow-wrap:anywhere;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge .suno-eq-status-detail small {
  display:block;color:#cbd8ea;font-size:12px;margin-top:3px;
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge[data-state="warning"] {
  color:#ffcccc;border-color:#d75a5a;background:rgba(99,23,38,.8);
}
#globalAudioPlayer.suno-modern-player .suno-eq-status-badge[data-state="ok"] {border-color:rgba(68,158,104,.65);}
@media(max-width:480px) {
  #globalAudioPlayer.suno-modern-player .suno-eq-status-badges {gap:4px;}
  #globalAudioPlayer.suno-modern-player .suno-eq-status-badges > .sunoweb-named-eq-status {
    flex:1 1 100px;max-width:none;padding:4px 6px;font-size:10px;
  }
  #globalAudioPlayer.suno-modern-player .suno-eq-status-badge {font-size:10px;}
  #globalAudioPlayer.suno-modern-player .suno-eq-status-badge > summary {padding:4px 6px;}
}

/* V25.1: HIDDEN is opt-in. Nothing in the existing NORMAL or MINIMAL
   dimensions/styles is changed. HTMLAudioElements remain mounted and playing. */
#globalAudioPlayer.suno-modern-player.suno-player-user-hidden {
  display:none!important;
}
#sunoPlayerRestoreTab[hidden] {display:none!important;}
#sunoPlayerRestoreTab {
  position:fixed;
  right:0;
  bottom:var(--hosting-bottom-overlay-height,0px);
  z-index:1105;
  display:flex;align-items:center;justify-content:center;
  width:44px;height:46px;
  padding:0;margin:0;
  border:1px solid var(--metal-accent,var(--sw-gold,#f6c86c));
  border-right:none;
  border-radius:12px 0 0 12px;
  background:var(--metal-accent,var(--sw-gold,#f6c86c));
  color:var(--metal-ink,#191817);
  box-shadow:0 1px 14px rgba(0,0,0,.55);
  font:700 24px/1 system-ui,Segoe UI,sans-serif;
  cursor:pointer;touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
#sunoPlayerRestoreTab:focus-visible {outline:2px solid white;outline-offset:2px;}
#sunoPlayerRestoreTab:active {filter:brightness(.87);}
@media(max-width:650px), (max-height:300px) {
  #sunoPlayerRestoreTab {width:44px;height:44px;}
}


/* V25.3 — Hide action beside the existing Minimal-player restore button.
   The two existing player layouts, sizes, volume styling and EQ are untouched.
   Normal mode never displays this extra control. */
#globalAudioPlayer.suno-modern-player #globalPlayerHideButton {display:none!important;}
#globalAudioPlayer.suno-modern-player.suno-player-compact #globalPlayerHideButton {
  display:inline-flex!important;
  position:absolute;
  z-index:5;
  right:45px;top:7px;
  width:31px;height:31px;
  padding:0;
  box-sizing:border-box;
  cursor:pointer;
}
/* Shift only the compact row's right-hand inset to avoid overlap with Next.
   Existing player width, height, transport and seek-slider dimensions remain. */
#globalAudioPlayer.suno-modern-player.suno-player-compact {padding-right:80px;}
@media (max-width:370px) {
  #globalAudioPlayer.suno-modern-player.suno-player-compact {padding-right:76px;}
}
#globalAudioPlayer.suno-modern-player.suno-player-compact #globalPlayerHideButton:focus-visible {
  outline:2px solid var(--sw-gold-bright,#ffdf75);outline-offset:2px;
}
