.social-heading {margin-bottom:1.5rem}
.social-heading h1 {overflow-wrap:anywhere}
.social-profile-row {display:flex;flex-direction:column;gap:.65rem;padding:1rem 0;border-bottom:1px solid #dce6d5}
.social-profile-row:last-child {border-bottom:0}
.social-profile-row .button {width:100%}
.social-summary {display:flex;align-items:center;gap:1.2rem;background:#f1f6e8;margin-bottom:1.5rem}
.social-summary .badge {flex-shrink:0}
.social-participant h2 {font-size:1.45rem;margin:0;overflow-wrap:anywhere}
.social-participant-title {display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:.6rem}
.social-positive {border-radius:2rem;background:#e0f1df;color:#1b6548;padding:.3rem .65rem;font-size:.8rem}
.social-score {font-size:1.3rem;margin:1rem 0;color:#3b6050}
.social-score strong {font-family:var(--heading-font,inherit);font-size:3rem;color:#17684c}
.social-score span {display:block;font-size:1rem}
.social-participant progress {width:100%;height:.7rem;border:0;border-radius:1rem;overflow:hidden;accent-color:#26734f}
.social-participant progress::-webkit-progress-bar {background:#deead7}
.social-participant progress::-webkit-progress-value {background:#26734f;border-radius:1rem}
.social-milestones {display:flex;flex-wrap:wrap;gap:.5rem}
.social-milestones span {padding:.3rem .6rem;border-radius:1rem;background:#fff1bd;font-weight:700}
.social-card-actions {margin-top:1rem}
.social-card-actions summary {font-size:.9rem}
.social-card-actions .stack {padding-top:1rem}
.social-qr {width:min(100%,280px);margin:auto;background:white;border-radius:1rem;padding:.4rem}
.social-qr svg {display:block;width:100%;height:auto}
.social-options {align-items:stretch}
.social-options .person-choice {padding:1rem .65rem;gap:.7rem}
.social-options .person-choice strong {font-size:clamp(1.05rem,4.5vw,1.55rem);line-height:1.15}
.social-options .person-choice>span:last-child {font-size:clamp(.85rem,3.4vw,1.05rem);line-height:1.45}
.social-art {display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1;border-radius:50% 50% 18% 18%;margin-top:.8rem}
.social-art img {position:absolute;display:block;width:115%;max-width:none;height:auto;left:-7.5%;top:-17%}
.social-choice-page .intent-options {margin:0}
.social-choice-page .card {margin-top:.5rem}
/* Keep the two personal figures legible; the group choice has its own full-width row.
   At enlarged text the same auto-fit grid becomes one column without clipping. */
.intent-options.with-challenge {grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
.profile-choice-page .with-challenge .person-choice {min-width:0}
.profile-choice-page .with-challenge .person-art {max-width:clamp(88px,12svh,112px)}
.profile-choice-page:has(.with-challenge) .site-footer {margin-top:-165px}
@media(max-height:740px){.profile-choice-page:has(.with-challenge) .site-footer {margin-top:-230px}}
.profile-choice-page .with-challenge .challenge-choice {grid-column:1/-1;display:grid;grid-template-columns:60px minmax(0,1fr);gap:3px 12px;padding:10px 38px 10px 12px;text-align:left}
.with-challenge .challenge-choice .social-art {grid-row:1/3;margin:0;width:60px;aspect-ratio:1}
.profile-choice-page .with-challenge .challenge-choice strong {font-size:1.05rem}
.profile-choice-page .with-challenge .challenge-choice>span:last-child {max-width:none;font-size:.8rem}
.social-entry {display:flex;gap:1rem;align-items:center;text-decoration:none}
.social-entry h2 {font-size:1.3rem;margin:0 0 .4rem}
.social-entry p {margin:0}
@media(max-width:360px){.social-summary {align-items:flex-start;gap:.7rem}.social-summary h2 {font-size:1.3rem}}
