.pm-section { max-width: 820px; margin: 1.5rem auto 3rem; }
.pm-heading { margin-bottom: 1.5rem; }
.pm-heading .eyebrow, .pm-quiz .eyebrow { color: #806012; font-size: .8rem; }
.pm-heading h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; margin-block: .6rem; }
.pm-heading > p:last-child { color: var(--muted); line-height: 1.65; }
.pm-quiz { border: 1px solid var(--line); border-top: 4px solid var(--secondary-2); border-radius: var(--radius); background: var(--paper); padding: clamp(1.1rem, 3vw, 2.25rem); scroll-margin-block: 6rem; }
.pm-quiz [hidden] { display: none !important; }
.pm-meta { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .35rem 1rem; }
.pm-meta p { margin: 0; }
.pm-count { color: var(--muted); font-size: .85rem; }
.pm-progress { display: block; width: 100%; height: 5px; margin: 1rem 0 1.7rem; border: 0; border-radius: 8px; background: #e8e4d9; accent-color: #26704f; }
.pm-progress::-webkit-progress-bar { background: #e8e4d9; border-radius: 8px; }
.pm-progress::-webkit-progress-value { background: #26704f; border-radius: 8px; }
.pm-progress::-moz-progress-bar { background: #26704f; border-radius: 8px; }
.pm-choices { min-width: 0; border: 0; padding: 0; margin: 0; }
.pm-question { color: var(--primary); font-family: Georgia, serif; font-size: clamp(1.35rem, 2.7vw, 1.85rem); line-height: 1.4; font-weight: 600; padding: 0; margin: 0 0 1.3rem; }
.pm-choice { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; min-height: 60px; padding: .9rem 1rem; border: 1px solid #ccc8bc; border-radius: 8px; margin-top: .75rem; background: #faf8f2; cursor: pointer; color: var(--primary); line-height: 1.5; }
.pm-choice input { width: 19px; height: 19px; flex: 0 0 19px; margin: 0; accent-color: #256449; }
.pm-choice-copy { flex: 1; min-width: 0; }
.pm-choice:has(input:checked) { border-color: #256449; background: #edf4ee; box-shadow: inset 0 0 0 1px #256449; }
.pm-choice:has(input:focus-visible) { outline: 3px solid #247558; outline-offset: 3px; }
.pm-choices:disabled .pm-choice { cursor: default; }
.pm-choice.is-correct { background: #eaf4ec; border-color: #26704f; }
.pm-choice.is-missed:has(input:checked) { background: #fff6e4; border-color: #a47622; box-shadow: none; }
.pm-answer-tag { width: 100%; padding-left: 2rem; font-size: .8rem; font-weight: 700; }
.pm-feedback { margin-top: 1.5rem; padding: 1rem 1.2rem; border-radius: 6px; border-left: 4px solid #a47622; background: #fff7e8; color: #3e392b; line-height: 1.65; scroll-margin-bottom: 7rem; }
.pm-feedback[data-kind="correct"] { background: #edf5ef; border-color: #26704f; }
.pm-feedback-title { font: 700 1.05rem/1.5 var(--font-body, sans-serif); margin: 0; }
.pm-feedback p { margin: .5rem 0; }
.pm-correction { font-weight: 700; }
.pm-source { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2rem; color: var(--primary); font-size: .9rem; }
.pm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 1.5rem; scroll-margin-bottom: 7rem; }
.pm-quiz > .pm-form + .button { margin-top: 1rem; }
.pm-quiz .button { min-height: 46px; white-space: normal; }
.pm-quiz button:disabled { opacity: .5; cursor: default; transform: none; }
.pm-quiz :is(button,a):focus-visible { outline: 3px solid #247558; outline-offset: 4px; }
.pm-summary { color: var(--muted); line-height: 1.7; margin: 1rem 0 1.5rem; }
@media (max-width: 600px) {
  .pm-section { margin-top: 1rem; }
  .pm-quiz { scroll-margin-block: 1rem; }
  .pm-choice { padding: .8rem; }
  .pm-actions .button { width: 100%; }
}
