.answer-field { min-width: 0; font-family: var(--form-font, system-ui, sans-serif); }
.answer-field input { accent-color: var(--form-accent, #2563eb); }
.answer-field.field-full { grid-column: 1 / -1; }
.answer-field.field-half { grid-column: span 1; }
.field-help { color: #475569; font-size: .85rem; font-weight: 400; margin: 6px 0 0; white-space: pre-wrap; }
.display-field h3, .display-field p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.display-field hr { border: 0; border-top: 1px solid #cbd5e1; margin: 12px 0; }
.compound-parts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.compound-parts label { display: grid; gap: 6px; font-size: .85rem; }
.matrix-scroll { max-width: 100%; overflow-x: auto; }
.matrix-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.matrix-table th, .matrix-table td { text-align: center; padding: 10px; border: 1px solid #e2e8f0; }
.matrix-table th:first-child { text-align: left; min-width: 110px; }
.matrix-table input[type="radio"] { width: 18px; height: 18px; padding: 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) { .answer-field.field-half { grid-column: 1 / -1; } .compound-parts { grid-template-columns: 1fr; } }
