#web-player .wp-top {
  gap: .45rem;
}

#web-player.wp-settings-open .wp-top,
#web-player .wp-top:focus-within {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

#web-player .wp-title {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#web-player :is(.wp-settings-button, .wp-fullscreen, .wp-settings-close) {
  display: inline-grid;
  place-items: center;
  flex-shrink: 0;
  min-height: 44px;
  min-width: 44px;
  padding-inline: .65rem;
  color: #fff;
  background: #252321;
  border: 1px solid #5e584e;
  border-radius: .65rem;
  font: inherit;
  font-size: .875rem;
  cursor: pointer;
}

#web-player .wp-fullscreen svg { width: 20px; height: 20px; }

#web-player .wp-settings {
  position: absolute;
  z-index: 6;
  inset-block-start: max(76px, calc(env(safe-area-inset-top) + 68px));
  inset-inline-end: max(12px, env(safe-area-inset-right));
  width: min(330px, calc(100% - 24px));
  max-height: calc(100% - 126px);
  box-sizing: border-box;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: grid;
  gap: .75rem;
  padding: 1rem;
  color: #fff;
  background: #1b1917;
  border: 1px solid #5e584e;
  border-radius: .85rem;
  box-shadow: 0 10px 36px #0008;
}

#web-player .wp-settings.hidden,
#web-player .wp-settings label.hidden { display: none; }

#web-player .wp-settings label { display: grid; gap: .35rem; }

#web-player .wp-settings select {
  min-width: 0;
  width: 100%;
  min-height: 44px;
  padding-inline: .6rem;
  color: #fff;
  background: #292623;
  color-scheme: dark;
  border: 1px solid #726756;
  border-radius: .5rem;
  font: inherit;
  font-size: .95rem;
}

#web-player .wp-settings select:focus-visible,
#web-player :is(.wp-settings-button, .wp-fullscreen, .wp-settings-close):focus-visible {
  outline: 2px solid #ffcc71;
  outline-offset: 3px;
}

#web-player .wp-setting-status { color: #ffd383; font-size: .85rem; }
#web-player .wp-setting-status:empty { display: none; }
