VibeCoderzVibeCoderz
Telegram
All Prompts
Animated Glassmorphic Music Player Card preview
music playercardtailwindanimatedglassmorphismaudiointeractivemedia controls

Animated Glassmorphic Music Player Card

Стильная карточка музыкального плеера с анимацией: вращающаяся обложка, волны звука, ползунки громкости/прогресса, элементы управления. Glassmorphism UI.

Prompt

<div
  class="group relative overflow-hidden ring-1 ring-black/5 shadow-black/25 hover:shadow-indigo-500/10 transition-all duration-500 bg-black/20 border-white/10 border rounded-3xl shadow-2xl backdrop-blur-xl">
  <!-- Dynamic gradient overlay with pulse effect -->
  <div
    class="pointer-events-none absolute -inset-40 opacity-30 blur-3xl transition-all duration-1000 group-[.is-playing]:opacity-50 group-[.is-playing]:animate-pulse-glow"
    aria-hidden="true"
    style="background: radial-gradient(60% 60% at 30% 30%, rgba(99,102,241,0.35) 0%, rgba(168,85,247,0.25) 35%, rgba(236,72,153,0.15) 70%, transparent 100%);">
  </div>

  <!-- Enhanced glassmorphism overlay -->
  <div class="absolute inset-0 bg-gradient-to-br from-white/[0.08] via-white/[0.02] to-transparent pointer-events-none">
  </div>

  <!-- Animated border glow -->
  <div
    class="absolute inset-0 rounded-3xl opacity-0 group-[.is-playing]:opacity-100 transition-opacity duration-1000 border-glow">
  </div>

  <!-- Top section with enhanced album art -->
  <div class="relative z-20 pt-6 pr-6 pb-6 pl-6">
    <div class="flex items-start gap-5">
      <!-- Album Art with enhanced styling and rotation effect -->
      <div class="relative shrink-0 group/art cursor-pointer" id="albumArtContainer">
        <div
          class="h-32 w-32 overflow-hidden rounded-2xl ring-2 ring-white/20 shadow-2xl shadow-black/40 relative group-[.is-playing]:animate-slow-spin">
          <img id="albumArt" src="https://images.unsplash.com/photo-1493225457124-a3eb161ffa5f?w=400&amp;h=400&amp;fit=crop&amp;crop=faces&amp;auto=format" alt="Midnight Synthwave album art" class="h-full w-full object-cover transition-all duration-500 group-hover/art:scale-110 group-[.is-playing]:brightness-110" style="">
          <!-- Vinyl overlay effect -->
          <div class="absolute inset-0 bg-gradient-to-br from-transparent via-transparent to-black/20"></div>
          <!-- Enhanced shine effect -->
          <div
            class="absolute inset-0 opacity-0 group-hover/art:opacity-100 group-[.is-playing]:opacity-60 transition-opacity duration-500 bg-gradient-to-r from-transparent via-white/30 to-transparent transform -skew-x-12 animate-shine">
          </div>
          <!-- Click indicator with pulse -->
          <div
            class="absolute inset-0 flex items-center justify-center opacity-0 group-hover/art:opacity-100 transition-opacity duration-300 bg-black/30">
            <div class="rounded-full bg-white/20 backdrop-blur-sm p-3 animate-pulse-slow">
              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
                stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
                data-lucide="music" class="lucide lucide-music h-6 w-6 stroke-[1.5] text-white">
                <path d="M9 18V5l12-2v13"></path>
                <circle cx="6" cy="18" r="3"></circle>
                <circle cx="18" cy="16" r="3"></circle>
              </svg>
            </div>
          </div>
        </div>

        <!-- Enhanced floating badges with animations -->
        <div class="absolute -bottom-2 -right-2 flex flex-col gap-1">
          <div
            class="flex items-center gap-1.5 rounded-xl bg-black/40 backdrop-blur-md px-2.5 py-1.5 ring-1 ring-white/20 shadow-lg animate-float"
            style="animation-delay: 0s;">
            <div class="w-2 h-2 bg-green-400 rounded-full animate-pulse-fast"></div>
            <span class="text-[10px] font-medium text-white/90">LIVE</span>
          </div>
          <div
            class="flex items-center gap-1 rounded-xl bg-black/40 backdrop-blur-md px-2.5 py-1.5 ring-1 ring-white/20 shadow-lg animate-float"
            style="animation-delay: 1s;">
            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
              stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
              data-lucide="headphones"
              class="lucide lucide-headphones h-3 w-3 text-indigo-300 stroke-[1.5] animate-wiggle">
              <path
                d="M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3">
              </path>
            </svg>
            <span class="text-[10px] font-medium text-white/70">Spatial</span>
          </div>
        </div>

        <!-- Enhanced pulse ring with rainbow effect -->
        <div
          class="absolute inset-0 ring-2 ring-indigo-400/0 group-[.is-playing]:ring-indigo-400/30 transition-all duration-500 group-[.is-playing]:animate-pulse-rainbow bg-cover rounded-2xl bg-[url(https://hoirqrkdgbmvpwutwuwj-all.supabase.co/storage/v1/object/public/assets/assets/199b7f0b-63c0-4f20-921a-05c62d6e5827_800w.jpg)] bg-center">
        </div>
      </div>

      <!-- Enhanced title and metadata section -->
      <div class="min-w-0 flex-1">
        <div class="flex items-center justify-between mb-2">
          <div class="flex items-center gap-2">
            <span class="text-[10px] uppercase tracking-[0.1em] text-white/50 font-medium animate-fade-in">Now playing</span>
            <div class="w-1 h-1 rounded-full bg-indigo-400 animate-bounce group-[.is-playing]:animate-ping-slow"></div>
          </div>
          <div class="flex items-center gap-1">
            <button id="btnLike" class="rounded-xl p-2 text-white/60 hover:text-rose-400 hover:bg-white/10 hover:ring-1 hover:ring-rose-400/20 transition-all duration-200 group/like hover:scale-110" aria-label="Like">
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="heart" class="lucide lucide-heart h-4 w-4 stroke-[1.5] group-hover/like:animate-heartbeat transition-transform"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg>
                  </button>
            <button class="rounded-xl p-2 text-white/60 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/10 transition-all duration-200 group/more hover:scale-110" aria-label="More">
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="more-horizontal" class="lucide lucide-more-horizontal h-4 w-4 stroke-[1.5] group-hover/more:animate-wiggle transition-transform"><circle cx="12" cy="12" r="1"></circle><circle cx="19" cy="12" r="1"></circle><circle cx="5" cy="12" r="1"></circle></svg>
                  </button>
          </div>
        </div>

        <h1 id="trackTitle"
          class="text-[26px] leading-tight tracking-tight font-semibold text-white mb-1 bg-gradient-to-r from-white via-white to-white/80 bg-clip-text animate-slide-up">
          Midnight Synthwave</h1>

        <div class="flex items-center gap-2 text-[13px] text-white/70 mb-3 animate-slide-up"
          style="animation-delay: 0.1s;">
          <div class="flex items-center gap-1.5">
            <div id="artistAvatar"
              class="w-5 h-5 rounded-full bg-gradient-to-r from-indigo-400 to-purple-400 flex items-center justify-center text-[10px] font-bold text-white animate-spin-slow">
              AX</div>
            <span id="trackArtist" class="font-medium">AURORA x Lumen</span>
          </div>
          <span class="w-1 h-1 rounded-full bg-white/30 animate-pulse"></span>
          <span id="trackAlbum">Neon Dreams</span>
          <span class="w-1 h-1 rounded-full bg-white/30 animate-pulse" style="animation-delay: 0.5s;"></span>
          <span id="trackYear" class="">2025</span>
        </div>

        <!-- Enhanced genre and mood tags with stagger animation -->
        <div id="trackTags" class="flex flex-wrap gap-1 sm:gap-1.5 items-center animate-slide-up"
          style="animation-delay: 0.2s;">
          <span class="px-2.5 py-1 text-[10px] font-medium bg-indigo-500/20 text-indigo-300 rounded-lg ring-1 ring-indigo-500/30 hover:bg-indigo-500/30 hover:scale-105 transition-all duration-200 animate-tag-pop" style="animation-delay: 0s;">Synthwave</span><span class="px-2.5 py-1 text-[10px] font-medium bg-purple-500/20 text-purple-300 rounded-lg ring-1 ring-purple-500/30 hover:bg-purple-500/30 hover:scale-105 transition-all duration-200 animate-tag-pop" style="animation-delay: 0.1s;">Chill</span><span class="px-2.5 py-1 text-[10px] font-medium bg-emerald-500/20 text-emerald-300 rounded-lg ring-1 ring-emerald-500/30 hover:bg-emerald-500/30 hover:scale-105 transition-all duration-200 animate-tag-pop" style="animation-delay: 0.2s;">4.9★</span>
        </div>
      </div>
    </div>
  </div>

  <!-- Enhanced waveform visualization with reactive effects -->
  <div class="relative z-20 px-6 mb-4">
    <div
      class="rounded-2xl border border-white/10 bg-black/20 backdrop-blur-sm p-4 shadow-inner hover:bg-black/30 transition-all duration-300">
      <div class="flex items-center justify-between mb-3 text-[11px] text-white/60">
        <div class="flex items-center gap-2">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="activity"
            class="lucide lucide-activity h-3.5 w-3.5 stroke-[1.5] group-[.is-playing]:animate-pulse">
            <path
              d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2">
            </path>
          </svg>
          <span>Waveform</span>
        </div>
        <div class="flex items-center gap-1">
          <span class="text-indigo-300 font-mono animate-flicker">192kHz</span>
          <span>/</span>
          <span class="text-emerald-300 font-mono animate-flicker" style="animation-delay: 0.5s;">24bit</span>
        </div>
      </div>

      <div id="waveContainer"
        class="relative h-16 w-full flex items-end justify-between cursor-pointer gap-px group/wave">
        <!-- Enhanced waveform bars with reactive animations -->
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/60 to-indigo-300/80 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 12px; animation-delay: 0ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/65 to-indigo-300/85 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 16px; animation-delay: 40ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/70 to-purple-300/80 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 22px; animation-delay: 80ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/75 to-purple-300/85 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 28px; animation-delay: 120ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-purple-400/70 to-purple-300/90 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 35px; animation-delay: 160ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-purple-400/75 to-fuchsia-300/80 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 42px; animation-delay: 200ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-purple-400/80 to-fuchsia-300/85 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 48px; animation-delay: 240ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-fuchsia-400/75 to-fuchsia-300/90 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 54px; animation-delay: 280ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-fuchsia-400/80 to-pink-300/85 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 59px; animation-delay: 320ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-fuchsia-400/85 to-pink-300/90 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 62px; animation-delay: 360ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-pink-400/80 to-rose-300/90 group-[.is-playing]:animate-wave-dance shadow-lg shadow-pink-500/20 transition-all duration-200 hover:scale-110"
          style="height: 64px; animation-delay: 400ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-pink-400/85 to-rose-300/95 group-[.is-playing]:animate-wave-dance shadow-lg shadow-pink-500/20 transition-all duration-200 hover:scale-110"
          style="height: 63px; animation-delay: 440ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-rose-400/80 to-rose-300/90 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 60px; animation-delay: 480ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-rose-400/75 to-pink-300/85 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 56px; animation-delay: 520ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-pink-400/70 to-fuchsia-300/80 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 51px; animation-delay: 560ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-fuchsia-400/65 to-purple-300/75 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 44px; animation-delay: 600ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-purple-400/60 to-indigo-300/70 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 38px; animation-delay: 640ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/55 to-indigo-300/65 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 31px; animation-delay: 680ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/50 to-indigo-300/60 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 24px; animation-delay: 720ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/45 to-indigo-300/55 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 19px; animation-delay: 760ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/40 to-indigo-300/50 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 15px; animation-delay: 800ms;"></div>
        <div
          class="wave-bar w-2 rounded-full bg-gradient-to-t from-indigo-400/35 to-indigo-300/45 group-[.is-playing]:animate-wave-dance shadow-sm transition-all duration-200 hover:scale-110"
          style="height: 11px; animation-delay: 840ms;"></div>

        <!-- Wave interaction ripple effect -->
        <div id="waveRipple" class="absolute inset-0 pointer-events-none opacity-0 transition-opacity duration-300">
        </div>
      </div>
    </div>
  </div>

  <!-- Enhanced progress section -->
  <div class="relative z-20 px-6 mb-4">
    <div class="flex items-center justify-between text-[11px] text-white/60 mb-3">
      <div class="flex items-center gap-2 font-mono">
        <span id="currentTime" class="text-indigo-300 animate-digital-flicker">0:00</span>
      </div>
      <div class="flex items-center gap-2 font-mono">
        <span id="totalDuration" class="text-white/50">6:12</span>
      </div>
    </div>

    <div id="seekArea"
      class="group/seek relative h-2 rounded-full bg-white/10 hover:bg-white/15 transition-all duration-200 cursor-pointer ring-1 ring-inset ring-white/5 overflow-hidden">
      <div id="progressBar"
        class="absolute left-0 top-0 h-full rounded-full bg-gradient-to-r from-indigo-400 via-purple-400 to-fuchsia-400 shadow-sm shadow-indigo-500/25 transition-all duration-200 group-[.is-playing]:animate-progress-glow"
        style="width: 0%;"></div>
      <div id="progressThumb"
        class="absolute -top-2 h-6 w-6 rounded-full bg-white shadow-xl ring-4 ring-indigo-500/20 opacity-0 group-[.is-playing]:opacity-100 group-hover/seek:opacity-100 transition-all duration-200 group-hover/seek:scale-110 animate-bounce-subtle"
        style="left: calc(0% - 12px);"></div>
      <!-- Enhanced glow effect -->
      <div
        class="absolute inset-0 rounded-full bg-gradient-to-r from-indigo-400/0 via-purple-400/20 to-fuchsia-400/0 opacity-0 group-hover/seek:opacity-100 transition-opacity duration-300 animate-pulse-slow">
      </div>
    </div>
  </div>

  <!-- Enhanced main controls -->
  <div class="relative z-20 px-6 mb-4">
    <div class="flex items-center justify-center">
      <!-- Main playback controls centered -->
      <div class="flex items-center gap-4">
        <button id="btnPrev" class="group/prev rounded-full p-3 text-white/70 hover:text-white hover:bg-white/10 hover:ring-2 hover:ring-white/20 transition-all duration-200 hover:scale-105 hover:rotate-12" aria-label="Previous">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="skip-back" class="lucide lucide-skip-back h-5 w-5 stroke-[1.5] group-hover/prev:animate-wiggle transition-transform"><path d="M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z"></path><path d="M3 20V4"></path></svg>
              </button>

        <button id="btnPlay" class="group/play relative inline-flex items-center justify-center rounded-full h-16 w-16 bg-gradient-to-r from-indigo-500 to-purple-600 text-white hover:from-indigo-400 hover:to-purple-500 hover:ring-4 ring-indigo-500/25 focus:outline-none transition-all duration-300 hover:scale-105 shadow-xl shadow-indigo-500/25 group-[.is-playing]:animate-pulse-button" aria-label="Play">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="play" class="lucide lucide-play h-7 w-7 stroke-[1.5] translate-x-[1px] group-hover/play:scale-110 transition-transform"><path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"></path></svg>
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="pause" class="lucide lucide-pause hidden h-7 w-7 stroke-[1.5] group-hover/play:scale-110 transition-transform"><rect x="14" y="3" width="5" height="18" rx="1"></rect><rect x="5" y="3" width="5" height="18" rx="1"></rect></svg>
                <!-- Enhanced pulse ring for playing state -->
                <div class="absolute inset-0 rounded-full ring-2 ring-indigo-400/0 group-[.is-playing]:ring-indigo-400/50 group-[.is-playing]:animate-ping-rainbow"></div>
                <!-- Additional ripple effect -->
                <div class="absolute inset-0 rounded-full ring-4 ring-purple-400/0 group-[.is-playing]:ring-purple-400/30 group-[.is-playing]:animate-ping" style="animation-delay: 0.5s;"></div>
              </button>

        <button id="btnNext" class="group/next rounded-full p-3 text-white/70 hover:text-white hover:bg-white/10 hover:ring-2 hover:ring-white/20 transition-all duration-200 hover:scale-105 hover:-rotate-12" aria-label="Next">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="skip-forward" class="lucide lucide-skip-forward h-5 w-5 stroke-[1.5] group-hover/next:animate-wiggle transition-transform"><path d="M21 4v16"></path><path d="M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z"></path></svg>
              </button>
      </div>
    </div>

    <!-- Secondary controls row -->
    <div class="flex items-center justify-between mt-6">
      <!-- Left utilities -->
      <div class="flex items-center gap-1">
        <button id="btnShuffle" class="group/shuffle rounded-xl px-3 py-2 text-[12px] font-medium text-white/70 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 flex items-center gap-2 hover:scale-105" aria-pressed="false" aria-label="Shuffle">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="shuffle" class="lucide lucide-shuffle h-4 w-4 stroke-[1.5] group-hover/shuffle:animate-shake transition-transform"><path d="m18 14 4 4-4 4"></path><path d="m18 2 4 4-4 4"></path><path d="M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22"></path><path d="M2 6h1.972a4 4 0 0 1 3.6 2.2"></path><path d="M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45"></path></svg>
                <span class="hidden sm:inline">Shuffle</span>
              </button>
        <button id="btnRepeat" class="group/repeat rounded-xl px-3 py-2 text-[12px] font-medium text-white/70 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 flex items-center gap-2 hover:scale-105" aria-pressed="false" aria-label="Repeat">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="repeat-1" class="lucide lucide-repeat-1 h-4 w-4 stroke-[1.5] group-hover/repeat:animate-spin transition-transform"><path d="m17 2 4 4-4 4"></path><path d="M3 11v-1a4 4 0 0 1 4-4h14"></path><path d="m7 22-4-4 4-4"></path><path d="M21 13v1a4 4 0 0 1-4 4H3"></path><path d="M11 10h1v4"></path></svg>
                <span class="hidden sm:inline">Repeat</span>
              </button>
      </div>

      <!-- Right volume controls -->
      <div class="flex items-center gap-1">
        <button id="btnMute" class="group/volume rounded-xl px-3 py-2 text-[12px] font-medium text-white/70 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 flex items-center gap-2 hover:scale-105" aria-label="Mute">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="volume-2" class="lucide lucide-volume-2 h-4 w-4 stroke-[1.5] group-hover/volume:animate-bounce transition-transform"><path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"></path><path d="M16 9a5 5 0 0 1 0 6"></path><path d="M19.364 18.364a9 9 0 0 0 0-12.728"></path></svg>
                <span class="hidden sm:inline">Vol</span>
              </button>
      </div>
    </div>
  </div>

  <!-- Enhanced divider with gradient -->
  <div class="relative z-20 px-6 mb-4">
    <div class="h-px w-full bg-gradient-to-r from-transparent via-white/20 to-transparent relative">
      <div
        class="absolute inset-0 bg-gradient-to-r from-transparent via-indigo-400/30 to-transparent blur-sm animate-pulse-slow">
      </div>
    </div>
  </div>

  <!-- Enhanced bottom controls and metadata -->
  <div class="relative z-20 px-6 pb-6">
    <div class="flex items-center justify-between mb-4">
      <div class="flex items-center gap-2">
        <!-- Audio quality indicators with enhanced animations -->
        <div
          class="flex items-center gap-1 rounded-xl bg-emerald-500/10 px-3 py-2 ring-1 ring-emerald-500/20 hover:bg-emerald-500/20 hover:scale-105 transition-all duration-300 animate-float"
          style="animation-delay: 0s;">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
            data-lucide="badge-check"
            class="lucide lucide-badge-check h-3.5 w-3.5 stroke-[1.5] text-emerald-400 animate-pulse">
            <path
              d="M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z">
            </path>
            <path d="m9 12 2 2 4-4"></path>
          </svg>
          <span class="text-[11px] font-medium text-emerald-300">Lossless</span>
        </div>
        <div
          class="flex items-center gap-1 rounded-xl bg-blue-500/10 px-3 py-2 ring-1 ring-blue-500/20 hover:bg-blue-500/20 hover:scale-105 transition-all duration-300 animate-float"
          style="animation-delay: 0.5s;">
          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
            stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
            data-lucide="headphones"
            class="lucide lucide-headphones h-3.5 w-3.5 stroke-[1.5] text-blue-400 animate-wiggle">
            <path
              d="M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3">
            </path>
          </svg>
          <span class="text-[11px] font-medium text-blue-300">Spatial</span>
        </div>
      </div>

      <div class="flex items-center gap-1">
        <button id="btnQueue" class="group/queue rounded-xl p-2.5 text-white/60 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 hover:scale-110" aria-label="Queue">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="list-music" class="lucide lucide-list-music h-4.5 w-4.5 stroke-[1.5] group-hover/queue:animate-bounce transition-transform"><path d="M21 15V6"></path><path d="M18.5 18a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"></path><path d="M12 12H3"></path><path d="M16 6H3"></path><path d="M12 18H3"></path></svg>
              </button>
        <button class="group/cast rounded-xl p-2.5 text-white/60 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 hover:scale-110" aria-label="Cast">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="cast" class="lucide lucide-cast h-4.5 w-4.5 stroke-[1.5] group-hover/cast:animate-pulse transition-transform"><path d="M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6"></path><path d="M2 12a9 9 0 0 1 8 8"></path><path d="M2 16a5 5 0 0 1 4 4"></path><line x1="2" x2="2.01" y1="20" y2="20"></line></svg>
              </button>
        <button class="group/share rounded-xl p-2.5 text-white/60 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 hover:scale-110" aria-label="Share">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="share-2" class="lucide lucide-share-2 h-4.5 w-4.5 stroke-[1.5] group-hover/share:animate-spin transition-transform"><circle cx="18" cy="5" r="3"></circle><circle cx="6" cy="12" r="3"></circle><circle cx="18" cy="19" r="3"></circle><line x1="8.59" x2="15.42" y1="13.51" y2="17.49"></line><line x1="15.41" x2="8.59" y1="6.51" y2="10.49"></line></svg>
              </button>
        <button class="group/settings rounded-xl p-2.5 text-white/60 hover:text-white hover:bg-white/10 hover:ring-1 hover:ring-white/20 transition-all duration-200 hover:scale-110" aria-label="Settings">
                <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-lucide="settings" class="lucide lucide-settings h-4.5 w-4.5 stroke-[1.5] group-hover/settings:animate-spin transition-transform"><path d="M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"></path><circle cx="12" cy="12" r="3"></circle></svg>
              </button>
      </div>
    </div>

    <!-- Additional metadata row centered with enhanced animations -->
    <div class="flex flex-col items-center gap-3 text-[10px] text-white/50">
      <div class="flex items-center gap-3 animate-fade-in" style="animation-delay: 0.3s;">
        <span id="trackPlays" class="animate-number-count">🎵 32.1M plays</span>
        <span class="animate-number-count" style="animation-delay: 0.1s;">👥 Added by 12.3K users</span>
        <span id="trackReleaseDate" class="animate-fade-in" style="animation-delay: 0.2s;">Released Jan 15, 2025</span>
      </div>
      <div class="flex items-center gap-3 animate-slide-up" style="animation-delay: 0.4s;">
        <span class="px-2 py-1 bg-white/5 rounded-md hover:bg-white/10 transition-colors duration-200 animate-glow">320kbps</span>
        <span id="miniTime" class="font-mono animate-digital-flicker">0:00 / 6:12</span>
      </div>
    </div>
  </div>

  <!-- Hidden audio element -->
  <audio id="audio" preload="metadata" src="https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"></audio>
</div>
All Prompts