.cupid-app-shell button,
.cupid-app-shell [role="button"] {
  -webkit-tap-highlight-color: transparent;
  transition-property: transform, box-shadow, filter, background-color, border-color, opacity;
  transition-duration: 120ms;
  transition-timing-function: ease-out;
}

.cupid-app-shell button:not(:disabled):active,
.cupid-app-shell [role="button"]:not([aria-disabled="true"]):active {
  transform: translateY(1px) scale(0.985);
  filter: brightness(0.97);
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--signal) 20%, transparent);
}

.cupid-app-shell button:focus-visible,
.cupid-app-shell [role="button"]:focus-visible,
.cupid-app-shell input:focus-visible,
.cupid-app-shell select:focus-visible,
.cupid-app-shell textarea:focus-visible {
  outline: 2px solid color-mix(in oklab, var(--signal) 70%, white);
  outline-offset: 2px;
}

.cupid-app-shell button:disabled,
.cupid-app-shell [aria-disabled="true"] {
  cursor: not-allowed;
}

.cupid-app-shell button[aria-busy="true"] {
  cursor: progress;
  pointer-events: none;
  opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
  .cupid-app-shell button,
  .cupid-app-shell [role="button"] {
    transition-duration: 0.01ms;
  }
}
