#ifsaver {
  z-index: 999999;
  background: #000;
  display: block;
  position: fixed;
  inset: 0;
}

#ifsaver-video-container {
  width: 100%;
  height: 100%;
}

#ifsaver-video-frame, #ifsaver-video-frame iframe, #ifsaver-youtube-player, #ifsaver-local-video, #ifsaver-image-frame, #ifsaver-local-video, #ifsaver-image-frame img {
  width: 100%;
  height: 100%;
  display: block;
}

#ifsaver-local-video {
  object-fit: contain;
}

#ifsaver-image-frame img {
  object-fit: cover;
}

#ifsaver-control-overlay {
  z-index: 1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#ifsaver-controls {
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transition: opacity .18s;
  position: absolute;
  top: 24px;
  bottom: 24px;
  right: 24px;
}

#ifsaver-controls.ifsaver-controls-visible {
  opacity: .72;
  pointer-events: auto;
}

#ifsaver-close, #ifsaver-mute {
  color: #fff;
  cursor: pointer;
  background: #00000059;
  border: 1px solid #ffffff59;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  padding: 0;
  font-size: 36px;
  line-height: 1;
  transition: background-color .18s;
  display: flex;
  position: absolute;
}

#ifsaver-close:hover, #ifsaver-close:focus, #ifsaver-mute:hover, #ifsaver-mute:focus {
  background: #0000008c;
  outline: none;
}

#ifsaver-close {
  top: 0;
  right: 0;
}

#ifsaver-volume-controls {
  flex-direction: column;
  align-items: center;
  gap: 12px;
  display: flex;
  position: absolute;
  bottom: 0;
  right: 0;
}

#ifsaver-volume-controls[hidden] {
  display: none;
}

#ifsaver-volume {
  accent-color: #fff;
  cursor: pointer;
  writing-mode: vertical-lr;
  direction: rtl;
  width: 28px;
  height: 128px;
}

#ifsaver-volume::-webkit-slider-runnable-track {
  background: #ffffff59;
  border-radius: 999px;
  width: 6px;
}

#ifsaver-volume::-webkit-slider-thumb {
  -webkit-appearance: none;
  background: #fff;
  border: 0;
  border-radius: 999px;
  width: 18px;
  height: 18px;
  margin-left: -5px;
}

#ifsaver-volume::-moz-range-track {
  background: #ffffff59;
  border-radius: 999px;
  width: 6px;
}

#ifsaver-volume::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 999px;
  width: 18px;
  height: 18px;
}

#ifsaver-mute {
  position: static;
}

#ifsaver-mute svg {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2px;
  width: 24px;
  height: 24px;
}

#ifsaver-mute svg path:first-child {
  fill: currentColor;
  stroke: none;
}
