.public-survey-notice{background:#f1f7f3;border:1px solid #c5d9ce;border-radius:12px;padding:22px;margin:23px 0;color:#315445;line-height:1.85}
.public-survey-notice h3{margin:0 0 10px!important}.public-survey-notice p{font-size:.94rem!important;line-height:1.85!important;margin:8px 0!important}.public-survey-notice ul{padding-left:22px;margin:10px 0}.public-survey-notice li{margin:6px 0;font-size:.9rem;line-height:1.75}
.public-role-field{border:0;padding:0;margin:25px 0}.public-role-field legend{font-weight:700;font-size:1rem;margin-bottom:12px}.public-survey-roles{display:flex;flex-wrap:wrap;gap:10px}
.public-role{display:flex;align-items:center;gap:9px;border:1px solid #b8d1c3;background:white;padding:12px 15px;border-radius:8px;min-height:46px;font-size:.94rem;cursor:pointer}.public-role input{width:18px;height:18px;accent-color:#007b73}.public-role:has(input:checked){background:#e4f3eb;border-color:#247d67}
.public-role span{word-break:keep-all}
#public-survey-form .survey-consent{line-height:1.8;margin:18px 0}#public-survey-form .survey-options{grid-template-columns:repeat(5,minmax(0,1fr))}
#public-survey-form .public-five-point .survey-option{min-width:0;overflow-wrap:anywhere}#public-survey-form .public-five-point strong{font-size:1rem;font-weight:750}
.public-unscored-options{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed #d6e0d8}.public-unscored-option{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 10px;font-size:.82rem;border:1px solid #d0d9d3;border-radius:8px;background:#f6f8f6;cursor:pointer}.public-unscored-option input{width:18px;height:18px;min-height:0;margin:0;accent-color:#247a56}.public-unscored-option small{font-size:.68rem;color:#617468;background:#e8ede9;border-radius:4px;padding:2px 5px}.public-unscored-option:has(input:checked){border-color:#2a8463;background:#eaf5ec;color:#174e39}
#public-survey-form .public-clear-answer{background:transparent;color:#3d6758;border:1px solid #ccd9d0;padding:8px 12px;min-height:44px;font-size:.78rem;font-weight:500}#public-survey-form .public-answer-state{font-size:.76rem;line-height:1.6;margin:4px 0 0;min-height:0;color:#53725f}#public-survey-form .public-answer-state:empty{display:none}#public-survey-form .public-clear-answer:focus-visible{outline:3px solid #16877a;outline-offset:3px}
.public-survey-gratitude{border-top:1px solid #c8d9d4;margin:28px 0 0;padding-top:22px;color:#395c4e}.public-survey-gratitude h3{color:#08766e}.public-survey-gratitude p{font-size:.91rem!important;line-height:1.9!important}.public-survey-receipt{padding:24px;border:1px solid #a6cbb5;background:#edf7ef;border-radius:14px;margin:22px 0;overflow-wrap:anywhere}.public-survey-receipt code{font-size:.95rem;color:#27644f}
#public-survey-status{min-height:1.8em}#public-survey-form .survey-submit-row{margin-top:25px}#public-survey-form input:focus-visible,#public-survey-form textarea:focus-visible{outline:3px solid #16877a;outline-offset:3px}
@media(max-width:600px){.public-survey-notice{padding:17px}.public-role{flex:1 1 43%;padding:10px}.public-survey-gratitude p{font-size:.85rem!important}}
@media(max-width:380px){#public-survey-form .public-five-point{gap:3px}#public-survey-form .public-five-point .survey-option{padding:10px 2px;font-size:10px;line-height:1.5}#public-survey-form .public-five-point strong{font-size:13px}.public-unscored-options{gap:5px}.public-unscored-option{padding:7px 8px;font-size:.77rem}}

/* Keep each child's writing prompt visible while they type. */
#public-survey-form .public-free-explanation{font-size:15px;line-height:1.8;color:#405c57;margin:9px 0 10px;max-width:720px;word-break:keep-all;overflow-wrap:anywhere}
#public-survey-form .public-free-starter{font-size:14px;line-height:1.75;color:#4a625c;border-left:3px solid #bfdbd0;padding:2px 0 2px 12px;margin:0 0 13px;max-width:720px;word-break:keep-all;overflow-wrap:anywhere}
#public-survey-form .public-free-starter span{display:block}
#public-survey-form .public-free-starter span:first-child{font-size:13px;font-weight:700;color:#53796a;margin-bottom:2px}

/* v20: compact survey choices, with generous clickable labels. */
#top #public-survey-form{padding:22px 24px}
#top #public-survey-form .public-role-field{margin:12px 0 18px}
#top #public-survey-form .public-survey-roles{gap:7px}
#top #public-survey-form .public-role{min-height:44px;padding:6px 11px;gap:7px;font-size:14px!important}
#top #public-survey-form .public-role input,#top #public-survey-form .public-five-point input{width:14px;height:14px;min-height:0;flex:0 0 14px;margin:0;padding:0}
#top #public-survey-form .survey-consent input{width:16px;height:16px;min-height:0;flex:0 0 16px;margin-top:3px}
#top #public-survey-form .survey-form-heading{margin:22px 0 10px;gap:10px}
#top #public-survey-form .survey-question{padding:16px 0 12px}
#top #public-survey-form .survey-question legend{margin-bottom:9px}
#top #public-survey-form .public-five-point{gap:6px}
#top #public-survey-form .public-five-point .survey-option{display:grid;grid-template-columns:14px auto;grid-template-rows:auto auto;justify-content:center;align-content:center;align-items:center;gap:2px 5px;min-height:54px;padding:6px 4px;border-radius:6px;font-size:12px!important;line-height:1.4!important}
#top #public-survey-form .public-five-point strong{font-size:13px!important;text-align:left;line-height:1.4}
#top #public-survey-form .public-five-point .survey-option>span{grid-column:1/-1;word-break:keep-all}
#top #public-survey-form .public-answer-actions{display:flex;justify-content:flex-end;margin-top:0}
#top #public-survey-form .public-clear-answer{padding:4px 0;min-height:44px;border:0;border-radius:4px;background:transparent;font-size:12px!important;text-decoration:underline;text-underline-offset:3px}
#top #public-survey-form .survey-free-question{padding:16px 0 14px}
#top #public-survey-form .public-free-explanation{font-size:13px!important;line-height:1.6!important;margin:5px 0 7px}
#top #public-survey-form .survey-free-question textarea{min-height:96px;padding:10px;margin-top:7px;line-height:1.6!important}
#top #public-survey-form .survey-submit-row{margin-top:18px;padding-top:18px}
@media(max-width:650px){
 #top #public-survey-form{padding:18px 12px}
 #top #public-survey-form .public-role{padding:6px 9px;font-size:13px!important}
 #top #public-survey-form .public-five-point{gap:4px}
 #top #public-survey-form .public-five-point .survey-option{min-height:64px;padding:5px 2px;font-size:11px!important;gap:2px 3px}
 #top #public-survey-form .public-five-point strong{font-size:13px!important}
}
