.check-row { display: grid; grid-template-columns: minmax(220px,0.9fr) minmax(0,1.8fr); gap: 42px; padding: 36px 0 24px; border-top: 1px solid #D6D1C4; }
.rule-label { display: grid; grid-template-columns: 44px minmax(0,1fr); align-items: start; gap: 16px; }
.rule-label h2 { margin: 3px 0 22px; font-size: 24px; line-height: 1.25; }
.rule-label label { display: flex; align-items: center; min-height: 44px; min-width: 44px; cursor: pointer; }
.rule-label input { appearance: none; -webkit-appearance: none; flex: 0 0 44px; position: relative; display: block; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; border: 1px solid #1D1D1B; border-radius: 0; background-color: #FFFFFF; color: #1D1D1B; cursor: pointer; }
.rule-label input:checked::after { content: ""; position: absolute; left: 14px; top: 8px; width: 11px; height: 21px; border-right: 2px solid #1D1D1B; border-bottom: 2px solid #1D1D1B; transform: rotate(42deg); }
.rule-note { min-width: 0; max-width: 62ch; }
.rule-note p { margin-bottom: 18px; }
.rule-picture { margin: 28px 0 20px; }
.rule-picture img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.rule-drawing { display: block; grid-column: 1 / -1; width: 100%; max-width: 260px; height: auto; margin: 20px 0 10px; color: #1D1D1B; background-color: #F2F2EF; }
.rule-drawing text { font-family: "Crimson Pro", serif; font-size: 20px; fill: #1D1D1B; }
.print-actions { margin: 10px 0 28px; }
.print-action { display: inline-flex; align-items: center; min-width: 44px; min-height: 48px; padding: 6px 0; border: 0; border-radius: 0; background-color: #F2F2EF; color: #1D1D1B; text-decoration: underline; text-underline-offset: 0.2em; cursor: pointer; }
.print-action[hidden] { display: none; }
@media (max-width: 959px) {
  .check-row { grid-template-columns: minmax(0,1fr); gap: 0; padding-top: 28px; }
  .rule-label { align-items: center; margin-bottom: 14px; }
  .rule-label h2 { margin: 0; }
  .rule-drawing { display: none; }
}
@media print {
  html, body { background-color: #FFFFFF; color: #1D1D1B; }
  body { font-size: 12pt; line-height: 1.4; }
  .notice-line, .question-tabs, .wide-photo, .light-titles, .page-footer, .skip-link, .breadcrumb, .print-actions, .continue-link, .rule-picture, .rule-drawing { display: none; }
  .masthead { border: 0; }
  .identity-grid { display: block; border: 0; }
  .site-name { min-height: 0; padding: 0; border: 0; font-size: 15pt; justify-content: flex-start; }
  .identity-line { display: block; min-height: 0; padding: 8pt 0 12pt; border: 0; font-size: 11pt; white-space: normal; }
  .note-sheet { width: 100%; max-width: none; border: 0; padding: 0; background-color: #FFFFFF; }
  .page-opening { padding: 12pt 0 0; }
  h1, .page-opening h1 { font-size: 24pt; max-width: none; }
  .check-row { display: block; padding: 14pt 0 4pt; }
  .rule-label { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12pt; break-after: avoid; }
  .rule-label h2 { font-size: 16pt; }
  .rule-note p { orphans: 3; widows: 3; }
  .source-link { display: inline; padding: 0; min-height: 0; }
  .page-notes a { font-size: 10pt; min-height: 0; }
  .rule-label input { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
}
