.modal{width:100%;max-width:var(--app-max-width);max-height:calc(100dvh - env(safe-area-inset-top,0px) - 20px);color:var(--text-1);background:0 0;border:0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:visible}.modal[open]{animation:modal-sheet-in var(--dur-base) var(--ease);flex-direction:column;display:flex}.modal::backdrop{background:var(--scrim)}.modal[open]::backdrop{animation:modal-scrim-in var(--dur-base) var(--ease)}.modal-sheet{background:var(--surface-2);border-radius:var(--radius-xl) var(--radius-xl) 0 0;min-height:0;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-sheet);flex-direction:column;flex:auto;display:flex}.modal-handle{background:var(--border-strong);border-radius:4px;flex:none;width:36px;height:4px;margin:4px auto 10px}.modal-header{align-items:center;gap:var(--sp-8);flex:none;display:flex}.modal-title{min-width:0;font:600 17px/22px var(--font-sans);color:var(--text-1);flex:1;margin:0}.modal-close{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min);color:var(--text-2);border-radius:var(--radius-md);background:0 0;flex:none;margin-left:auto;margin-right:-8px;padding:0}.modal-content{overscroll-behavior:contain;min-height:0;font:400 15px/22px var(--font-sans);color:var(--text-body);flex:auto;padding:4px 0 0;overflow-y:auto}.modal-content>:first-child{margin-top:0}.modal-content p{margin:0 0 var(--sp-16)}.modal-actions{gap:var(--sp-8);margin-top:var(--sp-8);flex-direction:column;display:flex}@keyframes modal-sheet-in{0%{transform:translateY(100%)}to{transform:none}}@keyframes modal-scrim-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.modal[open],.modal[open]::backdrop{animation:none}}.undo-toast-region{left:0;right:0;bottom:max(calc(var(--tabbar-height,0px) + 16px), calc(16px + env(safe-area-inset-bottom,0px)));z-index:1000;padding:0 var(--gutter);pointer-events:none;justify-content:center;display:flex;position:fixed}body[data-rest-bar] .undo-toast-region{bottom:calc(var(--rest-bar-bottom) + var(--rest-bar-height,68px) + 12px)}body[data-cta-bar] .undo-toast-region{bottom:calc(var(--cta-bar-height,0px) + var(--tabbar-height,0px) + 12px)}body dialog.modal>.undo-toast-region{bottom:min(calc(100% + 12px), calc(100dvh - env(safe-area-inset-top,0px) - 68px));position:absolute}.undo-toast{width:100%;max-width:calc(var(--app-max-width) - 2 * var(--gutter));background:var(--surface-2);min-height:56px;box-shadow:var(--shadow-float);font:400 15px/20px var(--font-sans);color:var(--text-1);pointer-events:auto;border-radius:14px;align-items:center;gap:12px;padding:8px 8px 8px 16px;display:flex}dialog.modal>.undo-toast-region .undo-toast{background:var(--surface-3)}.undo-toast-label{flex:1;min-width:0}.undo-toast-action{height:44px;min-height:44px;color:var(--accent-text);font:600 15px var(--font-sans);background:0 0;border-radius:10px;flex:none;padding:0 14px}.undo-toast-action:active:not(:disabled){background:var(--surface-3)}.chip{font-family:var(--font-sans);white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.chip--neutral{border-radius:var(--radius-pill);border:1px solid var(--border-strong);min-height:44px;color:var(--text-2);background:0 0;padding:0 14px;font-size:14px;font-weight:400}.chip--neutral.chip--active{background:var(--accent-soft);color:var(--accent-soft-text);border-color:#0000;font-weight:600}button.chip{cursor:pointer}.chip--equipment{background:var(--surface-2);height:22px;color:var(--text-2);border-radius:6px;padding:0 8px;font-size:12px}.chip--superset{border-radius:var(--radius-sm);background:var(--accent-soft);width:32px;height:32px;color:var(--accent-soft-text);font:600 13px var(--font-mono)}.chip--status{color:var(--done-soft-text);font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;gap:8px}.chip--status:before{content:"";background:var(--done-text);border-radius:50%;width:8px;height:8px}.segmented{grid-template-columns:repeat(var(--segments,2), minmax(0, 1fr));border-radius:var(--radius-md);background:var(--surface-2);gap:4px;padding:4px;display:grid}.segmented--on-bg{background:var(--surface-1)}.segmented__option{min-height:var(--tap-min);color:var(--text-2);font:500 14px var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:9px}.segmented__option[aria-checked=true]{background:var(--surface-selected);color:var(--text-1);font-weight:600}.stat-tile{border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat-tile--page{background:var(--surface-1)}.stat-tile--large{background:var(--surface-1);border:1px solid var(--border-card);border-radius:14px;padding:12px}.stat-tile__label{font:600 11px/14px var(--font-sans);color:var(--text-3)}.stat-tile__value{font:500 18px/24px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1)}.stat-tile--large .stat-tile__value{font-size:20px}.stat-tile__sub{font:400 13px/18px var(--font-sans);color:var(--text-3)}.stat-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.list-row{box-sizing:border-box;background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);width:100%;min-height:64px;color:var(--text-1);font-family:var(--font-sans);text-align:left;align-items:center;gap:12px;padding:0 16px;text-decoration:none;display:flex}button.list-row,a.list-row{cursor:pointer}.list-row__leading{flex:none;align-items:center;display:flex}.list-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-row__title{font:600 15px/20px var(--font-sans);color:var(--text-1)}.list-row__subtitle{font:400 13px/18px var(--font-sans);color:var(--text-3)}.list-row__trailing{font:400 13px var(--font-mono);color:var(--text-body);flex:none}.list-row__chevron{color:var(--text-3);flex:none}.section-header{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);justify-content:space-between;align-items:baseline;margin:0;display:flex}.section-header__aside{font:400 12px var(--font-mono);letter-spacing:0;text-transform:none}.empty-state{border:1.5px dashed var(--border-strong);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;display:flex}.empty-state__title{font:600 15px var(--font-sans);color:var(--text-1);margin:0}.empty-state__body{font:400 13px/1.45 var(--font-sans);color:var(--text-2);margin:0}.skeleton{background:var(--skeleton-1);border-radius:6px;display:block}.skeleton--sm{background:var(--skeleton-2)}.skeleton--card{background:var(--surface-2);border-radius:14px}.skeleton--pulse{animation:1.2s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.skeleton--pulse{animation:none}}.error-banner{background:var(--down-soft);color:var(--down-soft-text);font:400 13px/1.45 var(--font-sans);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.error-banner__icon{color:var(--down-text);flex:none;margin-top:2px}.error-banner__text{flex:1}.error-banner__action{min-height:var(--tap-min);color:var(--down-soft-text);font:600 13px var(--font-sans);cursor:pointer;background:0 0;border:0;padding:0 8px}.avatar{width:44px;height:44px;font:600 17px var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar--1{background:var(--avatar-1-bg);color:var(--avatar-1-fg)}.avatar--2{background:var(--avatar-2-bg);color:var(--avatar-2-fg)}.avatar--3{background:var(--avatar-3-bg);color:var(--avatar-3-fg)}.progress-bar{background:var(--surface-2);width:100%;height:3px;overflow:hidden}.progress-bar__fill{background:var(--done-text);height:100%;transition:width var(--dur-base) var(--ease)}.progress-bar--card{background:var(--done-soft-border);border-radius:4px;height:4px}.page-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-back{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-1);border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.btn-compact{background:var(--accent);min-height:40px;color:var(--text-on-solid);font:600 14px var(--font-sans);border:0;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;text-decoration:none;display:inline-flex}.btn-compact--secondary{background:var(--surface-2);color:var(--text-1)}.btn-icon{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn-add-dashed{border:1.5px dashed var(--border-strong);border-radius:var(--radius-lg);width:100%;min-height:52px;color:var(--accent-text);font:600 15px var(--font-sans);background:0 0;justify-content:center;align-items:center;gap:8px;display:flex}.list-row:focus-visible{outline-offset:-2px}.avatar-sheet{gap:var(--sp-8);flex-direction:column;display:flex}.avatar-sheet-profile{align-items:center;gap:12px;padding:4px 0 8px;display:flex}.avatar-sheet-hint{font:400 13px/18px var(--font-sans);color:var(--text-3)}.avatar-sheet-options{flex-direction:column;display:flex}.avatar-sheet-option{width:100%;min-height:48px;color:var(--text-1);font:400 15px/20px var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:0 12px;display:flex}.avatar-sheet-option svg{color:var(--text-2)}.avatar-sheet-option:active{background:var(--surface-3)}.avatar-sheet-option:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.tabbar{z-index:40;max-width:var(--app-max-width);padding:6px 4px max(10px, calc(env(safe-area-inset-bottom,0px) - 12px));background:var(--surface-nav);border-top:1px solid var(--hairline);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar__item{border-radius:var(--radius-md);height:56px;color:var(--text-3);font:500 11px/14px var(--font-sans);-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:4px;text-decoration:none;display:flex}.tabbar__item[aria-current=page]{color:var(--text-1);font-weight:600}.tabbar__item[aria-current=page] svg{color:var(--accent-text)}.tabbar__item:focus-visible{outline:2px solid var(--accent-text);outline-offset:-2px}.tabbar__icon{display:inline-flex;position:relative}.tabbar__live-dot{background:var(--done-text);border:2px solid var(--surface-nav);box-sizing:content-box;border-radius:8px;width:8px;height:8px;position:absolute;top:-2px;right:-4px}.app-header{max-width:var(--app-max-width);padding:calc(env(safe-area-inset-top,0px) + 8px) var(--sp-16) 0;justify-content:flex-end;align-items:center;margin:0 auto;display:flex}.app-header-avatar{width:var(--tap-min);height:var(--tap-min);min-height:var(--tap-min);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;display:inline-flex}.app-header-avatar:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.screen.profile-select{padding-top:calc(env(safe-area-inset-top,0px) + 60px);flex-direction:column;gap:28px;display:flex}.profile-select__header{flex-direction:column;gap:8px;display:flex}.profile-select__header h1,.profile-select__intro{margin:0}.profile-select__intro{font:400 15px/22px var(--font-sans);color:var(--text-2)}.profile-list{flex-direction:column;gap:10px;display:flex}.profile-list .list-row{gap:14px;min-height:72px}.profile-list .list-row__title{font-size:17px;line-height:22px}.screen.home{gap:var(--sp-20,20px);padding-top:var(--sp-8,8px);flex-direction:column;display:flex}.home-header{flex-direction:column;gap:4px;display:flex}.home-header p,.home-header h1{margin:0}.routine-group,.day-list,.home-loading{flex-direction:column;gap:10px;display:flex}.home-empty-action{width:auto;padding:0 18px}.in-progress-card{background:var(--done-soft);border:1px solid var(--done-soft-border);border-radius:20px;flex-direction:column;gap:14px;padding:18px;display:flex}.in-progress-card__label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;color:var(--done-soft-text);align-items:center;gap:8px;margin:0;display:flex}.in-progress-card__dot{background:var(--done-text);border-radius:50%;width:8px;height:8px}.in-progress-card__row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.in-progress-card__info{min-width:0}.in-progress-card__title,.in-progress-card__meta{margin:0}.in-progress-card__meta{font:400 13px/18px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2);margin-top:4px}.in-progress-card__action{background:var(--done);min-height:48px;color:var(--text-on-solid);font:600 15px var(--font-sans);border:0;border-radius:12px;flex:none;padding:0 18px}.session-notice{flex-direction:column;gap:12px;margin-bottom:0;display:flex}.session-notice__text{font:400 15px/22px var(--font-sans);color:var(--text-body);margin:0}.session-notice__actions{flex-direction:column;gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.in-progress-card__dot{animation:2s ease-in-out infinite home-dot-pulse}}@keyframes home-dot-pulse{50%{opacity:.5}}.preview-block{border-radius:var(--radius-lg);flex-direction:column;gap:4px;margin-bottom:0;padding:12px 14px;display:flex}.preview-block__header{justify-content:space-between;align-items:baseline;gap:var(--sp-8);padding:2px 0 6px;display:flex}.preview-block__label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.preview-block__rest{font:400 12px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3)}.preview-exercise-row{align-items:center;gap:10px;min-height:44px;padding:4px 0;display:flex}.preview-exercise-row+.preview-exercise-row{border-top:1px solid var(--divider)}.preview-exercise-badge.chip--superset{border-radius:7px;flex:none;width:28px;height:28px;font-size:11px}.preview-exercise-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.preview-exercise-name{font:600 15px/20px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}.preview-exercise-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.preview-exercise-target{font:400 12px/16px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-3)}.preview-exercise-last{font:400 13px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-body);flex:none}.preview-exercise-row--guided .preview-exercise-name{color:var(--text-2);font-weight:500}.preview-exercise-row--guided .preview-exercise-last{color:var(--text-3)}.completed-sets{margin:var(--sp-4) 0 0;color:var(--text-2);padding:0;font-size:13px;list-style:none}.routine-preview{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-direction:column;gap:18px;display:flex}.preview-top{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.preview-back{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-1);justify-content:center;align-items:center;display:inline-flex}.preview-title{flex-direction:column;gap:4px;display:flex}.preview-title h1,.preview-subtitle{margin:0}.preview-subtitle{font:400 14px/20px var(--font-sans);color:var(--text-2)}.preview-blocks,.preview-loading{flex-direction:column;gap:12px;display:flex}.conflict-text{margin:0 0 var(--sp-8);font:400 15px/22px var(--font-sans);color:var(--text-body)}.modal-actions .conflict-text{margin:var(--sp-4) 0}.conflict-discard{width:100%;min-height:52px}.conflict-danger{border-radius:var(--radius);background:var(--danger);width:100%;min-height:52px;color:var(--text-on-solid);font:600 16px var(--font-sans);cursor:pointer;border:0}.conflict-danger:disabled{opacity:.5;cursor:default}.conflict-error{margin:0 0 var(--sp-8);border:1px solid var(--danger-text);border-radius:var(--radius-sm);background:var(--down-soft);color:var(--danger-text);font:400 14px/20px var(--font-sans);padding:10px 12px}.rest-bar{left:12px;right:12px;bottom:var(--rest-bar-bottom);max-width:calc(var(--app-max-width) - 24px);box-sizing:border-box;min-height:var(--rest-bar-height,68px);background:var(--surface-2);box-shadow:var(--shadow-float);z-index:50;border-radius:18px;align-items:center;gap:8px;margin:0 auto;padding:10px 10px 10px 16px;display:flex;position:fixed;overflow:hidden}.rest-bar__text{flex:1;min-width:0}.rest-bar__label{font:400 12px/16px var(--font-sans);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.rest-bar__time{font:500 28px/32px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);margin:0}.rest-bar__adj{background:var(--surface-3);width:48px;height:48px;min-height:48px;color:var(--text-1);font:400 14px var(--font-mono);font-variant-numeric:tabular-nums;border:0;border-radius:12px;flex:none;padding:0}.rest-bar__skip{background:var(--accent);height:48px;min-height:48px;color:var(--text-on-solid);font:600 14px var(--font-sans);border:0;border-radius:12px;flex:none;padding:0 14px}.rest-bar__close{background:var(--surface-3);height:48px;min-height:48px;color:var(--text-1);font:600 14px var(--font-sans);border:0;border-radius:12px;flex:none;padding:0 16px}.rest-bar__progress{height:3px;width:calc(var(--rest-progress,0) * 100%);background:var(--accent-text);position:absolute;bottom:0;left:0}.countdown-start{margin-top:var(--sp-8);min-height:var(--tap-session)}.countdown{margin-top:var(--sp-8);text-align:center}.countdown-seconds{margin:0 0 var(--sp-8);font:500 28px/32px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1)}.countdown .button-secondary,.countdown .button-primary{min-height:var(--tap-session)}.countdown.stopped label{gap:var(--sp-8);margin-bottom:var(--sp-8);font:400 13px/18px var(--font-sans);color:var(--text-2);flex-direction:column;display:flex}.countdown.stopped input{min-height:var(--tap-session);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:0 var(--sp-12);background:var(--surface-2);color:var(--text-1);font:500 16px var(--font-mono);font-variant-numeric:tabular-nums;text-align:center}.countdown-error{margin:0 0 var(--sp-8);color:var(--danger-text);font-size:13px}.guided-block{gap:var(--sp-8);margin:0 0 var(--sp-12);text-align:center;flex-direction:column;padding:0 4px;display:flex}.guided-block .countdown-seconds,.guided-target{font:500 28px/32px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);margin:0}.guided-actions{justify-content:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.guided-actions .countdown-start{margin-top:0}.guided-button{min-width:0;min-height:var(--tap-session);padding:0 var(--sp-12);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-1);font:600 14px var(--font-sans);white-space:nowrap;cursor:pointer;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;display:inline-flex}.guided-button--primary{background:var(--accent);color:var(--text-on-solid)}.guided-button:disabled{opacity:.5;cursor:default}.guided-block-done{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}.guided-block-done .guided-button{flex:none}.guided-status{font:600 14px var(--font-sans);color:var(--done-soft-text);align-items:center;gap:6px;margin:0;display:inline-flex}.guided-status-check{color:var(--done-text)}.offline-banner{min-height:32px;margin:0 0 var(--sp-16);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-2);font:400 13px/18px var(--font-sans);font-variant-numeric:tabular-nums;text-align:center;justify-content:center;align-items:center;gap:6px;padding:6px 12px;display:flex}.screen.exercise-logger{padding-top:0}.session-top{z-index:20;margin:0 calc(-1 * var(--spacing-md)) var(--sp-12);background:var(--bg);position:sticky;top:0}.session-header{align-items:center;gap:var(--sp-8);padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 12px 8px;display:flex}.session-minimize{width:var(--tap-session);height:var(--tap-session);border-radius:var(--radius-sm);color:var(--text-1);flex:none;justify-content:center;align-items:center;display:inline-flex}.session-header__main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-header__title{font:600 20px/26px var(--font-sans);letter-spacing:-.01em;color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.session-header__meta{font:400 13px/18px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2);margin:0}.session-finish{min-height:var(--tap-session);background:var(--done);color:var(--text-on-solid);font:600 14px var(--font-sans);cursor:pointer;border:0;border-radius:10px;flex:none;padding:0 16px}progress.session-progress{background:var(--surface-2);appearance:none;border:0;border-radius:0;width:100%;height:3px;display:block}progress.session-progress::-webkit-progress-bar{background:var(--surface-2)}progress.session-progress::-webkit-progress-value{background:var(--done-text);transition:width var(--dur-base) var(--ease)}progress.session-progress::-moz-progress-bar{background:var(--done-text)}.exercise-logger .offline-banner{margin:calc(-1 * var(--sp-12)) calc(-1 * var(--spacing-md)) var(--sp-12);border-radius:0}.guided-summary{width:100%;min-height:var(--tap-session);margin-bottom:var(--sp-12);border:1px solid var(--border-card);border-radius:var(--radius-lg);background:var(--surface-1);color:var(--text-2);font:400 14px/18px var(--font-sans);text-align:left;cursor:pointer;align-items:center;gap:10px;padding:0 14px;display:flex}.guided-summary__check{color:var(--done-text);flex:none}.guided-summary__names{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.guided-summary__count{font:400 13px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3);flex:none}.guided-summary__chevron{color:var(--text-3);flex:none}.submit-error{justify-content:space-between;align-items:center;gap:var(--spacing-sm);background:var(--down-soft);border:1px solid var(--down);color:var(--danger-text);border-radius:var(--radius);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);font-size:.9rem;display:flex}.submit-error button{min-height:32px;padding:0 var(--spacing-sm);color:var(--danger-text);border:1px solid var(--danger-text);background:0 0;flex-shrink:0;font-size:.85rem}.group-card{border-radius:18px;flex-direction:column;padding:14px 12px 4px;display:flex}.superset-header{justify-content:space-between;align-items:baseline;gap:var(--sp-8);padding:0 4px 10px;display:flex}.superset-label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.superset-rest{font:400 12px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3)}.exercise-block{flex-direction:column;display:flex}.exercise-block+.exercise-block{border-top:1px solid var(--divider);padding-top:14px}.exercise-header{flex-direction:column;gap:6px;padding:0 4px 10px;display:flex}.exercise-title{align-items:center;gap:10px;min-width:0;display:flex}.exercise-name{font:600 17px/22px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere;margin:0}.exercise-badge.chip--superset{flex:none;width:30px;height:30px;font-size:12px}.exercise-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.exercise-target{font:400 13px/18px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-3)}.exercise-icon-buttons{gap:var(--sp-8);flex-wrap:wrap;margin-top:4px;display:flex}.exercise-icon-buttons:empty{display:none}.icon-button{min-height:var(--tap-session);background:var(--surface-2);font:500 13px var(--font-sans);color:var(--text-2);border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.icon-button-active{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent-soft-text)}.e1rm-progress{font:500 13px/18px var(--font-mono);font-variant-numeric:tabular-nums;margin:0 0 6px;padding:0 4px}.e1rm-progress-up{color:var(--done-text)}.e1rm-progress-neutral{color:var(--text-2)}.e1rm-progress-down{color:var(--down-text)}.set-row,.set-row-header{align-items:center;gap:6px;display:grid}.set-row--no-prev,.set-row--timed{grid-template-columns:36px minmax(0, 1fr) minmax(0, 1fr) var(--tap-session) var(--tap-session)}.set-row-header{font:600 11px/14px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);text-align:center;padding:4px 4px 6px}.set-row-header__time{grid-column:span 2}.set-rows{flex-direction:column;gap:4px;margin:0 0 4px;padding:0;list-style:none;display:flex}.set-row{border-radius:10px;padding:4px}.set-row__number{font:400 15px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);text-align:center}.set-cell{box-sizing:border-box;width:100%;min-width:0;height:var(--tap-session);min-height:var(--tap-session);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-1);font:500 17px var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;border:1px solid #0000;padding:0 4px}.set-cell,.set-row-confirm,.set-row-edit{scroll-margin-top:80px}.set-cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.set-cell::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.set-cell:focus,input.set-cell:focus-visible{border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text);outline:none}.set-cell--time{grid-column:span 2}.set-cell--done{background:0 0;justify-content:center;align-items:center;display:flex}.set-row-confirm{width:var(--tap-session);height:var(--tap-session);min-height:var(--tap-session);border:1.5px solid var(--border-strong);color:var(--text-3);background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.set-row-edit{width:var(--tap-session);height:var(--tap-session);min-height:var(--tap-session);color:var(--text-3);background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}li[data-state=hecha]>.set-row{background:var(--done-soft)}li[data-state=hecha] .set-row__number{color:var(--done-soft-text)}li[data-state=hecha] .set-row-confirm{background:var(--done);color:var(--text-on-solid);border-color:#0000}li[data-state=hecha] .set-row-edit{color:var(--done-soft-text)}.set-row-edit-actions{gap:var(--sp-8);grid-column:1/-1;padding-top:4px;display:flex}.set-row-edit-actions button{min-height:var(--tap-session);border-radius:10px;flex:1;padding:0 8px;font-size:14px}.delete-set{color:var(--danger-text);background:0 0;font-weight:600}.set-row--timer{align-items:start}.set-row--timer .set-row__number{padding-top:14px}.set-row__timer{grid-column:2/-1;min-width:0}.set-row__timer .countdown,.set-row__timer .countdown-start{margin-top:0}.set-row__timer .countdown-seconds{font:500 28px var(--font-mono);font-variant-numeric:tabular-nums}.time-target-reached{background:var(--accent-soft);color:var(--accent-soft-text);border-radius:10px;margin:4px 0 8px;padding:8px 12px;font-size:13px}.add-extra{width:100%;min-height:var(--tap-session);margin-bottom:4px;font-size:14px;font-weight:600}.finish-warning{color:var(--down-soft-text)}.button-primary.finish-sheet__confirm{background:var(--done)}.finish-sheet__delete{width:100%;min-height:var(--tap-session);margin-top:var(--sp-4)}.finish-sheet__danger{border-radius:var(--radius);background:var(--danger);width:100%;min-height:52px;color:var(--text-on-solid);font:600 16px var(--font-sans);cursor:pointer;border:0}.exercise-general-note{color:var(--color-text-muted);margin:4px 0 0;font-size:.85rem}.session-note-field{gap:var(--spacing-sm);margin:var(--spacing-sm) 0;display:flex}.session-note-input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:44px;padding:0 var(--spacing-sm);flex:1;font-size:1rem}.session-note-save{flex-shrink:0;font-size:.85rem}.history-list{gap:var(--spacing-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.history-date{margin:0 0 4px;font-weight:600}.history-sets{color:var(--color-text-muted);margin:0;padding:0;font-size:.9rem;list-style:none}.history-error{color:var(--danger-text)}.progression-calculator{gap:var(--spacing-sm);flex-direction:column;display:flex}.progression-label{color:var(--color-text-muted);font-size:.9rem}.progression-weight-input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:44px;padding:0 var(--spacing-sm);font-size:1rem}.progression-result{margin:0;font-weight:600}.progression-empty{color:var(--color-text-muted)}.progression-range-status{color:var(--color-text-muted);margin:0 0 var(--spacing-sm)}.screen.exercise-logger{padding-bottom:calc(var(--rest-bar-height,68px) + 72px + env(safe-area-inset-bottom,0px))}.finish-sheet__error{border:1px solid var(--danger-text);border-radius:var(--radius-sm);background:var(--down-soft);color:var(--danger-text);font:400 14px/20px var(--font-sans);margin:0 0 12px;padding:10px 12px}.session-summary{padding-top:calc(env(safe-area-inset-top,0px) + 48px);flex-direction:column;gap:18px;display:flex}.summary-header{flex-direction:column;gap:6px;display:flex}.summary-header h1,.summary-subtitle{margin:0}.summary-check{background:var(--done);width:48px;height:48px;color:var(--text-on-solid);border-radius:50%;justify-content:center;align-items:center;margin-bottom:6px;display:inline-flex}.summary-subtitle{font:400 15px/22px var(--font-sans);color:var(--text-2)}.session-summary .stat-tile__value{white-space:nowrap}.summary-unit{font:400 13px var(--font-sans);color:var(--text-3)}.summary-missing{font:italic 400 13px/24px var(--font-sans);white-space:normal;color:var(--text-3)}.summary-list{margin:0;padding:6px 16px}.summary-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:6px 0;display:flex}.summary-row+.summary-row{border-top:1px solid var(--divider)}.summary-row__name{min-width:0;font:400 14px/20px var(--font-sans);color:var(--text-body)}.summary-row__value{font:400 13px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-1);flex:none}.history{padding-top:calc(env(safe-area-inset-top,0px) + 24px);flex-direction:column;gap:16px;display:flex}.history-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.history-top h1{margin:0}.history-csv{min-height:var(--tap-min);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);font:600 14px var(--font-sans);align-items:center;gap:6px;padding:0 14px;text-decoration:none;display:inline-flex}.history-week{flex-direction:column;gap:10px;display:flex}.session-list{flex-direction:column;gap:8px;display:flex}.history-row{grid-template-columns:52px minmax(0,1fr) auto;gap:12px;min-height:64px;padding:12px 16px;display:grid}.history-row .list-row__leading{display:block}.history-row__day{flex-direction:column;align-items:center;display:flex}.history-row__num{font:500 20px/24px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1)}.history-row__weekday{font:400 11px/14px var(--font-sans);color:var(--text-3)}.history-row .list-row__trailing{font-variant-numeric:tabular-nums}.history-row__missing{font-style:italic}.history-live{box-sizing:border-box;background:var(--done-soft);border:1px solid var(--done-soft-border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.history-live__info{flex-direction:column;gap:2px;display:flex}.history-live__title{font:600 15px/20px var(--font-sans);color:var(--text-1)}.history-live__sub{font:400 13px/18px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--done-soft-text)}.history-live__actions{flex-direction:column;gap:8px;display:flex}.history-live__actions .button-secondary{min-height:var(--tap-min);font-size:14px}.history-empty-action{width:auto;min-height:var(--tap-min);padding:0 18px}.history-detail{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-direction:column;gap:16px;display:flex}.history-detail__top{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.history-detail__back{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-1);justify-content:center;align-items:center;display:inline-flex}.history-detail__title{flex-direction:column;gap:4px;display:flex}.history-detail__title h1,.history-detail__date{margin:0}.history-detail__date{font:400 14px/20px var(--font-sans);color:var(--text-2)}.history-detail .stat-tile__value{white-space:nowrap}.history-detail__unit{font:400 13px var(--font-sans);color:var(--text-3)}.history-detail__missing{font:italic 400 13px/24px var(--font-sans);white-space:normal;color:var(--text-3)}.history-group-card{flex-direction:column;gap:12px;margin-bottom:0;display:flex}.history-superset-label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;color:var(--accent-text);text-transform:uppercase}.history-exercise{flex-direction:column;display:flex}.history-exercise+.history-exercise{border-top:1px solid var(--divider);padding-top:12px}.history-exercise-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.history-exercise-name{font:600 17px/22px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere;margin:0}.history-exercise-target{font:400 13px/18px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--text-3);margin:2px 0 0}.history-general-note,.history-session-note{font:400 13px/18px var(--font-sans);color:var(--text-3);margin:4px 0 0}.history-set-rows{flex-direction:column;gap:4px;margin:8px 0 4px;padding:0;list-style:none;display:flex}.history-set-grid{border-radius:10px;align-items:center;gap:6px;padding:4px;display:grid}.history-set-grid--done{grid-template-columns:36px minmax(0, 1fr) var(--tap-session);background:var(--done-soft)}.history-set-grid--edit{grid-template-columns:36px minmax(0, 1fr) minmax(0, 1fr) var(--tap-session)}.history-set-number{font:400 15px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);text-align:center}.history-set-grid--done .history-set-number{color:var(--done-soft-text)}.history-set-value{font:500 16px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1)}.history-cell{box-sizing:border-box;width:100%;min-width:0;height:var(--tap-session);min-height:var(--tap-session);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-1);font:500 17px var(--font-mono);font-variant-numeric:tabular-nums;text-align:center;appearance:textfield;border:1px solid #0000;padding:0 4px}.history-cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.history-cell::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.history-cell:focus,.history-cell:focus-visible{border-color:var(--accent-text);box-shadow:inset 0 0 0 1px var(--accent-text);outline:none}.history-cell--time{grid-column:span 2}.history-set-row-confirm,.history-set-row-edit{width:var(--tap-session);height:var(--tap-session);min-height:var(--tap-session);border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.history-set-row-confirm{border:1.5px solid var(--border-strong);color:var(--text-3);background:0 0}.history-set-row-edit{color:var(--done-soft-text);background:0 0}.history-set-row-edit-actions{gap:var(--sp-8);grid-column:1/-1;padding-top:4px;display:flex}.history-set-row-edit-actions button{width:auto;min-height:var(--tap-session);border-radius:10px;flex:1;padding:0 8px;font-size:14px}.history-delete-set{color:var(--danger-text);background:0 0;font-weight:600}.history-add-extra{width:100%;min-height:var(--tap-min);font-size:14px;font-weight:600}.history-delete-session{min-height:var(--tap-min);color:var(--danger-text);background:0 0;font-weight:600}.history-delete-confirm{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);text-align:center;padding:16px}.history-delete-confirm p{font:600 15px/22px var(--font-sans);margin:0 0 12px}.history-delete-confirm-actions{gap:var(--sp-8);display:flex}.history-delete-confirm-actions button{min-height:var(--tap-min);flex:1}.import-routine,body[data-tabbar] .import-routine{padding-top:calc(env(safe-area-inset-top,0px) + 8px);padding-bottom:calc(var(--tabbar-height,0px) + 52px + 32px + max(16px, env(safe-area-inset-bottom,0px)) + 40px);flex-direction:column;gap:16px;display:flex}.import-routine .card{flex-direction:column;gap:12px;margin-bottom:0;display:flex}.import-back{min-height:44px;color:var(--accent-text);font:500 15px var(--font-sans);align-self:flex-start;align-items:center;gap:2px;padding-right:8px;text-decoration:none;display:inline-flex}.import-header h1,.import-header .subtitle{margin:0}.import-routine .subtitle{color:var(--text-2);margin-top:4px;font-size:14px}.import-card-title{font:600 15px var(--font-sans);color:var(--text-1);margin:0}.import-field{font:500 13px var(--font-sans);color:var(--text-2)}.import-name-input{border-radius:12px;min-height:48px;font-size:16px}.file-picker{cursor:pointer;align-items:center;gap:12px;min-height:48px;display:flex}.file-picker:focus-within .file-picker__button{outline:2px solid var(--accent-text);outline-offset:2px}.file-picker__button{background:var(--surface-2);min-height:44px;color:var(--text-1);font:600 14px var(--font-sans);border-radius:10px;flex:none;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.file-picker__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:400 14px var(--font-sans);color:var(--text-3);overflow:hidden}.file-picker__name--set{color:var(--text-1);font-weight:600}.cta-bar.import-cta{bottom:var(--tabbar-height,0px);flex-direction:column;gap:10px;display:flex}.import-hint{color:var(--text-3);margin:0;font-size:13px;line-height:1.45}.import-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding-top:48px;display:flex}.import-success h1,.import-success .import-result{margin:0}.import-success .button-primary{margin-top:12px}.import-success__check{background:var(--done);width:48px;height:48px;color:var(--text-on-solid);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.import-result{color:var(--text-2);font-size:15px}.csv-format-hint p{color:var(--text-2);margin:0;font-size:13px}.csv-format-hint code{background:var(--bg);white-space:nowrap;font:400 12px var(--font-mono);border-radius:10px;padding:8px 10px;display:block;overflow-x:auto}.csv-format-hint summary{min-height:44px;color:var(--accent-text);font:600 14px var(--font-sans);cursor:pointer;align-items:center;display:flex}.csv-format-hint details>*+*{margin-top:10px}.csv-format-hint details>summary+*{margin-top:0}.csv-table-wrap{overflow-x:auto}.csv-format-hint table{border-collapse:collapse;width:100%;font:400 12px var(--font-mono)}.csv-format-hint th,.csv-format-hint td{border:1px solid var(--divider);text-align:left;white-space:nowrap;padding:4px 6px}.csv-format-note{color:var(--text-3)}.my-routines{padding-top:calc(env(safe-area-inset-top,0px) + 24px);flex-direction:column;gap:16px;display:flex}.my-routines h1{margin:0}.new-routine-form{gap:var(--sp-8);align-items:center;display:flex}.new-routine-form input{border-radius:var(--radius-md);flex:1;min-width:0;min-height:48px}.new-routine-form .btn-compact{min-height:48px}.routine-item{background:var(--surface-1);border:1px solid var(--border-card);border-radius:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.routine-item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.routine-item-title{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.routine-item-name{font:600 20px/26px var(--font-sans);letter-spacing:-.01em;color:var(--text-1);overflow-wrap:anywhere}.routines-inactive .routine-item-name{font-size:16px;line-height:22px}.routine-item-meta{font:400 13px/18px var(--font-sans);color:var(--text-3)}.routine-days{margin:0;padding:0;list-style:none}.routine-day-link{border-top:1px solid var(--divider);min-height:52px;color:var(--text-1);align-items:center;gap:12px;text-decoration:none;display:flex}.routine-day-pos{width:22px;font:400 13px var(--font-mono);color:var(--accent-text)}.routine-day-name{font:500 15px var(--font-sans);overflow-wrap:anywhere}.routines-inactive,.routines-more{flex-direction:column;gap:10px;display:flex}.routine-item-actions{gap:var(--sp-8);flex-wrap:wrap;display:flex}.routine-item-actions a,.routine-item-actions button{width:auto;min-height:var(--tap-min);font:600 14px var(--font-sans);flex:1 1 0;padding:0 12px}.routines-more__icon{background:var(--surface-2);width:36px;height:36px;color:var(--text-1);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.archived-routines{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-direction:column;gap:16px;display:flex}.archived-top{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.archived-top h1{margin:0}.archived-routines .routine-list{flex-direction:column;gap:10px;display:flex}.archived-item{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:8px 16px;display:flex}.archived-item-name{min-width:0;font:600 15px/20px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}.archived-item button{width:auto;min-height:40px;font:600 14px var(--font-sans);border-radius:10px;flex:none;padding:0 14px}.confirm-sheet__body{margin:0 0 var(--sp-8);font:400 15px/22px var(--font-sans);color:var(--text-body)}.button-danger{border-radius:var(--radius-md);background:var(--danger);width:100%;min-height:52px;color:var(--text-on-solid);font:600 16px var(--font-sans);border:0}.routine-editor{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-direction:column;gap:18px;display:flex}.routine-editor h1{margin:0}.routine-field-label{font:500 13px/18px var(--font-sans);color:var(--text-2)}.routine-name-field{flex-direction:column;gap:6px;display:flex}.routine-name-field input{min-height:52px;font-size:17px;font-weight:600}.routine-editor-days,.day-editor-list{flex-direction:column;gap:10px;display:flex}.day-editor-item{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow:hidden}.day-editor-row{align-items:center;gap:4px;min-height:64px;padding:0 8px 0 0;display:flex}.day-editor-name{min-width:0;color:var(--text-1);font:600 16px/22px var(--font-sans);overflow-wrap:anywhere;flex:1;justify-content:space-between;align-self:stretch;align-items:center;gap:8px;padding:0 4px 0 16px;text-decoration:none;display:flex}.day-editor-chevron{color:var(--text-3);flex:none}.day-editor-tools{border-top:1px solid var(--divider);grid-template-columns:1fr 1fr;display:grid}.day-editor-tool{min-height:var(--tap-min);color:var(--accent-text);font:600 14px var(--font-sans);background:0 0;border-radius:0}.day-editor-tool--danger{color:var(--danger-text);border-left:1px solid var(--divider)}.new-day-form{gap:var(--sp-8);flex-direction:column;margin-top:4px;display:flex}.new-day-form input{min-height:48px}.day-rename-form{gap:var(--sp-8);flex-wrap:wrap;padding:12px;display:flex}.day-rename-form input{flex:100%;min-height:48px}.day-rename-actions{gap:var(--sp-8);flex:100%;display:flex}.day-rename-actions button{width:auto;min-height:var(--tap-min);flex:1;font-size:15px}.routine-editor-empty{font:400 14px/20px var(--font-sans);color:var(--text-3);margin:0}.routine-editor-message{font:500 14px/20px var(--font-sans);color:var(--accent-text);margin:0}.routine-actions-card{background:var(--surface-1);border-radius:var(--radius-lg);flex-direction:column;padding:0 16px;display:flex}.routine-actions-card button{min-height:52px;color:var(--text-1);font:400 15px var(--font-sans);text-align:left;background:0 0;border-radius:0;padding:0}.routine-actions-card button+button{border-top:1px solid var(--divider)}.routine-delete{flex-direction:column;gap:4px;display:flex}.routine-delete__button{min-height:48px;color:var(--danger-text);font:600 15px var(--font-sans);background:0 0}.routine-delete__help{font:400 12px/1.5 var(--font-sans);color:var(--text-3);text-align:center;margin:0}.day-editor-item :focus-visible{outline-offset:-2px}.editor-group-card{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.editor-group-card--superset{background:var(--superset-bg);border-color:var(--superset-border)}.group-header{justify-content:space-between;align-items:center;gap:var(--sp-8);padding:4px 8px 0 16px;display:flex}.editor-superset-label{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);align-items:baseline;gap:10px;display:flex}.editor-superset-rest{font:400 12px var(--font-mono);letter-spacing:0;text-transform:none;color:var(--text-3)}.group-actions{gap:4px;margin-left:auto;display:flex}.group-actions .btn-icon,.exercise-row-main>.group-actions .btn-icon{background:0 0}.exercise-row{flex-direction:column;padding:0 8px 0 0;display:flex}.exercise-row+.exercise-row{border-top:1px solid var(--divider)}.exercise-row-main{align-items:center;gap:var(--sp-8);min-height:60px;padding-left:16px;display:flex}.exercise-edit-trigger{text-align:left;min-width:0;font:inherit;color:inherit;background:0 0;flex-direction:column;flex:1;align-items:flex-start;gap:4px;padding:8px 0;display:flex}.editor-exercise-name{font:600 15px/20px var(--font-sans);color:var(--text-1);overflow-wrap:anywhere}.editor-exercise-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-exercise-target{font:400 12px/16px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3)}.exercise-row-actions{gap:4px;display:flex}.exercise-row-actions .btn-icon{background:0 0}.exercise-note-indicator{font:400 13px/18px var(--font-sans);color:var(--text-3);align-items:flex-start;gap:6px;margin:0;padding:0 16px 10px;display:flex}.group-footer{justify-content:space-between;align-items:center;gap:0 var(--sp-8);border-top:1px solid var(--divider);flex-wrap:wrap;padding:0 4px;display:flex}.add-exercise-triggers{gap:4px;display:flex}.add-exercise{font:600 13px var(--font-sans);padding:0 6px}.add-exercise-triggers--single{width:100%}.add-exercise-triggers--single .add-exercise{font-size:16px}.delete-group,.delete-exercise{min-height:var(--tap-min);color:var(--danger-text);font:600 13px var(--font-sans);background:0 0;padding:0 6px}.exercise-sheet-form{flex-direction:column;gap:14px;display:flex}.exercise-field{flex-direction:column;gap:6px;min-width:0;display:flex}.exercise-field__label{font:500 13px/18px var(--font-sans);color:var(--text-2)}.exercise-field input,.exercise-field select,.exercise-field textarea{border-color:var(--border);border-radius:10px;width:100%;min-height:48px}.exercise-field textarea{resize:none;min-height:0}.exercise-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.exercise-sheet-help{font:400 12px/1.5 var(--font-sans);color:var(--text-3);margin:-6px 0 0}.exercise-sheet-actions{gap:var(--sp-8);flex-direction:column;margin-top:4px;display:flex}.exercise-sheet-actions .delete-exercise{min-height:48px;font-size:15px}.day-editor{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-direction:column;gap:14px;display:flex}.day-editor-title{flex-direction:column;gap:4px;display:flex}.day-editor h1{margin:0}.day-editor-help{font:400 13px/18px var(--font-sans);color:var(--text-3);margin:0}.day-editor-loading{flex-direction:column;gap:12px;display:flex}.day-editor-add-actions{gap:var(--sp-8);flex-direction:column;display:flex}.day-editor-message{font:500 14px/20px var(--font-sans);color:var(--accent-text);margin:0}.screen.add-profile{gap:var(--sp-16,16px);padding-top:calc(env(safe-area-inset-top,0px) + 24px);flex-direction:column;display:flex}.add-profile h1{margin:0}.add-profile form{gap:var(--spacing-md);flex-direction:column;display:flex}.add-profile label{font:500 13px/18px var(--font-sans);color:var(--text-2)}.progress-list{padding-top:calc(env(safe-area-inset-top,0px) + 24px);flex-direction:column;gap:16px;display:flex}.progress-list h1{margin:0}.progress-routine-group{flex-direction:column;gap:14px;display:flex}.progress-routine-name{color:var(--text-1);margin:0}.progress-day-group{flex-direction:column;gap:8px;display:flex}.progress-exercise-list{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.progress-exercise-list .list-row{background:0 0;border:0;border-radius:0;min-height:56px;padding:8px 16px}.progress-exercise-list .list-row+.list-row{border-top:1px solid var(--divider)}.progress-day-empty{font:400 13px/18px var(--font-sans);color:var(--text-3);margin:0}.progress-chart-card{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow:hidden}.progress-chart-card--empty{justify-content:center;align-items:center;height:196px;padding:0 16px;display:flex}.progress-chart-empty{font:400 13px/18px var(--font-sans);color:var(--text-2);text-align:center;margin:0}.progress-chart-readout{min-height:20px;font:500 13px/20px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2);margin:0;padding:12px 16px 0}.progress-chart-box{width:100%;height:196px}.progress-chart{display:block;overflow:visible}.progress-chart-grid{stroke:var(--hairline);stroke-width:1px}.progress-chart-guide{stroke:var(--surface-selected);stroke-width:1px}.progress-chart-line{fill:none;stroke:var(--accent-text);stroke-width:2.25px;stroke-linejoin:round;stroke-linecap:round}.progress-chart-point{fill:var(--accent-text)}.progress-chart-point--emphasis{stroke:var(--surface-1);stroke-width:2px}.progress-chart-hit-area{fill:#0000}.progress-chart-point-hit{cursor:pointer;outline:none}.progress-chart-point-hit:focus-visible .progress-chart-hit-area{stroke:var(--accent-text);stroke-width:2px}.progress-chart-label{fill:var(--text-3);font-family:var(--font-mono);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.progress-chart-label--x{font-family:var(--font-sans)}.exercise-progress{padding-top:calc(env(safe-area-inset-top,0px) + 8px);flex-direction:column;gap:14px;display:flex}.exercise-progress__top{align-items:center;gap:8px;display:flex}.exercise-progress__top h1{overflow-wrap:anywhere;min-width:0;margin:0}.exercise-progress__back{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-1);flex:none;justify-content:center;align-items:center;display:inline-flex}.progress-summary{flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding-top:4px;display:flex}.progress-summary-label{font:400 13px/18px var(--font-sans);color:var(--text-2);flex-basis:100%}.progress-summary-value{font:500 40px/46px var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-1)}.progress-summary-up,.progress-summary-neutral,.progress-summary-down{font:500 14px/20px var(--font-mono);font-variant-numeric:tabular-nums}.progress-summary-up{color:var(--done-text)}.progress-summary-neutral{color:var(--text-2)}.progress-summary-down{color:var(--down-text)}.progress-best-time{border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--border-card);font:500 14px/20px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);margin:0;padding:10px 12px}.progress-session-list{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);margin:0;padding:0 16px;list-style:none}.progress-session-entry{border-bottom:1px solid var(--divider);flex-direction:column;gap:8px;min-height:52px;padding:12px 0;display:flex}.progress-session-entry:last-child{border-bottom:0}.progress-session-head{grid-template-columns:64px 1fr;align-items:baseline;gap:10px;display:grid}.progress-session-date{font:400 13px/18px var(--font-sans);color:var(--text-2)}.progress-session-metrics{flex-direction:column;gap:2px;min-width:0;display:flex}.progress-session-metric{font:500 14px/20px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-1);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;display:flex}.progress-session-metric .progress-summary-up,.progress-session-metric .progress-summary-neutral,.progress-session-metric .progress-summary-down{font-size:12px}.progress-session-sets{flex-wrap:wrap;gap:6px;margin:0 0 0 74px;padding:0;list-style:none;display:flex}.progress-session-sets li{background:var(--surface-2);font:400 12px/16px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-body);border-radius:6px;padding:3px 8px}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--surface-nav:#11141a;--surface-1:#14171c;--surface-2:#1c2027;--surface-3:#2a2f38;--surface-selected:#3a414d;--scrim:#0009;--border:#2a2f38;--border-card:#262b33;--border-strong:#3a414d;--divider:#1f232a;--hairline:#22262e;--cta-bar-border:#1c2027;--skeleton-1:#2a2f38;--skeleton-2:#252a32;--text-1:#f2f4f7;--text-body:#c4cad4;--text-2:#a3abb8;--text-3:#8a93a2;--text-on-solid:#fff;--accent:#2f6feb;--accent-text:#6ea2ff;--accent-text-hover:#9dc0ff;--accent-soft:#1d2b45;--accent-soft-text:#9dc0ff;--superset-bg:#11161f;--superset-border:#24324a;--done:#178048;--done-text:#3dd68c;--done-soft:#12301f;--done-soft-border:#1e4d33;--done-soft-text:#8fe3b5;--down:#ff8a4c;--down-text:#ff8a4c;--down-ink:#1f0d03;--down-soft:#2b1a0f;--down-soft-text:#ffc6a6;--danger:#d13438;--danger-text:#ff8f8f;--avatar-1-bg:#1d2b45;--avatar-1-fg:#9dc0ff;--avatar-2-bg:#3a2614;--avatar-2-fg:#ffc79e;--avatar-3-bg:#16332b;--avatar-3-fg:#8fe3c6;--shadow-float:0 12px 32px #0009;--shadow-sheet:0 -12px 40px #0009;--font-sans:"Geist Variable", Geist, "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono Variable", "Geist Mono", ui-monospace, monospace;--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-20:20px;--sp-24:24px;--sp-32:32px;--sp-48:48px;--gutter:16px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--dur-fast:.12s;--dur-base:.2s;--ease:cubic-bezier(.2, .8, .2, 1);--tap-min:44px;--tap-session:48px;--app-max-width:480px}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.t-display{font:700 34px/40px var(--font-sans);letter-spacing:-.02em}.t-title-l{font:700 30px/36px var(--font-sans);letter-spacing:-.02em}.t-title-m{font:700 28px/34px var(--font-sans);letter-spacing:-.02em}.t-title{font:600 22px/28px var(--font-sans);letter-spacing:-.01em}.t-title-s{font:600 20px/26px var(--font-sans);letter-spacing:-.01em}.t-headline{font:600 17px/22px var(--font-sans)}.t-body{font:400 15px/22px var(--font-sans);color:var(--text-body)}.t-label{font:500 13px/18px var(--font-sans);color:var(--text-2)}.t-overline{font:600 12px/16px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.t-micro{font:600 11px/14px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.num-xl{font:500 56px/60px var(--font-mono);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.num-l{font:500 28px/34px var(--font-mono);font-variant-numeric:tabular-nums}.num-m{font:500 18px/24px var(--font-mono);font-variant-numeric:tabular-nums}.delta-up{font-family:var(--font-mono);color:var(--done-text)}.delta-flat{font-family:var(--font-mono);color:var(--text-2)}.delta-down{font-family:var(--font-mono);color:var(--down-text)}:root{--color-bg:var(--bg);--color-surface:var(--surface-1);--color-text:var(--text-1);--color-text-muted:var(--text-2);--color-accent:var(--accent);--color-border:var(--border-card);--color-danger:var(--danger-text);--spacing-sm:var(--sp-8);--spacing-md:var(--sp-16);--spacing-lg:var(--sp-24);--radius:var(--radius-md);--font-size-base:16px;--tabbar-height:0px;--rest-bar-height:68px}.rest-bar,body[data-rest-bar] .undo-toast-region{--rest-bar-bottom:max(calc(var(--tabbar-height,0px) + 8px), 16px, calc(env(safe-area-inset-bottom,0px) - 6px))}*{box-sizing:border-box}body{background:var(--bg);color:var(--text-1);font-family:var(--font-sans);font-size:var(--font-size-base);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0}button{min-height:var(--tap-min);border-radius:var(--radius);cursor:pointer;color:var(--text-1);background:var(--surface-2);transition:transform var(--dur-fast) var(--ease), background-color var(--dur-fast) var(--ease);border:none;font-family:inherit;font-size:1rem}button:active:not(:disabled),a.button-primary:active,a.button-secondary:active{transform:scale(.98)}button:disabled,button[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea){font:inherit;min-height:var(--tap-min);background:var(--surface-1);color:var(--text-1);border:1px solid var(--border-card);border-radius:var(--radius);padding:0 14px;font-size:1rem}:where(textarea){min-height:0;padding:12px}:where(input,select,textarea)::placeholder{color:var(--text-3)}:where(input,select,textarea):disabled{opacity:.45;cursor:not-allowed}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent-text);box-shadow:0 0 0 1px var(--accent-text);outline:none}input.input--session,select.input--session{min-height:var(--tap-session)}.screen{max-width:480px;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));margin:0 auto}body[data-tabbar]{--tabbar-height:calc(62px + max(10px, calc(env(safe-area-inset-bottom,0px) - 12px)))}body[data-tabbar] .screen{padding-bottom:calc(var(--tabbar-height) + 36px)}.screen--cta,body[data-tabbar] .screen--cta{padding-bottom:calc(52px + 32px + max(16px, env(safe-area-inset-bottom,0px)) + 24px)}.cta-bar{z-index:30;box-sizing:border-box;max-width:var(--app-max-width);padding:16px 16px max(16px, env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--cta-bar-border);margin:0 auto;position:fixed;bottom:0;left:0;right:0}.button-primary,.button-secondary,.ghost,.destructive{border-radius:var(--radius);min-height:52px;font-size:1rem;font-weight:600}.button-primary,.button-secondary{width:100%;padding:0 var(--spacing-md)}.button-primary{background:var(--accent);color:var(--text-on-solid)}.button-primary:active:not(:disabled){filter:brightness(.92)}.button-secondary{background:var(--surface-2);color:var(--text-1);border:1px solid var(--border)}.ghost{min-height:var(--tap-min);padding:0 var(--spacing-sm);color:var(--accent-text);background:0 0;font-size:.95rem}.destructive{min-height:var(--tap-min);padding:0 var(--spacing-sm);color:var(--danger-text);background:0 0;font-size:.95rem}.card{background:var(--surface-1);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--sp-12)}a.button-primary,a.button-secondary{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}svg.lucide{vertical-align:middle;flex-shrink:0}.modal-close,.set-row-confirm,.set-row-edit,.history-set-row-confirm,.history-set-row-edit{justify-content:center;align-items:center;display:inline-flex}.icon-spin{animation:1s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon-spin{animation:none}}.guided-status-check{vertical-align:-3px}
