/* CFIT member app, trial page and sign-in: The Practice. One shared style file. Colours, fonts, spacing and layout only. No words, links or scripts here. */
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Source Sans 3";src:url("fonts/source-sans-3-latin.woff2") format("woff2");font-weight:200 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

html body:not(#z):not(#y){background:#F6F1E7!important;background-image:none!important;color:#0F1133!important;font-family:"Source Sans 3",-apple-system,system-ui,sans-serif!important}
html body:not(#z):not(#y) .shell{background:none!important;max-width:1180px!important}
html body:not(#z):not(#y)::before,html body:not(#z):not(#y)::after{display:none!important}

/* header */
html body:not(#z):not(#y) .top{background:#F6F1E7!important;background-image:none!important;border:0!important;border-bottom:1px solid #D8D0BF!important;border-radius:0!important;box-shadow:none!important;padding:10px 4px 14px!important}
html body:not(#z):not(#y) .top::before,html body:not(#z):not(#y) .top::after{display:none!important}
html body:not(#z):not(#y) .top .brand small{color:#4C5166!important;font-family:"Source Sans 3",sans-serif!important;font-weight:700!important;letter-spacing:.14em!important}
html body:not(#z):not(#y) .top .brand h1{color:#0F1133!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;letter-spacing:-.01em!important}
html body:not(#z):not(#y) .top .private{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;color:#4C5166!important;font-family:"Source Sans 3",sans-serif!important;font-weight:700!important;letter-spacing:.14em!important}

/* opening panels */
html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin){background:#F6F1E7!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#0F1133!important;padding:32px 4px!important;margin-top:0!important}
html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin)::before,html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin)::after{display:none!important}
html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin) :is(h2,h3){color:#0F1133!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;letter-spacing:-.012em!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important;background:none!important}
html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin) h2{font-size:52px!important;line-height:1.06!important}
html body:not(#z):not(#y) :is(.experience-start-eyebrow,.member-signin-kicker){color:#4C5166!important;font-family:"Source Sans 3",sans-serif!important;font-size:14px!important;font-weight:700!important;letter-spacing:.16em!important;background:none!important;border:0!important}
html body:not(#z):not(#y) :is(.experience-start-copy,.member-signin-copy){color:#4C5166!important;font-family:"Source Sans 3",sans-serif!important;font-size:20px!important;line-height:1.55!important}
html body:not(#z):not(#y) .experience-start-free{background:none!important;background-image:none!important;color:#8A6414!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:12px 0!important;font-family:"Source Sans 3",sans-serif!important;font-size:15px!important;font-weight:700!important;letter-spacing:.04em!important;display:block!important;width:auto!important}
html body:not(#z):not(#y) .member-signin-badges{gap:8px 20px!important}
html body:not(#z):not(#y) .member-signin-badges span{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;color:#0F1133!important;font-family:"Source Sans 3",sans-serif!important;font-size:13px!important;font-weight:700!important;letter-spacing:.12em!important}

/* the form card */
html body:not(#z):not(#y) .experience-start-form{background:#FBF8F1!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important;padding:26px!important}
html body:not(#z):not(#y) .experience-start-form h3{font-size:28px!important;line-height:1.15!important}
html body:not(#z):not(#y) .experience-start-form :is(.small,.experience-start-status,.experience-next-steps,.experience-next-steps li){color:#4C5166!important;font-family:"Source Sans 3",sans-serif!important;font-size:16px!important;line-height:1.5!important}
html body:not(#z):not(#y) .experience-start-form .experience-next-steps>div{color:#0F1133!important}
html body:not(#z):not(#y) .experience-start-form button:is(.gold,.soft){width:100%!important;max-width:none!important;display:block!important;margin-left:0!important;margin-right:0!important}
html body:not(#z):not(#y) .member-signin-field span{color:#0F1133!important;font-family:"Source Sans 3",sans-serif!important;font-size:16px!important;font-weight:600!important;background:none!important}
html body:not(#z):not(#y) :is(.experience-start-form,.cfit-member-signin) input,#cfitForgotPasswordOverlay input,#cfitResetPasswordOverlay input{background:#fff!important;background-image:none!important;color:#0F1133!important;border:1px solid #B9B09C!important;border-radius:2px!important;box-shadow:none!important;min-height:50px!important;font-family:"Source Sans 3",sans-serif!important;font-size:17px!important;font-weight:400!important}
html body:not(#z):not(#y) :is(.experience-start-form,.cfit-member-signin) input::placeholder{color:#5C6176!important;opacity:1!important}
html body:not(#z):not(#y) :is(.experience-start-form,.cfit-member-signin) input:focus{border-color:#0F1133!important;outline:2px solid #C9962E!important;outline-offset:1px!important}

/* buttons */
html body:not(#z):not(#y) :is(.experience-start-form,.cfit-member-signin) button.gold,#cfitForgotPasswordOverlay button.gold,#cfitResetPasswordOverlay button.gold{background:#0F1133!important;background-image:none!important;color:#fff!important;border:1px solid #0F1133!important;border-radius:2px!important;box-shadow:none!important;text-shadow:none!important;font-family:"Source Sans 3",sans-serif!important;font-size:18px!important;font-weight:600!important;min-height:54px!important;transform:none!important}
html body:not(#z):not(#y) :is(.experience-start-form,.cfit-member-signin) button.soft,#cfitForgotPasswordOverlay button.soft,#cfitResetPasswordOverlay button.soft{background:transparent!important;background-image:none!important;color:#0F1133!important;border:1px solid #0F1133!important;border-radius:2px!important;box-shadow:none!important;font-family:"Source Sans 3",sans-serif!important;font-size:17px!important;font-weight:600!important;min-height:50px!important;transform:none!important}
html body:not(#z):not(#y) #memberForgotPassword{background:none!important;border:0!important;box-shadow:none!important;color:#0F1133!important;text-decoration:underline!important;text-underline-offset:3px!important;font-family:"Source Sans 3",sans-serif!important;font-size:16px!important;font-weight:600!important;min-height:44px!important;padding:0 2px!important}
html body:not(#z):not(#y) .cfit-member-signin :is(.small,.status){font-family:"Source Sans 3",sans-serif!important}
html body:not(#z):not(#y) .cfit-member-signin .cfit-signin-foot,html body:not(#z):not(#y) .cfit-member-signin>div:last-child{color:#4C5166!important}

html body:not(#z):not(#y) .password-toggle{width:44px!important;height:44px!important;min-height:44px!important;background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;color:#0F1133!important}

/* password boxes */
#cfitForgotPasswordOverlay>div,#cfitResetPasswordOverlay>div{background:#FBF8F1!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important}
#cfitForgotStatus:empty,#cfitResetPasswordStatus:empty{display:none!important}
#cfitForgotPasswordOverlay h2,#cfitResetPasswordOverlay h2{font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:30px!important}
#cfitForgotPasswordOverlay .small,#cfitResetPasswordOverlay .small{color:#4C5166!important;font-family:"Source Sans 3",sans-serif!important;font-size:16px!important}

@media (max-width:760px){
 html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin){padding:24px 2px!important}
 html body:not(#z):not(#y) :is(.experience-start-panel,.cfit-member-signin) h2{font-size:40px!important}
 html body:not(#z):not(#y) :is(.experience-start-copy,.member-signin-copy){font-size:18px!important}
 html body:not(#z):not(#y) .experience-start-form{padding:20px 16px!important}
 html body:not(#z):not(#y) .top .private{font-size:11px!important;padding:0!important;max-width:84px!important;text-align:right!important}
}

 /* compact header, signed-in screens only */
@media(max-width:760px){
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top{padding:8px 2px 10px!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top .brand{grid-template-columns:84px 1fr!important;column-gap:10px!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top .brand img{width:84px!important;max-width:84px!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top .brand small{font-size:10px!important;line-height:1.25!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top .brand h1{font-size:15px!important;line-height:1.2!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top .badge{font-size:10px!important;letter-spacing:.14em!important;max-width:88px!important;padding:0!important;text-align:right!important}
}
/* ===== Signed-in app. Same look everywhere; workout stays bold navy. ===== */
/* page openers: ivory with big serif, not navy cards */
html body:not(#z):not(#y) :is(.hub-hero,.home-hero,.gear-hero,.programs-hero,.premium-zoom-hero){background:none!important;background-image:none!important;border:0!important;border-bottom:1px solid #D8D0BF!important;border-radius:0!important;box-shadow:none!important;color:#0F1133!important;padding:22px 2px 20px!important}
html body:not(#z):not(#y) :is(.hub-hero,.home-hero,.gear-hero,.programs-hero,.premium-zoom-hero)::before,html body:not(#z):not(#y) :is(.hub-hero,.home-hero,.gear-hero,.programs-hero,.premium-zoom-hero)::after{display:none!important}
html body:not(#z):not(#y) :is(.hub-hero,.home-hero,.gear-hero) :is(h1,h2,h3){color:#0F1133!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:34px!important;line-height:1.1!important;letter-spacing:-.01em!important}
html body:not(#z):not(#y) :is(.hub-hero,.home-hero,.gear-hero) :is(p,span,div:not(.home-kicker):not(.hub-kicker)){color:#4C5166!important}
html body:not(#z):not(#y) :is(.hub-kicker,.home-kicker){color:#4C5166!important;letter-spacing:.16em!important;font-size:12px!important;font-weight:700!important;font-family:"Source Sans 3",sans-serif!important}
/* cards become quiet ruled sheets */
html body:not(#z):not(#y) :is(.hub-card,.home-card,.program-schedule-card,.progress-metric,.macro-stat,.trend-card,.quick-card,.meter-box,.gear-intro,.box,.program-card,.protein-focus,.nutrition-focus,.progress-insight,.home-stat){background:#FBF8F1!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important}
html body:not(#z):not(#y) :is(.hub-card,.home-card,.program-schedule-card,.progress-metric,.macro-stat,.trend-card,.quick-card,.protein-focus,.nutrition-focus)::before,html body:not(#z):not(#y) :is(.hub-card,.home-card,.program-schedule-card,.progress-metric,.macro-stat,.trend-card,.quick-card,.protein-focus,.nutrition-focus)::after{display:none!important}
html body:not(#z):not(#y) :is(.hub-card,.home-card,.progress-metric,.trend-card,.quick-card,.protein-focus,.nutrition-focus) :is(h2,h3,b,strong){color:#0F1133!important}
html body:not(#z):not(#y) :is(.hub-card,.home-card) h2,html body:not(#z):not(#y) :is(.hub-card,.home-card) h3{font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;letter-spacing:-.01em!important}
html body:not(#z):not(#y) :is(.hub-card,.home-card,.progress-metric,.trend-card,.quick-card,.protein-focus,.nutrition-focus) :is(p,span,.small,small){color:#4C5166!important}
html body:not(#z):not(#y) .quick-card b{font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:19px!important}
/* the one navy block on Home: today's workout */
html body:not(#z):not(#y) .home-card:has(#homeWorkoutKicker){background:#0F1133!important;border-color:#0F1133!important;color:#F6F1E7!important}
html body:not(#z):not(#y) .home-card:has(#homeWorkoutKicker) :is(h2,h3,b,strong){color:#F6F1E7!important}
html body:not(#z):not(#y) .home-card:has(#homeWorkoutKicker) :is(p,span,div,.small){color:#C9CBD9!important}
html body:not(#z):not(#y) .home-card:has(#homeWorkoutKicker) button.gold{background:#F6F1E7!important;color:#0F1133!important;border-color:#F6F1E7!important}
html body:not(#z):not(#y) .home-card:has(#homeWorkoutKicker) button.gold *{color:#0F1133!important}
/* buttons, tabs, fields */
html body:not(#z):not(#y) button.gold,html body:not(#z):not(#y) .gold{background:#0F1133!important;background-image:none!important;color:#fff!important;border:1px solid #0F1133!important;border-radius:2px!important;box-shadow:none!important;font-weight:600!important;font-family:"Source Sans 3",sans-serif!important;min-height:44px!important}
html body:not(#z):not(#y) button.soft,html body:not(#z):not(#y) button.navy,html body:not(#z):not(#y) .community-join-mini{background:transparent!important;background-image:none!important;color:#0F1133!important;border:1px solid #0F1133!important;border-radius:2px!important;box-shadow:none!important;font-weight:600!important;font-family:"Source Sans 3",sans-serif!important}
html body:not(#z):not(#y) .community-join-mini{min-height:44px!important;min-width:64px!important}
html body:not(#z):not(#y) :is(.nutrition-tab,.gear-tab,.community-filter-btn,.coach-tab,.diet-chip){background:transparent!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important;min-height:44px!important;font-family:"Source Sans 3",sans-serif!important;font-weight:600!important}
html body:not(#z):not(#y) :is(.nutrition-tab,.gear-tab,.community-filter-btn,.coach-tab,.diet-chip).active{background:#0F1133!important;color:#fff!important;border-color:#0F1133!important}
html body:not(#z):not(#y) input:not([type=checkbox]):not([type=radio]):not([type=range]),html body:not(#z):not(#y) select,html body:not(#z):not(#y) textarea{background:#fff!important;color:#0F1133!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important}
/* bottom menu: flat navy, always on screen on phones */
html body:not(#z):not(#y) #bottomNav{background:#0F1133!important;background-image:none!important;border-radius:0!important;box-shadow:none!important;border:0!important}
html body:not(#z):not(#y) #bottomNav .nav{color:#C9CBD9!important;font-size:12px!important;min-height:52px!important;border-radius:0!important;background:none!important;box-shadow:none!important;font-family:"Source Sans 3",sans-serif!important}
html body:not(#z):not(#y) #bottomNav .nav.active{color:#fff!important;box-shadow:inset 0 2px 0 #C9962E!important}
@media(max-width:760px){
 html body:not(#z):not(#y) #bottomNav{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;margin:0!important;padding:0 0 env(safe-area-inset-bottom)!important;z-index:40!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .shell{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important}
 html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) #askCoachNick{bottom:calc(72px + env(safe-area-inset-bottom))!important}
}
/* workout: stays bold navy */
html body:not(#z):not(#y) #runnerPanel,html body:not(#z):not(#y) .workout-card{background:#0F1133!important;background-image:none!important;border:0!important;border-radius:2px!important;box-shadow:none!important;color:#F6F1E7!important}
html body:not(#z):not(#y) .workout-card :is(h2,h3,b,.sub,div,span){color:#F6F1E7!important}
html body:not(#z):not(#y) .exercise-info{color:#F6F1E7!important}
html body:not(#z):not(#y) .exercise-info h2{color:#F6F1E7!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:34px!important}
html body:not(#z):not(#y) .exercise-info .eyebrow,html body:not(#z):not(#y) .exercise-info .pills *{color:#E6C779!important;background:none!important;border-color:rgba(230,199,121,.4)!important}
html body:not(#z):not(#y) .exercise-info .box{background:#1B1F50!important;border-color:#292E70!important;color:#F6F1E7!important}
html body:not(#z):not(#y) .exercise-info .box :is(b,li,div,ul){color:#F6F1E7!important}
html body:not(#z):not(#y) #runnerPanel .controls button{min-height:56px!important;font-size:17px!important;font-weight:700!important}
html body:not(#z):not(#y) #runnerPanel .controls button.gold{background:#F6F1E7!important;color:#0F1133!important;border-color:#F6F1E7!important}
html body:not(#z):not(#y) #runnerPanel .controls button.soft{color:#F6F1E7!important;border-color:#F6F1E7!important}
html body:not(#z):not(#y) #runnerPanel .mobile-video-controls button{min-height:48px!important;font-size:16px!important;font-weight:700!important;background:#F6F1E7!important;color:#0F1133!important;border:0!important}
html body:not(#z):not(#y) .session-list,html body:not(#z):not(#y) .session-list *{color:#F6F1E7!important}
/* rest: a full screen on phones and tablets, big clock, buttons pinned to the bottom */
html body:not(#z):not(#y) .rest-stage{background:#0F1133!important;background-image:none!important}
@media(max-width:900px),(max-height:500px){
 html body:not(#z):not(#y) #restStage:not(.hidden){position:fixed!important;inset:0!important;z-index:9000!important;width:100vw!important;height:100dvh!important;padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))!important;display:flex!important}
 html body:not(#z):not(#y) #restStage>div{width:100%!important;height:100%!important;max-width:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important}
 html body:not(#z):not(#y) #restStage .rest-app-icon{width:auto!important;height:clamp(64px,16dvh,150px)!important;max-height:16dvh!important;flex:0 1 auto!important}
 html body:not(#z):not(#y) #restStage #restLabel{font-size:18px!important;letter-spacing:.2em!important}
 html body:not(#z):not(#y) #restStage .count{font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:clamp(72px,24vw,120px)!important;line-height:1!important}
 html body:not(#z):not(#y) #restStage .next{font-size:18px!important;line-height:1.3!important}
 html body:not(#z):not(#y) #restStage .rest-actions{margin-top:auto!important;width:100%!important;max-width:520px!important;display:grid!important;gap:12px!important}
 html body:not(#z):not(#y) #restStage .rest-actions button{width:100%!important;min-height:64px!important;font-size:19px!important;font-weight:700!important;margin:0!important}
 html body:not(#z):not(#y) #restStage #endRest{background:#F6F1E7!important;color:#0F1133!important;border:0!important}
 html body:not(#z):not(#y) #restStage #stopRest{background:transparent!important;color:#F6F1E7!important;border:1px solid #F6F1E7!important}
}

/* second pass */
html body:not(#z):not(#y) #nutritionPanel .nutrition-tabs{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important}
html body:not(#z):not(#y) :is(.community-group-card,.gear-card,.milestone,.community-compose,.community-active-bar,.plan-builder-card){background:#FBF8F1!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important}
html body:not(#z):not(#y) :is(.community-group-card,.gear-card,.milestone)::before,html body:not(#z):not(#y) :is(.community-group-card,.gear-card,.milestone)::after{display:none!important}
html body:not(#z):not(#y) .milestone :is(b,strong,div,span){color:#0F1133!important}
html body:not(#z):not(#y) .milestone .small,html body:not(#z):not(#y) .milestone small{color:#4C5166!important}
html body:not(#z):not(#y) .milestone .badge{background:#0F1133!important;background-image:none!important;color:#F6F1E7!important;border:0!important;box-shadow:none!important}
html body:not(#z):not(#y) .gear-thumb{background:#EFE8DA!important;background-image:none!important;border-radius:0!important}
html body:not(#z):not(#y) .gear-badge,html body:not(#z):not(#y) .gear-hero-badge{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;color:#8A6414!important;padding:0!important;font-weight:700!important}
html body:not(#z):not(#y) .group-name{font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:21px!important;color:#0F1133!important}
html body:not(#z):not(#y) .group-desc{color:#4C5166!important}
html body:not(#z):not(#y) .group-joined,html body:not(#z):not(#y) .group-icon{color:#0F1133!important}
html body:not(#z):not(#y) .session-list>*{background:#1B1F50!important;background-image:none!important;border:1px solid #292E70!important;border-radius:2px!important;box-shadow:none!important;opacity:1!important}
html body:not(#z):not(#y) button.gold::before,html body:not(#z):not(#y) button.gold:not(#homeWorkoutAction)::after,html body:not(#z):not(#y) .program-action::after{display:none!important}
/* rest and stopped screens: release them from the panel's leftover opening animation so they can fill the screen */
@media(max-width:900px),(max-height:500px){
 html body:not(#z):not(#y) #runnerPanel:has(#restStage:not(.hidden)),html body:not(#z):not(#y) #runnerPanel:has(#outro.stopped-view:not(.hidden)){animation:none!important;transform:none!important}
 html body:not(#z):not(#y) #outro.stopped-view:not(.hidden){position:fixed!important;inset:0!important;z-index:9000!important;width:100vw!important;height:100dvh!important;background:#0F1133!important}
 html body:not(#z):not(#y) #outro.stopped-view .rest-actions button{min-height:64px!important;font-size:19px!important;font-weight:700!important}
}
@media(max-height:500px){
 html body:not(#z):not(#y) #restStage .rest-app-icon{display:none!important}
 html body:not(#z):not(#y) #restStage>div{gap:4px!important}
 html body:not(#z):not(#y) #restStage .count{font-size:56px!important}
 html body:not(#z):not(#y) #restStage .rest-actions{grid-template-columns:1fr 1fr!important;margin-top:8px!important;max-width:none!important}
 html body:not(#z):not(#y) #restStage .rest-actions button{min-height:52px!important}
}

/* third pass: full-width rest buttons, tidy workout buttons on phones */
@media(max-width:900px),(max-height:500px){
 html body:not(#z):not(#y) #restStage .rest-actions{grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;align-self:center!important}
 html body:not(#z):not(#y) #restStage .rest-actions button{max-width:none!important}
}
@media(max-height:500px){html body:not(#z):not(#y) #restStage .rest-actions{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){
 html body:not(#z):not(#y) #runnerPanel .controls{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
 html body:not(#z):not(#y) #runnerPanel .controls button{width:100%!important;margin:0!important}
 html body:not(#z):not(#y) #runnerPanel .controls button:not(.soft):not(.hidden){grid-column:1/-1!important}
}

html body:not(#z):not(#y) #runnerPanel{animation:none!important;transform:none!important;opacity:1!important}
html body:not(#z):not(#y) .video-wrap{border-radius:2px!important}
/* ===== Rest and stopped screens: release them from the panel's leftover opening animation ===== */
@media(max-width:900px),(max-height:500px){
 html body:not(#z):not(#y) #restStage:not(.hidden),html body:not(#z):not(#y) #outro.stopped-view:not(.hidden){height:100vh!important;height:100dvh!important}
}
/* ===== Every button at least 44 px tall ===== */
html body:not(#z):not(#y) button:not(#askCoachNick):not([id^="cfitV142"]):not(.nav),html body:not(#z):not(#y) a.gold,html body:not(#z):not(#y) a.soft{min-height:44px!important}

/* ===== Quiet ruled sheets everywhere ===== */
html body:not(#z):not(#y) :is(.community-post,.community-comments,.affiliate-disclosure,.history-row,.food-log-row,.gear-filter-wrap,.macro-remaining,.recipe-card,.recipe-search-shell,.message-bubble,#messageThread,.nutrition-note,.nutrition-note-program,#specializedNote,.finish-stat,#milestoneCard,#nextCard,.program-schedule-row,.app-pathway-intro,.program-card,#zoomMemberBody){background:#FBF8F1!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important}
html body:not(#z):not(#y) :is(.community-post,.community-comments,.history-row,.food-log-row,.macro-remaining,.recipe-card,.recipe-search-shell,.message-bubble,.finish-stat,#milestoneCard,#nextCard,.program-schedule-row,.app-pathway-intro,.program-card,#zoomMemberBody)::before,html body:not(#z):not(#y) :is(.community-post,.recipe-card,.program-card,.recipe-search-shell,.finish-stat,.program-schedule-row)::after{display:none!important}
html body:not(#z):not(#y) :is(.community-post,.community-comments,.recipe-card,.recipe-search-shell,.message-bubble,.history-row,.food-log-row,.program-schedule-row,.app-pathway-intro,.program-card,#zoomMemberBody,.finish-stat,#milestoneCard,#nextCard,.macro-remaining) :is(h3,h4,b,strong,label){color:#0F1133!important}
html body:not(#z):not(#y) :is(.community-post,.community-comments,.recipe-card,.recipe-search-shell,.message-bubble,.history-row,.food-log-row,.program-schedule-row,.app-pathway-intro,.program-card,#zoomMemberBody,.finish-stat,#milestoneCard,#nextCard) :is(p,span,small,.small,.program-summary,.finish-label,.recipe-result-count,.recipe-filter-note){color:#4C5166!important}
html body:not(#z):not(#y) :is(.affiliate-disclosure,.nutrition-note,.nutrition-note-program,#specializedNote),html body:not(#z):not(#y) :is(.affiliate-disclosure,.nutrition-note,.nutrition-note-program,#specializedNote) *{color:#4C5166!important}
html body:not(#z):not(#y) :is(.nutrition-note,.nutrition-note-program,#specializedNote) b{color:#0F1133!important}
html body:not(#z):not(#y) .coach-tabs,html body:not(#z):not(#y) #nutritionPanel .nutrition-tabs{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important}
/* small labels and chips: flat */
html body:not(#z):not(#y) :is(.schedule-pill,.recipe-chip,.pill,.program-badge,.premium-badge,.gear-hero-badge,.gear-badge,.community-post-group,.community-reaction,.programs-master-pill,.program-schedule-index,.zoom-member-status){background:transparent!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important}
html body:not(#z):not(#y) :is(#energyVal,#painVal,#confidenceVal){background:none!important;border:0!important;box-shadow:none!important;color:#0F1133!important}
html body:not(#z):not(#y) .community-reaction{min-height:44px!important}
/* bars */
html body:not(#z):not(#y) :is(.macro-bar,.home-progress){background:#E7E0D2!important;border-radius:0!important}
html body:not(#z):not(#y) :is(#macroCaloriesBar,#macroProteinBar,#macroCarbsBar,#macroFatBar,#macroFiberBar){background:#0F1133!important;background-image:none!important;border-radius:0!important}
html body:not(#z):not(#y) .workout-card .progress{background:#292E70!important;border-radius:0!important}
/* back button and program tabs */
html body:not(#z):not(#y) #cfitV199HubBack{background:transparent!important;border:1px solid #0F1133!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important;min-height:44px!important}
html body:not(#z):not(#y) .program-path-tab{background:transparent!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important;color:#0F1133!important;min-height:44px!important;font-weight:600!important;font-family:"Source Sans 3",sans-serif!important}
html body:not(#z):not(#y) .program-path-tab.active{background:#0F1133!important;border-color:#0F1133!important;color:#fff!important}
/* Programs page opener */
html body:not(#z):not(#y) .programs-hero :is(h1,h2,h3){color:#0F1133!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:34px!important;line-height:1.1!important;letter-spacing:-.01em!important}
html body:not(#z):not(#y) .programs-hero :is(p,span,div:not(.hub-kicker)){color:#4C5166!important}
/* Live Zoom block stays navy, flat */
html body:not(#z):not(#y) :is(.premium-zoom-shell,#liveZoomJourneyCard){background:#0F1133!important;background-image:none!important;border:0!important;border-radius:2px!important;box-shadow:none!important}
html body:not(#z):not(#y) :is(.premium-zoom-shell,#liveZoomJourneyCard)::before,html body:not(#z):not(#y) :is(.premium-zoom-shell,#liveZoomJourneyCard)::after{display:none!important}
html body:not(#z):not(#y) .premium-zoom-shell .premium-zoom-hero{border-bottom:0!important;padding:4px 0 8px!important}
html body:not(#z):not(#y) :is(.premium-zoom-shell,#liveZoomJourneyCard) .hub-kicker,html body:not(#z):not(#y) .premium-eyebrow,html body:not(#z):not(#y) .premium-step-label,html body:not(#z):not(#y) .zoom-member-eyebrow{color:#E6C779!important}
html body:not(#z):not(#y) .premium-program-card{background:#1B1F50!important;background-image:none!important;border:1px solid #292E70!important;border-radius:2px!important;box-shadow:none!important;height:auto!important;min-height:0!important}
html body:not(#z):not(#y) .premium-program-card::before,html body:not(#z):not(#y) .premium-program-card::after{display:none!important}
html body:not(#z):not(#y) .premium-open{position:static!important;display:block!important;margin-top:10px!important}
html body:not(#z):not(#y) .premium-checkout-note{background:#1B1F50!important;background-image:none!important;border:1px solid #292E70!important;border-radius:2px!important;box-shadow:none!important;color:#F6F1E7!important}
html body:not(#z):not(#y) #liveZoomJourneyCard :is(#zoomStepBlueprint,#zoomStepAssessment,#zoomStepCoaching){border-radius:2px!important;background-image:none!important;box-shadow:none!important}
html body:not(#z):not(#y) #liveZoomJourneyCard #zoomMemberStatus{color:#F6F1E7!important;border-color:#292E70!important}
/* workout controls */
html body:not(#z):not(#y) #mobileVideoControls{background:#0F1133!important;border-radius:0!important;box-shadow:none!important}
html body:not(#z):not(#y) #stopSet{border-radius:2px!important;box-shadow:none!important}
/* buttons on the navy rest and stopped screens, all sizes */
html body:not(#z):not(#y) :is(#restStage,#outro) button.gold{background:#F6F1E7!important;background-image:none!important;color:#0F1133!important;border:0!important}
html body:not(#z):not(#y) :is(#restStage,#outro) button.soft{background:transparent!important;color:#F6F1E7!important;border:1px solid #F6F1E7!important}
html body:not(#z):not(#y) #outro.stopped-view h3,html body:not(#z):not(#y) #outro.stopped-view .remain{color:#F6F1E7!important}
@media(max-width:900px),(max-height:500px){
 html body:not(#z):not(#y) #outro.stopped-view:not(.hidden){padding:calc(20px + env(safe-area-inset-top)) 20px calc(20px + env(safe-area-inset-bottom))!important;display:flex!important}
 html body:not(#z):not(#y) #outro.stopped-view>div{width:100%!important;height:100%!important;max-width:none!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important}
 html body:not(#z):not(#y) #outro.stopped-view .outro-figure{width:auto!important;height:clamp(64px,16dvh,150px)!important;max-height:16dvh!important;flex:0 1 auto!important}
 html body:not(#z):not(#y) #outro.stopped-view #stoppedActions{margin-top:auto!important;width:100%!important;max-width:520px!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-self:center!important}
 html body:not(#z):not(#y) #outro.stopped-view #stoppedActions button{width:100%!important;max-width:none!important;min-height:64px!important;font-size:19px!important;font-weight:700!important;margin:0!important}
}
@media(max-height:500px){
 html body:not(#z):not(#y) #outro.stopped-view .outro-figure{display:none!important}
 html body:not(#z):not(#y) #outro.stopped-view #stoppedActions{grid-template-columns:1fr 1fr!important;margin-top:8px!important;max-width:none!important}
 html body:not(#z):not(#y) #outro.stopped-view #stoppedActions button{min-height:52px!important}
}
/* finish screen */
html body:not(#z):not(#y) #completePanel{background:#FBF8F1!important;background-image:none!important;border:1px solid #D8D0BF!important;border-radius:2px!important;box-shadow:none!important}
html body:not(#z):not(#y) #completePanel .complete-inner>h2{color:#0F1133!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;letter-spacing:-.01em!important}
html body:not(#z):not(#y) #completePanel .complete-kicker{color:#4C5166!important}
html body:not(#z):not(#y) #completePanel .meaning-line{color:#4C5166!important}
html body:not(#z):not(#y) .earned-card{background:#0F1133!important;background-image:none!important;border:0!important;border-radius:2px!important;box-shadow:none!important}
html body:not(#z):not(#y) .experienceChoice.selected{background:#0F1133!important;border-color:#0F1133!important;color:#fff!important}
/* last contrast fixes */
html body:not(#z):not(#y) .exercise-info .pill{color:#E6C779!important;border-color:rgba(230,199,121,.4)!important}
html body:not(#z):not(#y) .premium-zoom-shell .premium-badge{color:#E6C779!important;border-color:rgba(230,199,121,.4)!important}
html body:not(#z):not(#y) .community-date{color:#4C5166!important}
html body:not(#z):not(#y) .program-action,html body:not(#z):not(#y) .program-action.current{border-radius:2px!important;box-shadow:none!important;background-image:none!important}
/* no sideways scroll on the smallest phones */
html body:not(#z):not(#y) :is(.home-shell,.home-grid,.home-card,.home-stat-grid){min-width:0!important;max-width:100%!important}
html body:not(#z):not(#y) .home-card{box-sizing:border-box!important}

/* Home stats fit their card at every width */
html body:not(#z):not(#y) .home-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
html body:not(#z):not(#y) .home-stat{min-width:0!important}

/* ===== Subtle brand gold, signed-in app only. Same values as the public site:
   #C9962E lines and bars, #8A6414 small text on ivory, #E9C779 on navy. Rest and stopped screens are left alone. ===== */
/* page headings and section titles */
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .top{border-bottom-color:rgba(201,150,46,.55)!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.hub-hero,.home-hero,.gear-hero,.programs-hero){border-bottom:1px solid #C9962E!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.hub-card,.home-card:not(:has(#homeWorkoutKicker)),.program-schedule-card,.progress-insight)>:is(h2,h3)::after,html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .program-schedule-title::after{content:""!important;display:block!important;width:36px!important;height:2px!important;margin-top:8px!important;background:#C9962E!important}
/* small labels */
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.hub-kicker,.home-kicker,.complete-kicker,.finish-label){color:#8A6414!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.workout-card,.earned-card,.premium-zoom-shell,#liveZoomJourneyCard) :is(.hub-kicker,.home-kicker,.sub-kicker),html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) #homeWorkoutKicker,html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .earned-card .label{color:#E9C779!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.macro-stat,.progress-metric,.home-stat) :is(span,small){color:#8A6414!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .exercise-info .box>b{color:#E9C779!important}
/* numbers */
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.macro-stat,.progress-metric,.home-stat,.finish-stat) :is(b,strong),html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .trend-head strong{color:#8A6414!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .milestone .badge{color:#F2BE50!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .session-list .num,html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .program-schedule-index{color:#8A6414!important;border-color:#C9962E!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .session-list .num{color:#F2BE50!important}
/* progress bars */
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(#macroCaloriesBar,#macroProteinBar,#macroCarbsBar,#macroFatBar,#macroFiberBar){background:#C9962E!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .home-progress>*,html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .workout-card .progress>*{background:#C9962E!important;background-image:none!important}
/* active menu and tabs */
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) #bottomNav .nav.active{color:#F2BE50!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.nutrition-tab,.gear-tab,.community-filter-btn,.coach-tab,.diet-chip,.program-path-tab).active{box-shadow:inset 0 -2px 0 #C9962E!important}
/* key buttons stay navy with a gold edge; badges get a gold line */
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) button.gold:not(#restStage *):not(#outro *){box-shadow:inset 0 -2px 0 #C9962E!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.program-badge,.schedule-pill,.programs-master-pill,.gear-hero-badge,.community-post-group,.recipe-chip){border-color:#C9962E!important;color:#8A6414!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) :is(.premium-badge,.zoom-member-status){border-color:#C9962E!important}
html body:not(:has(#authPanel:not(.hidden))):not(:has(#experienceStartPanel:not(.hidden))):not(#z):not(#y) .home-card:has(#homeWorkoutKicker) .home-progress{background:#292E70!important}

/* ===== Programs: one page per choice ===== */
html body:not(#z):not(#y) .program-path-tabs{display:none!important}
html body:not(#z):not(#y) #programsPanel:not([data-programs-view="choice"]) :is(#cfitV199ProgramsNav,.programs-hero,.programs-master-pill){display:none!important}
html body:not(#z):not(#y) .programs-choice:not(.hidden){display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;margin:18px 0!important}
@media(max-width:760px){html body:not(#z):not(#y) .programs-choice:not(.hidden){grid-template-columns:1fr!important}}
html body:not(#z):not(#y) .programs-choice-card{background:#FBF8F1!important;border:1px solid #D8D0BF!important;border-radius:2px!important;padding:22px!important;display:flex!important;flex-direction:column!important;gap:10px!important;color:#0F1133!important}
html body:not(#z):not(#y) .programs-choice-card h3{margin:0!important;color:#0F1133!important;font-family:"Fraunces",Georgia,serif!important;font-weight:400!important;font-size:24px!important;line-height:1.15!important}
html body:not(#z):not(#y) .programs-choice-card p{margin:0!important;color:#4C5166!important;font-size:16px!important;line-height:1.5!important}
html body:not(#z):not(#y) .programs-choice-card button{margin-top:auto!important;align-self:flex-start!important;min-height:48px!important;padding:0 18px!important}
html body:not(#z):not(#y) #zoomSelectorCard{background:#1B1F50!important;background-image:none!important;border:1px solid #292E70!important;border-radius:2px!important;box-shadow:none!important}
html body:not(#z):not(#y) #zoomSelectorCard :is(h3,.premium-selector-detail,.premium-payment-summary){color:#F6F1E7!important}
html body:not(#z):not(#y) #zoomProgramsPane button.premium-choice{background:transparent!important;background-image:none!important;border:1px solid rgba(246,241,231,.55)!important;border-radius:2px!important;box-shadow:none!important;color:#F6F1E7!important;opacity:1!important;min-height:48px!important;font-weight:700!important}
html body:not(#z):not(#y) #zoomProgramsPane button.premium-choice:is(.active,.selected,[aria-pressed="true"]){background:#F6F1E7!important;color:#0F1133!important;border-color:#F6F1E7!important}
html body:not(#z):not(#y) #zoomProgramsPane button.premium-pay{border-radius:2px!important;box-shadow:none!important;background-image:none!important;min-height:52px!important;font-weight:700!important}
html body:not(#z):not(#y) #zoomProgramsPane button.premium-pay.primary{background:#F6F1E7!important;color:#0F1133!important;border:1px solid #F6F1E7!important}
html body:not(#z):not(#y) #zoomProgramsPane button.premium-pay.secondary{background:transparent!important;color:#F6F1E7!important;border:1px solid #F6F1E7!important}
html body:not(#z):not(#y) .premium-program-card :is(.premium-open){background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#E9C779!important;padding:0!important}
html body:not(#z):not(#y) #zoomProgramsPane button.premium-program-card:is(.active,.selected,[aria-pressed="true"]){border-color:#E9C779!important;box-shadow:inset 0 0 0 1px #E9C779!important}
html body:not(#z):not(#y) #programsPanel{padding-bottom:110px!important}
html body:not(#z):not(#y) #programsBackToChoice:not(.hidden){display:inline-flex!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#0F1133!important;font-family:"Source Sans 3",sans-serif!important;font-weight:700!important;font-size:16px!important;text-decoration:underline!important;min-height:44px!important;padding:0!important;margin:4px 0 10px!important;cursor:pointer!important}
