@keyframes amcCommentTypingDot {
  0%,
  80%,
  100% {
    opacity: 0.28;
    transform: translateY(0);
  }
  40% {
    opacity: 1;
    transform: translateY(-0.5px);
  }
}

@keyframes amcDocsCursorBlink {
  0%,
  45% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
  }
}

.ahc-tw .comment-typing-dot {
  animation: amcCommentTypingDot 1.15s cubic-bezier(0.215, 0.61, 0.355, 1)
    infinite;
}

.ahc-tw .docs-cursor-stem,
.ahc-tw .docs-cursor-caret {
  animation: amcDocsCursorBlink 1.1s step-end infinite;
}

.ahc-tw[data-active="false"] .comment-typing-dot,
.ahc-tw[data-active="false"] .docs-cursor-stem,
.ahc-tw[data-active="false"] .docs-cursor-caret {
  animation-play-state: paused;
}

/* Sketch frame sizing + horizontal scroll when the card grid exceeds viewport. */
.ahc-sketch-frame--modules {
  width: fit-content;
  max-width: 100%;
}

.ahc-frame-bleed:has(.ahc-sketch-frame--modules) {
  overflow-x: clip;
  overflow-y: visible;
}

.ahc-sketch-frame--modules
  .ahc-scene-wrap--modules:not([data-active="true"])
  * {
  animation-play-state: paused !important;
}

@media (max-width: 760px) {
  .ahc-scene-wrap.ahc-scene-wrap--modules {
    padding: 20px 12px;
  }
}

.cu-prototype-image-wrapper,
.cu-prototype-fill-image-wrapper,
.cu-prototype-image,
.cu-prototype-fill-image {
  display: block;
}

.cu-prototype-image,
.cu-prototype-fill-image {
  width: 100%;
  height: 100%;
}

.cu-prototype-image img,
.cu-prototype-fill-image img {
  display: block;
  width: 100%;
  height: 100%;
}

.cu-prototype-fill-image img {
  object-fit: var(--cu-image-object-fit, cover);
  object-position: var(--cu-image-object-position, center);
  transform: var(--cu-image-transform, none);
}
