.clay-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  justify-content: center;
  padding: 24px;
  border: 0;
  border-radius: var(--clay-radius-card);
  color: var(--clay-text-brown);
  font-family: var(--clay-font);
  background: var(--clay-capsule-cream);
  box-shadow: var(--clay-shadow-card);
}

.clay-card--pink {
  background: var(--clay-card-pink);
}

.clay-card--yellow {
  background: var(--clay-card-yellow);
}

.clay-card--green {
  background: var(--clay-card-green);
}

.clay-card--blue {
  background: var(--clay-card-blue);
}

.clay-card--purple {
  background: var(--clay-card-purple);
}

.clay-card--orange {
  background: var(--clay-card-orange);
}

.clay-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  min-height: 88px;
  padding: 16px 24px;
  border: 0;
  border-radius: var(--clay-radius-capsule);
  color: var(--clay-text-brown);
  font: 700 24px/1.15 var(--clay-font);
  text-align: center;
  background: var(--clay-capsule-cream);
  box-shadow: var(--clay-shadow-card);
  cursor: pointer;
  touch-action: manipulation;
  transform-origin: center;
  transition:
    transform var(--clay-motion-squish) ease,
    box-shadow var(--clay-motion-squish) ease,
    opacity var(--clay-motion-squish) ease;
  user-select: none;
}

.clay-btn:active {
  box-shadow: var(--clay-shadow-pressed);
  transform: scale(var(--clay-press-scale));
}

.clay-btn--small {
  min-width: 72px;
  min-height: 72px;
  padding: 12px 18px;
  font-size: 20px;
}

.clay-capsule {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: fit-content;
  padding: 8px 18px;
  border-radius: var(--clay-radius-capsule);
  color: var(--clay-text-brown);
  font: 700 18px/1.2 var(--clay-font);
  background: var(--clay-capsule-cream);
  box-shadow: var(--clay-shadow-card);
}

.clay-star {
  display: inline-grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: var(--clay-radius-capsule);
  color: var(--clay-text-brown);
  font-family: var(--clay-font);
  background: var(--clay-capsule-cream);
  box-shadow: var(--clay-shadow-card);
  transition:
    transform var(--clay-motion-squish) ease,
    box-shadow var(--clay-motion-squish) ease,
    opacity var(--clay-motion-squish) ease;
}

.clay-star::before {
  content: "";
  width: 36px;
  height: 36px;
  background: currentColor;
  clip-path: polygon(50% 6%, 61% 36%, 94% 36%, 67% 55%, 78% 88%, 50% 69%, 22% 88%, 33% 55%, 6% 36%, 39% 36%);
}

.clay-star--filled {
  background: var(--clay-card-yellow);
}

.clay-star--empty {
  opacity: .55;
}

.clay-halo {
  box-shadow: var(--clay-shadow-halo);
}

@media (prefers-reduced-motion: reduce) {
  .clay-card,
  .clay-btn,
  .clay-capsule,
  .clay-star {
    transition: opacity var(--clay-motion-reduced-fade) ease;
  }

  .clay-btn:active {
    opacity: .82;
    transform: none;
  }
}

/*
Dev display class guide:
.clay-card: rounded clay surface using the shared card radius and double shadow.
.clay-card--pink/yellow/green/blue/purple/orange: card color variants mapped to clay color tokens.
.clay-btn: primary child touch button, at least 88px, with pressed squish and shortened shadow.
.clay-btn--small: compact child touch button, at least 72px.
.clay-capsule: cream pill label with brown text.
.clay-star: progress star container.
.clay-star--filled: filled progress star state.
.clay-star--empty: empty progress star state.
.clay-halo: selected state halo using the shared halo shadow token.
*/
