:root{--font-sans: "ABC Diatype", sans-serif;--font-mono: "ABC Diatype Semi-Mono", sans-serif;--bg: #050505;--surface: rgba(255,255,255,.035);--surface-raised: rgba(255,255,255,.055);--text: #f3f2ee;--text-dim: #b7b4ad;--text-faint: #7a766f;--border: rgba(255,255,255,.08);--action-primary-fill: #ffffff;--action-primary-text: #0d1117;--protein: #fbbf24;--carbs: #4ecdc4;--fat: #f472b6;--ring-gradient-start: var(--carbs);--ring-gradient-mid: var(--fat);--ring-gradient-end: var(--protein);--ring-gradient: linear-gradient(135deg, var(--ring-gradient-start) 0%, var(--ring-gradient-mid) 52%, var(--ring-gradient-end) 100%);--ring-track: rgba(255,255,255,.08);--workout-accent: #f8fe54;--split-push: #f472b6;--split-pull: #818cf8;--split-legs: #fbbf24;--error: #f26d6d;--success: #86efac;--warning: #fbbf24;--type-display-size: 40px;--type-display-line: .98;--type-display-track: -.03em;--type-display-weight: 700;--type-heading-xl-size: 24px;--type-heading-xl-line: 1.15;--type-heading-xl-track: -.02em;--type-heading-xl-weight: 700;--type-heading-lg-size: 20px;--type-heading-lg-line: 1.15;--type-heading-lg-track: -.02em;--type-heading-lg-weight: 600;--type-heading-md-size: 18px;--type-heading-md-line: 1.15;--type-heading-md-track: -.01em;--type-heading-md-weight: 700;--type-title-size: 16px;--type-title-line: 1.25;--type-title-track: -.01em;--type-title-weight: 600;--type-body-size: 14px;--type-body-line: 1.6;--type-body-weight: 400;--type-body-sm-size: 13px;--type-body-sm-line: 1.5;--type-body-sm-weight: 400;--type-caption-size: 12px;--type-caption-line: 1.5;--type-caption-weight: 400;--type-meta-size: 12px;--type-meta-line: 1.4;--type-meta-weight: 400;--type-label-size: 12px;--type-label-line: 1.25;--type-label-track: .12em;--type-label-weight: 400;--type-data-xl-size: 40px;--type-data-xl-line: 1;--type-data-xl-track: -.03em;--type-data-xl-weight: 400;--type-data-lg-size: 32px;--type-data-lg-line: 1;--type-data-lg-track: -.02em;--type-data-lg-weight: 400;--type-data-md-size: 18px;--type-data-md-line: 1.1;--type-data-md-track: -.02em;--type-data-md-weight: 400;--type-data-sm-size: 16px;--type-data-sm-line: 1;--type-data-sm-track: -.01em;--type-data-sm-weight: 400}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow:hidden;overscroll-behavior:none}body{font-family:var(--font-sans);background:radial-gradient(circle at top,rgba(255,255,255,.045),transparent 32%),linear-gradient(180deg,#050505,#020202);color:var(--text);height:100dvh;max-width:420px;margin:0 auto;-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none;touch-action:manipulation}.dashboard-floating-root{position:fixed;inset:0;z-index:40;pointer-events:none}.view{position:absolute;top:0;left:0;right:0;height:100dvh;background:var(--bg);transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .32s ease;will-change:transform,opacity;padding-bottom:48px;max-width:420px;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.view.hidden-right{transform:translate(100%);opacity:0;pointer-events:none}.view.hidden-left{transform:translate(-30%);opacity:.4;pointer-events:none}.view.active{transform:translate(0);opacity:1;pointer-events:auto;z-index:2}.view.underneath{transform:translate(0);opacity:.4;pointer-events:none;z-index:1}#view-active-workout{padding-bottom:132px}#view-program{padding-bottom:112px}#view-edit-meal,#view-saved-foods{padding-bottom:228px}.hidden{display:none!important}.type-display{font-family:var(--font-sans);font-size:var(--type-display-size);line-height:var(--type-display-line);letter-spacing:var(--type-display-track);font-weight:var(--type-display-weight)}.type-heading-xl{font-family:var(--font-sans);font-size:var(--type-heading-xl-size);line-height:var(--type-heading-xl-line);letter-spacing:var(--type-heading-xl-track);font-weight:var(--type-heading-xl-weight)}.type-heading-lg{font-family:var(--font-sans);font-size:var(--type-heading-lg-size);line-height:var(--type-heading-lg-line);letter-spacing:var(--type-heading-lg-track);font-weight:var(--type-heading-lg-weight)}.type-heading-md{font-family:var(--font-sans);font-size:var(--type-heading-md-size);line-height:var(--type-heading-md-line);letter-spacing:var(--type-heading-md-track);font-weight:var(--type-heading-md-weight)}.type-title{font-family:var(--font-sans);font-size:var(--type-title-size);line-height:var(--type-title-line);letter-spacing:var(--type-title-track);font-weight:var(--type-title-weight)}.type-body{font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight)}.type-body-sm{font-family:var(--font-sans);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--type-body-sm-weight)}.type-caption{font-family:var(--font-sans);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight)}.type-meta{font-family:var(--font-sans);font-size:var(--type-meta-size);line-height:var(--type-meta-line);font-weight:var(--type-meta-weight)}.type-label{font-family:var(--font-sans);font-size:var(--type-label-size);line-height:var(--type-label-line);letter-spacing:var(--type-label-track);font-weight:var(--type-label-weight);text-transform:uppercase}.type-data-xl,.type-data-lg,.type-data-md,.type-data-sm{font-family:var(--font-sans)}.type-data-xl{font-size:var(--type-data-xl-size);line-height:var(--type-data-xl-line);letter-spacing:var(--type-data-xl-track);font-weight:var(--type-data-xl-weight)}.type-data-lg{font-size:var(--type-data-lg-size);line-height:var(--type-data-lg-line);letter-spacing:var(--type-data-lg-track);font-weight:var(--type-data-lg-weight)}.type-data-md{font-size:var(--type-data-md-size);line-height:var(--type-data-md-line);letter-spacing:var(--type-data-md-track);font-weight:var(--type-data-md-weight)}.type-data-sm{font-size:var(--type-data-sm-size);line-height:var(--type-data-sm-line);letter-spacing:var(--type-data-sm-track);font-weight:var(--type-data-sm-weight)}.sub-header{display:flex;align-items:center;gap:12px;padding:16px 20px 12px;position:sticky;top:0;background:#050505e0;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:10}.sub-header-spread{justify-content:space-between}.sub-title{font-size:var(--type-heading-md-size);font-weight:var(--type-heading-md-weight);line-height:var(--type-heading-md-line);letter-spacing:var(--type-heading-md-track);color:var(--text)}.sub-date{font-family:var(--font-mono);font-size:var(--type-meta-size);color:var(--text-faint);margin-left:auto}.sub-header-action{margin-left:auto;padding:4px 0;border:none;background:none;color:var(--text);font-family:ABC Diatype,sans-serif;font-size:13px;font-weight:400;cursor:pointer}.sub-header-action:active{opacity:.72}.header{padding:20px 20px 0;display:flex;flex-direction:column;gap:14px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.profile-trigger{display:flex;align-items:center;gap:10px;min-height:44px;min-width:0;padding:4px 6px 4px 0;border:none;border-radius:16px;background:transparent;color:inherit;text-align:left;font-family:inherit;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.profile-trigger:active{transform:scale(.96);opacity:.88}.header-text{min-width:0}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--carbs),var(--fat),var(--protein));display:flex;align-items:center;justify-content:center;font-weight:400;font-size:14px;color:var(--bg)}.header-text .greeting{font-size:13px;color:var(--text-dim);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-text .name{font-size:var(--type-title-size);line-height:var(--type-title-line);letter-spacing:var(--type-title-track);font-weight:var(--type-title-weight);color:var(--text);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-icon-btn{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:var(--surface-raised);color:var(--text-dim);cursor:pointer;transition:transform .12s ease,opacity .12s ease,border-color .12s ease;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.header-icon-btn svg{width:17px;height:17px}.header-icon-btn:active{transform:scale(.96);opacity:.85}.header-icon-btn:hover{border-color:#ffffff14}.upgrade-banner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;font-family:ABC Diatype,sans-serif;color:inherit;text-align:left;appearance:none;background:var(--surface);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.upgrade-banner-copy{min-width:0}.upgrade-banner-kicker{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text)}.upgrade-banner-title{margin-top:4px;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text)}.upgrade-banner-link{flex-shrink:0;font-size:11px;font-weight:400;color:var(--text);text-decoration:underline}.section{padding:0 16px;margin-top:24px}.section-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;line-height:var(--type-label-line);letter-spacing:var(--type-label-track);color:var(--text-faint);margin-bottom:12px;padding-left:2px}.section-copy{margin:-4px 0 12px;padding-left:2px;font-size:12px;line-height:1.45;color:var(--text-dim)}#section-day-nav.section{margin-top:16px}.day-rail-shell{--day-chip-width: 44px;--day-chip-height: 44px;--day-chip-gap: 8px;--day-jump-mask-width: 104px;--day-jump-pill-offset: 8px;position:relative;height:56px;background:#ffffff0a;border:1px solid var(--border);border-radius:16px;padding-block:6px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow:hidden}.day-rail-shell.show-today-jump:after{content:"";position:absolute;top:0;bottom:0;width:var(--day-jump-mask-width);pointer-events:none;z-index:2}.day-rail-shell.today-jump-right:after{right:0;background:linear-gradient(90deg,#0e101400,#0e1014d6 40%,#0e1014)}.day-rail-shell.today-jump-left:after{left:0;background:linear-gradient(270deg,#0e101400,#0e1014d6 40%,#0e1014)}.day-snap-frame{position:absolute;top:6px;bottom:6px;left:50%;width:var(--day-chip-width);transform:translate(-50%);border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff0f;pointer-events:none}.day-rail-viewport{height:100%;overflow:hidden;touch-action:pan-x}.day-rail{display:flex;gap:var(--day-chip-gap);height:100%;overflow-x:auto;overflow-y:hidden;padding-inline:calc(50% - (var(--day-chip-width) / 2));scroll-padding-inline:calc(50% - (var(--day-chip-width) / 2));scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overscroll-behavior-y:none;scroll-behavior:smooth;scrollbar-width:none;touch-action:pan-x}.day-rail::-webkit-scrollbar{display:none}.day-jump-pill{position:absolute;top:50%;z-index:3;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#16191efa;color:var(--text);font-family:var(--font-sans);font-size:12px;font-weight:500;cursor:pointer;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .12s ease,opacity .12s ease,border-color .12s ease}.day-jump-pill[hidden]{display:none!important}.day-rail-shell.today-jump-right .day-jump-pill{right:var(--day-jump-pill-offset)}.day-rail-shell.today-jump-left .day-jump-pill{left:var(--day-jump-pill-offset)}.day-jump-pill:active{transform:translateY(-50%) scale(.98)}.day-jump-pill-dot{width:6px;height:6px;border-radius:50%;background:#fff}.day-jump-pill-label{line-height:1}.day-chip{position:relative;z-index:1;flex:0 0 var(--day-chip-width);min-width:var(--day-chip-width);min-height:var(--day-chip-height);padding:7px 10px;border-radius:12px;border:1px solid transparent;background:transparent;font-family:var(--font-sans);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;scroll-snap-align:center;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.day-chip:active{transform:scale(.98)}.day-chip.is-selected{background:transparent;border-color:transparent}.day-chip.is-today:not(.is-selected){border-color:#ffffff1a}.day-chip-label{display:block;font-size:9px;line-height:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint)}.day-chip-date{display:block;font-size:14px;line-height:16px;font-weight:500;color:var(--text-dim)}.day-chip.is-today .day-chip-label{color:var(--text-dim)}.day-chip.is-today .day-chip-date{color:var(--text);font-weight:600}.day-chip-indicator{min-height:8px;margin-top:2px;display:flex;align-items:center;justify-content:center}.day-chip-dot{width:4px;height:4px;border-radius:50%;background:#fff}.tappable{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,opacity .12s ease}.tappable:active{transform:scale(.98);opacity:.85}.cal-card{background:var(--surface);border-radius:20px;padding:20px;border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.nutrition-summary-card{padding:16px}.cal-hero-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.cal-hero-left{display:flex;align-items:baseline;gap:6px}.cal-hero-number{font-family:var(--font-sans);font-size:var(--type-data-lg-size);font-weight:var(--type-data-lg-weight);color:var(--text);line-height:var(--type-data-lg-line);letter-spacing:var(--type-data-lg-track)}.cal-hero-of{font-size:14px;color:var(--text-faint);font-weight:400}.cal-hero-bar{height:12px;background:var(--surface-raised);border-radius:6px;overflow:hidden;position:relative}.cal-hero-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--carbs),var(--fat),var(--protein));transition:width .8s cubic-bezier(.4,0,.2,1)}.macro-stack{display:flex;flex-direction:column;gap:10px;margin-top:16px}.macro-row-item{display:flex;align-items:center;gap:10px}.macro-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.macro-label-text{font-size:12px;font-weight:400;color:var(--text-dim);min-width:52px}.macro-bar-track{flex:1;height:6px;background:var(--surface-raised);border-radius:3px;overflow:hidden}.macro-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.macro-value-text{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:12px;color:var(--text);font-weight:400;min-width:62px;text-align:right}.macro-value-target{color:var(--text-faint)}.nutrition-summary-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.nutrition-summary-meal-count{flex:1 1 auto;color:var(--text-dim);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--type-body-sm-weight)}.nutrition-summary-suggestion{margin:10px 2px 0;color:var(--text-dim);font-size:var(--type-body-sm-size);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.nutrition-summary-suggestion-label{color:var(--text);font-weight:500}.tap-hint{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:10px;font-size:10px;color:var(--text-faint);font-weight:400}.tap-hint svg{width:12px;height:12px}.next-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px 18px;display:flex;align-items:center;gap:14px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.next-card-rest{background:#ffffff0a;border-color:#ffffff14}.next-badge{width:44px;height:44px;border-radius:12px;background:var(--workout-accent);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:var(--bg);flex-shrink:0}.next-badge-rest{background:#ffffff1f;color:var(--text)}.next-meta{flex:1}.next-overline{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;line-height:var(--type-label-line);letter-spacing:var(--type-label-track);color:var(--text-dim)}.next-title{font-size:var(--type-heading-md-size);line-height:var(--type-heading-md-line);letter-spacing:var(--type-heading-md-track);font-weight:var(--type-heading-md-weight);color:var(--text);margin-top:2px}.next-sub{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-dim);margin-top:1px}.next-sub-secondary{color:var(--text);margin-top:6px}.chevron{width:18px;height:18px;color:var(--text-dim);flex-shrink:0}.log-list{margin-top:12px}.log-entry{display:flex;gap:12px;padding:12px 0;align-items:flex-start}.log-entry+.log-entry{border-top:1px solid var(--border)}.log-date-col{display:flex;flex-direction:column;align-items:center;min-width:36px}.log-day{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:16px;font-weight:500;color:var(--text);line-height:1}.log-month{font-size:9px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.log-body{flex:1;min-width:0}.log-split-tag{display:inline-block;font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:.8px;padding:2px 8px;border-radius:6px;line-height:1.5}.tag-push{background:#f472b61f;color:var(--split-push)}.tag-pull{background:#818cf81f;color:var(--split-pull)}.tag-legs{background:#fbbf241f;color:var(--split-legs)}.tag-upper{background:#4ecdc41f;color:var(--carbs)}.tag-lower{background:#fbbf241f;color:var(--split-legs)}.tag-full{background:#818cf81f;color:var(--split-pull)}.log-exercises{font-size:12px;color:var(--text-dim);margin-top:5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.log-entry .chevron{margin-top:4px}.day-workout-list{margin-top:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:16px;overflow:hidden;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.day-workout-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px}.day-workout-row+.day-workout-row{border-top:1px solid var(--border)}.day-workout-copy{flex:1;min-width:0}.day-workout-name{font-size:14px;line-height:1.35;font-weight:500;color:var(--text)}.day-workout-detail{margin-top:4px;font-family:var(--font-mono);font-size:11px;line-height:1.45;color:var(--text-dim)}.day-workout-status{flex-shrink:0;align-self:center;padding:3px 8px;border-radius:999px;font-size:10px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase}.day-workout-status-planned{background:#ffffff14;color:var(--text-dim)}.day-workout-status-current{background:#f8fe5424;color:var(--workout-accent)}.day-workout-status-completed{background:#86efac1f;color:var(--success)}.day-workout-status-recovery{background:#4ecdc41f;color:var(--carbs)}.day-workout-status-activity{background:#86efac1f;color:var(--success)}.day-workout-status-activity-impact{background:#fbbf2424;color:var(--split-legs)}.day-activity-list{border-color:#86efac24}.day-activity-meta{margin-top:5px;font-size:11px;line-height:1.35;color:var(--text-faint)}.body-state-card{padding:16px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#0c0c0df5;box-shadow:inset 0 1px #ffffff08;overflow:hidden}.body-state-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.body-state-kicker,.body-status-label{color:var(--text-faint);font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase}.body-state-title{margin-top:6px;color:var(--text);font-family:var(--font-sans);font-size:var(--type-heading-lg-size);line-height:var(--type-heading-lg-line);letter-spacing:var(--type-heading-lg-track);font-weight:var(--type-heading-lg-weight)}.body-state-pill{flex-shrink:0;min-height:32px;padding:8px 11px;border-radius:999px;background:#ffffff0f;color:var(--text-dim);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.body-state-ready .body-state-pill{background:#86efac1f;color:var(--success)}.body-state-recover .body-state-pill{background:#fbbf2424;color:var(--warning)}.body-state-summary{margin-top:10px;color:var(--text-dim);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.body-state-reasons{display:grid;gap:8px;margin-top:14px}.body-state-reason{padding:11px 12px;border-radius:14px;background:var(--surface);border:1px solid rgba(255,255,255,.08)}.body-state-reason-label{color:var(--text);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.body-state-reason-detail{margin-top:3px;color:var(--text-faint);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.body-state-reason-positive .body-state-reason-label{color:var(--success)}.body-state-reason-warning .body-state-reason-label,.body-state-reason-recovery .body-state-reason-label{color:var(--warning)}.body-state-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.body-state-metric{min-width:0;padding:10px 11px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}.body-state-metric-label{color:var(--text-faint);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.body-state-metric-value{margin-top:4px;color:var(--text);font-size:var(--type-data-sm-size);line-height:var(--type-data-sm-line);letter-spacing:var(--type-data-sm-track);font-weight:var(--type-data-sm-weight);font-variant-numeric:tabular-nums}.body-state-metric-detail{margin-top:4px;color:var(--text-faint);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.body-state-metric-positive .body-state-metric-detail{color:var(--success)}.body-state-metric-warning .body-state-metric-detail,.body-state-metric-recovery .body-state-metric-detail{color:var(--warning)}.body-status-control{display:grid;gap:10px;margin-top:16px;min-width:0}.body-status-chips{display:flex;flex-wrap:nowrap;gap:8px;width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.body-status-chips::-webkit-scrollbar{display:none}.body-status-chip{flex:0 0 auto;min-height:40px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#ffffff0b;color:var(--text-dim);font-family:var(--font-sans);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);transition-property:transform,background-color,border-color,color;transition-duration:.16s;transition-timing-function:cubic-bezier(.2,0,0,1)}.body-status-chip:active{transform:scale(.96)}.body-status-chip.is-active{background:var(--action-primary-fill);border-color:var(--action-primary-fill);color:var(--action-primary-text)}.body-status-chip:disabled{opacity:.58}.body-status-feedback{color:var(--text-faint);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.body-status-feedback[data-state=error]{color:var(--error)}.trends-page-body{padding:8px 16px 42px}.trends-page-copy{margin:0 2px 16px}.trend-feed-card{padding:16px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#0c0c0df5;box-shadow:inset 0 1px #ffffff08}.trend-feed-card+.trend-feed-card{margin-top:14px}.trend-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.trend-card-kicker{color:var(--text-faint);font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase}.trend-card-title{margin-top:6px;color:var(--text);font-family:var(--font-sans);font-size:var(--type-heading-lg-size);line-height:var(--type-heading-lg-line);letter-spacing:var(--type-heading-lg-track);font-weight:var(--type-heading-lg-weight)}.trend-card-copy{margin-top:10px;color:var(--text-dim);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.trend-card-chip{flex-shrink:0;padding:6px 10px;border-radius:999px;background:#ffffff0f;color:var(--text-dim);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.trend-card-chart{margin-top:14px}.chart-area{position:relative}.chart-area svg{width:100%;height:auto;display:block}.trend-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:14px;background:var(--surface);border-radius:14px;border:1px solid rgba(255,255,255,.08);overflow:hidden;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.trend-stat{padding:12px 14px;text-align:left}.trend-stat+.trend-stat{border-left:1px solid var(--border)}.trend-stat-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;line-height:var(--type-label-line);letter-spacing:var(--type-label-track);color:var(--text-faint)}.trend-stat-value{font-family:var(--font-sans);font-size:var(--type-data-sm-size);line-height:var(--type-data-sm-line);letter-spacing:var(--type-data-sm-track);font-weight:var(--type-data-sm-weight);color:var(--text);margin-top:4px}.trend-stat-value.positive{color:var(--success)}.trend-weight-entry{margin-top:16px;display:grid;gap:8px}.trend-weight-entry-label{color:var(--text);font-size:var(--type-label-size);line-height:var(--type-label-line);letter-spacing:var(--type-label-track);font-weight:var(--type-label-weight);text-transform:uppercase}.trend-weight-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.trend-weight-input{width:100%;min-height:46px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:var(--text);font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-line)}.trend-weight-save{min-height:46px;padding:0 16px;border-radius:14px;border:none;background:#fff;color:#0d1117;font-family:var(--font-sans);font-size:14px;font-weight:600}.trend-weight-entry-hint,.trend-weight-entry-status{font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-faint)}.trend-weight-entry-status:not(.hidden){display:block}.trend-weight-entry-status[data-state=success]{color:var(--success)}.trend-weight-entry-status[data-state=error]{color:var(--error)}.nutri-hero{padding:4px 16px 20px}.nutri-hero-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.nutri-hero-left{display:flex;align-items:baseline;gap:6px}.nutri-hero-number{font-family:var(--font-sans);font-size:var(--type-data-xl-size);font-weight:var(--type-data-xl-weight);color:var(--text);line-height:var(--type-data-xl-line);letter-spacing:var(--type-data-xl-track)}.nutri-hero-of{font-size:16px;color:var(--text-faint)}.nutri-hero-remaining{font-size:14px;color:var(--text);font-weight:400}.nutri-hero-bar{height:14px;background:var(--surface-raised);border-radius:7px;overflow:hidden}.nutri-hero-fill{height:100%;border-radius:7px;background:linear-gradient(90deg,var(--carbs),var(--fat),var(--protein))}.macro-detail-row{display:flex;gap:8px;padding:0 16px;margin-top:4px}.macro-detail-card{flex:1;background:var(--surface);border-radius:14px;padding:14px;border:1px solid rgba(255,255,255,.08);text-align:left;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.mdc-label{font-size:var(--type-label-size);font-weight:var(--type-label-weight);color:var(--text-dim);text-transform:uppercase;line-height:var(--type-label-line);letter-spacing:var(--type-label-track)}.mdc-bar{height:5px;background:var(--surface-raised);border-radius:3px;margin:8px 0;overflow:hidden}.mdc-fill{height:100%;border-radius:3px}.mdc-value{font-family:var(--font-sans);font-size:var(--type-data-md-size);line-height:var(--type-data-md-line);letter-spacing:var(--type-data-md-track);font-weight:var(--type-data-md-weight);color:var(--text)}.mdc-target{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:11px;color:var(--text-faint)}.mdc-remaining{font-size:11px;color:var(--text-dim);margin-top:4px}.saved-foods-section{padding:0 16px;margin-top:24px}.saved-foods-head,.saved-food-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.saved-foods-head .sheet-section-title,.saved-food-section-head .sheet-section-title{margin-bottom:0}.saved-food-add-btn{min-width:54px;height:32px;border:1px solid var(--border);border-radius:999px;background:#ffffff0a;color:var(--text);font-family:ABC Diatype,sans-serif;font-size:12px}.saved-food-card-list{display:grid;gap:8px}.saved-food-card-list .meal-card{margin-bottom:0}.saved-food-card{width:100%;display:block;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;text-align:left;font-family:inherit}.saved-food-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.saved-food-card-title{min-width:0;color:var(--text);font-size:15px;font-weight:500;overflow-wrap:anywhere}.saved-food-card-cal{flex-shrink:0;color:var(--text);font-family:ABC Diatype Semi-Mono,sans-serif;font-size:13px}.saved-food-card-meta,.saved-food-card-items{margin-top:6px;color:var(--text-dim);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.saved-food-card-footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-dim);font-family:ABC Diatype Semi-Mono,sans-serif;font-size:11px}.saved-food-card-footer span{display:inline-flex;align-items:center;gap:4px}.saved-foods-empty{padding:18px 14px;border:1px dashed var(--border);border-radius:14px}.saved-foods-list-section{margin-top:18px}.saved-foods-list-intro{padding:0 16px 4px}.saved-food-add-wide{width:100%;min-height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:var(--surface-raised);color:var(--text);font-family:var(--font-sans);font-size:var(--type-body-sm-size);font-weight:500;cursor:pointer}.saved-food-add-wide:active{transform:scale(.96)}.meals-section{padding:0 16px;margin-top:24px}.meals-section .section-label{margin-bottom:8px}.meal-detail-card{background:var(--surface);border-radius:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);margin-bottom:8px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.meal-detail-header{display:flex;justify-content:space-between;align-items:center}.meal-detail-name{font-size:14px;font-weight:400;color:var(--text)}.meal-detail-cals{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:13px;color:var(--text);font-weight:400}.meal-detail-macros{display:flex;gap:12px;margin-top:8px}.meal-macro{display:flex;align-items:center;gap:4px;font-family:ABC Diatype Semi-Mono,sans-serif;font-size:11px;color:var(--text-dim)}.meal-macro .macro-dot{width:5px;height:5px}.workout-log-screen{padding-top:16px}.workout-hero{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding:2px 0}.workout-hero-badge{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#050505;font-family:var(--font-sans);font-size:24px;font-weight:700;letter-spacing:0}.workout-hero-info{min-width:0}.workout-hero-type{color:var(--text);font-family:var(--font-sans);font-size:var(--type-heading-lg-size);line-height:var(--type-heading-lg-line);letter-spacing:var(--type-heading-lg-track);font-weight:var(--type-heading-lg-weight)}.workout-hero-meta{margin-top:4px;color:var(--text-dim);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line)}.workout-log-hero{margin-bottom:10px}.workout-log-summary-card{display:flex;align-items:center;gap:14px;margin-bottom:16px}.workout-log-summary-badge{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:#ffffffd1;color:#111;font-family:var(--font-sans);font-size:24px;font-weight:700;flex-shrink:0}.workout-log-summary-copy{min-width:0}.workout-log-summary-title{margin:0}.workout-log-summary{margin-bottom:18px}.workout-log-history-card{gap:12px}.workout-log-status-chip{padding:5px 10px;border-radius:999px;background:#ffffff0f;color:var(--text-dim);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.workout-log-list-readonly{margin-top:4px}.workout-log-history-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;padding:10px 0}.workout-log-history-row+.workout-log-history-row{border-top:1px solid rgba(255,255,255,.06)}.workout-log-history-label{color:var(--text-faint);font-family:var(--font-sans);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.workout-log-history-value{color:var(--text);font-family:var(--font-sans);font-size:var(--type-body-size);line-height:var(--type-body-line)}.workout-log-effort-note{margin-top:0}.workout-log-row-readonly{grid-template-columns:32px minmax(0,1fr) auto minmax(0,1fr)}.workout-log-pill.is-readonly{display:flex;align-items:center;justify-content:center;cursor:default;background:#ffffff0a;border-color:#ffffff0f;min-height:42px;padding-right:40px}.exercise-card{background:var(--surface);border-radius:14px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);margin:0 16px 8px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.active-workout-card{border-color:#f8fe5438;box-shadow:0 12px 24px #080f1847}.active-workout-card-end{appearance:none;background:transparent;border:0;min-height:40px;box-shadow:var(--shadow-control, 0 0 0 1px rgba(255,255,255,.14));color:#ffffffbf;border-radius:999px;padding:6px 12px;margin-right:8px;font-family:var(--font-sans);font-size:12px;letter-spacing:.02em;cursor:pointer;transition-property:transform,background-color,color,box-shadow;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1));flex-shrink:0}.active-workout-card-end:hover{color:#fffffffa;box-shadow:0 0 0 1px #ffffff4d}.active-workout-card-end:active{transform:scale(.96)}.exercise-card-current{border-color:#f8fe5447;box-shadow:0 10px 24px #080f183d}.ex-card-header{display:flex;justify-content:space-between;align-items:center}.ex-card-name{font-size:14px;font-weight:400;color:var(--text)}.ex-card-badge{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:10px;font-weight:400;color:var(--text-dim);background:#ffffff0f;padding:2px 8px;border-radius:6px}.edit-log-btn{margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text);font-family:ABC Diatype,sans-serif;font-size:12px;font-weight:400;cursor:pointer}.ex-card-status{font-size:10px;font-weight:400;color:var(--text-faint);background:#ffffff0f;padding:2px 8px;border-radius:999px}.sets-table{margin-top:10px}.sets-row{display:flex;align-items:center;padding:5px 0;font-family:ABC Diatype Semi-Mono,sans-serif;font-size:12px}.sets-row+.sets-row{border-top:1px solid var(--border)}.set-num{width:32px;color:var(--text-faint);font-size:11px}.set-weight{width:60px;color:var(--text);font-weight:500}.set-reps{width:48px;color:var(--text-dim)}.set-rpe{color:var(--text-faint);font-size:11px}.program-preview-header{padding-inline:16px}.program-preview-summary{margin:0 16px 12px}.program-preview-summary-title{color:var(--text);font-size:16px;line-height:1.25;font-weight:500;margin-bottom:3px}.program-preview-summary-line{color:var(--text-dim);font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);font-weight:var(--type-body-sm-weight)}.program-exercise{background:var(--surface);border-radius:14px;padding:14px 16px;border:1px solid var(--border);margin:0 16px 8px;display:flex;align-items:flex-start;gap:12px}.program-num{font-family:var(--font-sans);font-size:14px;font-weight:400;color:var(--text-faint);min-width:20px}.program-ex-info{flex:1;min-width:0}.program-ex-name{font-size:14px;font-weight:400;color:var(--text)}.program-preview-exercise{background:transparent;border:none;border-top:1px solid rgba(255,255,255,.08);border-radius:0;margin:0 16px;padding:12px 0 13px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:flex-start;gap:12px}.program-preview-exercise .program-num{padding-top:1px;min-width:0;color:var(--text-faint);font-family:var(--font-sans);font-size:13px;line-height:1.3;font-variant-numeric:tabular-nums;text-align:right}.program-preview-exercise .program-ex-info{min-width:0}.program-preview-exercise .program-ex-name{color:var(--text);font-size:15px;line-height:1.25;font-weight:500;text-wrap:pretty}.program-ex-rx{font-family:var(--font-sans);font-size:12px;color:var(--text-dim);margin-top:2px}.program-ex-target{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-top:5px;padding-top:0;border-top:none}.program-target-metric{display:inline-flex;align-items:baseline;gap:4px;min-width:0}.program-target-label{flex:0 0 auto;color:var(--text-dim);font-size:13px;line-height:1.25;font-weight:400;letter-spacing:0;text-transform:none}.program-target-value{flex:0 0 auto;min-width:0;color:var(--text);font-family:var(--font-sans);font-size:13px;line-height:1.15;font-weight:400;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.program-target-metric+.program-target-metric:before{content:"·";color:var(--text-faint);margin-right:8px}.program-progression{display:inline-flex;align-items:baseline;gap:4px;margin-top:6px;padding:0;background:transparent;color:var(--text-dim);font-size:13px;line-height:1.25}.program-progression-value{display:inline-flex;align-items:baseline;gap:2px;color:var(--workout-accent);font-weight:400;font-variant-numeric:tabular-nums}.program-progression-amount,.program-progression-unit{display:inline-block}.program-progression-copy{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-ex-target-fallback{display:flex;color:var(--text-dim);font-family:var(--font-sans);font-size:13px;line-height:1.45}.program-ex-context{font-family:var(--font-sans);font-size:12px;color:var(--text-dim);margin-top:8px;line-height:1.45}.program-ex-last,.program-ex-pr{color:var(--text-dim);font-size:12px;line-height:1.45;margin-top:8px}.program-ex-label{margin-right:6px;color:var(--text-faint);font-family:var(--font-sans);font-size:10px;line-height:1.2;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.program-note{margin:0 16px 8px;padding:12px 16px;background:#ffffff0a;border-radius:12px;font-size:12px;color:var(--text-dim);line-height:1.5;border:1px solid rgba(255,255,255,.06)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.anim{animation:fadeUp .4s ease both}.anim-d1{animation-delay:.05s}.anim-d2{animation-delay:.1s}.anim-d3{animation-delay:.15s}.loading-overlay{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.loading-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--surface-raised);border-top-color:var(--text);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:13px;color:var(--text-dim);font-weight:400}.error-overlay{position:fixed;inset:0;z-index:100;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px}.error-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.error-icon{width:48px;height:48px;border-radius:50%;background:#f26d6d1f;color:#f26d6d;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.error-message{font-size:14px;color:var(--text-dim);line-height:1.5;max-width:260px}.error-retry-btn{margin-top:4px;padding:10px 28px;border-radius:12px;background:#fff;color:#0d1117;font-family:ABC Diatype,sans-serif;font-size:14px;font-weight:400;border:none;cursor:pointer;transition:opacity .15s}.error-retry-btn:active{opacity:.8}.upgrade-sheet{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.upgrade-sheet-backdrop{position:absolute;inset:0;background:#000000bd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.upgrade-sheet-panel{position:relative;width:min(420px,100%);max-height:min(92dvh,100%);overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:20px 18px 22px;border-top-left-radius:24px;border-top-right-radius:24px;background:#0a0a0af0;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.upgrade-sheet-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;color:var(--text-dim);font-size:18px;cursor:pointer}.upgrade-sheet-close:disabled,.upgrade-sheet-secondary:disabled{opacity:.5;cursor:default}.upgrade-sheet-kicker{font-size:var(--type-label-size);font-weight:var(--type-label-weight);text-transform:uppercase;line-height:var(--type-label-line);letter-spacing:var(--type-label-track);color:var(--text)}.upgrade-sheet-title{margin-top:10px;margin-right:28px;font-size:var(--type-heading-xl-size);line-height:var(--type-heading-xl-line);letter-spacing:var(--type-heading-xl-track);font-weight:var(--type-heading-xl-weight)}.upgrade-sheet-copy{margin-top:12px;font-size:var(--type-body-size);line-height:var(--type-body-line);color:var(--text-dim)}.upgrade-benefits{margin-top:18px;display:grid;gap:10px}.upgrade-benefit{padding:12px 14px;border-radius:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.upgrade-benefit-title{font-size:13px;font-weight:400;color:var(--text)}.upgrade-benefit-text{margin-top:4px;font-size:12px;line-height:1.5;color:var(--text-dim)}.upgrade-sheet-note{margin-top:14px;font-size:11px;line-height:1.5;color:var(--text-faint)}.upgrade-sheet-error{margin-top:12px;font-size:12px;color:#ff8e8e}.upgrade-sheet-cta,.upgrade-sheet-secondary{width:100%;border-radius:14px;font-family:ABC Diatype,sans-serif;cursor:pointer}.upgrade-sheet-cta{margin-top:16px;padding:14px 16px;border:none;background:#fff;color:#0d1117;font-size:15px;font-weight:700}.upgrade-sheet-cta:disabled{opacity:.7;cursor:default}.upgrade-sheet-secondary{margin-top:10px;padding:12px 16px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:13px;font-weight:400}.detail-sheet{position:fixed;inset:0;z-index:55;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.detail-sheet-backdrop{position:absolute;inset:0;background:#000000c7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.detail-sheet-panel{position:relative;width:min(420px,100%);max-height:92dvh;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:20px 18px 22px;border-top-left-radius:24px;border-top-right-radius:24px;background:#0a0a0af2;border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.detail-sheet-close{position:absolute;top:12px;right:12px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:none;background:transparent;color:var(--text-dim);font-size:18px;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.detail-sheet-close:before{content:"";position:absolute;inset:6px;border-radius:999px;border:1px solid var(--border);background:#ffffff08;transition:background-color .16s ease,border-color .16s ease}.detail-sheet-close:active:not(:disabled){transform:scale(.96);opacity:.86}.detail-sheet-close:disabled{opacity:.5;cursor:default}.sheet-hero{display:flex;gap:14px;align-items:flex-start}.sheet-hero-compact{padding-right:28px}.sheet-avatar{width:48px;height:48px;flex-shrink:0;border-radius:16px;background:linear-gradient(135deg,var(--carbs),var(--fat),var(--protein));display:flex;align-items:center;justify-content:center;color:var(--bg);font-weight:700;font-size:18px}.sheet-hero-copy{min-width:0;padding-right:44px}.sheet-kicker{font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-line);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text)}.sheet-title{margin-top:8px;font-size:var(--type-heading-xl-size);line-height:var(--type-heading-xl-line);letter-spacing:var(--type-heading-xl-track);font-weight:var(--type-heading-xl-weight);color:var(--text)}.sheet-identity{margin-top:8px;font-size:15px;font-weight:600;color:var(--text)}.sheet-copy{margin-top:10px;font-size:var(--type-body-sm-size);line-height:var(--type-body-sm-line);color:var(--text-dim);text-wrap:pretty}#profile-sheet .detail-sheet-panel{padding-bottom:0}#profile-sheet .detail-sheet-panel:before{margin-bottom:10px}.profile-sheet-title-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}#profile-sheet .sheet-form{margin-top:40px}.profile-section-card{padding:10px;border-radius:22px;background:linear-gradient(180deg,#ffffff0b,#ffffff06);box-shadow:inset 0 0 0 1px #fff1,0 16px 40px #0000002e}#profile-sheet.sheet-visible .profile-section-card{animation:fadeUp .32s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--profile-section-index) * 55ms)}#profile-form .sheet-section+.sheet-section{margin-top:12px}#profile-form .sheet-field{gap:7px}#profile-form .sheet-field-label{transition:color .16s ease}#profile-form .sheet-field:focus-within .sheet-field-label{color:var(--text)}#profile-form .sheet-field-input{min-height:46px;border-radius:12px;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}#profile-form .sheet-field-input::placeholder{color:#b7b4ad85}#profile-form .sheet-field-input:focus{border-color:#fff3;background:#ffffff0e;box-shadow:0 0 0 1px #ffffff1f,0 10px 24px #0000002e}#profile-form .sheet-field-textarea{min-height:104px}#profile-form .sheet-action-row{position:sticky;bottom:0;z-index:2;margin:18px -18px 0;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0a0a0a00,#0a0a0af0 22%,#0a0a0afa);border-top:1px solid rgba(255,255,255,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.sheet-form,.settings-stack{margin-top:18px}.sheet-section+.sheet-section{margin-top:18px}.sheet-section-title{margin-bottom:10px;font-size:var(--type-label-size);font-weight:var(--type-label-weight);line-height:var(--type-label-line);letter-spacing:var(--type-label-track);text-transform:uppercase;color:var(--text-faint)}.profile-fields,.settings-grid{display:grid;gap:10px}.sheet-field{display:flex;flex-direction:column;gap:6px}.sheet-field-label{font-size:var(--type-meta-size);line-height:var(--type-meta-line);font-weight:var(--type-meta-weight);color:var(--text-dim)}.sheet-field-input{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff09;color:var(--text);font-family:ABC Diatype,sans-serif;font-size:14px;padding:12px 14px;outline:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.sheet-field-input:focus{border-color:var(--text-dim)}.sheet-field-input:disabled{opacity:.5}.sheet-field-textarea{min-height:92px;resize:vertical}.settings-card{padding:14px;border-radius:18px;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.settings-card+.settings-card{margin-top:12px}.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-card-title{font-size:14px;font-weight:400;color:var(--text)}.settings-card-copy{margin-top:4px;font-size:12px;line-height:1.55;color:var(--text-dim)}.settings-plan-chip{flex-shrink:0;padding:6px 10px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:11px;font-weight:400}.health-bridge-chip.connected{color:var(--success);background:#86efac14;border-color:#86efac2e}.settings-meta-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.settings-meta-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px}.settings-meta-value{font-size:12px;font-weight:400;color:var(--text)}.settings-subscription-btn{margin-top:14px}.health-bridge-metrics{display:grid;gap:10px;margin-top:12px}.health-bridge-metric{padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.health-bridge-metric-value{margin-top:4px;color:var(--text);font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);text-wrap:pretty}.health-bridge-actions{align-items:stretch}.health-bridge-delete-btn{margin-top:10px;color:var(--error)}.settings-checkin-stack{display:grid;gap:10px;margin-top:14px}.checkin-config-card{padding:12px;border-radius:16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05)}.checkin-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.checkin-config-title{font-size:13px;font-weight:400;color:var(--text)}.settings-field-wide{grid-column:1 / -1}.settings-row-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.settings-add-btn,.settings-link-btn{border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text);font-family:ABC Diatype,sans-serif;cursor:pointer}.settings-add-btn{flex-shrink:0;padding:10px 14px;border-radius:999px;font-size:12px;font-weight:400}.settings-link-btn{padding:8px 0;border:none;background:transparent;color:var(--text-dim);font-size:12px;font-weight:400}.settings-inline-note{margin-top:12px;font-size:12px;line-height:1.55;color:var(--text-dim)}.settings-grid-quiet{margin-top:14px}.developer-flag-list{display:grid;gap:12px;margin-top:14px}.developer-flag-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.settings-reason-input{min-height:76px}.switch{position:relative;display:inline-flex;width:48px;height:28px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;inset:0;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.08);transition:background .2s ease,border-color .2s ease}.switch-slider:before{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--text);transition:transform .2s ease}.switch input:checked+.switch-slider{background:#ffffff1f;border-color:#fff3}.switch input:checked+.switch-slider:before{transform:translate(20px);background:var(--text)}.sheet-status{margin-top:14px;font-size:12px;line-height:1.5}.sheet-status.success{color:var(--success)}.sheet-status.error{color:#ff8e8e}.sheet-action-row{display:flex;gap:10px;margin-top:16px}.sheet-primary-btn,.sheet-secondary-btn{width:100%;min-height:44px;border-radius:14px;font-family:ABC Diatype,sans-serif;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.sheet-primary-btn{padding:14px 16px;border:none;background:var(--action-primary-fill);color:var(--action-primary-text);font-size:14px;font-weight:400}.sheet-secondary-btn{padding:12px 16px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:13px;font-weight:400}.sheet-primary-btn:disabled,.sheet-secondary-btn:disabled{opacity:.5;cursor:default}.sheet-primary-btn:active:not(:disabled),.sheet-secondary-btn:active:not(:disabled){transform:scale(.96)}.sheet-danger-btn{color:#ff9b9b;border-color:#ff787852}.saved-food-form .sheet-section{margin-top:16px}.saved-food-totals{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;color:var(--text-dim);font-family:ABC Diatype Semi-Mono,sans-serif;font-size:11px}.saved-food-item-list{display:grid;gap:10px}.saved-food-item-row{padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#ffffff08}.saved-food-item-topline{display:flex;align-items:center;gap:8px;margin-bottom:8px}.saved-food-item-input,.saved-food-macro-grid input{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff09;color:var(--text);font-family:ABC Diatype,sans-serif;font-size:13px;padding:10px 11px;outline:none}.saved-food-item-input:focus,.saved-food-macro-grid input:focus{border-color:var(--text-dim)}.saved-food-item-name{flex:1}.saved-food-item-remove{flex-shrink:0;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:transparent;color:var(--text-faint);font-family:ABC Diatype,sans-serif;font-size:11px;padding:8px 10px}.saved-food-macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}.saved-food-macro-grid label{display:grid;gap:5px;color:var(--text-faint);font-family:ABC Diatype Semi-Mono,sans-serif;font-size:10px}.saved-food-add-row{display:grid;gap:10px;margin-top:12px}.saved-food-add-input{min-height:72px}.saved-food-empty{padding:18px 12px}@media(max-width:420px){.settings-row-actions{flex-direction:column;align-items:stretch}}.empty-state{text-align:center;padding:28px 16px;color:var(--text-faint);font-size:13px;font-weight:400}.perf-pending{padding:20px 16px;background:var(--surface);border-radius:14px;border:1px solid var(--border)}.perf-pending-title{font-size:13px;font-weight:400;color:var(--text);margin-bottom:16px}.perf-pending-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0}.perf-pending-row+.perf-pending-row{border-top:1px solid var(--border)}.perf-pending-name{font-size:12px;font-weight:400;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.perf-dots{display:flex;gap:6px;flex-shrink:0}.perf-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid rgba(255,255,255,.15);background:transparent;transition:background .2s,border-color .2s}.perf-dot.filled{background:var(--text);border-color:var(--text)}.perf-pending-hint{font-size:11px;color:var(--text-faint);margin-top:14px;text-align:center}button:focus-visible,[role=button]:focus-visible,.tappable:focus-visible{outline:2px solid rgba(255,255,255,.3);outline-offset:2px}.meal-card{background:var(--surface);border-radius:14px;border:1px solid var(--border);padding:0;margin-bottom:8px;width:100%;text-align:left;font-family:inherit;color:inherit;display:block}.meal-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 8px}.meal-card-type{display:flex;align-items:center;gap:8px}.meal-emoji{font-size:14px}.meal-type-label{font-size:16px;font-weight:500;color:var(--text)}.meal-card-cal{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:14px;font-weight:400;color:var(--text)}.meal-items-list{padding:0 14px 8px}.meal-item-row{display:flex;align-items:center;padding:3px 0;font-size:12px;color:var(--text-dim)}.meal-item-bullet{width:12px;color:var(--text-faint)}.meal-item-name{flex:1}.meal-item-cal{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:11px;color:var(--text-faint);min-width:30px;text-align:right}.meal-card-footer{display:flex;gap:12px;padding:8px 14px 10px;border-top:1px solid var(--border)}.meal-macro-item{display:flex;align-items:center;gap:4px;font-family:ABC Diatype Semi-Mono,sans-serif;font-size:11px;color:var(--text-dim)}.meal-card.saved-food-card{cursor:pointer}.meal-card.saved-food-card .meal-card-type{min-width:0}.meal-card.saved-food-card .meal-type-label{overflow-wrap:anywhere}.meal-card.saved-food-card .meal-card-cal{flex-shrink:0}.meal-card.saved-food-card:active{transform:scale(.96)}.saved-food-more-row .meal-item-name{color:var(--text-faint)}.save-btn{margin-left:auto;background:var(--action-primary-fill);color:var(--action-primary-text);border:none;border-radius:16px;padding:6px 18px;font-family:ABC Diatype,sans-serif;font-size:13px;font-weight:400;cursor:pointer;transition:opacity .15s}.save-btn:active{opacity:.8}.save-btn:disabled{opacity:.5;cursor:default}.meal-type-pills{display:flex;gap:8px;padding:0 16px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch}.meal-type-pills::-webkit-scrollbar{display:none}.meal-pill{white-space:nowrap;min-height:36px;padding:0 14px;font-family:var(--font-sans);font-size:var(--type-meta-size);line-height:var(--type-meta-line);font-weight:var(--type-meta-weight);border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.meal-pill.active{background:#ffffff14;border-color:var(--text);color:var(--text)}.edit-meal-summary{padding:0 16px 10px}.edit-meal-summary-card{display:flex;align-items:center;gap:16px;padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:var(--surface);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.edit-meal-summary-copy{min-width:0;flex:1}.edit-meal-summary-calories{font-size:var(--type-heading-lg-size);line-height:var(--type-heading-lg-line);letter-spacing:var(--type-heading-lg-track);font-weight:var(--type-heading-lg-weight);color:var(--text)}.edit-meal-summary-macros{display:flex;align-items:center;gap:10px;margin-top:4px;font-size:12px}.saved-food-name-panel{display:grid;gap:10px;padding:0 16px 12px}.saved-food-detail-shell{padding:0 16px 120px}.saved-food-detail-shell .meal-card{margin-bottom:12px}.saved-food-detail-card .meal-card-type{min-width:0}.saved-food-detail-card .meal-type-label{overflow-wrap:anywhere}.saved-food-detail-card .meal-card-cal{flex-shrink:0}.saved-food-detail-actions{display:grid;grid-template-columns:1fr auto;gap:10px}.saved-food-primary-action,.saved-food-secondary-action{min-height:44px;border-radius:12px;font-family:var(--font-sans);font-size:var(--type-body-sm-size);font-weight:var(--type-body-sm-weight);cursor:pointer}.saved-food-primary-action{border:none;background:var(--action-primary-fill);color:var(--action-primary-text)}.saved-food-secondary-action{min-width:86px;border:1px solid rgba(255,255,255,.08);background:var(--surface-raised);color:var(--error)}.saved-food-primary-action:active,.saved-food-secondary-action:active{transform:scale(.96)}.saved-food-edit-panel{padding-bottom:0}.saved-food-simple-total{display:flex;flex-wrap:wrap;gap:8px 12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:var(--surface);color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.saved-food-simple-total span:first-child{color:var(--text)}.saved-food-advanced{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:var(--surface);overflow:hidden}.saved-food-advanced summary{min-height:44px;display:flex;align-items:center;padding:0 14px;color:var(--text-dim);font-size:var(--type-body-sm-size);cursor:pointer}.saved-food-advanced[open] summary{border-bottom:1px solid rgba(255,255,255,.06)}.saved-food-advanced .saved-food-title-field{padding:12px 12px 0}.saved-food-advanced .saved-food-notes-input{width:calc(100% - 24px);margin:12px}.saved-food-title-field{display:grid;gap:6px}.saved-food-title-field span{color:var(--text-faint);font-size:var(--type-label-size);line-height:var(--type-label-line);letter-spacing:var(--type-label-track);text-transform:uppercase}.saved-food-title-field input,.saved-food-notes-input{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:var(--surface);color:var(--text);font-family:var(--font-sans);font-size:14px;padding:13px 14px;outline:none}.saved-food-title-field input:focus,.saved-food-notes-input:focus{border-color:var(--text-dim)}.saved-food-notes-input{min-height:72px;resize:vertical;line-height:1.45}.edit-item-card{background:var(--surface);border-radius:14px;padding:16px;border:1px solid rgba(255,255,255,.08);margin:0 16px 8px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.edit-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.edit-item-head{flex:1;min-width:0}.edit-item-title-row{display:flex;align-items:center;gap:8px}.edit-item-name{display:block;font-size:var(--type-title-size);line-height:var(--type-title-line);letter-spacing:var(--type-title-track);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-item-badge{padding:4px 8px;border-radius:999px;background:#f8fe541f;color:var(--workout-accent);font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-track);text-transform:uppercase;flex-shrink:0}.edit-item-cal{color:var(--text-dim);white-space:nowrap}.edit-item-card.is-new{border-color:#f8fe543d;box-shadow:inset 0 1px #ffffff08,0 0 0 1px #f8fe540f}.edit-item-delete{width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:var(--surface-raised);color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.edit-item-delete:active{background:#ffffff14;color:var(--text)}.edit-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.edit-item-action{min-height:32px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,255,255,.06);background:var(--surface-raised);color:var(--text-dim);font-family:var(--font-sans);font-size:var(--type-meta-size);font-weight:var(--type-meta-weight);cursor:pointer}.edit-item-action.is-active{color:var(--text);border-color:#ffffff1f}.edit-item-action:active{background:#ffffff14;color:var(--text)}.edit-item-portion-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.edit-item-portion-label{color:var(--text-faint);font-size:12px;font-weight:400}.edit-item-portion{font-size:12px;color:var(--text);font-family:var(--font-sans);letter-spacing:0}.saved-food-readonly-macros{display:flex;flex-wrap:wrap;gap:8px}.workout-screen{padding:16px 16px 120px}.workout-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 12px}.workout-topbar-copy{min-width:0;flex:1}.workout-topbar-title{color:var(--text);letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-topbar-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.workout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:999px;font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1;color:var(--text);background:#ffffff0a;box-shadow:var(--shadow-control, 0 0 0 1px rgba(255,255,255,.09));padding:12px 16px;cursor:pointer;white-space:nowrap;transition-property:transform,background-color,border-color,color,box-shadow,opacity;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1));touch-action:manipulation}.workout-button:active{transform:scale(.96)}.workout-button-tight{min-height:40px;padding:10px 14px}.workout-button-primary{background:#f4f4f4;color:#0b0b0c;box-shadow:0 0 0 1px #fffc,0 8px 20px #ffffff14,inset 0 1px #ffffff8c}.workout-button-secondary{background:#ffffff0a}.workout-button-ghost{background:#ffffff05}.workout-end-button{align-self:flex-start;background:#ffffff08}.workout-end-button.is-confirming{color:#050505;background:var(--workout-accent);box-shadow:0 0 0 1px #f8fe54b3,0 8px 20px #f8fe541f}.workout-inline-toggle{border:none;background:none;min-height:40px;padding:0 6px;color:var(--workout-accent);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition-property:transform,color,opacity;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1))}.workout-inline-toggle:active{transform:scale(.96)}.workout-summary{display:flex;align-items:flex-start;gap:8px;margin-bottom:16px}.workout-summary-copy{flex:1;color:var(--text-dim);line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2}.workout-summary.is-expanded .workout-summary-copy{display:block;-webkit-line-clamp:unset}.workout-card-stack{display:flex;flex-direction:column;gap:14px}.workout-card{border-radius:24px;padding:16px;background:#0c0c0df5;border:0;box-shadow:0 0 0 1px #ffffff14,inset 0 1px #ffffff09,0 14px 34px #0000003d}.workout-card-active{display:flex;flex-direction:column;gap:12px;border-radius:28px;border:0;box-shadow:0 0 0 1px #f8fe547a,inset 0 1px #ffffff0a,0 18px 42px #00000052,0 0 34px #f8fe5409}.workout-card-completed{display:grid;gap:14px}.workout-card-pending{display:flex;align-items:center;gap:12px}.workout-card-compact-copy{min-width:0}.workout-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.workout-card-title-row{display:flex;align-items:center;gap:12px;min-width:0}.workout-card-compact-icon{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-dim)}.workout-card-compact-icon svg{width:16px;height:16px}.workout-card-compact-icon.is-complete{color:var(--workout-accent);border-color:#f8fe545c;background:#f8fe5414}.workout-card-compact-icon.is-resting{color:var(--workout-accent);border-color:#f8fe5447;background:#f8fe5412}.workout-card-title{font-size:17px;line-height:1.2;font-weight:700;letter-spacing:0;color:var(--text);text-wrap:balance}.workout-card-main-copy{display:flex;flex-direction:column;min-width:0}.workout-card-title-lg{margin-top:0;font-size:25px;line-height:26px;letter-spacing:0}.workout-card-subtle{margin-top:4px;color:var(--text-dim);font-size:14px;line-height:1.45;text-wrap:pretty}.workout-card-meta-line{margin-top:0;color:var(--text-dim);font-size:12px;line-height:20px}.workout-note{display:block;margin-top:0;min-width:0}.workout-note-copy{color:var(--text-faint);font-size:14px;line-height:21px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;text-wrap:pretty}.workout-picker-stack{display:flex;flex-direction:column;gap:12px}.wheel-picker{position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:20px;border:1px solid rgba(255,255,255,.08);background:radial-gradient(120% 100% at 50% 0%,#ffffff08,#fff0 60%),linear-gradient(180deg,#ffffff05,#0003),#ffffff06;overflow:hidden}.wheel-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.wheel-picker-label{font-size:var(--type-label-size);line-height:var(--type-label-line);letter-spacing:var(--type-label-track);font-weight:var(--type-label-weight);text-transform:uppercase;color:var(--text-faint)}.wheel-picker-readout{font-family:var(--font-sans);font-size:24px;line-height:28px;letter-spacing:0;font-weight:400;color:#fffffff5;font-variant-numeric:tabular-nums}.wheel-picker-viewport{position:relative;overflow:hidden;margin-inline:-4px;padding-block:8px 2px;touch-action:pan-x;user-select:none;-webkit-user-select:none}.wheel-picker-track{display:flex;align-items:flex-start;gap:14px;padding-inline:calc(50% - 26px);will-change:transform}.wheel-picker-option{appearance:none;background:transparent;border:0;margin:0;padding:0;width:40px;min-width:40px;min-height:40px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;cursor:pointer;opacity:var(--wheel-opacity, .24);transform:scale(var(--wheel-scale, .92));transition:opacity .14s ease,transform .14s ease}.wheel-picker-option-line{width:3px;height:20px;border-radius:999px;background:#ffffff4d;transform:scaleY(var(--wheel-line-scale, .82));transform-origin:center;transition:background-color .14s ease,transform .14s ease}.wheel-picker-option-value{font-family:var(--font-mono);font-size:10px;line-height:11px;letter-spacing:0;font-weight:400;color:#ffffff8f;transform:translateY(var(--wheel-label-offset, 0px));transition:color .14s ease,transform .14s ease;white-space:nowrap}.wheel-picker-option.is-selected .wheel-picker-option-line{background:#fffffffa}.wheel-picker-option.is-selected .wheel-picker-option-value{color:#ffffffeb}.wheel-picker-option.is-target:not(.is-selected) .wheel-picker-option-value{color:var(--workout-accent);font-weight:500}.wheel-picker-option.is-target .wheel-picker-option-line{background:var(--workout-accent);box-shadow:0 0 6px #f8fe548c}.wheel-picker-option.is-target.is-selected .wheel-picker-option-line{background:var(--workout-accent);box-shadow:0 0 10px #f8fe54cc}.wheel-picker-boundary{position:absolute;top:0;bottom:0;width:28px;pointer-events:none}.wheel-picker-boundary-left{left:0;background:linear-gradient(90deg,#050505d6,#05050500)}.wheel-picker-boundary-right{right:0;background:linear-gradient(270deg,#050505d6,#05050500)}.workout-card-active .wheel-picker,.edit-item-picker .wheel-picker{gap:0;height:115px;min-height:0;border-radius:12px}.workout-card-active .wheel-picker-head,.edit-item-picker .wheel-picker-head{height:28px;min-height:28px}.workout-card-active .wheel-picker-label,.edit-item-picker .wheel-picker-label{color:var(--text-faint);font-size:14.5px;line-height:15.5px;font-weight:400;letter-spacing:0;text-transform:none}.workout-card-active .wheel-picker-readout,.edit-item-picker .wheel-picker-readout{font-size:14.5px;line-height:28px;letter-spacing:0}.workout-card-active .wheel-picker-viewport,.edit-item-picker .wheel-picker-viewport{height:53px;margin-inline:0;padding-block:8px 0}.workout-card-active .wheel-picker-boundary,.edit-item-picker .wheel-picker-boundary{display:none}.workout-card-active .wheel-picker-track,.edit-item-picker .wheel-picker-track{gap:12px;padding-inline:calc(50% - 20px)}.workout-card-active .wheel-picker-option-line,.edit-item-picker .wheel-picker-option-line{height:20.615px;width:3px}.workout-card-active .wheel-picker-option-value,.edit-item-picker .wheel-picker-option-value{font-size:12px;line-height:11.35px}.workout-log-list{display:grid;gap:10px;margin-top:14px}.workout-log-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}.workout-log-index{width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;color:var(--text-faint);font-family:var(--font-mono);font-size:12px}.workout-log-pill-wrap{position:relative;display:block}.workout-log-pill{width:100%;min-height:42px;padding:10px 48px 10px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.04);background:#ffffff0f;color:var(--text);font-family:var(--font-sans);font-size:16px;font-weight:600;text-align:center;outline:none;font-variant-numeric:tabular-nums}.workout-log-pill:focus{border-color:#f8fe5461;box-shadow:0 0 0 3px #f8fe5414}.workout-log-pill-suffix{position:absolute;top:50%;right:12px;transform:translateY(-50%);color:var(--text-dim);font-size:13px;pointer-events:none}.workout-log-separator{color:var(--text-dim);font-size:18px}.workout-card-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10px;margin-top:0}.workout-card-actions .workout-button{width:100%;min-height:45px;padding:13px 17px;font-size:14.5px;line-height:14.5px}.workout-card-actions .workout-button:active{transform:scale(.96)}.workout-button.is-loading,.workout-button:disabled{cursor:default;opacity:.72}.workout-button.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}.workout-button-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(255,255,255,.28);border-top-color:currentColor;animation:workout-button-spin .76s linear infinite}@keyframes workout-button-spin{to{transform:rotate(360deg)}}.workout-button-icon{display:inline-flex;align-items:center;justify-content:center}.workout-button-icon svg{width:15.5px;height:15.5px}.workout-effort{margin-top:16px}.workout-effort-note{margin-top:8px;color:var(--text-dim);font-size:14px;line-height:1.4}.workout-rpe-prompt{margin-top:16px;padding:16px;border-radius:14px;background:linear-gradient(180deg,#f8fe540e,#ffffff06),#ffffff06;box-shadow:0 0 0 1px #f8fe543d;transition:opacity .16s ease}.workout-rpe-prompt.is-saving{opacity:.68;pointer-events:none}.workout-rpe-prompt-copy{display:flex;align-items:center;justify-content:space-between;gap:12px}.workout-rpe-prompt-title{color:var(--text);font-size:14px;font-weight:600}.workout-rpe-prompt-note{color:var(--text-dim);font-size:12px;line-height:1.4;text-align:right}.workout-rpe-prompt .balance-slider{margin-top:14px}.workout-card-pending .workout-card-progress{margin-top:10px;color:var(--text-dim);font-size:12px;line-height:1.5}.workout-empty-state{padding:18px 14px;border-radius:16px;border:1px dashed var(--border);color:var(--text-faint);text-align:center;font-size:13px}.workout-card-resting{display:flex;flex-direction:column;gap:14px;border-color:#f8fe5452;background:linear-gradient(180deg,#f8fe540e,#f8fe5405),#0c0c0df5;animation:workout-rest-card-in .26s cubic-bezier(.2,0,0,1)}.workout-rest-card-head{display:flex;align-items:center;gap:12px}.workout-rest-card-copy{min-width:0}.workout-rest-card-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--workout-accent);margin-bottom:3px}.workout-rest-card-message{min-height:44px;display:flex;align-items:center;padding:12px 14px;border-radius:14px;background:#ffffff0a;color:var(--text-dim);font-size:14px;line-height:1.35}.workout-rest-layer{position:fixed;left:0;right:0;bottom:0;height:150px;z-index:30;pointer-events:none}.workout-rest-overlay{position:absolute;inset:0;-webkit-mask-image:linear-gradient(to top,black 0%,black 50%,transparent 100%);mask-image:linear-gradient(to top,black 0%,black 50%,transparent 100%);-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);background:linear-gradient(to top,rgba(5,5,5,.55) 0%,rgba(5,5,5,.18) 60%,transparent 100%);pointer-events:none}.workout-rest-dock{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);pointer-events:none;animation:workout-rest-dock-in .24s cubic-bezier(.22,1,.36,1)}@keyframes workout-rest-dock-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.workout-rest-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:12px;padding:6px 6px 6px 12px;background:#101010f5;border:1px solid rgba(255,255,255,.1);border-radius:999px;box-shadow:0 18px 40px #0000008c,0 0 0 1px #f8fe540a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.workout-rest-pill-complete{border-color:#f8fe543d;border-radius:24px;padding:8px 8px 8px 12px;max-width:min(calc(100vw - 28px),520px)}.workout-rest-complete-copy{min-width:0;padding-right:0}.workout-rest-complete-title{font-size:14px;line-height:17px;color:#fffffff0;font-weight:600}.workout-rest-complete-detail{margin-top:2px;font-size:12px;line-height:15px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}.workout-rest-ring{position:relative;width:40px;height:40px;flex-shrink:0}.workout-rest-ring-svg{width:100%;height:100%}.workout-rest-ring-track{stroke:#ffffff1f;stroke-width:8;fill:none}.workout-rest-ring-progress{stroke:var(--workout-accent);stroke-width:8;stroke-linecap:round;fill:none;transition:stroke-dashoffset .95s linear;filter:drop-shadow(0 0 4px rgba(248,254,84,.5))}.workout-rest-layer.is-paused .workout-rest-ring-progress{stroke:#fff6;filter:none;transition:none}.workout-rest-readout{display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:2px;padding-right:4px;min-width:56px}.workout-rest-time{font-family:var(--font-mono);font-size:20px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;color:#fffffff5}.workout-rest-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff6}.workout-rest-layer.is-paused .workout-rest-label{color:var(--workout-accent)}.workout-rest-actions{display:inline-flex;align-items:center;gap:6px}.workout-rest-action{appearance:none;border-radius:999px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:13px;letter-spacing:.01em;padding:9px 14px;cursor:pointer;transition-property:transform,background-color,color,border-color,box-shadow;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1));white-space:nowrap;touch-action:manipulation}.workout-rest-action-secondary{background:transparent;color:#fff9;border:1px solid transparent}.workout-rest-action-secondary:hover{color:#fffffff2}.workout-rest-action-primary{background:#fffffff5;color:#0a0a0a;border:1px solid rgba(255,255,255,.96);font-weight:500}.workout-rest-action-primary:hover{background:#fff}.workout-rest-action-primary:active{transform:scale(.96)}.program-review-body{padding-bottom:142px}.program-review-section{margin-top:22px}.program-review-section-title{font-size:12px;line-height:1;font-weight:500;letter-spacing:0;color:var(--text-faint);margin:0 0 10px}.program-review-day{margin-bottom:20px}.program-review-layer{position:fixed;left:0;right:0;bottom:0;height:150px;z-index:42;pointer-events:none}.program-review-overlay{position:absolute;inset:0;-webkit-mask-image:linear-gradient(to top,black 0%,black 50%,transparent 100%);mask-image:linear-gradient(to top,black 0%,black 50%,transparent 100%);-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%);background:linear-gradient(to top,rgba(5,5,5,.55) 0%,rgba(5,5,5,.18) 60%,transparent 100%);pointer-events:none}.program-review-dock{position:absolute;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);pointer-events:none;animation:workout-rest-dock-in .24s cubic-bezier(.22,1,.36,1)}.program-review-pill{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:6px;background:#101010f5;border:1px solid rgba(255,255,255,.1);border-radius:999px;box-shadow:0 18px 40px #0000008c,0 0 0 1px #f8fe540a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.program-review-action{min-height:44px;min-width:132px;border-radius:999px;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:0;line-height:1;padding:9px 14px;cursor:pointer;transition:transform .12s ease,background-color .14s ease,color .14s ease,opacity .14s ease;white-space:nowrap}.program-review-action:active:not(:disabled){transform:scale(.96)}.program-review-action:disabled{cursor:wait;opacity:.62}.program-review-action-secondary{background:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.1)}.program-review-action-primary{background:#fffffff5;color:#0a0a0a;border:1px solid rgba(255,255,255,.96)}.program-review-dock-status{min-height:14px;margin-top:8px;color:#ffffffb8;font-size:12px;line-height:14px;text-align:center}.program-start-dock{position:fixed;left:0;right:0;bottom:0;max-width:420px;margin:0 auto;padding:10px 16px calc(12px + env(safe-area-inset-bottom));display:grid;background:#050505f5;border-top:1px solid rgba(255,255,255,.07);box-shadow:0 -18px 42px #0000007a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);pointer-events:auto}.program-start-button{width:100%;min-height:48px;border:none;border-radius:14px;background:var(--action-primary-fill);color:var(--action-primary-text);font-family:var(--font-sans);font-size:14px;line-height:1;font-weight:400;letter-spacing:0;cursor:pointer;pointer-events:auto;transition:transform .12s ease,opacity .12s ease,background-color .16s ease,box-shadow .16s ease}.program-start-button:active:not(:disabled){transform:scale(.96)}.program-start-button:disabled{cursor:wait;opacity:.62}.program-start-button.is-loading{opacity:.72}.js-wheel-picker.is-dragging .wheel-picker-option{cursor:grabbing}.edit-item-picker{margin-top:12px}.edit-item-macros{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap;align-items:center}.micro-p,.micro-c,.micro-f{font-size:12px}.micro-p{color:var(--protein)}.micro-c{color:var(--carbs)}.micro-f{color:var(--fat)}.edit-meal-dock-shell{position:fixed;left:0;right:0;bottom:0;max-width:420px;margin:0 auto;padding:10px 16px calc(12px + env(safe-area-inset-bottom));display:grid;gap:10px;pointer-events:auto;background:linear-gradient(to top,#050505f5 70%,#05050500)}.edit-meal-compose-dock{display:grid;gap:8px;padding:14px 14px 12px;border-radius:22px;border:1px solid rgba(255,255,255,.08);background:#0c0c0df5;box-shadow:inset 0 1px #ffffff08}.edit-meal-compose-dock.is-busy{border-color:#f8fe542e}.add-food-input{display:flex;gap:8px;align-items:center}.add-food-input input{flex:1;background:var(--surface);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:13px 16px;font-family:var(--font-sans);font-size:14px;font-weight:400;color:var(--text);outline:none;transition:border-color .2s;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.add-food-input input::placeholder{color:var(--text-faint)}.add-food-input input:focus{border-color:var(--text-dim)}.add-food-submit{width:44px;height:44px;border-radius:14px;background:var(--surface-raised);color:var(--text-dim);border:1px solid rgba(255,255,255,.08);font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s,color .15s,background .15s}.add-food-submit:disabled{opacity:1;cursor:default}.add-food-submit:not(:disabled){color:var(--text)}.add-food-submit:active:not(:disabled){background:#ffffff14}.add-food-hint{padding:0 2px;font-size:var(--type-caption-size);line-height:var(--type-caption-line);color:var(--text-faint);transition:color .2s}.add-food-hint[data-state=loading]{color:var(--workout-accent)}.add-food-hint[data-state=error]{color:var(--error)}.add-food-hint[data-state=success]{color:var(--success)}.edit-items-list{padding-top:20px}.edit-meal-footer{padding:8px 16px 0;display:flex;justify-content:center}.delete-meal-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:var(--surface-raised);color:var(--error);font-family:var(--font-sans);font-size:var(--type-body-sm-size);font-weight:var(--type-body-sm-weight);cursor:pointer}.delete-meal-btn:active{background:#ffffff14}.edit-totals-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 16px;background:var(--bg);border-top:1px solid var(--border);z-index:5}.edit-total-item{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:12px;color:var(--text-dim)}.edit-total-cal{font-family:ABC Diatype Semi-Mono,sans-serif;font-size:13px;font-weight:400;color:var(--text);margin-left:auto}.upgrade-sheet-cta{box-shadow:0 4px 12px #0000004d}.next-card:not(.next-card-rest){box-shadow:0 6px 20px #0003}.sheet-primary-btn{box-shadow:0 4px 12px #0000004d}.upgrade-sheet,.detail-sheet{visibility:hidden;pointer-events:none}.upgrade-sheet.sheet-visible,.detail-sheet.sheet-visible{visibility:visible;pointer-events:auto}.upgrade-sheet-backdrop,.detail-sheet-backdrop{opacity:0;transition:opacity .32s ease}.sheet-visible .upgrade-sheet-backdrop,.sheet-visible .detail-sheet-backdrop{opacity:1}.upgrade-sheet-panel,.detail-sheet-panel{transform:translateY(100%);transition:transform .48s cubic-bezier(.34,1.56,.64,1)}.sheet-visible .upgrade-sheet-panel,.sheet-visible .detail-sheet-panel{transform:translateY(0)}.upgrade-sheet-panel:before,.detail-sheet-panel:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#ffffff26;margin:0 auto 14px;flex-shrink:0}.balance-slider{--balance-height-scale: 1;--balance-floating-shift: 0px;width:100%}.balance-slider-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.balance-slider-head-label{color:var(--text-faint);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.balance-slider-head-value{color:var(--text);font-family:var(--font-mono);font-size:13px;line-height:1}.balance-slider-stage{position:relative;margin-top:10px;padding-top:22px}.balance-slider[data-show-side-labels=false] .balance-slider-stage{margin-top:12px;padding-top:4px;padding-bottom:4px}.balance-slider-floating{position:absolute;top:0;display:inline-flex;align-items:center;gap:4px;color:var(--text-faint);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transform:translate3d(0,var(--balance-floating-shift),0);transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .16s ease}.balance-slider-floating-left{left:0}.balance-slider-floating-right{right:0}.balance-slider-floating-value{color:var(--text-dim)}.balance-slider-rail{position:relative;height:46px;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ew-resize}.balance-slider-box{position:absolute;bottom:0;height:36px;transform-origin:bottom center;transform:scaleY(var(--balance-height-scale));transition:transform .22s cubic-bezier(.22,1,.36,1),width .22s cubic-bezier(.22,1,.36,1)}.balance-slider-box-left{left:0;border-radius:10px 14px 14px 10px;background:var(--balance-left-color);box-shadow:inset 0 1px #ffffff0d}.balance-slider-box-right{right:0;border-radius:14px 10px 10px 14px;background:var(--balance-right-color);box-shadow:inset 0 1px #ffffff0f}.balance-slider-handle{position:absolute;left:0;bottom:0;height:36px;display:flex;align-items:center;justify-content:center;transform-origin:bottom center;transition:transform .22s cubic-bezier(.22,1,.36,1),width .22s cubic-bezier(.22,1,.36,1)}.balance-slider-handle-bar{width:6px;height:calc(100% * var(--balance-height-scale));border-radius:999px;background:#fffffffa;box-shadow:0 10px 24px #00000047;transition:height .22s cubic-bezier(.22,1,.36,1),box-shadow .16s ease,transform .22s cubic-bezier(.22,1,.36,1)}.balance-slider.is-dragging .balance-slider-handle-bar{box-shadow:0 14px 28px #00000057;transform:scaleX(1.08)}.workout-effort .balance-slider-head-label,.workout-effort .balance-slider-head-value{font-size:14px;font-family:var(--font-sans);font-weight:500;letter-spacing:.07em;text-transform:uppercase}.workout-effort .balance-slider-head-value{color:var(--workout-accent)}.workout-effort .balance-slider-stage{margin-top:0}.workout-effort .balance-slider-rail{height:44px}.workout-effort .balance-slider-box,.workout-effort .balance-slider-handle{bottom:16px;height:12px}.workout-effort .balance-slider-handle-bar{width:6px}.workout-effort .balance-slider-box-left,.workout-effort .balance-slider-box-right{box-shadow:none}.trend-tab-indicator{position:absolute;top:3px;bottom:3px;left:3px;border-radius:8px;background:var(--surface-raised);transition:transform .32s cubic-bezier(.34,1.56,.64,1),width .3s ease;z-index:0;pointer-events:none}.trend-tab{position:relative;z-index:1}.linear-ring{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.linear-ring svg{display:block;width:100%;height:100%}.linear-ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.linear-ring-value{font-family:var(--font-sans);font-weight:400;letter-spacing:0;color:var(--text);line-height:1}.linear-ring-label{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);color:var(--text-faint);margin-top:2px}.linear-ring-base{fill:none;stroke:var(--ring-track);stroke-linecap:round}.linear-ring-progress{fill:none;stroke-linecap:round}.linear-ring-animate{transition:stroke-dashoffset .8s cubic-bezier(.4,0,.2,1)}.linear-ring--xs{width:48px;height:48px}.linear-ring--md{width:110px;height:110px}.linear-ring--lg{width:150px;height:150px}.linear-ring--md .linear-ring-value{font-size:24px}.linear-ring--lg .linear-ring-value{font-size:32px}.cal-card-ring-layout{display:flex;align-items:center;gap:20px}.cal-card-ring-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.nutrition-summary-layout{align-items:center;gap:20px}.nutrition-summary-meta .macro-stack{margin-top:0;gap:10px}.nutrition-summary-card .macro-row-item{gap:8px}.nutrition-summary-card .macro-label-text{min-width:44px;font-size:11px;color:var(--text-dim)}.nutrition-summary-card .macro-bar-track,.nutrition-summary-card .macro-bar-fill{height:5px}.nutrition-summary-card .macro-value-text{min-width:74px;font-size:11px}.edit-meal-summary .macro-tag{font-weight:600}.edit-meal-summary .macro-tag.p{color:var(--protein)}.edit-meal-summary .macro-tag.c{color:var(--carbs)}.edit-meal-summary .macro-tag.f{color:var(--fat)}.edit-save-bottom{opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .25s ease,transform .25s ease}.edit-save-bottom.visible{opacity:1;transform:translateY(0);pointer-events:auto}.edit-save-bottom button{width:100%;padding:14px;border-radius:14px;background:#fff;color:#0d1117;font-family:var(--font-sans);font-size:16px;font-weight:600;border:none;cursor:pointer}.workout-done-badge{font-size:10px;font-weight:400;color:#86efac;background:#86efac1f;padding:2px 8px;border-radius:6px}.workout-current-badge{font-size:10px;font-weight:400;color:var(--workout-accent);background:#f8fe541f;padding:2px 8px;border-radius:6px}.effort-display{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:12px;color:var(--text-dim)}.effort-display .effort-value{color:var(--workout-accent);font-weight:600}.effort-bar{flex:1;height:6px;background:var(--surface-raised);border-radius:3px;overflow:hidden}.effort-fill{height:100%;border-radius:3px;background:var(--workout-accent)}.set-row-entry{display:flex;align-items:center;padding:10px 0;font-size:13px}.set-row-entry+.set-row-entry{border-top:1px solid var(--border)}.set-row-label{color:var(--text-faint);min-width:48px;font-size:12px}.set-row-weight{margin-left:auto;color:var(--text);font-weight:600;min-width:60px;text-align:right}.set-row-reps{color:var(--text-dim);min-width:60px;text-align:right}@media(prefers-reduced-motion:reduce){.anim,.anim-d1,.anim-d2,.anim-d3,#profile-sheet.sheet-visible .profile-section-card{animation:none}.view,.tappable,.profile-trigger,.sheet-primary-btn,.sheet-secondary-btn,.detail-sheet-close{transition:none}}.workout-meta-progression{color:var(--workout-accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.workout-meta-divider{display:inline-block;margin:0 6px;color:#ffffff47}.workout-card-meta-line{display:inline-flex;align-items:baseline;flex-wrap:wrap;row-gap:2px}.workout-card-pending .workout-card-subtle{display:inline-flex;align-items:baseline;flex-wrap:wrap}.workout-log-mode{display:inline-flex;align-self:flex-start;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:3px;gap:2px;margin-block:6px 2px}.workout-log-mode-option{appearance:none;background:transparent;border:0;color:#ffffff80;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:11.5px;letter-spacing:.01em;padding:5px 12px;border-radius:999px;cursor:pointer;transition-property:transform,background-color,color;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1))}.workout-log-mode-option:active{transform:scale(.96)}.workout-log-mode-option:hover{color:#ffffffd9}.workout-log-mode-option.is-active{background:#ffffff1a;color:#fffffff2}.workout-card-skip{appearance:none;background:transparent;border:0;color:var(--text-faint, rgba(255,255,255,.45));min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:12px;letter-spacing:.01em;padding:8px 12px;margin-top:6px;align-self:center;cursor:pointer;transition-property:transform,color;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1))}.workout-card-skip:hover{color:#ffffffc7}.workout-card-skip:active{transform:scale(.96)}.workout-card-completed.is-collapsed .workout-card-completed-body{max-height:0;overflow:hidden;opacity:0;pointer-events:none;padding:0;margin:0}.workout-card-completed.is-expanded .workout-card-completed-body{max-height:800px;opacity:1;pointer-events:auto;margin-top:12px;display:flex;flex-direction:column;gap:14px}.workout-card-completed-body{transition:max-height .22s ease,opacity .2s ease,margin-top .22s ease}.workout-card-completed-summary{display:flex;align-items:center;gap:12px;width:100%;background:transparent;border:0;padding:0;cursor:pointer;color:inherit;text-align:left;font-family:inherit}.workout-card-completed-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.workout-card-completed-summary .workout-card-title{font-size:14.5px;line-height:17px;font-weight:500}.workout-card-completed-summary .workout-card-subtle{font-size:12px;line-height:14px;color:var(--text-faint, rgba(255,255,255,.5));letter-spacing:.01em;font-family:var(--font-mono)}.workout-card-chevron{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff6;transition:transform .22s ease,color .14s ease;flex-shrink:0}.workout-card-chevron svg{width:100%;height:100%}.workout-card-completed.is-expanded .workout-card-chevron{transform:rotate(180deg);color:#ffffffb3}.workout-card-edit-actions{display:flex;gap:8px;justify-content:flex-end;max-height:0;overflow:hidden;opacity:0;transform:translateY(-4px);transition:max-height .26s cubic-bezier(.34,1.56,.64,1),opacity .18s ease-out,margin-top .26s cubic-bezier(.34,1.56,.64,1),transform .28s cubic-bezier(.34,1.56,.64,1);margin-top:0}.workout-card-edit-actions.is-visible{max-height:60px;opacity:1;margin-top:4px;transform:translateY(0)}.workout-button-tight{padding:8px 14px;font-size:13px}.workout-card-skipped{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:18px}.workout-card-skipped .workout-card-title{font-size:14.5px;line-height:17px;font-weight:500;color:#ffffff8c;text-decoration:line-through;text-decoration-color:#ffffff40;text-decoration-thickness:1px}.workout-card-skipped .workout-card-subtle{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint, rgba(255,255,255,.4))}.workout-card-compact-icon.is-skipped{color:#ffffff52}.workout-card-undo{appearance:none;background:transparent;border:0;min-height:40px;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-control, 0 0 0 1px rgba(255,255,255,.12));color:#fff9;font-family:var(--font-sans);font-size:11.5px;border-radius:999px;padding:5px 12px;cursor:pointer;transition-property:transform,color,box-shadow;transition-duration:.15s;transition-timing-function:var(--ease-out-polished, cubic-bezier(.2, 0, 0, 1))}.workout-card-undo:hover{color:#fffffff2;box-shadow:0 0 0 1px #ffffff47}.workout-card-undo:active{transform:scale(.96)}@keyframes workout-target-pulse{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(1.18);filter:brightness(1.4)}to{transform:scale(1);filter:brightness(1)}}.wheel-picker-option.is-target-pulse .wheel-picker-option-line,.wheel-picker-option.is-target-pulse .wheel-picker-option-value{animation:workout-target-pulse .48s cubic-bezier(.22,1,.36,1);transform-origin:center}.workout-progress-meter{display:flex;align-items:center;gap:10px;margin-top:8px}.workout-progress-meter-full{width:calc(100% + 32px);margin:-12px -16px 18px;padding:0 16px 2px}.workout-progress-meter-full .workout-progress-meter-track{height:4px}.workout-progress-meter-track{position:relative;flex:1;height:3px;background:#ffffff12;border-radius:999px;overflow:hidden}.workout-progress-meter-bar{height:100%;background:linear-gradient(90deg,#f8fe54,#f8fe548c);border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1)}.workout-progress-meter-readout{font-family:var(--font-mono);font-size:11px;color:var(--text-faint, rgba(255,255,255,.5));letter-spacing:.04em;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}@keyframes workout-rest-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.workout-jump-pill{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%) translateY(8px);display:block;width:fit-content;background:#141414eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 18px;color:#fffffff2;font-family:var(--font-sans);font-size:13px;letter-spacing:.01em;cursor:pointer;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;z-index:20;box-shadow:0 10px 30px #0006}.workout-jump-pill.is-visible{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.workout-jump-pill[hidden]{display:none}@keyframes workout-card-collapse{0%{max-height:220px;opacity:.5;padding-block:14px}to{max-height:64px;opacity:1;padding-block:14px}}.workout-card-skipped{animation:workout-card-collapse .28s ease-out;overflow:hidden}.workout-screen-summary{display:flex;flex-direction:column;gap:16px;padding:24px 16px 32px;min-height:100vh}.workout-topbar-summary{flex-direction:column;align-items:flex-start;gap:4px}.workout-topbar-eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--workout-accent)}.workout-summary-scoreboard{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-radius:18px;padding:4px;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.workout-summary-score{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 6px 12px;border-radius:14px;background:#ffffff04;transition:opacity .2s ease}.workout-summary-score-value{font-family:var(--font-mono);font-size:28px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;color:#fffffff2}.workout-summary-score-label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#ffffff80;text-align:center}.workout-summary-score.is-above .workout-summary-score-value{color:var(--workout-accent)}.workout-summary-score.is-above .workout-summary-score-label{color:#f8fe54b3}.workout-summary-score.is-on .workout-summary-score-value{color:#fffffff2}.workout-summary-score.is-below .workout-summary-score-value{color:#fca5a5d9}.workout-summary-score.is-below .workout-summary-score-label{color:#fca5a580}.workout-summary-score.is-skipped .workout-summary-score-value,.workout-summary-score.is-skipped .workout-summary-score-label{color:#ffffff52}.workout-summary-score.is-empty{opacity:.35}.workout-summary-section-eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint, rgba(255,255,255,.45));margin-bottom:8px}.workout-summary-bumps{display:flex;flex-direction:column}.workout-summary-bump-list{display:flex;flex-direction:column;gap:8px}.workout-summary-bump-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,#f8fe540f,#f8fe5406);border:1px solid rgba(248,254,84,.18)}.workout-summary-bump-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.workout-summary-bump-title{font-size:14.5px;line-height:17px;font-weight:500;color:#fffffff2}.workout-summary-bump-progression{font-family:var(--font-mono);font-size:11.5px;display:inline-flex;align-items:baseline;gap:6px;flex-wrap:wrap}.workout-summary-bump-from{color:var(--text-faint, rgba(255,255,255,.45));text-decoration:line-through;text-decoration-color:#ffffff40}.workout-summary-bump-arrow{color:#ffffff59}.workout-summary-bump-to{color:#fffffff2;font-weight:500}.workout-summary-bump-delta{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--workout-accent);background:#f8fe541a;border:1px solid rgba(248,254,84,.22);border-radius:999px;padding:4px 9px;white-space:nowrap;flex-shrink:0}.workout-summary-row.is-above .workout-summary-row-check{color:var(--workout-accent)}.workout-summary-row.is-on .workout-summary-row-check{color:#ffffffd9}.workout-summary-row.is-below .workout-summary-row-check{color:#fca5a5bf}.workout-summary-row-tag{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}.workout-summary-row.is-above .workout-summary-row-tag{color:var(--workout-accent)}.workout-summary-row.is-on .workout-summary-row-tag{color:#ffffffb3}.workout-summary-row.is-below .workout-summary-row-tag{color:#fca5a5bf}.workout-summary-list{display:flex;flex-direction:column;gap:8px}.workout-summary-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.workout-summary-row-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.workout-summary-row-title{font-size:14px;line-height:17px;font-weight:500;color:#ffffffeb}.workout-summary-row-detail{font-family:var(--font-mono);font-size:11.5px;color:var(--text-faint, rgba(255,255,255,.55));letter-spacing:.02em;display:inline-flex;align-items:baseline;flex-wrap:wrap}.workout-summary-row-check{width:18px;height:18px;color:var(--workout-accent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.workout-summary-row-check svg{width:100%;height:100%}.workout-summary-row.is-skipped .workout-summary-row-title{color:#ffffff73;text-decoration:line-through;text-decoration-color:#ffffff38}.workout-summary-row.is-skipped .workout-summary-row-detail{text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}.workout-summary-cta{margin-top:8px;width:100%}.workout-set-progress{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:4px 6px}.workout-set-progress-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint, rgba(255,255,255,.45))}.workout-set-progress-count{color:var(--workout-accent);font-weight:500}.workout-set-progress-dots{display:inline-flex;align-items:center;gap:6px}.workout-set-dot{width:14px;height:14px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,transform .2s ease}.workout-set-dot.is-pending{background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.workout-set-dot.is-current{background:transparent;border:2px solid var(--workout-accent);box-shadow:0 0 8px #f8fe5466;animation:workout-set-dot-pulse 1.6s ease-in-out infinite}.workout-set-dot.is-logged{background:var(--workout-accent);color:#0a0a0a}.workout-set-dot.is-logged svg{width:10px;height:10px;stroke-width:3}@keyframes workout-set-dot-pulse{0%,to{box-shadow:0 0 8px #f8fe5459}50%{box-shadow:0 0 14px #f8fe5499}}.workout-toast{position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));transform:translate(-50%) translateY(10px);display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#141414f0;border:1px solid rgba(248,254,84,.32);border-radius:999px;color:#fffffff2;font-family:var(--font-sans);font-size:13px;letter-spacing:.01em;opacity:0;pointer-events:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:opacity .22s ease,transform .22s cubic-bezier(.22,1,.36,1);z-index:30;box-shadow:0 14px 36px #00000073}.workout-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.workout-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--workout-accent);color:#0a0a0a}.workout-toast-icon svg{width:12px;height:12px;stroke-width:3}.workout-warmup{margin-bottom:12px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;overflow:hidden}.workout-warmup-head{display:flex;align-items:center;gap:12px;width:100%;appearance:none;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;padding:14px 16px;font-family:inherit}.workout-warmup-head-copy{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.workout-warmup-eyebrow{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff80}.workout-warmup-summary{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:#ffffffd9}.workout-warmup.is-expanded .workout-card-chevron{transform:rotate(180deg);color:#ffffffb3}.workout-warmup-body{display:flex;flex-direction:column;gap:4px;padding:0 8px 12px;transition:max-height .22s ease,opacity .2s ease,padding .22s ease}.workout-warmup.is-collapsed .workout-warmup-body{max-height:0;opacity:0;pointer-events:none;padding-top:0;padding-bottom:0;overflow:hidden}.workout-warmup.is-expanded .workout-warmup-body{max-height:800px;opacity:1}.workout-card-stack+.workout-cooldown{margin-top:12px;margin-bottom:calc(24px + env(safe-area-inset-bottom))}.workout-warmup-item{display:flex;align-items:center;gap:12px;width:100%;appearance:none;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;padding:10px;border-radius:12px;font-family:inherit;transition:background-color .14s ease}.workout-warmup-item:hover{background:#ffffff08}.workout-warmup-item-check{width:22px;height:22px;flex-shrink:0;border-radius:999px;border:1.5px solid rgba(255,255,255,.18);display:inline-flex;align-items:center;justify-content:center;color:#0a0a0a;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.workout-warmup-item.is-checked .workout-warmup-item-check{background:var(--workout-accent);border-color:var(--workout-accent);transform:scale(1.05)}.workout-warmup-item-check svg{width:14px;height:14px;stroke-width:3}.workout-warmup-item-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.workout-warmup-item-label{font-size:14px;line-height:17px;color:#ffffffeb;transition:color .16s ease,text-decoration-color .16s ease}.workout-warmup-item.is-checked .workout-warmup-item-label{color:#ffffff8c}.workout-warmup-item-detail{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.02em;color:#ffffff73}@font-face{font-family:ABC Diatype;src:url(/assets/ABCDiatype-Regular-BWmQxkJQ.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ABC Diatype;src:url(/assets/ABCDiatype-Medium-B4SNLt1S.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:ABC Diatype;src:url(/assets/ABCDiatype-Bold-BGEIQVYI.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:ABC Diatype Semi-Mono;src:url(/assets/ABCDiatypeSemi-Mono-Regular-DV_ZCwlg.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--ease-out-polished: cubic-bezier(.2, 0, 0, 1);--shadow-surface: 0 0 0 1px rgba(255,255,255,.075), 0 1px 2px rgba(0,0,0,.28), 0 18px 44px rgba(0,0,0,.28);--shadow-surface-hover: 0 0 0 1px rgba(255,255,255,.12), 0 1px 2px rgba(0,0,0,.34), 0 22px 52px rgba(0,0,0,.34);--shadow-control: 0 0 0 1px rgba(255,255,255,.09), inset 0 1px 0 rgba(255,255,255,.05);--shadow-control-accent: 0 0 0 1px rgba(248,254,84,.86), 0 8px 22px rgba(248,254,84,.13), inset 0 1px 0 rgba(255,255,255,.42)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(248,254,84,.78);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100dvh;max-width:420px;margin:0 auto;position:relative;overflow:hidden;background:var(--bg)}.app-main{height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(14px,env(safe-area-inset-top)) 16px calc(22px + env(safe-area-inset-bottom))}.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.app-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--workout-accent);margin-bottom:4px}.app-title{font-size:27px;line-height:29px;letter-spacing:0;color:var(--text);font-weight:700;text-wrap:balance}.app-subtitle{margin-top:4px;color:var(--text-dim);font-size:13px;line-height:1.35;text-wrap:pretty}.session-chip{border:1px solid rgba(248,254,84,.22);background:#f8fe5414;color:var(--workout-accent);border-radius:999px;padding:7px 10px;font-family:var(--font-mono);font-size:11px;white-space:nowrap}.app-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;border-radius:16px;background:#ffffff09;box-shadow:var(--shadow-control);margin-bottom:14px}.app-tab{min-height:38px;border:0;border-radius:12px;background:transparent;color:var(--text-faint);cursor:pointer;font-size:13px;transition-property:background-color,color,transform;transition-duration:.15s;transition-timing-function:var(--ease-out-polished)}.app-tab:active{transform:scale(.97)}.app-tab.is-active{background:#ffffff18;color:var(--text)}.panel{border-radius:22px;background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.04),transparent 70%),#ffffff06;border:0;box-shadow:var(--shadow-surface);padding:16px;margin-bottom:14px;transition-property:box-shadow,transform;transition-duration:.18s;transition-timing-function:var(--ease-out-polished)}.panel-title{font-size:18px;line-height:20px;font-weight:700;letter-spacing:0;color:var(--text);text-wrap:balance}.panel-meta{margin-top:5px;color:var(--text-dim);font-size:13px;line-height:1.4;text-wrap:pretty}.panel-kicker{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#f8fe54b8;margin-bottom:5px}.mobility-panel{background:linear-gradient(180deg,#f8fe540e,#ffffff05),#ffffff06}.mobility-tab-note{margin-top:12px;border-radius:14px;background:#ffffff08;box-shadow:var(--shadow-control);color:var(--text-dim);font-size:12.5px;line-height:1.4;padding:10px 11px;text-wrap:pretty}.mobility-overview{margin-bottom:10px}.mobility-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.mobility-title-copy{min-width:0}.mobility-summary{justify-self:end;border-radius:999px;background:#f8fe5417;box-shadow:var(--shadow-control);color:var(--workout-accent);font-family:var(--font-mono);font-size:11px;line-height:1;padding:8px 9px;white-space:nowrap}.mobility-list{display:grid;gap:7px;margin-top:14px}.mobility-item,.mobility-technique-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:11px;width:100%;border:0;border-radius:15px;background:#ffffff07;box-shadow:var(--shadow-control);color:inherit;cursor:pointer;padding:11px 12px;text-align:left;transition-property:transform,background-color,opacity;transition-duration:.15s;transition-timing-function:var(--ease-out-polished)}.mobility-item:active,.mobility-technique-check:active{transform:scale(.985)}.mobility-item.is-checked,.mobility-technique-check.is-checked{background:#f8fe5412}.mobility-dot{width:21px;height:21px;border-radius:999px;border:1.5px solid rgba(255,255,255,.2);align-self:start;margin-top:1px;transition-property:background-color,border-color,transform;transition-duration:.15s}.mobility-item.is-checked .mobility-dot,.mobility-technique-check.is-checked .mobility-dot{background:var(--workout-accent);border-color:var(--workout-accent);transform:scale(1.05)}.mobility-copy{min-width:0;display:grid;gap:4px}.mobility-label{color:var(--text);font-size:14px;line-height:17px;font-weight:500;text-wrap:balance}.mobility-item.is-checked .mobility-label,.mobility-technique-check.is-checked .mobility-label{color:#ffffff94}.mobility-detail{color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px;line-height:1.35;text-wrap:pretty}.mobility-dose{display:inline-block;color:#f8fe54c7;margin-right:7px}.mobility-technique-stack{display:grid;gap:12px;padding-bottom:12px}.mobility-technique-card{border-radius:20px;background:radial-gradient(120% 88% at 50% 0%,rgba(255,255,255,.045),transparent 70%),#ffffff07;box-shadow:var(--shadow-surface);padding:12px}.mobility-technique-check{margin-bottom:10px}.mobility-technique-check-copy{min-width:0;display:grid;gap:4px}.mobility-photo{border-radius:16px;overflow:hidden;aspect-ratio:16 / 10;background:#ffffff0b;box-shadow:var(--shadow-control);margin-bottom:10px}.mobility-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.codex-thread{display:grid;gap:16px;min-height:160px;padding:4px 0 14px}.codex-empty{padding:34px 12px;color:var(--text-faint);font-size:13px;text-align:center}.codex-exchange{display:grid;gap:8px}.codex-message{max-width:92%;padding:11px 13px;border-radius:14px;color:var(--text);font-size:13.5px;line-height:1.48;overflow-wrap:anywhere;white-space:pre-wrap}.codex-message-user{justify-self:end;background:var(--workout-accent);color:#090909}.codex-message-assistant{justify-self:start;background:#ffffff0e;box-shadow:var(--shadow-control)}.codex-message-assistant[data-codex-status=queued],.codex-message-assistant[data-codex-status=running]{color:var(--text-dim);font-family:var(--font-mono);font-size:12px}.codex-message-assistant.is-error{color:#ff9f9f}.codex-composer{position:sticky;bottom:calc(-1px + env(safe-area-inset-bottom));display:grid;gap:10px;padding:12px 0 2px;background:linear-gradient(180deg,rgba(5,5,5,0),var(--bg) 18%)}.codex-composer textarea{width:100%;min-height:108px;resize:vertical;border:0;border-radius:14px;padding:13px 14px;background:#ffffff0e;box-shadow:var(--shadow-control);color:var(--text);font-size:15px;line-height:1.45;outline:none}.codex-composer textarea:focus{box-shadow:0 0 0 1px #f8fe5457,0 0 0 4px #f8fe5412}.codex-composer textarea::placeholder{color:var(--text-faint)}.codex-composer .app-button{width:100%}.technique-info-grid{display:grid;gap:8px}.technique-info{border-radius:14px;background:#ffffff07;box-shadow:var(--shadow-control);padding:10px 11px}.technique-info-label{font-family:var(--font-mono);font-size:10px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;color:#f8fe54b8;margin-bottom:5px}.technique-info-text,.technique-cues{color:var(--text-dim);font-size:12.5px;line-height:1.4}.technique-cues{margin:0;padding-left:17px}.technique-cues li+li{margin-top:3px}.technique-avoid .technique-info-label{color:#f26d6ddb}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.gym-access-selector{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.gym-access-label{margin-bottom:9px;color:var(--text);font-size:13px;font-weight:650}.gym-access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gym-access-option{min-width:0;min-height:44px;padding:8px 6px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff06;color:var(--text-dim);cursor:pointer;font-size:12px;line-height:1.15;overflow-wrap:anywhere;touch-action:manipulation}.gym-access-option.is-selected{border-color:#f8fe54ad;background:#f8fe541a;color:var(--text)}.metric{border-radius:14px;background:#ffffff09;border:0;box-shadow:var(--shadow-control);padding:12px 10px}.metric-value{font-family:var(--font-mono);font-size:18px;color:var(--text);font-variant-numeric:tabular-nums}.metric-label{margin-top:3px;color:var(--text-faint);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.button-row.single-action{grid-template-columns:1fr}.app-button{min-height:48px;padding:0 12px;border-radius:15px;border:0;background:#ffffff0d;box-shadow:var(--shadow-control);color:var(--text);font-size:14px;line-height:1.15;text-align:center;overflow-wrap:anywhere;cursor:pointer;touch-action:manipulation;transition-property:transform,opacity,background-color,box-shadow;transition-duration:.15s;transition-timing-function:var(--ease-out-polished)}.app-button:active{transform:scale(.96)}.app-button-primary{background:var(--action-primary-fill);color:var(--action-primary-text);border-color:var(--action-primary-fill)}.app-button-accent{background:var(--workout-accent);color:#050505;box-shadow:var(--shadow-control-accent)}.app-button:disabled{opacity:.55;cursor:default}.list{display:grid;gap:8px}.list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-radius:16px;background:#ffffff06;border:0;box-shadow:var(--shadow-control)}.row-title{font-size:14.5px;color:var(--text);font-weight:500;text-wrap:balance}.row-subtitle{margin-top:3px;color:var(--text-faint);font-family:var(--font-mono);font-size:11.5px;text-wrap:pretty}.row-pill{color:var(--workout-accent);font-family:var(--font-mono);font-size:11px;white-space:nowrap;font-variant-numeric:tabular-nums}.tabbar{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(calc(100vw - 28px),392px);display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:5px;border-radius:999px;background:#101010f0;border:0;box-shadow:0 0 0 1px #ffffff1c,0 18px 42px #00000085,0 3px 10px #00000057;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:50}.tabbar button{border:0;min-height:44px;border-radius:999px;color:#ffffff80;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;transition-property:transform,color,background-color;transition-duration:.15s;transition-timing-function:var(--ease-out-polished)}.tabbar button:active{transform:scale(.96)}.tabbar button svg{width:17px;height:17px}.tabbar button.is-active{background:#ffffff1a;color:var(--text)}.status-banner{border-radius:18px;background:#f8fe5414;border:0;box-shadow:0 0 0 1px #f8fe542e,0 10px 28px #f8fe5409;padding:12px 14px;color:#ffffffdb;font-size:13px;line-height:1.4;margin-bottom:14px;text-wrap:pretty}.compact-status{margin-top:14px;margin-bottom:0}.rehab-banner{display:grid;gap:4px;border-left:3px solid var(--warning)}.travel-banner{display:grid;gap:4px;border-left:3px solid var(--workout-accent)}.travel-banner strong{color:var(--text);font-size:13px}.travel-banner span{color:var(--text-dim)}.rehab-banner strong{color:var(--text);font-size:13px}.rehab-banner span{color:var(--text-dim)}.passcode-screen{min-height:100dvh;max-width:420px;margin:0 auto;padding:max(56px,env(safe-area-inset-top)) 22px 22px;display:flex;flex-direction:column;justify-content:center;background:var(--bg)}.passcode-card{border-radius:24px;padding:22px;border:0;background:#ffffff09;box-shadow:var(--shadow-surface)}.passcode-input{width:100%;min-height:52px;border-radius:14px;border:0;box-shadow:var(--shadow-control);background:#ffffff0f;color:var(--text);padding:0 14px;margin-top:18px;outline:none;transition-property:box-shadow,background-color;transition-duration:.16s;transition-timing-function:var(--ease-out-polished)}.passcode-input:focus{background:#ffffff13;box-shadow:0 0 0 1px #f8fe5457,0 0 0 4px #f8fe5412}.passcode-error{min-height:18px;margin-top:10px;color:var(--error);font-size:13px}.review-card{border-color:#f8fe5429;background:linear-gradient(180deg,#f8fe540f,#f8fe5405),#ffffff06}.review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.empty-state{padding:28px 14px;text-align:center;color:var(--text-faint);font-size:13px}.workout-host{position:relative;height:100dvh;overflow:hidden}.workout-host .view{position:relative}
