.viewport {
  isolation: isolate;
  background:
    radial-gradient(ellipse at 50% 48%, #171717 0%, #090909 50%, #000 100%) !important;
}

.car-photo {
  -webkit-mask-image: radial-gradient(ellipse 78% 70% at 50% 51%, #000 58%, rgba(0, 0, 0, .93) 73%, transparent 100%);
  mask-image: radial-gradient(ellipse 78% 70% at 50% 51%, #000 58%, rgba(0, 0, 0, .93) 73%, transparent 100%);
}

.car-photo.cutout-ready {
  -webkit-mask-image: none;
  mask-image: none;
  filter: drop-shadow(0 24px 22px rgba(0, 0, 0, .95)) drop-shadow(0 0 2px rgba(255, 255, 255, .12));
}

.viewport.original-car-photo {
  background: #111 !important;
}

.viewport.original-car-photo::before,
.viewport.original-car-photo .light {
  display: none !important;
}

.car-photo.original-photo-ready {
  -webkit-mask-image: none;
  mask-image: none;
  object-fit: contain;
  filter: none;
}

.rim-photo.cutout-ready {
  background: transparent !important;
  clip-path: circle(50%);
}

.wheel-mask {
  inset: 1%;
  box-shadow: inset 0 0 0 2px #080808, 0 3px 9px rgba(0, 0, 0, .8);
}

.upload-card.processing {
  border-color: #d6a43f;
  background: linear-gradient(110deg, #17130c, #27200f, #17130c);
  background-size: 220% 100%;
  animation: cutoutProcessing 1.15s linear infinite;
}

.upload-card.processing .action {
  color: #fff;
}

@keyframes cutoutProcessing {
  to { background-position: -220% 0; }
}
