:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none;--bg: #000000;--surface-1: #141416;--surface-2: #1f1f22;--surface-3: #2a2a2e;--surface-chrome: #0a0a0b;--surface-sunken: #101012;--line: #232326;--line-strong: #34343a;--text: #ffffff;--text-soft: #b4b4b9;--text-muted: #8a8a8e;--text-dim: #5c5c60;--text-faint: #77777c;--accent: #ffffff;--accent-strong: #ffffff;--accent-ink: #000000;--success: #30d158;--danger: #ff453a;--warning: #ffd60a;--focus: #ffffff;--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: .625rem;--radius-md: 1rem;--radius-lg: 1.25rem;--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;--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:dark}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-4) 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;width:68px;flex-shrink:0;color:var(--text-dim);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;gap:var(--space-4)}.stack-lg{display:grid;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}.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}.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:20px 18px;border-radius:var(--radius-lg);background:var(--surface-1)}.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:30px;flex-shrink:0}.set-heading-lane-input{flex:1;min-width:0}.set-heading-lane-done{width:40px;flex-shrink:0;text-align:right;white-space:nowrap}.set-row{display:flex;align-items:center;gap:10px}.set-row-number{width:30px;flex-shrink:0;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:44px;padding:0 14px;border-radius:var(--radius-sm);border:1.5px solid transparent;background:var(--surface-1);color:var(--text-muted);font-family:var(--mono);font-size:16px;font-weight:500;line-height:20px;outline:none;box-sizing:border-box}.set-row.is-active .set-input{background:var(--bg);border-color:var(--accent);color:var(--text)}.set-row.is-upcoming .set-input{background:var(--surface-1);color:var(--text-dim)}.set-check-wrapper{position:relative;display:flex;align-items:center;justify-content:flex-end;width:32px;height:32px;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:32px;height:32px;flex-shrink:0;border-radius:var(--radius-pill);border:1.5px solid var(--line-strong);background:transparent;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-pill{align-self:center;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-ink);font-family:var(--mono);font-size:14px;font-weight:600;line-height:18px}.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}@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}}
