/* One image launcher; no dock or secondary playback button. */
html body .ambient-music.ambient-music--solo {
  --music-fx:#597cf2; --music-fx-soft:#7696ee66; --music-float-duration:2.8s;
  left:16px!important; bottom:18px!important; gap:0!important;
}
html body .ambient-music.ambient-music--solo .ambient-music__dock {
  display:block; padding:0; border:0; border-radius:0; background:none; box-shadow:none;
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
html body .ambient-music.ambient-music--solo .ambient-music__launcher {
  position:relative; display:grid; place-items:center; width:46px!important; height:46px!important;
  flex:0 0 46px!important; padding:7px!important; border:0!important; border-radius:50%!important;
  background:transparent!important; box-shadow:none!important; overflow:visible!important;
  isolation:isolate; cursor:pointer; animation:none!important;
  transform:none!important; transition:transform .25s ease!important;
}
html body .ambient-music.ambient-music--solo .ambient-music__launcher::before,
html body .ambient-music.ambient-music--solo .ambient-music__launcher::after { content:none!important; display:none!important; }
html body .ambient-music.ambient-music--solo .ambient-music__image {
  position:relative; z-index:2; display:block; width:32px; height:32px; object-fit:contain;
  pointer-events:none; user-select:none;
  filter:brightness(0) saturate(100%) invert(42%) sepia(87%) saturate(2172%) hue-rotate(215deg) brightness(98%) contrast(96%) drop-shadow(0 2px 5px #6384ff66);
  transform-origin:50% 65%; transition:transform .25s ease,filter .25s ease;
  animation:music-icon-float var(--music-float-duration) ease-in-out infinite;
}
html.site-dark body .ambient-music.ambient-music--solo .ambient-music__image { filter:brightness(0) saturate(100%) invert(81%) sepia(24%) saturate(1220%) hue-rotate(188deg) brightness(105%) contrast(101%) drop-shadow(0 0 7px #779cff88); }
.ambient-music--solo .ambient-music__aura {
  position:absolute; inset:-14px; z-index:-2; border-radius:50%; pointer-events:none;
  background:radial-gradient(ellipse at 30% 35%,#61c4ff66,transparent 65%),radial-gradient(ellipse at 75% 65%,#a67eff77,transparent 65%);
  animation:music-aura-breathe 3s ease-in-out infinite;
}
.ambient-music--solo .ambient-music__orbit {
  position:absolute; inset:1px; z-index:0; padding:2px; border-radius:50%; pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 12%,#53caff 19%,#6179fa 34%,transparent 43% 62%,#b57bfa 72%,#63bbff 85%,transparent 94%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude;
  animation:music-orbit-spin 5s linear infinite;
}
.ambient-music--solo .ambient-music__soundwaves { position:absolute; inset:0; pointer-events:none; }
.ambient-music--solo .ambient-music__soundwaves>i {
  position:absolute; inset:3px; border:1.5px solid var(--music-fx); border-radius:50%;
  box-shadow:0 0 5px #7d98fc33; opacity:0; animation:music-wave-out 2.8s ease-out -.1s infinite;
}
.ambient-music--solo .ambient-music__soundwaves>i:nth-child(2) { border-color:#9d75ee; animation-delay:-1.03s; }
.ambient-music--solo .ambient-music__soundwaves>i:nth-child(3) { border-color:#50bde9; animation-delay:-1.96s; }
.ambient-music--solo .ambient-music__particles { position:absolute; inset:-10px; pointer-events:none; }
.ambient-music--solo .ambient-music__particles>i {
  position:absolute; top:50%; left:50%; width:4px; height:4px; border-radius:50%;
  background:var(--music-fx); box-shadow:0 0 5px #7493ff99; opacity:0;
  animation:music-spark-out 2.9s ease-out var(--md) infinite;
}
.ambient-music--solo .ambient-music__particles>i:nth-child(2n) { background:#39b7e8; box-shadow:0 0 5px #54c9ff88; }
.ambient-music--solo .ambient-music__particles>i:nth-child(3n) {
  width:8px; height:8px; border-radius:0; background:#a371eb;
  clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%);
}
.ambient-music--solo .ambient-music__notes { position:absolute; inset:0; z-index:1; pointer-events:none; }
.ambient-music--solo .ambient-music__notes>i { position:absolute; top:0; right:-6px; color:#8a62dc; font:800 14px/1 system-ui; text-shadow:0 0 6px #b795ff66; animation:music-note-rise 3.6s ease-out -.7s infinite; }
.ambient-music--solo .ambient-music__notes>i:nth-child(2) { top:8px; right:auto; left:-5px; color:#319cd7; font-size:11px; animation-delay:-2.5s; }
.ambient-music--solo .ambient-music__equalizer { position:absolute; z-index:3; left:50%; bottom:-1px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:2px; height:8px; pointer-events:none; opacity:.8; transition:opacity .2s; }
.ambient-music--solo .ambient-music__equalizer>i { width:2px; height:7px; border-radius:2px; background:linear-gradient(#53c6eb,#8970e8); box-shadow:0 0 3px #7c96f755; transform:scaleY(.35); animation:music-equalizer .9s ease-in-out infinite alternate; }
.ambient-music--solo .ambient-music__equalizer>i:nth-child(2) { animation-delay:-.3s; }
.ambient-music--solo .ambient-music__equalizer>i:nth-child(3) { animation-delay:-.15s; }
.ambient-music--solo .ambient-music__equalizer>i:nth-child(4) { animation-delay:-.45s; }
.ambient-music--solo.is-playing { --music-fx:#467ff4; --music-float-duration:2s; }
.ambient-music--solo.is-playing .ambient-music__equalizer { opacity:1; }
.ambient-music--solo.is-playing .ambient-music__equalizer>i { animation-duration:.45s; }
.ambient-music--solo.is-playing .ambient-music__soundwaves>i { animation-duration:1.8s; }
.ambient-music--solo.is-playing .ambient-music__soundwaves>i:nth-child(2) { animation-delay:-.6s; }
.ambient-music--solo.is-playing .ambient-music__soundwaves>i:nth-child(3) { animation-delay:-1.2s; }
.ambient-music--solo.is-playing .ambient-music__orbit { animation-duration:3s; }
html body .ambient-music.ambient-music--solo .ambient-music__launcher:is(:hover,:focus-visible) .ambient-music__image { animation:none; transform:translateY(-3px) rotate(-10deg) scale(1.12); }
html body .ambient-music.ambient-music--solo .ambient-music__launcher:focus-visible { outline:2px solid #82a3ed!important; outline-offset:4px!important; }
html body .ambient-music.ambient-music--solo .ambient-music__launcher:active .ambient-music__image { transform:scale(.92); }
/* Native dialog remains in the top layer and traps focus until dismissed. */
html body .ambient-music.ambient-music--solo dialog.ambient-music__modal {
  position:fixed!important; inset:0!important; display:none; width:min(340px,calc(100vw - 32px))!important;
  height:fit-content; max-width:none; max-height:calc(100dvh - 40px); margin:auto; padding:20px!important;
  border:1px solid #ffffff24!important; border-radius:28px!important;
  background:radial-gradient(ellipse at 0 0,#28395788,transparent 70%),linear-gradient(155deg,#172334,#0e1624)!important;
  color:#eaf0fb!important; box-shadow:0 28px 90px #08102066,inset 0 1px #ffffff13!important;
  overflow:auto; overscroll-behavior:contain; visibility:visible; opacity:1; transform:none!important;
  pointer-events:auto; backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
html body .ambient-music.ambient-music--solo dialog.ambient-music__modal[open] { display:block; animation:music-modal-in .25s cubic-bezier(.2,.8,.2,1); }
html body .ambient-music.ambient-music--solo dialog.ambient-music__modal::backdrop { background:#101d3c61; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
html body .ambient-music.ambient-music--solo .ambient-music__modal .ambient-music__title { color:#f2f6ff!important; }
html body .ambient-music.ambient-music--solo .ambient-music__modal :is(.ambient-music__status,.ambient-music__times) { color:#adbed8!important; }
html body .ambient-music.ambient-music--solo .ambient-music__modal .ambient-music__header { background:none!important; border:0!important; }
html body .ambient-music.ambient-music--solo .ambient-music__modal .ambient-music__collapse { width:30px; height:30px; border-radius:50%!important; color:#c3d1e5!important; }
html body .ambient-music.ambient-music--solo .ambient-music__modal .ambient-music__control { background:#ffffff0a!important; border-color:#ffffff1a!important; color:#cad8ec!important; }
html body .ambient-music.ambient-music--solo .ambient-music__modal .ambient-music__control--play { border-radius:50%!important; background:linear-gradient(135deg,#649cff,#6467df)!important; border-color:#ffffff33!important; color:#fff!important; box-shadow:0 5px 18px #4b7ee433!important; }
html body .ambient-music.ambient-music--solo .ambient-music__modal .ambient-music__volume-row { display:grid; }
.ambient-music--solo.is-page-hidden :is(.ambient-music__image,.ambient-music__aura,.ambient-music__orbit,.ambient-music__soundwaves>i,.ambient-music__particles>i,.ambient-music__notes>i,.ambient-music__equalizer>i) { animation-play-state:paused!important; }
@keyframes music-icon-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-3px) rotate(5deg); } }
@keyframes music-aura-breathe { 0%,100% { opacity:.7; transform:scale(.9); } 50% { opacity:1; transform:scale(1.12); } }
@keyframes music-orbit-spin { to { transform:rotate(360deg); } }
@keyframes music-wave-out { 0% { opacity:.65; transform:scale(.9); } 35% { opacity:.36; } 100% { opacity:0; transform:scale(1.85); } }
@keyframes music-spark-out { 0% { opacity:0; transform:translate(calc(var(--mx)*.55),calc(var(--my)*.55)) scale(.55); } 18%,55% { opacity:1; } 100% { opacity:0; transform:translate(var(--mx),var(--my)) scale(.45); } }
@keyframes music-note-rise { 0% { opacity:0; transform:translateY(4px) rotate(-12deg) scale(.7); } 25%,45% { opacity:.9; } 100% { opacity:0; transform:translateY(-23px) rotate(14deg) scale(1.05); } }
@keyframes music-equalizer { from { transform:scaleY(.25); } to { transform:scaleY(1); } }
@keyframes music-modal-in { from { opacity:0; translate:0 12px; scale:.96; } to { opacity:1; translate:0 0; scale:1; } }
@media(max-width:760px) { html body .ambient-music.ambient-music--solo { left:14px!important; bottom:calc(82px + env(safe-area-inset-bottom,0px))!important; } }
@media(prefers-reduced-motion:reduce) {
  html body .ambient-music.ambient-music--solo *,html body .ambient-music.ambient-music--solo *::before,html body .ambient-music.ambient-music--solo *::after { animation:none!important; transition:none!important; }
  .ambient-music--solo :is(.ambient-music__soundwaves,.ambient-music__particles,.ambient-music__notes) { display:none; }
}
