body {
  background-color: blanchedalmond;
  margin: 0;
  font-family: sans-serif;
}

h1 {
  text-align: center;
  color: darkblue;
  margin: 1em 0;
}

ul {
  display: flex;
  flex-direction: column;
  gap: 4vh;
  padding-left: 0;
  overflow-y: auto;
  overscroll-behavior-y: contain;
  scroll-snap-type: y mandatory;

  width: 30%;
  height: 80vh;
  margin: 0em auto;

  anchor-name: --carousel;

  scroll-marker-group: after;
}

li {
  list-style-type: none;
  background-color: beige;
  flex: 0 0 100%;
   height: 80vh;
  scroll-snap-align: start;
}

li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

ul::scroll-button(*) {
  font-size: 2.5em;
  color: yellow;
  background: none;
  border: none;
  cursor: pointer;
  position: absolute;
  position-anchor: --carousel;
  justify-self: anchor-center;
}

ul::scroll-button(up) {
  content: "\1F845";
  bottom: calc(anchor(top) - 50px);
}

ul::scroll-button(down) {
  content: "\1F847";
  top: calc(anchor(bottom) - 50px);
}

ul::scroll-button(*):active {
  translate: 2px 2px;
}

ul::scroll-button(*):hover {
  color: rgb(243, 170, 12);
}

ul::scroll-button(*):disabled {
  opacity: 0.5;
  color: yellow;
  cursor: unset;
}

ul::scroll-marker-group {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  position: fixed; 
  position-anchor: --carousel;

  left: calc(anchor(right) + 10px);
  align-self: anchor-center;
   
}
li::scroll-marker {
  width: 20px;
  height: 20px;
  background-color: transparent;
  border: 3px solid darkblue;
  border-radius: 50%;
  content: "";
}
li::scroll-marker:target-current {
  background-color: yellow;
}
