.locale-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }

@media (max-width: 1000px) {
  .locale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Free-text answer controls (open_answer, numeric). */
.free-text{width:100%;padding:12px 14px;border:1px solid #d5dbd7;border-radius:10px;
  font:inherit;font-size:15px;background:#fff;color:inherit;margin:10px 0 4px;resize:vertical}
.free-text:focus{outline:2px solid #1b7f3b;outline-offset:1px;border-color:#1b7f3b}
.free-text:disabled{background:#f4f6f5;color:#6b7671}

/* Answer-key fields for numeric and open_answer. Until 2026-08-06 both types rendered a
   dashed "JSON only" chip and a disabled points box: the engine graded them for real, but
   the only way to author one was Import JSON. */
.q-fields{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;margin:4px 0 10px}
.q-field{display:flex;flex-direction:column;gap:4px;min-width:120px}
.q-field.grow{flex:1 1 100%;min-width:0}
.q-field>span{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.q-field input,.q-field select,.q-field textarea{padding:8px 10px;border:1px solid #d5dbd7;
  border-radius:8px;background:#fff;font:inherit;resize:vertical}
.q-field input:focus,.q-field select:focus,.q-field textarea:focus{outline:2px solid #1b7f3b;
  outline-offset:1px;border-color:#1b7f3b}
.q-field.hidden{display:none}
/* Neutral sibling of .blocked-note: this one explains behaviour, it does not report a gap. */
.hint-note{background:#f2f7f3;border:1px solid #d3e4d8;color:#4a5c50;border-radius:10px;
  padding:11px 13px;font-size:12px;margin-bottom:10px;line-height:1.5}
.hint-note code{background:#e4ece6;padding:1px 4px;border-radius:4px}
