/* Readable type, even spacing and mobile keyboard navigation. */
body.stride-site .stride-app{font-size:17px;line-height:1.6}
body.stride-site .stride-app :is(h1,h2,h3){font-weight:650;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none}
body.stride-site .stride-app :is(.st-panel p,.st-form-hint,.st-muted,.st-dialog p,.st-heading-copy,.st-timer-footnote,.st-plan-card p){font-size:15px;line-height:1.65}
body.stride-site .stride-app :is(.st-field,.st-measurement legend,.st-profile-goals legend){font-size:16px;font-weight:600;line-height:1.5}
body.stride-site .stride-app :is(input,select,textarea){font-size:17px;scroll-margin-block:90px;min-width:0}
body.stride-site .stride-app :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-height:48px}
body.stride-site .stride-app :is(.st-button,.st-text-button,.st-text-link){font-size:15px;font-weight:650;min-height:44px}
body.stride-site .stride-app :is(.st-dashboard-grid,.st-fast-page-grid,.st-record-layout,.st-quick-grid,.st-plans-grid,.st-tool-picker,.st-input-row){gap:20px}
body.stride-site .stride-app :is(.wb-day-grid,.wb-day-side,.wb-meal-grid,.wb-week-grid){gap:20px}
body.stride-site .stride-app :is(.st-panel,.st-custom-window,.st-assessment-card){margin-bottom:22px}
body.stride-site .stride-app :is(.wb-card-copy,.wb-subtle,.wb-field,.wb-form p,.ah-push-help,.ah-push-small,.ah-push-intro,.ah-push-copy){font-size:15px;line-height:1.65}
body.stride-site .stride-app :is(.wb-link,.wb-primary,.wb-tab,.ah-push-secondary){font-size:14px!important;min-height:44px}
body.stride-site .stride-app .st-profile-goals{margin:20px 0 24px}
body.stride-site .stride-app .st-profile-goals legend small{display:block;font-size:14px;font-weight:450;margin:5px 0 12px}
body.stride-site .stride-app .st-profile-goals .st-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.stride-site .stride-app .st-profile-goals .st-choice span{height:100%;min-height:64px;padding:14px 28px 14px 14px;font-size:15px}
body.stride-site .stride-app .st-plan-colour-16{--plan-accent:#936943}
body.stride-site .stride-app .st-onboarding-v12 .st-dialog-heading h2{font-weight:650}
body.stride-site .stride-app .st-onboarding-v12 :is(.st-welcome-copy,.st-choice small,.st-assessment-consent p){font-size:15px;line-height:1.65}
body.stride-site .stride-app .st-onboarding-v12 :is(.st-cue-topline,.st-cue-unit){font-size:13px}
body.stride-site .stride-app .st-onboarding-v12 .st-choice strong{font-size:17px;font-weight:650;line-height:1.4}
body.stride-site .stride-app .st-onboarding-v12 :is(.st-welcome-choices,.st-cue-habits){gap:14px}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions{gap:16px;padding-bottom:8px}
body.stride-site .stride-app .st-onboarding-v12 .st-welcome-actions>.st-button{min-height:52px;font-size:16px}
body.stride-site .stride-app .st-onboarding-v12 .st-assessment-consent span{font-size:16px}
body.stride-site .stride-app .st-onboarding-v12>.st-dialog-inner>.st-text-button{font-size:14px}
body.stride-site .stride-app .st-cue-information{padding:24px;border:1px solid #cfd6c5;border-radius:8px;background:#fffdf8;margin:0 0 24px;color:#354536}
body.stride-site .stride-app .st-cue-information p+p{margin-top:12px}
body.stride-site .stride-app .st-cue-information a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
body.stride-site .stride-app .st-bmi-value{display:block;font-size:64px;font-weight:650;line-height:1.1;margin:12px 0 18px;letter-spacing:-.04em}
body.stride-site .stride-app .st-cue-pause-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin-bottom:18px;background:#e7eee0;color:#354536}
.st-keyboard-nav{box-sizing:border-box;position:fixed;left:0;right:0;z-index:2147483646;height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:5px 15px;background:#f6f7f2;border-top:1px solid #c5cebf;box-shadow:0 -5px 16px #16211512;color:#263b2b;font:600 15px/1.3 system-ui,sans-serif}
.st-keyboard-nav[hidden]{display:none!important}
.st-keyboard-nav button{padding:6px 12px;min-width:78px;min-height:42px;border:0;background:transparent;color:#263b2b;font:inherit;touch-action:manipulation;cursor:pointer}
.st-keyboard-nav button:last-child{background:#354536;color:#fff;border-radius:5px}
.st-keyboard-nav button:disabled{opacity:.4;cursor:default}
.st-keyboard-nav span{font-size:13px;font-weight:500}
@media(max-width:820px){
 body.stride-site .stride-app .st-onboarding-v12[open]{height:var(--align-visible-height,100dvh);max-height:var(--align-visible-height,100dvh)}
 body.stride-site .stride-app .st-onboarding-v12 .st-dialog-inner{min-height:var(--align-visible-height,100dvh)}
 body.stride-site .stride-app .st-dialog.st-typing{scroll-padding-bottom:85px}
 body.stride-site .stride-app .st-dialog.st-typing .st-dialog-inner{padding-bottom:80px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-cue-emblem{height:64px;margin-top:12px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-dialog-heading{margin-top:18px;margin-bottom:14px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-dialog-heading h2{font-size:27px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-welcome-actions{margin-top:16px;padding-top:16px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-cue-answer input{min-height:60px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-dialog-inner>.st-text-button{display:none}
}
@media(max-width:359px){body.stride-site .stride-app .st-onboarding-v12 .st-choice strong{font-size:16px}body.stride-site .stride-app .st-onboarding-v12 :is(.st-welcome-choices,.st-cue-habits){gap:12px}}

/* iPhone keyboard fix: size AND position dialogs in the visual viewport. */
@media(max-width:820px),(pointer:coarse){
 body.stride-site .stride-app .st-dialog[open]{position:fixed;inset:auto 0 auto 0;top:var(--align-visible-top,0px);width:100%;max-width:none;height:var(--align-visible-height,100dvh);max-height:var(--align-visible-height,100dvh);margin:0;padding:0;border:0;border-radius:0;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overflow-anchor:none;overscroll-behavior:contain;scroll-behavior:auto;-webkit-overflow-scrolling:touch}
 body.stride-site .stride-app .st-dialog[open]>.st-dialog-inner{min-height:100%;max-height:none;overflow:visible}
 body.stride-site .stride-app .st-onboarding-v12::backdrop{background:#e5ecdf;backdrop-filter:none;-webkit-backdrop-filter:none}
 body.stride-site .stride-app .st-onboarding-v12.st-typing>.st-dialog-inner{padding-top:12px;padding-bottom:78px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-cue-emblem{display:none}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-cue-topline{min-height:28px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-dialog-heading{margin-top:16px;margin-bottom:12px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-dialog-heading h2{font-size:25px;line-height:1.16}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-dialog-heading>.st-round-button{top:10px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-welcome-copy{margin-bottom:12px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-cue-answer{margin-bottom:8px}
 body.stride-site .stride-app .st-onboarding-v12.st-typing .st-welcome-actions{margin-top:auto;padding-top:16px}
 body.stride-site .stride-app .st-dialog input,body.stride-site .stride-app .st-dialog textarea,body.stride-site .stride-app .st-dialog select{font-size:max(16px,1em);scroll-margin-block:12px}
}
