body {
  padding: 20px;
}

form {
  text-align: center;
}

fieldset {
  border-radius: 35px;
  margin: 20px auto;
  padding: 30px;
  width: max-content;
  max-width: 80vw;
  background-color: #fe9;
  box-shadow: 0 0 3px #ca1;
}

legend {
  /* border: 1px solid #ca1; */
  font-size: 20px;
  border-radius: 15px;
  padding: 5px 20px;
  background-color: #fff3aa;
  box-shadow: 0 0 3px #ca1;
}

fieldset p {
  margin: -10px 0 20px;
}

button+button:has(+button) {
  animation: pulse 1s infinite;
}

h2 {
  text-align: center;
  font-size: 22px;
}

h2 + p {
  margin: 20px;
}

ul:has([type="checkbox"]) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 5%;
  width: 90%;
  margin: auto;
}

li:has([type="checkbox"]) {
  flex: 0 1 47.5%;
}

i {
  font-style: normal;
  font-size: 16px;
  color: #28c;
  display: block;
  margin-bottom: -15px;
  text-align: right;
}

h4 {
  margin-top: 30px;
  text-align: center;
}

dl {
  margin: 10px 30px 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px 10%;
  align-items: center;
}

dl > * {
  flex: 1 1 40%;
}

dt {
  font-size: 16px;
  text-align: right;
}

dd {
  text-align: left;
  font-weight: bold;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
