.sheet-intro { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.sheet-intro p { max-width: 46ch; margin: 0; }
.sheet-intro button { flex-shrink: 0; }
.question-sheet { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 3rem; border: 1px solid var(--ink); border-radius: 26px; padding: 1.7rem 2rem 2rem; background: var(--paper); }
.question-space { padding-block: .5rem 1rem; }
.question-space h2 { font-size: 1.9rem; margin-top: .4rem; }
.question-space p { font-size: 1.25rem; line-height: 1.45; }
.question-space label { display: flex; align-items: center; gap: .7rem; min-height: 48px; font-size: 1.0625rem; cursor: pointer; }
.question-space input { appearance: auto; accent-color: var(--rose); width: 44px; height: 44px; margin: 0; flex-shrink: 0; }
.answer-lines { height: 56px; border-bottom: 1px solid var(--rule); }
.answer-lines::before { content: ""; display: block; height: 28px; border-bottom: 1px solid var(--rule); }
.sheet-endnote { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 0 3rem; margin-top: 3rem; }
.sheet-endnote h3 { margin-top: 0; }
.sheet-endnote .photo-plate { grid-column: 2; grid-row: 1 / span 3; }
@media (max-width: 760px) {
  .sheet-intro { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .question-sheet { grid-template-columns: minmax(0, 1fr); padding: 1.2rem; gap: 1.5rem; }
  .sheet-endnote { display: block; }
  .sheet-endnote .photo-plate { margin-top: 1.5rem; }
}
@media print {
  @page { size: A4; margin: 15mm; }
  .sheet-intro, .sheet-endnote, .entry-heading .running-head, .entry-heading .record-date { display: none; }
  .entry-heading { border: 0; margin-bottom: 7mm; padding: 0; }
  .entry-heading h1 { font-family: var(--text); font-size: 22pt; max-width: none; letter-spacing: 0; }
  .question-sheet { border: 0; padding: 0; border-radius: 0; background: white; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4mm 9mm; }
  .question-space { break-inside: avoid; padding-bottom: 5mm; }
  .question-space h2 { font-family: var(--text); font-size: 16pt; margin: 0 0 3mm; }
  .question-space p { font-size: 12pt; margin-bottom: 2mm; }
  .question-space label { min-height: 9mm; font-size: 12pt; }
  .question-space input { width: 5mm; height: 5mm; }
  .answer-lines { height: 16mm; }
  .answer-lines::before { height: 8mm; }
}
