.header{background:var(--cream);border-bottom:1px solid var(--line);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 28px;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;display:flex}.brand-mark{flex-shrink:0;width:22px;height:32px}.brand-text{color:var(--navy);letter-spacing:.18em;text-transform:uppercase;font-family:Newsreader,serif;font-size:15px;font-weight:500;line-height:1}.brand-text .accent{color:var(--sky)}.header-meta{color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:12px}@media (max-width:600px){.header{height:56px;padding:0 18px}.brand-text{font-size:12px}.header-meta{display:none}}.progress-wrap{background:var(--cream-deep);z-index:99;height:3px;position:fixed;top:64px;left:0;right:0}.progress-bar{background:linear-gradient(90deg, var(--navy) 0%, var(--sky) 100%);width:0%;height:100%;transition:width .5s cubic-bezier(.16,1,.3,1)}@media (max-width:600px){.progress-wrap{top:56px}}.stage{position:fixed;inset:67px 0 0;overflow:hidden auto}@media (max-width:600px){.stage{top:59px}}.screen{opacity:0;justify-content:center;align-items:center;min-height:100%;padding:60px 32px 120px;animation:.6s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex;transform:translateY(20px)}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.screen{padding:32px 22px 100px}}.question-block{width:100%;max-width:640px}.question-block.wide{max-width:760px}.q-number{color:var(--sky);letter-spacing:.02em;align-items:center;gap:8px;margin-bottom:18px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:inline-flex}.q-number svg{width:12px;height:12px}.q-prompt{color:var(--navy);letter-spacing:-.01em;margin-bottom:14px;font-family:Newsreader,serif;font-size:clamp(28px,4.5vw,42px);font-weight:500;line-height:1.15}.q-prompt .req{color:var(--sky);font-style:italic;font-weight:400}.q-help{color:var(--ink-soft);max-width:560px;margin-bottom:36px;font-family:Inter,sans-serif;font-size:16px;line-height:1.5}.q-help.subtle{color:var(--ink-faint);font-size:14px}.input-wrap{margin-bottom:24px}.text-input,.text-area{width:100%;color:var(--navy);border:none;border-bottom:1.5px solid var(--line);background:0 0;outline:none;padding:12px 0;font-family:Newsreader,serif;font-size:26px;font-weight:400;transition:border-color .2s}.text-input::placeholder,.text-area::placeholder{color:var(--ink-faint);opacity:.6;font-style:italic}.text-input:focus,.text-area:focus{border-bottom-color:var(--navy)}.text-area{resize:none;border:1px solid var(--line);border-radius:4px;min-height:80px;padding:14px 16px;font-family:Inter,sans-serif;font-size:18px;line-height:1.5}.text-area:focus{border-color:var(--navy)}.compound-row{gap:18px;margin-bottom:12px;display:grid}.compound-row.cols-2{grid-template-columns:1fr 1fr}.compound-row.cols-3{grid-template-columns:2fr 2fr 1fr}.compound-row.cols-addr{grid-template-columns:2fr 1fr 1fr}@media (max-width:600px){.compound-row.cols-2,.compound-row.cols-3,.compound-row.cols-addr{grid-template-columns:1fr}}.field-group{flex-direction:column;display:flex}.field-label{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-family:Inter,sans-serif;font-size:11px;font-weight:500}.field-input{width:100%;color:var(--navy);border:none;border-bottom:1.5px solid var(--line);background:0 0;outline:none;padding:8px 0;font-family:Inter,sans-serif;font-size:17px;transition:border-color .2s}.field-input:focus{border-bottom-color:var(--navy)}.field-radio-row{flex-wrap:wrap;gap:8px;padding-top:4px;display:flex}.field-radio{border:1.5px solid var(--line);min-width:0;color:var(--navy);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:6px;flex:auto;padding:11px 14px;font-family:Inter,sans-serif;font-size:14px;line-height:1.2;transition:all .18s;overflow:hidden}.field-radio:hover{border-color:var(--sky);background:var(--sky-mist)}.field-radio.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.field-radio-row.wrap-2 .field-radio{flex:calc(50% - 4px)}.choice.choice-other{color:var(--ink-soft);border-style:dashed}.choice.choice-other.selected{border-style:solid}.other-input-wrap{opacity:0;max-height:0;margin-top:4px;margin-bottom:24px;transition:max-height .3s,opacity .3s,margin-top .3s;overflow:hidden}.other-input-wrap.open{opacity:1;max-height:120px;margin-top:16px}.other-input{width:100%;color:var(--navy);border:none;border-bottom:1.5px solid var(--navy);background:0 0;outline:none;padding:10px 0;font-family:Newsreader,serif;font-size:22px;font-weight:400}.other-input::placeholder{color:var(--ink-faint);opacity:.55;font-style:italic}.choices{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.choices.grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choices.grid-3{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}@media (max-width:600px){.choices.grid,.choices.grid-3{grid-template-columns:1fr}}.choice{border:1.5px solid var(--line);cursor:pointer;color:var(--navy);text-align:left;-webkit-user-select:none;user-select:none;background:#fff;border-radius:6px;align-items:center;gap:14px;padding:16px 18px;font-family:Inter,sans-serif;font-size:16px;line-height:1.3;transition:all .18s;display:flex}.choice:hover{border-color:var(--sky);background:var(--sky-mist);transform:translate(2px)}.choice.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.choice-key{width:24px;height:24px;color:var(--ink-faint);background:var(--cream);border:1.5px solid;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:11px;font-weight:600;transition:all .18s;display:flex}.choice.selected .choice-key{color:var(--navy);background:#fff;border-color:#fff}.choice-checkmark{opacity:0;margin-left:auto;transition:opacity .18s}.choice.selected .choice-checkmark{opacity:1}.slider-wrap{margin:32px 0 40px}.slider-display{text-align:center;margin-bottom:28px}.slider-value{color:var(--navy);font-family:Newsreader,serif;font-size:88px;font-weight:500;line-height:1;transition:color .3s}.slider-label{color:var(--ink-soft);margin-top:8px;font-family:Inter,sans-serif;font-size:15px;font-weight:500}.slider-track{background:var(--cream-deep);border-radius:4px;height:8px;margin:0 12px;position:relative}.slider-fill{background:linear-gradient(90deg, var(--success) 0%, var(--gold) 50%, var(--error) 100%);border-radius:4px;height:100%;transition:width .2s;position:absolute;top:0;left:0}.slider-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:24px;margin:0;padding:0;position:absolute;top:-8px;left:0;right:0}.slider-input::-webkit-slider-thumb{appearance:none;border:3px solid var(--navy);cursor:pointer;background:#fff;border-radius:50%;width:28px;height:28px;transition:transform .15s;box-shadow:0 4px 12px #201f512e}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider-input::-moz-range-thumb{border:3px solid var(--navy);cursor:pointer;background:#fff;border-radius:50%;width:28px;height:28px;box-shadow:0 4px 12px #201f512e}.slider-ticks{color:var(--ink-faint);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;margin:12px 12px 0;font-family:Inter,sans-serif;font-size:11px;display:flex}.body-diagram-wrap{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:1fr 1fr;align-items:center;gap:24px;margin-bottom:24px;padding:24px;display:grid}@media (max-width:600px){.body-diagram-wrap{grid-template-columns:1fr}}.body-svg-wrap{justify-content:center;gap:16px;display:flex}.body-svg-wrap svg{width:auto;height:280px}.body-region{fill:var(--sky-pale);stroke:var(--navy);stroke-width:.5px;cursor:pointer;opacity:.4;transition:fill .18s}.body-region:hover{fill:var(--sky);opacity:.7}.body-region.selected{fill:var(--error);opacity:.85}.body-outline{fill:none;stroke:var(--navy);stroke-width:1px}.body-side-label{color:var(--ink-faint);letter-spacing:.1em;text-transform:uppercase;text-align:center;margin-top:8px;font-family:Inter,sans-serif;font-size:11px}.body-selected-list{flex-wrap:wrap;align-content:flex-start;gap:8px;display:flex}.body-selected-list:empty:before{content:"Tap regions on the body diagram to indicate where you feel pain.";color:var(--ink-faint);font-family:Inter,sans-serif;font-size:14px;font-style:italic}.body-tag{background:var(--navy);color:#fff;border-radius:14px;align-items:center;gap:6px;padding:6px 12px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;display:inline-flex}.body-tag button{color:#fff;opacity:.7;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;line-height:1}.body-tag button:hover{opacity:1}.agreement-card{border:1px solid var(--line);background:#fff;border-radius:8px;margin-bottom:16px;padding:24px 26px}.agreement-title{color:var(--navy);margin-bottom:10px;font-family:Newsreader,serif;font-size:22px;font-weight:500}.agreement-summary{color:var(--ink-soft);margin-bottom:14px;font-family:Inter,sans-serif;font-size:14px;line-height:1.55}.agreement-toggle{color:var(--navy);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-bottom:14px;padding:0;font-family:Inter,sans-serif;font-size:13px;font-weight:500;text-decoration:underline}.agreement-fulltext{background:var(--cream);color:var(--ink-soft);border:1px solid var(--line);border-radius:4px;max-height:280px;margin-bottom:16px;padding:16px 18px;font-family:Inter,sans-serif;font-size:13px;line-height:1.6;display:none;overflow-y:auto}.agreement-fulltext.open{display:block}.agreement-fulltext p{margin-bottom:10px}.agreement-fulltext strong{color:var(--navy)}.agreement-check{background:var(--sky-mist);border:1.5px solid var(--sky-pale);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:flex-start;gap:12px;padding:12px 14px;transition:all .18s;display:flex}.agreement-check:hover{background:var(--sky-pale)}.agreement-check.checked{background:var(--navy);border-color:var(--navy);color:#fff}.agreement-checkbox{background:#fff;border:1.5px solid;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.agreement-check.checked .agreement-checkbox{color:var(--navy);background:#fff}.agreement-check-label{color:var(--navy);font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:1.4}.agreement-check.checked .agreement-check-label{color:#fff}.footer-nav{background:var(--cream);border-top:1px solid var(--line);z-index:100;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:fixed;bottom:0;left:0;right:0}@media (max-width:600px){.footer-nav{padding:14px 18px}}.nav-counter{color:var(--ink-faint);letter-spacing:.05em;align-items:center;gap:16px;font-family:Inter,sans-serif;font-size:12px;display:flex}.nav-counter .key-hint{color:var(--ink-faint);align-items:center;gap:4px;display:inline-flex}.nav-counter kbd{border:1px solid var(--line);color:var(--navy);box-shadow:0 1px 0 var(--line);background:#fff;border-radius:3px;padding:2px 6px;font-family:Inter,sans-serif;font-size:10px;font-weight:500}@media (max-width:600px){.nav-counter .key-hint{display:none}}.nav-actions{align-items:center;gap:10px;display:flex}.btn{cursor:pointer;letter-spacing:.01em;border:none;border-radius:6px;align-items:center;gap:8px;padding:11px 22px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;transition:all .18s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-soft);transform:translateY(-1px);box-shadow:0 4px 12px #201f512e}.btn-primary:disabled{background:var(--line);color:var(--ink-faint);cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--navy);background:0 0}.btn-ghost:hover{background:var(--cream-deep)}.btn-skip{color:var(--ink-faint);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:4px 8px;font-family:Inter,sans-serif;font-size:13px;text-decoration:underline}.btn-skip:hover{color:var(--navy)}.btn svg{width:14px;height:14px}.welcome{text-align:left;max-width:620px}.welcome-tag{color:var(--sky);letter-spacing:.18em;text-transform:uppercase;border-bottom:1.5px solid var(--sky-pale);margin-bottom:28px;padding-bottom:6px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;display:inline-block}.welcome-title{color:var(--navy);letter-spacing:-.015em;margin-bottom:24px;font-family:Newsreader,serif;font-size:clamp(38px,6vw,60px);font-weight:500;line-height:1.05}.welcome-title em{color:var(--sky);font-style:italic;font-weight:400}.welcome-body{color:var(--ink-soft);max-width:540px;margin-bottom:36px;font-family:Inter,sans-serif;font-size:17px;line-height:1.6}.welcome-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,auto);gap:32px;margin-bottom:40px;padding:20px 0;display:grid}@media (max-width:600px){.welcome-meta{grid-template-columns:1fr 1fr;gap:18px}}.welcome-meta-item .label{color:var(--ink-faint);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-family:Inter,sans-serif;font-size:10px;font-weight:500}.welcome-meta-item .value{color:var(--navy);font-family:Newsreader,serif;font-size:18px;font-weight:500}.welcome-cta{background:var(--navy);color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:6px;align-items:center;gap:12px;padding:16px 32px;font-family:Inter,sans-serif;font-size:15px;font-weight:500;transition:all .18s;display:inline-flex}.welcome-cta:hover{background:var(--navy-soft);transform:translateY(-1px);box-shadow:0 6px 18px #201f5138}.welcome-cta-hint{color:var(--ink-faint);letter-spacing:.04em;margin-left:14px;font-family:Inter,sans-serif;font-size:12px}.welcome-cta-hint kbd{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:3px;margin:0 2px;padding:2px 6px;font-weight:500}.demo-banner{background:var(--gold-pale);border-left:3px solid var(--gold);color:var(--navy);border-radius:0 4px 4px 0;margin-top:48px;padding:14px 18px;font-family:Inter,sans-serif;font-size:13px;line-height:1.55}.demo-banner strong{letter-spacing:.02em;margin-bottom:2px;font-weight:600;display:block}.complete{text-align:center;max-width:540px}.complete-icon{background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 28px;display:flex}.complete-icon svg{width:36px;height:36px}.complete-title{color:var(--navy);letter-spacing:-.01em;margin-bottom:14px;font-family:Newsreader,serif;font-size:42px;font-weight:500}.complete-text{color:var(--ink-soft);margin-bottom:28px;font-family:Inter,sans-serif;font-size:17px;line-height:1.55}.complete-meta{border:1px solid var(--line);text-align:left;background:#fff;border-radius:6px;margin-bottom:28px;padding:20px 24px}.complete-meta-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;font-family:Inter,sans-serif;font-size:14px;display:flex}.complete-meta-row:last-child{border-bottom:none}.complete-meta-row .label{color:var(--ink-faint)}.complete-meta-row .value{color:var(--navy);font-weight:500}.restart-btn{border:1px solid var(--line);color:var(--navy);cursor:pointer;background:0 0;border-radius:6px;padding:11px 22px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .18s}.restart-btn:hover{border-color:var(--navy);background:#fff}.section-divider{margin-bottom:40px}.section-divider .label{color:var(--sky);letter-spacing:.18em;text-transform:uppercase;border-bottom:1.5px solid var(--sky-pale);padding-bottom:8px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;display:inline-block}.stage::-webkit-scrollbar{width:6px}.agreement-fulltext::-webkit-scrollbar{width:6px}.stage::-webkit-scrollbar-track{background:0 0}.agreement-fulltext::-webkit-scrollbar-track{background:0 0}.stage::-webkit-scrollbar-thumb{background:var(--cream-deep);border-radius:3px}.agreement-fulltext::-webkit-scrollbar-thumb{background:var(--cream-deep);border-radius:3px}.validation{color:var(--error);margin-top:8px;font-family:Inter,sans-serif;font-size:13px}.submit-error{color:var(--error);border:1px solid var(--error);background:#fbeceb;border-radius:6px;margin-top:16px;padding:12px 14px;font-family:Inter,sans-serif;font-size:14px}
