:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142823;background:#f7f5ed}
*{box-sizing:border-box}body{margin:0;line-height:1.4}button,input{font:inherit}[hidden]{display:none!important}
.poll{width:min(100%,640px);margin:auto;padding:clamp(20px,5vw,42px) clamp(16px,5vw,32px) 34px}
.brand{color:#146653;font-size:12px;letter-spacing:.12em;font-weight:800;margin:0}
h1{font-size:clamp(38px,9vw,62px);letter-spacing:-.06em;line-height:1;margin:6px 0 9px}
.subhead{color:#4b635a;margin:0;font-size:15px}#test-mode{color:#784523;font-weight:700}
#steps{display:flex;gap:8px;margin:20px 0 16px}
#steps button{height:36px;min-width:37px;border-radius:7px;padding:0 8px;background:#fffdf7;border:1px solid #a8b9ac;color:#203c34}
#steps button[aria-current=true]{background:#153c32;border-color:#153c32;color:white}
#steps button[data-saved=true]:not([aria-current=true]){background:#dcebe0;border-color:#658c75}
fieldset{margin:0;padding:0;border:0;display:grid;gap:7px}
legend{font-size:clamp(20px,5.4vw,28px);font-weight:780;line-height:1.18;letter-spacing:-.03em;margin-bottom:12px;padding:0}
.optional{color:#4b635a;font-size:13px;margin:-3px 0 4px}
label{display:flex;align-items:center;gap:10px;min-height:43px;border:1px solid #d2dace;border-radius:8px;background:#fffdf7;padding:8px 11px;cursor:pointer;font-size:15px}
label:has(input:checked){background:#e3efe3;border-color:#32836d;font-weight:650}
input{accent-color:#166751;min-width:18px;width:18px;height:18px;margin:0}button{cursor:pointer;font-weight:700}button:disabled{opacity:.4;cursor:default}
button:focus-visible,label:focus-within{outline:3px solid #b8773d;outline-offset:2px}
.status{font-size:13px;color:#315648;min-height:1.4em;margin:12px 0}
.controls{display:flex;justify-content:space-between;gap:10px}
.controls button{border:1px solid #789488;border-radius:8px;min-height:44px;padding:8px 15px;background:transparent;color:#183a30}
.controls #next{background:#183a30;color:white;border-color:#183a30}
.finished{margin:0;background:#e3efe3;border-radius:10px;padding:20px;font-size:17px}
