/* Botón flotante para pausar o reanudar la música. */
.music-toggle { position: fixed; z-index: 20; right: 18px; bottom: 18px; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 2px solid #F3C66E; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #DE4C40, #A92F28 75%); color: #FFF6E5; cursor: pointer; box-shadow: 0 0 0 3px #FFF6E5, 0 0 0 4.5px #E8AC45, 0 8px 18px #5A1A1555; transition: transform .2s ease; -webkit-tap-highlight-color: transparent; }
.music-toggle:hover { transform: scale(1.06); }
.music-toggle:focus-visible { outline: 3px dashed #235C45; outline-offset: 8px; }
.music-toggle svg { width: 24px; height: 24px; }
.music-bars { display: none; align-items: flex-end; gap: 3px; height: 18px; }
.music-bars span { width: 3px; height: 100%; border-radius: 2px; background: currentColor; transform-origin: bottom; animation: music-bar .9s ease-in-out infinite alternate; }
.music-bars span:nth-child(2) { animation-delay: -.3s; animation-duration: .7s; }
.music-bars span:nth-child(3) { animation-delay: -.6s; animation-duration: 1.1s; }
.music-bars span:nth-child(4) { animation-delay: -.15s; animation-duration: .8s; }
.music-toggle.is-playing .music-bars { display: flex; }
.music-toggle.is-playing .music-note { display: none; }
.music-toggle:not(.is-playing)::after { content: ""; position: absolute; width: 30px; height: 2.5px; border-radius: 2px; background: #F8CE70; rotate: -45deg; box-shadow: 0 0 0 1.5px #A92F28; }
@keyframes music-bar { from { scale: 1 .25; } to { scale: 1 1; } }
@media (max-width: 600px) { .music-toggle { right: 14px; bottom: 14px; width: 46px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .music-bars span { animation: none; scale: 1 .7; } }
