/* JSON Schema Validator: two editors side by side, the problems table. Loaded only on /tools/json-schema-validate/. */
.schema-editors { display: grid; gap: var(--matrix-space-12); }
@media (min-width: 900px) { .schema-editors { grid-template-columns: 1fr 1fr; } }
.schema-problems { width: 100%; border-collapse: collapse; margin-top: var(--matrix-space-12); font-size: 0.9375rem; display: block; overflow-x: auto; }
@media (min-width: 900px) { .schema-problems { display: table; } }
.schema-problems th, .schema-problems td { text-align: left; vertical-align: top; padding: 6px 10px; border-bottom: 1px solid var(--matrix-border); }
.schema-problems th { font-weight: 600; }
.schema-path, .schema-rule { font-family: var(--matrix-font-mono); font-size: 0.875rem; word-break: break-all; }
.schema-jump { background: none; border: 0; padding: 0; font: inherit; font-family: var(--matrix-font-mono); color: var(--matrix-brand); text-decoration: underline; cursor: pointer; min-height: 32px; }
.schema-jump:focus-visible { outline: 2px solid var(--matrix-brand); outline-offset: 2px; }
.schema-notes { margin: var(--matrix-space-12) 0 0; padding-left: 1.2em; }
/* the shell's result panel is green: problems found, or a check that is not complete, are not shown as a success */
.result.schema-result--problems { background: var(--matrix-danger-background); }
.result.schema-result--problems h2 { color: var(--matrix-danger); }
.result.schema-result--incomplete { background: var(--matrix-warning-background); }
.result.schema-result--incomplete h2 { color: var(--matrix-warning); }
/* the Formats checkbox keeps its label on its own line, beside it (Jack 2026-10-12, appendix 43): the shared option row wraps a long label below its box */
.schema-check-row { flex-wrap: nowrap; align-items: flex-start; }
.schema-check-row input[type="checkbox"] { flex: none; margin-top: 2px; }
.schema-check-row label { flex: 1 1 auto; min-width: 0; }
