:root{--bg:#151515;--bg-deep:#1b1b1a;--surface:#1f1f1e;--surface-2:#292927;--surface-3:#333331;--surface-4:#3f3f3c;--line:#2c2c2a;--line-strong:#4a4945;--text:#ecebe6;--text-2:#d6d4cc;--muted:#9a9890;--faint:#74726b;--hover:#fffcf00f;--bar:#262624d1;--glass:#3c3c3859;--action:#242422f7;--action-line:#353532;--contrast:#ecebe6;--on-contrast:#151515;--on-accent:#111;--shadow:#0006;--scrim:#00000080;--accent:#7fc4a3;--accent-deep:color-mix(in srgb, var(--accent) 26%, #151515);--accent-soft:color-mix(in srgb, var(--accent) 48%, #3e3d39);--accent-mid:color-mix(in srgb, var(--accent) 55%, #1a1a19);--accent-tint:color-mix(in srgb, var(--accent) 14%, #171716);--accent-line:color-mix(in srgb, var(--accent) 30%, #1a1a19);--danger:#e5675a;--body:#141413;--muscle:#262522;--outline:#57544c;--accent-text:var(--accent);--display:"Bricolage Grotesque", -apple-system, sans-serif;--display-weight:700;--display-stretch:normal;--display-tracking:-.03em;--sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, monospace;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--tabbar-h:58px;--radius:20px;--ease-out:cubic-bezier(.22, .8, .24, 1);--ease-in:cubic-bezier(.5, 0, .9, .4);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--t-fast:.16s;--t-med:.28s;--t-slow:.38s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f8f8f6;--bg-deep:#efeee9;--surface:#fff;--surface-2:#f0efea;--surface-3:#e7e6e0;--surface-4:#dddbd3;--line:#e6e4dd;--line-strong:#c9c6bc;--text:#1f1e1d;--text-2:#33322f;--muted:#75736c;--faint:#9a978e;--hover:#281e000d;--bar:#fffffdd6;--glass:#fffffd99;--action:#fffffdfa;--action-line:#e8e6df;--contrast:#1f1e1d;--on-contrast:#fff;--shadow:#281e001a;--scrim:#1e190a38;--body:#f6f5f1;--muscle:#e2e0d9;--outline:#bdb9ae;--accent-text:color-mix(in srgb, var(--accent) 78%, #1d1d1d);--accent-deep:color-mix(in srgb, var(--accent) 45%, #fff);--accent-soft:color-mix(in srgb, var(--accent) 55%, #9a9a9a);--accent-mid:color-mix(in srgb, var(--accent) 65%, #6b6b6b);--accent-tint:color-mix(in srgb, var(--accent) 22%, #fff);--accent-line:color-mix(in srgb, var(--accent) 50%, #9a9a9a);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);overscroll-behavior:none;margin:0;font-size:17px;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}button:disabled{opacity:.35;cursor:default}input{font:inherit;color:inherit}.display{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);letter-spacing:var(--display-tracking);margin:0;line-height:1}.accent{color:var(--accent-text)}.muted{color:var(--muted);margin:0}.small{font-size:14px}.app{background:var(--bg);max-width:480px;margin:0 auto;position:fixed;inset:0;overflow:hidden}.viewport{inset:var(--safe-top) 0 0;position:absolute}.screen{touch-action:pan-y;padding:0 16px calc(var(--tabbar-h) + var(--safe-bottom) + 40px);-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow-y:auto}.tabbar-spacer{height:24px}.navbar{z-index:5;background:var(--bg);border-bottom:.5px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;height:44px;margin:0 -16px;padding-inline:8px;transition:border-color .2s;display:grid;position:sticky;top:0}.navbar.scrolled{border-bottom-color:var(--line)}.navbar-side{align-items:center;min-width:0;display:flex}.navbar-side.right{justify-content:flex-end}.navbar-title{white-space:nowrap;text-overflow:ellipsis;max-width:220px;margin:0;font-size:17px;font-weight:600;transition:opacity .15s;overflow:hidden}.navbar-title.hidden{opacity:0}.nav-back{background:var(--surface-2);width:40px;height:40px;color:var(--text);border-radius:50%;place-items:center;margin-left:6px;display:grid}.nav-back span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.icon-btn{place-items:center;width:44px;height:44px;display:grid}.icon-btn.danger{color:var(--danger)}.large-title{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin:8px 0 10px;font-size:42px;line-height:1}.large-title.flush{margin-top:40px}.section-title{font-family:var(--display);font-stretch:var(--display-stretch);font-size:26px;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin:30px 0 12px}.dock{left:16px;right:16px;bottom:max(calc(var(--safe-bottom) + 2px), 12px);z-index:20;height:var(--tabbar-h);pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute}.dock>*{pointer-events:auto}.tabbar{background:var(--bar);-webkit-backdrop-filter:blur(24px)saturate(1.3);height:100%;box-shadow:0 10px 34px var(--shadow), inset 0 0 0 .5px var(--line);border-radius:999px;flex:1;grid-template-columns:repeat(3,1fr);align-items:center;padding:0 6px;display:grid;position:relative}.tab{z-index:1;width:52px;height:44px;color:var(--muted);border-radius:22px;justify-self:center;place-items:center;display:grid;position:relative}.tab.on{color:var(--accent-text)}.tab svg{transition:scale .32s var(--ease-spring)}.tab.on svg{scale:1.06}.tab-indicator{top:50%;left:calc(6px + (100% - 12px) / 6 * (2 * var(--tab,0) + 1));background:var(--accent-tint);border-radius:22px;width:52px;height:44px;margin:-22px 0 0 -26px;transition:left .36s cubic-bezier(.25,.9,.3,1);position:absolute}.start-btn{width:var(--tabbar-h);white-space:nowrap;background:var(--bar);height:100%;color:var(--text);-webkit-backdrop-filter:blur(24px)saturate(1.3);box-shadow:0 10px 34px var(--shadow), inset 0 0 0 .5px var(--line);transition:width var(--t-slow) var(--ease-out);border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:500;display:flex;overflow:hidden}.start-btn svg{color:var(--accent-text)}.start-btn.running{width:128px}.dock .start-btn{transition:width var(--t-slow) var(--ease-out), scale .18s var(--ease-out)}.start-btn.running>*{animation:fade-in var(--t-med) ease-out both}.start-timer{font-variant-numeric:tabular-nums}.live-dot{background:var(--accent);border-radius:50%;width:9px;height:9px;animation:1.8s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.35}}.bodymap{flex-direction:column;align-items:center;margin:4px 0 0;display:flex;position:relative}.bodymap-figures{justify-content:center;gap:0;width:100%;display:flex}.bodymap-figure{width:42%;max-width:170px;height:auto}.bm-silhouette{fill:var(--body);stroke:var(--outline);stroke-width:1.3px}.bm-muscle{fill:var(--muscle);stroke:var(--body);stroke-width:1.7px;stroke-linejoin:round;transition:fill .3s}.bm-muscle.quiet:not(.primary):not(.secondary){fill:var(--body)}.bm-muscle.primary{fill:var(--accent)}.bm-muscle.secondary{fill:var(--accent-soft)}.bodymap-label{color:var(--muted);align-items:center;gap:7px;margin-top:10px;font-size:13.5px;display:flex;position:relative}.bodymap-label:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px}.bodymap.mini{width:100%;margin:0}.bodymap.mini .bodymap-figure{width:46%}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin:0 -16px;padding:0 16px 8px;scroll-padding-inline:16px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.routine-card{scroll-snap-align:start;background:var(--surface);text-align:center;border-radius:26px;flex-direction:column;flex:0 0 244px;justify-content:flex-end;align-items:center;gap:2px;height:300px;padding:20px 16px;display:flex}.routine-card .bodymap{flex:1;justify-content:center;width:100%;min-height:0;padding:6px 0 10px}.routine-card .bodymap-figures{height:100%;min-height:0}.routine-card .bodymap-figure{width:auto;max-width:46%;height:100%}.routine-card strong{font-family:var(--display);font-stretch:var(--display-stretch);font-size:23px;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin-top:6px}.routine-card small{color:var(--muted);font-size:13.5px}.routine-stats{gap:14px;font-size:14px;display:flex}.routine-stats b{font-weight:600}.routine-stats.muted{color:var(--muted)}.routine-card.new{justify-content:center;gap:6px}.plus-circle{background:var(--accent-deep);width:64px;height:64px;color:var(--accent-text);border-radius:50%;place-items:center;margin-bottom:14px;display:grid}.title-input{width:100%;font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);background:0 0;border:0;outline:none;margin-top:14px;padding:0;font-size:40px}.title-input::placeholder{color:var(--line-strong)}.big-stat{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:56px;line-height:.95}.pill-btn{border-radius:22px;justify-content:center;align-items:center;gap:10px;height:44px;padding:0 24px;font-size:18px;font-weight:600;display:inline-flex}.pill-btn.primary{background:var(--accent);color:var(--on-accent)}.pill-btn.dark{background:var(--surface-2);color:var(--text)}.pill-btn.light{background:var(--contrast);color:var(--on-contrast)}.pill-btn.center{margin:20px auto 0;display:flex}.pill-btn.floating{position:absolute;top:40%;box-shadow:0 6px 24px #00000080}.exercise-list{margin-top:24px}.drag-row{transition:transform var(--t-med) var(--ease-out);align-items:center;display:flex;position:relative}.drag-row>.exercise-row{flex:1;min-width:0}.drag-handle{width:40px;height:48px;color:var(--faint);touch-action:none;cursor:grab;flex:none;place-items:center;margin-right:-10px;display:grid}.drag-row.lifted{z-index:2;background:var(--surface);box-shadow:0 0 0 10px var(--surface), 0 14px 34px 10px var(--shadow);border-radius:6px;transition:none}.drag-row.lifted.settling{transition:transform .26s var(--ease-out), box-shadow .26s ease, background-color .26s ease;background:0 0;box-shadow:0 0 0 10px #0000,0 14px 34px 10px #0000}.exercise-list.drag-frozen .drag-row{transition:none}.drag-row.lifted .drag-handle{color:var(--text);cursor:grabbing}.exercise-list.drag-drag{-webkit-user-select:none;user-select:none}.exercise-row,.workout-row{text-align:left;align-items:center;gap:16px;width:100%;padding:14px 0;display:flex}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-main strong{font-size:18px;font-weight:500}.row-main small{color:var(--muted);font-size:14px}.row-main i,.reps-x-sets i,.plan i{opacity:.7;margin:0 3px;font-style:normal}.reps-x-sets{color:var(--muted);font-size:15px}.num-badge{background:var(--accent-deep);color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.num-badge.muted{background:var(--surface-4);color:var(--text)}.order-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:10px;display:flex}.order-dot{background:var(--surface-2);border-radius:50%;width:38px;height:38px;font-weight:600}.order-dot.on{background:var(--accent);color:var(--on-accent)}.times{align-self:center;margin-top:-26px;font-size:30px;font-weight:300}.sheet-root{z-index:40;position:absolute;inset:0}.sheet-backdrop{background:var(--scrim);animation:.2s fade;position:absolute;inset:0}.sheet{bottom:0;left:0;right:0;top:calc(var(--safe-top) + 12px);background:var(--bg);border-radius:28px 28px 0 0;flex-direction:column;transition:top .3s cubic-bezier(.2,.8,.2,1),transform .25s;animation:.32s cubic-bezier(.2,.8,.2,1) rise;display:flex;position:absolute}.sheet.half{top:22%;left:8px;right:8px;bottom:calc(var(--safe-bottom) + 8px);background:var(--surface);border-radius:36px;overflow:hidden}.sheet-handle{touch-action:none;cursor:grab;flex:none;place-items:center;height:22px;display:grid}.grabber{background:var(--surface-4);border-radius:3px;width:36px;height:5px}.sheet-body{overscroll-behavior:contain;padding:0 16px calc(var(--safe-bottom) + 24px);flex:1;overflow-y:auto}@keyframes rise{0%{transform:translateY(100%)}}@keyframes fade{0%{opacity:0}}.action-root{z-index:60}.action-sheet{left:8px;right:8px;bottom:calc(var(--safe-bottom) + 8px);flex-direction:column;gap:8px;animation:.25s rise;display:flex;position:absolute}.action-group{background:var(--action);border-radius:14px;overflow:hidden}.action-group button,.action-cancel{width:100%;height:57px;color:var(--text);font-size:20px}.action-group button+button{border-top:.5px solid var(--action-line)}.action-group .destructive{color:var(--danger)}.action-cancel{background:var(--surface-2);border-radius:14px;font-weight:600}.nav-cards{border-radius:var(--radius);background:var(--surface);flex-direction:column;margin-top:24px;display:flex;overflow:hidden}.nav-card{text-align:left;align-items:center;gap:16px;padding:15px 18px;display:flex;position:relative}.nav-card+.nav-card:before{content:"";border-top:.5px solid var(--line);position:absolute;top:0;left:56px;right:0}.nav-card:active{background:var(--hover)}.nav-card-icon{width:22px;color:var(--text-2);flex:none;place-items:center;display:grid}.nav-card span{flex-direction:column;flex:1;gap:1px;display:flex}.nav-card strong{font-size:17px;font-weight:500}.nav-card small{color:var(--muted);font-size:14px}.nav-card>svg{color:var(--faint)}.navbar.in-sheet{height:56px;margin:0 -16px;padding-top:0;position:sticky;top:0}.search{background:var(--surface-2);height:50px;color:var(--muted);border-radius:14px;align-items:center;gap:10px;margin:16px 8px 8px;padding:0 16px;display:flex}.search input{color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:18px}.list-header{color:var(--muted);margin:24px 0 8px 16px;font-size:15px}.inset-list{border-radius:var(--radius);background:var(--surface);overflow:hidden}.inset-list>button,.inset-list>.list-button{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:46px;padding:10px 16px;font-size:18px;display:flex;position:relative}.inset-list>button+button:before,.inset-list>button+.list-button:before{content:"";border-top:.5px solid var(--line);position:absolute;top:0;left:16px;right:0}.inset-list.exercises>button{min-height:63px;padding-left:14px}.inset-list.exercises>button+button:before{left:62px}.inset-list .value{color:var(--muted);align-items:center;gap:6px;display:flex}.inset-list .sub-option{color:var(--muted);padding-left:32px}.eq-icon{width:34px;color:var(--text-2);flex:none;place-items:center;display:grid}.select-circle{border:2px solid var(--line-strong);border-radius:50%;flex:none;place-items:center;width:25px;height:25px;display:grid}.select-circle.on{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.add-selected{margin:20px auto 0;display:flex;position:sticky;bottom:16px;box-shadow:0 6px 24px #0009}.empty-note{text-align:center;color:var(--muted);margin:32px 0}.workout-sheet{background:var(--bg)}.workout-body{flex-direction:column;align-items:stretch;display:flex}.workout-body>*{flex-shrink:0}.workout-name{text-align:center;margin-top:22px;font-size:40px}.ring-pct{text-align:center;margin:12px 0 6px;font-size:18px;font-weight:600}.ring{align-self:center;position:relative}.ring svg{width:100%;height:100%}.ring-track{fill:none;stroke:var(--accent-tint);stroke-width:5px}.ring-progress{fill:none;stroke:var(--accent-text);stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .6s}.tick{stroke:var(--line-strong);stroke-width:.7px;stroke-linecap:round}.tick.minor{stroke:var(--line);stroke-width:.5px}.tick.on{stroke:var(--text);stroke-width:.9px}.ring-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-time,.ring-mass{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;font-size:42px;line-height:1.05}.ring-mass{font-size:var(--mass-size,34px);color:var(--accent-text)}.workout-rows{margin-top:28px}.workout-row .plan{color:var(--muted);font-size:14px}.done-count{font-variant-numeric:tabular-nums;color:var(--accent-text);white-space:nowrap;font-size:20px}.delta-pill{background:var(--accent-tint);color:var(--accent-text);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:6px;padding:3px 12px;font-size:14px;display:inline-flex}.divider-label{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:22px 0 6px;font-size:15px;display:flex}.slide-spacer{height:120px}.slide-dock{left:16px;right:16px;bottom:calc(var(--safe-bottom) + 14px);position:absolute}.slide{background:var(--surface-2);border-radius:39px;height:78px;position:relative;overflow:hidden}.slide-text{flex-direction:column;justify-content:center;display:flex;position:absolute;top:0;bottom:0;left:92px}.slide-text strong{font-size:20px;font-weight:600}.slide-text span{color:var(--muted);font-size:13px}.slide-knob{background:var(--accent);width:70px;height:70px;color:var(--on-accent);touch-action:none;cursor:grab;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;left:4px}.mass-pill{background:var(--accent-tint);color:var(--accent-text);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:13.5px;font-weight:500}.mono-pill{background:var(--surface-2);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 10px;font-size:13.5px}.mono-pill.dark{background:var(--bg-deep);color:var(--text)}.finished{z-index:50;background:var(--bg);padding:calc(var(--safe-top) + 64px) 24px calc(var(--safe-bottom) + 24px);flex-direction:column;align-items:stretch;animation:.32s rise;display:flex;position:absolute;inset:0}.finished h1{text-align:center;margin:20px 0 4px;font-size:38px}.finished-sub{text-align:center;color:var(--muted);margin:0 0 28px;font-size:15px}.finished-stats{border-radius:var(--radius);background:var(--surface)}.finished-stats>div{justify-content:space-between;align-items:baseline;padding:16px 20px;display:flex}.finished-stats>div+div{border-top:.5px solid var(--line)}.finished-stats span{color:var(--muted);font-size:16px}.finished-stats b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);font-variant-numeric:tabular-nums lining-nums;font-size:24px}.finished-stats b.accent{color:var(--accent-text)}.badge-seal{width:92px;height:92px;color:var(--on-accent);align-self:center;place-items:center;display:grid;position:relative}.badge-seal svg{position:absolute;inset:0}.badge-seal .seal{fill:var(--accent);stroke:var(--accent-mid);stroke-width:4px;stroke-linejoin:round}.badge-seal svg+svg{position:relative}.stat-card{border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:4px;margin-bottom:8px;padding:24px;display:flex}.stat-card small{color:var(--muted);font-size:15px}.stat-card strong{font-size:26px;font-weight:600}.finished.leaving{pointer-events:none;animation:finished-out .42s var(--ease-in) forwards}.finished.leaving>*{animation:finished-item-out .22s var(--ease-in) forwards}.finished.leaving>.badge-seal{animation-name:finished-seal-out}.finished.leaving>:nth-child(2){animation-delay:20ms}.finished.leaving>:nth-child(3){animation-delay:40ms}.finished.leaving>:nth-child(4){animation-delay:60ms}.finished.leaving>:nth-child(5){animation-delay:80ms}@keyframes finished-out{0%,25%{transform:translate(0,0)}to{transform:translateY(100%)}}@keyframes finished-item-out{to{opacity:0;transform:translateY(16px)}}@keyframes finished-seal-out{to{opacity:0;transform:scale(.6)rotate(-20deg)}}.close-btn{border-radius:28px;height:56px;margin:auto auto 0;padding:0 32px}.empty-state{text-align:center;color:var(--text);flex-direction:column;align-items:center;gap:10px;margin-top:30vh;display:flex}.empty-state svg{color:var(--text);margin-bottom:12px}.empty-state strong{font-size:21px}.empty-state p{max-width:230px;color:var(--muted);margin:0;font-size:15px}.week{margin-top:28px}.week-head{justify-content:space-between;align-items:flex-end;padding:0 14px;display:flex}.week-head small{color:var(--muted);font-size:15px}.week-head h2{margin-top:4px;font-size:44px}.week-totals{align-items:center;gap:10px;margin-bottom:18px;font-size:19px;display:flex}.week-dots{justify-content:space-around;padding:18px 8px 22px;display:flex}.week-dots>div{color:var(--muted);flex-direction:column;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.week-dots i{border:1.5px solid var(--line-strong);width:16px;height:16px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid}.week-dots i.on{border-color:var(--accent);background:var(--accent)}.history-card{border-bottom:.5px solid var(--line);text-align:left;width:100%;color:var(--faint);align-items:center;gap:16px;padding:14px 4px;display:flex}.history-card:last-child{border-bottom:0}.history-card .date{flex-direction:column;align-items:center;width:48px;display:flex}.history-card .date b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);color:var(--text);font-size:28px;line-height:1}.history-card .date small{color:var(--muted);font-size:13px}.history-card .row-main strong{color:var(--text);font-size:18px;font-weight:500}.history-card .row-main small{color:var(--muted);font-size:15px}.pills{gap:8px;margin-top:8px;display:flex}.detail-sets{background:var(--surface);border-radius:14px;margin:-4px 0 10px 52px;padding:6px 14px}.detail-set{align-items:center;gap:12px;padding:8px 0;display:flex}.detail-set+.detail-set{border-top:.5px solid var(--line)}.set-n{width:18px;color:var(--muted);font-size:14px}.set-what{flex:1;font-size:16px}.set-what i{opacity:.7;margin:0 3px;font-style:normal}.detail-title{margin-top:16px;font-size:36px}.card{background:var(--surface);border-radius:26px;margin-top:12px;padding:24px}.card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.footnote{color:var(--muted);margin:16px;font-size:13px}.sheet.logger-sheet{background:var(--bg)}.logger-body{padding-top:4px}.logger-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:6px;display:flex}.logger-title{font-family:var(--display);font-stretch:var(--display-stretch);font-size:30px;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin:0;line-height:1.15}.logger-sub{color:var(--muted);margin:6px 0 0;font-size:15px}.round-btn{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.set-rows{flex-direction:column;gap:12px;margin-top:24px;display:flex}.set-line{grid-template-columns:34px 1fr 1fr 28px;align-items:center;gap:10px;display:grid}.set-line:not(:has(.num-box+.num-box)){grid-template-columns:34px 1fr 28px}.set-num{width:34px;height:34px;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line-strong);border-radius:50%;place-items:center;font-size:17px;font-weight:600;display:grid}.set-line.done .set-num{background:var(--accent);color:var(--on-accent);box-shadow:none}.num-box{background:var(--surface);font-variant-numeric:tabular-nums;height:56px;color:var(--faint);white-space:nowrap;border:0;border-radius:16px;scroll-margin-top:90px;scroll-margin-bottom:400px;font-size:20px;font-weight:500;transition:background .15s,color .15s}.set-line.done .num-box{color:var(--text);border-color:var(--line)}.set-line.active .num-box{background:var(--surface-2);color:var(--text);border-color:#0000}.num-box.on,.set-line .num-box.on{background:var(--accent);color:var(--on-accent)}.adjusted-note{color:var(--muted);text-align:center;margin:0 0 10px;font-size:13.5px}.coach{--tone:var(--accent-text);--tone-bg:color-mix(in srgb, var(--accent) 14%, transparent);background:color-mix(in srgb, var(--surface-2) 55%, transparent);box-shadow:inset 0 0 0 .5px var(--line);animation:fade-in var(--t-med) ease-out both;border-radius:18px;margin-top:14px}.coach.hold,.coach.down{--tone:var(--text-2);--tone-bg:var(--surface-2)}.coach-head{text-align:left;flex-direction:column;align-items:stretch;gap:4px;width:100%;padding:12px 14px 13px;display:flex}.coach-top{align-items:center;gap:10px;margin-bottom:4px;display:flex}.coach-chip{background:var(--tone-bg);height:22px;color:var(--tone);letter-spacing:.01em;border-radius:11px;align-items:center;gap:4px;padding:0 9px 0 7px;font-size:12px;font-weight:650;display:inline-flex}.coach-top .set-bars{margin-left:auto}.coach-chevron{color:var(--faint);transition:transform var(--t-med) var(--ease-out);flex:none}.coach.open .coach-chevron{transform:rotate(180deg)}.coach-plan{font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--display-stretch);letter-spacing:var(--display-tracking);font-variant-numeric:tabular-nums lining-nums;font-size:19px;line-height:1.2}.coach-reason{color:var(--muted);font-size:13px;line-height:1.35}.set-bars{align-items:flex-end;gap:3px;height:18px;display:inline-flex}.set-bar{flex-direction:column;justify-content:flex-end;align-items:center;height:100%;display:flex}.set-bar i{width:5px;height:calc(var(--h) * 100%);background:var(--accent-text);transform-origin:bottom;border-radius:2px;display:block}.set-bars.muted .set-bar i{background:var(--faint)}.set-bar.lighter i{opacity:.45}.set-bars.labelled{gap:6px;height:50px}.set-bars.labelled .set-bar{gap:4px;width:26px}.set-bars.labelled .set-bar i{width:100%;height:calc(var(--h) * 30px);background:color-mix(in srgb, var(--accent) 70%, transparent);border-radius:5px}.set-bars.labelled.muted .set-bar i{background:color-mix(in srgb, var(--text) 18%, transparent)}.set-bars.labelled .set-bar small{color:var(--text-2);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:600}.set-bars.labelled.muted .set-bar small{color:var(--muted)}.coach.open .set-bars.labelled .set-bar i{animation:bar-grow .45s var(--ease-out) both;animation-delay:calc(var(--i) * 35ms + 80ms)}@keyframes bar-grow{0%{opacity:0;transform:scaleY(.2)}}.coach-collapse{transition:grid-template-rows var(--t-med) var(--ease-out);grid-template-rows:0fr;display:grid}.coach.open .coach-collapse{grid-template-rows:1fr}.coach-more{opacity:0;min-height:0;transition:opacity .2s ease, padding var(--t-med) var(--ease-out);flex-direction:column;gap:10px;padding:0 10px;display:flex;overflow:hidden}.coach.open .coach-more{opacity:1;padding:2px 10px 10px;transition-delay:60ms,0s}.coach-compare{background:var(--surface);border-radius:14px;flex-direction:column;gap:12px;padding:14px 12px;display:flex}.coach-row{grid-template-columns:84px 1fr auto;align-items:end;gap:10px;display:grid}.coach-row-label{flex-direction:column;gap:1px;padding-bottom:2px;font-size:13px;font-weight:600;display:flex}.coach-row-label small{color:var(--muted);font-size:12px;font-weight:500}.coach-row-label small.up{color:var(--accent-text)}.coach-row-kg{color:var(--text-2);font-variant-numeric:tabular-nums;padding-bottom:2px;font-size:13px;font-weight:600}.coach-tiles{grid-template-columns:1fr 1fr;gap:10px;display:grid}.coach-tiles.odd>:last-child{grid-column:1/-1}.coach-tile{background:var(--surface);border-radius:14px;flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.coach-tile-label{color:var(--muted);font-size:12px;font-weight:550}.coach-tile strong{font-family:var(--display);font-weight:var(--display-weight);font-stretch:var(--display-stretch);letter-spacing:var(--display-tracking);font-variant-numeric:tabular-nums lining-nums;font-size:22px;line-height:1.1}.coach-tile strong small{font-family:var(--sans);letter-spacing:0;color:var(--muted);font-size:12.5px;font-weight:550}.coach-tile-sub{color:var(--muted);font-size:12px;line-height:1.3}.coach-meter,.coach-range{background:var(--surface-2);border-radius:2px;height:4px;margin:4px 0 2px;display:block;position:relative}.coach-meter i{width:calc(var(--p) * 100%);border-radius:inherit;background:var(--text-2);position:absolute;inset:0 auto 0 0}.coach-range i{top:0;bottom:0;left:calc(var(--a) * 100%);right:calc((1 - var(--b)) * 100%);border-radius:inherit;background:color-mix(in srgb, var(--accent) 55%, transparent);position:absolute}.coach-range b{top:50%;left:calc(var(--x) * 100%);background:var(--text);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;margin:-5px 0 0 -5px;position:absolute}.coach-next{background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--text);border-radius:14px;align-items:flex-start;gap:10px;margin:0;padding:12px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.coach-next>span:last-child{flex-direction:column;gap:2px;display:flex}.coach-next small{color:var(--accent-text);font-size:12px;font-weight:600}.coach-next-icon{background:var(--accent);width:22px;height:22px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;display:grid}.coach-tile,.coach-compare,.coach-next{opacity:0;transition:opacity .25s ease, transform .35s var(--ease-out);transform:translateY(4px)}.coach.open :is(.coach-tile,.coach-compare,.coach-next){opacity:1;transform:none}.coach.open .coach-tile{transition-delay:90ms}.coach.open .coach-next{transition-delay:.13s}.set-line:not(.active) .num-box.suggested:not(.on){color:color-mix(in srgb, var(--accent-text) 80%, transparent)}.set-line .num-box{position:relative}.pr-badge{background:var(--accent);height:18px;color:var(--on-accent);animation:pr-pop .42s var(--ease-spring) both;border-radius:9px;align-items:center;gap:3px;padding:0 7px 0 6px;font-size:11px;font-weight:800;line-height:1;display:flex;position:absolute;top:-9px;right:10px}@keyframes pr-pop{0%{opacity:0;transform:scale(.4)}}.set-more{height:44px;color:var(--text-2);place-items:center;display:grid}.add-set{background:var(--surface-2);width:100%;height:56px;color:var(--accent-text);border-radius:28px;justify-content:center;align-items:center;gap:8px;margin-top:18px;font-size:17px;font-weight:600;display:flex}.rest-spacer{height:90px}.keypad-spacer{height:400px}.logger-dock{pointer-events:none;position:absolute;bottom:0;left:0;right:0}.logger-dock>*{pointer-events:auto}.rest-row{padding:0 16px calc(var(--safe-bottom) + 12px);pointer-events:none;align-items:center;gap:10px;display:flex}.rest-row>*{pointer-events:auto}.logger-dock:has(.keypad) .rest-row{padding-bottom:12px}.rest-pill{background:var(--accent);height:42px;color:var(--on-accent);font-variant-numeric:tabular-nums;border-radius:21px;align-items:center;gap:10px;padding:0 20px;font-size:18px;font-weight:600;display:inline-flex}.rest-pill.running{background:var(--accent-tint);color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.rest-edit{border:1.5px solid var(--line-strong);width:40px;height:40px;color:var(--accent-text);background:var(--bg);border-radius:50%;place-items:center;display:grid}.keypad{padding:14px 12px calc(var(--safe-bottom) + 12px);background:var(--surface);-webkit-user-select:none;user-select:none;border-radius:26px 26px 0 0;animation:.22s rise;position:relative;box-shadow:0 -8px 30px #00000080}.keypad-done{background:var(--contrast);height:42px;color:var(--on-contrast);box-shadow:0 6px 20px var(--shadow);border-radius:21px;padding:0 22px;font-size:16px;font-weight:600;position:absolute;top:-54px;right:14px}.keypad-body{grid-template-columns:72px 1fr;gap:12px;display:grid}.keypad-chips{flex-direction:column;justify-content:space-between;gap:8px;display:flex}.keypad-chips button{border:1.5px solid var(--accent-line);height:40px;color:var(--accent-text);border-radius:20px;font-size:16px;font-weight:600}.keypad-chips button:active{background:var(--accent-tint)}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.keypad-grid button{background:var(--surface-2);height:52px;color:var(--text);border-radius:12px;place-items:center;font-size:26px;display:grid}.keypad-grid button:active{background:var(--surface-3)}.keypad-grid button.plain{background:0 0}.start-menu .sheet-body{padding-top:4px}.start-title{font-family:var(--display);font-stretch:var(--display-stretch);font-size:28px;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);margin:8px 0 18px}.start-empty,.start-routine{border-radius:var(--radius);background:var(--surface-2);text-align:left;width:100%;color:var(--text-2);align-items:center;gap:14px;padding:14px 16px;display:flex}.start-empty .row-main strong,.start-routine .row-main strong{color:var(--text)}.plus-circle.small{flex:none;width:44px;height:44px;margin:0}.start-routines{flex-direction:column;gap:8px;display:flex}.start-routine{padding:10px 16px 10px 8px}.bodymap.start-map{flex:none;width:64px;margin:0}.bodymap.start-map .bodymap-figure{width:50%}.start-hint{color:var(--muted);margin:0 16px;font-size:15px}.sheet-body.with-keypad{padding-bottom:420px}.sheet.half.routine-exercise-sheet{top:max(calc(var(--safe-top) + 12px), calc(100% - 640px))}.routine-exercise-sheet .sheet-body{overflow:hidden}.plan-fields{grid-template-columns:1fr 1fr;gap:12px;margin-top:22px;display:grid}.plan-field{flex-direction:column;gap:8px;display:flex}.plan-field>span,.plan-order>span{color:var(--muted);font-size:13px;font-weight:600}.plan-field .num-box{color:var(--text);font-size:24px}.plan-field .num-box.on{color:var(--on-accent)}.plan-order{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.plan-order .order-row{justify-content:flex-end;margin:0}.head-actions{gap:8px;display:flex}.sheet.insights-sheet{background:var(--bg);z-index:2}.insights-h{color:var(--muted);margin:28px 0 10px;font-size:13px;font-weight:600}.insights-card{border-radius:var(--radius);background:var(--surface);padding:6px 16px}.insights-when{margin:10px 0 4px;font-weight:600}.insights-when span{color:var(--muted);font-weight:400}.insights-empty{color:var(--muted);margin:0;font-size:15px}.insights-empty.chart{place-items:center;height:200px;display:grid}.segmented{background:var(--surface-2);border-radius:12px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{height:36px;color:var(--muted);border-radius:9px;font-size:15px;font-weight:600}.segmented button.on{background:var(--surface-4);color:var(--text)}.insights-range{text-align:center;color:var(--muted);margin:16px 0 6px;font-size:14px;font-weight:600}.pchart{touch-action:pan-y;-webkit-user-select:none;user-select:none;height:220px;position:relative}.pchart svg{width:100%;height:200px;position:absolute;inset:0;overflow:visible}.pchart-grid{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.pchart-line{fill:none;stroke:var(--accent-text);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.pchart-dot{fill:var(--accent)}.pchart-guide{stroke:var(--faint);stroke-width:1px;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.pchart-cursor{stroke:var(--text);stroke-width:2px;vector-effect:non-scaling-stroke}.pchart-knob{fill:var(--text-2);stroke:var(--accent-text);stroke-width:3px;vector-effect:non-scaling-stroke}.pchart-yaxis span{color:var(--muted);white-space:nowrap;font-size:11px;position:absolute;right:0;transform:translateY(-50%)}.pchart-xaxis span{color:var(--faint);white-space:nowrap;font-size:11px;position:absolute;top:204px;transform:translate(-50%)}.pchart-tip{background:var(--surface-2);text-align:center;pointer-events:none;white-space:nowrap;border-radius:10px;padding:6px 12px;position:absolute;top:-44px;transform:translate(-50%)}.pchart-tip strong{font-size:16px;display:block}.pchart-tip small{color:var(--muted);font-size:12px}.range-chips{scrollbar-width:none;gap:4px;margin:14px -16px 0;padding:0 16px;display:flex;overflow-x:auto}.range-chips::-webkit-scrollbar{display:none}.range-chips button{height:34px;color:var(--faint);border-radius:9px;flex:none;padding:0 13px;font-size:15px;font-weight:600}.range-chips button.on{background:var(--surface-2);color:var(--text)}.records .record{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.records .record+.record{border-top:.5px solid var(--line)}.record span{flex-direction:column;display:flex}.record small{color:var(--muted);font-size:13px}.record b{color:var(--accent-text);font-size:17px}.week-card{padding:20px 20px 4px}.week-card-head{justify-content:space-between;align-items:flex-end;display:flex}.week-card-head small{color:var(--accent-text);font-size:13px;font-weight:600;display:block}.week-card-head strong{font-size:22px}.week-card-stats{color:var(--muted);gap:16px;font-size:15px;display:flex}.week-card-stats b{color:var(--text);font-size:22px}.week-card .week-dots{padding:16px 0}.progress-empty{color:var(--muted);margin:0 4px;font-size:15px}.link-btn{color:var(--accent-text);margin:10px auto 0;font-size:15px;font-weight:600;display:block}.stat-grid{grid-template-columns:1fr 1fr;gap:18px 12px;display:grid}.stat-grid b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:30px;display:block}.stat-grid b i{color:var(--faint);font-size:22px;font-style:normal}.stat-grid span{color:var(--muted);font-size:15px}.ex-card{padding:8px 20px 18px}.ex-select{text-align:left;width:100%;color:var(--muted);align-items:center;gap:12px;padding:12px 0 16px;display:flex}.ex-select .row-main strong{color:var(--text);font-size:22px;font-weight:600}.ex-card .link-btn{margin-top:16px}.ex-picker-sheet .inset-list>button svg{color:var(--accent-text)}.picker-root-head{justify-content:space-between;align-items:flex-end;display:flex}.picker-root-head .icon-btn{color:var(--accent-text);margin-bottom:4px}.no-results{flex-direction:column;align-items:center;display:flex}.no-results .empty-note{margin-bottom:14px}.sheet.new-exercise-sheet{background:var(--bg)}.form-head{grid-template-columns:40px 1fr 40px;align-items:center;margin:6px 0 18px;display:grid}.form-head h2{text-align:center;margin:0;font-size:18px;font-weight:600}.round-btn.confirm{background:var(--accent);color:var(--on-accent)}.round-btn.confirm:disabled{opacity:.35}.form-label{color:var(--muted);margin:18px 0 8px 4px;font-size:13px;font-weight:600}.form-input{background:var(--surface-2);width:100%;height:54px;color:var(--text);border:0;border-radius:27px;outline:none;padding:0 18px;font-size:18px}.form-hint{color:var(--muted);margin:8px 4px 0;font-size:13px}.form-list{margin-top:18px}.form-list>button{min-height:52px}.form-list .value{min-width:0;max-width:60%;color:var(--muted)}.form-list .value.set{color:var(--accent-text)}.form-list .value.missing{color:#ff8a7a}.value-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-hint.top{margin:14px 4px 10px}.check-list>button svg{color:var(--accent-text)}.bm-muscle.tappable{cursor:pointer}.muscle-page{flex-direction:column;display:flex}.bodymap.picker-map{margin-top:6px}.bodymap.picker-map .bodymap-figure{width:48%;max-width:200px}.muscle-picked{text-align:center;color:var(--text);margin:14px 0 0;font-size:20px;font-weight:600}.muscle-picked.empty{color:var(--muted);font-size:16px;font-weight:500}.confirm-btn{border-radius:26px;width:100%;height:52px;margin-top:18px;display:flex}.confirm-btn:disabled{opacity:.35}.form-list+.form-hint{margin-bottom:4px}.form-switch{justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;font-size:18px;display:flex}.form-switch.off{color:var(--faint)}.toggle{background:var(--surface-3);border-radius:16px;width:52px;height:32px;transition:background .2s;position:relative}.toggle span{background:#fff;border-radius:50%;width:28px;height:28px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000004d}.toggle.on{background:var(--accent)}.toggle.on span{transform:translate(20px)}.popmenu-root{z-index:80;position:absolute;inset:0}.popmenu{background:var(--glass);-webkit-backdrop-filter:blur(22px)saturate(1.9);transform-origin:100% 0;border-radius:22px;min-width:230px;max-height:70%;padding:6px 0;animation:.16s ease-out pop;position:absolute;overflow-y:auto;box-shadow:inset 0 0 0 .5px #ffffff24,0 18px 50px #00000073}.popmenu button{text-shadow:0 1px 2px #00000059;text-align:left;align-items:center;gap:8px;width:100%;height:46px;padding:0 22px 0 12px;font-size:17px;display:flex}.popmenu button:active{background:var(--hover)}.popmenu-check{width:22px;color:var(--text);place-items:center;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.92)}}.week-swipe{touch-action:pan-y;-webkit-user-select:none;user-select:none}.roll{vertical-align:bottom;margin-block:-.12em;padding-block:.12em;display:inline-grid;position:relative;overflow:hidden}.roll>span{white-space:nowrap;grid-area:1/1}.week-totals .roll{justify-items:end}.roll-in{animation:.22s cubic-bezier(.22,.8,.24,1) roll-in-down}.roll-out{animation:.22s cubic-bezier(.22,.8,.24,1) forwards roll-out-down}.roll.up .roll-in{animation-name:roll-in-up}.roll.up .roll-out{animation-name:roll-out-up}@keyframes roll-in-down{0%{opacity:0;transform:translateY(-100%)}}@keyframes roll-out-down{to{opacity:0;transform:translateY(100%)}}@keyframes roll-in-up{0%{opacity:0;transform:translateY(100%)}}@keyframes roll-out-up{to{opacity:0;transform:translateY(-100%)}}.week-day{color:var(--muted);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:6px 6px 8px;font-size:15px;font-weight:600;display:flex}.week-day i{border:1.5px solid var(--line-strong);width:16px;height:16px;color:var(--on-accent);border-radius:50%;place-items:center;display:grid}.week-day i.on{border-color:var(--accent);background:var(--accent)}.week-day.on{background:var(--surface-2);color:var(--text)}.week-day:disabled{opacity:.35}.sheet-root.leaving{pointer-events:none}.sheet-root.leaving .sheet-backdrop{opacity:0;transition:opacity .28s}.action-sheet{transition:transform .22s var(--ease-in), opacity .22s}.action-root.leaving .action-sheet{opacity:.6;transform:translateY(calc(100% + 16px))}.action-root.leaving .sheet-backdrop{transition-duration:.22s}.popmenu-root.leaving{pointer-events:none}.popmenu-root.leaving .popmenu{opacity:0;transition:opacity .14s ease-in,transform .14s ease-in;transform:scale(.92)}.page{background:var(--bg);touch-action:pan-y;position:absolute;inset:0}.page.motion-push{z-index:2;box-shadow:-10px 0 28px var(--shadow);animation:.4s cubic-bezier(.2,.9,.3,1) both page-push}.page.exit-push{z-index:1;pointer-events:none;animation:.4s cubic-bezier(.2,.9,.3,1) both page-under-out}.page.exit-pop{z-index:2;box-shadow:-10px 0 28px var(--shadow);pointer-events:none;animation:.36s cubic-bezier(.3,.7,.3,1) both page-push-out}.page.motion-pop{z-index:1;animation:.36s cubic-bezier(.3,.7,.3,1) both page-under-in}.page.motion-tab{z-index:2;animation:.22s ease-out both page-tab-in}.page.exit-tab{z-index:1;pointer-events:none;animation:.16s ease-in both page-tab-out}.page.is-hidden{visibility:hidden;pointer-events:none}.page.is-under{opacity:.6;pointer-events:none;transform:translate(-28%)}.is-under~.page.is-top{box-shadow:-10px 0 28px var(--shadow)}.page.is-top:has(~.is-under){box-shadow:-10px 0 28px var(--shadow)}@keyframes page-push{0%{transform:translate(100%)}}@keyframes page-push-out{to{transform:translate(100%)}}@keyframes page-under-out{to{opacity:.6;transform:translate(-28%)}}@keyframes page-under-in{0%{opacity:.6;transform:translate(-28%)}}@keyframes page-tab-in{0%{opacity:0;transform:translateY(6px)}}@keyframes page-tab-out{to{opacity:0}}@keyframes fade-in{0%{opacity:0}}.subview.push{animation:subview-push var(--t-med) var(--ease-out)}.subview.pop{animation:subview-pop var(--t-med) var(--ease-out)}@keyframes subview-push{0%{opacity:0;transform:translate(40%)}}@keyframes subview-pop{0%{opacity:0;transform:translate(-30%)}}.set-line,.exercise-row,.workout-row,.history-card,.start-routine,.nav-card,.record{animation:item-in var(--t-med) var(--ease-out) both}@keyframes item-in{0%{opacity:0}}.history-card:nth-of-type(2){animation-delay:30ms}.history-card:nth-of-type(3){animation-delay:60ms}.history-card:nth-of-type(4){animation-delay:90ms}.history-card:nth-of-type(n+5){animation-delay:.12s}.empty-state,.progress-empty,.empty-note,.no-results{animation:fade-in var(--t-med) ease-out both}.keypad{animation:keypad-in var(--t-med) var(--ease-out)}.keypad.leaving{animation:keypad-out .2s var(--ease-in) forwards}@keyframes keypad-in{0%{transform:translateY(100%)}}@keyframes keypad-out{to{transform:translateY(100%)}}.set-num.flash{animation:pop-check .36s var(--ease-spring)}@keyframes pop-check{0%{transform:scale(.6)}to{transform:scale(1)}}.set-num,.set-line .num-box{transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.pill-btn,.add-set,.round-btn,.start-btn,.tab,.rest-pill,.order-dot,.keypad-grid button,.keypad-chips button{transition-property:scale,background,color,opacity,box-shadow;transition-duration:.18s;transition-timing-function:var(--ease-out)}.pill-btn:active:not(:disabled),.add-set:active,.round-btn:active:not(:disabled),.start-btn:active,.tab:active,.rest-pill:active,.order-dot:active,.keypad-grid button:active,.keypad-chips button:active{scale:.96}.inset-list>button,.inset-list>.list-button{transition:background .15s}.inset-list>.list-button{cursor:pointer}.inset-list>button:active,.inset-list>.list-button:active{background:var(--hover);transition-delay:90ms}.tab{transition:color .24s ease, scale .18s var(--ease-out)}.tab:active{scale:.92}.segmented button,.range-chips button{transition:background .2s,color .2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0;display:none}.accent-card{margin-top:0;padding:18px 16px 14px}.swatches{grid-template-columns:repeat(5,1fr);justify-items:center;gap:14px 6px;display:grid}.swatch{background:var(--swatch);width:44px;height:44px;box-shadow:0 0 0 0 var(--surface), 0 0 0 0 var(--swatch);transition:box-shadow .2s var(--ease-out), scale .18s var(--ease-out);border-radius:50%;place-items:center;display:grid}.swatch.on{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--swatch)}.swatch:active{scale:.92}.accent-name{text-align:center;color:var(--muted);margin:14px 0 0;font-size:14px;font-weight:600}:root[data-theme=light] .popmenu button{text-shadow:none}:root[data-theme=light] .popmenu{box-shadow:inset 0 0 0 .5px #00000014,0 18px 50px #0000002e}:root[data-theme=light] .tabbar{box-shadow:0 8px 30px #0000001f}.theme-switch{grid-template-columns:repeat(3,1fr)}.swatch:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #0000001f}.swatch{position:relative}.detail-collapse{opacity:0;transition:grid-template-rows var(--t-med) var(--ease-out), opacity .2s ease;grid-template-rows:0fr;display:grid}.detail-collapse>.detail-sets{min-height:0;overflow:hidden}.detail-entry.open .detail-collapse{opacity:1;grid-template-rows:1fr}.detail-entry:not(.open) .detail-sets{margin-bottom:0;padding-top:0;padding-bottom:0}.detail-sets{transition:padding .28s var(--ease-out), margin .28s var(--ease-out)}.detail-set{transition:opacity .24s;transition-delay:calc(var(--i,0) * 30ms)}.detail-entry:not(.open) .detail-set{opacity:0;transition-delay:0s}.detail-chevron{color:var(--faint);transition:transform var(--t-med) var(--ease-out);flex:none}.detail-entry.open .detail-chevron{transform:rotate(90deg)}.theme-cards{grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;display:grid}.theme-card{color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:15px;display:flex}.theme-card.on{color:var(--accent-text)}.theme-preview{aspect-ratio:1.55;width:100%;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--t-fast) ease;border-radius:14px;flex-direction:column;gap:5px;padding:10px;display:flex;position:relative}.theme-card.on .theme-preview{box-shadow:0 0 0 2px var(--accent)}.theme-card.light .theme-preview{background:#fff}.theme-card.dark .theme-preview{background:#1f1f1e}.theme-card.system .theme-preview{background:linear-gradient(135deg,#fff 50%,#1f1f1e 50%)}.theme-preview i{background:#9a978e;border-radius:2px;width:55%;height:4px;display:block}.theme-preview i+i{width:38%}.theme-preview b{background:var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;bottom:10px;right:10px}.sheet.half .num-box{background:var(--surface-2)}.stat-row{margin:14px 0 6px}.stat-row-caption{color:var(--muted);margin:0 0 6px;font-size:14px}.stat-row-items{gap:28px;display:flex}.stat-row-item{flex-direction:column;gap:2px;display:flex}.stat-row-item small{color:var(--muted);font-size:13px}.stat-row-item b{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-variant-numeric:tabular-nums lining-nums;font-size:24px}.stat-row-item b.accent{color:var(--accent-text)}.set-volume{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px}.sheet-root:has(.share-sheet){z-index:60}.share-body{flex-direction:column;align-items:center;padding-top:18px;display:flex;position:relative}.share-close{z-index:2;position:absolute;top:14px;right:16px}.share-preview{aspect-ratio:9/16;background:var(--surface);min-height:0;max-height:58vh;box-shadow:0 18px 44px var(--shadow);touch-action:none;border-radius:24px;flex:1;margin-top:26px;position:relative;overflow:hidden}.share-preview img{object-fit:cover;-webkit-touch-callout:default;width:100%;height:100%;display:block;position:absolute;inset:0}.share-preview.movable{cursor:grab}.share-preview.movable img{-webkit-touch-callout:none;pointer-events:none}.share-drag-hint{color:#fff;-webkit-backdrop-filter:blur(12px);pointer-events:none;animation:fade-in var(--t-med) ease-out both;background:#00000073;border-radius:999px;padding:5px 12px;font-size:12.5px;position:absolute;bottom:12px;left:50%;translate:-50%}.share-loading{background:var(--surface-2);width:100%;height:100%}.share-tray{place-items:center;width:100%;height:64px;display:grid}.share-options{animation:fade-in var(--t-fast) ease-out both;align-items:center;gap:12px;display:flex}.share-thumb{width:34px;height:52px;box-shadow:0 0 0 2px var(--bg), 0 0 0 2px transparent;transition:box-shadow var(--t-fast) ease;border-radius:9px}.share-thumb.on{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text)}.share-thumb.solid{background:var(--swatch)}.share-thumb.contrast{background:linear-gradient(160deg, var(--swatch) 50%, #151515 50%);outline:1px solid var(--line-strong);outline-offset:-1px}.share-thumb.image{background:var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9890' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m21 16-5-5-8 8'/%3E%3C/svg%3E") center / 18px no-repeat}.share-dot{background:var(--swatch);color:#151515;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.share-font{width:52px;height:40px;color:var(--muted);transition:background var(--t-fast) ease, color var(--t-fast) ease;border-radius:12px;font-size:20px}.share-font.on{background:var(--surface-2);color:var(--text)}.share-font.serif,.share-tool-icon.aa.serif{font-family:var(--display);font-stretch:var(--display-stretch);font-weight:var(--display-weight)}.share-font.sans,.share-tool-icon.aa.sans{font-weight:700}.share-font.condensed,.share-tool-icon.aa.condensed{font-family:Archivo,Arial Narrow,sans-serif;font-weight:900;font-stretch:62%}.share-tools{grid-template-columns:repeat(4,1fr);width:100%;display:grid}.share-tool{color:var(--muted);transition:color var(--t-fast) ease;flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}.share-tool.on{color:var(--text)}.share-tool-icon{background:var(--surface);width:40px;height:40px;color:var(--text);transition:box-shadow var(--t-fast) ease, opacity var(--t-fast) ease;border-radius:50%;place-items:center;display:grid}.share-tool.on .share-tool-icon{box-shadow:0 0 0 2px var(--text)}.share-tool-icon.bg.solid{background:var(--swatch)}.share-tool-icon.bg.contrast{background:linear-gradient(160deg, var(--swatch) 50%, #151515 50%);box-shadow:inset 0 0 0 1px var(--line-strong)}.share-tool-icon.bg.image{background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a9890' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='m21 16-5-5-8 8'/%3E%3C/svg%3E") center / 18px no-repeat}.share-tool-icon.dot:after{content:"";background:var(--swatch);border-radius:50%;width:18px;height:18px}.share-tool-icon.aa{font-size:16px}.share-tool-icon.stats{justify-content:center;align-items:flex-end;gap:3px;padding-bottom:12px;display:flex}.share-tool-icon.stats i{background:currentColor;border-radius:2px;width:4px}.share-tool-icon.stats i:first-child{height:8px}.share-tool-icon.stats i:nth-child(2){height:14px}.share-tool-icon.stats i:nth-child(3){height:11px}.share-tool.off .share-tool-icon{opacity:.4}.share-tool:disabled{opacity:.35}.share-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:18px;display:grid}.share-save,.share-go{border-radius:27px;height:54px;font-size:17px;font-weight:600}.share-save{background:var(--surface-2);color:var(--text)}.share-go{background:var(--contrast);color:var(--on-contrast)}.share-hint{text-align:center;min-height:1.3em;color:var(--muted);opacity:0;transition:opacity var(--t-med) ease;margin:10px 0 0;font-size:13px}.share-hint.show{opacity:1}.finished-actions{justify-content:center;gap:10px;margin-top:auto;display:flex}.finished-actions .close-btn{margin:0}.finished-actions .share-btn{background:var(--surface-2);height:56px;color:var(--text);border-radius:28px;padding:0 26px}.segmented.share-fonts{grid-template-columns:repeat(3,1fr)}.share-layouts{scrollbar-width:none;max-width:100%;padding:0 4px;overflow-x:auto}.share-chip{background:var(--surface);height:36px;color:var(--muted);transition:background var(--t-fast) ease, color var(--t-fast) ease;border-radius:18px;flex:none;padding:0 14px;font-size:14px}.share-chip.on{background:var(--contrast);color:var(--on-contrast)}.share-tool-icon.layout{grid-template-columns:8px 8px;place-content:center;gap:3px;display:grid}.share-tool-icon.layout i{background:currentColor;border-radius:2px;width:8px;height:8px}.share-tool-icon.layout i:nth-child(4){opacity:.45}.share-pager{-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#0000004d;border-radius:999px;gap:5px;padding:5px 8px;display:flex;position:absolute;top:10px;left:50%;translate:-50%}.share-pager i{width:5px;height:5px;transition:background var(--t-fast) ease, width var(--t-fast) ease;background:#ffffff73;border-radius:50%}.share-pager i.on{background:#fff;border-radius:3px;width:12px}.share-frame{transition:transform .24s var(--ease-out), opacity .24s ease}.share-frame.following{transition:none}.share-frame.enter-next{animation:share-in-next .38s var(--ease-out) both}.share-frame.enter-prev{animation:share-in-prev .38s var(--ease-out) both}.share-frame.exit-next{animation:share-out-next .38s var(--ease-out) both}.share-frame.exit-prev{animation:share-out-prev .38s var(--ease-out) both}.share-frame.enter-fade{animation:.26s both fade-in}.share-frame.exit-fade{animation:.26s both share-fade-out}@keyframes share-in-next{0%{opacity:0;transform:translate(55%)scale(.94)}}@keyframes share-in-prev{0%{opacity:0;transform:translate(-55%)scale(.94)}}@keyframes share-out-next{to{opacity:0;transform:translate(-55%)scale(.94)}}@keyframes share-out-prev{to{opacity:0;transform:translate(55%)scale(.94)}}@keyframes share-fade-out{to{opacity:0}}.share-layout-name{color:#fff;-webkit-backdrop-filter:blur(10px);pointer-events:none;background:#00000059;border-radius:999px;padding:4px 11px;font-size:12.5px;animation:1.6s both share-name;position:absolute;top:34px;left:50%;translate:-50%}@keyframes share-name{0%{opacity:0;transform:translateY(-4px)}15%,70%{opacity:1;transform:none}to{opacity:0}}.share-bg-layer{pointer-events:none}.share-track{will-change:transform;transition:transform .42s cubic-bezier(.2,.9,.25,1);display:flex;position:absolute;inset:0}.share-slide{flex:none;width:100%;height:100%;position:relative}.share-slide img{pointer-events:none}.share-final{animation:.2s both fade-in}.share-preview.movable .share-final{pointer-events:auto;-webkit-touch-callout:default}.share-viewer{z-index:80;padding:calc(var(--safe-top) + 24px) 24px calc(var(--safe-bottom) + 24px);background:#000;flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.share-viewer img{-webkit-touch-callout:default;-webkit-user-select:auto;user-select:auto;touch-action:auto;border-radius:20px;max-width:100%;max-height:72vh}.share-viewer p{text-align:center;color:#ffffffb8;max-width:300px;margin:0;font-size:14px}.share-viewer-done{color:#fff;letter-spacing:.01em;-webkit-backdrop-filter:blur(20px)saturate(1.4);height:44px;transition:scale .16s var(--ease-out), background .16s ease;background:#ffffff21;border-radius:22px;padding:0 30px;font-size:16px;font-weight:600;box-shadow:inset 0 0 0 .5px #ffffff38}.share-viewer-done:active{background:#fff3;scale:.95}.share-viewer{animation:.24s ease-out both fade-in}.share-viewer img{animation:share-viewer-in .28s var(--ease-out) both}@keyframes share-viewer-in{0%{opacity:0;transform:scale(.96)}}.share-viewer-chrome{animation:.24s ease-out 80ms both fade-in}.pg-week{margin-top:18px}.pg-label{color:var(--muted);margin:0 0 4px;font-size:15px}.pg-hero{font-family:var(--display);font-stretch:var(--display-stretch);font-size:52px;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-variant-numeric:tabular-nums lining-nums;margin:0;line-height:1.05}.pg-hero i{color:var(--muted);letter-spacing:0;font-size:.42em;font-style:normal}.pg-sub{color:var(--muted);margin:4px 0 0;font-size:14.5px}.pg-week .week-dots,.pg-week [class*=week-dots]{margin-top:18px}.pg-exercise{border-top:.5px solid var(--line);margin-top:40px;padding-top:26px}.pg-ex-select{text-align:left;align-items:center;gap:6px;max-width:100%;display:flex}.pg-ex-select strong{font-family:var(--display);font-stretch:var(--display-stretch);font-size:26px;font-weight:var(--display-weight);letter-spacing:var(--display-tracking);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pg-ex-select svg{color:var(--faint);flex:none}.pg-value{font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;margin:18px 0 6px;font-size:22px;font-weight:500;display:flex}.pg-delta{font-size:15px;font-weight:600}.pg-delta.up{color:var(--accent-text)}.pg-delta.down{color:var(--muted)}.pchart.minimal .pchart-line{stroke-width:2.2px}.pchart-ends{color:var(--faint);justify-content:space-between;font-size:12px;display:flex;position:absolute;bottom:0;left:0;right:0}.pg-controls{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.pg-ranges,.pg-metric{gap:2px;display:flex}.pg-ranges button,.pg-metric button{height:32px;color:var(--faint);transition:color var(--t-fast) ease, background var(--t-fast) ease;border-radius:16px;padding:0 10px;font-size:13.5px;font-weight:500}.pg-ranges button.on,.pg-metric button.on{color:var(--text);background:var(--surface-2)}.pg-link{color:var(--muted);align-items:center;gap:2px;margin-top:14px;font-size:14.5px;display:inline-flex}.pg-alltime{border-top:.5px solid var(--line);margin-top:36px;padding-top:26px}.pg-list{margin:6px 0 0}.pg-list>div{justify-content:space-between;align-items:baseline;padding:13px 0;display:flex}.pg-list>div+div{border-top:.5px solid var(--line)}.pg-list dt{color:var(--text-2);font-size:16px}.pg-list dd{font-family:var(--display);font-stretch:var(--display-stretch);font-variant-numeric:tabular-nums lining-nums;margin:0;font-size:21px}.title-fonts{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;display:grid}.title-font{color:var(--muted);transition:background var(--t-fast) ease, color var(--t-fast) ease;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 0 10px;font-size:13px;display:flex}.title-font.on{background:var(--surface-2);color:var(--text)}.title-font-sample{color:var(--text);font-size:30px;line-height:1}.title-font.on .title-font-sample{color:var(--accent-text)}.haptic{z-index:3;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.haptic-switch{opacity:.011;cursor:pointer;border:0;width:500%;height:100%;margin:0;padding:0;position:absolute;top:0;left:-200%}.tab,.start-btn,.set-num,.add-set,.rest-pill,.keypad-grid button,.keypad-chips button,.toggle,.start-empty,.start-routine,.share-save,.share-go,.finished-actions .pill-btn{position:relative}.brand-foot{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:36px 0 8px;line-height:1;display:flex}.brand-foot svg{width:20px;height:20px;fill:var(--accent-text)}.brand-name{letter-spacing:-.02em;color:var(--text-2);font-family:"Source Serif 4",Georgia,serif;font-size:19px}.brand-lift{letter-spacing:.24em;text-transform:uppercase;font-size:9px;font-weight:600;transform:translateY(1px)}
