.kit-builder { margin-top: .5rem; }
.kit-builder > p { max-width: 65ch; margin-top: 1.1rem; }
.kit-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .85fr); gap: 2rem; align-items: start; margin-top: 2rem; }
.question-group { border: 0; margin: 0 0 2.2rem; padding: 0; min-width: 0; }
.question-group legend { font-size: 23px; line-height: 1.2; padding: 0 0 1rem; width: 100%; }
.question-choice { padding-block: 1rem .7rem; border-top: 1px solid var(--rule); }
.question-choice label { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: start; gap: .8rem; min-height: 60px; cursor: pointer; font-size: 18px; line-height: 1.6; }
.question-choice input {
  position: relative;
  width: 44px;
  height: 44px;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid var(--ink);
  border-radius: 0;
  background: var(--sheet);
  cursor: pointer;
}
.question-choice input:checked { background: var(--ink); }
.question-choice input:checked::after { content: ""; position: absolute; left: 16px; top: 9px; width: 10px; height: 20px; border: solid var(--sheet); border-width: 0 2px 2px 0; transform: rotate(40deg); }
.choice-link { display: flex; align-items: center; width: fit-content; min-height: 48px; min-width: 44px; margin-left: 57px; padding-block: .65rem; font-family: var(--sans); font-size: 16px; line-height: 1.45; color: var(--muted); }
.picked-sheet { background: var(--sheet); border: 1px solid var(--rule); border-top: 3px solid var(--accent); padding: 1.3rem; }
.picked-sheet h3 { font-size: 29px; }
.kit-status { font-size: 17px; margin-top: 1.15rem; padding-block: .6rem; border-block: 1px solid var(--soft-rule); }
.picked-sheet #kit-empty { font-size: 18px; margin-top: 1rem; }
.picked-questions { list-style: none; padding: 0; margin-top: .5rem; }
.picked-questions li { padding-block: 1rem; border-bottom: 1px solid var(--soft-rule); font-size: 18px; line-height: 1.6; }
.kit-tools { display: flex; flex-direction: column; align-items: stretch; gap: .75rem; margin-top: 1.5rem; }
.kit-tools .button { width: 100%; }
.kit-storage { font-size: 16px; line-height: 1.55; color: var(--muted); margin-top: 1rem; }
@media (max-width: 1050px) {
  .kit-layout { grid-template-columns: 1fr; }
  .picked-sheet { max-width: none; }
}
@media (max-width: 750px) {
  .kit-layout { gap: .5rem; }
  .question-group { margin-bottom: 1.7rem; }
  .picked-sheet { margin-top: .5rem; }
}
