*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}#root{min-height:100vh;width:100%}.signin-page{width:100%;max-width:320px;margin:0 auto;padding:16px;box-sizing:border-box}.signin-page__title{margin-top:0}.signin-page__hint{font-size:14px;margin-bottom:16px}.signin-page__input{display:block;width:100%;margin-bottom:8px;padding:12px;min-height:44px;box-sizing:border-box}.signin-page__error{color:red;margin:0 0 8px;font-size:14px}.signin-page__btn{padding:12px 16px;min-height:44px}.signin-page__switch{margin-top:12px;padding:12px 16px;min-height:44px;background:none;border:none;cursor:pointer;font-size:14px}.signin-page__back{margin-top:16px;font-size:14px}.signup-page{width:100%;max-width:320px;margin:0 auto;padding:16px;box-sizing:border-box}.signup-page__title{margin-top:0}.signup-page__hint{font-size:14px;margin-bottom:16px}.signup-page__input{display:block;width:100%;margin-bottom:8px;padding:12px;min-height:44px;box-sizing:border-box}.signup-page__error{color:red;margin:0 0 8px;font-size:14px}.signup-page__btn{padding:12px 16px;min-height:44px}.signup-page__switch{margin-top:12px;padding:12px 16px;min-height:44px;background:none;border:none;cursor:pointer;font-size:14px}.signup-page__back{margin-top:16px;font-size:14px}.signup-page__legal{margin-top:12px;font-size:12px;opacity:.7;line-height:1.4}.signup-page__legal a{color:inherit}.onboarding-page{width:100%;max-width:400px;margin:0 auto;padding:16px;box-sizing:border-box}.onboarding-page--narrow{max-width:320px}.onboarding-page__title{margin-top:0}.onboarding-page__intro{margin-bottom:24px;font-size:14px}.onboarding-page__error{color:red}.onboarding-page__loading{padding:20px}.onboarding-page__question{margin-bottom:20px}.onboarding-page__question-text{margin:0 0 8px}.onboarding-page__options{display:flex;gap:12px}.onboarding-page__option{display:flex;align-items:center;gap:4px}.onboarding-page__form-error{color:red;margin:0 0 8px;font-size:14px}.onboarding-page__submit{padding:12px 16px;min-height:44px}.onboarding-page__back{margin-top:16px;font-size:14px}.dashboard-page{width:100%;padding:16px;box-sizing:border-box}.dashboard-page__intro{margin:0 0 16px}.dashboard-page__nav{margin-bottom:16px}.dashboard-page__nav a{margin-right:12px}.dashboard-page__nav-link--resume{font-weight:600;color:#0a7ea4}.dashboard-page__btn{margin-top:8px;padding:12px 16px;min-height:44px}.menace-page{width:100%;max-width:400px;margin:0 auto;padding:16px;box-sizing:border-box;text-align:center}.menace-page__text{margin-bottom:24px}.menace-page__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.menace-page__btn{padding:12px 16px;min-height:44px}.overview-page,.routine-detail{width:100%;padding:16px;box-sizing:border-box}.overview-page__nav,.routine-detail__nav{margin-bottom:16px}.overview-page__nav a,.routine-detail__nav a{margin-right:12px}.overview-page__title,.routine-detail__title{margin:0 0 16px}.routine-detail__start{display:block;width:100%;padding:12px 16px;margin-bottom:16px;min-height:44px;font-weight:500}.overview-page__form{display:flex;gap:8px;margin-bottom:24px}.overview-page__input{flex:1;padding:12px;min-height:44px}.overview-page__btn{padding:12px 16px;min-height:44px}.overview-page__list{list-style:none;margin:0;padding:0}.overview-page__item{margin-bottom:8px}.overview-page__link{display:inline-flex;align-items:center;gap:8px;padding:12px;background:#f0f0f0;border-radius:8px;text-decoration:none;color:inherit}.overview-page__badge{font-size:.85em;opacity:.8}.routine-detail__blocks{margin-bottom:16px}.routine-detail__block{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f5f5f5;border-radius:8px;margin-bottom:8px}.routine-detail__block-name{font-weight:500;color:inherit;background:none;border:none;padding:0;font-size:inherit;cursor:pointer}.routine-detail__block-name:hover{text-decoration:underline}.routine-detail__block-remove{padding:6px 12px}.routine-detail__add{padding:12px 16px;min-height:44px}.routine-detail__picker{margin-top:16px;padding:16px;background:#f9f9f9;border-radius:8px}.routine-detail__search,.routine-detail__filter{width:100%;padding:10px;margin-bottom:8px}.routine-detail__picker-list{list-style:none;margin:0 0 12px;padding:0;max-height:300px;overflow-y:auto}.routine-detail__picker-item{display:block;width:100%;text-align:left;padding:10px 12px;margin-bottom:4px;background:#fff;border:1px solid #eee;border-radius:6px;cursor:pointer}.routine-detail__picker-meta{font-size:.9em;opacity:.7;margin-left:8px}.routine-detail__picker-close{padding:8px 16px}.active-workout{width:100%;padding:16px;box-sizing:border-box}.active-workout__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.active-workout__session-date{opacity:.8}.active-workout__finish{padding:8px 16px}.active-workout__blocks{margin-bottom:24px}.active-workout__block-group{margin-bottom:20px}.active-workout__block{padding:16px;background:#f5f5f5;border-radius:8px;margin-bottom:12px}.active-workout__block-name{margin:0 0 4px;font-size:1.1em;display:flex;align-items:center;gap:8px}.active-workout__save-to-routine{padding:4px 8px;font-size:.85em;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.active-workout__set--add{margin-top:4px}.active-workout__add-set{padding:6px 12px;font-size:.9em;margin-top:8px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer}.active-workout__ghost{margin:0 0 8px;font-size:.9em;color:#666}.active-workout__set--ghost{opacity:.65}.active-workout__set--ghost .active-workout__input--ghost,.active-workout__set--ghost .active-workout__select--ghost{background:#eee;color:#555;cursor:default}.active-workout__sets{list-style:none;margin:0 0 12px;padding:0}.active-workout__set{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.active-workout__set-order{min-width:24px}.active-workout__set-order--plus{width:24px;min-width:24px;padding:0;margin:0;font-size:inherit;line-height:inherit;background:none;border:none;cursor:pointer;text-align:left;box-sizing:border-box}.active-workout__set input{width:64px;padding:6px 8px}.active-workout__pr{margin-left:4px}.active-workout__set-header{display:flex;align-items:center;gap:8px;padding:8px 0 4px;font-size:.85em;font-weight:600;color:#555}.active-workout__set-header span:first-child{min-width:24px}.active-workout__set-header span:nth-child(2),.active-workout__set-header span:nth-child(3){width:64px}.active-workout__set-header-empty{width:32px;min-width:32px}.active-workout__set-header--cardio span:nth-child(2){width:120px;min-width:120px}.active-workout__set-header--cardio span:nth-child(3){width:56px;min-width:56px}.active-workout__cardio-time{display:flex;align-items:center;gap:2px;width:120px;min-width:120px;flex-shrink:0}.active-workout__cardio-time-sep{font-variant-numeric:tabular-nums}.active-workout__select--cardio{width:28px;min-width:28px;padding:6px 2px}.active-workout__input--cardio{width:56px}.active-workout__set-col-check,.active-workout__set-col-action{width:32px;min-width:32px;display:inline-block}.active-workout__set-col-check{color:#999;opacity:.4}.active-workout__set--logged .active-workout__set-col-check{color:#1a73e8;opacity:1}.active-workout__set-update{padding:4px 8px;font-size:.8em;border:1px solid #1a73e8;border-radius:4px;background:#1a73e8;color:#fff;cursor:pointer}.active-workout__set-line{padding:8px 0;border-bottom:1px solid #eee;font-variant-numeric:tabular-nums}.active-workout__set--logged,.active-workout__set--pending{display:flex;align-items:center;gap:8px}.active-workout__set--next{background:#e8f4fc;border-radius:6px;margin:2px -4px;padding:4px}.active-workout__select{width:64px;padding:6px 8px;appearance:none;background:#fff;border:1px solid #ccc;border-radius:4px}.active-workout__update-sets{padding:8px 12px;font-size:.9em;margin-bottom:8px}.active-workout__log{padding:10px 16px;margin-top:0}.rest-timer{display:inline-block;margin-top:8px;padding:8px 12px;background:#e0f0ff;border-radius:6px;font-weight:500}.block-switcher{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 0}.block-switcher__arrow{width:36px;height:36px;border:1px solid #ccc;border-radius:6px;background:#fff;font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.block-switcher__arrow:disabled{opacity:.3;cursor:default}.block-switcher__name{flex:1;text-align:center;font-weight:600;font-size:1.05em}.block-switcher__add{width:36px;height:36px;border:1px solid #1a73e8;border-radius:6px;background:#1a73e8;color:#fff;font-size:1.3em;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.active-workout__empty{text-align:center;padding:32px 0}.active-workout__empty p{margin:0 0 16px;opacity:.7}.active-workout__add-block{padding:12px 16px;min-height:44px}.exercise-picker{position:fixed;inset:0;background:#fff;z-index:10;padding:16px;overflow-y:auto}.exercise-picker__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.exercise-picker__search,.exercise-picker__filter{width:100%;padding:10px;margin-bottom:8px}.exercise-picker__list{list-style:none;margin:0;padding:0}.exercise-picker__item{display:block;width:100%;text-align:left;padding:12px;margin-bottom:6px;background:#f5f5f5;border-radius:8px;border:none;cursor:pointer}.exercise-picker__meta,.exercise-picker__cal{font-size:.9em;opacity:.7;margin-left:8px}.start-workout{width:100%;padding:16px;box-sizing:border-box}.start-workout__nav{margin-bottom:16px}.start-workout__title{margin:0 0 16px}.start-workout__btn{display:block;width:100%;padding:14px;margin-bottom:8px;min-height:48px}.start-workout__divider{margin:20px 0 12px;text-align:center;opacity:.8}.start-workout__list{list-style:none;margin:0;padding:0}.start-workout__list li{margin-bottom:8px}.start-workout__link{display:block;padding:14px;background:#f0f0f0;border-radius:8px;text-decoration:none;color:inherit}.start-workout__btn:disabled{opacity:.6;cursor:not-allowed}.start-workout__btn--search{display:block;text-align:center;text-decoration:none;color:inherit}.exercises-page{width:100%;padding:16px;box-sizing:border-box}.exercises-page__nav{margin-bottom:16px}.exercises-page__title{margin:0 0 16px}.exercises-page__search,.exercises-page__filter{width:100%;padding:10px;margin-bottom:8px}.exercises-page__list{list-style:none;margin:0;padding:0}.exercises-page__item{display:block;width:100%;padding:12px;margin-bottom:8px;background:#f0f0f0;border-radius:8px;border:none;text-align:left;font-size:1em;cursor:pointer;color:inherit}.exercises-page__meta{font-size:.9em;opacity:.7;margin-left:8px}.start-session-modal__type{margin:0 0 12px;opacity:.7;font-size:.9em}.start-session-modal__label{margin:0 0 8px;font-size:.85em;font-weight:600;color:#555}.start-session-modal__header{display:flex;gap:8px;padding:4px 0;font-size:.85em;font-weight:600;color:#555}.start-session-modal__header span{width:48px}.start-session-modal__sets{list-style:none;margin:0 0 16px;padding:0}.start-session-modal__set{display:flex;gap:8px;padding:4px 0;font-variant-numeric:tabular-nums}.start-session-modal__set span{width:48px}.finish-preview{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.finish-preview__backdrop{position:absolute;inset:0;background:#0006}.finish-preview__panel{position:relative;width:100%;max-width:360px;background:#fff;border-radius:12px;padding:24px;box-shadow:0 8px 24px #00000026}.finish-preview__title{margin:0 0 20px;font-size:1.25em}.finish-preview__stats{margin:0 0 24px}.finish-preview__row{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid #eee}.finish-preview__row:last-child{border-bottom:none}.finish-preview__row dt{margin:0;font-weight:600;color:#555}.finish-preview__row dd{margin:0;font-variant-numeric:tabular-nums}.finish-preview__actions{display:flex;gap:12px;justify-content:flex-end}.finish-preview__exit{padding:10px 16px;border:1px solid #ccc;border-radius:6px;background:#fff;cursor:pointer}.finish-preview__log{padding:10px 16px;border:none;border-radius:6px;background:#1a73e8;color:#fff;cursor:pointer}.finish-preview__nuggets-earned{font-size:28px;font-weight:700;text-align:center;margin:16px 0}.finish-preview__nuggets-icon{display:block;width:64px;height:64px;margin:0 auto 8px}.active-session-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#1a1a1a;color:#fff;text-decoration:none;z-index:100;box-shadow:0 -2px 8px #00000026}.active-session-bar__label{font-weight:500}.active-session-bar__elapsed{font-variant-numeric:tabular-nums}.profile-page{width:100%;max-width:400px;margin:0 auto;padding:16px}.profile-page__nav{margin-bottom:16px}.profile-page__nav a{text-decoration:none;color:#0a7ea4}.profile-page__title{margin:0 0 24px}.profile-page__section{margin-bottom:24px}.profile-page__label{margin:0 0 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#555}.profile-page__toggle{display:flex;gap:0;border:1px solid #ccc;border-radius:6px;overflow:hidden;width:fit-content}.profile-page__toggle-btn{padding:10px 24px;min-height:44px;border:none;background:#fff;cursor:pointer;font-size:15px;color:#333;transition:background-color .15s,color .15s}.profile-page__toggle-btn+.profile-page__toggle-btn{border-left:1px solid #ccc}.profile-page__toggle-btn--active{background:#0a7ea4;color:#fff;cursor:default}.profile-page__input-row{display:flex;align-items:center;gap:8px}.profile-page__input{padding:10px 12px;min-height:44px;font-size:16px;border:1px solid #ccc;border-radius:6px;width:140px}.profile-page__save-btn{padding:10px 16px;min-height:44px;background:#0a7ea4;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:15px}.profile-page__save-btn:disabled{opacity:.6;cursor:default}.profile-page__nuggets{margin:0;font-size:24px;font-weight:600}.profile-page__nuggets-row{display:flex;align-items:center;gap:12px}.profile-page__nuggets-icon{width:40px;height:40px}.checkin-page{width:100%;max-width:400px;margin:0 auto;padding:16px}.checkin-page__nav{margin-bottom:16px}.checkin-page__nav a{text-decoration:none;color:#0a7ea4}.checkin-page__title{margin:0 0 24px}.checkin-page__streak{display:flex;align-items:baseline;gap:8px;margin-bottom:24px}.checkin-page__streak-count{font-size:48px;font-weight:700;line-height:1}.checkin-page__streak-label{font-size:16px;color:#555}.checkin-page__week{display:flex;gap:8px;margin-bottom:24px}.checkin-page__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;border:1px solid #ddd;border-radius:8px;background:#fafafa}.checkin-page__day--today{border-color:#0a7ea4}.checkin-page__day--checked{background:#0a7ea4;border-color:#0a7ea4;color:#fff}.checkin-page__day-label{font-size:12px;font-weight:600;text-transform:uppercase}.checkin-page__day-dot{font-size:18px;min-height:22px}.checkin-page__btn{width:100%;padding:14px 16px;min-height:44px;font-size:16px;font-weight:600;background:#0a7ea4;color:#fff;border:none;border-radius:8px;cursor:pointer}.checkin-page__btn:disabled{opacity:.6;cursor:default}.checkin-page__done{text-align:center;font-size:16px;font-weight:600;color:#0a7ea4}.legal-page{width:100%;max-width:40rem;margin:0 auto;padding:2rem 1rem;font-family:system-ui,sans-serif}.legal-page__header{margin-bottom:2rem}.legal-page__header h1{margin:.5rem 0 .25rem}.legal-page__back{font-size:.875rem;color:inherit}.legal-page__updated{font-size:.8rem;opacity:.6;margin:0}.legal-page__body h2{font-size:1.1rem;margin:1.5rem 0 .5rem}.legal-page__body p{line-height:1.6;margin:.25rem 0 .75rem}.legal-page__body ul{padding-left:1.25rem;line-height:1.6;margin:.25rem 0 .75rem}.legal-page__body li{margin-bottom:.25rem}
