/* V0.15.9.3 — citizen-first neutral layout. All candidates receive equal cards. */
.service-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:29px;background:var(--deep);color:var(--deep-text);font-size:11px;font-weight:650;padding:5px 13px;text-align:center}
.service-status .demo-pulse{background:#b0d2b2}
.intro{padding:62px 0 24px;display:block;max-width:1040px}
.intro-copy{max-width:950px}
.intro h1{font-size:clamp(44px,6.4vw,79px);line-height:1.18;letter-spacing:-2px;margin:0 0 18px}
.intro-subtitle{max-width:650px;font-size:17px;line-height:1.9}
.intro-benefits{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:23px}
.intro-benefits span{font-size:12px;color:var(--muted);border:1px solid var(--line);padding:6px 13px;border-radius:999px;background:var(--paper)}
.action-area{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);margin-top:20px;gap:14px}
.action-card{min-height:178px;border-radius:21px;padding:23px 26px 19px}
.action-middle{margin:13px 0 12px;gap:5px}.action-title{font-size:26px}.action-description{font-size:14px}
.action-footer{font-size:12px;padding-top:11px}
.candidates-home{padding:58px 0 52px}
.directory-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:21px}
.directory-heading .eyebrow{margin-bottom:8px}
.directory-heading h2{font-size:clamp(27px,3.6vw,42px);line-height:1.4;letter-spacing:-1px}
.directory-heading p:not(.eyebrow){font-size:14px;line-height:1.75;color:var(--muted);margin-top:8px;max-width:680px}
.candidate-directory,.participating-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.participant-choice{display:flex;align-items:flex-start;justify-content:flex-start;text-align:right;gap:13px;min-width:0;min-height:160px;width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:19px;padding:19px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.participant-choice:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}
.participant-choice:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.participant-choice .recipient-avatar{width:64px;height:76px;flex:0 0 64px;border-radius:13px;object-fit:cover;object-position:center 26%}
.participant-copy{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:right}
.participant-copy strong{font-size:17px;font-weight:800;line-height:1.5;overflow-wrap:anywhere;text-align:right;width:100%}
.participant-copy small{font-size:12px;color:var(--muted);line-height:1.6;text-align:right;overflow-wrap:anywhere}
.participant-copy .participant-bio{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.participant-action{font-size:12px;color:var(--accent);font-weight:800;margin-top:auto;padding-top:7px}
.directory-loading{font-size:14px;color:var(--muted)}
.published-shortcut{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:25px 29px;margin:0 0 66px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}
.published-shortcut h2{font-size:22px}.published-shortcut p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.7}
.outline-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--deep);border-radius:13px;color:var(--deep);background:transparent;min-height:48px;padding:10px 17px;font-size:14px;font-weight:800;white-space:nowrap}
.outline-cta:hover{background:var(--pale)}
html[data-theme="night"] .outline-cta{color:var(--ink);border-color:var(--line)}
.people-body .participating-candidates{margin-top:15px}
@media(max-width:900px){.candidate-directory,.participating-candidates{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .service-status{font-size:10px;padding:6px 14px}
 .intro{padding:31px 0 8px}
 .intro h1{font-size:clamp(39px,10.8vw,57px);letter-spacing:-1.1px;margin-bottom:12px}
 .intro-subtitle{font-size:14px;line-height:1.8}
 .intro-benefits{gap:6px;margin-top:14px}.intro-benefits span{font-size:11px;padding:5px 10px}
 .action-area{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}
 .action-card{min-height:144px;border-radius:18px;padding:17px}
 .action-primary{grid-column:auto;min-height:144px;padding:17px}
 .action-top{min-height:21px}
 .action-middle,.action-primary .action-middle{margin:9px 0 12px;gap:4px}
 .action-title,.action-primary .action-title{font-size:21px;line-height:1.4}
 .action-description{font-size:12px;line-height:1.6}
 .action-footer{font-size:11px;padding-top:8px}
 .candidates-home{padding:44px 0 34px}
 .directory-heading h2{font-size:26px}.directory-heading p:not(.eyebrow){font-size:12px}
 .candidate-directory,.participating-candidates{grid-template-columns:1fr;gap:9px}
 .participant-choice{padding:14px;min-height:121px;border-radius:17px}
 .participant-choice .recipient-avatar{width:61px;height:70px;flex-basis:61px}
 .participant-copy strong{font-size:16px}.participant-copy small{font-size:12px}
 .published-shortcut{margin-bottom:37px;padding:22px;align-items:flex-start;flex-direction:column;gap:16px}
 .published-shortcut h2{font-size:21px}.outline-cta{width:100%}
}
@media(prefers-reduced-motion:reduce){.participant-choice{transition:none;transform:none!important}}

/* V0.16.9 citizen UX: primary directory is visible early, with unchanged neutral ordering. */
.candidates-home{padding-top:24px;padding-bottom:28px}
.action-area{margin-top:14px;margin-bottom:27px}
.ask-draft-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:14px;border:1px solid var(--line);border-radius:13px;background:var(--pale);font-size:13px;line-height:1.6;color:var(--ink)}
.ask-draft-notice button{flex-shrink:0;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-weight:800;padding:9px 12px;min-height:44px}
.ask-draft-notice button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.success-code-guidance{font-size:15px;line-height:1.75;font-weight:750;color:var(--ink);margin:15px 0 0}
#ask-success .code-card{margin:14px 0}
@media(max-width:640px){
 .intro{padding-top:19px;padding-bottom:3px}
 .intro h1{font-size:clamp(35px,9vw,46px);margin-bottom:8px}
 .intro-subtitle{font-size:14px;line-height:1.65}
 .intro-benefits{margin-top:9px}
 .intro-benefits span{font-size:10px;padding:4px 9px}
 .candidates-home{padding:20px 0 16px}
 .directory-heading{margin-bottom:12px}
 .directory-heading h2{font-size:23px}
 .directory-heading p:not(.eyebrow){font-size:13px}
 .participant-choice{min-height:108px;padding:12px}
 .action-area{margin-top:16px;margin-bottom:24px}
 .action-card,.action-primary{min-height:122px;padding:14px}
 .action-title,.action-primary .action-title{font-size:18px}
 .action-description{font-size:12px}
 .ask-draft-notice{flex-direction:column;align-items:stretch}
 .success-code-guidance{font-size:14px}
 #ask-success .success-buttons{grid-template-columns:1fr 1fr}
 #ask-success .success-buttons button{min-height:50px;font-size:13px}
}

.recipient-continue{width:100%;min-height:48px;margin-top:12px;padding:11px 18px;border:1px solid var(--deep);border-radius:13px;background:var(--paper);color:var(--deep);font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.recipient-continue:hover{background:var(--pale)}
.recipient-continue:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
html[data-theme="night"] .recipient-continue{border-color:var(--line);color:var(--ink)}
