.checker-main { max-width: 52rem; padding-block: 2rem 4rem; }
.checker-intro { max-width: 42rem; margin-block: 2rem 2.5rem; }
.checker-intro h1 { line-height: 1.08; }
.checker-main h2 { font-size: 1.5rem; }
.optional { font-size: 1rem; font-weight: normal; }
.paste-section { padding: 1.5rem; border: 1px solid var(--line, #b8c8bf); border-radius: .6rem; background: #fffdf7; }
.paste-section h2 { margin-top: 0; }
.paste-section label { display: block; font-weight: 700; margin-block: 1.25rem .5rem; }
.paste-section textarea { display: block; width: 100%; box-sizing: border-box; border: 2px solid #74877d; border-radius: .3rem; padding: .8rem; background: white; color: #172c3a; font: inherit; line-height: 1.6; resize: vertical; }
.questions { margin-top: 2.5rem; }
.questions fieldset { border: 0; border-bottom: 1px solid #bac7bd; padding: 1.25rem 0 1.75rem; margin: 0 0 1.5rem; min-width: 0; }
.questions legend { float: left; width: 100%; padding: 0; margin-bottom: .5rem; font-weight: 700; font-size: 1.15rem; }
.questions legend + p { clear: both; }
.question-number { color: #345e55; }
.question-hint { font-size: .95rem; margin-top: .5rem; }
.answer-options { display: flex; flex-wrap: wrap; gap: .75rem; }
.answer-options label { display: inline-flex; align-items: center; gap: .65rem; padding: .7rem 1.5rem .7rem .85rem; min-height: 2.75rem; border: 1px solid #74877d; background: white; border-radius: .3rem; cursor: pointer; }
.answer-options label:has(input:checked) { border: 2px solid #345e55; padding: calc(.7rem - 1px) calc(1.5rem - 1px) calc(.7rem - 1px) calc(.85rem - 1px); background: #e7eee5; }
.answer-options input { width: 1.25rem; height: 1.25rem; accent-color: #345e55; margin: 0; }
.checker-buttons { display: flex; flex-wrap: wrap; gap: .75rem; }
.checker-buttons .btn { white-space: normal; text-align: center; }
.checker-main :focus-visible { outline: 3px solid #926120; outline-offset: 4px; }
.checker-result { margin-block: 2rem; padding: 1.5rem; border: 2px solid #345e55; border-left-width: .6rem; border-radius: .4rem; background: #edf2e9; scroll-margin-top: 2rem; }
.checker-result h2 { margin-top: .5rem; }
.next-action { font-size: 1.2rem; font-weight: 700; }
.checker-followup { margin-top: 2.5rem; border-top: 1px solid #bac7bd; padding-top: 1rem; }
.checker-main [hidden] { display: none !important; }
@media (max-width: 36rem) { .checker-main { padding-inline: 1rem; } .paste-section, .checker-result { padding: 1rem; } .checker-intro h1 { font-size: 2.2rem; } .checker-buttons { flex-direction: column; align-items: stretch; } }
@media print { #checker-form, .checker-buttons, #checker-startup { display: none; } .checker-result { break-inside: avoid; } }
