:root {
  background: #ccc;
  height: 100vh;
  overflow: hidden;
  perspective: 100vh;
  position: relative;
  
  &::before {
    background:
      linear-gradient(#000 0 0) 15% 100% / 2vmin 100% no-repeat,
      linear-gradient(#000 0 0) 85% 100% / 2vmin 100% no-repeat,
      repeating-linear-gradient(#000 0 2vmin, #fff0 0 16.66vmin);
    bottom: 0%;
    content: "";
    height: 2000vh;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0%) rotate3d(1, 0, 0, 60deg);
    transform-origin: 50% 100%;
    width: 80vmin;
  }
  
  &::after {
    border-block: 1.5vh solid #ff0;
    box-shadow: 1.5vh 0, -1.5vh 0;
    color: #0000;
    content: "";
    height: 40vh;
    left: 50%;
    position: absolute;
    top: 50%;
    transition: color 1s;
    translate: -50% -50%;
    width: 19vh;
  }
  
  @media(aspect-ratio < 1) {
    &::before {
      width: 100vh;
    }
    
    &::after {
      width: 26vh;
    }
  }
  
  &:hover {
    &::after {
      color: red;
    }
  }
}
