:root{--color-ink:#111;--color-white:#fff;--color-green:#1db67c;--color-red:#fd5e53;--color-blue:#2457ff;--color-purple:#824afd;--color-series:#12c68a;--color-repetitions:#d6ff45;--color-prescription-rest:#777efa;--color-history-weight:#63c7f2;--color-history-muted:#737373;--color-grey-light:#c1c1c1;--color-latest:var(--color-grey-light);--program-card-radius:22px;--rest-red:var(--color-red);--rest-color:var(--color-purple);--running-green:var(--color-green);--paused-blue:var(--color-blue);--control-border:var(--color-grey-light);--page-title-size:clamp(34px, 9vw, 58px);--compact-title-size:clamp(26px, 6vw, 36px);--dock-button-size:clamp(44px, 13vw, 64px);--dock-gap:8px;--dock-button-radius:15px;--exercise-clock-space:30px;color:var(--color-ink);background:var(--color-white);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.home-actions{flex-shrink:0;gap:10px;display:flex}.settings-shortcut svg{stroke:var(--color-white);fill:none!important}@media (width<=420px){:root{--page-title-size:36px}.home-actions .program-edit-shortcut{border-radius:14px;width:46px;height:46px}}*{box-sizing:border-box}html{background:var(--color-white)}html:has(.action-dock){scroll-padding-bottom:calc(var(--dock-button-size) + 18px + max(14px, env(safe-area-inset-bottom)) + 24px)}html:has(.exercise-dock-times){scroll-padding-bottom:calc(var(--dock-button-size) + 18px + max(14px, env(safe-area-inset-bottom)) + 24px + var(--exercise-clock-space))}body{background:var(--color-white);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.app-shell{width:min(100%,760px);min-height:100vh;padding:max(22px, env(safe-area-inset-top)) 18px calc(106px + env(safe-area-inset-bottom));margin:0 auto}.with-nav{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.with-workout-dock{padding-bottom:calc(140px + env(safe-area-inset-bottom))}html:has(.login-screen){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000}html:has(.login-screen) body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000}.login-screen{min-height:100dvh;padding:max(40px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(40px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));color:var(--color-white);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#000;place-items:center;display:grid}.login-form{background:0 0;border:0;gap:24px;width:min(100%,380px);min-width:0;margin:0;padding:0;display:grid}.login-form h1{color:var(--color-white);margin:0 0 12px;font-weight:800;line-height:1.05}.login-field{gap:10px;min-width:0;display:grid}.login-field>label{color:var(--color-white);font-size:16px;font-weight:600;line-height:1.4}.login-form input{border:1px solid var(--color-white);width:100%;min-width:0;height:56px;color:var(--color-white);caret-color:var(--color-white);background:#000;border-radius:14px;padding:0 16px;font-size:17px}.login-form input:focus-visible{outline:2px solid var(--color-white);outline-offset:3px}.login-form input:autofill{color:var(--color-white);background:#000}.login-form input:-webkit-autofill{-webkit-text-fill-color:var(--color-white);box-shadow:inset 0 0 0 100px #000}.login-password-field{min-width:0;position:relative}.login-password-field input{padding-right:60px}.login-password-toggle{width:44px;height:44px;color:var(--color-white);background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:6px;right:6px}.login-password-toggle svg{display:block}.login-form button:focus-visible{outline:2px solid var(--color-white);outline-offset:3px}.login-form .login-submit{border:1px solid var(--color-white);background:var(--color-white);color:#000;border-radius:14px;width:100%;min-height:56px;padding:14px 16px;font-size:17px;font-weight:800;line-height:1.3}.login-submit:disabled{opacity:.65;cursor:wait}.login-form .login-error{color:var(--color-red);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.5}.loading-mark{border:3px solid var(--color-grey-light);border-top-color:var(--color-ink);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}.eyebrow{color:#666;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:800}h1{max-width:620px;font-size:var(--page-title-size);letter-spacing:-.045em;margin:0;line-height:.98}.app-shell h1{font-size:var(--compact-title-size)}.app-shell h1.main-page-title{font-size:var(--page-title-size)}h2{letter-spacing:-.02em;margin:0;font-size:19px}.exercise-header>p:last-child{color:#666;line-height:1.5}.program-grid{gap:12px;display:grid}.program-card-shell{align-content:end;display:grid;position:relative}.session-tabs{z-index:1;bottom:100%;left:calc(var(--program-card-radius) + 1px);align-items:stretch;gap:6px;display:flex;position:absolute}.latest-session-tab{background:var(--color-latest);color:var(--color-white);white-space:nowrap;border-radius:10px 10px 0 0;align-items:center;gap:6px;padding:7px 14px 6px;font-size:12px;font-weight:850;line-height:1.2;display:inline-flex}.current-session-tab{background:var(--color-ink)}.current-rest-tab{background:var(--rest-color)}.current-rest-tab .previous-rest{gap:4px}.current-session-tab,.current-rest-tab{color:var(--color-white)}.session-tabs .animated-time{color:var(--color-white);font-size:inherit;font-weight:inherit}@media (width<=360px){.latest-session-tab{padding-left:6px;padding-right:6px}}.program-card{border:1px solid var(--color-grey-light);border-radius:var(--program-card-radius);background:var(--color-white);width:100%;color:inherit;text-align:left;box-shadow:none;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;min-height:118px;padding:18px;display:grid}.program-card:active,.exercise-row:active{transform:scale(.99)}.program-letter{width:68px;height:68px;color:var(--color-white);background:var(--color-ink);border-radius:19px;place-items:center;font-size:34px;font-weight:900;display:grid}.program-card strong{font-size:20px;display:block}.program-card-shell.is-latest .program-card{border-color:var(--color-latest)}.program-card-shell.is-latest .program-card strong{color:var(--color-latest)}.program-card-shell.is-latest .program-letter{background:var(--color-latest)}.program-card small{color:#6e6e66;margin-top:6px;display:block}.chevron{color:#8d8c84;font-size:30px}.page-header.session-chooser-header{margin-bottom:16px}.program-card-shell.has-session-tabs{margin-top:30px}.bottom-nav{border:1px solid var(--color-grey-light);background:var(--color-white);width:100%;box-shadow:none;border-radius:18px;grid-template-columns:repeat(2,1fr);padding:6px;display:grid}.bottom-nav button{color:#66665f;background:0 0;border:0;border-radius:13px;min-height:48px;font-weight:800}.bottom-nav button.active{background:var(--color-ink);color:var(--color-white)}.session-chooser-header{align-items:center}.program-edit-shortcut{border:1px solid var(--color-ink);background:var(--color-ink);width:48px;height:48px;color:var(--color-white);border-radius:14px;flex:0 0 48px;place-items:center;padding:0;display:grid}.program-edit-shortcut svg{fill:currentColor;width:22px;height:22px}.program-edit-shortcut:active{transform:scale(.97)}.program-edit-shortcut:focus-visible{outline-color:var(--color-ink);outline-offset:3px}.back-icon-button{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-white);border-radius:14px;place-items:center;padding:0;display:grid}.back-icon-button svg{width:24px;height:24px;display:block}.title-back-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.inline-back-button{white-space:nowrap;align-self:center;width:44px;height:44px;margin:0;font-size:24px}.preview-list{border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:20px;overflow:hidden}.preview-row{border-bottom:1px solid var(--color-grey-light);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px 14px;display:grid}.preview-row:last-child{border-bottom:0}.preview-row>span:first-child{color:#94938a;font-size:12px;font-weight:800}.preview-row>strong{overflow-wrap:anywhere;min-width:0;font-size:16px;line-height:1.25}.preview-row small{color:#6f6f68}.primary-button,.secondary-button,.done-button,.skip-button{border-radius:15px;min-height:54px;font-weight:900}.primary-button{border:1px solid var(--color-ink);background:var(--color-ink);width:100%;color:var(--color-white)}.primary-button:disabled{cursor:not-allowed;opacity:.35}.secondary-button{border:1px solid var(--color-ink);background:var(--color-white);color:var(--color-ink);padding:0 18px}.danger-button{background:var(--color-ink)}.floating-dock-layer{z-index:8;isolation:isolate;left:50%;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;width:min(100% - 36px,724px);position:fixed;transform:translate(-50%)}.floating-dock-layer:before{content:"";z-index:-1;top:-40px;bottom:calc(-1 * max(14px, env(safe-area-inset-bottom)));background:linear-gradient(to bottom, #fff0 0, #ffffffa6 14px, #fffffff0 32px, #fffffffc 48px, var(--color-white) 72px);pointer-events:none;width:min(100vw,760px);position:absolute;left:50%;transform:translate(-50%)}.navigation-dock-layer{z-index:10;bottom:max(12px, env(safe-area-inset-bottom));width:min(100% - 28px,520px)}.floating-dock-layer>.finish-dock,.floating-dock-layer>.bottom-nav{pointer-events:auto;width:100%;position:relative}.finish-dock{border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:20px;padding:8px}.timer-actions button{color:inherit;background:currentColor;border:1px solid;border-radius:15px;place-items:center;padding:0;display:grid}.timer-actions{flex-shrink:0;gap:8px;display:flex}.timer-actions.is-running{color:var(--running-green)}.timer-actions.is-paused{color:var(--paused-blue)}.timer-actions svg{width:24px;height:24px;color:var(--color-white);display:block}.timer-actions .add-time-icon{width:24px;height:24px;display:block}.timer-actions .timer-rest-button{color:var(--rest-color);border-color:var(--rest-color)}.timer-actions button:focus-visible{outline-color:var(--paused-blue)}.timer-actions .timer-rest-button:focus-visible{outline-color:var(--rest-color)}.animated-time{font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.2;display:inline-flex}.animated-time>span{align-items:center;line-height:1.2;display:inline-flex}.time-cell{text-align:center;width:.66em;height:1.2em;display:inline-block;position:relative;overflow:hidden}.time-colon{text-align:center;width:.32em;display:inline-block}.time-digit{line-height:1.2;display:block;position:absolute;inset:0}.time-digit-out{display:none}@media (prefers-reduced-motion:no-preference){.time-digit-in{animation:.5s cubic-bezier(.22,.61,.36,1) both time-tick-in}.time-digit-out{animation:.5s cubic-bezier(.22,.61,.36,1) both time-tick-out;display:block}}@media (prefers-reduced-motion:reduce){.time-digit-in{animation:.35s ease-out both time-fade-in}.time-digit-out{animation:.35s ease-out both time-fade-out;display:block}}@keyframes time-tick-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes time-tick-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}@keyframes time-fade-in{0%{opacity:0}to{opacity:1}}@keyframes time-fade-out{0%{opacity:1}to{opacity:0}}.action-dock{grid-template-columns:minmax(0, 1fr) var(--dock-button-size);align-items:center;gap:var(--dock-gap);border-color:var(--color-grey-light);background:var(--color-white);display:grid;box-shadow:0 8px 24px #00000014}.action-dock>button,.action-dock .timer-actions button{height:var(--dock-button-size);min-height:var(--dock-button-size);border-radius:var(--dock-button-radius);border-width:0;margin:0;padding:0 8px;font-size:16px;line-height:1.2}.action-dock .dock-back-button,.action-dock .timer-actions button{width:var(--dock-button-size);padding:0}.action-dock .dock-back-button svg,.action-dock .timer-actions svg,.action-dock .timer-actions .add-time-icon{width:48%;height:48%}.action-dock .timer-actions{gap:var(--dock-gap)}.app-shell.has-action-dock,.app-shell.with-workout-dock{padding-bottom:calc(var(--dock-button-size) + 18px + max(14px, env(safe-area-inset-bottom)) + 24px)}.app-shell.with-exercise-clock{padding-bottom:calc(var(--dock-button-size) + 18px + max(14px, env(safe-area-inset-bottom)) + 24px + var(--exercise-clock-space))}.workout-action-dock.has-timer-controls{grid-template-columns:minmax(0, 1fr) auto var(--dock-button-size)}.session-action-dock .workout-finish-button{background:var(--color-grey-light);color:var(--color-white);border:0;padding:0 4px;font-size:clamp(12px,4vw,20px);font-weight:850}.session-action-dock .workout-finish-button.is-ready{background:var(--color-ink)}.exercise-action-dock{grid-template-columns:repeat(2, minmax(0, 1fr)) var(--dock-button-size)}.exercise-action-dock.has-timer-controls{grid-template-columns:repeat(2, minmax(0, 1fr)) auto var(--dock-button-size)}.exercise-action-dock.has-timer-controls>button{border:0;place-items:center;padding:0;display:grid}.exercise-action-dock.has-timer-controls .done-button{background:var(--color-green);color:var(--color-white)}.exercise-action-dock.has-timer-controls>button svg{width:calc(var(--dock-button-size) * .48);height:calc(var(--dock-button-size) * .48);stroke-width:3px;display:block}@media (width<=360px){:root{--dock-gap:6px;--dock-button-radius:12px}.action-dock>button{padding:0 4px;font-size:14px}.session-action-dock .workout-finish-button{font-size:12px}}.undo-done-button .undo-done-icon,.undo-skipped-button .undo-done-icon{width:calc(var(--dock-button-size) * .48);height:calc(var(--dock-button-size) * .48)}.workout-action-dock.has-timer-controls .timer-actions button{border:1px solid var(--color-ink);color:var(--color-ink);background:0 0}.workout-action-dock.has-timer-controls .timer-actions svg{color:inherit}.workout-action-dock.has-timer-controls .timer-actions.is-paused .timer-toggle-button{background:var(--paused-blue);color:var(--color-white);border:0}.workout-action-dock.has-timer-controls .timer-rest-button:focus-visible{outline-color:var(--rest-color)}.previous-rest{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:.12em;display:inline-flex}.previous-rest svg{flex-shrink:0;width:.9em;height:.9em;display:block}.previous-rest strong{font:inherit}.session-shell .session-list-header{margin-bottom:12px}.session-list-times,.exercise-dock-times{font-variant-numeric:tabular-nums;white-space:nowrap;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.session-list-times{min-height:30px;margin-bottom:14px}.session-list-total{color:var(--color-ink);letter-spacing:-.035em;flex-shrink:0;font-size:22px;font-weight:800}.session-list-total .time-cell.is-leading-zero .time-digit,.session-list-total .time-colon.is-leading-zero,.exercise-dock-total .time-cell.is-leading-zero .time-digit,.exercise-dock-total .time-colon.is-leading-zero{color:var(--color-white);-webkit-text-stroke:1px var(--color-ink);paint-order:stroke fill}.session-list-rest-line,.exercise-dock-rest-line{color:var(--rest-color);letter-spacing:-.03em;align-items:center;gap:12px;margin-left:auto;font-size:20px;font-weight:800;line-height:1.25;display:flex}.session-list-rest-line .rest-time,.exercise-dock-rest-line .rest-time{color:inherit;font:inherit}.session-list-rest-line .previous-rest,.exercise-dock-rest-line .previous-rest{gap:4px}.session-list-rest-line .previous-time-icon,.exercise-dock-rest-line .previous-time-icon,.current-rest-tab .previous-time-icon{flex:0 0 1em;width:1em;height:1em;transform:scaleX(-1)}.exercise-dock-times{min-height:24px;margin-bottom:6px;padding:0 9px}.exercise-dock-total{color:var(--color-ink);letter-spacing:-.025em;flex-shrink:0;font-size:18px;font-weight:800}.exercise-dock-total .time-cell.is-leading-zero .time-digit,.exercise-dock-total .time-colon.is-leading-zero{-webkit-text-stroke-width:.8px}.exercise-dock-rest-line{letter-spacing:-.02em;font-size:16px}@media (width<=360px){.session-list-rest-line{gap:8px}.exercise-dock-rest-line{gap:9px}.exercise-dock-total{font-size:17px}}.page-header{justify-content:space-between;align-items:end;margin:4px 0 26px;display:flex}.page-header.title-back-header{align-items:center;display:grid}:is(.title-back-header.single-title-header,.utility-page .utility-header:has(>h1:only-child)){grid-template-columns:minmax(0,1fr)}.page-header.session-list-header{grid-template-columns:minmax(0,1fr) 44px;align-items:center}.progress-count{border:1px solid var(--color-ink);background:var(--color-white);border-radius:50%;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.exercise-list{border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:22px;overflow:hidden}.exercise-row{border:0;border-bottom:1px solid var(--color-grey-light);width:100%;min-height:78px;color:inherit;text-align:left;background:0 0;grid-template-columns:30px 1fr auto 14px;align-items:center;gap:10px;padding:12px 14px;display:grid}.exercise-row:last-child{border-bottom:0}.exercise-row.is-done{background:var(--color-green);color:var(--color-white)}.exercise-row.is-skipped{background:var(--color-red);color:var(--color-white)}.exercise-order{font-variant-numeric:tabular-nums;place-items:center;min-width:26px;font-size:14px;font-weight:700;display:grid}.exercise-row.is-done .exercise-copy small,.exercise-row.is-done .row-meta,.exercise-row.is-done .chevron,.exercise-row.is-skipped .exercise-copy small,.exercise-row.is-skipped .row-meta,.exercise-row.is-skipped .chevron{color:var(--color-white)}.exercise-copy strong{font-size:16px;display:block}.exercise-copy small{color:#707068;margin-top:5px;display:block}.row-meta{color:#707068;white-space:nowrap;font-size:12px;font-weight:800}.exercise-row.is-in-progress{background:var(--color-blue);color:var(--color-white)}.exercise-row.is-in-progress .exercise-copy small,.exercise-row.is-in-progress .row-meta,.exercise-row.is-in-progress .chevron{color:var(--color-white)}.prescribed-exercise-list{border-radius:20px}.exercise-row.prescribed-exercise-row{border-bottom-color:var(--color-grey-light);grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding:10px 14px}.prescribed-exercise-row .exercise-copy{min-width:0}.prescribed-exercise-row .exercise-copy strong{overflow-wrap:anywhere;line-height:1.25}.row-prescription{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.row-prescription-value{font-variant-numeric:tabular-nums;border-radius:7px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:850;line-height:1;display:inline-flex}.series-value{background:var(--color-series);color:var(--color-white)}.repetitions-value{background:var(--color-repetitions);color:var(--color-ink)}.prescribed-exercise-row .row-prescription-value{background:var(--color-ink);color:var(--color-white)}.prescribed-exercise-row:is(.is-done,.is-in-progress,.is-skipped) .row-prescription-value{color:var(--color-white);background:0 0}.history-weight{color:var(--color-blue);font-weight:600}.history-reps{color:var(--color-red);font-weight:600}.history-sets{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history-set{font-variant-numeric:tabular-nums;grid-template-columns:64px minmax(0,1fr) 70px;align-items:baseline;gap:12px;display:grid}.history-set-number{color:#666;font-size:13px}.history-reps{text-align:right}.exercise-screen{--exercise-stack-gap:12px;--exercise-history-gap:24px;--exercise-top-inset:max(12px, env(safe-area-inset-top));padding-top:var(--exercise-top-inset)}.exercise-header{margin-bottom:var(--exercise-stack-gap)}.exercise-header h1,.page-header.title-back-header h1{overflow-wrap:anywhere;line-height:1.12}.exercise-header h1{font-weight:850}.session-list-header h1{align-items:center;min-height:44px;margin:0;display:flex}.session-header-actions{align-items:center;gap:12px;display:flex}.session-header-actions .progress-count{flex-shrink:0}.page-header.exercise-title-row{margin:4px 0 0}.exercise-meta{flex-wrap:wrap;gap:6px 20px;margin:12px 0 0;font-size:16px;display:flex}.exercise-meta strong{color:var(--color-ink);font-weight:700}.exercise-prescription{margin-top:var(--exercise-stack-gap)}.prescription-badges{flex-wrap:wrap;gap:8px;width:100%;display:flex}.prescription-badge{text-align:center;white-space:nowrap;border-radius:7px;flex:.8 1 0;justify-content:center;align-items:center;gap:4px;min-width:max-content;height:26px;padding:4px 6px;font-size:clamp(11px,3.5vw,14px);line-height:1.2;display:flex}.prescription-badge strong{font-size:inherit;line-height:inherit;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:850}.prescription-badge>span{font-size:inherit;line-height:inherit;font-weight:700}.series-badge{background:var(--color-series);color:var(--color-white)}.repetitions-badge{background:var(--color-repetitions);color:var(--color-ink);flex-grow:1.35}.rest-badge{background:var(--color-prescription-rest);color:var(--color-white);flex-grow:1.15}@media (width<=420px){.prescription-badges[data-wide-values] .prescription-badge{letter-spacing:-.03em;gap:2px;padding:4px 2px;font-size:11px}}@media (width<=360px){.prescription-badges{gap:4px}.prescription-badge{letter-spacing:-.03em;gap:2px;padding:4px 2px;font-size:11px}.prescription-badges[data-wide-values] .prescription-badge{gap:1px;padding-inline:1px}}.entry-panel{--entry-panel-padding:18px;padding:var(--entry-panel-padding);border:1px solid var(--color-ink);background:var(--color-white);color:var(--color-ink);box-shadow:none;border-radius:22px;position:relative}.entry-panel h2{margin-bottom:16px}.entry-panel form{grid-template-columns:1fr 1fr;gap:10px;display:grid}.number-field>label,.entry-panel label>span{color:#5f5f58;margin:0 0 7px;font-size:12px;font-weight:800;display:block}.entry-panel input{border:1px solid var(--color-grey-light);background:var(--color-white);width:100%;min-height:58px;color:var(--color-ink);border-radius:13px;outline:none;padding:0 14px;font-size:22px;font-weight:800}.entry-panel input:focus{border-color:var(--color-ink);box-shadow:0 0 0 2px var(--color-ink)}.number-stepper{grid-template-columns:1fr 42px;display:grid}.number-stepper input{border-radius:13px 0 0 13px;min-width:0}.entry-panel .stepper-buttons{color:var(--color-ink);grid-template-rows:1fr 1fr;margin:0;display:grid}.stepper-buttons button{border:1px solid var(--color-grey-light);background:var(--color-white);min-width:42px;min-height:29px;color:var(--color-ink);border-left:0;padding:0;font-size:15px;font-weight:900;line-height:1}.stepper-buttons button:first-child{border-bottom:0;border-radius:0 13px 0 0}.stepper-buttons button:last-child{border-radius:0 0 13px}.stepper-buttons button:active{background:var(--color-ink);color:var(--color-white)}.set-add-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 54px 54px;gap:8px;margin-top:2px;display:grid}.repeat-set-button{border:1px solid var(--color-ink);background:var(--color-white);width:54px;height:54px;color:var(--color-ink);border-radius:15px;padding:0;font-weight:900}.repeat-set-button:active{background:var(--color-ink);color:var(--color-white)}.form-error{color:var(--color-ink);margin:10px 0 0;font-size:13px;font-weight:800}.current-sets{border-top:1px solid var(--color-grey-light);margin-top:16px}.current-set{border-bottom:1px solid var(--color-grey-light);grid-template-columns:max-content minmax(0,1fr) 38px;align-items:center;min-height:49px;display:grid}.current-set-label{background:var(--color-grey-light);color:var(--color-white);white-space:nowrap;border-radius:5px;margin-left:6px;padding:4px 10px;font-size:11px;font-weight:800;line-height:1.2}.current-set strong{text-align:right}.current-set button{color:#8d8c84;background:0 0;border:0;border-radius:50%;width:34px;height:34px;margin-left:4px;font-size:22px}.current-set .edit-set{width:auto;height:auto;min-height:44px;color:var(--color-ink);text-align:right;border-radius:6px;margin:0;font-size:16px;font-weight:750}.backup-panel{border:1px solid var(--color-grey-light);border-radius:16px;margin-top:24px;padding:16px}.backup-panel summary{cursor:pointer;font-weight:750}.program-export-panel{border:1px solid var(--color-ink);background:var(--color-white);border-radius:16px;margin-top:24px;padding:16px}.program-export-panel summary{cursor:pointer;font-weight:800}.export-mode{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.export-mode button{border:1px solid var(--color-grey-light);background:var(--color-white);min-height:46px;color:var(--color-ink);border-radius:12px;font-weight:800}.export-mode button.is-selected{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-white)}.export-range{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.export-range label span{color:#666;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:850;display:block}.export-range input{border:1px solid var(--color-grey-light);background:var(--color-white);width:100%;min-height:46px;color:var(--color-ink);border-radius:11px;padding:0 10px}.export-range strong{color:#666;grid-column:1/-1;font-size:12px}.export-json-button{width:100%;margin-top:14px}.backup-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.backup-import{border:1px solid var(--color-ink);cursor:pointer;border-radius:15px;place-items:center;min-height:54px;padding:0 18px;font-weight:800;display:grid}.backup-import input{width:160px}.backup-entry{background:var(--color-white);text-align:left;border:0;width:100%;min-height:44px;margin-top:8px;display:block}.exercise-note{margin-top:16px;display:block}.exercise-note>span{color:#5f5f58;margin-bottom:7px;font-size:12px;font-weight:800;display:block}.exercise-note textarea{resize:vertical;border:1px solid var(--color-grey-light);background:var(--color-white);width:100%;height:calc(2.8em + 26px);min-height:calc(2.8em + 26px);color:var(--color-ink);border-radius:13px;outline:none;padding:12px 14px;line-height:1.4;display:block}.exercise-note textarea:focus{border-color:var(--color-ink);box-shadow:0 0 0 2px var(--color-ink)}.done-button{border:1px solid var(--color-green);background:var(--color-green);width:100%;color:var(--color-white);margin-top:16px}.skip-button{border:1px solid var(--color-red);background:var(--color-red);width:100%;color:var(--color-white);margin-top:10px}.legacy-history{padding:28px 2px 20px}.section-heading{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.section-heading span{color:#7b7a73;text-transform:uppercase;font-size:11px;font-weight:800}.history-line{border-bottom:1px solid var(--color-grey-light);gap:12px;padding:18px 0;display:grid}.history-line>span{color:#77766f;font-size:12px;font-weight:800}.history-line p{margin:0;line-height:1.35}.history-performance small{color:#55554f;white-space:pre-wrap;margin-top:7px;line-height:1.4;display:block}.empty-history{border:1px solid var(--color-grey-light);background:var(--color-white);color:#666;border-radius:14px;padding:18px}.latest-exercise-history{margin-top:var(--exercise-history-gap);border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:24px;padding:18px 24px;position:relative}.latest-exercise-history>h2{background:var(--color-white);white-space:nowrap;max-width:calc(100% - 48px);margin:0;padding:0 5px;font-size:clamp(17px,5.1vw,20px);font-weight:850;line-height:1.2;position:absolute;top:0;left:24px;transform:translateY(-50%)}.latest-history-age{background:var(--color-white);max-width:calc(100% - 48px);color:var(--color-ink);white-space:nowrap;align-items:center;gap:7px;padding:0 6px;font-size:clamp(12px,3.8vw,15px);font-weight:850;line-height:1.2;display:flex;position:absolute;bottom:0;right:24px;transform:translateY(50%)}.asset-mask-icon{background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.latest-history-age time{font-variant-numeric:tabular-nums;min-width:0}.history-performance.is-badged .history-sets{gap:7px}.history-performance.is-badged .history-set{grid-template-columns:26px max-content minmax(6px,1fr) max-content;align-items:center;gap:9px;font-size:clamp(12px,3.6vw,16px);line-height:1.2}.history-performance.is-badged .history-set>span{min-width:0;font-size:inherit;white-space:nowrap;padding:0;font-weight:850}.history-performance.is-badged .history-set>.history-set-number{width:26px;height:26px;color:var(--color-ink);background:0 0;place-items:center;font-size:clamp(11px,3.5vw,14px);display:grid}.history-performance.is-badged .history-weight,.history-performance.is-badged .history-reps{background:0 0;align-items:center;height:26px;display:inline-flex}.history-performance.is-badged .history-set>.history-weight{background:var(--color-history-weight);color:var(--color-white);border-radius:6px;padding:0 6px}.history-performance.is-badged .history-reps{color:var(--color-ink);gap:.25em}.history-performance.is-badged .history-reps-unit{font-size:max(11px,.78em);font-weight:700}.history-set-dots{height:3px;color:var(--color-ink);opacity:.35;background-image:radial-gradient(circle at 1.5px 1.5px,currentColor 1px,#0000 1.4px);background-repeat:repeat-x;background-size:7px 3px;margin-top:5px}.history-performance.is-badged .history-set.has-wide-values{gap:6px;font-size:clamp(11px,3.1vw,14px)}.history-performance.is-badged small{color:#737373;overflow-wrap:anywhere;margin-top:14px;font-size:16px;line-height:1.4}.empty-recent-history{height:60px;color:var(--color-grey-light);place-items:center;display:grid}.empty-recent-history .numbers-blocks-icon{width:44px;height:41px}.exercise-analysis{margin-top:var(--exercise-history-gap);border:1px solid var(--color-grey-light);background:var(--color-white);color:var(--color-ink);border-radius:20px;padding:16px}.exercise-analysis .exercise-progress{border:0;border-radius:0;margin:0;padding:0}.exercise-analysis .legacy-history{padding:16px 0 0}.exercise-analysis .legacy-history:first-child{padding-top:0}.legacy-history .section-heading{margin-bottom:22px}.legacy-history .history-line{gap:10px;margin-bottom:19px;padding:0 0 20px}.legacy-history .history-line:last-child{margin-bottom:0}.history-line-header{color:var(--color-history-muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;line-height:1.4;display:flex}.history-line-header time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:400}.history-line-age{white-space:nowrap;font-weight:500}.history-performance.is-subtle .history-sets{gap:5px}.history-performance.is-subtle .history-set{grid-template-columns:20px max-content minmax(6px,1fr) max-content;align-items:center;gap:9px;min-height:30px;font-size:14px;line-height:1.4}.history-performance.is-subtle .history-set>span{white-space:nowrap;min-width:0}.history-performance.is-subtle .history-set-number{text-align:center;color:var(--color-history-muted);font-size:12px;font-weight:700}.history-performance.is-subtle .history-weight,.history-performance.is-subtle .history-reps{color:var(--color-history-muted);font-size:inherit;font-weight:750}.history-performance.is-subtle .history-reps-unit{font-size:12px;font-weight:500}.history-performance.is-subtle .history-set-dots{color:var(--color-grey-light);opacity:1}.history-performance.is-subtle .history-set.has-wide-values{gap:6px;font-size:clamp(11px,3.1vw,14px)}.history-performance.is-subtle .history-set.has-wide-values .history-reps-unit{font-size:max(11px,.85em)}.history-performance.is-subtle small{color:var(--color-history-muted);overflow-wrap:anywhere;margin-top:11px;font-size:12px;line-height:1.5}.history-performance.is-subtle>p{color:var(--color-history-muted);font-size:12px}.history-not-performed{height:56px;color:var(--color-history-muted);place-items:center;display:grid}.history-not-performed .scan-heart-icon{width:32px;height:32px}.exercise-analysis .history-line:last-child{border-bottom:0;padding-bottom:0}html:has(.exercise-screen[data-exercise-status=done]){--exercise-status-color:var(--color-green);--exercise-status-rgb:29, 182, 124}html:has(.exercise-screen[data-exercise-status=skipped]){--exercise-status-color:var(--color-red);--exercise-status-rgb:253, 94, 83}html:has(.exercise-screen.has-exercise-status){background:var(--exercise-status-color)}html:has(.exercise-screen.has-exercise-status) body{background:var(--exercise-status-color)}.exercise-status-label{color:var(--color-white);align-items:center;gap:6px;margin:8px 0 0;font-size:13px;font-weight:800;display:flex}.exercise-status-label svg{flex-shrink:0;width:18px;height:18px}.exercise-screen.has-exercise-status{background:var(--exercise-status-color);color:var(--color-white)}.has-exercise-status .exercise-header h1{color:var(--color-white)}.has-exercise-status .prescription-badge{background:var(--color-white);color:var(--exercise-status-color)}.has-exercise-status .entry-panel{padding:calc(var(--entry-panel-padding) + 1px);border:0}.has-exercise-status .latest-exercise-history{border-color:var(--color-white);background:var(--exercise-status-color);color:var(--color-white)}.has-exercise-status .latest-exercise-history>h2,.has-exercise-status .latest-history-age{background:var(--exercise-status-color);color:var(--color-white)}.has-exercise-status .latest-exercise-history .history-performance.is-badged .history-set-number{color:var(--color-white)}.has-exercise-status .latest-exercise-history .history-performance.is-badged .history-weight{background:var(--color-white);color:var(--exercise-status-color)}.has-exercise-status .latest-exercise-history .history-weight,.has-exercise-status .latest-exercise-history .history-reps{color:var(--color-white)}.has-exercise-status .history-set-dots{color:var(--color-white);opacity:.5}.has-exercise-status .latest-exercise-history .history-performance small,.has-exercise-status .empty-recent-history{color:var(--color-white)}.has-exercise-status .floating-dock-layer:before{background:linear-gradient(to bottom, rgba(var(--exercise-status-rgb), 0) 0, rgba(var(--exercise-status-rgb), .65) 14px, rgba(var(--exercise-status-rgb), .94) 32px, rgba(var(--exercise-status-rgb), .99) 48px, var(--exercise-status-color) 72px)}.has-exercise-status .exercise-action-dock{background:var(--exercise-status-color);border-color:var(--color-white)}.exercise-screen.has-exercise-status .exercise-action-dock>.done-button,.exercise-screen.has-exercise-status .exercise-action-dock>.skip-button{border:1px solid var(--color-white);color:var(--color-white);background:0 0}.exercise-screen.has-exercise-status .exercise-action-dock>:is(.done-button,.skip-button)[aria-pressed=true]{border-width:2px}.exercise-screen.has-exercise-status .exercise-action-dock .timer-actions .timer-rest-button,.exercise-screen.has-exercise-status .exercise-action-dock .timer-actions .timer-toggle-button,.exercise-screen.has-exercise-status .exercise-action-dock>.dock-back-button{background:var(--color-white);color:var(--exercise-status-color);border:0}.has-exercise-status .exercise-dock-total,.has-exercise-status .exercise-dock-rest-line{color:var(--color-white)}.has-exercise-status .exercise-dock-total .time-cell.is-leading-zero .time-digit,.has-exercise-status .exercise-dock-total .time-colon.is-leading-zero{color:var(--exercise-status-color);-webkit-text-stroke-color:var(--color-white)}@media (width<=699px) and (height<=720px) and (orientation:portrait){.exercise-screen .entry-panel{--entry-panel-padding:16px}.exercise-screen .entry-panel form{gap:8px}.exercise-screen .entry-panel input{min-height:54px}.exercise-screen .stepper-buttons button{min-height:27px}.exercise-screen .set-add-actions button{height:50px;min-height:50px}.exercise-screen .exercise-note{margin-top:12px}.exercise-screen .exercise-note textarea{height:calc(2.8em + 22px);min-height:calc(2.8em + 22px);padding-top:10px;padding-bottom:10px}}.exercise-progress{border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:20px;margin:28px 0 0;padding:16px}.progress-heading{margin-bottom:14px}.progress-heading h2{font-size:17px}.exercise-chart-summary{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.exercise-chart-summary strong{font-size:24px}.exercise-chart-summary span{color:#666;font-size:12px;font-weight:800}.exercise-progress svg{width:100%;height:auto;display:block;overflow:visible}.exercise-progress line{stroke:var(--color-grey-light);stroke-width:1px;vector-effect:non-scaling-stroke}.exercise-progress polyline{fill:none;stroke:var(--color-ink);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.exercise-progress circle{fill:var(--color-ink);stroke:var(--color-white);stroke-width:1.5px;vector-effect:non-scaling-stroke}.exercise-progress circle.latest-point{fill:var(--color-green)}.exercise-progress-axis{color:#77766f;text-transform:uppercase;justify-content:space-between;margin-top:3px;font-size:10px;font-weight:800;display:flex}.history-list{gap:12px;display:grid}.history-card{border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:20px;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.history-card h2{margin-bottom:8px}.history-card p:last-child{color:#6e6e66;margin:0}.empty-state{text-align:center;color:#6e6e66;margin-top:80px}.empty-state p{color:#171714;margin-bottom:5px;font-size:20px;font-weight:800}.summary-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.summary-screen>p:not(.eyebrow){color:#62625b;margin:0 0 20px}.summary-screen .secondary-button{width:100%}.summary-check{border:1px solid var(--color-ink);background:var(--color-ink);width:74px;height:74px;color:var(--color-white);border-radius:50%;place-items:center;margin-bottom:12px;font-size:34px;font-weight:900;display:grid}.history-actions{justify-items:stretch;gap:8px;display:grid}.text-button{min-height:38px;color:var(--color-ink);text-underline-offset:3px;background:0 0;border:0;font-weight:800;text-decoration:underline}.delete-button{font-size:12px}.finish-sheet{border:1px solid var(--color-ink);background:var(--color-white);border-radius:24px;width:min(100%,520px);padding:24px}.modal-sheet{width:min(100% - 36px,520px);max-height:calc(100dvh - 36px);color:var(--color-ink);margin:0 auto;position:fixed;inset:auto 18px 18px;overflow-y:auto}.modal-sheet::backdrop{background:#00000052}.finish-sheet h2{font-size:26px}.finish-sheet>p{color:#666;margin:8px 0 22px;line-height:1.45}.finish-sheet .full-button,.finish-sheet>.text-button{width:100%;margin-top:10px}.slide-confirm{border:1px solid var(--control-border);background:var(--color-grey-light);border-radius:18px;width:100%;height:66px;padding:0;display:block;position:relative}.slide-confirm .slide-caption{text-align:center;color:#555;pointer-events:none;justify-content:center;align-items:center;padding:0 8px 0 66px;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.slide-confirm .slide-handle{z-index:1;left:calc(6px + (100% - 64px) * var(--slide-progress));background:var(--rest-red);width:52px;height:52px;color:var(--color-white);pointer-events:none;border-radius:12px;place-items:center;display:grid;position:absolute;top:6px}.slide-handle svg{width:24px;height:24px}.slide-confirm input{z-index:2;opacity:0;appearance:none;cursor:grab;touch-action:pan-y;background:0 0;border:0;width:calc(100% - 12px);height:64px;min-height:64px;margin:0;padding:0;position:absolute;inset:0 6px}.slide-confirm input::-webkit-slider-runnable-track{background:0 0;height:64px}.slide-confirm input::-webkit-slider-thumb{appearance:none;border:0;width:52px;height:52px;margin-top:6px}.slide-confirm input::-moz-range-track{background:0 0;border:0;height:64px}.slide-confirm input::-moz-range-thumb{border:0;border-radius:12px;width:52px;height:52px}.slide-confirm:focus-within{outline:2px solid var(--color-ink);outline-offset:3px}.slide-confirm.is-dragging input{cursor:grabbing}@media (prefers-reduced-motion:no-preference){.slide-confirm:not(.is-dragging) .slide-handle{transition:left .18s ease-out}}.program-page-header,.program-page-header .home-actions{align-items:center}@media (width<=480px){.program-page-header{flex-wrap:wrap;gap:16px}.program-page-header .home-actions{margin-left:auto}}.compact-button{border:1px solid var(--color-ink);background:var(--color-ink);min-height:46px;color:var(--color-white);border-radius:13px;padding:0 15px;font-weight:850}.program-management-list{gap:10px;display:grid}.managed-program{border:1px solid var(--color-grey-light);background:var(--color-white);width:100%;min-height:82px;color:var(--color-ink);text-align:left;border-radius:18px;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:14px;display:grid}.managed-program strong,.managed-program small{display:block}.managed-program small{color:#666;margin-top:5px}.small-letter{border-radius:14px;width:50px;height:50px;font-size:24px}.program-editor{padding-bottom:50px}.program-editor-heading{margin-bottom:18px}.program-settings,.editable-exercise,.add-exercise-section,.archived-section{border:1px solid var(--color-grey-light);background:var(--color-white);border-radius:18px;padding:16px}.program-settings{grid-template-columns:100px 1fr;gap:10px;display:grid}.program-settings label span,.editor-grid label span,.add-exercise-section label>span{color:#666;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:850;display:block}.program-settings input,.editor-grid input,.add-exercise-section input{border:1px solid var(--color-grey-light);background:var(--color-white);width:100%;min-height:47px;color:var(--color-ink);border-radius:11px;padding:0 12px}.editor-section{margin-top:28px}.editable-exercises{gap:12px;display:grid}.editable-title{align-items:center;gap:10px;margin-bottom:13px;display:flex}.editable-title>span{border:1px solid var(--color-ink);border-radius:8px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.editor-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.editor-grid label:first-child{grid-column:1/-1}.editor-grid.two-columns label:first-child{grid-column:auto}.move-destinations{gap:8px;display:grid}.program-toast{z-index:20;left:50%;bottom:max(20px, env(safe-area-inset-bottom));background:var(--color-ink);width:max-content;max-width:calc(100% - 36px);color:var(--color-white);text-align:center;border-radius:12px;padding:11px 15px;font-weight:800;position:fixed;transform:translate(-50%)}.add-exercise-section h2{margin-bottom:14px}.add-exercise-section .editor-grid{margin:10px 0}.archived-exercise{border-bottom:1px solid var(--color-grey-light);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.archived-exercise:last-child{border-bottom:0}.archived-exercise strong,.archived-exercise small{display:block}.archived-exercise small{color:#666;margin-top:4px}.archived-exercise .secondary-button{min-height:42px}@media (width>=700px){.app-shell{padding-left:28px;padding-right:28px}.program-grid{grid-template-columns:1fr 1fr}.program-grid:has(.has-session-tabs){row-gap:42px;padding-top:30px}.program-card-shell.has-session-tabs{margin-top:0}}@media (prefers-reduced-motion:no-preference){button{transition:transform .12s,background-color .2s,border-color .2s}}@media (prefers-reduced-motion:reduce){.loading-mark{animation:none}}.set-add-actions.is-editing{grid-template-columns:1fr 1fr}.history-edit-dock .primary-button{font-size:15px}.utility-page{--utility-border:var(--color-grey-light);--utility-muted:#666;--utility-green:var(--color-green);--utility-json:var(--color-blue);--utility-danger:var(--color-red);padding-bottom:max(32px, env(safe-area-inset-bottom))}.utility-page .utility-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 24px;display:grid}.utility-page .utility-header h1{overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.1}:is(.utility-page .utility-header:has(.settings-header-actions>:nth-child(2)),.utility-page .program-page-header){flex-wrap:wrap;display:flex}.utility-header>.settings-header-actions,.program-page-header>.home-actions{margin-left:auto}.utility-header .inline-back-button{flex:0 0 44px}.utility-page button,.utility-page input,.utility-page label,.utility-page section,.utility-page details{min-width:0}.utility-page .primary-button,.utility-page .secondary-button{border-radius:12px;min-height:52px;padding:12px 16px;font-size:15px;line-height:1.3}.utility-page .primary-button{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-white)}.utility-page .secondary-button{border:1px solid var(--utility-border);background:var(--color-white);color:var(--color-ink)}.utility-page button:disabled{cursor:default;opacity:.4}.utility-page .full-button{width:100%}.utility-page .utility-card{border:1px solid var(--utility-border);background:var(--color-white);border-radius:20px;padding:20px}.utility-page h2{font-size:20px;line-height:1.2}.utility-page p{line-height:1.5}.utility-muted{color:var(--utility-muted,#666);font-size:14px}.utility-error{color:var(--color-red);font-size:14px;line-height:1.5}.utility-page .utility-text-action{min-height:44px;color:var(--color-ink);text-align:left;background:0 0;border:0;padding:8px 0;font-size:14px;font-weight:650}.utility-page .utility-danger{color:var(--utility-danger)}.utility-page .utility-danger-fill{background:var(--utility-danger);border-color:var(--utility-danger)}.utility-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.utility-page .utility-info{margin-top:24px}.utility-info h2{font-size:17px}.utility-info p{color:var(--utility-muted);font-size:14px}.utility-page label{gap:8px;display:grid}.utility-page label>span{color:var(--utility-muted);text-transform:none;margin:0;font-size:14px;font-weight:600}.utility-page input:not([type=file]):not([type=range]){border:1px solid var(--utility-border);background:var(--color-white);width:100%;min-width:0;min-height:52px;color:var(--color-ink);border-radius:12px;padding:12px;font-size:16px}.utility-page input:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.utility-page input[hidden]{display:none!important}.settings-header-actions{align-items:center;gap:8px;display:flex}.settings-logout{background:var(--rest-red);width:44px;height:44px;color:var(--color-white);border:0;border-radius:14px;flex:0 0 44px;place-items:center;padding:0;display:grid}.utility-page .action-dock .settings-logout{background:var(--rest-red);width:100%;color:var(--color-white);justify-content:center;align-items:center;gap:12px;display:flex}.settings-logout svg{width:24px;height:24px}.settings-identity{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:24px;display:grid}.settings-avatar{background:var(--color-ink);width:52px;height:52px;color:var(--color-white);border-radius:14px;place-items:center;font-size:26px;font-weight:800;line-height:1;display:grid}.settings-account-copy{gap:4px;min-width:0;display:grid}.settings-account-copy>span{color:var(--utility-muted);font-size:14px;line-height:1.4}.settings-account-copy>strong{color:var(--color-ink);overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.3}.utility-page .settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.utility-page .settings-tile{text-align:left;border:1px solid var(--utility-border);background:var(--color-white);min-height:132px;color:var(--color-ink);border-radius:20px;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:18px;display:flex}.settings-tile-icon{border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.settings-tile svg{width:30px;height:30px;margin:0;display:block}.utility-page .settings-tile strong{font-size:17px;line-height:1.3;display:block}.utility-page .settings-tile.csv{background:var(--utility-green);border-color:var(--utility-green);color:var(--color-white)}.utility-page .settings-tile.json{background:var(--utility-json);border-color:var(--utility-json);color:var(--color-white)}.settings-backup-row{border:1px solid var(--utility-border);background:var(--color-white);width:100%;min-height:80px;color:var(--color-ink);text-align:left;border-radius:20px;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:14px;margin-top:12px;padding:18px;display:grid}.settings-backup-row svg{width:32px;height:32px}.settings-backup-row strong{font-size:18px}.admin-icon-button,.admin-delete-button{background:var(--color-ink);width:44px;height:44px;color:var(--color-white);border:0;border-radius:14px;flex:0 0 44px;place-items:center;padding:0;display:grid}.admin-delete-button{background:var(--color-red)}.admin-users{gap:12px;display:grid}.admin-user-card{gap:16px;display:grid}.admin-user-identity{grid-template-columns:52px minmax(0,1fr);align-items:center;gap:16px;display:grid}.admin-user-copy{justify-items:start;gap:8px;min-width:0;display:grid}.admin-user-copy>strong{overflow-wrap:anywhere;font-size:17px;font-weight:800;line-height:1.3}.admin-user-status{background:var(--color-grey-light);color:#666;border-radius:7px;align-items:center;min-height:24px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.4;display:inline-flex}.admin-user-status.is-active{background:var(--color-green);color:var(--color-white)}.admin-user-actions{grid-template-columns:minmax(0,1fr) 52px;gap:12px;display:grid}.admin-user-actions .secondary-button,.admin-create-button,.admin-copy-all{justify-content:center;align-items:center;gap:10px;display:flex}.admin-user-actions .admin-delete-button,.admin-copy-button{width:52px;height:52px}.utility-page .admin-user-actions .admin-activate{background:var(--color-green);border-color:var(--color-green);color:var(--color-white)}.admin-protected{color:var(--utility-muted);align-items:center;gap:8px;font-size:13px;line-height:1.4;display:flex}.admin-protected svg{flex:0 0 20px;width:20px;height:20px}.admin-create-form,.admin-credentials{gap:20px;display:grid}.admin-create-form>p,.admin-credentials-note{margin:0}.admin-credentials-note{margin-bottom:20px}.admin-credential{gap:8px;min-width:0;display:grid}.admin-credential-row{grid-template-columns:minmax(0,1fr) 52px;align-items:center;gap:12px;display:grid}.admin-password-field,.admin-username-field{min-width:0;position:relative}.utility-page .admin-password-field input{padding-right:56px}.admin-password-toggle{background:var(--color-white);width:44px;height:44px;color:var(--color-ink);border:0;border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.admin-copy-button.is-copied{background:var(--color-green)}.admin-credentials-close,.admin-retry{margin-top:20px}.admin-delete-dialog{inset:auto 18px max(18px, env(safe-area-inset-bottom));width:min(100% - 36px,520px);max-height:calc(100dvh - 36px);color:var(--color-ink);margin:0 auto;position:fixed;overflow-y:auto}.admin-delete-dialog::backdrop{background:#00000052}.admin-delete-dialog h2{overflow-wrap:anywhere}.utility-page .export-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.utility-page .export-mode button{border:1px solid var(--utility-border);background:var(--color-white);min-height:52px;color:var(--color-ink);border-radius:12px;padding:12px 8px;font-size:15px;font-weight:700}.utility-page .export-mode button.is-selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}.utility-page .export-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.utility-page .export-range input{min-inline-size:0;max-width:100%;padding:12px 6px;font-size:14px}.utility-page .export-count{margin:24px 0 16px;font-size:15px;font-weight:650}.utility-page .export-download{width:100%;margin-top:8px}.utility-page .export-download.csv{background:var(--utility-green);border-color:var(--utility-green)}.utility-page .export-download.json{background:var(--utility-json);border-color:var(--utility-json);color:var(--color-white)}.utility-page .utility-backups{border:0;gap:16px;margin:0;padding:0;display:grid}.utility-backups h2{margin:0}.utility-backups .full-button{margin-top:8px}.backup-list{margin-top:16px}.utility-page .backup-entry{border:0;border-top:1px solid var(--color-grey-light);background:var(--color-white);width:100%;min-height:64px;color:var(--color-ink);text-align:left;overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:16px 0;font-size:14px;display:flex}.backup-entry strong,.backup-entry small{display:block}.backup-entry small{color:var(--utility-muted);margin-top:6px;font-size:13px}.backup-filename{overflow-wrap:anywhere;font-size:14px}.backup-preview .utility-action-row{margin-top:20px}.advanced-recovery{gap:12px;margin-top:8px;display:grid}.advanced-recovery h2{margin-bottom:4px}.recovery-action{border:1px solid var(--utility-border);background:var(--color-white);width:100%;min-height:72px;color:var(--color-ink);text-align:left;border-radius:20px;align-items:center;gap:14px;padding:14px 16px;display:flex}.recovery-action strong{font-size:15px;line-height:1.4}.recovery-icon{background:var(--color-ink);width:40px;height:40px;color:var(--color-white);border-radius:12px;flex:0 0 40px;place-items:center;display:grid}.utility-page .program-page-header{flex-wrap:wrap}.utility-page .program-page-header .home-actions{align-items:center;gap:8px}.utility-page .program-page-header .compact-button{border-radius:12px;min-height:44px;padding:0 12px;font-size:14px}.program-list-page .managed-program{border-radius:20px;padding:16px}.program-list-page .managed-program>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.program-list-page .managed-program strong{font-size:18px}.program-list-page .managed-program small{font-size:14px}.utility-page .program-settings{grid-template-columns:80px minmax(0,1fr);gap:12px;display:grid}.utility-page .editor-section{margin-top:24px}.utility-page .section-heading{align-items:center;margin-bottom:12px}.utility-page .section-heading>span:not(.progress-count){color:var(--utility-muted);font-size:14px}.utility-page .section-heading .progress-count{color:var(--color-ink);flex:0 0 44px;font-size:16px;font-weight:900}.program-editor{overflow-anchor:none}.reorder-scroll-space{pointer-events:none;height:0}.utility-page .action-dock>button{height:var(--dock-button-size);min-height:var(--dock-button-size);border-radius:var(--dock-button-radius);border:0;margin:0;padding:0 8px;font-size:16px;line-height:1.2}.utility-page .action-dock .dock-back-button{padding:0}@media (width<=360px){.utility-page .action-dock>button{font-size:14px}}.program-exercise-list{border:1px solid var(--utility-border);border-radius:20px;overflow:hidden}.program-exercise-list:empty{display:none}.utility-page .program-exercise-row{border:0;border-bottom:1px solid var(--color-grey-light);background:var(--color-white);width:100%;color:var(--color-ink);text-align:left;border-radius:0;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:12px;padding:12px 16px;display:grid}.program-exercise-row:last-child{border-bottom:0}.utility-page .program-exercise-edit{width:100%;max-width:100%;min-height:88px;color:var(--color-ink);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:0;display:flex}.program-exercise-edit>.exercise-order{flex:0 0 28px}.program-exercise-edit>span:nth-child(2){flex:1;min-width:0}.exercise-reorder{border:1px solid var(--utility-border);border-radius:12px;display:grid;overflow:hidden}.utility-page .reorder-button{background:var(--color-white);width:42px;height:44px;color:var(--color-ink);border:0;place-items:center;padding:0;display:grid}.reorder-button+.reorder-button{border-top:1px solid var(--color-grey-light)}.reorder-button svg{width:20px;height:20px}.reorder-button:disabled{background:var(--color-grey-light)}.program-exercise-row strong{overflow-wrap:anywhere;font-size:17px;line-height:1.35;display:block}.program-exercise-row small{color:var(--utility-muted);overflow-wrap:anywhere;margin-top:6px;font-size:13px;line-height:1.5;display:block}.program-exercise-row small b{font-weight:650}.utility-page .exercise-order{color:var(--utility-muted)}.utility-page .exercise-edit-form{gap:20px;display:grid}.prescription-fields{gap:16px;display:grid}.prescription-field{border:1px solid var(--utility-border);border-radius:15px;min-width:0;margin:0;padding:14px}.prescription-field legend{color:var(--color-ink);padding:0 6px;font-size:15px;font-weight:750}.prescription-mode{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.prescription-mode button{border:1px solid var(--utility-border);background:var(--color-white);color:#666;border-radius:12px;min-height:44px;padding:8px 12px;font-size:14px;font-weight:750}.prescription-mode button.is-selected{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-white)}.prescription-inputs{align-items:center;gap:8px;display:flex}.prescription-inputs input{text-align:center;font-variant-numeric:tabular-nums;flex:1 1 0}.prescription-inputs>span{color:#666}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.legacy-prescription-warning{margin:0}@media (width>=700px){.prescription-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}.utility-page .exercise-tools{gap:12px;margin-top:16px;display:grid}.utility-page .exercise-tools .move-destinations{gap:8px}.utility-page .archived-section{border:0;border-radius:0;padding:0}.archived-exercise-list{border:1px solid var(--utility-border);background:var(--color-white);border-radius:20px;overflow:hidden}.utility-page .archived-exercise{border-bottom:1px solid var(--color-grey-light);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:84px;padding:16px;display:grid}.utility-page .archived-exercise:last-child{border-bottom:0}.archived-exercise strong{overflow-wrap:anywhere;min-width:0;font-size:17px;line-height:1.35}.utility-page .archived-exercise .secondary-button{padding:12px;font-size:14px}.utility-page .program-save-actions{margin-top:24px}.program-danger-zone{gap:12px;margin-top:12px;display:grid}.utility-page .slide-confirm{display:block}.utility-page .slide-confirm input{border:0;min-height:64px;padding:0}.archived-programs>h2{margin-bottom:12px}@media (width<=420px){.utility-page .utility-card{padding:16px}.utility-page .settings-tile{min-height:126px;padding:16px}.utility-page .settings-tile strong{font-size:16px}}@media (width<=360px){.utility-page .program-page-header{gap:8px}.utility-page .program-page-header .home-actions{gap:2px}.utility-page .program-page-header .compact-button{padding:0 8px;font-size:13px}.utility-page .export-range{grid-template-columns:1fr}.utility-page .program-settings{grid-template-columns:64px minmax(0,1fr)}}.restore-progress{border:1px solid var(--color-ink);background:var(--color-white);max-width:min(420px,100vw - 32px);color:var(--color-ink);border-radius:24px;padding:24px}.restore-progress::backdrop{background:#ffffffd9}.restore-progress p,.workspace-wait p{line-height:1.5}.workspace-wait{padding-top:40px}
