.answer-slip { padding: 27px 30px; margin: 28px 0 40px; border-radius: 22px; background: var(--soft-green); }
.answer-slip h2 { font-size: 1.28rem; }
.answer-slip p:last-child { margin-bottom: 0; }
.comparison-plate { margin: 32px 0 42px; }
.comparison-plate dl { margin: 0; padding: 0; border-radius: 22px; overflow: hidden; background: #f1f3ec; }
.comparison-entry { display: grid; grid-template-columns: minmax(145px, .8fr) minmax(0, 2.2fr); gap: 26px; padding: 24px 28px; }
.comparison-entry + .comparison-entry { border-top: 2px solid var(--paper); }
.comparison-entry dt { font-size: 1rem; line-height: 1.5; font-weight: 600; }
.comparison-entry dd { margin: 0; }
.comparison-entry p:last-child { margin-bottom: 0; }
.comparison-entry .reading-link { margin-top: 7px; font-size: 1rem; }
figcaption { font-size: 16px; line-height: 1.65; color: var(--secondary); margin-top: 13px; max-width: 72ch; }
.margin-note { margin: 36px 0; padding: 26px 30px; background: var(--soft-tan); border-radius: 22px; max-width: 68ch; }
.margin-note p:last-child { margin-bottom: 0; }
.editorial-photo { margin: 44px 0; }
.editorial-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; border-radius: 24px; background: #edece2; color: var(--secondary); font-size: 16px; }
.reading-list { margin: 44px 0; padding-top: 26px; border-top: 2px solid var(--rule); }
.reading-list h2 { font-size: 1.25rem; }
.reading-list ul { list-style: none; margin: 0; padding: 0; }
.reading-list li { padding: 0; margin-bottom: 22px; }
.reading-list li:last-child { margin-bottom: 0; }
.source-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 48px; padding: 7px 0; font-size: 1rem; font-weight: 550; }
.source-title span { flex-shrink: 0; }
.reading-list li p { margin: 3px 0 0; font-size: 16px; line-height: 1.75; color: var(--secondary); max-width: 72ch; }
.next-turn { margin: 40px 0; padding: 25px 28px; background: #edf1e9; border-radius: 22px; }
.next-turn p { margin-bottom: 8px; }

@media (max-width: 1000px) and (min-width: 761px) {
  .comparison-entry { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 760px) {
  .answer-slip { padding: 23px; margin-top: 24px; }
  .comparison-plate { margin: 28px 0 34px; }
  .comparison-entry { grid-template-columns: 1fr; gap: 11px; padding: 23px; }
  .margin-note { padding: 23px; }
  .reading-list { margin: 34px 0; }
  .editorial-photo { margin: 34px 0; }
  .next-turn { padding: 23px; }
}
