/* Native clipboard card. Dimensions and timing match the original illustration. */
.clipboard-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 28rem;
  padding-top: 3rem;
  overflow: clip;
  border: 1px solid #ffffff14;
  border-radius: var(--roundness--box-xl, 1.5rem);
  background: #ffffff0a;
  font-family: Manrope, Arial, sans-serif;
}

.clipboard-card__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-inline: 2rem;
  text-align: center;
}

.clipboard-card__title {
  margin: 0;
  color: transparent;
  background: linear-gradient(to right, #fff, #ffffffb3);
  background-clip: text;
  -webkit-background-clip: text;
  font-size: var(--_typography---h4--font-size, 1.9375rem);
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.03875rem;
}

.clipboard-card__description {
  margin: 0;
  color: #c3c3c3;
  font-size: 1rem;
  line-height: 1.5;
}

.clipboard-orbit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: clip;
  isolation: isolate;
}

.clipboard-orbit::after {
  content: "";
  position: absolute;
  z-index: 101;
  inset: 0 0 auto;
  height: 5rem;
  background: linear-gradient(#161616, #121212 0%, #16161600 102%);
  pointer-events: none;
}

.clipboard-orbit__ring {
  position: absolute;
  z-index: 5;
  aspect-ratio: 1;
  border: 1px solid #ffffff1f;
  border-radius: 50%;
  width: 10rem;
}

.clipboard-orbit__ring--middle { width: 16rem; border-color: #ffffff14; }
.clipboard-orbit__ring--outer { width: 22.5rem; border-color: #ffffff0a; }

.clipboard-orbit__center {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  aspect-ratio: 1;
  padding: 1rem;
  border-radius: 50%;
  background: linear-gradient(90deg, #4933e9, #2f1cbe);
}

.clipboard-orbit__mark { display: block; width: 38px; height: 38px; flex: none; }

.clipboard-orbit__rotor {
  position: absolute;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20rem;
  height: 20rem;
}

.clipboard-orbit__satellite {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border: 1px solid #ffffff14;
  border-radius: 50%;
  background: linear-gradient(#ffffff14, #ffffff0a), #080808;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}

/* Three operating systems, spaced 120 degrees apart on the same 8rem radius. */
.clipboard-orbit__satellite--windows { margin-right: 13.856406rem; margin-bottom: 8rem; }
.clipboard-orbit__satellite--macos { margin-left: 13.856406rem; margin-bottom: 8rem; }
.clipboard-orbit__satellite--linux { margin-top: 16rem; }
.clipboard-orbit__icon { display: block; flex: none; width: 2rem; height: 2rem; }

.clipboard-orbit.is-orbiting .clipboard-orbit__rotor {
  animation: clipboard-orbit-turn 20s linear infinite;
}

/* The source counter-rotates only the first lap, then the icons turn with
   the orbit. Preserve that behavior, including the seamless first handoff. */
.clipboard-orbit.is-orbiting .clipboard-orbit__satellite {
  animation: clipboard-orbit-counterturn 20s linear forwards;
}

@keyframes clipboard-orbit-turn { to { transform: rotate(360deg); } }
@keyframes clipboard-orbit-counterturn { to { transform: rotate(-360deg); } }

@media (min-width: 992px) {
  .clipboard-card.is-pending {
    opacity: 0;
    filter: blur(7px);
    transform: translateY(2rem);
  }

  .clipboard-card.is-revealed {
    animation:
      clipboard-card-slide .6s linear(0, .18549375, .3439, .47799375, .5904, .68359375, .7599, .82149375, .8704, .90849375, .9375, .95899375, .9744, .98499375, .9919, .99609375, .9984, .99949375, .9999, .99999375, 1) .3s both,
      clipboard-card-fade .6s ease .3s both;
  }
}

@keyframes clipboard-card-slide {
  from { transform: translateY(2rem); }
  to { transform: translateY(0); }
}

@keyframes clipboard-card-fade {
  from { opacity: 0; filter: blur(7px); }
  to { opacity: 1; filter: blur(0); }
}

@media (max-width: 991px) {
  .clipboard-card { height: 100%; align-items: center; }
  .clipboard-orbit { min-height: 20rem; }
}

@media (prefers-reduced-motion: reduce) {
  .clipboard-card.is-pending { opacity: 1; filter: none; transform: none; }
  .clipboard-card.is-revealed,
  .clipboard-orbit.is-orbiting .clipboard-orbit__rotor,
  .clipboard-orbit.is-orbiting .clipboard-orbit__satellite { animation: none; }
}
