/* Adapted from the supplied FuuVo Music PC design; desktop-only and root-scoped. */
@media (min-width: 921px) {
/* FuuVo flowing colour system. Uses the five existing Music gradient stops.
   No hue rotation, text movement, external animation library or audio analysis. */
#fuuvo-music-pc{
  --fv-motion-speed: 1.2; /* 20% faster; durations and phase offsets share one scale. */
  --fv-mint: #65e4cf;
  --fv-sky: #70ccea;
  --fv-lilac: #a992ed;
  --fv-pink: #e99cc7;
  --fv-peach: #edbc8d;
  --fv-spectrum: linear-gradient(110deg,var(--fv-mint),var(--fv-sky) 20%,var(--fv-lilac) 40%,var(--fv-pink) 60%,var(--fv-peach) 80%,var(--fv-mint));
}
#fuuvo-music-pc:before{ animation: none; opacity: 0; }
#fuuvo-music-pc .fv-flow{ position: relative; isolation: isolate; overflow: hidden; background: #171b27; }
#fuuvo-music-pc .fv-flow > :not(.fv-flow-layer){ position: relative; z-index: 1; }
#fuuvo-music-pc .fv-flow-layer{ position: absolute; inset: 0; overflow: hidden; border-radius: inherit; pointer-events: none; z-index: 0; }
#fuuvo-music-pc .fv-flow-layer:after{ content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#0b111d50,#10121b10 72%); }
#fuuvo-music-pc .fv-orb{ display: block; position: absolute; width: 100%; height: 230%; top: -70%; left: -35%; transform-origin: center; }
#fuuvo-music-pc .fv-orb-a{
  background: radial-gradient(ellipse, #65e4cf88 0%, #70ccea55 24%, #70ccea00 66%);
  animation: music-pc-fv-flow-a calc(20s / var(--fv-motion-speed)) ease-in-out infinite;
}
#fuuvo-music-pc .fv-orb-b{
  left: 10%; top: -130%;
  background: radial-gradient(ellipse,#a992ed99 0%,#e99cc75c 28%,#e99cc700 67%);
  animation: music-pc-fv-flow-b calc(24s / var(--fv-motion-speed)) ease-in-out infinite;
}
#fuuvo-music-pc .fv-orb-c{
  left: 45%; top: -20%;
  background: radial-gradient(ellipse,#edbc8d99 0%,#e99cc770 25%,#edbc8d00 67%);
  animation: music-pc-fv-flow-c calc(22s / var(--fv-motion-speed)) ease-in-out infinite;
}
@keyframes music-pc-fv-flow-a{
  0%,100% { transform: translate(-5%,2%) scale(1); }
  30% { transform: translate(48%,-12%) scale(1.13,.88); }
  65% { transform: translate(69%,18%) scale(.88,1.12); }
}
@keyframes music-pc-fv-flow-b{
  0%,100% { transform: translate(27%,0) scale(1.05); }
  35% { transform: translate(-30%,38%) scale(1.12,.9); }
  70% { transform: translate(28%,56%) scale(.92,1.07); }
}
@keyframes music-pc-fv-flow-c{
  0%,100% { transform: translate(8%,0) scale(1); }
  40% { transform: translate(-71%,-38%) scale(1.18,.88); }
  75% { transform: translate(-20%,-65%) scale(.95,1.15); }
}
#fuuvo-music-pc .fv-flow[data-fv-flow=card] .fv-flow-layer{ opacity: .52; }
#fuuvo-music-pc .fv-flow[data-fv-flow=card] .fv-orb-a{ animation-duration: calc(26s / var(--fv-motion-speed)); animation-delay: calc(-7s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-flow[data-fv-flow=card] .fv-orb-b{ animation-duration: calc(29s / var(--fv-motion-speed)); animation-delay: calc(-13s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-flow[data-fv-flow=card] .fv-orb-c{ animation-duration: calc(27s / var(--fv-motion-speed)); animation-delay: calc(-4s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-ambient.fv-flow{ position: fixed; inset: 0; z-index: 0; pointer-events: none; background: transparent; }
#fuuvo-music-pc .fv-ambient .fv-flow-layer{ opacity: .12; }
#fuuvo-music-pc .fv-ambient .fv-orb{ height: 140%; top: -60%; width: 100%; }
#fuuvo-music-pc .fv-ambient .fv-orb-a{ animation-duration: calc(38s / var(--fv-motion-speed)); animation-delay: calc(-8s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-ambient .fv-orb-b{ animation-duration: calc(43s / var(--fv-motion-speed)); animation-delay: calc(-19s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-ambient .fv-orb-c{ animation-duration: calc(41s / var(--fv-motion-speed)); animation-delay: calc(-11s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-ambient .fv-flow-layer:after{ background: linear-gradient(180deg,#0e101700,#0e1017b0); }
#fuuvo-music-pc .discovery-hero.fv-flow{ background: #17202b; }
#fuuvo-music-pc .discovery-hero.fv-flow:before, #fuuvo-music-pc .discovery-hero.fv-flow:after{ pointer-events: none; }
#fuuvo-music-pc .side-creation-note.fv-flow{ background: #19232a; }
#fuuvo-music-pc .playlist-detail-hero.fv-flow{ background: #1c1d2b; }
#fuuvo-music-pc .playlist-detail-hero.fv-flow .fv-flow-layer{ opacity: .65; }
#fuuvo-music-pc .top-create, #fuuvo-music-pc .top-create:hover, #fuuvo-music-pc .generate-button, #fuuvo-music-pc .generate-button:hover, #fuuvo-music-pc .favorite-art{
  background-image: var(--fv-spectrum);
  background-size: 340% 100%;
  animation: music-pc-fv-spectrum-drift calc(12s / var(--fv-motion-speed)) ease-in-out infinite;
}
#fuuvo-music-pc .favorite-art{ color: #fff; text-shadow: 0 1px 5px #29344d80; background-blend-mode: normal; animation-delay: calc(-4s / var(--fv-motion-speed)); }
#fuuvo-music-pc .favorite-art{ background-image: linear-gradient(#25314733,#25314733),var(--fv-spectrum); }
#fuuvo-music-pc .generate-button, #fuuvo-music-pc .generate-button:hover{ animation-duration: calc(15s / var(--fv-motion-speed)); animation-delay: calc(-3s / var(--fv-motion-speed)); }
@keyframes music-pc-fv-spectrum-drift{ 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
#fuuvo-music-pc .fv-wave path{ animation: music-pc-fv-wave-colour calc(15s / var(--fv-motion-speed)) linear infinite; }
#fuuvo-music-pc .fv-wave path:nth-child(1){ stroke:var(--fv-mint); animation-delay:calc(0s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-wave path:nth-child(2){ stroke:var(--fv-sky); animation-delay:calc(-3s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-wave path:nth-child(3){ stroke:var(--fv-lilac); animation-delay:calc(-6s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-wave path:nth-child(4){ stroke:var(--fv-pink); animation-delay:calc(-9s / var(--fv-motion-speed)); }
#fuuvo-music-pc .fv-wave path:nth-child(5){ stroke:var(--fv-peach); animation-delay:calc(-12s / var(--fv-motion-speed)); }
@keyframes music-pc-fv-wave-colour{ 0%,100% { stroke:var(--fv-mint); } 20% { stroke:var(--fv-sky); } 40% { stroke:var(--fv-lilac); } 60% { stroke:var(--fv-pink); } 80% { stroke:var(--fv-peach); } }
#fuuvo-music-pc .sound-mark i{ animation: music-pc-fv-mark-colour calc(15s / var(--fv-motion-speed)) linear infinite; }
#fuuvo-music-pc .sound-mark i:nth-child(2){ animation-delay:calc(-3s / var(--fv-motion-speed)); }
#fuuvo-music-pc .sound-mark i:nth-child(3){ animation-delay:calc(-6s / var(--fv-motion-speed)); }
#fuuvo-music-pc .sound-mark i:nth-child(4){ animation-delay:calc(-9s / var(--fv-motion-speed)); }
#fuuvo-music-pc .sound-mark i:nth-child(5){ animation-delay:calc(-12s / var(--fv-motion-speed)); }
@keyframes music-pc-fv-mark-colour{ 0%,100% { background-color:var(--fv-mint); } 20% { background-color:var(--fv-sky); } 40% { background-color:var(--fv-lilac); } 60% { background-color:var(--fv-pink); } 80% { background-color:var(--fv-peach); } }
#fuuvo-music-pc .player:before{ background: var(--fv-spectrum); background-size: 320% 100%; animation: music-pc-fv-spectrum-drift calc(18s / var(--fv-motion-speed)) ease-in-out infinite; opacity: .36; }
#fuuvo-music-pc[data-fv-playing=true] .player:before{ opacity: .9; }
#fuuvo-music-pc .view-tabs button.selected:after, #fuuvo-music-pc .mobile-tabs .selected:after{ background-image: var(--fv-spectrum); background-size: 300% 100%; animation: music-pc-fv-spectrum-drift calc(16s / var(--fv-motion-speed)) ease-in-out infinite; }
#fuuvo-music-pc .motion-toggle{ display:flex; align-items:center; justify-content:center; gap:6px; padding:8px 10px; border:1px solid #ffffff17; border-radius:9px; color:#c2bacf; font-size:10px; white-space:nowrap; }
#fuuvo-music-pc .motion-toggle svg{ height:15px; width:15px; color:#93dbd5; }
#fuuvo-music-pc .motion-toggle:hover{ background:#ffffff09; color:#fff; }
#fuuvo-music-pc .motion-toggle[aria-pressed=false] svg{ color:#8d879e; }
#fuuvo-music-pc .fv-flow[data-fv-inview=false] .fv-orb{ animation-play-state:paused; }
#fuuvo-music-pc[data-fv-motion=off] .fv-orb, #fuuvo-music-pc[data-fv-motion=off] .top-create, #fuuvo-music-pc[data-fv-motion=off] .generate-button, #fuuvo-music-pc[data-fv-motion=off] .favorite-art, #fuuvo-music-pc[data-fv-motion=off] .fv-wave path, #fuuvo-music-pc[data-fv-motion=off] .sound-mark i, #fuuvo-music-pc[data-fv-motion=off] .player:before, #fuuvo-music-pc[data-fv-motion=off] .view-tabs button:after, #fuuvo-music-pc[data-fv-motion=off] .mobile-tabs button:after{ animation-play-state:paused; }
#fuuvo-music-pc[data-fv-visibility=hidden] .fv-orb, #fuuvo-music-pc[data-fv-visibility=hidden] .top-create, #fuuvo-music-pc[data-fv-visibility=hidden] .generate-button, #fuuvo-music-pc[data-fv-visibility=hidden] .favorite-art, #fuuvo-music-pc[data-fv-visibility=hidden] .fv-wave path, #fuuvo-music-pc[data-fv-visibility=hidden] .sound-mark i, #fuuvo-music-pc[data-fv-visibility=hidden] .player:before, #fuuvo-music-pc[data-fv-visibility=hidden] .view-tabs button:after, #fuuvo-music-pc[data-fv-visibility=hidden] .mobile-tabs button:after{ animation-play-state:paused; }
@media(max-width:760px){
  #fuuvo-music-pc .motion-toggle{ width:29px; height:29px; padding:6px; }
  #fuuvo-music-pc .motion-label{ display:none; }
  #fuuvo-music-pc .fv-ambient .fv-flow-layer{ opacity:.08; }
  #fuuvo-music-pc .fv-flow[data-fv-flow=hero] .fv-flow-layer{ opacity:.82; }
  #fuuvo-music-pc .fv-flow[data-fv-flow=hero] .fv-orb{ animation-duration:calc(28s / var(--fv-motion-speed)); }
  #fuuvo-music-pc .player:before{ display:block; }
}
@media(prefers-reduced-motion:reduce){
  #fuuvo-music-pc .fv-orb, #fuuvo-music-pc .top-create, #fuuvo-music-pc .generate-button, #fuuvo-music-pc .favorite-art, #fuuvo-music-pc .fv-wave path, #fuuvo-music-pc .sound-mark i, #fuuvo-music-pc .player:before, #fuuvo-music-pc .view-tabs button:after, #fuuvo-music-pc .mobile-tabs button:after{ animation:none!important; }
}

}
