/* Form layout only; typography, panels, colors and buttons come from the PGN library. */
.builder-section { margin: 0 0 1rem; }
.builder-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.25rem; }
.test-builder label { display: block; font-size: .9rem; margin: .65rem 0; }
.test-builder input:not([type=checkbox]), .test-builder select, .test-builder textarea {
  display: block; width: 100%; min-width: 0; box-sizing: border-box; margin-top: .35rem;
  padding: .6rem; border: 1px solid var(--panel-border); border-radius: 8px; background: #fffaf0; color: var(--ink); font: inherit;
}
.test-builder textarea { resize: vertical; }
.test-builder input[type=checkbox] { accent-color: var(--accent-dark); }
.test-builder .builder-check { display: flex; align-items: center; gap: .5rem; }
.builder-options, .builder-question { border-top: 1px solid var(--panel-border); }
.builder-options > summary, .builder-question-settings > summary { padding: .85rem 0; }
.builder-question-settings > summary { color: var(--muted); font-size: .85rem; }
.builder-question .builder-options { margin-top: .5rem; }
.builder-question:last-child { border-bottom: 1px solid var(--panel-border); }
.builder-question-order { justify-content: flex-end; }
.builder-question-caption { margin-left: .75rem; font-size: .8rem; font-weight: 400; color: var(--muted); }
#builder-status { color: var(--muted); font-size: .85rem; margin-bottom: 0; overflow-wrap: anywhere; }
#generation-status.test-error, #builder-status.test-error { color: #8c361a; }
#generate-link { background: linear-gradient(#dc9a4c, var(--accent)); border-color: var(--accent-dark); color: #fffaf0; font-weight: 700; padding-inline: 1.25rem; }
@media(max-width:600px) { .builder-fields { grid-template-columns: minmax(0,1fr); } .builder-question-caption { display: block; margin: .35rem 0 0 1rem; } }

.builder-question { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 1rem; align-items: start; }
.builder-question-header { padding: .65rem 0; min-width: 0; }
.builder-question-header .builder-check { margin: 0; cursor: pointer; }
.builder-question-header .builder-check input { flex-shrink: 0; }
.builder-question-header .builder-check span { overflow-wrap: anywhere; }
.builder-question-header .builder-question-caption { display: block; margin: .25rem 0 0 1.6rem; }
.builder-question-settings[open] { grid-column: 1 / -1; }
.builder-question-settings > .builder-fields, .builder-question-settings > .builder-options { margin-bottom: .75rem; }

.test-builder [hidden] { display: none !important; }

#selected-questions-section { margin-top: 1.5rem; border-top: 1px solid var(--panel-border); padding-top: 1rem; }

/* Theme scenery stays behind the form, including native file inputs on phones. */
.test-builder #test-app { position: relative; z-index: 1; min-width: 0; }
@media (max-width: 700px) {
  .test-builder input:not([type=checkbox]), .test-builder select, .test-builder textarea { font-size: 16px; }
}

.print-builder [data-link-only], .library-context [data-source-picker], .library-context [data-source-load], .library-context [data-source] { display:none !important; }
