:root{--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-dark: #1d4ed8;--color-text: #1f2937;--color-text-light: #6b7280;--color-background: #ffffff;--color-background-alt: #f3f4f6;--color-border: #e5e7eb;--color-error: #ef4444;--color-success: #22c55e;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--border-radius: .375rem;--transition: .15s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-bottom:var(--space-md);font-weight:600}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dark)}input,button,textarea,select{font:inherit}button{cursor:pointer;border:none;background:none;padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius);transition:all var(--transition)}input,textarea,select{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);background-color:var(--color-background)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}ul,ol{list-style:none}img{max-width:100%;height:auto}.u-container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-xs)}.u-flex{display:flex}.u-flex-col{flex-direction:column}.u-flex-grow{flex-grow:1}.u-items-center{align-items:center}.u-justify-between{justify-content:space-between}.u-justify-center{justify-content:center}.u-gap-xs{gap:var(--space-xs)}.u-gap-sm{gap:var(--space-sm)}.u-gap-md{gap:var(--space-md)}.u-gap-lg{gap:var(--space-lg)}.u-w-full{width:100%}.u-mt-xs{margin-top:var(--space-xs)}.u-mt-sm{margin-top:var(--space-sm)}.u-mt-lg{margin-top:var(--space-lg)}.u-mt-2xl{margin-top:var(--space-2xl)}.u-mb-xs{margin-bottom:var(--space-xs)}.u-mb-sm{margin-bottom:var(--space-sm)}.u-mb-md{margin-bottom:var(--space-md)}.u-mb-lg{margin-bottom:var(--space-lg)}.u-mb-xl{margin-bottom:var(--space-xl)}.u-mb-2xl{margin-bottom:var(--space-2xl)}.u-p-xs{padding:var(--space-xs)}.u-p-sm{padding:var(--space-sm)}.u-p-md{padding:var(--space-md)}.u-p-lg{padding:var(--space-lg)}.u-p-xl{padding:var(--space-xl)}.u-p-2xl{padding:var(--space-2xl)}.u-text-center{text-align:center}.u-text-left{text-align:left}.u-text-right{text-align:right}.u-text-sm{font-size:var(--font-size-sm)}.u-text-base{font-size:var(--font-size-base)}.u-text-lg{font-size:var(--font-size-lg)}.u-text-xl{font-size:var(--font-size-xl)}.u-text-2xl{font-size:var(--font-size-2xl)}.u-text-3xl{font-size:var(--font-size-3xl)}.u-font-medium{font-weight:500}.u-font-semibold{font-weight:600}.u-font-bold{font-weight:700}.u-text-light{color:var(--color-text-light)}.u-text-error{color:var(--color-error)}.u-text-success{color:var(--color-success)}.u-text-primary{color:var(--color-primary)}.u-card{background-color:var(--color-background);border-radius:var(--border-radius);box-shadow:0 1px 3px #0000001a;padding:var(--space-lg)}.u-divider{height:1px;background-color:var(--color-border);margin:var(--space-md) 0}.u-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);background-color:var(--color-primary);color:#fff;font-weight:500;padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius);transition:all var(--transition);cursor:pointer}.u-btn:hover{background-color:var(--color-primary-dark)}.u-btn-outline{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.u-btn-outline:hover{background-color:var(--color-primary);color:#fff}.u-btn-secondary{background-color:var(--color-background-alt);color:var(--color-text);border:1px solid var(--color-border)}.u-btn-secondary:hover{background-color:var(--color-border)}.u-btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-lg)}.u-btn-full{width:100%}.u-form-group{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.u-form-label{font-weight:500;color:var(--color-text)}.u-form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--space-xs)}@media (min-width: 640px){.u-container{padding:0 var(--space-sm)}}@media (min-width: 768px){.u-md-flex{display:flex}.u-md-grid{display:grid}}.b-nav{background-color:var(--color-background);border-bottom:1px solid var(--color-border);padding:var(--space-md) 0}.b-nav__container{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.b-nav__brand{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0}.b-nav__menu{display:flex;align-items:center;gap:var(--space-md)}.b-nav__date{font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:500;margin:0 var(--space-sm)}.b-nav__link{color:var(--color-text-light);text-decoration:none;display:flex;align-items:center;justify-content:center;padding:var(--space-sm);border-radius:var(--border-radius);transition:all var(--transition);background:none;border:none;width:40px;height:40px}.b-nav__link:hover,.b-nav__link.is-active{background-color:var(--color-background-alt);color:var(--color-text-light)}.b-nav__link--icon{cursor:pointer}.b-auth-form{max-width:400px;margin:var(--space-2xl) auto;padding:0 var(--space-lg)}.b-auth-form__title{text-align:center;margin-bottom:var(--space-xl)}.b-auth-form__footer{text-align:center;margin-top:var(--space-lg)}.b-fasting-timer{display:flex;flex-direction:column;align-items:center;padding:var(--space-xl, 2rem);text-align:center}.b-fasting-timer__time{font-size:clamp(2.5rem,8vw,4rem);font-weight:700;color:var(--primary, #646cff);margin-bottom:var(--space-s, .5rem)}.b-fasting-timer__label{font-size:1.2rem;color:var(--text-secondary, #4b5563);text-transform:uppercase;letter-spacing:.05em}.b-workout-categories{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-sm)}.b-workout-category{background:var(--color-background-alt);border-radius:var(--border-radius);padding:var(--space-lg)}.b-workout-category h2{display:none}.b-workout-exercises{display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-sm)}.b-workout-exercise{background:var(--color-background-alt);border-radius:var(--border-radius);padding:var(--space-md)}.b-workout-exercise__header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.b-workout-exercise__actions{display:flex;align-items:center;gap:var(--space-sm)}.b-workout-exercise h3{margin:0;font-size:var(--font-size-lg);font-weight:500;flex:1}.b-workout-exercise__edit-name{background:none;border:none;padding:0;color:var(--color-text)!important;font-size:inherit;font-weight:inherit;display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;transition:color var(--transition);outline:none;-webkit-tap-highlight-color:transparent}.b-workout-exercise__edit-name:focus{outline:none;color:var(--color-text)!important}.b-workout-exercise__category-icon{color:var(--color-text-light);transition:color var(--transition)}.b-workout-exercise__edit-name:hover .b-workout-exercise__category-icon,.b-workout-exercise__edit-name:focus .b-workout-exercise__category-icon{color:var(--color-primary)}.b-workout-exercise__edit-name svg{color:var(--color-text-light);transition:color var(--transition)}.b-workout-exercise__edit-name:hover svg,.b-workout-exercise__edit-name:focus svg{color:var(--color-primary)}.b-workout-exercise__edit{background:none;border:none;padding:var(--space-xs);color:var(--color-text-light);cursor:pointer;display:flex;align-items:center;justify-content:center}.b-workout-exercise__edit:hover{color:var(--color-primary)}.b-workout-exercise__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.b-workout-exercise__dropdown-option{width:100%;padding:var(--space-sm);border:none;background:none;text-align:left;color:var(--color-text);cursor:pointer;transition:all var(--transition)}.b-workout-exercise__dropdown-option:hover{background:var(--color-background-alt);color:var(--color-primary)}.b-workout-exercise__title-container{position:relative;flex:1;display:flex;align-items:center}.b-workout-exercise__weight{min-width:90px;width:90px}.b-workout-exercise__weight-display{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);text-align:center;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition)}.b-workout-exercise__weight-display:hover{border-color:var(--color-primary)}.b-workout-exercise__weight-display:hover svg{color:var(--color-primary)}.b-workout-exercise__weight-display svg{color:var(--color-text-light);transition:color var(--transition)}.b-workout-exercise__weight input{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:manipulation}.b-workout-exercise__weight input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #646cff1a}.b-workout-sets{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-sm)}.b-workout-set{display:flex;flex-direction:column;gap:var(--space-xs);align-items:center}.b-workout-set__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-light)}.b-workout-set input{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.b-workout-set input:focus{outline:none;border-color:var(--color-border)}.u-mt-md{margin-top:var(--space-md)}.u-mt-xl{margin-top:var(--space-xl)}.u-btn-sm{font-size:var(--font-size-sm);padding:var(--space-xs) var(--space-sm)}.u-btn-sm[disabled]{opacity:.5;cursor:not-allowed;background-color:var(--color-success);border-color:var(--color-success)}.b-nav-bottom{position:fixed;bottom:0;left:0;right:0;background-color:var(--color-background);border-top:1px solid var(--color-border);display:grid;grid-template-columns:1fr 1fr;box-shadow:0 -2px 10px #0000000d}.b-nav-bottom__link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);color:var(--color-text-light);text-decoration:none;padding:var(--space-md);transition:all var(--transition);min-height:58px}.b-nav-bottom__link span{font-size:var(--font-size-sm);font-weight:500;margin-top:var(--space-xs)}.b-nav-bottom__link:hover,.b-nav-bottom__link.is-active{color:var(--color-primary);background-color:var(--color-background-alt)}.u-container.u-flex-grow{padding-bottom:88px}.b-fasting{display:flex;flex-direction:column;padding:var(--space-md, 1rem);max-width:600px;margin:0 auto;gap:var(--space-sm, .5rem)}.b-fasting__header{text-align:center}.b-fasting__title{font-size:1.75rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0}.b-fasting__notifications{background:none;border:none;padding:var(--space-xs, .25rem);color:var(--text-secondary, #4b5563);cursor:pointer}.b-fasting__status{display:flex;flex-direction:column;gap:var(--space-xs, .25rem)}.b-fasting__status h1{font-size:1.75rem;font-weight:600;color:var(--text-primary, #1f2937);margin:0}.b-fasting__community{background:none;border:none;padding:0;color:var(--color-accent, #f87171);font-size:.875rem;cursor:pointer;text-align:left}.b-fasting__community span{font-weight:600}.b-fasting__type{display:flex;align-items:center;background-color:var(--color-background-alt, #f3f4f6);padding:var(--space-sm) var(--space-xl);font-size:1rem;border-radius:999px;align-self:center;position:relative;cursor:pointer;transition:all var(--transition, .2s)}.b-fasting__type.is-disabled{opacity:.6;cursor:not-allowed}.b-fasting__type.is-disabled .b-fasting__edit{cursor:not-allowed}.b-fasting__type span{font-size:.875rem;font-weight:600;color:var(--text-primary, #1f2937)}.b-fasting__edit{background:none;border:none;padding:var(--space-xs, .25rem);color:var(--text-secondary, #4b5563);cursor:pointer;display:flex;align-items:center}.b-fasting__timer{display:flex;flex-direction:column;align-items:center;padding:var(--space-md, 1rem) 0}.b-fasting__progress{position:relative;width:280px;height:280px}.b-fasting__progress-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;mask:radial-gradient(transparent 62%,black 62.5%);-webkit-mask:radial-gradient(transparent 62%,black 62.5%);transform:rotate(-90deg)}.b-fasting__glow-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;opacity:0;pointer-events:none}.b-fasting__glow-ring.is-near-goal{animation:glow 2s ease-in-out infinite;opacity:1;box-shadow:0 0 12px #f87171}.b-fasting__milestone{position:absolute;bottom:10%;left:10%;width:32px;height:32px;background:var(--color-background, #ffffff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 2px 4px #0000001a;transform:rotate(-45deg)}.b-fasting__content{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;padding:var(--space-xl)}.b-fasting__content span{color:var(--text-secondary, #4b5563);font-size:.875rem}.b-fasting__time{font-size:3rem;font-weight:700;color:var(--text-primary, #1f2937);font-variant-numeric:tabular-nums;margin:0;line-height:1}.b-fasting__start,.b-fasting__end{margin:0;padding:var(--space-sm) var(--space-xl);font-size:1rem}.b-fasting__end{background:none;border:1px solid var(--color-accent, #f87171);color:var(--color-accent, #f87171);font-weight:500;padding:var(--space-xs, .25rem) var(--space-lg, 1.5rem);border-radius:999px;cursor:pointer;transition:all .2s ease}.b-fasting__end:hover{background-color:var(--color-accent, #f87171);color:#fff}.b-fasting__times{display:flex;justify-content:space-between;width:100%;padding:0 var(--space-md, 1rem)}.b-fasting__time-group{display:flex;flex-direction:column;gap:var(--space-xs, .25rem)}.b-fasting__time-label{color:var(--text-secondary, #4b5563);font-size:.875rem}.b-fasting__time-value{display:flex;align-items:center;gap:var(--space-xs, .25rem);color:var(--text-primary, #1f2937)}.b-fasting__time-edit{background:none;border:none;padding:var(--space-xs, .25rem);color:var(--color-accent, #f87171);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto}.b-fasting__time-edit:hover{color:var(--color-accent-dark, #ef4444)}.b-fasting__time-edit:disabled{opacity:.5;cursor:not-allowed}.u-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.b-fasting__type-selector{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:var(--space-xs, .25rem);background-color:var(--color-background, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:var(--border-radius, .5rem);box-shadow:0 2px 4px #0000001a;padding:var(--space-xs, .25rem);z-index:10;min-width:120px}.b-fasting__type-option{display:block;width:100%;padding:var(--space-sm, .5rem) var(--space-md, 1rem);text-align:center;background:none;border:none;border-radius:var(--border-radius, .375rem);cursor:pointer;transition:all var(--transition, .2s);color:var(--color-text, #1f2937)}.b-fasting__type-option:hover{background-color:var(--color-background-alt, #f3f4f6)}.b-fasting__type-option.is-active{background-color:var(--color-primary, #646cff);color:#fff}.b-fasting__start{background:none;border:1px solid var(--color-primary, #646cff);color:var(--color-primary, #646cff);font-weight:500;padding:var(--space-xs, .25rem) var(--space-lg, 1.5rem);border-radius:999px;cursor:pointer;transition:all .2s ease}.b-fasting__start:hover{background-color:var(--color-primary, #646cff);color:#fff}.b-fasting__time-input{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-background);transition:all var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.b-fasting__time-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb1a}.b-fasting__time-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6;transition:opacity var(--transition)}.b-fasting__time-input::-webkit-calendar-picker-indicator:hover{opacity:1}.b-modal{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--space-md);padding-bottom:30vh}.b-modal__overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.b-modal__container{position:relative;width:100%;max-width:500px;background-color:var(--color-background);border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1}.b-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border)}.b-modal__title{font-size:var(--font-size-lg);font-weight:600;margin:0}.b-modal__close{padding:var(--space-xs);color:var(--color-text-light);transition:color var(--transition);display:flex;align-items:center;justify-content:center}.b-modal__close:hover{color:var(--color-text)}.b-modal__content{padding:var(--space-md)}.b-fasting__history{margin-top:1rem;background:var(--color-background);border-radius:var(--border-radius);width:100%}.b-fasting__history-header{display:flex;align-items:center;justify-content:center;margin-bottom:.5rem;padding:0 1rem}.b-fasting__history-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.b-fasting__history-nav{display:flex;align-items:center;gap:1rem}.b-fasting__history-nav-button{background:none;border:none;padding:.5rem;color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius);transition:all var(--transition)}.b-fasting__history-nav-button:hover{background:var(--color-background-alt);color:var(--color-primary)}.b-fasting__history-nav-date{font-weight:500;color:var(--color-text);min-width:200px;text-align:center;font-size:1rem}.b-fasting__calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--color-border);padding:1px;width:100%}.b-fasting__calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;margin-bottom:1px;padding:0 1px}.b-fasting__calendar-day-name{text-align:center;font-weight:500;color:var(--color-text-light);font-size:.875rem;padding:.5rem 0}.b-fasting__calendar-cell{position:relative;background:#fff;width:100%;height:0;padding-bottom:100%;cursor:pointer;transition:all var(--transition)}.b-fasting__calendar-cell:hover{background-color:var(--color-background-alt)}.b-fasting__calendar-cell.is-selected{border:2px solid var(--color-text)}.b-fasting__calendar-cell.is-other-month{opacity:.5;background:var(--color-background-alt)}.b-fasting__calendar-cell.is-today{box-shadow:inset 0 0 0 2px var(--today-border-color, var(--color-primary))}.b-fasting__calendar-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(52,211,153,var(--fast-opacity, 0));pointer-events:none}.b-fasting__calendar-cell-content{position:absolute;top:.5rem;left:.5rem;right:.5rem;bottom:.5rem;display:flex;flex-direction:column}.b-fasting__calendar-date{font-size:.875rem;font-weight:500;color:var(--color-text-light);text-align:center}.b-fasting__calendar-workout{display:flex;align-items:center;justify-content:center;flex:1;margin-top:-.25rem}.b-fasting__calendar-sessions{display:flex;flex-direction:column;gap:2px;overflow-y:auto;flex:1}.b-fasting__calendar-session{font-size:.75rem;padding:2px 4px;border-radius:2px;color:#fff;background:var(--color-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:all var(--transition);line-height:1.2}.b-fasting__calendar-session:hover{filter:brightness(1.1)}.b-fasting__calendar-session.is-active{background:var(--color-primary);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.b-fasting__calendar-session.is-success{background:var(--color-success)}.b-fasting__calendar-session.is-incomplete{background:var(--color-error)}.b-workout-category__add{margin-top:var(--space-md)}.b-exercise-selector{position:relative;width:100%}.b-exercise-selector__input{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base)}.b-exercise-selector__input:focus{outline:none;border-color:var(--color-primary)}.b-exercise-selector__dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.b-exercise-selector__option{width:100%;padding:var(--space-sm);border:none;background:none;text-align:left;color:var(--color-text);cursor:pointer;transition:all var(--transition)}.b-exercise-selector__option:hover{background:var(--color-background-alt);color:var(--color-primary)}.u-pt-xl{padding-top:var(--space-md)}.b-workout-selection{max-width:400px;margin:0 auto;text-align:center}.b-workout-selection__title{font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:var(--space-xl)}.b-workout-selection__buttons{display:flex;gap:var(--space-lg);justify-content:center}.b-workout-selection__buttons .u-btn{min-width:120px}.b-workout-selection__buttons .u-btn.is-suggested{border:2px solid var(--color-primary);box-shadow:0 0 0 2px #646cff33}.b-workout-selection__buttons .u-btn:not(.is-suggested){opacity:.8}.b-workout-save{padding:0 var(--space-sm);margin-top:var(--space-md)}.b-workout-save__button{width:100%;padding:var(--space-md);background-color:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--border-radius);font-weight:500;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm)}.b-workout-save__button:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.b-workout-save__button:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glow{0%,to{opacity:.4;box-shadow:0 0 12px #f87171}50%{opacity:.6;box-shadow:0 0 16px #f87171}}.b-workout-date{margin-bottom:var(--space-sm);padding:0 var(--space-sm)}.b-workout-date__container{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text)}.b-workout-date__display{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);background:var(--color-background-alt);border:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition);width:60%;justify-content:center}.b-workout-date__display:hover{filter:brightness(.95)}.b-workout-date__type{display:flex;align-items:center;justify-content:flex-start;font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);background:var(--color-background-alt);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius);width:40%;position:relative}.b-workout-date__type-button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);font-size:var(--font-size-lg);font-weight:500;color:var(--color-text);background:none;border:none;padding:0;cursor:pointer;width:100%;outline:none;-webkit-tap-highlight-color:transparent}.b-workout-date__type-button:focus{outline:none}.b-workout-date__type-button svg{color:var(--color-text-light);transition:all var(--transition);margin-left:auto}.b-workout-date__type-button:hover svg{color:var(--color-primary);transform:translateY(2px)}.b-workout-date__type-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-xs);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 2px 4px #0000001a;overflow:hidden;z-index:10}.b-workout-date__type-option{width:100%;padding:var(--space-sm);border:none;background:none;text-align:left;color:var(--color-text);cursor:pointer;transition:all var(--transition);font-size:var(--font-size-base);font-weight:400}.b-workout-date__type-option:hover{background:var(--color-background-alt);color:var(--color-primary)}.b-workout-date__type-option.is-active{color:var(--color-primary);font-weight:500;background:var(--color-background-alt)}.b-workout-date__type-option.is-active:hover{background:var(--color-background-alt);color:var(--color-primary)}.b-workout-date__input{width:60%;font-size:var(--font-size-lg);font-weight:500;padding:var(--space-xs) var(--space-sm);border:none;border-radius:var(--border-radius);background-color:#34d3991a;color:var(--color-text);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.b-workout-date__input:focus{outline:none;border:none;box-shadow:none}.b-workout-reps-modal{display:flex;flex-direction:column;gap:var(--space-lg)}.b-workout-reps-modal__input{width:100%;padding:var(--space-xl);border:1px solid var(--color-border);border-radius:var(--border-radius);font-size:3rem;text-align:center;color:var(--color-text);background-color:var(--color-background);transition:all var(--transition);-webkit-appearance:none;-moz-appearance:none;appearance:none}.b-workout-reps-modal__input:focus{outline:none;border-color:var(--color-border)}.b-workout-reps-modal__actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);width:100%}.b-workout-reps-modal__button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md);border-radius:var(--border-radius);font-weight:500;transition:all var(--transition);cursor:pointer;border:1px solid transparent}.b-workout-reps-modal__button--secondary{background-color:var(--color-background-alt);color:var(--color-text);border-color:var(--color-border)}.b-workout-reps-modal__button--secondary:hover{background-color:var(--color-border)}.b-workout-reps-modal__button--primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.b-workout-reps-modal__button--primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.b-workout-set__reps-button{width:100%;padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-base);text-align:center;cursor:pointer;transition:all var(--transition)}.b-workout-set__reps-button:hover{border-color:var(--color-primary);background-color:var(--color-background-alt)}.b-workout-set__reps-button.is-completed{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.b-workout-set__reps-button.is-completed:hover{filter:brightness(1.1)}.b-fasting__modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);width:100%;margin-top:var(--space-md)}.b-fasting__modal-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md);border-radius:var(--border-radius);font-weight:500;transition:all var(--transition);cursor:pointer;border:1px solid transparent}.b-fasting__modal-button--secondary{background-color:var(--color-background-alt);color:var(--color-text);border-color:var(--color-border)}.b-fasting__modal-button--secondary:hover{background-color:var(--color-border)}.b-fasting__modal-button--primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.b-fasting__modal-button--primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.b-fasting__details{margin-top:var(--space-md);padding:var(--space-md);background:var(--color-background);border-radius:var(--border-radius);border:1px solid var(--color-border);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.b-fasting__details-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--space-md) 0}.b-fasting__details-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.b-fasting__details-hours{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.b-fasting__details-hours-value{font-size:2.5rem;font-weight:700;color:var(--color-text);line-height:1;text-align:center;font-variant-numeric:tabular-nums}.b-fasting__details-hours-label{font-size:var(--font-size-sm);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em}.b-fasting__session{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm);background:var(--color-background-alt);border-radius:var(--border-radius)}.b-fasting__session-time{font-weight:500;color:var(--color-text)}.b-fasting__session-duration{color:var(--color-text-light);font-size:var(--font-size-sm)}.b-fasting__no-sessions{text-align:center;color:var(--color-text-light);padding:var(--space-md);background:var(--color-background-alt);border-radius:var(--border-radius);font-size:var(--font-size-sm)}.b-fasting__timeline{display:flex;flex-direction:column;width:100%;background:var(--color-background);border-radius:var(--border-radius);padding:1rem}.b-fasting__timeline-periods:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to right,var(--color-border) 0 1px,transparent 1px 25%);opacity:.3;pointer-events:none;border-radius:inherit}.b-fasting__timeline-periods:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(to right,transparent calc(50% - 1px),rgba(75,85,99,.5) calc(50% - 1px),rgba(75,85,99,.5) calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(to right,transparent calc(83.33% - 1px),rgba(75,85,99,.5) calc(83.33% - 1px),rgba(75,85,99,.5) calc(83.33% + 1px),transparent calc(83.33% + 1px));pointer-events:none;border-radius:inherit}.b-fasting__timeline-days{display:flex;flex-direction:column;gap:.75rem}.b-fasting__timeline-day{display:flex;align-items:center;height:40px;cursor:pointer;transition:background-color var(--transition);border-radius:var(--border-radius);padding:.25rem}.b-fasting__timeline-day:hover,.b-fasting__timeline-day.is-today{background-color:var(--color-background-alt)}.b-fasting__timeline-day.is-selected{background-color:var(--color-background-alt);outline:2px solid var(--color-primary)}.b-fasting__timeline-day-label{width:120px;display:flex;align-items:center;gap:.5rem;padding-right:1rem}.b-fasting__timeline-day-name{font-weight:500;color:var(--color-text);width:40px}.b-fasting__timeline-day-date{color:var(--color-text-light);font-size:.875rem}.b-fasting__timeline-workout{margin-left:auto;color:var(--color-text-light)}.b-fasting__timeline-periods{position:relative;flex:1;height:100%;background:var(--color-background-alt);border-radius:var(--border-radius)}.b-fasting__timeline-period{position:absolute;top:4px;bottom:4px;background:var(--color-success, #34d399);border-radius:4px;transition:opacity var(--transition)}.b-fasting__timeline-period:hover{opacity:.8}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-width:320px;min-height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}input{color:#213547;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.6em 1.2em}input:focus{outline:none;border-color:#646cff;box-shadow:0 0 0 2px #646cff33}
