/* Icon-only control; desktop reveal follows the first soundscape load. */
.lx-sound {
  position: fixed;
  z-index: 10;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: #f3eee3;
  opacity: 0;
  transition: opacity 3s ease, color 0.2s ease;
  cursor: pointer;
}
.lx-sound.lx-sound-visible { opacity: 1; }
.lx-sound:hover { color: #fff; }
.lx-sound:focus-visible { outline: 3px solid #ff4d54; outline-offset: 3px; }
.lx-sound:disabled { cursor: not-allowed; opacity: 0.6; }
.lx-sound-speaker { display: block; width: 1.8rem; height: 1.8rem; flex: none; filter: drop-shadow(0 1px 3px #000); }
.lx-sound-speaker path { stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.lx-sound[aria-pressed="false"] { color: #ff4d54; }
.lx-sound[aria-pressed="false"]:hover { color: #ff7076; }
.lx-sound[aria-pressed="false"] .lx-sound-wave { display: none; }
@media (max-width: 760px), (max-width: 1000px) and (max-height: 500px) and (orientation: landscape) {
  /* Keep the fixed touch target clear of the signup and legal controls. */
  .lx-sound {
    top: max(0.85rem, env(safe-area-inset-top));
    right: calc(max(0.85rem, env(safe-area-inset-right)) + 3rem);
    bottom: auto;
    opacity: 1;
    transition: color 0.2s ease;
  }
}
@media (prefers-reduced-motion: reduce) {
  .lx-sound { transition: none; }
}
