:root {
  --nskeleton-margin: 0px;
  --nskeleton-color: #efefef;
  --nskeleton-background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0,    rgba(255, 255, 255, 0.2) 20%, rgba(255, 255, 255, 0.4) 60%, rgba(255, 255, 255, 0));
  --nskeleton-dark-color: #222222;
  --nskeleton-dark-background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0,    rgba(255, 255, 255, 0.05) 20%, rgba(255, 255, 255, 0.1) 60%, rgba(255, 255, 255, 0));
}
[nskeleton] {
  position: relative;
  z-index: 1;
  display: initial;
  color: transparent !important;
  overflow: hidden;
	-webkit-clip-path: inset(0 0 0 0 round 5px);
	clip-path: inset(0 0 0 0 round 5px);
}[nskeleton] * {
  visibility: hidden;
}
[nskeleton]::before {
  position: absolute;
  top: var(--nskeleton-margin);
  right: var(--nskeleton-margin);
  bottom: var(--nskeleton-margin);
  left: var(--nskeleton-margin);
  z-index: 888;
  background-color: var(--nskeleton-color);
  border-radius: 5px;
  overflow: hidden;
	-webkit-clip-path: inset(0 0 0 0 round 5px);
	clip-path: inset(0 0 0 0 round 5px);
  content: '';
}
[nskeleton]::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 999;
  transform: translateX(-100%);
  background-image: var(--nskeleton-background);
  animation: shimmer 1s infinite;
  border-radius: 5px;
  overflow: hidden;
	-webkit-clip-path: inset(0 0 0 0 round 5px);
	clip-path: inset(0 0 0 0 round 5px);
  content: '';
}

[nskeleton="dark"]::before {
  background-color: var(--nskeleton-dark-color);
}
[nskeleton="dark"]::after {
  background-image: var(--nskeleton-dark-background);
}

@keyframes shimmer {
  100% {
    transform: translateX(100%);
  }
}
