.cth-two-layer-animation {
  --cth-two-layer-max-width: 520px;
  position: relative;
  margin: 2.5rem auto;
  max-width: var(--cth-two-layer-max-width);
  width: 100%;
  overflow: hidden;
}

.cth-two-layer-animation__inner {
  width: 520px;
  position: relative;
  transform-origin: top left;
  overflow: hidden;
}

.cth-two-layer-animation__base {
  width: 520px;
  display: block;
}

.cth-two-layer-animation__brush {
  position: absolute;
  pointer-events: none;
  will-change: transform;
}

.cth-two-layer-animation__pivot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: red;
  border: 3px solid black;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2;
}

.cth-two-layer-animation__control-dot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 3px solid black;
  transform: translate(-50%, -50%);
  z-index: 10;
  pointer-events: none;
}

.cth-two-layer-animation__control-dot--pivot {
  background: #ff0000;
}

.cth-two-layer-animation__control-dot--move-start {
  background: #00ff00;
}

.cth-two-layer-animation__control-dot--move-end {
  background: #0080ff;
}
