.case-learning {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 2px solid var(--gold, #e9ad2c);
  min-width: 0;
  overflow-wrap: anywhere;
}

.case-learning > h3 {
  margin: 0 0 12px;
  font: 700 1.08rem/1.4 var(--sans, Arial, sans-serif);
}

.case-learning .case-lesson-links {
  margin: 0 0 24px;
}

.case-learning [data-case-quiz] {
  margin-top: 26px;
  min-width: 0;
}

.case-learning [data-case-controls] {
  min-width: 0;
  border: 0;
  margin: 0;
  padding: 0;
}

.case-learning [data-case-controls] > legend {
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-weight: 700;
  font-size: 1.08rem;
  line-height: 1.45;
}

.case-learning [data-case-question] {
  min-width: 0;
  margin: 0 0 24px;
  padding: 18px;
  border: 1px solid var(--line, #d9d9d0);
  border-radius: 8px;
  background: var(--white, #fff);
}

.case-learning [data-case-question] > legend {
  max-width: 100%;
  padding: 0 6px;
  font-weight: 700;
  font-size: .96rem;
  line-height: 1.5;
}

.case-learning [data-case-question] label {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  min-height: 48px;
  margin: 10px 0 0;
  padding: 12px;
  border: 1px solid var(--line, #d9d9d0);
  border-radius: 5px;
  background: var(--paper, #faf8f2);
  font-size: .94rem;
  line-height: 1.5;
  cursor: pointer;
}

.case-learning [data-case-question] input[type="radio"] {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--gold-ink, #875810);
}

.case-learning [data-case-question] label:hover {
  border-color: var(--slate, #4b5663);
}

.case-learning [data-case-question] label:has(input:checked) {
  border-color: var(--gold-ink, #875810);
  background: #fff7df;
}

.case-learning [data-case-question] label:focus-within {
  outline: 3px solid var(--gold-ink, #875810);
  outline-offset: 3px;
}

.case-learning [data-case-question].is-unanswered {
  border: 2px solid var(--red, #8a3431);
  padding: 17px;
}

.case-learning [data-case-question].is-correct {
  border-color: var(--green, #245a49);
}

.case-learning [data-case-question].is-incorrect {
  border-color: var(--red, #8a3431);
}

.case-learning [data-case-feedback] {
  margin-top: 18px;
  padding: 15px 17px;
  border-left: 3px solid var(--green, #245a49);
  border-radius: 0 5px 5px 0;
  background: #edf3ed;
}

.case-learning .is-incorrect [data-case-feedback] {
  border-left-color: var(--red, #8a3431);
  background: #f8efeb;
}

.case-learning [data-case-feedback] p,
.case-learning .case-answer-key p {
  font-size: .94rem;
  line-height: 1.65;
  margin: 0 0 12px;
}

.case-learning [data-case-feedback] p:last-child,
.case-learning .case-answer-key p:last-child {
  margin-bottom: 0;
}

.case-learning [data-case-controls] > button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 46px;
  max-width: 100%;
  padding: 11px 18px;
  margin: 0 10px 10px 0;
  border: 1px solid var(--deep, #242b37);
  border-radius: 5px;
  background: var(--deep, #242b37);
  color: var(--white, #fff);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.4;
}

.case-learning [data-case-controls] > button[type="reset"] {
  border-color: var(--slate, #4b5663);
  background: transparent;
  color: var(--ink, #222c38);
}

.case-learning [data-case-controls] > button:hover {
  border-color: var(--slate, #4b5663);
  background: #3b4757;
}

.case-learning [data-case-controls] > button[type="reset"]:hover {
  background: var(--soft, #f0eee7);
}

.case-learning button:focus-visible,
.case-learning a:focus-visible,
.case-learning summary:focus-visible,
.case-learning [data-case-status]:focus {
  outline: 3px solid var(--gold-ink, #875810);
  outline-offset: 4px;
}

.case-learning [data-case-controls]:disabled > button,
.case-learning [data-case-controls]:disabled label {
  cursor: default;
}

.case-learning [data-case-status] {
  margin: 0;
  font-size: .94rem;
  line-height: 1.6;
}

.case-learning [data-case-status]:not(:empty) {
  margin: 10px 0 20px;
  padding: 14px 17px;
  background: var(--soft, #f0eee7);
  border-left: 3px solid var(--gold-ink, #875810);
}

.case-learning [data-case-status][data-state="error"] {
  color: var(--red, #8a3431);
  background: #f8efeb;
  border-left-color: var(--red, #8a3431);
}

.case-learning [data-case-status][data-state="correct"] {
  border-left-color: var(--green, #245a49);
  background: #edf3ed;
}

.case-learning .case-answer-key {
  margin-top: 16px;
  border-top: 1px solid var(--line, #d9d9d0);
  padding: 17px 0 0;
}

.case-learning .case-answer-key > summary {
  font-size: .94rem;
  line-height: 1.5;
}

.case-learning .case-answer-key[open] > summary {
  margin-bottom: 16px;
}

.case-learning [hidden] {
  display: none !important;
}

@media (max-width: 520px) {
  .case-learning [data-case-question] {
    padding: 12px;
  }

  .case-learning [data-case-question].is-unanswered {
    padding: 11px;
  }

  .case-learning [data-case-question] label {
    gap: 9px;
    padding: 11px 10px;
  }

  .case-learning [data-case-controls] > button {
    width: 100%;
    margin-right: 0;
  }

  .case-learning [data-case-feedback] {
    padding: 13px;
  }
}
