:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;--bg: #bcbcc4;--surface-1: #ffffff;--surface-2: #f2f2f7;--surface-3: #e6e6ec;--surface-chrome: #ffffff;--surface-sunken: #f2f2f7;--line: #e5e5ea;--line-strong: #d5d5dc;--text: #1c1c1e;--text-soft: #3a3a40;--text-muted: #48484f;--text-dim: #6e6e76;--text-faint: #63636b;--accent: #d97490;--accent-strong: #9c4059;--accent-ink: #ffffff;--accent-track: #f5e4ea;--accent-deep: #a94a66;--success: #d97490;--danger: #c8443c;--warning: #b5761a;--focus: #1c1c1e;--white: #ffffff;--display: "Inter", ui-sans-serif, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--text-eyebrow: .6875rem;--text-caption: .8125rem;--text-body: 1rem;--text-row: 1.0625rem;--text-section: 1.1875rem;--text-card: 1.375rem;--text-hero: 1.625rem;--text-stat: 1.875rem;--text-title: 2.125rem;--tracking-eyebrow: .1em;--tracking-tight: -.02em;--tracking-title: -.03em;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--rest-bar-height: 2rem;--rest-bar-height-quiet: 1.625rem;--shadow-card: 0 1px 2px rgb(28 28 30 / .06);--shadow-chrome: 0 -1px 3px rgb(28 28 30 / .08);--shadow-float: 0 8px 24px rgb(28 28 30 / .16);--gutter: 1.25rem;--tap-target: 2.75rem;--control-height: 3.375rem;--content-width: 68rem}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg);color-scheme:light}body{min-width:320px;min-height:100vh;margin:0;background:var(--bg);color:var(--text);font-family:var(--display);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:transparent}button:disabled{cursor:not-allowed}:where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--focus);outline-offset:2px}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.primary-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;justify-content:space-around;align-items:flex-start;padding:var(--space-3) var(--space-2) calc(var(--space-6) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-chrome)}.nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1 1 0;min-width:0;padding:0 2px;color:var(--text-muted);font-family:var(--display);font-size:11px;font-weight:500;line-height:14px;text-decoration:none;transition:color .15s ease}.nav-link.is-active{color:var(--text);font-weight:600}.page{width:min(100%,var(--content-width));margin:0 auto;padding:var(--space-5) var(--gutter) var(--space-8)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.page-actions{display:flex;align-items:center;gap:var(--space-2)}.eyebrow{margin:0 0 var(--space-2);color:var(--text-muted);font-family:var(--display);font-size:var(--text-eyebrow);font-weight:600;letter-spacing:var(--tracking-eyebrow);line-height:14px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;color:var(--text);font-family:var(--display);font-size:var(--text-title);font-weight:700;letter-spacing:var(--tracking-title);line-height:42px}h2{margin-bottom:0;color:var(--text);font-family:var(--display);font-size:var(--text-card);font-weight:700;letter-spacing:var(--tracking-tight);line-height:28px}h3{margin-bottom:var(--space-2);color:var(--text);font-family:var(--display);font-size:var(--text-body);font-weight:600}.section-title{color:var(--text);font-family:var(--display);font-size:var(--text-section);font-weight:700;letter-spacing:-.01em;line-height:24px;margin:0}.section-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:14px}.lede{max-width:38rem;margin-bottom:0;margin-top:var(--space-2);color:var(--text-muted);font-size:var(--text-body);line-height:24px}.muted{color:var(--text-muted)}.mono{font-family:var(--mono)}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4)}.stack-lg{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-6)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.split{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.grid-2{display:grid;gap:var(--space-3);grid-template-columns:1fr}.metric-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-height);padding:0 var(--space-5);border:0;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-soft);font-family:var(--display);font-size:var(--text-row);font-weight:600;line-height:22px;text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.btn:hover{background:var(--surface-3);color:var(--text)}.btn:disabled{background:var(--surface-2)!important;color:var(--text-dim)!important;cursor:not-allowed;opacity:1}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--text-soft);color:var(--accent-ink)}.btn-quiet{min-height:auto;padding:0;border-radius:0;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;line-height:18px}.btn-quiet:hover{background:transparent;color:var(--text)}.btn-danger{background:var(--surface-2);color:var(--danger)}.btn-danger:hover{background:var(--surface-3);color:var(--danger)}.btn-block{width:100%}.btn-small{min-height:var(--tap-target);padding:0 var(--space-4);font-size:15px;font-weight:600}.back-link{gap:var(--space-2);color:var(--text-muted)}.back-link:hover{color:var(--text)}.card{display:flex;flex-direction:column;gap:var(--space-4);padding:22px;border-radius:var(--radius-lg);background:var(--surface-1);border:0;box-shadow:var(--shadow-card)}.metric-card{padding:16px;border-radius:var(--radius-md);gap:4px}.metric-value{margin:0;color:var(--text);font-family:var(--display);font-size:var(--text-stat);font-weight:700;letter-spacing:var(--tracking-tight);line-height:36px}.metric-value.is-mono{font-family:var(--mono)}.metric-label{margin:0;color:var(--text-muted);font-size:var(--text-caption);font-weight:500;line-height:16px}.metric-note{margin:0;color:var(--text-dim);font-size:12px;line-height:16px}.hero-workout{display:flex;flex-direction:column;gap:20px;padding:22px;border-radius:var(--radius-lg);background:var(--surface-1)}.hero-workout-content{display:flex;flex-direction:column;gap:6px}.hero-workout h2{color:var(--text);font-size:var(--text-hero);font-weight:700;letter-spacing:var(--tracking-tight);line-height:32px}.tag-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tag{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-soft);font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.06em;line-height:14px;text-transform:uppercase}.tag-adherence{background:var(--accent);color:var(--accent-ink);font-weight:700;letter-spacing:.05em}.status-pill{display:inline-flex;align-items:center;gap:var(--space-2);min-height:2rem;padding:.25rem .75rem;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-soft);font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.status-pill.is-warning{color:var(--warning)}.status-pill.is-danger{color:var(--danger)}.sync-status-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0}.list{display:flex;flex-direction:column;overflow:clip;border-radius:var(--radius-md);background:var(--surface-1)}.list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:var(--surface-1);color:inherit;text-decoration:none;transition:background-color .15s ease}.list-item+.list-item{border-top:1px solid var(--line)}.list-item:hover{background:var(--surface-2)}.list-item-main{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.list-item-title{margin:0;color:var(--text);font-size:var(--text-body);font-weight:500;line-height:20px}.list-item-meta{margin:0;color:var(--text-muted);font-size:var(--text-caption);line-height:16px}.list-item-figure{width:82px;flex-shrink:0;display:flex;justify-content:flex-end;text-align:right;color:var(--text-soft);font-family:var(--mono);font-size:14px;font-weight:500;line-height:18px}.rotation-card{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:var(--radius-md);background:var(--surface-1);color:inherit;text-decoration:none;transition:background-color .15s ease}.rotation-card:hover{background:var(--surface-2)}.rotation-card-body{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.rotation-card-title{margin:0;color:var(--text);font-size:15px;font-weight:600;line-height:18px}.rotation-card-text{margin:0;color:var(--text-muted);font-size:var(--text-caption);line-height:19px}.rotation-card-icon{flex-shrink:0;color:var(--text-muted)}.field{display:flex;flex-direction:column;gap:8px}.run-intervals{padding:var(--space-3) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.run-interval-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,.75fr) 36px;align-items:end;gap:8px}.run-interval-number{align-self:center;color:var(--text-muted);font-family:var(--mono);text-align:center}.btn-remove-interval{width:36px;height:40px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted)}.run-interval-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-3)}.field label,.field-label{color:var(--text-muted);font-family:var(--display);font-size:var(--text-eyebrow);font-weight:600;letter-spacing:var(--tracking-eyebrow);line-height:14px;text-transform:uppercase}.input,.textarea,.select{width:100%;min-height:var(--control-height);padding:0 18px;border:1px solid transparent;border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-family:var(--display);font-size:var(--text-body);line-height:20px;outline:none;transition:outline .15s ease,border-color .15s ease}.input:focus,.textarea:focus,.select:focus{outline:1.5px solid var(--accent);border-color:transparent}.input::placeholder,.textarea::placeholder{color:var(--text-dim)}.textarea{min-height:7rem;padding:16px 18px;resize:vertical;line-height:1.5}.help{margin:0;color:var(--text-muted);font-size:var(--text-caption);line-height:1.45}.error-text{margin:0;color:var(--danger);font-size:var(--text-caption)}.notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-muted);font-size:14px;line-height:21px}.notice-icon{flex-shrink:0;margin-top:2px;color:var(--success)}.notice.is-danger{color:var(--text)}.notice.is-danger .notice-icon{color:var(--danger)}.notice-content{flex:1}.update-banner{position:fixed;z-index:30;right:var(--space-4);bottom:calc(5rem + env(safe-area-inset-bottom));left:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text);font-size:14px}.workout-page{padding-bottom:calc(11rem + env(safe-area-inset-bottom))}.session-header{display:flex;flex-direction:column;gap:16px;padding-top:var(--space-2);margin-bottom:var(--space-5)}.session-header-top{display:flex;align-items:center;gap:14px}.back-circle-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text);cursor:pointer;transition:background-color .15s ease}.back-circle-btn:hover{background:var(--surface-2)}.session-header-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.session-header-info .eyebrow{margin:0}.session-header-info h1{font-size:var(--text-card);font-weight:700;letter-spacing:var(--tracking-tight);line-height:28px}.session-counter{flex-shrink:0;color:var(--success);font-family:var(--mono);font-size:15px;font-weight:500;line-height:18px}.progress-track{width:100%;height:4px;border-radius:999px;background:var(--surface-2);overflow:clip}.progress-fill{height:100%;background:var(--accent);transition:width .2s ease}.exercise-card{display:flex;flex-direction:column;gap:16px;padding:18px 14px;border-radius:var(--radius-lg);background:var(--surface-1);box-shadow:var(--shadow-card)}.exercise-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.exercise-card-header h2{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:24px}.previous-values{display:flex;flex-direction:column;align-items:flex-end;gap:3px;width:78px;flex-shrink:0}.previous-label{color:var(--text-dim);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.1em;line-height:12px;text-transform:uppercase}.previous-value{color:var(--text-soft);font-family:var(--mono);font-size:13px;font-weight:500;line-height:16px;text-align:right}.set-table{display:flex;flex-direction:column;gap:8px}.set-heading{display:flex;align-items:center;gap:10px;color:var(--text-dim);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.12em;line-height:12px;text-transform:uppercase}.set-heading-lane-set{width:22px;flex-shrink:0}.set-heading-lane-input{flex:1;min-width:0;text-align:center;white-space:nowrap}.set-heading-lane-done{width:32px;flex-shrink:0;text-align:right;white-space:nowrap}.set-row{display:flex;align-items:center;gap:8px}.set-row-number{width:22px;flex-shrink:0;transition:opacity .15s ease;color:var(--text-muted);font-family:var(--mono);font-size:15px;font-weight:500;line-height:18px}.set-row.is-active .set-row-number{color:var(--text);font-weight:700}.set-row-input-lane{flex:1;min-width:0;display:block}.set-input{width:100%;height:36px;padding:0 6px;border-radius:var(--radius-sm);border:1.5px solid transparent;background:var(--surface-2);color:var(--text);font-family:var(--mono);font-size:16px;font-weight:500;line-height:20px;text-align:center;font-variant-numeric:tabular-nums;outline:none;box-sizing:border-box;-moz-appearance:textfield;appearance:textfield}.set-input::-webkit-outer-spin-button,.set-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none;appearance:none}.set-row.is-active .set-input{background:var(--surface-1);border-color:var(--accent);color:var(--text)}.set-row.is-upcoming .set-input{background:var(--surface-2);color:var(--text-dim)}.set-check-wrapper{position:relative;display:flex;align-items:center;justify-content:flex-end;width:32px;height:28px;flex-shrink:0;cursor:pointer}.set-check{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.set-check-pill{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface-2);color:var(--accent-ink);pointer-events:none;transition:background-color .15s ease,border-color .15s ease}.set-check-pill.is-complete{background:var(--success);border-color:var(--success);color:var(--accent-ink)}.workout-action-bar{position:fixed;z-index:20;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:12px;padding:16px var(--gutter) calc(26px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface-chrome)}.rest-length{align-self:center;display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:var(--radius-pill);background:var(--surface-2)}.rest-length-label{display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 10px;color:var(--text-muted);font-size:12px;font-weight:600;line-height:16px}.rest-length-option{min-width:44px;padding:6px 10px;border-radius:var(--radius-pill);background:transparent;color:var(--text-muted);font-family:var(--mono);font-size:13px;font-weight:600;line-height:16px;font-variant-numeric:tabular-nums;transition:background-color .15s ease,color .15s ease}.rest-length-option:hover{color:var(--text)}.rest-length-option.is-selected{background:var(--accent);color:var(--accent-ink)}.workout-action-row{display:flex;gap:10px}.workout-action-row .btn-secondary{flex:1;min-height:52px;font-size:15px}.workout-action-row .btn-primary{flex:1.4;min-height:52px;font-size:15px}.workout-explainer{margin:0;color:var(--text-faint);font-size:12px;line-height:16px;text-align:center}.abandon-btn{align-self:center;color:var(--danger);font-size:13px;text-decoration:none}.abandon-btn:hover{color:var(--danger);text-decoration:underline}.week-card{gap:20px;padding:22px 20px}.week-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.week-card-header h2{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:24px}.bar-chart{display:flex;flex-direction:column;gap:14px}.bar-row{display:flex;flex-direction:column;gap:7px}.bar-row-meta{display:flex;align-items:baseline;justify-content:space-between}.bar-label{color:var(--text-muted);font-size:13px;font-weight:500;line-height:16px}.bar-value{color:var(--text);font-family:var(--mono);font-size:14px;font-weight:600;line-height:18px}.bar-track{height:6px;border-radius:999px;background:var(--surface-2);overflow:clip}.bar-fill{height:100%;background:var(--accent)}.data-table-card{display:flex;flex-direction:column;overflow:clip;border-radius:var(--radius-md);background:var(--surface-1)}.data-table-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface-sunken);color:var(--text-dim);font-size:10px;font-weight:600;letter-spacing:.12em;line-height:12px;text-transform:uppercase}.data-table-row{display:flex;align-items:center;gap:10px;padding:14px 16px;font-size:15px;font-weight:500;line-height:18px;color:var(--text)}.data-table-row+.data-table-row{border-top:1px solid var(--line)}.data-table-cell-name{flex:1;min-width:0}.data-table-cell-num-sm{width:52px;flex-shrink:0;text-align:right;color:var(--text-soft);font-family:var(--mono);font-size:14px}.data-table-cell-num-md{width:72px;flex-shrink:0;text-align:right;color:var(--text-soft);font-family:var(--mono);font-size:14px}.table-wrap{overflow-x:auto;border-radius:var(--radius-md);background:var(--surface-1)}.data-table{width:100%;min-width:28rem;border-collapse:collapse;font-size:14px}.data-table th,.data-table td{padding:14px 16px;text-align:left;vertical-align:middle}.data-table th{background:var(--surface-sunken);color:var(--text-dim);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.data-table td{border-top:1px solid var(--line);color:var(--text)}.setup-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;width:min(100%,28rem);margin:0 auto;padding:32px var(--gutter) 28px}.setup-card{display:flex;flex-direction:column;gap:28px;flex:1}.setup-header{display:flex;flex-direction:column;gap:12px}.setup-header h1{font-size:38px;font-weight:700;letter-spacing:-.03em;line-height:42px}.setup-actions{display:flex;flex-direction:column;gap:18px;margin-top:auto}.footer-note{margin:0;color:var(--text-faint);font-size:13px;line-height:19px;text-align:center}.rating-group{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rating-button{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap-target);min-height:var(--tap-target);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-soft);font-weight:600}.rating-button.is-selected{background:var(--accent);color:var(--accent-ink)}.routine-exercise{display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-2);list-style-position:inside}.routine-exercise-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-weight:600}.routine-order-controls{display:flex;flex:0 0 auto;gap:var(--space-1)}.routine-targets{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.routine-targets label{display:grid;gap:var(--space-1);color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.routine-targets .input{min-height:2.75rem;padding:0 12px;font-family:var(--mono)}.markdown{color:var(--text-soft);line-height:1.65;white-space:pre-wrap}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border-radius:var(--radius-md);background:var(--surface-1);color:var(--text-muted);text-align:center}.empty-icon{color:var(--text-dim);margin-bottom:var(--space-2)}.empty h3{margin:0;color:var(--text)}.empty p:last-child{margin-bottom:0}.loading{display:grid;min-height:40vh;place-items:center;color:var(--text-muted);font-family:var(--mono);font-size:13px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.set-heading-lane-prev{width:52px;flex-shrink:0;text-align:center}.set-row-number-col{position:relative;display:flex;align-items:center;width:22px;height:22px;flex-shrink:0}.set-row-prev{width:52px;flex-shrink:0;color:var(--text-muted);font-family:var(--mono);font-size:12px;font-weight:500;line-height:16px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-set{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;opacity:0;pointer-events:none;transition:color .15s ease,opacity .15s ease}.set-row-number-col:hover .btn-remove-set,.btn-remove-set:focus-visible{opacity:1;pointer-events:auto}.set-row-number-col:hover .set-row-number,.set-row-number-col:focus-within .set-row-number{opacity:0}.btn-remove-set:hover{color:var(--danger);opacity:1}.exercise-card-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid var(--line)}.session-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.session-timer-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-1);color:var(--text);font-family:var(--mono);font-size:13px;font-weight:600}.rest-timer-dock{position:fixed;z-index:30;right:0;bottom:calc(140px + env(safe-area-inset-bottom));left:0;width:min(calc(100% - 24px),480px);margin:0 auto;border-radius:var(--radius-md);border:1.5px solid var(--line-strong);background:var(--surface-chrome);box-shadow:var(--shadow-float);overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.rest-timer-dock.is-finished{border-color:var(--success);animation:pulseSuccess 1.5s infinite}@keyframes pulseSuccess{0%,to{box-shadow:0 0 #d9749066}50%{box-shadow:0 0 0 8px #d9749000}}.rest-timer-progress-track{width:100%;height:3px;background:var(--surface-2);overflow:clip}.rest-timer-progress-fill{height:100%;background:var(--accent);transition:width .2s linear}.rest-timer-dock.is-finished .rest-timer-progress-fill{background:var(--success)}.rest-timer-content{display:flex;flex-direction:column;gap:10px;padding:12px 14px}.rest-timer-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.rest-timer-time-block{display:flex;align-items:baseline;gap:8px}.rest-timer-eyebrow{display:flex;align-items:center;gap:4px;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.rest-timer-digits{color:var(--text);font-family:var(--mono);font-size:22px;font-weight:700;line-height:24px}.rest-timer-presets{display:flex;gap:4px}.rest-timer-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.rest-timer-close-btn{color:var(--text-dim)}.rest-timer-close-btn:hover{color:var(--text)}.modal-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#1c1c1e52;backdrop-filter:blur(4px);padding-bottom:env(safe-area-inset-bottom)}@media(min-width:42rem){.modal-backdrop{align-items:center;padding:24px}}.modal-sheet{width:min(100%,560px);max-height:85vh;display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--line);background:var(--surface-1);box-shadow:var(--shadow-chrome);overflow:hidden}@media(min-width:42rem){.modal-sheet{border-radius:var(--radius-lg)}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-header h2{font-size:20px;font-weight:700}.chip-scroll-row{display:flex;min-width:0;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.chip-scroll-row::-webkit-scrollbar{display:none}.chip-btn{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface-2);color:var(--text-muted);font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.chip-btn:hover{background:var(--surface-3);color:var(--text)}.chip-btn.is-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.picker-results-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;max-height:48vh;padding-right:4px}.picker-exercise-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid transparent;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.picker-exercise-item:hover{background:var(--surface-3);border-color:var(--line-strong)}.picker-exercise-info{display:flex;flex-direction:column;gap:2px}.picker-exercise-name{margin:0;font-size:15px;font-weight:600}.picker-exercise-meta{margin:0;color:var(--text-muted);font-size:12px}.filter-group{display:flex;min-width:0;flex-direction:column;gap:6px}.filter-group-label{margin:0;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input{padding-right:36px}.search-clear-btn{position:absolute;right:10px;color:var(--text-dim);cursor:pointer}.catalog-grid{display:flex;flex-direction:column;gap:14px}.catalog-exercise-card{display:flex;flex-direction:column;gap:12px;padding:18px}.catalog-exercise-header h3{margin:0;font-size:18px;font-weight:700}.catalog-alias{margin:4px 0 0;color:var(--text-muted);font-size:12px;font-style:italic}.catalog-form-cues,.catalog-instructions{display:flex;flex-direction:column;gap:6px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--surface-2)}.cue-heading{margin:0;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.cue-list,.instructions-list{margin:0;padding-left:18px;color:var(--text-soft);font-size:13px;line-height:18px}.catalog-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--line)}@media(min-width:42rem){.page{padding-bottom:var(--space-12)}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:58rem){.page{padding-top:var(--space-8)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.session-timer-button{border:0;cursor:pointer}.session-timer-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workout-duration-editor{display:grid;gap:var(--space-3);margin:calc(var(--space-5) * -.25) 0 var(--space-5);padding:var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--surface-1)}.workout-duration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.workout-duration-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.swipe-delete-shell{position:relative;overflow:hidden;border-radius:var(--radius-sm)}.swipe-delete-content{position:relative;z-index:1;background:var(--surface-chrome);touch-action:pan-y;transition:transform .18s ease-out}.set-row{min-height:44px;padding:0;border:0;background:transparent}.set-row.is-upcoming .set-input::placeholder{color:var(--text-dim);opacity:1}.set-row.is-active .set-row-number{color:var(--accent-strong)}.set-row.is-active .set-input{font-weight:600}.set-row.is-complete .set-row-number{color:var(--text);font-weight:600}.set-row.is-complete .set-input{background:var(--surface-2);color:var(--text);font-weight:600}.btn-remove-set:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}.rest-bar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--rest-bar-height-quiet);padding:0;border:0;border-radius:var(--radius-sm);overflow:hidden;transition:background-color .15s ease,height .15s ease}.rest-bar-time{position:relative;font-family:var(--mono);font-size:13px;font-weight:500;line-height:16px;font-variant-numeric:tabular-nums}.rest-bar-time-over-fill{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:clip-path 1s linear}.rest-bar-fill{position:absolute;top:0;left:0;height:100%;background:var(--accent-deep);transition:width 1s linear}.rest-bar.is-idle{background:var(--surface-2)}.rest-bar.is-idle .rest-bar-time{color:var(--text-dim)}.rest-bar.is-complete{background:var(--accent-track)}.rest-bar.is-complete .rest-bar-time{color:var(--accent-strong);font-weight:600}.rest-bar.is-running{height:var(--rest-bar-height);background:var(--accent-track)}.rest-bar.is-running .rest-bar-time{font-size:15px;font-weight:600;line-height:18px}.rest-bar.is-running>.rest-bar-time{color:var(--accent-strong)}.rest-bar.is-running .rest-bar-time-over-fill{color:var(--accent-ink)}.rest-bar.is-running.is-finished{animation:restBarDone 1.5s ease-in-out infinite}@keyframes restBarDone{0%,to{opacity:1}50%{opacity:.62}}.rest-bar:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.rest-bar,.rest-bar-fill,.rest-bar-time-over-fill{transition:none}.rest-bar.is-running.is-finished{animation:none}}.set-entry{display:flex;flex-direction:column;gap:4px}
