.fsm-goals label{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0}.fsm-goals input,.fsm-goals select{width:100%;max-width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #cbd5d1;border-radius:4px;background:white}.fsm-goal-actions,.fsm-slider-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin:1rem 0}.fsm-goals-dialog{width:min(600px,calc(100% - 2rem));max-height:85vh;overflow:auto;box-sizing:border-box}.fsm-goals [hidden],.fsm-widget-slider [hidden]{display:none!important}.fsm-widget-slider{padding:1rem}.fsm-widget-slides{min-height:210px}.fsm-slider-controls button{padding:.4rem .8rem;border:1px solid #b9c5bf;border-radius:4px;background:#fff;cursor:pointer}.fsm-widget-slider a{display:inline-block;margin-top:.5rem}.fsm-goal-actions button{margin:0!important}.fsm-goals-dialog::backdrop{background:rgba(0,0,0,.58)}
/* Match the existing page-builder button scope on profile pages. */
.fsm-goals.tg-page .fsm-button,.fsm-card.tg-page .fsm-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;max-width:100%;padding:12px 16px;margin:0;font-family:"Open Sans",sans-serif;font-size:12px;font-weight:700;line-height:18px;text-decoration:none;white-space:normal;border-radius:4px;cursor:pointer}
.fsm-goals.tg-page .fsm-button.primary,.fsm-card.tg-page .fsm-button.primary{background:#e20026;border:1px solid #e20026;color:#fff}
.fsm-goals.tg-page .fsm-button.secondary{background:#fff;border:1px solid #e20026;color:#e20026}
.fsm-goals.tg-page .fsm-button::before,.fsm-goals.tg-page .fsm-button::after,.fsm-card.tg-page .fsm-button::before,.fsm-card.tg-page .fsm-button::after{content:none!important;display:none!important}
.fsm-goals-dialog:not([open]){display:none!important}.fsm-goals-dialog[open]{display:block;position:fixed;inset:0;margin:auto;z-index:1000000}.fsm-goals-dialog .fsm-button:disabled{opacity:.5;cursor:not-allowed}.fsm-goals-dialog [data-goals-preview]{padding:1rem;background:#e8f1e4;border-radius:6px}

/* The disc grows around the original centre and intentionally clips at the viewport. */
.fsm-helper{position:fixed;right:calc(1.5rem + env(safe-area-inset-right,0px));bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));width:4rem;height:4rem;z-index:99990;font-family:inherit}
.fsm-helper .fsm-helper-orb{position:relative;isolation:isolate;display:grid;place-items:center;width:4rem;height:4rem;padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;overflow:visible;font:inherit}
.fsm-helper-orb::before,.fsm-helper-orb::after{content:none!important}.fsm-helper-disc{position:absolute;inset:0;background:var(--fas-primary,#e20026);border-radius:50%;box-shadow:0 .3rem 1.5rem #0003;transition:transform .9s cubic-bezier(.22,.8,.25,1);transform-origin:50% 50%;z-index:-1;pointer-events:auto}
.fsm-helper-icon{display:block;width:2rem;height:2rem;transition:opacity .2s;pointer-events:none}.fsm-helper-orb:focus-visible{outline:3px solid #243327;outline-offset:5px}
.fsm-helper-tooltip{position:absolute;right:0;bottom:calc(100% + .7rem);width:max-content;max-width:15rem;padding:.5rem .75rem;background:#243327;color:#fff;border-radius:.3rem;font:inherit;font-size:.8rem;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}
.fsm-helper-orb:hover .fsm-helper-tooltip,.fsm-helper-orb:focus-visible .fsm-helper-tooltip{opacity:1;visibility:visible}
.fsm-helper-message{position:absolute;right:.1rem;bottom:.1rem;width:7rem;text-align:center;font:inherit;font-size:1rem;font-weight:700;line-height:1.35;opacity:0;transform:translate(-.2rem,-.4rem);transition:opacity .3s .45s;pointer-events:none}
.fsm-helper-orb.is-expanded .fsm-helper-disc{transform:scale(4)}.fsm-helper-orb.is-expanded .fsm-helper-icon{opacity:0}.fsm-helper-orb.is-expanded .fsm-helper-message{opacity:1}

.fsm-helper-panel{width:min(26rem,calc(100vw - 2rem));max-height:calc(100dvh - 3rem);font-family:inherit}.fsm-helper-topics{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0}.fsm-helper-panel [hidden]{display:none!important}.fsm-helper-panel .fsm-button{margin:0;white-space:normal;text-align:center;box-sizing:border-box;text-decoration:none}.fsm-helper-panel .fsm-button::before,.fsm-helper-panel .fsm-button::after{content:none!important}.fsm-helper-panel .fsm-terms-heading h2{font-size:1.5rem;line-height:1.3}
.fsm-helper-host>.fsm-goals{margin:0!important;padding:0!important;border:0!important;background:none!important}.fsm-helper-host>.fsm-goals>:not(dialog){display:none!important}
@media(prefers-reduced-motion:reduce){.fsm-helper-disc,.fsm-helper-message,.fsm-helper-icon{transition:none;animation:none!important}.fsm-helper-orb.is-expanded .fsm-helper-disc{transform:none}.fsm-helper-orb.is-expanded .fsm-helper-icon{opacity:1}.fsm-helper-orb.is-expanded .fsm-helper-message{display:none}}

.fsm-helper-host>.fsm-goals>.fsm-helper-goals-editor[open]{display:block!important}.fsm-helper-goals-editor{width:min(600px,calc(100vw - 2rem))}.fsm-helper-editor-close{float:right;border:0;background:transparent;font-size:2rem;cursor:pointer}

.fsm-context-help{margin:1.5rem 0}.fsm-context-help>h3{font-size:1.1rem;margin:0 0 .75rem}.fsm-context-help details{border:1px solid #d9e0d6;border-radius:.4rem;margin:.5rem 0;background:#fff}.fsm-context-help summary{padding:.8rem;cursor:pointer;font-weight:700;line-height:1.4}.fsm-context-help summary:focus-visible{outline:2px solid #e20026;outline-offset:2px}.fsm-context-help-body{padding:0 .8rem 1rem}.fsm-context-help-body p{margin:.5rem 0 1rem}.fsm-context-help-body ol{padding-left:1.4rem}.fsm-context-help-body li{margin:.6rem 0;line-height:1.5}

/* Same expanding shadow ring and .9s ease-out timing as the header count-label. */
.fsm-helper .fsm-helper-orb{transition:transform .2s ease-out;transform-origin:center;animation:fsm-helper-notification-pulse .9s ease-out infinite}
.fsm-helper .fsm-helper-orb:hover{transform:scale(1.1)}
@keyframes fsm-helper-notification-pulse{0%{box-shadow:0 0 0 0 rgba(226,0,38,.7)}70%{box-shadow:0 0 0 10px rgba(226,0,38,0)}100%{box-shadow:0 0 0 0 rgba(226,0,38,0)}}
@media(prefers-reduced-motion:reduce){.fsm-helper .fsm-helper-orb{animation:none;transition:none}.fsm-helper .fsm-helper-orb:hover{transform:none}}
