/* Shared subpage vocabulary. No selectors target Home or alter its tokens. */
:root{--sw-milestone-ink:#9b6818}
html[data-theme=dark]{--sw-milestone-ink:#ffc857}
.swack-page-summary{margin:4px 0 28px;line-height:1.5}
.swack-page-summary>p{color:var(--bp-muted);margin:8px 0}
.swack-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 12px}
.swack-section-heading h2{font-size:1.2rem;line-height:1.3;margin:0;overflow-wrap:anywhere}
.swack-section-heading a,.swack-section-heading button{min-height:44px;flex-shrink:0}
.swack-key-stat{font-size:clamp(2rem,8vw,3rem);line-height:1.15;font-weight:750;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.swack-meta{font-size:.86rem;line-height:1.5;color:var(--bp-muted)}
.swack-period-tabs{display:flex;gap:4px;padding:4px;background:var(--bp-card);border-radius:var(--sw-r-md,16px);max-width:100%;overflow-x:auto}
.swack-period-tabs button{flex:1;min-height:44px;white-space:nowrap;border:0;background:transparent;color:var(--bp-muted);font:inherit;border-radius:12px}
.swack-period-tabs button[aria-pressed=true]{background:var(--bp-card);color:var(--bp-ink);font-weight:700;box-shadow:0 1px 4px #0001}
.swack-status{padding:16px 0;line-height:1.5;color:var(--bp-muted)}
.swack-status strong{display:block;color:var(--bp-ink);margin-bottom:6px}
.swack-page button:focus-visible,.swack-page a:focus-visible,.swack-nutrition button:focus-visible,.swack-nutrition summary:focus-visible{outline:3px solid var(--bp-purple,#7045eb);outline-offset:3px}
.swack-settings-index .swack-section-label{margin:26px 0 10px;font-size:.8rem;letter-spacing:.07em;color:var(--bp-muted)}
.swack-settings-index .swack-settings-group{border-radius:var(--sw-r-md,16px);overflow:hidden}
.swack-settings-index .swack-settings-group button{min-height:56px;padding:14px 16px;gap:14px;font-size:1rem;line-height:1.4;text-align:left}
.swack-settings-index .swack-settings-group button>span{flex:1;min-width:0;overflow-wrap:anywhere}
.swack-settings-index .swack-settings-group button>small{max-width:32%;text-align:right;color:var(--bp-muted)}
.swack-settings-index .swack-settings-group button>b{font-weight:400;color:var(--bp-muted)}
.swack-settings-index>.swack-add-set{margin:28px 0 16px;min-height:48px}
.social-notification .swack-notice-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:color-mix(in srgb,var(--bp-purple,#7045eb) 10%,transparent);color:var(--bp-purple,#7045eb)}
.swack-notice-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.social-notification .swack-notice-icon[data-kind=milestone]{color:var(--sw-milestone-ink);background:color-mix(in srgb,currentColor 10%,transparent)}
.social-notification{min-height:72px;gap:14px!important;padding:18px 4px!important}
.social-notification>span:last-child{min-width:0;flex:1;line-height:1.5;overflow-wrap:anywhere}
.social-notification strong{font-size:.96rem}
.social-notification small{display:block;color:var(--bp-muted);font-size:.8rem;margin-top:5px}
.social-notification.unread strong:before{content:'●';font-size:.65rem;vertical-align:middle;margin-right:7px;color:var(--bp-purple,#7045eb)}
