.login{max-width:440px;min-height:100dvh;padding:max(40px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:24px;margin:0 auto;display:flex}.login__brand{text-align:center;flex-direction:column;align-items:center;gap:6px;margin-top:4vh;display:flex}.login__brand img{box-shadow:var(--shadow);border-radius:18px}.login__brand h1{letter-spacing:-.02em;margin:10px 0 0;font-size:1.75rem;font-weight:700}.login__brand p{max-width:28ch;color:var(--text-muted);margin:0;line-height:1.45}.login__card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);padding:20px}.login__skip{text-align:center}.login__skip button{color:var(--accent-text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:10px 16px;font-weight:650}.login__skip p{max-width:32ch;color:var(--text-muted);margin:4px auto 0;font-size:.8rem;line-height:1.4}.auth{flex-direction:column;gap:14px;display:flex}.auth__tabs{background:var(--surface-2);border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.auth__tabs button{height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;font-weight:600}.auth__tabs button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #00000014}.auth__intro{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--text-muted);font-size:.8rem;font-weight:600}.field input{border:1px solid var(--border);background:var(--surface-2);width:100%;height:50px;color:var(--text);font:inherit;border-radius:12px;padding:0 14px;font-size:1rem}.field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field input:disabled{opacity:.6}.field__password{position:relative}.field__password input{padding-right:76px}.field__toggle{height:36px;color:var(--accent-text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 12px;font-size:.85rem;font-weight:600;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.field__code{text-align:center;letter-spacing:.3em;font-weight:700;font-size:1.4rem!important}.auth__notice,.auth__error{border-radius:12px;margin:0;padding:10px 12px;font-size:.875rem;line-height:1.4}.auth__notice{background:var(--accent-soft)}.auth__error{background:var(--danger-soft)}.auth__links{flex-direction:column;align-items:center;gap:2px;display:flex}.auth__links button{color:var(--accent-text);cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:.875rem;font-weight:600}.account{flex-direction:column;gap:12px;padding-bottom:84px;display:flex}.account__card{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px;display:flex}.account__card h3{margin:0;font-size:1.05rem}.account__card p{margin:0;line-height:1.45}.account__card code{background:var(--surface-2);border-radius:4px;padding:1px 4px;font-size:.85em}.account__hint{color:var(--text-muted);font-size:.8rem}.account__input{border:1px solid var(--border);background:var(--surface-2);height:48px;color:var(--text);font:inherit;border-radius:12px;padding:0 14px}.account__input:focus{outline:2px solid var(--accent);outline-offset:-1px}.account__input--code{text-align:center;letter-spacing:.3em;font-size:1.4rem;font-weight:700}.account__error{background:var(--danger-soft);border-radius:10px;padding:10px 12px;font-size:.875rem}.account__status{flex-direction:column;gap:8px;margin:0;display:flex}.account__status div{justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.account__status dt{color:var(--text-muted)}.account__status dd{align-items:center;gap:6px;margin:0;font-weight:600;display:flex}.setting{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.cal{flex-direction:column;gap:10px;display:flex}.cal__header{grid-template-columns:40px 1fr 40px auto;align-items:center;gap:4px;display:grid}.cal__title{text-align:center;margin:0;font-size:1.1rem;font-weight:650}.cal__nav,.cal__today{background:var(--surface-2);cursor:pointer;border:none;border-radius:12px;height:40px}.cal__nav{font-size:1.4rem;line-height:1}.cal__today{margin-left:6px;padding:0 12px;font-size:.875rem;font-weight:600}.cal__today:disabled{opacity:.45;cursor:default}.cal__stats{color:var(--text-muted);text-align:center;margin:0;font-size:.85rem}.cal__stats strong{color:var(--text);font-variant-numeric:tabular-nums}.cal__weekdays,.cal__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal__weekdays span{text-align:center;color:var(--text-muted);font-size:.75rem;font-weight:600}.cal__grid{touch-action:pan-y;-webkit-user-select:none;user-select:none}.cal__day{aspect-ratio:1;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:1.5px solid #0000;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:40px;transition:background-color .12s,border-color .12s;display:flex;position:relative}.cal__day:hover{background:var(--surface-2)}.cal__day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal__num{font-size:.95rem;line-height:1}.cal__day.is-outside{opacity:.35}.cal__day.has-workout{background:var(--accent-soft)}.cal__day.has-workout .cal__num{color:var(--accent-text);font-weight:650}.cal__day.is-planned{border:1.5px dashed color-mix(in srgb, var(--accent) 45%, transparent)}.cal__day.is-today .cal__num{color:var(--accent-text);font-weight:750}.cal__day.is-today:after{content:"";border:1.5px solid var(--accent);pointer-events:none;border-radius:50%;position:absolute;inset:1px}.cal__day.is-selected{background:var(--accent);border-color:#0000}.cal__day.is-selected .cal__num{color:var(--accent-contrast);font-weight:700}.cal__day.is-selected:after{display:none}.cal__dots{gap:3px;height:6px;display:flex}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dot--push{background:var(--push)}.dot--pull{background:var(--pull)}.dot--legs{background:var(--legs)}.cal__day.is-selected .dot{box-shadow:0 0 0 1.5px var(--accent-contrast)}.cal__legend{color:var(--text-muted);justify-content:center;gap:16px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.cal__legend li{align-items:center;gap:6px;display:flex}.day{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);min-height:96px;margin-top:8px;padding:16px}.day__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day__log{min-height:40px;padding:0 14px}.day__header h3{margin:0;font-size:1rem}.day__meta{color:var(--text-muted);margin:4px 0 0;font-size:.8rem}.day__empty{color:var(--text-muted);margin:14px 0 4px;font-size:.9rem}.day__list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.ex{--split:var(--accent);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--split);border-radius:14px;padding:10px 12px 10px 15px}.ex--push{--split:var(--push)}.ex--pull{--split:var(--pull)}.ex--legs{--split:var(--legs)}.ex__head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.ex__name{font-size:.95rem;font-weight:650}.ex__part{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.ex__sets{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:6px;font-size:.875rem}.ex__sets th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:2px 0;font-size:.7rem;font-weight:500}.ex__sets td{border-top:1px solid var(--border);padding:3px 0}.ex__sets th:first-child,.ex__sets td:first-child{width:3.5em}.ex__sets th:last-child,.ex__sets td:last-child{text-align:right}.ex__sets tr.is-warmup td{color:var(--text-muted)}.ex__sets tr.is-warmup td:first-child{color:#d97706;font-weight:700}.ex__sets tr.is-pending td{opacity:.5}.ex__1rm{color:var(--text-muted);text-align:right;margin:6px 0 0;font-size:.75rem}.cal__mode{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-self:center;padding:2px;display:flex}.cal__mode button{color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 18px;font-size:.85rem;font-weight:600}.cal__mode button.is-active{background:var(--accent);color:var(--accent-contrast)}.week{touch-action:pan-y;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.week__day{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);text-align:left;font:inherit;cursor:pointer;border-radius:12px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:grid}.week__day.has-workout{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.week__day.is-planned{border:1.5px dashed color-mix(in srgb, var(--accent) 55%, transparent)}.week__day.is-selected{outline:2px solid var(--accent);outline-offset:1px}.week__date{flex-direction:column;align-items:center;line-height:1.1;display:flex}.week__date span{text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:600}.week__date b{font-variant-numeric:tabular-nums;font-size:1.25rem}.week__day.is-today .week__date span,.week__day.is-today .week__date b{color:var(--accent)}.week__body{flex-direction:column;min-width:0;display:flex}.week__names{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.week__body small{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.week__rest{color:var(--text-muted);font-size:.9rem}.ex__alt{color:var(--text-muted);font-size:.75rem}.sheet{background:var(--surface);width:min(480px,100%);max-width:100%;max-height:85dvh;color:var(--text);border:none;border-radius:18px 18px 0 0;margin:auto auto 0;padding:0}.sheet::backdrop{background:#00000073}.sheet[open]{animation:.18s ease-out sheet-in}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}.sheet__body{max-height:85dvh;padding:14px 16px max(16px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.sheet__header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.sheet__header h2{margin:0;font-size:1.05rem}.sheet__close{background:var(--surface-2);cursor:pointer;border:none;border-radius:50%;width:36px;height:36px}.logger{flex-direction:column;gap:12px;padding-bottom:84px;display:flex}.logger__header{z-index:5;background:var(--bg);grid-template-columns:40px 1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid;position:sticky;top:0}.logger__back,.logger__rest{background:var(--surface);height:40px;box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:12px}.logger__back{font-size:1.4rem;line-height:1}.logger__tools{gap:6px;display:flex}.logger__rest.is-active{background:var(--accent-soft);color:var(--accent-text)}.logger__rest{font-variant-numeric:tabular-nums;padding:0 12px;font-weight:650}.logger__title h2{margin:0;font-size:1.05rem}.logger__title p{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.8rem}.logger__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.logger__loading{min-height:120px}.logger__add{grid-template-columns:1fr 1fr;gap:8px;display:grid}.logger__notice{background:color-mix(in srgb, var(--accent) 14%, var(--surface));border-radius:12px;margin:0;padding:10px 12px;font-size:.875rem}.routine-pick{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.routine-pick__item{background:var(--surface-2);text-align:left;cursor:pointer;border:none;border-radius:14px;flex-direction:column;gap:2px;width:100%;padding:12px;font-weight:650;display:flex}.routine-pick__item small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:400;overflow:hidden}.routine-pick__item:disabled{opacity:.45;cursor:default}.logger__empty{text-align:center;color:var(--text-muted);margin:24px 0 0}.log-ex{--split:var(--accent);background:var(--surface);border-radius:var(--radius-lg);box-shadow:inset 3px 0 0 var(--split), var(--shadow);border:none;padding:14px 14px 14px 17px;scroll-margin-top:70px}.log-ex.ex--push{--split:var(--push)}.log-ex.ex--pull{--split:var(--pull)}.log-ex.ex--legs{--split:var(--legs)}.log-ex__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.log-ex__head h3{margin:0;font-size:1rem}.log-ex__part{color:var(--text-muted);font-size:.75rem}.log-ex__remove{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:1.2rem}.log-ex__prev{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:6px 0 8px;font-size:.8rem}.log-ex__skip{color:var(--text-muted);cursor:pointer;background:0 0;border:none;margin:8px auto 0;padding:6px 10px;font-size:.8rem;text-decoration:underline;display:block}.log-ex__1rm{color:var(--text-muted);text-align:right;margin:8px 0 0;font-size:.75rem}.log-sets{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.log-set{background:var(--surface-2);border-radius:10px;align-items:center;gap:6px;display:flex}.log-set.is-editing{outline:2px solid var(--accent)}.log-set__main{text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;flex:1;align-items:center;gap:12px;min-height:42px;padding:0 12px;display:flex}.log-set__n{width:1.5em;color:var(--text-muted);font-size:.85rem}.log-set__val{font-weight:600}.log-set.is-pending .log-set__val{opacity:.55}.log-set.is-next{outline:1.5px dashed var(--accent)}.log-set.is-next .log-set__val{opacity:1}.log-set__check{border:1.5px solid var(--border);color:#0000;cursor:pointer;background:0 0;border-radius:10px;width:42px;height:42px;font-weight:800}.log-set__del{width:34px;height:42px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;font-size:1.3rem;line-height:1}.log-set__del:hover,.log-set__del:focus-visible{color:#dc2626;background:#dc26261f}.log-set__check[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.log-mode{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:8px;font-size:.75rem;display:flex}.log-mode .chip{height:32px;padding:0 12px;font-size:.8rem}.log-set.is-warmup .log-set__n{color:#d97706;font-weight:700}.log-set.is-warmup .log-set__val{color:var(--text-muted);font-weight:500}.log-entry{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stepper__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:.7rem;font-weight:600;display:block}.stepper__label small{text-transform:none;font-weight:500}.stepper__label{align-items:center;gap:6px;display:flex}.stepper__unit{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;font:inherit;text-transform:none;border-radius:999px;padding:1px;display:inline-flex}.stepper__unit span{color:var(--text-muted);border-radius:999px;padding:1px 7px}.stepper__unit span.is-on{background:var(--accent);color:var(--accent-contrast)}.stepper__hint{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;margin-top:3px;font-size:.75rem;display:block}.stepper__row{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;grid-template-columns:44px 1fr 44px;height:48px;display:grid;overflow:hidden;border-color:#0000!important}.stepper__row button{cursor:pointer;background:0 0;border:none;font-size:1.3rem}.stepper__row button:active{background:var(--border)}.stepper__row input{min-width:0;color:var(--text);text-align:center;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;font-size:1.15rem;font-weight:700}.stepper__row input:focus{outline:none}.stepper__row:focus-within{border-color:var(--accent)!important}.log-move{color:var(--text-muted);align-items:center;gap:8px;margin-top:10px;font-size:.85rem;display:flex}.log-move span{flex:1}.log-move .btn{padding-inline:12px}.log-actions{gap:8px;margin-top:10px;display:flex}.log-actions .btn{flex:1}.picker__search{background:var(--surface-2);width:100%;height:44px;color:var(--text);font:inherit;border:1px solid #0000;border-radius:12px;padding:0 12px}.picker__list{margin-top:10px;overflow-y:auto}.picker__list ul{margin:0;padding:0;list-style:none}.picker__group{text-transform:uppercase;letter-spacing:.06em;margin:12px 0 4px;font-size:.75rem}.picker__group--push{color:var(--push)}.picker__group--pull{color:var(--pull)}.picker__group--legs{color:var(--legs)}.picker__item{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 4px;display:flex}.picker__item small{color:var(--text-muted);white-space:nowrap}.picker__item:disabled{opacity:.45;cursor:default}.picker__create{border:1px dashed var(--accent);height:42px;color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;margin-top:8px;font-weight:650}.picker__form{flex-direction:column;gap:12px;display:flex}.picker__form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;display:flex}.picker__choice{border:none;margin:0;padding:0}.picker__choice legend{color:var(--text-muted);margin-bottom:6px;padding:0;font-size:.75rem;font-weight:600}.picker__choice div{flex-wrap:wrap;gap:6px;display:flex}.picker__choice .chip{height:38px;padding:0 14px}.picker__split:before{content:"";vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.picker__split--push:before{background:var(--push)}.picker__split--pull:before{background:var(--pull)}.picker__split--legs:before{background:var(--legs)}.picker__split.is-active:before{box-shadow:0 0 0 2px var(--accent-contrast)}.picker__hint{color:var(--text-muted);margin:0;font-size:.8rem}.picker__error{background:color-mix(in srgb, #dc2626 12%, var(--surface));border-radius:10px;margin:0;padding:8px 10px;font-size:.85rem}.picker__empty{color:var(--text-muted)}.rest-settings__hint{color:var(--text-muted);margin:0 0 12px;font-size:.85rem}.rest-settings__chips{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.rest-settings__chips .chip{font-variant-numeric:tabular-nums;border-radius:12px;height:42px;padding:0}.rest-settings__toggle{align-items:center;gap:10px;margin-bottom:14px;font-size:.9rem;display:flex}.rest-settings__toggle input{width:20px;height:20px;accent-color:var(--accent)}.chart{touch-action:pan-y;border-radius:10px;width:100%;position:relative}.chart:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.chart svg{display:block;overflow:visible}.chart__grid{stroke:var(--border);stroke-width:1px;shape-rendering:crispedges}.chart__tick{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:11px}.chart__label{fill:var(--text);font-size:12px;font-weight:650}.chart__mark{transition:opacity .12s}.chart__mark.is-dim{opacity:.4}.chart__line{fill:none;stroke:var(--series,var(--accent));stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__dot{fill:var(--series,var(--accent));stroke:var(--surface);stroke-width:2px}.chart__crosshair{stroke:var(--text-muted);stroke-width:1px;shape-rendering:crispedges}.chart__tooltip{background:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:6px 10px;font-size:.75rem;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 6px 18px #0003}.chart__tooltip strong{font-size:.95rem}.chart__tooltip span{opacity:.8}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.chart-legend li{align-items:center;gap:6px;display:flex}.chart-legend i{border-radius:2px;width:10px;height:10px}.ring{flex:none;width:132px;height:132px;margin:0;position:relative}.ring svg{display:block}.ring__track{fill:none;stroke:var(--border)}.ring__arc{fill:none;transition:stroke-dasharray .4s ease-out}.ring__center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring__center strong{font-size:1.6rem;font-weight:800;line-height:1}.ring__center span{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-top:4px;font-size:.65rem}.progress{flex-direction:column;gap:14px;display:flex}.progress__view{flex-direction:column;gap:14px;transition:opacity .12s;display:flex}.progress__view.is-stale{opacity:.5}.segmented{background:var(--surface-2);border-radius:14px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button{height:38px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;font-weight:600}.segmented button[aria-selected=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.progress .filters{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.progress .chip{flex:none}.select select{background:var(--surface-2);max-width:100%;height:42px;color:var(--text);font:inherit;border:none;border-radius:12px;padding:0 12px;font-weight:600}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero{flex-direction:column;gap:2px;padding:6px 2px 0;display:flex}.hero__label{color:var(--text-muted);font-size:.8rem;font-weight:600}.hero__value{letter-spacing:-.03em;color:var(--text);font-size:2.75rem;font-weight:700;line-height:1.1}.hero__sub{color:var(--text-muted);font-size:.875rem}.panel{border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow);flex-direction:column;gap:12px;padding:16px 14px 14px;display:flex}.panel__header h3{margin:0;font-size:.95rem;font-weight:650}.panel__header p{color:var(--text-muted);margin:2px 0 0;font-size:.75rem}.panel__empty{text-align:center;color:var(--text-muted);margin:20px 0}.split-ring{align-items:center;gap:16px;display:flex}.split-ring__legend{flex-direction:column;flex:1;gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.split-ring__legend li{grid-template-columns:10px 1fr auto;align-items:center;column-gap:8px;display:grid}.split-ring__legend i{border-radius:3px;width:10px;height:10px}.split-ring__name{font-size:.9rem;font-weight:600}.split-ring__pct{font-weight:700}.split-ring__kg{color:var(--text-muted);font-variant-numeric:tabular-nums;grid-column:2/-1;font-size:.75rem}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats--column{flex:1;grid-template-columns:1fr}.stat{background:var(--surface-2);border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:10px 12px;display:flex}.stat__label{color:var(--text-muted);font-size:.72rem}.stat__value{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:650;overflow:hidden}.data-table summary{color:var(--text-muted);cursor:pointer;font-size:.8rem}.data-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:8px;font-size:.8rem}.data-table th{text-align:left;color:var(--text-muted);padding:4px 0;font-weight:500}.data-table td{border-top:1px solid var(--border);padding:4px 0}.data-table th:last-child,.data-table td:last-child{text-align:right}.routines{flex-direction:column;gap:12px;padding-bottom:84px;display:flex}.screen-header{grid-template-columns:40px 1fr;align-items:center;gap:8px;padding:8px 0;display:grid}.screen-header h2{margin:0;font-size:1.15rem}.screen-header__back{background:var(--surface);height:40px;box-shadow:var(--shadow);cursor:pointer;border:none;border-radius:12px;font-size:1.4rem;line-height:1}.routines__empty{color:var(--text-muted);text-align:center;margin:16px 0}.routines__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.routine-card{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow);background:var(--surface);text-align:left;cursor:pointer;border:none;grid-template-columns:1fr auto;gap:4px 8px;padding:14px;display:grid}.routine-card__name{font-weight:700}.routine-card__count{color:var(--text-muted);font-size:.8rem}.routine-card__preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:.8rem;overflow:hidden}.routine-name{min-width:0;height:40px;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;border-radius:10px;padding:0 10px;font-size:1.15rem;font-weight:700}.routine-name:hover,.routine-name:focus{border-color:var(--border);background:var(--surface);outline:none}.routine-items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.routine-item{--split:var(--accent);background:var(--surface);box-shadow:inset 3px 0 0 var(--split), var(--shadow);border-radius:14px;align-items:center;gap:10px;padding:8px 8px 8px 15px;display:flex}.routine-item--push{--split:var(--push)}.routine-item--pull{--split:var(--pull)}.routine-item--legs{--split:var(--legs)}.routine-item__n{width:1.4em;color:var(--text-muted);font-variant-numeric:tabular-nums}.routine-item__text{flex-direction:column;flex:1;min-width:0;display:flex}.routine-item__text small{color:var(--text-muted);font-size:.75rem}.routine-item__actions{gap:4px;display:flex}.routine-item__actions button{background:var(--surface-2);cursor:pointer;border:none;border-radius:8px;width:36px;height:36px}.routine-item__actions button:disabled{opacity:.3;cursor:default}.rest{left:50%;bottom:max(12px, env(safe-area-inset-bottom));background:var(--surface);width:min(448px,100% - 24px);color:var(--text);box-shadow:0 8px 28px #00000029, 0 0 0 1px var(--border);z-index:20;border-radius:20px;align-items:center;gap:8px;padding:10px 12px;display:flex;position:fixed;overflow:hidden;transform:translate(-50%)}.rest__progress{background:var(--accent);transform-origin:0;height:4px;transition:transform .25s linear;position:absolute;inset:auto 0 0}.rest__clock{flex-direction:column;flex:1;align-items:center;line-height:1.1;display:flex}.rest__label{text-transform:uppercase;letter-spacing:.06em;opacity:.7;font-size:.7rem}.rest__time{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:750}.rest__btn{background:var(--surface-2);min-width:48px;height:40px;color:inherit;cursor:pointer;border:none;border-radius:10px;padding:0 10px;font-weight:650}.rest__btn--skip{background:var(--accent-soft);color:var(--accent-text)}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f6f4;--surface:#fff;--surface-2:#f0f2ef;--border:#e6e9e4;--text:#1d2421;--text-muted:#66716b;--accent:#2b7d60;--accent-contrast:#fff;--accent-text:#2b7d60;--accent-soft:#e3f1ea;--danger:#c2413a;--danger-soft:#fbe9e7;--warning:#b7791f;--push:#d9734e;--pull:#4f9bd0;--legs:#6f52a8;--radius:16px;--radius-lg:22px;--shadow:0 1px 2px #1d24210a, 0 4px 16px #1d24210f;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111513;--surface:#1a1f1c;--surface-2:#222824;--border:#2c332f;--text:#e6ebe8;--text-muted:#95a29a;--accent:#6cc39f;--accent-contrast:#0f2a1f;--accent-text:#7fd0ae;--accent-soft:#1f3a2f;--danger:#ef8a83;--danger-soft:#3a2422;--warning:#e0a84f;--push:#d9734e;--pull:#4f9bd0;--legs:#7e56b3;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;margin:0}button{font:inherit;color:inherit}.app{max-width:480px;padding:max(16px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom));margin:0 auto}.app--tabs{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.app--tabs .rest{bottom:calc(76px + env(safe-area-inset-bottom))}.splash{min-height:100dvh}.app__bar{margin:4px 0 18px}.app__bar p{color:var(--text-muted);margin:0;font-size:.85rem}.app__bar h1{letter-spacing:-.02em;margin:2px 0 0;font-size:1.6rem;font-weight:700}.screen-header.screen-header--tab{padding:4px 0 6px;display:block}.screen-header.screen-header--tab h2{letter-spacing:-.02em;margin:0;font-size:1.6rem;font-weight:700}.tabbar{z-index:15;max-width:480px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar__item{min-height:54px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:4px 0;display:flex}.tabbar__icon{border-radius:999px;place-items:center;width:56px;height:30px;transition:background-color .15s;display:grid;position:relative}.tabbar__item.is-active{color:var(--accent-text)}.tabbar__item.is-active .tabbar__icon{background:var(--accent-soft)}.tabbar__label{font-size:.72rem;font-weight:600}.tabbar__badge{width:8px;height:8px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:2px;right:14px}.status-dot{background:var(--text-muted);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot--idle{background:var(--accent)}.status-dot--syncing{background:var(--warning)}.status-dot--error{background:var(--danger)}.segmented-sm{background:var(--surface-2);border-radius:12px;grid-auto-flow:column;gap:2px;padding:3px;display:inline-grid}.segmented-sm button{height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;padding:0 12px;font-size:.85rem;font-weight:600}.segmented-sm button.is-active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.chip{background:var(--surface-2);height:36px;color:var(--text-muted);cursor:pointer;border:none;border-radius:999px;padding:0 14px;font-weight:600}.chip.is-active{background:var(--accent-soft);color:var(--accent-text)}.app__dev{color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:16px;font-size:.75rem;display:flex}.app__dev button{background:var(--surface-2);color:var(--text-muted);cursor:pointer;border:none;border-radius:999px;padding:4px 10px;font-size:.75rem}.btn{background:var(--surface-2);min-height:48px;color:var(--text);cursor:pointer;border:none;border-radius:14px;padding:0 18px;font-weight:600;transition:transform 80ms,background-color .12s}.btn:not(:disabled):active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--danger{color:var(--danger)}.btn--wide{width:100%}:where(button,input,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
