body { margin: 0; color: #17354b; background: #e9f2f6; font: 16px/1.5 system-ui, sans-serif; }
main { max-width: 740px; margin: 24px auto; padding: clamp(16px,5vw,36px); background: white; border-radius: 18px; }
h1 { font-size: clamp(1.55rem,4vw,2.2rem); margin-top: 0; }
p, dd { overflow-wrap: anywhere; }
fieldset { display: grid; gap: 12px; margin: 18px 0; border: 1px solid #8299a9; border-radius: 9px; }
legend, dt { font-weight: 650; }
input:not([type=radio]) { display: block; box-sizing: border-box; width: 100%; min-height: 42px; margin: 4px 0; padding: 8px; font: inherit; }
button { border: 0; background: #064b83; color: white; font: inherit; font-weight: 650; padding: 10px 16px; border-radius: 8px; cursor: pointer; }
button:disabled { opacity: .55; }
#review, #done { margin-top: 20px; padding: 16px; background: #eaf3ed; border-radius: 10px; }
dd { margin: 0 0 8px; }
