@property --x {
  syntax: '<length>';
  initial-value: 0px;
  inherits: true;
}

@keyframes moveX {
  0% {
    --x: -32vmin;
  }
  100% {
    --x: 32vmin
  }
}

:root {
  --x: calc(50% - 35vmin);
  margin: 0;
  height: 100vh;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 50%, blue 0.75vmin, red 0 1.5vmin, #0000 0) var(--x) 50% / 100% 100%,
    #aaa;
  animation: moveX 2s linear alternate infinite;
  
  &::before, &::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    width: 80vmin;
    height: 2vmin;
    background: repeating-linear-gradient(90deg, #fff 0 2vmin, #000 0 4vmin);
    transform-origin: 0 50%;
    rotate: -25deg;
  }
  
  &::after {
    rotate: 25deg;
  }
}
