body {
  background: #edf8f8;
}

.challenge-select-app {
  position: relative;
  width: 23.4375rem;
  min-height: max(100vh, 41.6875rem);
  padding: 5.5rem 1.25rem 2.5rem;
  overflow: hidden;
  background:
    radial-gradient(circle at 21.25rem 7.25rem, rgba(134, 225, 228, 0.48) 0, rgba(134, 225, 228, 0) 8rem),
    linear-gradient(180deg, #dff4f4 0rem, #f8fbfb 27.5rem, #ffffff 100%);
}

.challenge-select-header {
  z-index: 10;
  --app-header-background: rgba(223, 244, 244, 0.88);
}

.challenge-select-intro {
  position: relative;
  z-index: 1;
  margin-bottom: 1.75rem;
}

.challenge-select-intro p {
  margin-bottom: 0.375rem;
  color: #3fa7ab;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25rem;
  letter-spacing: -0.021875rem;
}

.challenge-select-intro h2 {
  width: 18.75rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.125rem;
  letter-spacing: -0.0375rem;
}

.challenge-menu {
  position: relative;
  z-index: 1;
  display: flex;
  width: 20.9375rem;
  flex-direction: column;
  gap: 1rem;
}

.challenge-menu-card {
  position: relative;
  display: flex;
  width: 20.9375rem;
  height: 11.875rem;
  padding: 1.5rem;
  overflow: hidden;
  align-items: stretch;
  border-radius: 1rem;
  box-shadow: 0 0.5rem 1.5rem rgba(35, 103, 106, 0.12);
}

.challenge-menu-card--walking {
  background: linear-gradient(120deg, #29aaa1 0%, #29a2be 100%);
  color: #ffffff;
}

.challenge-menu-card--attendance {
  border: 0.0625rem solid #d9eded;
  background: #ffffff;
  color: #111111;
}

.challenge-menu-card__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.challenge-menu-card__copy small {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.125rem;
  letter-spacing: -0.0203125rem;
}

.challenge-menu-card__copy strong {
  margin-top: 0.25rem;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 2.25rem;
  letter-spacing: -0.040625rem;
}

.challenge-menu-card__action {
  display: flex;
  height: 2.25rem;
  margin-top: auto;
  padding: 0 1.125rem;
  align-items: center;
  justify-content: center;
  border-radius: 1.125rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25rem;
  letter-spacing: -0.021875rem;
}

.challenge-menu-card--walking .challenge-menu-card__action {
  background: #ffffff;
  color: #258f94;
}

.challenge-menu-card--attendance .challenge-menu-card__action {
  background: #3fa7ab;
  color: #ffffff;
}

.challenge-menu-card__visual {
  position: absolute;
  right: -0.3125rem;
  bottom: -0.625rem;
  display: grid;
  width: 9.375rem;
  height: 9.375rem;
  place-items: center;
  border-radius: 50%;
}

.challenge-menu-card--walking .challenge-menu-card__visual {
  background: rgba(255, 255, 255, 0.13);
}

.challenge-menu-card--attendance .challenge-menu-card__visual {
  background: #edf8f8;
}

.challenge-menu-card--walking .challenge-menu-card__visual img {
  width: 8.25rem;
  height: 8.25rem;
  object-fit: contain;
}

.challenge-menu-card--attendance .challenge-menu-card__visual img {
  width: 6.5rem;
  height: 6.5rem;
  object-fit: contain;
}

.challenge-menu-card:focus-visible {
  outline: 0.1875rem solid #111111;
  outline-offset: 0.1875rem;
}

@media (prefers-reduced-motion: no-preference) {
  .challenge-menu-card {
    transition: transform 0.18s ease, box-shadow 0.18s ease;
  }

  .challenge-menu-card:active {
    transform: scale(0.985);
    box-shadow: 0 0.25rem 0.875rem rgba(35, 103, 106, 0.1);
  }
}
