/* The P4 number-answer treatment, with two named fields for one question. */
.pair-answer { display: block; border: 0; padding: 0; margin: 16px 0; min-width: 0; }
.pair-answer legend { padding: 0; font-size: 16px; line-height: 1.8; color: var(--ink); }
.pair-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: end; gap: 12px; max-width: 520px; }
.pair-input-field { min-width: 0; }
.pair-input-field label { display: block; font-size: 15px; line-height: 1.7; margin-bottom: 7px; }
.number-answer .pair-input-field input { width: 100%; max-width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box; }
.pair-answer .small-text { margin: 8px 0 0; }
@media(max-width:389px) { .pair-input-grid { gap: 10px; } .pair-input-field label { font-size: 14px; } }

.remainder-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 14px 0; }
#remainder-candidate-panel { margin: 16px 0; }
#remainder-candidate-panel .pair-input-field label { margin: 0 0 7px; }
@media(max-width:650px) { .remainder-checks { grid-template-columns: 1fr; } }

/* A given collection is read as a whole; keep all 27 groups while avoiding a one-card-wide strip. */
.given-remainder-groups .division-group-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 112px), 1fr)); gap: 8px; }
.given-remainder-groups .division-group { padding: .45rem; }
@media(max-width:560px) { .given-remainder-groups .division-group-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
