body {
  font-family: system-ui, sans-serif;
  margin: 2rem;
}

.slider {
  position: relative;
  width: 20rem;
  overflow: hidden;
  border-radius: 0.5rem;
}

.slider input {
  display: none;
}

.track {
  display: flex;
  width: 300%;
}

.slide {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  color: #2a2a2a;
}

.slide:nth-child(1) { background: #e3e0fb; }
.slide:nth-child(2) { background: #dcebfe; }
.slide:nth-child(3) { background: #dbf5e6; }

@media (prefers-reduced-motion: no-preference) {
  .track {
    transition: transform 0.3s ease;
  }
}

#s1:checked ~ .track { transform: translateX(0%); }
#s2:checked ~ .track { transform: translateX(-33.333%); }
#s3:checked ~ .track { transform: translateX(-66.666%); }

.dots {
  position: absolute;
  bottom: 0.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 0.5rem;
}

.dots label {
  width: 0.9rem;
  height: 0.9rem;
  padding: 0.35rem;
  background: rgba(0, 0, 0, 0.35);
  border: 2px solid #fff;
  border-radius: 50%;
  background-clip: content-box;
  cursor: pointer;
}

#s1:checked ~ .dots label:nth-child(1),
#s2:checked ~ .dots label:nth-child(2),
#s3:checked ~ .dots label:nth-child(3) {
  background-color: #333;
}
