[data-exam-trainer] [hidden] { display: none !important; }
#exam-trainer, #practice-test, #fifty-capitals, #thirty-minute-revision { scroll-margin-top: 100px; }
.exam-settings, .exam-plan, .exam-diagnostic { padding: clamp(20px,4vw,36px); border: 1px solid var(--line-strong); border-radius: 20px; background: var(--surface); margin-block: 24px; max-width: 1000px; }
.exam-settings fieldset { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.exam-settings legend, .exam-plan > label { font-weight: 600; color: var(--text-strong); margin-bottom: 16px; }
.exam-time-options { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.exam-time-options label { display: flex; gap: 8px; align-items: center; padding: 15px 10px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.exam-time-options label:has(input:checked) { outline: 2px solid var(--accent); background: var(--surface-soft); }
.exam-config-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.exam-config-grid label, .exam-questions label { display: block; color: var(--text-strong); line-height: 1.5; }
.exam-settings select, .exam-settings input[type=number], .exam-questions input { display: block; box-sizing: border-box; width: 100%; min-width: 0; margin-top: 8px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface-soft); color: var(--text-strong); font: inherit; }
.exam-config-grid small, .exam-note { color: var(--muted); font-size: .9rem; line-height: 1.6; }
.exam-plan h3, .exam-diagnostic h3 { font-size: clamp(1.6rem,3vw,2.5rem); line-height: 1.2; }
.exam-plan p, .exam-diagnostic p { line-height: 1.7; overflow-wrap: anywhere; }
.exam-plan progress { width: min(100%,600px); display: block; height: 14px; margin-top: 12px; accent-color: var(--accent); }
.exam-steps { list-style: none; padding: 0; display: grid; gap: 12px; }
.exam-steps li { padding: 18px; background: var(--surface-soft); border: 1px solid var(--line); border-radius: 12px; }
.exam-steps label { display: flex; gap: 12px; align-items: flex-start; cursor: pointer; }
.exam-steps input, .exam-time-options input { accent-color: var(--accent); width: 18px; height: 18px; flex-shrink: 0; }
.exam-steps p { margin: 10px 0 0 30px; }
.exam-controls { display: flex; gap: 12px; flex-wrap: wrap; }
.exam-questions { padding-left: 24px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 36px; }
.exam-questions li { min-width: 0; }
.exam-answer-feedback { font-size: .95rem; margin-top: 8px; }
.exam-questions input[readonly] { opacity: .8; }
.exam-static-plan li, #practice-test li { margin-block: 12px; line-height: 1.65; }
#practice-test summary { padding-block: 16px; cursor: pointer; color: var(--text-strong); }
@media(max-width:800px) { .exam-config-grid { grid-template-columns: 1fr; } .exam-time-options { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(max-width:480px) { .exam-time-options { grid-template-columns: repeat(2,minmax(0,1fr)); } .exam-questions { grid-template-columns: 1fr; } .exam-controls .button { width: 100%; white-space: normal; } }
@media print {
  .exam-trainer-ready body > header, .exam-trainer-ready body > footer, .exam-trainer-ready .content-hero, .exam-trainer-ready main > section:not([data-exam-trainer]), .exam-trainer-ready .exam-settings, .exam-trainer-ready .exam-diagnostic, .exam-trainer-ready .exam-controls, .exam-trainer-ready [data-confirm-panel], .exam-trainer-ready [data-trainer-storage] { display: none !important; }
  [data-exam-trainer] { margin: 0; padding: 0; }
  .exam-plan, .exam-steps li { color: #111; background: white; box-shadow: none; border-color: #aaa; }
  .exam-plan p, .exam-plan strong, .exam-plan h3 { color: #111; }
  .exam-steps li { break-inside: avoid; }
  .exam-trainer-ready [data-exam-trainer] > .section-heading { display: none; }
}
