.join-shell{max-width:1040px;margin:auto;padding:155px 32px 100px;min-height:90vh}.join-progress{display:flex;list-style:none;padding:0;margin:0 auto 66px;max-width:760px}.join-progress li{flex:1;position:relative;text-align:center;color:#8b8982;font-size:.94rem;border-top:3px solid #d9d5cd;padding-top:19px}.join-progress li span{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border:2px solid #d9d5cd;background:var(--paper);border-radius:50%;font-size:.75rem;position:absolute;top:-14px;left:calc(50% - 12px)}.join-progress li.current,.join-progress li.done{border-color:#657e8e;color:#364b58}.join-progress li.current span{border-color:#657e8e}.join-progress li.done span{border-color:#657e8e;background:#657e8e;color:white}.join-content{max-width:660px;margin:auto}.join-content h1{font:400 clamp(2.8rem,4.2vw,4.3rem)/1.1 var(--serif);letter-spacing:-.025em;margin:0 0 24px}.join-intro{font-size:1.1rem;line-height:1.65;color:var(--muted);margin-bottom:33px}.search-label,.account-field{display:block;font-size:.95rem;margin-bottom:10px}.condition-search{position:relative}.condition-search input,.partner-entry input,.account-field input{width:100%;border:1px solid #bfb8ad;background:#fffdf9;border-radius:5px;padding:17px 18px;font:inherit;color:var(--ink);min-height:58px}.condition-search input{padding-right:55px}.condition-search>span{position:absolute;right:18px;top:10px;font-size:2rem;color:#657e8e}.join-content input:focus-visible,.condition-chip:focus-visible,.condition-choice:has(input:focus-visible){outline:2px solid #657e8e;outline-offset:3px}.condition-options{border:0;padding:0;margin:20px 0 0}.condition-options legend{font-size:.84rem;color:var(--muted);margin-bottom:12px}.condition-options>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.condition-choice{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #ded8ce;border-radius:4px;cursor:pointer;font-size:.95rem;line-height:1.4}.condition-choice input{accent-color:#657e8e;width:17px;height:17px;flex-shrink:0}.condition-choice:has(input:checked){background:#e6ecee;border-color:#657e8e}.selected-conditions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.condition-chip{display:inline-flex;align-items:center;gap:10px;font:inherit;font-size:.85rem;border:1px solid #b6c4cb;color:#364b58;background:#e6ecee;padding:7px 12px;border-radius:30px;cursor:pointer}.custom-condition{background:none;border:0;padding:14px 0;font:inherit;color:#3d5c6e;text-decoration:underline;text-underline-offset:4px;text-align:left;cursor:pointer}.join-check{display:flex;align-items:flex-start;gap:12px;font-size:.94rem;line-height:1.6;margin:24px 0}.join-check input{width:18px;height:18px;flex-shrink:0;margin-top:4px;accent-color:#657e8e}.join-continue{width:100%;justify-content:center;border-radius:100px;min-height:58px;margin:12px 0 18px;font-size:1rem}.join-continue:disabled{background:#d1cfc9;color:#77756f;cursor:not-allowed;opacity:1}.join-fine{font-size:.875rem;line-height:1.6;color:var(--muted);margin:12px 0}.join-privacy{font-size:.875rem;line-height:1.6;color:var(--muted);padding-top:25px;margin-top:25px;border-top:1px solid var(--line)}.join-error{color:#983d2b;font-size:.94rem;line-height:1.6}.join-error:empty{display:none}.partner-entry{padding:26px;background:#eaf0f1;border:1px solid #cedade;border-radius:6px;margin-bottom:38px}.partner-entry h2{font:400 1.9rem/1.2 var(--serif);margin-bottom:12px}.partner-entry p{font-size:.95rem;margin-bottom:16px;line-height:1.6}.partner-entry label{display:block;font-size:.9rem;margin-bottom:8px}.partner-entry label span{color:var(--muted)}.partner-toggle{margin-top:12px}.join-back{display:inline-block;color:var(--muted);font-size:.9rem;margin-bottom:26px}.join-summary{border:1px solid var(--line);padding:23px;border-radius:5px;margin:24px 0}.join-summary h2{font:400 1.7rem var(--serif);margin-bottom:15px}.join-summary p{font-size:.95rem;line-height:1.6;margin-bottom:12px;overflow-wrap:anywhere}.join-summary .text-button{font-size:.875rem}.account-field{margin-top:23px}.account-field input{display:block;margin-top:8px}.account-field input[readonly]{background:#eeebe5;color:#6f6b65}.join-success-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e3ecea;color:#426258;font-size:1.7rem;margin:26px 0}.join-content #account-success h2{font:400 2.8rem/1.1 var(--serif);margin-bottom:22px}.join-content #account-success p{line-height:1.7;margin-bottom:18px}.join-content a:focus-visible,.join-content button:focus-visible{outline:2px solid #657e8e;outline-offset:4px}@media(max-width:600px){.join-shell{padding:125px 22px 70px}.join-progress{margin-bottom:45px}.join-progress li{font-size:.8rem}.join-content h1{font-size:2.85rem}.join-intro{font-size:1rem}.condition-options>div{grid-template-columns:1fr}.partner-entry{padding:20px}.join-continue{min-height:54px}}

#onboarding-eligibility{margin:36px 0}#onboarding-eligibility h2{font:400 1.8rem/1.25 var(--serif)}.onboarding-question-group{margin:30px 0;padding-top:24px;border-top:1px solid var(--line)}.onboarding-question-group h3{font:400 1.45rem/1.3 var(--serif);margin-bottom:12px}.onboarding-question-group fieldset{border:0;padding:0;margin:20px 0}.onboarding-question-group legend{font-size:1rem;line-height:1.5;margin-bottom:12px}.onboarding-question-group .choice-grid{grid-template-columns:1fr}.onboarding-question-group .check-hint{font-size:1rem;line-height:1.6}

.condition-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;max-height:300px;overflow-y:auto;background:#fffdf9;border:1px solid #bfb8ad;border-radius:6px;box-shadow:0 10px 28px #1c19171a}.condition-dropdown [role="option"]{padding:14px 18px;font-size:1rem;line-height:1.45;cursor:pointer;overflow-wrap:anywhere}.condition-dropdown [role="option"]:hover,.condition-dropdown [aria-selected="true"]{background:#e6ecee}.condition-no-results{padding:16px;font-size:.94rem;color:var(--muted)}.condition-chip{max-width:100%;text-align:left;overflow-wrap:anywhere}

/* Compact eligibility choices and study cards. */
[data-condition-page] .join-content{max-width:820px}[data-condition-page] .join-intro{margin-bottom:24px}[data-condition-page] .join-content h1{margin-bottom:16px}#onboarding-eligibility{margin:24px 0}.onboarding-question-group{margin:20px 0;padding-top:18px}.onboarding-question-group fieldset{margin:16px 0}.onboarding-question-group .choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.onboarding-question-group .compact-field .choice-grid{display:flex;flex-wrap:wrap}.onboarding-question-group .compact-field .choice{flex:1 1 140px}.onboarding-question-group .choice{padding:12px;min-height:46px;align-items:center}.onboarding-question-group .choice strong{font-size:.94rem}.onboarding-question-group .choice small{font-size:.875rem;line-height:1.35}.onboarding-question-group .check-hint{margin-bottom:12px}.condition-options>div{grid-template-columns:repeat(2,minmax(0,1fr))}[data-condition-page] .condition-choice{padding:10px 12px;min-height:44px}#matching-loading{text-align:center;padding:60px 16px;min-height:260px;scroll-margin-top:110px}#matching-loading h2,#study-match h2{font:400 clamp(1.8rem,4vw,2.5rem)/1.2 var(--serif);margin:16px 0}#matching-loading p,#study-match>p{line-height:1.6}.matching-spinner{display:inline-block;width:32px;height:32px;border:3px solid #d4dee2;border-top-color:#426477;border-radius:50%;animation:matching-spin .9s linear infinite}@keyframes matching-spin{to{transform:rotate(360deg)}}.match-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px;margin:26px 0}.match-card{display:flex;flex-direction:column;padding:26px;border:1px solid #bccbd2;border-radius:12px;background:#edf2f4}.match-card[hidden]{display:none}.waitlist-card{background:#fffdf9;border-color:var(--line)}.match-card h3{font:400 1.9rem/1.2 var(--serif);margin:0 0 14px}.match-card p{line-height:1.6;margin-bottom:16px}.match-card .button{margin-top:auto;white-space:normal;text-align:center;font-size:.94rem}.match-compensation{font-size:2rem}.match-compensation span{display:block;font-size:.875rem}#study-match{scroll-margin-top:110px}.join-content .condition-chip{font-size:.875rem}@media(max-width:520px){.onboarding-question-group .choice-grid{grid-template-columns:1fr}.onboarding-question-group .compact-field .choice{flex-basis:calc(50% - 8px)}.match-card{padding:22px}}@media(prefers-reduced-motion:reduce){.matching-spinner{animation:none}}

/* Keep the eligibility headline on one line at standard screen sizes. */
.join-content h1.eligibility-heading{font-size:clamp(1.5rem,6vw,4.3rem)}

/* Give longer answers room while keeping the short choices compact. */
.onboarding-question-group .medications-field .choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.onboarding-question-group .medications-field .choice:last-child,.onboarding-question-group .choice-wide{grid-column:1/-1}
@media(min-width:700px){.onboarding-question-group .medications-field .choice-grid{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(max-content,1.9fr)}.onboarding-question-group .medications-field .choice:last-child{grid-column:auto}}
/* /records/: a participant's own records (download a copy, delete them). */
.records-data{margin-top:36px;padding-top:24px;border-top:1px solid #bfb8ad}
.records-data h2{font:400 1.7rem/1.2 var(--serif);margin:0 0 8px}
.records-data .button{margin-top:8px}
.records-download-links{padding-left:1.2em;margin:16px 0 0}
.records-download-links li{margin:4px 0;overflow-wrap:anywhere}
.join-or{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.875rem;margin:6px 0}.join-or:before,.join-or:after{content:'';flex:1;border-top:1px solid var(--line)}.google-button{gap:12px}.google-button .google-mark{flex-shrink:0}.join-notice{padding:18px 22px;background:#eaf0f1;border:1px solid #cedade;border-radius:6px;margin-bottom:34px;font-size:.95rem;line-height:1.6}.join-notice p+p{margin-top:8px}.join-notice .text-button{font-size:.9rem}#records-resend-status{color:var(--muted);font-size:.875rem;margin-left:8px}
.account-field select{display:block;width:100%;margin-top:8px;border:1px solid #bfb8ad;background:#fffdf9;border-radius:5px;padding:17px 18px;font:inherit;color:var(--ink);min-height:58px}.account-field select:focus-visible{outline:2px solid #657e8e;outline-offset:3px}

/* /records/ signed in: the participant's account (public/onboarding.js renderAccount), not a step of signing up. */
.account-shell{max-width:1120px}.account-shell #records-signed-out{max-width:560px}
.account-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:28px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.account-head .eyebrow{color:var(--muted);margin-bottom:12px}.account-head h1{font:400 clamp(2.4rem,4vw,3.6rem)/1.05 var(--serif);letter-spacing:-.025em;margin:0}
.account-who{display:flex;align-items:center;gap:12px;min-width:0}.account-who-text{display:flex;flex-direction:column;min-width:0;font-size:.94rem;line-height:1.4}.account-who-text span{color:var(--muted);font-size:.875rem;overflow-wrap:anywhere}
.account-avatar{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#e6ecee;color:#364b58;font-weight:600;font-size:.95rem;letter-spacing:.02em}
.account-who .text-button{margin-left:8px}.account-head+.join-error{margin:-16px 0 24px}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.account-card{background:#fffdf9;border:1px solid var(--line);border-radius:14px;padding:32px}
.account-status h2.account-title{font:400 clamp(2rem,3vw,2.6rem)/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 18px}
.account-status .join-success-mark{width:48px;height:48px;font-size:1.4rem;margin:0 0 20px}.account-status .join-intro{margin-bottom:20px}.account-status .join-continue{margin-bottom:8px}
.account-side{display:grid;gap:18px}.account-side .account-card{padding:24px}.account-side h2{font:400 1.55rem/1.2 var(--serif);margin:0 0 16px}.account-side .eyebrow{color:var(--muted);margin-bottom:10px}.account-side .join-fine{margin-bottom:0}
.account-steps{list-style:none;margin:0;padding:0}.account-steps li{display:flex;gap:12px;position:relative;padding-bottom:18px;color:#8b8982}.account-steps li:last-child{padding-bottom:0}
.account-steps li:not(:last-child)::before{content:'';position:absolute;left:10px;top:24px;bottom:2px;width:2px;background:#e3ded5}.account-steps li.done::before{background:#657e8e}
.account-step-mark{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:2px solid #d9d5cd;background:var(--paper);display:grid;place-items:center;font-size:.7rem;color:white}
.account-steps li.done .account-step-mark{background:#657e8e;border-color:#657e8e}.account-steps li.done .account-step-mark::after{content:'✓'}.account-steps li.current .account-step-mark{border-color:#657e8e;box-shadow:inset 0 0 0 4px var(--paper);background:#657e8e}
.account-steps strong{display:block;font-weight:500;font-size:.94rem;line-height:1.4}.account-steps li.done,.account-steps li.current{color:var(--ink)}.account-steps small{display:block;font-size:.8rem;color:var(--muted)}.account-steps small:empty{display:none}.account-steps li.current small{color:#426477;font-weight:500}
.account-facts{margin:0}.account-facts div{padding:10px 0;border-top:1px solid var(--line)}.account-facts div:first-child{border-top:0;padding-top:0}.account-facts div[hidden]{display:none}.account-facts dt{font-size:.8rem;color:var(--muted);margin-bottom:2px}.account-facts dd{margin:0;font-size:.94rem;overflow-wrap:anywhere}
.account-side #records-agreement-copy{margin-top:14px}.account-status>[tabindex="-1"]:focus{outline:none}
@media(max-width:860px){.account-grid{grid-template-columns:1fr}.account-card{padding:24px}.account-head{align-items:flex-start}}
@media(max-width:520px){.account-who .text-button{margin-left:auto}.account-who{width:100%}}

/* Connect your records: record collection's page in a modal over the account (public/onboarding.js). */
.connect-dialog{width:min(860px,calc(100vw - 32px));height:calc(100vh - 48px);max-height:none;max-width:none;padding:0;border:0;border-radius:14px;background:var(--paper);box-shadow:0 24px 60px #1c191740;overflow:hidden}
.connect-dialog[open]{display:flex;flex-direction:column}.connect-dialog::backdrop{background:#1c191780}
.connect-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;border-bottom:1px solid var(--line);background:#fffdf9}
.connect-dialog-bar h2{font:400 1.6rem/1.2 var(--serif);margin:0}.connect-dialog iframe{flex:1;width:100%;border:0;background:var(--paper)}
.connect-dialog.fit{height:auto;max-height:calc(100vh - 48px)}.connect-dialog.fit iframe{flex:none}
@media(max-width:600px){.connect-dialog,.connect-dialog.fit{width:100vw;height:100dvh;max-height:none;border-radius:0}.connect-dialog.fit iframe{flex:1;height:auto!important}.connect-dialog-bar{padding:12px 16px}}
.records-agreements{list-style:none;padding:0;margin:0 0 18px;border-top:1px solid var(--line)}.records-agreements li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px 0;border-bottom:1px solid var(--line)}.records-agreement-title{font-size:1rem;line-height:1.5}.records-agreements .button{border-radius:100px;min-height:46px;font-size:.95rem}.records-agreements .button:disabled{background:#d1cfc9;color:#77756f;cursor:not-allowed}.records-agreement-done{font-size:.94rem;color:var(--muted)}.records-agreement-done a{color:inherit;text-decoration:underline;text-underline-offset:3px}
