:root{font:16px/1.65 system-ui,sans-serif;color:#27253b;background:#f5f4fa}
*{box-sizing:border-box}
main{width:min(100% - 32px,780px);margin:36px auto 70px}
header,fieldset,section,form:not(#survey-form){background:white;border:1px solid #dedbeb;border-radius:14px;padding:22px;margin:14px 0}
header{border-top:5px solid #6a49be}
h1{font-size:clamp(24px,4vw,38px);line-height:1.25;margin:8px 0}
h2{font-size:1.18rem;margin-top:30px}
small{color:#593ba5;font-weight:700;letter-spacing:.1em}
#intro{white-space:pre-line}
fieldset{min-width:0}
legend{font-weight:700;padding:0 8px}
label{display:block;padding:5px 0}
input,textarea,button{font:inherit}
input[type=email],input[inputmode=numeric],input[type=text],textarea{border:1px solid #bbb4cc;border-radius:8px;padding:8px;max-width:100%}
textarea{width:100%;min-height:95px}
input[type=radio],input[type=checkbox]{accent-color:#6849b8}
button{border:0;border-radius:8px;background:#5c3eab;color:white;padding:9px 16px;cursor:pointer;margin:8px 0}
button:disabled{opacity:.6;cursor:wait}
a{color:#593ba5}
table{width:100%;border-collapse:collapse;margin-bottom:20px}
td,th{padding:7px 0;border-bottom:1px solid #eceaf3;text-align:left}
td:last-child{text-align:right;white-space:nowrap}
[hidden]{display:none!important}
#message:not(:empty){background:#ebe5fc;padding:12px;border-radius:8px}

body[data-view=survey] main{max-width:740px}
body[data-view=survey] details{border:1px solid #dedbeb;background:white;border-radius:12px;padding:12px 16px}
body[data-view=survey] summary{cursor:pointer;font-weight:700;color:#593ba5}
.progress-card{display:grid;gap:8px;background:#eee8fa;border-radius:12px;padding:14px 18px;margin:24px 0 12px;font-weight:700;color:#4b2e8c}
.progress-card progress{width:100%;height:10px;accent-color:#6849b8}
#questions section{padding:0;border:0;background:transparent}
#questions h2{margin:16px 0 8px;padding:12px 0;border-bottom:2px solid #d8c9f1}
#questions fieldset{padding:14px 16px 16px;margin:20px 0}
#questions legend{line-height:1.45}
#questions label{display:flex;align-items:baseline;gap:9px;padding:9px 11px;margin:5px 0;border:1px solid #eeeaf5;border-radius:8px;background:#faf9fd;cursor:pointer}
#questions label:has(:checked){border-color:#9d81d4;background:#f0eafa}
#questions input{flex:none;margin:0}
#questions fieldset small{display:block;margin-top:8px;letter-spacing:0}
.step-actions{display:flex;justify-content:flex-end;gap:10px}
#step-back{background:#eae4f6;color:#442d74}
#step-error:not(:empty){background:#fff1f0;color:#922c38;border-radius:8px;padding:10px 14px}
@media(max-width:480px){body[data-view=survey] main{margin-top:16px}.step-actions button{min-width:88px}#questions fieldset{padding-inline:10px}}

#questions fieldset{position:relative;padding-top:20px}
#questions legend{float:left;width:100%;padding:0;margin:0 0 12px;word-break:keep-all;overflow-wrap:anywhere}
#questions fieldset>div{clear:both}

.survey-intro h2,.survey-intro h3{margin:0 0 8px}.survey-intro p{margin:8px 0}.survey-intro ul{padding-left:1.2em;margin:12px 0 18px}.survey-intro li+li{margin-top:8px}.survey-note{font-size:.9rem;color:#514b63}
