/* 6.20: compact activity and one consistent settings vocabulary. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Social posts use page sections; media owns its full content width. */
.social-card{margin:0 0 var(--swack-section-gap,24px);padding:0 0 12px;border:0;border-bottom:1px solid var(--bp-line);border-radius:0;background:transparent;box-shadow:none;color:var(--bp-ink);min-width:0;scroll-margin-top:90px;scroll-margin-bottom:80px}
.social-home-feed>.social-card{margin-inline:calc(-1 * var(--swack-text-gutter,14px))}
.swack-page .social-card{margin-inline:-18px}
.social-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px var(--swack-text-gutter,14px) 12px}
.social-card .social-person,.swack-discovery-person .social-person{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;min-height:44px!important;margin:0!important;width:auto!important;display:flex!important;align-items:center!important;gap:10px!important;text-align:left!important}
.social-card .social-person>span:last-child{min-width:0}.social-card .social-person strong,.social-card .social-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-card .social-person strong{font-size:14px}.social-card .social-person small{font-size:11px;margin-top:3px}
.social-card .social-avatar{width:36px;height:36px;flex-basis:36px;font-size:16px}
.social-menu>summary{box-sizing:border-box;display:grid;place-items:center;min-width:44px;min-height:44px;padding:8px;list-style:none}.social-menu>summary::-webkit-details-marker{display:none}
.polish-card-heading{padding:2px var(--swack-text-gutter,14px) 0}.polish-card-heading h3{font-size:21px;line-height:1.2;margin:0 0 8px;color:var(--bp-ink);overflow-wrap:anywhere}
.social-card .social-caption{padding:0 var(--swack-text-gutter,14px);margin:0 0 10px;font-size:14px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}
.social-caption details>summary{list-style:none;cursor:pointer}.social-caption summary::-webkit-details-marker{display:none}.social-caption summary span{color:var(--bp-purple);font-weight:650}.social-caption details[open]>summary{font-size:0}.social-caption details[open]>summary span{display:none}.social-caption details[open]>p{margin:0;white-space:pre-wrap}.social-caption details:not([open])>summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.social-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 var(--swack-text-gutter,14px) 10px;gap:10px}.social-stats span{font-size:11px;color:var(--bp-muted);min-width:0}.social-stats b{display:block;font-size:20px;line-height:1.1;margin-bottom:2px;color:var(--bp-ink)}
.social-highlights{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--swack-text-gutter,14px) 12px;font-size:11px;color:var(--bp-purple)}.social-highlights span{background:color-mix(in srgb,var(--bp-purple) 8%,transparent);border-radius:7px;padding:4px 7px;font-weight:650}
.social-card footer{display:flex;align-items:center;justify-content:space-between;padding:6px var(--swack-text-gutter,14px);gap:6px;min-height:44px;font-size:12px}
.social-card footer button{min-height:44px!important;min-width:44px!important;padding:8px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:12px!important;border-radius:0!important;width:auto!important;margin:0!important;color:var(--bp-ink);font-weight:650}.social-card footer button[aria-pressed=true]{color:var(--bp-purple)!important}.social-card footer .social-share{order:3}
.social-feed-more{min-height:32px;display:flex;align-items:center;justify-content:center;color:var(--bp-muted);font-size:12px;text-align:center;padding:10px 0}.social-feed-retry{border:0!important;background:none!important;color:var(--bp-purple)!important;min-height:44px;padding:8px 18px!important;margin:0!important;box-shadow:none!important}
.social-feed-loading{opacity:.7}
.social-reaction-status,.social-unavailable>p{padding:8px var(--swack-text-gutter,14px);margin:0;font-size:13px;line-height:1.4;color:var(--bp-muted)}
/* Reaction-only changes reserve their count width and preserve the post/media. */
.social-card footer .social-kudos{display:inline-flex!important;align-items:center;gap:5px;color:var(--bp-muted)!important;transition:color 150ms ease;opacity:1!important}
.social-card footer .social-kudos[aria-pressed=true]{color:var(--bp-purple)!important}
.social-kudos-icon{display:inline-block;transform-origin:50% 65%;font-size:17px;filter:grayscale(1)}
.social-kudos[aria-pressed=true] .social-kudos-icon{filter:none}
.social-kudos-count{display:inline-grid;width:4ch;min-width:4ch;line-height:1.4;overflow:hidden;font-variant-numeric:tabular-nums;text-align:center}
.social-kudos-count>span{grid-area:1 / 1}
.social-kudos-count>[data-count-old]{opacity:0}
.social-kudos-check{visibility:hidden;width:1ch}.social-kudos[aria-pressed=true] .social-kudos-check{visibility:visible}
@media(prefers-reduced-motion:reduce){.social-kudos-icon,.social-kudos-count>span{animation:none!important;transform:none!important}}
.swack-athlete-profile{padding-top:8px}.swack-athlete-header{display:grid;grid-template-columns:72px minmax(0,1fr) 44px;gap:14px;align-items:center}.swack-athlete-header .social-avatar{width:72px;height:72px}.swack-athlete-header .social-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.swack-athlete-header h2{font-size:23px!important;margin:0 0 4px!important;line-height:1.2;overflow-wrap:anywhere}.swack-athlete-header p{margin:0 0 4px!important;font-size:14px!important;color:var(--bp-muted)}.swack-athlete-header small{font-size:12px;color:var(--bp-muted)}
.swack-profile-share{padding:6px!important;min-height:44px!important;min-width:44px;border:0!important;box-shadow:none!important;background:transparent!important;font-size:24px!important}.swack-athlete-bio{font-size:14px;line-height:1.5;margin:16px 0!important}.swack-athlete-momentum{font-size:14px!important;margin:14px 0 8px!important;color:var(--bp-purple);font-weight:650}.swack-athlete-momentum small{display:block;color:var(--bp-muted);font-size:11px;font-weight:400;margin:3px 0 0 16px}
.swack-follow-counts{display:flex;align-items:center;gap:8px;margin:8px 0}.swack-follow-counts button{font-size:14px!important;border:0!important;background:none!important;box-shadow:none!important;padding:6px 0!important;min-height:44px!important;min-width:44px!important;width:auto!important}.swack-follow-counts b{font-weight:750}.swack-athlete-actions{display:flex;gap:10px;margin:8px 0 18px}.swack-athlete-actions>button{flex:1;margin:0!important;min-height:44px!important;padding:8px 16px!important;border-radius:14px!important;box-shadow:none!important;font-size:14px!important}
.swack-profile-tabs,.swack-discovery-tabs{display:flex;gap:0;margin:12px 0 0;border-bottom:1px solid var(--bp-line)}.swack-profile-tabs button,.swack-discovery-tabs button{flex:1;min-width:0;margin:0!important;padding:12px 3px!important;font-size:13px!important;min-height:44px!important;background:none!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;color:var(--bp-muted)!important}.swack-profile-tabs button[aria-selected=true],.swack-discovery-tabs button[aria-selected=true]{border-bottom-color:var(--bp-purple)!important;color:var(--bp-purple)!important;font-weight:750}
.swack-social-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin-top:12px}.swack-social-gallery button{padding:0!important;margin:0!important;min-width:0!important;border:0!important;border-radius:var(--swack-media-radius,0px)!important;aspect-ratio:1;overflow:hidden;background:var(--bp-card2)!important}.swack-social-gallery img{display:block;width:100%;height:100%}

