:root { color-scheme: light; font: 16px/1.5 system-ui, sans-serif; background: #f5f7f9; color: #16232e; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 680px; margin: 0 auto; padding: 32px 18px 56px; }
header, .label, small { color: #4b5965; }
h1 { margin: 12px 0 24px; font-size: clamp(26px, 6vw, 36px); }
h2 { margin: 0 0 12px; font-size: 21px; }
section, fieldset { background: white; border: 1px solid #d8e0e6; border-radius: 12px; padding: 18px; margin: 16px 0; }
.label { margin: 0 0 5px; }
label { display: block; margin: 12px 0; }
input:not([type=checkbox]) { display: block; width: 100%; padding: 10px; margin-top: 4px; border: 1px solid #657783; border-radius: 7px; font: inherit; }
button { font: inherit; font-weight: 650; padding: 12px 16px; border: 0; border-radius: 8px; background: #14634b; color: white; cursor: pointer; min-height: 44px; text-align: left; }
button.secondary { margin-top: 20px; background: #e6edf1; color: #16232e; }
a { color: #125740; }
:focus-visible { outline: 3px solid #a24b00; outline-offset: 3px; }
.candidate { display: flex; gap: 10px; align-items: flex-start; min-height: 44px; }
.candidate input { width: 19px; height: 19px; flex-shrink: 0; }
small { display: block; }
details { margin-top: 16px; }
li { margin-bottom: 6px; overflow-wrap: anywhere; }
[role=alert] { color: #8a251a; }
