.music-toggle,
.gallery-visibility-toggle {
  position: fixed;
  z-index: 6;
  top: calc(16px + env(safe-area-inset-top, 0px));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border: 1px solid #586047;
  background: #121a10;
  color: #d8deca;
  transition: color .18s, border-color .18s, background-color .18s;
}

.music-toggle {
  right: calc(16px + env(safe-area-inset-right, 0px));
  width: 44px;
  padding: 0;
  border-radius: 50%;
}

.music-toggle .icon {
  width: 18px;
  height: 18px;
}

.music-toggle[data-state=playing] {
  color: var(--gold);
  border-color: #a18e60;
}

.music-toggle .music-icon-on,
.music-toggle[data-state=playing] .music-icon-off {
  display: none;
}

.music-toggle[data-state=playing] .music-icon-on {
  display: block;
}

.gallery-visibility-toggle {
  right: calc(70px + env(safe-area-inset-right, 0px));
  gap: 9px;
  padding: 0 14px;
  border-radius: 5px;
  font-size: 12px;
  line-height: 1.4;
}

.gallery-visibility-toggle .icon {
  width: 17px;
  height: 17px;
}

.gallery-visibility-toggle .gallery-eye-closed,
.gallery-cards-hidden .gallery-visibility-toggle .gallery-eye-open {
  display: none;
}

.gallery-cards-hidden .gallery-visibility-toggle .gallery-eye-closed {
  display: block;
}

.gallery-visibility-toggle[aria-pressed=true] {
  color: var(--gold);
  border-color: #a18e60;
}

.music-toggle:hover,
.gallery-visibility-toggle:hover {
  color: var(--gold-hover);
  border-color: var(--gold);
  background: #20291a;
}

.gallery-cards-hidden .scene-shade {
  background: linear-gradient(180deg, rgba(8,12,9,.78), rgba(8,12,9,.08) 42%, rgba(8,12,9,.12));
}

@media (max-width: 1050px) {
  .portal-expanded .app-shell {
    padding-top: calc(82px + env(safe-area-inset-top, 0px));
  }
}

@media (max-width: 700px) {
  .music-toggle,
  .gallery-visibility-toggle {
    top: calc(12px + env(safe-area-inset-top, 0px));
  }

  .music-toggle {
    right: calc(12px + env(safe-area-inset-right, 0px));
  }

  .gallery-visibility-toggle {
    right: calc(66px + env(safe-area-inset-right, 0px));
    padding-inline: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .music-toggle,
  .gallery-visibility-toggle {
    transition: none;
  }
}
