<div class="snack">

  <div class="layer layer-1"></div>
  <div class="layer layer-2"></div>
  <div class="layer layer-3"></div>
  <div class="layer layer-4"></div>
  <div class="layer layer-5"></div>
  <div class="layer layer-6"></div>
  
  <div class="layer layer-7"></div>
  <div class="layer layer-8"></div>
</div>
body {
  margin: 0;
  min-height: 100vh;
  overflow: hidden;
  perspective: 1000px;
}

@keyframes spin {
  0% { transform: translate(-50%, -50%) rotate3d(0, 1, 0, 60deg); }
  100% { transform: translate(-50%, -50%) rotate3d(0, 1, 0, 420deg); }
}

.snack {
  font-size: 1vmin;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50em;
  height: 50em;
  transform-style: preserve-3d; 
  transform: translate(-50%, -50%) rotate3d(1, 0, 0, 60deg);
  aanimation: spin 50s linear infinite;
  
  & *, & *::before, & *::after {
    transform-style: preserve-3d;
  }
  
  .layer {
    --color: #c96;
    --width: 40%;
    --scale: 1;
    --translate: 0;
    --darkness: 0.85;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(farthest-side, #0000 var(--width), var(--color) 0);
    transform: translate(-50%, -50%) translateZ(var(--translate)) scale(var(--scale));
    filter: brightness(var(--darkness));
    
    &::before, &::after {
      --acolor: red;
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      height: 1em;
      transform-origin: 50% 0;
      transform: translate(-50%, -50%) rotate3d(1,0,0,-90deg);
      background: radial-gradient(50% 1000%, #0000 var(--width), var(--color) 0);
    }
    
    &::after {
      --acolor: blue;
      transform: translate(-50%, -50%) rotate(90deg) rotate3d(1,0,0,-90deg);
    }
    
    &.layer-2 { --darkness: 0.875; --width: 42%; --translate: 1.0em; --scale: 0.99; }
    &.layer-3 { --darkness: 0.9; --width: 48%; --translate: 2.0em; --scale: 0.97; }
    &.layer-4 { --darkness: 0.925; --width: 54%; --translate: 3.0em; --scale: 0.93; }
    &.layer-5 { --darkness: 0.95; --width: 64%; --translate: 4.0em; --scale: 0.88; }
    &.layer-6 { --darkness: 1.00; --color: hotpink; --width: 77%; --translate: 5.0em; --scale: 0.80; }
    &.layer-7 { --darkness: 0.85; --width: 42%; --translate: -1.0em; --scale: 0.99; }
    &.layer-8 { --darkness: 0.80; --width: 45%; --translate: -2.0em; --scale: 0.97; &::before { content: none; }}
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.