 + (80 - 40) * (100px - 320px) / (2560 - 320));
  position: relative;
  -webkit-tap-highlight-color: transparent;
}
.switch {
  display: block;
  filter: grayscale(0.9);
  margin: auto;
  transition: filter var(--trans-dur) var(--trans-timing);
  width: 6em;
  height: 2.75em;
}
.switch:has(:checked) {
  filter: grayscale(0);
}
.switch__input {
  cursor: pointer;
  outline: transparent;
  width: 100%;
  height: 100%;
  -webkit-appearance: none;
  appearance: none;
  z-index: 2;
}
.switch__bg {
  background: 