:root{color-scheme:light;--surface: #ffffff;--surface-alt: #f8fafc;--surface-sunken: #f6f8fb;--surface-hover: #f1f5f9;--surface-inverse: #0f172a;--on-surface: #172033;--on-surface-variant: #334155;--on-surface-muted: #64748b;--on-surface-subtle: #94a3b8;--outline: #e2e8f0;--outline-strong: #cbd5e1;--outline-subtle: #eef2f7;--primary: #2563eb;--on-primary: #ffffff;--primary-container: #dbe6fb;--on-primary-container: #1d4ed8;--primary-tint: #eff6ff;--success: #15803d;--warning: #b45309;--danger: #b91c1c;--danger-tint: #fef2f2;--info: #0369a1;--on-band: #ffffff;--scrim: rgba(15, 23, 42, .45);--shadow-panel: 0 10px 28px rgba(15, 23, 42, .06);--shadow-fab: 0 6px 16px rgba(37, 99, 235, .35);--text-display: 84px;--text-headline: 32px;--text-title: 22px;--text-subtitle: 18px;--text-body: 16px;--text-label: 13px;--text-caption: 11px;--weight-regular: 400;--weight-medium: 500;--weight-bold: 700;--radius: 8px;--radius-fab: 16px;--radius-pill: 20px;--radius-sheet: 28px;--space-3xs: 2px;--space-2xs: 4px;--space-xs: 6px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--pad: var(--space-md);--tap: 48px;--nav-h: 80px;color:var(--on-surface);background:var(--surface-sunken);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-body);font-weight:var(--weight-regular)}@media (prefers-color-scheme: dark){:root{color-scheme:dark;--surface: #151b26;--surface-alt: #1b2331;--surface-sunken: #0d1117;--surface-hover: #232c3c;--surface-inverse: #05070b;--on-surface: #e7ecf3;--on-surface-variant: #b8c2d0;--on-surface-muted: #8d99ab;--on-surface-subtle: #6b7688;--outline: #2a3547;--outline-strong: #3a465c;--outline-subtle: #222c3b;--primary: #6f9dff;--on-primary: #0b1220;--primary-container: #1e3363;--on-primary-container: #c6d8ff;--primary-tint: #17233d;--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--danger-tint: #3a1d1d;--info: #38bdf8;--on-band: #0b1220;--scrim: rgba(0, 0, 0, .6);--shadow-panel: 0 10px 28px rgba(0, 0, 0, .4);--shadow-fab: 0 6px 16px rgba(0, 0, 0, .5)}}:root[data-theme=light]{color-scheme:light;--surface: #ffffff;--surface-alt: #f8fafc;--surface-sunken: #f6f8fb;--surface-hover: #f1f5f9;--surface-inverse: #0f172a;--on-surface: #172033;--on-surface-variant: #334155;--on-surface-muted: #64748b;--on-surface-subtle: #94a3b8;--outline: #e2e8f0;--outline-strong: #cbd5e1;--outline-subtle: #eef2f7;--primary: #2563eb;--on-primary: #ffffff;--primary-container: #dbe6fb;--on-primary-container: #1d4ed8;--primary-tint: #eff6ff;--success: #15803d;--warning: #b45309;--danger: #b91c1c;--danger-tint: #fef2f2;--info: #0369a1;--on-band: #ffffff;--scrim: rgba(15, 23, 42, .45);--shadow-panel: 0 10px 28px rgba(15, 23, 42, .06);--shadow-fab: 0 6px 16px rgba(37, 99, 235, .35)}:root[data-theme=dark]{color-scheme:dark;--surface: #151b26;--surface-alt: #1b2331;--surface-sunken: #0d1117;--surface-hover: #232c3c;--surface-inverse: #05070b;--on-surface: #e7ecf3;--on-surface-variant: #b8c2d0;--on-surface-muted: #8d99ab;--on-surface-subtle: #6b7688;--outline: #2a3547;--outline-strong: #3a465c;--outline-subtle: #222c3b;--primary: #6f9dff;--on-primary: #0b1220;--primary-container: #1e3363;--on-primary-container: #c6d8ff;--primary-tint: #17233d;--success: #4ade80;--warning: #fbbf24;--danger: #f87171;--danger-tint: #3a1d1d;--info: #38bdf8;--on-band: #0b1220;--scrim: rgba(0, 0, 0, .6);--shadow-panel: 0 10px 28px rgba(0, 0, 0, .4);--shadow-fab: 0 6px 16px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html,body{height:100dvh;overflow:hidden;overscroll-behavior:none}body{margin:0;min-width:320px}#root{height:100%}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}button svg{flex:0 0 auto}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{display:flex;flex-direction:column;max-width:1220px;height:100%;overflow:hidden;margin:0 auto;padding:var(--space-xl) var(--space-xl) 0}.app-shell>.panel{flex:1 1 auto;min-height:0;margin-bottom:var(--space-xl);overflow-y:auto;overscroll-behavior:contain}.app-shell>.panel.runner{overflow:hidden}.app-shell:has(dialog[open])>.panel{overflow:hidden}.panel-header,.button-row,.row-actions{display:flex;align-items:center;gap:var(--pad)}h1,h2{margin:0;line-height:1.1}h1{font-size:var(--text-headline)}h2{font-size:var(--text-subtitle)}.fine{font-size:var(--text-label)}.eyebrow{margin:0 0 var(--space-2xs);color:var(--on-surface-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);letter-spacing:0;text-transform:uppercase}.panel>.eyebrow~.eyebrow{border-top:1px solid var(--outline);padding-top:var(--pad);margin-top:var(--pad)}.panel{background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);box-shadow:var(--shadow-panel);padding-bottom:var(--pad)}.panel:has(>.fab){padding-bottom:calc(56px + var(--pad) * 2)}.panel>*,.sheet-scroll>*{padding-inline:var(--pad)}.panel>:first-child{padding-top:var(--pad)}.panel>.plan-list,.panel>.plan-add,.panel>.exercise-manager,.sheet-scroll>.exercise-manager,.panel>.fab{padding-inline:0}.panel-header{justify-content:space-between;gap:var(--pad);margin-bottom:var(--pad)}.panel-header>.muted{flex:0 0 auto;font-size:var(--text-label)}.panel-header>h2,.session-title{overflow:hidden;min-width:0;margin-right:auto;text-overflow:ellipsis;white-space:nowrap}.session-title{display:flex;align-items:center;gap:var(--space-xs);min-height:var(--tap);border:0;background:none;color:inherit;padding:0}.primary,.secondary,.icon{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:var(--tap);border-radius:var(--radius);border:1px solid transparent;padding:var(--space-sm) var(--pad);font-weight:var(--weight-bold)}.primary{background:var(--primary);color:var(--on-primary)}.secondary{background:var(--surface-alt);border-color:var(--outline-strong);color:var(--on-surface)}.icon{width:var(--tap);flex:0 0 auto;padding:0;background:var(--surface);border-color:var(--outline-strong);color:var(--on-surface)}.danger{color:var(--danger)}.backup-target{display:flex;align-items:center;gap:var(--pad);border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface-alt);padding:var(--pad);margin:0 var(--pad) var(--pad)}.backup-target div{display:grid;gap:var(--space-3xs)}.notice{display:flex;align-items:center;gap:var(--space-sm);margin:0 0 var(--pad)}.storage-error{display:grid;justify-items:start;gap:var(--pad);max-width:560px;margin:48px auto;color:var(--danger)}.storage-error h2,.storage-error p{margin:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-caption);overflow-wrap:anywhere}.session-cards{display:grid;gap:var(--pad)}.session-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:72px;border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface);padding:var(--space-2xs) var(--space-sm) var(--space-2xs) var(--pad)}.fab{position:fixed;z-index:19;right:var(--pad);bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + var(--pad));display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border:0;border-radius:var(--radius-fab);background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-fab)}.session-card.selected{border-color:var(--primary);background:var(--primary-tint)}.session-open{display:grid;gap:var(--space-3xs);width:100%;min-height:64px;align-content:center;border:0;background:none;padding:0;text-align:left;color:inherit}.session-open strong{overflow:hidden;font-size:var(--text-body);text-overflow:ellipsis;white-space:nowrap}.session-open>.muted{font-size:var(--text-label)}.session-status{display:inline-flex;align-items:center;gap:var(--space-2xs);vertical-align:-2px}.session-status.done{color:var(--success)}.session-status.active{color:var(--warning)}.session-status.pending,.muted,.block-row span{color:var(--on-surface-muted)}.tabbar{z-index:20;display:grid;grid-template-columns:repeat(5,1fr);flex:0 0 auto;border-top:1px solid var(--outline);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.tabbar.hidden{display:none}.tabbar-handle{position:fixed;z-index:19;bottom:calc(var(--space-xs) + env(safe-area-inset-bottom));left:50%;width:44px;height:4px;border-radius:2px;background:var(--outline-strong);transform:translate(-50%)}.tab{display:grid;justify-items:center;align-content:center;gap:var(--space-2xs);min-height:var(--nav-h);border:0;background:none;color:var(--on-surface-muted);padding:var(--space-xs) var(--space-2xs);font-size:var(--text-caption);font-weight:var(--weight-bold)}.tab.active{color:var(--primary)}.sheet{top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;height:100%;max-height:100%;border:0;margin:0;background:transparent;color:var(--on-surface);padding:0}.sheet:focus{outline:none}.sheet::backdrop{background:var(--scrim)}.sheet-body{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;max-height:80dvh;overflow:hidden;border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface);padding:var(--pad) 0 env(safe-area-inset-bottom)}.sheet-body:before{content:"";display:block;flex:0 0 auto;width:32px;height:4px;border-radius:2px;margin:0 auto var(--pad);background:var(--outline-strong)}.sheet-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding-bottom:var(--pad)}.sheet-footer{display:flex;align-items:center;gap:var(--space-sm);flex:0 0 auto;border-top:1px solid var(--outline);padding:var(--pad)}.sheet-footer .secondary{margin-left:auto}.confirm{width:min(420px,calc(100vw - 48px));max-width:100%;border:0;border-radius:var(--radius-sheet);background:var(--surface);color:var(--on-surface);padding:var(--space-xl)}.confirm::backdrop{background:var(--scrim)}.confirm h2{margin:0 0 var(--pad);font-size:var(--text-title)}.confirm p{margin:0;color:var(--on-surface-variant)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-xl)}.text{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);border:0;border-radius:var(--radius-pill);background:none;color:var(--primary);padding:0 var(--space-lg);font-weight:var(--weight-bold)}.text:hover{background:var(--primary-tint)}.text.danger:hover{background:var(--danger-tint)}.sheet-menu{display:grid;gap:var(--space-xs)}.sheet-menu hr{width:100%;height:0;border:0;border-top:1px solid var(--outline);margin:0}.sheet-menu button{display:flex;align-items:center;gap:var(--pad);min-height:var(--tap);width:100%;border:0;border-radius:var(--radius);background:none;color:var(--on-surface);padding:0 var(--pad);font-weight:var(--weight-bold);text-align:left}.sheet-menu button:hover{background:var(--surface-hover)}.session-header{border-bottom:1px solid var(--outline);padding-bottom:var(--pad)}.plan-toolbar{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:var(--pad);margin-bottom:var(--pad);border-bottom:1px solid var(--outline);background:var(--surface);padding:var(--pad)}.plan-toolbar .segmented{grid-column:2}.plan-toolbar .segmented{--segment-h: 38px}.plan-toolbar .segment{padding-inline:var(--space-lg);white-space:nowrap}.plan-fold{grid-column:3;justify-self:end;width:38px;height:38px;min-height:0}.plan-list{display:grid;gap:var(--pad)}.plan-section{display:grid;gap:var(--pad);min-width:0}.plan-section.separated:after{content:"";display:block;height:6px;border-block:1px solid var(--outline-strong);background:var(--surface-alt)}.plan-row{display:flex;align-items:center;gap:var(--space-xs);min-width:0;margin-inline:var(--pad);border:1px solid var(--outline);border-left:5px solid var(--on-surface-muted);border-radius:var(--radius);background:var(--surface);padding-right:var(--space-xs)}.plan-row.exercise{border-left-color:var(--primary)}.plan-row.timer{border-left-color:var(--success)}.plan-row.group{border:0;border-block:1px solid var(--outline-strong);border-radius:0;background:var(--surface-alt);margin-inline:0;padding-inline:0 var(--space-xs)}.plan-collapse{border-color:transparent;border-right-color:var(--outline-strong);border-radius:0;background:none}.plan-row .row-actions{flex:0 0 auto;flex-wrap:nowrap;gap:var(--space-xs)}.plan-row .icon,.plan-add .ghost{width:36px;min-height:36px}.plan-add .ghost{width:auto}.plan-collapse.icon{width:44px}.plan-open{display:grid;gap:var(--space-3xs);flex:1 1 auto;min-width:0;min-height:44px;align-content:center;border:0;background:none;color:inherit;padding:var(--space-xs) var(--space-sm);text-align:left}.plan-open strong,.plan-open span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-open span{color:var(--on-surface-muted);font-size:var(--text-label)}.plan-row.group .plan-open strong{color:var(--on-surface-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase}.plan-open:disabled{cursor:default;opacity:1}.plan-add{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-inline:var(--pad)}.panel>.plan-add{margin-top:var(--pad)}.editor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);min-width:0}.editor-actions .secondary{margin-left:auto}.ghost{display:inline-flex;align-items:center;gap:var(--space-xs);border:1px dashed var(--outline-strong);border-radius:var(--radius);background:transparent;color:var(--on-surface-muted);padding:var(--space-xs) var(--pad);font-weight:var(--weight-bold)}.icon.active,.ghost.active{border-color:var(--primary);color:var(--primary)}.field-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--pad);min-width:0}@media (min-width: 861px){.field-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field-grid>.span-all{grid-column:1 / -1}}.input-row{display:flex;gap:var(--space-sm);align-items:center;min-width:0}label{display:grid;gap:var(--space-xs);color:var(--on-surface-variant);font-size:var(--text-label);font-weight:var(--weight-medium);min-width:0}label.radio,label.checkbox{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}label.radio input,label.checkbox input{width:auto;min-height:0}label small{color:var(--on-surface-muted);font-size:var(--text-caption);font-weight:var(--weight-regular)}label.checkbox small{flex-basis:100%}.description-field{gap:var(--space-sm)}.stats-head{display:grid;gap:var(--pad);background:var(--surface);padding:var(--pad)}.stats-picker{display:grid;gap:var(--space-xs)}.stats-picker .eyebrow{margin-bottom:0}.setting{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--pad);row-gap:var(--space-3xs);padding-block:var(--pad)}.setting+.setting{border-top:1px solid var(--outline-subtle)}.setting-name,.about-title{color:var(--on-surface);font-size:var(--text-body);font-weight:var(--weight-medium)}.setting .setting-name{grid-column:1}.setting-hint{grid-column:1;color:var(--on-surface-muted);font-size:var(--text-label);font-weight:var(--weight-regular)}.setting-control{grid-column:2;grid-row:1 / span 2;align-self:center}.setting.stacked{grid-template-columns:minmax(0,1fr)}.setting.stacked .setting-control{grid-column:1;grid-row:auto;margin-top:var(--space-sm)}.volume-row{display:flex;align-items:center;gap:var(--space-sm)}.volume-row input[type=range]{--track-h: 4px;--thumb: 18px;--filled: calc(var(--ratio, 0) * (100% - var(--thumb)) + var(--thumb) / 2);-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:1 1 auto;min-width:0;background:none;height:var(--tap)}.volume-row input[type=range]::-webkit-slider-runnable-track{height:var(--track-h);border-radius:calc(var(--track-h) / 2);background:linear-gradient(to right,var(--primary) var(--filled),var(--outline-strong) var(--filled))}.volume-row input[type=range]::-moz-range-track{height:var(--track-h);border-radius:calc(var(--track-h) / 2);background:linear-gradient(to right,var(--primary) var(--filled),var(--outline-strong) var(--filled))}.volume-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:calc((var(--track-h) - var(--thumb)) / 2);width:var(--thumb);height:var(--thumb);border:0;border-radius:50%;background:var(--primary)}.volume-row input[type=range]::-moz-range-thumb{width:var(--thumb);height:var(--thumb);border:0;border-radius:50%;background:var(--primary)}.setting-control[type=checkbox]{width:20px;height:20px}.setting-number{width:88px;text-align:center}@media (max-width: 400px){.setting:has(.setting-number){grid-template-columns:minmax(0,1fr)}.setting-number{grid-column:1;grid-row:auto;margin-top:var(--space-sm)}}.linked-exercise{overflow:hidden;flex:1 1 0;min-width:0;min-height:var(--tap);align-content:center;border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface-alt);color:var(--on-surface);padding:0 var(--pad);font-weight:var(--weight-regular);text-overflow:ellipsis;white-space:nowrap}.exercise-manager,.exercise-editor{display:grid;gap:var(--pad);min-width:0}.panel>.exercise-manager{padding-top:0}.exercise-head{position:sticky;top:0;z-index:1;display:grid;gap:var(--pad);border-bottom:1px solid var(--outline);background:var(--surface);padding:var(--space-sm) var(--pad)}.exercise-list,.exercise-manager>p{margin-inline:var(--pad)}.exercise-head h2{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.exercise-search{display:flex;gap:var(--space-sm);align-items:center;min-width:0}.exercise-search input{flex:1 1 auto}.exercise-search button{flex:0 0 auto;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-list{display:grid;gap:var(--pad)}.exercise-row,.weight-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:72px;border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface);padding:var(--space-2xs) var(--space-sm) var(--space-2xs) var(--pad)}.exercise-row.selected{border-color:var(--primary);background:var(--primary-tint)}.exercise-open,.weight-open{display:grid;gap:var(--space-3xs);width:100%;min-height:64px;align-content:center;border:0;background:none;color:inherit;padding:0;text-align:left}.exercise-open strong,.weight-open strong{overflow:hidden;min-width:0;text-overflow:ellipsis;white-space:nowrap}.exercise-open .muted,.weight-open .muted{font-size:var(--text-label)}.markdown-field{display:grid;gap:var(--space-sm)}.markdown-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.markdown-toolbar .icon{width:32px;min-height:32px}.markdown-toolbar .segmented{margin-left:auto}.markdown-toolbar .segment{gap:var(--space-xs);min-height:32px;padding:0 var(--pad);font-size:var(--text-label)}.markdown-input{min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-label)}.markdown-preview{min-height:96px;border:1px solid var(--outline);border-radius:var(--radius);padding:var(--pad);background:var(--surface-alt)}.markdown-preview :first-child{margin-top:0}.markdown-preview :last-child{margin-bottom:0}.row-actions{flex-wrap:wrap;justify-content:flex-end}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;border:1px solid var(--outline-strong);border-radius:var(--radius);background:var(--surface);color:var(--on-surface);padding:var(--pad);font-weight:var(--weight-regular)}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--tap)}textarea{min-height:0;line-height:1.5}::placeholder{color:var(--on-surface-subtle)}.centered{display:grid;place-items:center;min-height:340px;text-align:center}.runner{position:relative;display:flex;flex-direction:column;min-height:0}.run-split{display:flex;flex-direction:column;gap:var(--pad);min-height:0}.run-scroll{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;align-content:safe center;gap:var(--pad);flex:1 1 auto;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.run-stage{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--pad);min-width:0;text-align:center}.runner.stage-half .run-scroll{align-content:start}.runner.stage-half .run-stage{min-height:50dvh;align-content:start;align-content:safe center}.run-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm);min-width:0;border-top:1px solid var(--outline);padding-top:var(--pad)}.run-actions-row{display:flex;align-items:center;gap:var(--space-xs);min-width:0}.segmented{--segment-h: var(--tap);display:flex;align-items:stretch;min-width:0;min-height:var(--segment-h);border:1px solid var(--outline-strong);border-radius:var(--radius);overflow:hidden}.segmented.grow{flex:1 1 auto}.run-actions-row .segmented{margin-left:auto}.segment{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:var(--space-sm);min-width:0;min-height:0;border:0;border-left:1px solid var(--outline-strong);background:var(--surface);color:var(--on-surface);font-weight:var(--weight-medium)}.segment:first-child{border-left:0}.segment.selected{background:var(--primary-container);color:var(--on-primary-container);font-weight:var(--weight-bold)}.start-run{flex:1 1 auto;min-width:0;margin-left:auto;white-space:nowrap}.chip{display:flex;align-items:center;gap:var(--space-sm);flex:1 1 auto;min-width:0;min-height:var(--tap);border:1px solid var(--outline-strong);border-radius:var(--radius-pill);background:var(--surface-alt);color:var(--on-surface);padding:0 var(--space-lg);font-weight:var(--weight-bold)}.chip-label{overflow:hidden;flex:1 1 auto;min-width:0;font-weight:var(--weight-regular);text-align:left;text-overflow:ellipsis;white-space:nowrap}.chip-count{flex:0 0 auto;color:var(--on-surface-muted);font-variant-numeric:tabular-nums}.prep-label{margin:0;color:var(--warning);font-size:var(--text-label);font-weight:var(--weight-bold);text-align:center;text-transform:uppercase}.run-name{margin:0;color:var(--on-surface);font-size:var(--text-title);font-weight:var(--weight-bold);line-height:1.2}.target{margin:0;color:var(--on-surface-variant);font-size:var(--text-body);font-weight:var(--weight-medium)}.next-up{display:grid;gap:var(--space-3xs);min-width:0}.next-up .eyebrow{margin-bottom:0}@keyframes pixel-shift{0%{transform:translateZ(0)}25%{transform:translate3d(4px,2px,0)}50%{transform:translate3d(0,4px,0)}75%{transform:translate3d(-4px,2px,0)}to{transform:translateZ(0)}}.shifting{animation:pixel-shift 240s steps(1,end) infinite}.app-shell:has(.run-stage.shifting) .tab{animation:pixel-shift 240s steps(1,end) infinite}.countdown{margin:var(--space-xl) 0;color:var(--on-surface);font-size:var(--text-display);font-weight:var(--weight-bold);line-height:1;text-align:center;font-variant-numeric:tabular-nums}.countdown.overtime{color:var(--warning)}.run-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:var(--pad);flex:1 1 auto;min-height:0}.run-rail{align-self:stretch;min-width:0;min-height:0}.block-index{display:grid;align-content:start;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--outline);border-radius:var(--radius);padding:var(--pad);background:var(--surface-alt)}.sheet .block-index{height:auto;overflow:visible;overscroll-behavior:auto;border:0;padding-block:0;background:none}.index-group{display:grid;gap:var(--space-2xs);border-bottom:1px solid var(--outline);padding-bottom:var(--pad);margin-bottom:var(--pad)}.index-group:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}.index-group-label,.summary-group h3{margin:0 0 var(--space-3xs);color:var(--on-surface-muted);font-size:var(--text-caption);font-weight:var(--weight-bold);text-transform:uppercase}.index-entry{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);width:100%;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--on-surface-variant);padding:var(--space-sm);text-align:left}.index-entry small,.summary-target{color:var(--on-surface-muted);font-size:var(--text-label);white-space:nowrap}.index-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-entry.done{color:var(--success)}.index-entry.skipped{color:var(--on-surface-subtle);text-decoration:line-through}.index-entry.current{border-color:var(--primary);background:var(--primary-tint);color:var(--on-surface);font-weight:var(--weight-bold)}.summary{display:grid;align-content:start;gap:var(--pad)}.summary-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--pad)}.stat{border:1px solid var(--outline);border-radius:var(--radius);padding:var(--pad);background:var(--surface-alt)}.stat strong{font-size:var(--text-title);font-weight:var(--weight-bold)}.session-note{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0;border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface-alt);padding:var(--pad) var(--space-sm) var(--pad) var(--pad)}.session-note p{flex:1 1 auto;min-width:0;margin:0;white-space:pre-wrap}.summary-group{border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface);padding:var(--pad)}.summary-list{display:grid;margin:0;padding:0;list-style:none}.summary-list li+li .summary-row{border-top:1px solid var(--outline-subtle)}.summary-row{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:var(--pad);width:100%;border:0;background:transparent;color:var(--on-surface);padding:var(--pad) var(--space-2xs);text-align:left}.summary-icon{padding-top:var(--space-3xs)}.summary-body{display:grid;gap:var(--space-3xs);min-width:0}.summary-field{margin-top:var(--space-xs);overflow-wrap:anywhere}.summary-field+.summary-field{margin-top:0}.summary-row.done .summary-name,.summary-row.done .summary-icon{color:var(--success)}.summary-row.skipped .summary-name,.summary-row.skipped .summary-icon{color:var(--on-surface-subtle)}.summary-row.skipped .summary-name{text-decoration:line-through}.markdown{color:var(--on-surface-variant)}.video-embed{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:var(--radius);background:var(--surface-alt);margin-block:var(--space-sm)}.video-embed.portrait{max-width:280px;aspect-ratio:9 / 16}.video-caption{display:block;font-size:var(--text-label)}.chart{width:100%;height:300px}.chart .recharts-line:nth-of-type(1) .recharts-line-curve{stroke:var(--primary)}.chart .recharts-line:nth-of-type(2) .recharts-line-curve{stroke:var(--success)}.chart .recharts-line:nth-of-type(3) .recharts-line-curve{stroke:var(--warning)}.chart .recharts-cartesian-axis-tick text{fill:var(--on-surface-muted);font-size:var(--text-caption)}.chart .recharts-bar path{fill:var(--primary)}.stat-chart{display:grid;gap:var(--space-2xs)}.stat-chart+.stat-chart{margin-top:var(--pad)}.set-detail{display:grid;gap:var(--space-2xs)}.set-line{font-size:var(--text-subtitle)}.set-note{color:var(--on-surface-variant);white-space:pre-wrap}.chart .recharts-reference-line-line{stroke:var(--on-surface-subtle)}.panel>.summary-totals,.bmi,.bmi-empty,.chart:not(:last-child){margin-bottom:var(--pad)}.panel>:has(+.weight-toolbar){margin-bottom:0}.bmi{--bmi-edge: 1px;--bmi-dot: 7px;--bmi-gutter: var(--bmi-edge) solid transparent;display:grid;gap:var(--space-2xs)}.bmi-track{position:relative;display:flex;align-items:stretch;height:36px;border:var(--bmi-edge) solid var(--outline);border-radius:var(--radius-pill);overflow:hidden}.bmi-band{display:grid;align-content:center;flex:1;min-width:0;overflow:hidden;padding-inline:var(--space-3xs);color:var(--on-band);font-size:var(--text-caption);font-weight:var(--weight-medium);text-align:center;text-overflow:ellipsis;white-space:nowrap}.bmi-band+.bmi-band{border-left:1px solid var(--outline)}.bmi-band.under{background:var(--info)}.bmi-band.over{background:var(--warning)}.bmi-band.healthy{background:var(--success)}.bmi-band.obese{background:var(--danger)}.bmi-marker{position:absolute;top:0;bottom:0;left:calc(var(--ratio) * 100%);width:2px;transform:translate(-50%);background:linear-gradient(var(--on-band) 0 calc(50% - 5px),transparent 0 calc(50% + 5px),var(--on-band) 0)}.bmi-marker:after{content:"";position:absolute;top:50%;left:50%;width:10px;height:10px;transform:translate(-50%,-50%);border:2px solid var(--on-band);border-radius:999px;background:var(--on-surface)}.bmi-marker.target:after{background:var(--on-surface-muted)}.bmi-tick{position:absolute;left:calc(var(--ratio) * 100%);transform:translate(-50%);text-align:center;white-space:nowrap}.bmi-readings{position:relative;height:2.9em;border-inline:var(--bmi-gutter);font-size:var(--text-label)}.bmi-mark{position:absolute;top:0;display:flex;align-items:flex-start;gap:var(--space-2xs);white-space:nowrap}.bmi-mark.left{flex-direction:row-reverse}.bmi-mark.now{z-index:1}.bmi-mark.goal{color:var(--on-surface-muted)}.bmi-mark:before{content:"";flex:0 0 auto;width:var(--bmi-dot);height:var(--bmi-dot);margin-top:.45em;border-radius:999px;background:currentColor}.bmi-mark-body{display:grid}.bmi-mark.left .bmi-mark-body{text-align:right}.bmi-mark b{font-weight:var(--weight-medium)}.bmi-ticks{position:relative;height:2.6em;margin-bottom:var(--space-xs);border-inline:var(--bmi-gutter);font-size:var(--text-caption)}.bmi-tick{display:grid;gap:var(--space-3xs);color:var(--on-surface-muted)}.bmi-tick b{color:var(--on-surface-variant);font-weight:var(--weight-medium)}.bmi-empty{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);border:1px solid var(--outline);border-radius:var(--radius);background:var(--surface-alt);padding:var(--pad)}.bmi-empty p{flex:1 1 12ch;margin:0}.weight-toolbar{position:sticky;top:0;z-index:1;background:var(--surface);padding:var(--pad)}.weight-list{display:grid;gap:var(--pad)}.weight-note{color:var(--on-surface-variant);font-size:var(--text-label);white-space:pre-wrap}.backlog{margin:0;padding-left:var(--space-xl);color:var(--on-surface-variant)}.about-title{margin-bottom:0}.about-build{margin-top:0}.about-note{margin-bottom:0}.about-list{display:grid;gap:var(--space-2xs);margin:0;list-style:none;font-size:var(--text-label)}.status{margin:80px auto;max-width:520px;text-align:center}.error{color:var(--danger)}@media (max-width: 860px){:root{--nav-h: 56px;--text-display: 64px}.app-shell{padding:0;padding-top:env(safe-area-inset-top);background:var(--surface-inverse)}.app-shell>.panel{margin-bottom:0}.panel{border:0;border-radius:0;box-shadow:none}.run-layout{grid-template-columns:minmax(0,1fr)}.run-rail{display:none}.index-entry{min-height:48px}.button-row,.row-actions{flex-wrap:wrap}.countdown{margin:var(--space-sm) 0}}@media (max-width: 400px){:root{--pad: var(--space-sm);--text-display: 56px}.tab span{display:none}.run-actions-row{gap:var(--space-2xs)}}@media (max-height: 460px){:root{--pad: var(--space-xs);--nav-h: 48px;--text-display: 44px}.tab span{display:none}.countdown{margin:var(--space-2xs) 0}.target{font-size:var(--text-subtitle)}.app-shell:not(.chrome-open) .run-actions-row.nav{display:none}.app-shell:has(>.panel.runner):not(.chrome-open)>.tabbar{display:none}.app-shell:not(.chrome-open) .run-actions{border-top:0}.app-shell:has(>.panel.runner):not(.chrome-open)>.panel.runner{padding-bottom:calc(var(--pad) + env(safe-area-inset-bottom))}.panel.runner{touch-action:manipulation}.summary-totals{grid-template-columns:minmax(0,1fr)}.sheet-body{max-height:90dvh}}
