{"id":360,"date":"2026-01-25T22:50:46","date_gmt":"2026-01-25T22:50:46","guid":{"rendered":"https:\/\/thevioletfrequency.com\/?page_id=360"},"modified":"2026-01-31T23:55:21","modified_gmt":"2026-01-31T23:55:21","slug":"hangover-of-solutions","status":"publish","type":"page","link":"https:\/\/thevioletfrequency.com\/en\/hangover-of-solutions\/","title":{"rendered":"Hangover of Solutions"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section\"><span class=\"et_pb_background_pattern\"><\/span>\n<div class=\"et_pb_row_0 et_pb_row et_flex_row\">\n<div class=\"et_pb_column_0 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n<div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"vf-player vf-mix2\">\n  <!-- HEADER -->\n  <div class=\"vf-header\">\n    <img data-opt-id=2079243996  fetchpriority=\"high\" decoding=\"async\" class=\"vf-cover\" src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/TVF-HOS.jpg\" alt=\"Cover\">\n\n    <div class=\"vf-right\">\n      <div class=\"vf-meta\">\n        <div class=\"vf-album\">Hangover of Solutions<\/div>\n        <div class=\"vf-band\">by The Violet Frequency<\/div>\n        <div class=\"vf-track-title\">Select Song<\/div>\n      <\/div>\n      <canvas class=\"vf-wave\"><\/canvas>\n    <\/div>\n  <\/div>\n\n  <!-- CONTROLS -->\n  <div class=\"vf-controls\">\n    <button class=\"vf-btn vf-prev\" type=\"button\">\u23ee<\/button>\n\n    <!-- PLAY WRAP + OVERLAY WAVES (sin stop) -->\n    <div class=\"vf-playwrap\">\n      <button class=\"vf-btn vf-play\" type=\"button\" aria-label=\"Play \/ Pause\">\u25b6<\/button>\n      <div class=\"vf-waves\" aria-hidden=\"true\">\n        <i><\/i><i><\/i><i><\/i><i><\/i><i><\/i>\n      <\/div>\n    <\/div>\n\n    <button class=\"vf-btn vf-next\" type=\"button\">\u23ed<\/button>\n\n    <div class=\"vf-progress-wrap\">\n      <span class=\"vf-time vf-current\">0:00<\/span>\n      <div class=\"vf-progress\">\n        <div class=\"vf-bar\"><\/div>\n      <\/div>\n      <span class=\"vf-time vf-duration\">0:00<\/span>\n    <\/div>\n\n    <div class=\"vf-volume-wrap\">\n      \ud83d\udd0a\n      <input type=\"range\" class=\"vf-volume\" min=\"0\" max=\"1\" step=\"0.01\" value=\"0.8\">\n    <\/div>\n  <\/div>\n\n  <!-- PLAYLIST + LYRICS -->\n  <div class=\"vf-playlist vf-lyricslist\">\n    <!-- TRACK 1 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/01-The-Violet-Frequency-Spiders.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">01. Spiders<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Spiders-<\/div>\n        <div class=\"vf-lytext\">\nSpiders.\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 2 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/02-The-Violet-Frequency-Hey-Now-2.2.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">02. Hey Now 2.2<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Hey Now 2.2-<\/div>\n        <div class=\"vf-lytext\">\nHey Now 2.2.\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 3 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/03-The-Violet-Frequency-Second-Life.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">03. Second Life<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Second Life-<\/div>\n        <div class=\"vf-lytext\">\nSecond Life.\n        <\/div>\n      <\/div>\n    <\/div>\n    <!-- TRACK 4 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/04-The-Violet-Frequency-New-Years-day-U2.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">04. New Year&#8217;s Day<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-New Year&#8217;s Day-<\/div>\n        <div class=\"vf-lytext\">\nAll is quiet on New Year&#8217;s Day\nA world in white gets underway\nI want to be with you, be with you night and day\nNothing changes on New Year&#8217;s Day\nOn New Year&#8217;s Day\n\nI will be with you again (oh)\nI will be with you again (oh, oh)\n\nUnder a blood red sky\nA crowd has gathered, black and white\nArms entwined, the chosen few\nThe newspaper says, says\n\nSay it&#8217;s true, it&#8217;s true\nAnd we can break through\nThough torn in two, we can be one\n\nI, I will begin again (oh)\nI, I will begin again (oh, oh)\n\nYeah, oh\nOh-oh\nOoh\n\nUh-uh, uh-uh, uh-uh\nUh-uh, uh-uh, uh-uh\nAh, maybe the time is right\nOh, maybe tonight\n\nI will be with you again (oh, oh)\nI will be with you again (oh, oh)\n\nAnd so we were told this is the golden age\nAnd gold is the reason for the wars we wage\nThough I want to be with you, be with you night and day\nNothing changes on New Year&#8217;s Day\n\n(Ah) on New Year&#8217;s Day (ah)\nOn New Year&#8217;s Day (ah)\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 5 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/05-The-Violet-Frequency-Never-Lose-Control-Piano-version.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">05. Never Lose Control (Piano)<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Never Lose Control (Piano)-<\/div>\n        <div class=\"vf-lytext\">\nNever Lose Control (Piano)..\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 6 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/06-The-Violet-Frequency-Atomic-Shiver.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">06. Atomic Shiver<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Atomic Shiver-<\/div>\n        <div class=\"vf-lytext\">\nAtomic Shiver.\n        <\/div>\n      <\/div>\n    <\/div>\n        <!-- TRACK 7 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/07-The-Violet-Frequency-Stories-4-Nasty-Girls-Boys.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">07. Stories 4 Nasty Girls &#038;  Boys<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Stories 4 Nasty Girls &#038;  Boys-<\/div>\n        <div class=\"vf-lytext\">\nStories 4 Nasty Girls &#038;  Boys..\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 8 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/08-The-Violet-Frequency-Rock-Roll-Stop.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">08. Rock &#038; Roll Stop<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Rock &#038; Roll Stop-<\/div>\n        <div class=\"vf-lytext\">\nRock &#038; Roll Stop..\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 9 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/09-The-Violet-Frequency-Vienna-Underground.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">09. Vienna Underground<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Vienna Underground-<\/div>\n        <div class=\"vf-lytext\">\nVienna Underground.\n        <\/div>\n      <\/div>\n    <\/div>\n        <!-- TRACK 10 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/10-The-Violet-Frequency-The-Way-You-Play.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">10. The Way You Play<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-The Way You Play-<\/div>\n        <div class=\"vf-lytext\">\nThe Way You Play..\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <!-- TRACK 11 -->\n    <div class=\"vf-item\" data-src=\"https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/11-The-Violet-Frequency-Dj-Chips-Remix.mp3\">\n      <div class=\"vf-trackrow\">\n        <button class=\"vf-trackbtn\" type=\"button\">11. Dj &#038; Chips (Remix)<\/button>\n        <button class=\"vf-lyricsbtn\" type=\"button\" aria-expanded=\"false\">\n          <span class=\"vf-lyico\">\u2726<\/span><span class=\"vf-lylbl\">Lyrics<\/span>\n        <\/button>\n      <\/div>\n      <div class=\"vf-lypanel\">\n        <div class=\"vf-lytitle\">-Dj &#038; Chips (Remix)-<\/div>\n        <div class=\"vf-lytext\">\nDj &#038; Chips (Remix)..\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <audio class=\"vf-audio\" crossorigin=\"anonymous\"><\/audio>\n<\/div>\n\n<style>\n\/* ===== WHITE EDITION ===== *\/\n.vf-player{\n  --bg:#0b0b0e;\n  --text:#ffffff;\n  --accent:#ffffff;\n  --accent2:#e5e5e5;\n\n  background:\n    radial-gradient(circle at top, rgba(255,255,255,.08), transparent 40%),\n    linear-gradient(180deg, #0c0c10, var(--bg));\n  color:var(--text);\n  padding:22px;\n  border-radius:22px;\n  max-width:680px;\n  font-family:Inter,system-ui,sans-serif;\n  border:1px solid rgba(255,255,255,.12);\n  box-shadow:0 30px 80px rgba(255,255,255,.12);\n  position:relative;\n  overflow:hidden;\n}\n\n\/* glow suave blanco *\/\n.vf-player::before{\n  content:\"\";\n  position:absolute;\n  inset:-40%;\n  background:radial-gradient(circle, rgba(255,255,255,.08), transparent 60%);\n  animation:vfGlow 10s linear infinite;\n}\n@keyframes vfGlow{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}\n\n\/* HEADER *\/\n.vf-header{\n  display:grid;\n  grid-template-columns:210px 1fr;\n  gap:20px;\n  align-items:end;\n  position:relative;\n  z-index:1;\n}\n.vf-cover{\n  width:210px;height:210px;\n  border-radius:16px;\n  object-fit:cover;\n  box-shadow:0 18px 45px rgba(255,255,255,.25);\n}\n.vf-right{display:flex;flex-direction:column;gap:8px}\n.vf-album{font-size:.95rem;font-weight:700}\n.vf-band{opacity:.65;font-size:.7rem}\n.vf-track-title{font-size:.75rem;color:#ddd}\n\n\/* canvas *\/\n.vf-wave{\n  width:100%;\n  height:55px;\n  border-radius:12px;\n  background:linear-gradient(180deg, rgba(255,255,255,.06), transparent);\n}\n\n\/* CONTROLES *\/\n.vf-controls{\n  margin-top:14px;\n  display:grid;\n  grid-template-columns:auto auto auto 1fr auto;\n  gap:12px;\n  align-items:center;\n  position:relative;\n  z-index:1;\n}\n.vf-btn{\n  background:rgba(255,255,255,.08);\n  border:1px solid rgba(255,255,255,.22);\n  color:#fff;\n  border-radius:10px;\n  padding:5px 10px;\n  cursor:pointer;\n  font-size:.75rem;\n  transition:.2s;\n  -webkit-tap-highlight-color:transparent;\n  outline:none;\n}\n.vf-btn:hover{background:rgba(255,255,255,.18)}\n.vf-btn:focus,.vf-btn:active,.vf-btn:focus-visible{outline:none;box-shadow:none}\n\n.vf-progress-wrap{display:flex;align-items:center;gap:8px;}\n.vf-progress{\n  flex:1;\n  height:5px;\n  background:rgba(255,255,255,.18);\n  border-radius:999px;\n  overflow:hidden;\n  cursor:pointer;\n}\n.vf-bar{\n  height:100%;\n  width:0%;\n  background:linear-gradient(90deg,#fff,#ccc);\n}\n.vf-time{font-size:.65rem;opacity:.75}\n\n\/* volumen *\/\n.vf-volume-wrap{display:flex;align-items:center;gap:6px;font-size:.7rem;}\n.vf-volume{width:60px;height:2px;accent-color:#fff}\n\n\/* ===== PLAY OVERLAY WAVES (WHITE) ===== *\/\n.vf-playwrap{\n  position:relative;\n  width:44px;\n  height:32px;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n}\n.vf-waves{\n  position:absolute;\n  inset:-6px;\n  border-radius:999px;\n  opacity:0;\n  pointer-events:none;\n  transform:scale(.85);\n  transition:.25s ease;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:4px;\n  background:radial-gradient(circle, rgba(255,255,255,.25), rgba(255,255,255,.10) 50%, transparent 75%);\n}\n.vf-player.is-playing .vf-waves{\n  opacity:1;\n  transform:scale(1);\n  animation:vfPulse 2s ease-in-out infinite;\n}\n@keyframes vfPulse{\n  0%{box-shadow:0 0 0 0 rgba(255,255,255,.35)}\n  70%{box-shadow:0 0 0 18px rgba(255,255,255,0)}\n  100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}\n}\n.vf-waves i{\n  display:block;\n  width:3px;\n  height:6px;\n  border-radius:999px;\n  background:#fff;\n  animation:vfBeat 1.1s infinite ease-in-out;\n}\n.vf-waves i:nth-child(2){animation-delay:.1s}\n.vf-waves i:nth-child(3){animation-delay:.2s}\n.vf-waves i:nth-child(4){animation-delay:.3s}\n.vf-waves i:nth-child(5){animation-delay:.4s}\n@keyframes vfBeat{\n  0%,100%{height:5px;opacity:.6}\n  50%{height:13px;opacity:1}\n}\n\n\/* PLAYLIST *\/\n.vf-playlist{\n  margin-top:16px;\n  border-top:1px solid rgba(255,255,255,.12);\n  position:relative;\n  z-index:1;\n  padding-top:10px;\n}\n.vf-item{\n  border:1px solid rgba(255,255,255,.08);\n  border-radius:12px;\n  background:rgba(255,255,255,.03);\n  overflow:hidden;\n  margin-bottom:8px;\n}\n.vf-trackrow{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:10px;\n  padding:8px 10px;\n}\n.vf-trackbtn{\n  flex:1;\n  text-align:left;\n  background:transparent;\n  border:none;\n  color:#fff;\n  font-size:.8rem;\n  cursor:pointer;\n  padding:6px 6px;\n  border-radius:10px;\n  transition:.15s;\n  -webkit-tap-highlight-color:transparent;\n  outline:none;\n}\n.vf-trackbtn:hover{background:rgba(255,255,255,.10)}\n.vf-item.active .vf-trackbtn{\n  background:rgba(255,255,255,.15);\n  color:#fff;\n  font-weight:600;\n}\n\n.vf-lyricsbtn{\n  display:inline-flex;\n  align-items:center;\n  gap:7px;\n  font-size:.58rem;\n  padding:6px 10px;\n  border-radius:999px;\n  border:1px solid rgba(255,255,255,.30);\n  background:rgba(255,255,255,.12);\n  color:#fff;\n  letter-spacing:.08em;\n  cursor:pointer;\n  -webkit-tap-highlight-color:transparent;\n  outline:none;\n}\n.vf-lyricsbtn:focus,.vf-lyricsbtn:active,.vf-lyricsbtn:focus-visible{outline:none;box-shadow:none}\n.vf-lyico{font-size:.7rem;opacity:.9;transform:translateY(-.5px)}\n\n.vf-lypanel{\n  display:none;\n  padding:12px 12px 14px;\n  border-top:1px solid rgba(255,255,255,.10);\n  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent);\n}\n.vf-item.open .vf-lypanel{display:block}\n.vf-item.open .vf-lyricsbtn{\n  background:rgba(255,255,255,.18);\n  border-color:rgba(255,255,255,.40);\n}\n\n.vf-lytitle{font-weight:850;font-size:.82rem;color:#fff;margin-bottom:8px}\n.vf-lytext{\n  white-space:pre-line;\n  font-size:.78rem;\n  line-height:1.65;\n  color:#eee;\n  max-height:40vh;\n  overflow:auto;\n  padding-right:4px;\n}\n\n\/* responsive *\/\n@media(max-width:600px){\n  .vf-player{padding:16px}\n  .vf-header{grid-template-columns:1fr;}\n  .vf-cover{width:160px;height:160px;margin:0 auto;}\n  .vf-controls{grid-template-columns:auto auto auto 1fr;}\n  .vf-volume-wrap{display:none}\n}\n<\/style>\n\n<script>\n(function(){\n  var players = document.querySelectorAll(\".vf-player.vf-mix2\");\n  if(!players.length) return;\n\n  function setLyricsBtnState(item, isOpen){\n    var btn = item.querySelector(\".vf-lyricsbtn\");\n    if(!btn) return;\n    var lbl = btn.querySelector(\".vf-lylbl\");\n    var ico = btn.querySelector(\".vf-lyico\");\n    btn.setAttribute(\"aria-expanded\", isOpen ? \"true\" : \"false\");\n    if(lbl) lbl.textContent = isOpen ? \"Close\" : \"Lyrics\";\n    if(ico) ico.textContent = isOpen ? \"\u2715\" : \"\u2726\";\n  }\n\n  function isMobile(){\n    try{\n      return window.matchMedia && window.matchMedia(\"(max-width: 768px)\").matches;\n    }catch(e){\n      return (window.innerWidth || 9999) <= 768;\n    }\n  }\n  function smoothScrollTo(el, offset){\n    if(!el) return;\n    offset = offset || 95;\n    var top = el.getBoundingClientRect().top + (window.pageYOffset || document.documentElement.scrollTop) - offset;\n    try{ window.scrollTo({ top: top, behavior: \"smooth\" }); }\n    catch(e){ window.scrollTo(0, top); }\n  }\n\n  for (var p=0; p<players.length; p++){\n    (function(player){\n      var audio = player.querySelector(\".vf-audio\");\n      var items = Array.prototype.slice.call(player.querySelectorAll(\".vf-item\"));\n\n      var btnPlay = player.querySelector(\".vf-play\");\n      var btnPrev = player.querySelector(\".vf-prev\");\n      var btnNext = player.querySelector(\".vf-next\");\n\n      var bar = player.querySelector(\".vf-bar\");\n      var progress = player.querySelector(\".vf-progress\");\n      var currentEl = player.querySelector(\".vf-current\");\n      var durationEl = player.querySelector(\".vf-duration\");\n      var titleEl = player.querySelector(\".vf-track-title\");\n      var volumeEl = player.querySelector(\".vf-volume\");\n\n      var canvas = player.querySelector(\".vf-wave\");\n      var ctx = canvas.getContext(\"2d\");\n\n      var index = 0, audioCtx, analyser, dataArray, rafOn = false;\n\n      function resize(){\n        canvas.width = canvas.offsetWidth;\n        canvas.height = canvas.offsetHeight;\n      }\n      resize();\n      window.addEventListener(\"resize\", resize);\n\n      function initAudio(){\n        if(audioCtx) return;\n        audioCtx = new (window.AudioContext || window.webkitAudioContext)();\n        analyser = audioCtx.createAnalyser();\n\n        \/\/ \u2705 CAMBIO CLAVE: wave en TIEMPO (no frecuencias)\n        analyser.fftSize = 1024;\n        dataArray = new Uint8Array(analyser.fftSize);\n\n        var src = audioCtx.createMediaElementSource(audio);\n        src.connect(analyser);\n        analyser.connect(audioCtx.destination);\n      }\n\n      \/\/ \u2705 CAMBIO CLAVE: waveform + suavizado + minAmp (para que no quede tramo plano)\n      function draw(){\n        if(!analyser) return;\n        rafOn = true;\n\n        var minAmp = 0.06; \/\/ sube a 0.10 si quieres m\u00e1s movimiento\n        var smooth = 0.85;\n\n        \/\/ buffer de suavizado (queda dentro del closure de draw)\n        var smoothed = new Float32Array(dataArray.length);\n\n        (function loop(){\n          if(!rafOn) return;\n          requestAnimationFrame(loop);\n\n          analyser.getByteTimeDomainData(dataArray);\n          ctx.clearRect(0,0,canvas.width,canvas.height);\n\n          var mid = canvas.height \/ 2;\n          var step = canvas.width \/ (dataArray.length - 1);\n\n          ctx.beginPath();\n\n          for(var i=0;i<dataArray.length;i++){\n            var v = (dataArray[i] - 128) \/ 128; \/\/ -1..1\n\n            if(Math.abs(v) < minAmp){\n              v = (v < 0 ? -minAmp : minAmp);\n            }\n\n            smoothed[i] = smooth * smoothed[i] + (1 - smooth) * v;\n\n            var x = i * step;\n            var y = mid + smoothed[i] * mid * 0.95;\n\n            if(i === 0) ctx.moveTo(x, y);\n            else ctx.lineTo(x, y);\n          }\n\n          ctx.strokeStyle = \"rgba(255,255,255,0.85)\";\n          ctx.lineWidth = 2;\n          ctx.stroke();\n        })();\n      }\n\n      function format(t){\n        if(isNaN(t)) return \"0:00\";\n        var m = Math.floor(t\/60);\n        var s = Math.floor(t%60);\n        return m + \":\" + (s<10 ? \"0\"+s : s);\n      }\n\n      function setActive(i){\n        index = i;\n        for(var k=0;k<items.length;k++){\n          items[k].classList.toggle(\"active\", k===index);\n        }\n        var labelBtn = items[index].querySelector(\".vf-trackbtn\");\n        titleEl.textContent = labelBtn ? labelBtn.textContent.trim() : \"Selected\";\n        audio.src = items[index].getAttribute(\"data-src\") || \"\";\n      }\n\n      function setPlayingUI(isPlaying){\n        player.classList.toggle(\"is-playing\", !!isPlaying);\n      }\n\n      function playCurrent(){\n        if(!audio.src) setActive(0);\n        initAudio();\n        if(audioCtx && audioCtx.state === \"suspended\") audioCtx.resume();\n        audio.play();\n        setPlayingUI(true);\n        if(!rafOn) draw();\n      }\n\n      function pauseCurrent(){\n        audio.pause();\n        setPlayingUI(false);\n      }\n\n      function closeAllLyrics(exceptItem){\n        for(var k=0;k<items.length;k++){\n          if(items[k] !== exceptItem){\n            items[k].classList.remove(\"open\");\n            setLyricsBtnState(items[k], false);\n          }\n        }\n      }\n\n      function toggleLyrics(item){\n        var willOpen = !item.classList.contains(\"open\");\n        closeAllLyrics(item);\n        item.classList.toggle(\"open\", willOpen);\n        setLyricsBtnState(item, willOpen);\n\n        if(willOpen && isMobile()){\n          setTimeout(function(){\n            var panel = item.querySelector(\".vf-lypanel\");\n            smoothScrollTo(panel || item, 95);\n          }, 60);\n        }\n      }\n\n      items.forEach(function(item, i){\n        var trackBtn = item.querySelector(\".vf-trackbtn\");\n        var lyricsBtn = item.querySelector(\".vf-lyricsbtn\");\n\n        setLyricsBtnState(item, false);\n\n        if(trackBtn){\n          trackBtn.addEventListener(\"click\", function(e){\n            e.preventDefault();\n            setActive(i);\n            playCurrent();\n          });\n        }\n\n        if(lyricsBtn){\n          lyricsBtn.addEventListener(\"click\", function(e){\n            e.preventDefault();\n            e.stopPropagation();\n            toggleLyrics(item);\n          });\n        }\n      });\n\n      btnPlay.addEventListener(\"click\", function(){\n        if(audio.paused) playCurrent();\n        else pauseCurrent();\n      });\n\n      btnPrev.addEventListener(\"click\", function(){\n        setActive((index - 1 + items.length) % items.length);\n        playCurrent();\n      });\n\n      btnNext.addEventListener(\"click\", function(){\n        setActive((index + 1) % items.length);\n        playCurrent();\n      });\n\n      audio.addEventListener(\"timeupdate\", function(){\n        if(audio.duration){\n          bar.style.width = (audio.currentTime\/audio.duration)*100 + \"%\";\n          currentEl.textContent = format(audio.currentTime);\n          durationEl.textContent = format(audio.duration);\n        }\n      });\n\n      progress.addEventListener(\"click\", function(e){\n        if(!audio.duration) return;\n        var r = progress.getBoundingClientRect();\n        audio.currentTime = ((e.clientX - r.left)\/r.width) * audio.duration;\n      });\n\n      audio.addEventListener(\"ended\", function(){\n        setPlayingUI(false);\n        btnNext.click();\n      });\n\n      audio.addEventListener(\"pause\", function(){ setPlayingUI(false); });\n      audio.addEventListener(\"play\", function(){ setPlayingUI(true); });\n\n      if(volumeEl){\n        volumeEl.addEventListener(\"input\", function(){\n          audio.volume = volumeEl.value;\n        });\n      }\n\n      if(items.length) setActive(0);\n\n    })(players[p]);\n  }\n})();\n<\/script>\n\n<\/div><\/div>\n<\/div>\n\n<div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_12_24 et_flex_column_12_24_tablet et_flex_column_24_24_phone\">\n\n\n\n\n<div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"vf-links\">\n  <div class=\"vf-links-title\">Listen on<\/div>\n\n  <div class=\"vf-links-grid\">\n    <a class=\"vf-link\" href=\"AQUI_SPOTIFY\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1419679185  fetchpriority=\"high\" decoding=\"async\" class=\"vf-link-ico\" src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/spotify2.png\" alt=\"Spotify\">\n      <span class=\"vf-link-label\">Spotify<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_APPLE\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1187795229  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/applemusic4.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\">\n      <span class=\"vf-link-label\">Apple Music<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_AMAZON\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=193212672  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/amazonmusic2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Amazon Music\">\n      <span class=\"vf-link-label\">Amazon Music<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_YTMUSIC\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=981038699  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/youtubemusic2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"YouTube Music\">\n      <span class=\"vf-link-label\">YouTube Music<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_DEEZER\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1263912089  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/Deezer2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Deezer\">\n      <span class=\"vf-link-label\">Deezer<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_TIDAL\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=1841661626  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/tidal2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Tidal\">\n      <span class=\"vf-link-label\">Tidal<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_soundcloud\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=693461702  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/soundcloud2.png\"  decoding=\"async\" class=\"vf-link-ico vf-qobuz\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Qobuz\">\n      <span class=\"vf-link-label\">Soundcloud<\/span>\n    <\/a>\n\n    <a class=\"vf-link\" href=\"AQUI_BANDCAMP\" target=\"_blank\" rel=\"noopener\">\n      <img data-opt-id=188860036  data-opt-src=\"https:\/\/mlxsmx7p57uf.i.optimole.com\/cb:rTMh.eac\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/thevioletfrequency.com\/wp-content\/uploads\/2026\/01\/bandcamp2.png\"  decoding=\"async\" class=\"vf-link-ico\" src=\"data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20100%%20100%%22%20width%3D%22100%%22%20height%3D%22100%%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%22100%%22%20height%3D%22100%%22%20fill%3D%22transparent%22%2F%3E%3C%2Fsvg%3E\" alt=\"Bandcamp\">\n      <span class=\"vf-link-label\">Bandcamp<\/span>\n    <\/a>\n  <\/div>\n<\/div>\n\n<style>\n\/* ===== CONTENEDOR (mismo ancho del player) ===== *\/\n.vf-links{\n  max-width:680px;\n  margin:0 auto;\n  padding:14px 0;\n  font-family:Inter,system-ui,sans-serif;\n  color:#000000;\n}\n\n\/* t\u00edtulo *\/\n.vf-links-title{\n  font-size:.65rem;\n  letter-spacing:.18em;\n  text-transform:uppercase;\n  opacity:.75;\n  margin:0 0 12px;\n  color:#000000;\n}\n\n\/* grid 4x2 (2x4 m\u00f3vil) *\/\n.vf-links-grid{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:10px;\n}\n\n\/* tarjeta compacta *\/\n.vf-link{\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  gap:6px;\n  padding:10px 8px;\n  border-radius:14px;\n  text-decoration:none;\n  color:#FFA4A4;\n\n  \/* fondo oscuro muy suave (NO blanco) *\/\n  background:rgba(255,255,255,.06);\n  border:1px solid rgba(255,255,255,.16);\n  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;\n\n  \/* anti estilos raros del tema *\/\n  -webkit-tap-highlight-color:transparent;\n}\n.vf-link:hover{\n  transform:translateY(-1px);\n  background:rgba(255,255,255,.12);\n  box-shadow:0 10px 22px rgba(0,0,0,.25);\n}\n\n\/* ===== ICONOS: TRANSPARENCIA BLINDADA ===== *\/\n.vf-link-ico{\n  width:28px;\n  height:28px;\n  object-fit:contain;\n  display:block;\n\n  \/* Lo importante: sin fondo NI padding NI bordes aunque Divi lo meta *\/\n  background:transparent !important;\n  background-color:transparent !important;\n  box-shadow:none !important;\n  border:0 !important;\n  outline:0 !important;\n  padding:0 !important;\n  border-radius:0 !important;\n\n  \/* por si alg\u00fan CSS global aplica filtros *\/\n  filter:none !important;\n}\n\n\/* Qobuz suele ser m\u00e1s \u201cancho\u201d, lo ajustamos *\/\n.vf-qobuz{\n  width:42px;\n  height:auto;\n}\n\n\/* texto centrado *\/\n.vf-link-label{\n  width:100%;\n  text-align:center;\n  font-size:.66rem;\n  line-height:1.1;\n  font-weight:500;\n  color:#000000;\n  opacity:.9;\n  margin:0;\n}\n\n\/* ===== ULTRA FIX: Divi a veces pone fondo en im\u00e1genes dentro de links ===== *\/\n.vf-links a img,\n.vf-links .vf-link img{\n  background:transparent !important;\n  background-color:transparent !important;\n}\n\n\/* m\u00f3vil *\/\n@media(max-width:600px){\n  .vf-links-grid{ grid-template-columns:repeat(2,1fr); }\n}\n<\/style>\n<\/div><\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-360","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages\/360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/comments?post=360"}],"version-history":[{"count":5,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages\/360\/revisions"}],"predecessor-version":[{"id":782,"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/pages\/360\/revisions\/782"}],"wp:attachment":[{"href":"https:\/\/thevioletfrequency.com\/en\/wp-json\/wp\/v2\/media?parent=360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}