.swack-public-totals{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0}.swack-public-totals strong{display:block;font-size:24px}.swack-public-totals small{font-size:12px;color:var(--bp-muted)}.swack-category-stats{border-top:1px solid var(--bp-line);padding-top:14px}.swack-category-stats h3{font-size:16px;margin:0}.swack-social-context{font-size:12px!important;color:var(--bp-muted);line-height:1.5}
.swack-discovery-search{position:relative;margin:0!important}.swack-discovery-search input{margin:0!important;width:100%!important}.swack-discovery-person{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--bp-line);padding:16px 0}.swack-discovery-person .social-person{flex:1;min-width:0}.swack-discovery-person .social-person small{display:block;font-size:12px;color:var(--bp-muted)}.swack-follow{flex:0 0 auto;background:var(--swack-action-bg)!important;color:var(--swack-action-ink)!important;min-height:44px!important;font-size:12px!important;margin:0!important;padding:8px 12px!important;border-radius:12px!important;box-shadow:none!important}.swack-follow[aria-pressed=true]{background:var(--bp-card2)!important;color:var(--bp-ink)!important;border:1px solid var(--bp-line)!important}.swack-people-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:32px 18px;max-width:300px;margin:auto}.swack-people-empty p{margin:0!important;font-size:15px!important;line-height:1.5!important}
.swack-page input:not([type=checkbox]):not([type=radio]),.swack-page select,.swack-page textarea{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;font:inherit!important;font-size:16px!important;border-radius:13px!important;min-height:48px!important;padding:12px 14px!important;margin:0!important;background:var(--bp-card2)!important;color:var(--bp-ink)!important;border:1px solid var(--bp-line)!important}
.swack-page input[type=date]{display:block;appearance:none;-webkit-appearance:none}.swack-page input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}.swack-page form,.swack-page fieldset,.swack-page label{min-width:0;box-sizing:border-box;max-width:100%}.swack-page .profile-edit-r7{width:100%!important;box-sizing:border-box!important}.swack-page .profile-edit-r7 label{display:grid!important;gap:8px!important;margin:14px 0!important;text-align:left}
.swack-page .swack-training-form{gap:18px!important}.swack-page .swack-training-form fieldset{gap:14px!important;padding:16px!important}.swack-page .swack-training-form .swack-choice-row{display:grid!important;grid-template-columns:minmax(0,1fr) 110px!important;gap:12px!important;padding:12px 0!important;margin:0!important;min-height:0!important;align-items:center!important}
.swack-priority-bar{display:flex;height:8px;gap:3px;overflow:hidden;border-radius:8px}.swack-priority-bar i{background:var(--bp-purple)}.swack-priority-bar i:nth-child(2){opacity:.65}.swack-priority-bar i:nth-child(3){opacity:.35}.swack-priority-total{font-size:13px!important;color:var(--bp-muted);margin:4px 0!important}.swack-priority-stepper{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:4px}.swack-priority-stepper button{padding:0!important;margin:0!important;min-height:40px!important;width:32px!important;border:1px solid var(--bp-line)!important;background:var(--bp-card)!important;color:var(--bp-purple)!important;border-radius:10px!important;box-shadow:none!important;font-size:20px!important}.swack-priority-stepper output{text-align:center;font-weight:750}.swack-priority-stepper input{display:none!important}
.swack-settings-group button{padding:16px!important;min-height:54px!important;font-size:15px!important}.swack-section-label{font-size:12px!important;letter-spacing:.06em;margin:24px 0 10px!important;color:var(--bp-muted)}
.swack-guide-diagnostics{font-size:13px;line-height:1.5;color:var(--bp-muted);overflow-wrap:anywhere}.swack-guide-diagnostics dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.swack-guide-diagnostics dd{margin:0}
.swack-selector-dialog{box-sizing:border-box;width:calc(100% - 24px);max-width:480px;max-height:75dvh;overflow:auto;margin:auto auto 12px;padding:20px;border:1px solid var(--bp-line);border-radius:24px;background:var(--bp-card);color:var(--bp-ink);box-shadow:0 12px 40px #0003}.swack-selector-dialog::backdrop{background:#12122270}.swack-selector-dialog h2{font-size:18px;margin:0 0 12px}.swack-selector-dialog button{display:block;width:100%;box-sizing:border-box;margin:4px 0;padding:14px;text-align:left;font:inherit;border:0;border-radius:12px;color:var(--bp-ink);background:var(--bp-card2);min-height:46px}.swack-selector-dialog button[aria-pressed=true]{color:var(--bp-purple);font-weight:750}
.swack-social-weeks{margin:22px 0}.swack-social-weeks h3{font-size:16px}.swack-social-weeks>div{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;align-items:end;min-height:145px}.swack-social-weeks>div>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;min-width:0}.swack-social-weeks i{display:block;width:100%;max-width:28px;border-radius:5px 5px 0 0;background:var(--bp-purple)}.swack-social-weeks span,.swack-social-weeks small{font-size:9px;color:var(--bp-muted);text-align:center}
.swack-page .profile-edit-r7>.eyebrow{display:none}.swack-page .profile-edit-r7 .field{margin:0 0 16px!important}.swack-page .profile-edit-r7 .field label{margin:0 0 7px!important;font-size:14px!important}.swack-page .swack-training-form>fieldset>label{margin:4px 0!important;font-size:14px!important}.swack-page .swack-training-form>fieldset>p{font-size:13px!important}
.swack-settings-avatar{display:flex!important;align-items:center!important;gap:14px!important;width:100%!important;text-align:left!important;padding:10px 0!important;margin:0 0 16px!important;background:transparent!important;border:0!important;box-shadow:none!important;font-size:14px!important}.swack-settings-avatar img,.swack-settings-avatar .swack-avatar-mini{display:block;width:48px!important;height:48px!important;object-fit:cover;border-radius:50%}
.swack-follow{border:1px solid var(--swack-action-bg)!important}
.social-caption details[open]>summary::after{content:attr(data-less);font-size:12px;color:var(--bp-purple);font-weight:650}
@media(max-width:360px){.swack-athlete-header{grid-template-columns:60px minmax(0,1fr) 44px;gap:10px}.swack-athlete-header .social-avatar{width:60px;height:60px}.polish-card-heading h3{font-size:19px!important}.swack-public-totals{gap:14px}.social-card footer{font-size:11px!important}}
