.no-wiggle,
.no-wiggle * {
  animation: none !important;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
  min-height: 100svh;
}

button,
.profile-tile,
.planet-card,
.topic-pick,
.big-action,
.cave-node,
.icon-button,
.choice-btn {
  transform: none;
  transition:
    background-color 120ms ease,
    border-color 120ms ease,
    box-shadow 120ms ease,
    transform 120ms ease;
}

button:active,
.profile-tile:active,
.planet-card:active,
.topic-pick:active,
.big-action:active,
.cave-node:active,
.choice-btn:active {
  transform: translateY(1px);
}

@media (hover: none) {
  button:hover,
  .profile-tile:hover,
.planet-card:hover,
  .topic-pick:hover,
  .big-action:hover,
  .cave-node:hover,
  .choice-btn:hover {
    transform: none;
  }
}

@media (hover: hover) {
  button:hover,
  .profile-tile:hover,
.planet-card:hover,
  .topic-pick:hover,
  .big-action:hover,
  .cave-node:hover,
  .choice-btn:hover {
    transform: translateY(-1px);
  }
}

.emoji,
.icon-emoji,
.avatar-emoji,
.mode-emoji,
.profile-tile .avatar,
.brand-mark,
.kid-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}

.big-action {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 154px;
  border-radius: 30px;
  color: white;
  box-shadow: 0 14px 34px rgb(23 32 51 / 16%);
}

.big-action strong {
  line-height: 1;
  font-size: 4rem;
}

.big-action span {
  font-size: 1.25rem;
  font-weight: 900;
}

.big-action small {
  max-width: 20ch;
  font-size: 0.88rem;
  line-height: 1.35;
  font-weight: 800;
  text-align: center;
  color: rgb(255 255 255 / 92%);
}

.big-action.blue { background: var(--blue); }
.big-action.green { background: var(--green); }
.big-action.coral { background: var(--coral); }
.big-action.gold { background: var(--gold); color: #392700; }
.big-action.violet { background: var(--violet); }
.big-action.ink { background: var(--ink); }

.big-action.gold small {
  color: rgb(57 39 0 / 82%);
}

.question-zone {
  display: grid;
  align-content: center;
  gap: 20px;
  min-height: calc(100vh - 120px);
}

.question-text {
  padding: 20px 8px;
  text-align: center;
  font-size: clamp(3rem, 15vw, 7rem);
  font-weight: 950;
  line-height: 1.05;
}

.choice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  width: 100%;
}

.choice-grid button,
.number-pad button {
  width: 100%;
  min-height: 88px;
  border-radius: 24px;
  background: var(--white);
  box-shadow: 0 8px 18px rgb(23 32 51 / 10%);
  color: var(--text);
  font-size: clamp(2rem, 9vw, 4rem);
  font-weight: 950;
}

.input-display {
  min-height: 82px;
  border: 4px solid #b8c8df;
  border-radius: 24px;
  background: var(--white);
  text-align: center;
  font-size: 3.2rem;
  font-weight: 950;
}

.number-pad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  width: 100%;
}

.number-pad .confirm {
  background: var(--green);
  color: var(--white);
}

.feedback {
  display: grid;
  place-items: center;
  min-height: 180px;
  border-radius: 30px;
  background: var(--white);
  box-shadow: 0 12px 30px rgb(23 32 51 / 10%);
  font-size: clamp(3rem, 14vw, 6rem);
  font-weight: 950;
}

.result-panel,
.question-zone,
.feedback,
.input-display,
.choice-grid,
.number-pad {
  contain: layout;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}

.question-zone.correct .feedback {
  background: #e9fff3;
}

.question-zone.soft .feedback {
  background: var(--soft);
}

.result-panel {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 18px;
  min-height: 90vh;
  text-align: center;
}

.result-hero {
  font-size: 6rem;
}

.star-row {
  font-size: clamp(2.8rem, 12vw, 5.5rem);
}

.result-line {
  font-size: clamp(1.5rem, 7vw, 3rem);
  font-weight: 950;
}

.result-actions {
  display: flex;
  gap: 14px;
}
