.hagentest-page .shell {
  max-width: 980px;
  margin: 0 auto;
  padding: 2rem 1.25rem 4rem;
}

.hagentest-page #screen-start,
.hagentest-page #screen-test,
.hagentest-page #screen-finish,
.hagentest-page #example-screen,
.hagentest-page #done-screen {
  width: 100%;
}

.hagentest-page .grid-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.hagentest-page .stimulus-wrap,
.hagentest-page #example-screen .card {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hagentest-page .stimulus,
.hagentest-page #example-screen #stimulus {
  width: min(100%, 43vh, 476px);
  height: auto;
  aspect-ratio: 1;
  object-fit: contain;
  background: #fff;
  margin: 0 auto;
}

.hagentest-page .choices,
.hagentest-page #example-screen #choices {
  width: min(100%, 600px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hagentest-page .choice {
  cursor: pointer;
}

.hagentest-page .choice img {
  width: 100%;
  max-width: 161px;
  aspect-ratio: 1;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
  background: #fff;
}

@media (max-width: 900px) {
  .hagentest-page .shell {
    max-width: 100%;
    padding: 1.5rem 1rem 3rem;
  }

  .hagentest-page .stimulus,
  .hagentest-page #example-screen #stimulus {
    width: min(100%, 41vh, 422px);
  }
}

@media (max-width: 640px) {
  .hagentest-page .shell {
    padding: 1rem 0.75rem 2.5rem;
  }

  .hagentest-page .choices,
  .hagentest-page #example-screen #choices {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .hagentest-page .choice img {
    max-width: 124px;
  }
}
