* {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  height: 100%;
  margin: 0;
  --content-offset-y: 1.5%;
  /*전체 아이템들의 높이 조절.*/
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  font-family: sans-serif;
  -webkit-tap-highlight-color: transparent;
}

.stage {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.popup {
  position: relative;
  width: min(100%, 100vh * 0.6263);
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 310 / 495;
}

.popup img {
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

.popup .bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  display: none;
}

body[data-state="question"] .bg-question {
  display: block;
}

body[data-state="answer"] .bg-answer {
  display: block;
}

.option {
  position: absolute;
  left: 17.0968%;
  width: 66.4516%;
  height: 4.8485%;
  display: flex;
  align-items: center;
  gap: 4.8544%;
  user-select: none;
  cursor: pointer;
  touch-action: manipulation;
}

.option--1 {
  top: calc(56.7677% + var(--content-offset-y));
}

.option--2 {
  top: calc(63.8384% + var(--content-offset-y));
}

.option--3 {
  top: calc(70.9091% + var(--content-offset-y));
}

body[data-state="answer"] .option {
  display: none;
}

.option input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.checkbox {
  width: 11.6505%;
  height: 100%;
  flex: 0 0 auto;
  position: relative;
  background-image: url("images/checkbox-unchecked.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.option input:checked+.checkbox {
  background-image: url("images/checkbox-checked.png");
}

.option-label {
  height: 100%;
  width: auto;
  flex: 0 0 auto;
}

.cta {
  position: absolute;
  left: 27.7419%;
  top: calc(82.0202% + var(--content-offset-y));
  width: 44.5161%;
  height: 16.5657%;
  padding: 0;
  border: 0;
  background: none;
  display: none;
}

.cta img {
  width: 100%;
  height: 100%;
}

.cta-confirm-disabled {
  pointer-events: none;
}

body[data-state="question"][data-selected="none"] .cta-confirm-disabled {
  display: block;
}

body[data-state="question"][data-selected="some"] .cta-confirm {
  display: block;
}

body[data-state="answer"] .cta-receive {
  display: block;
}

body[data-state="answer"] .cta-confirm,
body[data-state="answer"] .cta-confirm-disabled {
  display: none;
}