  .exercise-list { display: grid; gap: 1.5rem; padding-block: 2rem 4rem; }
  .exercise { min-width: 0; }
  .exercise h3 { margin-block: 1rem .5rem; }
  .exercise ul { padding-left: 1.4rem; line-height: 1.7; }
  .exercise fieldset { border: 0; padding: 0; margin: 1.25rem 0; min-width: 0; }
  .exercise legend { font-weight: 700; margin-bottom: .75rem; }
  .feature-panel label.exercise-option { display: flex; align-items: flex-start; gap: .65rem; padding: .6rem 0; line-height: 1.6; }
  .feature-panel label.exercise-option input[type="radio"] { display: block; flex: none; width: 1.25rem; height: 1.25rem; padding: 0; margin: .2rem 0 0; border: 0; background: transparent; }
  .exercise-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
  .exercise button { min-height: 44px; max-width: 100%; }
  .exercise :focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
  .exercise details { margin-top: 1.2rem; }
  .exercise summary { cursor: pointer; padding-block: .6rem; }
  .exercise [data-quiz-status]:not(:empty) { margin-top: 1rem; }

.exercise-followup { margin-block: 20px 30px; padding: 18px; border: 1px solid var(--line); line-height: 1.8; }
.exercise-followup p { margin: 0 0 10px; }
.exercise-followup a { text-decoration: underline; text-underline-offset: 3px; }
