.learn-steps,.learn-guide ul,.learn-tips__list{gap:8px;margin:0;padding-left:1.25rem;display:grid}.learn-guide,.learn-entry{gap:14px;display:grid}.learn-guide section,.learn-entry section{gap:6px;display:grid}.learn-guide h3,.learn-entry h3{margin:0;font-size:15px}.learn-guide p,.learn-entry p{margin:0}.learn-entry__short{font-size:17px}.learn-guide__terms{flex-wrap:wrap;gap:6px 14px;display:flex}.learn-term{color:inherit;font:inherit;text-underline-offset:3px;cursor:help;background:0 0;border:0;padding:0;text-decoration:underline dotted;display:inline}.learn-term:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.learn-details{gap:12px;display:grid}.learn-details__toggle{justify-self:start}.learn-tips{gap:14px;display:grid}.learn-tips__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.learn-tip{align-content:start;gap:6px;font-size:14px;display:grid}.learn-tip img{object-fit:contain;border-radius:16px;width:100%;height:auto}.learn-tip__badge{justify-self:start;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.learn-tip__badge--do{color:var(--success)}.learn-tip__badge--avoid{color:var(--danger)}.learn-row{text-decoration:none}.learn-row--icon{color:var(--ink);align-items:center;gap:12px;display:flex}.learn-row--icon .icon{color:var(--accent)}.get-started__steps{gap:4px;margin:0;padding:0;list-style:none;display:grid}.get-started__step{align-items:center;gap:12px;display:flex}.get-started__step[aria-disabled=true] span{color:var(--muted);text-decoration:line-through}.get-started__mark{border:1.5px dashed var(--muted);border-radius:50%;place-items:center;width:22px;height:22px;margin-left:auto;display:inline-grid}.get-started__mark--done{background:var(--success);color:var(--surface);border:0}.learn-row__text{gap:2px;display:grid}.learn-row__text small{color:var(--muted);font-size:13px}.plan-public{max-width:960px;color:var(--ink);margin:auto;padding:28px clamp(16px,4vw,48px) 64px;font-family:IBM Plex Sans Variable,sans-serif}body:has(.plan-public){background:var(--bg);margin:0}.plan-public a{color:var(--accent);overflow-wrap:anywhere}.plan-public__brand{font-size:20px;font-weight:650;text-decoration:none}.plan-public__intro{max-width:650px;padding:44px 0 24px}.plan-public__intro h1{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(32px,6vw,52px);line-height:1.12}.plan-public__intro p,.plan-preview__muted{color:var(--muted);line-height:1.6}.plan-public__actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.plan-public__actions a{border:1px solid var(--stroke);border-radius:12px;align-items:center;min-height:24px;padding:12px 16px;text-decoration:none;display:inline-flex}.plan-public__actions .plan-public__primary{background:var(--accent);color:var(--bg);font-weight:650}.plan-public a:focus-visible,.plan-sharing button:focus-visible,.plan-sharing input:focus-visible{outline:3px solid var(--highlight);outline-offset:4px}.plan-public__message{border:1px solid var(--stroke);border-radius:16px;padding:24px}.plan-preview{overflow-wrap:anywhere;min-width:0}.plan-preview h2{margin-bottom:8px;font-size:28px}.plan-preview__days{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:16px;display:grid}.plan-preview__day,.plan-preview__volume{background:var(--surface);border:1px solid var(--stroke);border-radius:16px;margin:12px 0;padding:18px}.plan-preview__day header{align-items:center;gap:12px;display:flex}.plan-preview__day header h3{flex:1;margin:8px 0}.plan-preview__day-index{background:var(--accent);color:var(--bg);border-radius:10px;padding:8px 12px;font-weight:650}.plan-preview__day ul{margin:0;padding:0;list-style:none}.plan-preview__day li{border-bottom:1px solid var(--stroke);gap:12px;padding:16px 0;display:flex}.plan-preview__day li:last-child{border:0;padding-bottom:0}.plan-preview__day img,.plan-preview__placeholder{object-fit:cover;border-radius:12px;flex:0 0 64px;width:64px;height:64px}.plan-preview__placeholder{color:var(--accent);background:var(--bg);place-items:center;display:grid}.plan-preview__day h4{margin:0 0 6px;font-size:16px}.plan-preview__day p{margin:4px 0;font-size:14px;line-height:1.5}.plan-preview__day small{color:var(--muted)}.plan-preview__volume dl>div{grid-template-columns:minmax(90px,1fr) 2fr;align-items:center;gap:12px;margin:12px 0;display:grid}.plan-preview__volume dd{align-items:center;min-height:28px;margin:0;display:flex;position:relative}.plan-preview__volume dd span{background:var(--accent);opacity:.22;border-radius:5px;position:absolute;inset:0 auto 0 0}.plan-preview__volume b{padding:0 10px;position:relative}.plan-preview__notes{white-space:pre-wrap}.plan-sharing{gap:14px;display:grid}.plan-sharing__code{letter-spacing:.14em;font-size:30px;font-weight:650}.plan-sharing__qr{background:#fff;border-radius:12px;width:180px;height:180px;padding:12px;display:block}.plan-sharing__qr svg{width:100%;height:100%}.plan-sharing textarea,.plan-sharing input[type=text]{box-sizing:border-box;background:var(--surface);color:var(--ink);border:1px solid var(--stroke);font:inherit;border-radius:10px;width:100%;padding:12px}.plan-sharing label{gap:8px;display:grid}.plan-sharing .plan-sharing__check{align-items:center;display:flex}.plan-sharing__share-row{border-bottom:1px solid var(--stroke);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;display:flex}.ai-waiting{gap:16px;animation:.24s ease-out ai-result-in;display:grid}.ai-waiting>p{align-items:center;gap:8px;margin:0;display:flex}.ai-waiting__input{overflow-wrap:anywhere;white-space:pre-wrap;margin:6px 0 0}.ai-waiting__skeleton{gap:12px;display:grid}.ai-waiting__skeleton span{background:linear-gradient(100deg, color-mix(in srgb, var(--accent) 12%, transparent) 20%, color-mix(in srgb, var(--accent) 24%, transparent) 45%, color-mix(in srgb, var(--accent) 12%, transparent) 70%);background-size:240% 100%;border-radius:4px;height:10px;animation:2.4s linear infinite ai-shimmer}.ai-waiting__skeleton span:nth-child(2n){width:72%}.ai-answer-result{animation:.24s ease-out ai-result-in}@keyframes ai-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes ai-result-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.ai-waiting,.ai-waiting__skeleton span,.ai-answer-result{animation:none}}.boot{place-items:center;min-height:100vh;display:grid}.shell{grid-template-rows:1fr auto;min-height:100dvh;display:grid}.shell__main{min-width:0;padding-bottom:calc(56px + env(safe-area-inset-bottom))}.storage-banner{border-bottom:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 14%, var(--surface));color:var(--ink);margin:0;padding:10px 16px;font-size:14px}.demo-banner{border-bottom:1px solid var(--stroke);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 16px;font-size:14px;display:flex}.demo-banner a{color:var(--accent);font-weight:700}.install-suggestion{z-index:20;right:12px;bottom:calc(68px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--stroke));background:var(--surface);width:min(440px,100% - 24px);color:var(--ink);border-radius:22px;margin:0 auto;padding:18px;animation:.24s ease-out both install-suggestion-in;position:fixed;left:12px;box-shadow:0 18px 50px #00000040}.install-suggestion__heading{align-items:flex-start;gap:12px;display:flex}.install-suggestion__heading img{border-radius:10px;flex:none}.install-suggestion h2{margin:0;font-size:18px;line-height:1.2}.install-suggestion p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.4}.install-suggestion .install-suggestion__steps{color:var(--ink);margin:14px 0 0}.install-suggestion__never{cursor:pointer;align-items:center;gap:10px;min-height:44px;margin-top:10px;font-size:14px;display:flex}.install-suggestion__never input{width:18px;height:18px;accent-color:var(--accent);margin:0}.install-suggestion__actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.install-suggestion__actions .btn{flex:1}@keyframes install-suggestion-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.install-suggestion{animation:none}}.shell__tabs{z-index:10;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--stroke);background:var(--surface-glass);backdrop-filter:blur(16px);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.shell__brand{display:none}.shell__tab{min-height:56px;color:var(--muted);align-content:center;justify-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;display:grid}.shell__tab[aria-current=page]{color:var(--accent)}.shell__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.screen{grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;width:min(100%,760px);margin:0 auto;padding:24px 16px 32px;display:grid}.screen__title{letter-spacing:-.02em;margin:0;font-size:28px;line-height:1.15}.muted{color:var(--muted)}@media (width>=1024px){.shell{grid-template-rows:none;grid-template-columns:220px 1fr}.shell__tabs{border-top:0;border-right:1px solid var(--stroke);order:-1;grid-template-columns:none;align-content:start;align-self:start;gap:4px;height:100vh;padding:16px 12px;position:sticky;inset:0 auto auto}.shell__brand{border-bottom:1px solid var(--stroke);color:var(--ink);letter-spacing:-.04em;align-items:center;gap:10px;margin:0 0 18px;padding:4px 10px 16px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.shell__brand img{border-radius:8px;flex:none}.shell__brand:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.shell__main{padding-bottom:0}.shell__tab{border-radius:12px;grid-auto-flow:column;justify-content:start;gap:12px;min-height:44px;padding:0 12px;font-size:15px}.shell__tab[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}}.weigh-in__composition{border:0;min-width:0;margin:0;padding:0}.weigh-in__composition-fields{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.75rem;display:grid}.composition-kind{gap:.25rem;min-width:0;display:grid}.composition-kind h3{margin:0;font-size:1rem}.composition-kind__latest{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin:0;display:flex}.composition-kind__latest strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.chip-group{gap:.35rem;margin-top:.5rem;display:grid}.chip-group__label{color:var(--muted);font-size:.8125rem}.muscle-map{grid-template-columns:1fr 1fr;gap:.75rem;width:100%;max-width:22rem;margin:0 auto;display:grid}.muscle-map--compact{max-width:14rem}.muscle-map__side{justify-items:center;gap:.25rem;min-width:0;display:grid}.muscle-map svg{width:100%;height:auto;max-height:20rem}.muscle-map__placeholder{aspect-ratio:1/2;background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:1rem;width:100%}.muscle-map__label{color:var(--muted);font-size:.8125rem}.muscle-map path,.map-swatch{fill:color-mix(in srgb, var(--ink) 16%, var(--surface));background:color-mix(in srgb, var(--ink) 16%, var(--surface));stroke:var(--surface);stroke-width:2px}.muscle-map path[data-tone=primary],.map-swatch[data-tone=primary],.muscle-map path[data-tone=trained-3],.map-swatch[data-tone=trained-3]{fill:var(--accent);background:var(--accent)}.muscle-map path[data-tone=secondary],.map-swatch[data-tone=secondary]{fill:color-mix(in srgb, var(--accent) 45%, var(--surface));background:color-mix(in srgb, var(--accent) 45%, var(--surface))}.muscle-map path[data-tone=trained-1],.map-swatch[data-tone=trained-1]{fill:color-mix(in srgb, var(--accent) 35%, var(--surface));background:color-mix(in srgb, var(--accent) 35%, var(--surface))}.muscle-map path[data-tone=trained-2],.map-swatch[data-tone=trained-2]{fill:color-mix(in srgb, var(--accent) 70%, var(--surface));background:color-mix(in srgb, var(--accent) 70%, var(--surface))}.muscle-map path[data-tone=recovering],.map-swatch[data-tone=recovering]{fill:var(--highlight);background:var(--highlight)}.muscle-map path[data-tone=under]{fill:color-mix(in srgb, var(--protein) 35%, var(--surface));stroke:var(--protein);stroke-dasharray:6 4}.map-swatch[data-tone=under]{background:color-mix(in srgb, var(--protein) 35%, var(--surface));outline:2px dashed var(--protein);outline-offset:-2px}.map-legend{flex-wrap:wrap;gap:.4rem 1rem;margin:.5rem 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.map-swatch{vertical-align:-.1rem;border-radius:.25rem;width:.9rem;height:.9rem;margin-inline-end:.35rem;display:inline-block}.exercise-machine-note{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:.4rem;margin:.25rem 0;display:flex}.picker-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;display:grid}.exercise-media{justify-items:center;margin:0;display:grid}.exercise-media video,.exercise-media img{aspect-ratio:1;background:#141414;border-radius:1rem;width:100%;max-width:20rem;display:block}.exercise-thumbnail{background:color-mix(in srgb, var(--ink) 6%, var(--surface));width:44px;height:44px;color:var(--accent);border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;display:flex;overflow:hidden}.exercise-thumbnail img{object-fit:contain;background:#141414;width:100%;height:100%;display:block}.exercise-thumbnail-button{cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid}.exercise-thumbnail-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muscle-map--thumbnail{width:44px;height:44px;margin:0;padding:2px;display:block}.muscle-map--thumbnail .muscle-map__side,.muscle-map--thumbnail svg{width:100%;height:100%}.muscle-map--thumbnail path{stroke-width:.5px}.exercise-list-row,.list-button.exercise-list-row{align-items:center;gap:10px;min-width:0;display:flex}.exercise-list-row__text{overflow-wrap:anywhere;flex:1;gap:3px;min-width:0;display:grid}.exercise-list-row>span:not(.exercise-thumbnail){overflow-wrap:anywhere;min-width:0}.exercise-detail__facts{grid-template-columns:auto minmax(0,1fr);gap:.25rem .75rem;margin:0;display:grid}.exercise-detail__facts dt{color:var(--muted)}.exercise-detail__facts dd{margin:0}.exercise-detail__steps{gap:.4rem;margin:0;padding-inline-start:1.25rem;display:grid}.exercise-detail__safety{color:var(--muted);align-items:flex-start;gap:8px;margin:0;font-size:14px;display:flex}.exercise-detail__safety svg{flex:none;margin-top:1px}.coach-mark{border-color:color-mix(in srgb, var(--accent) 45%, var(--stroke))}.coach-mark p{margin:0}.gym-group{border:0;gap:.35rem;margin:.75rem 0 0;padding:0;display:grid}.gym-group label{align-items:center;gap:.5rem;min-height:2.75rem;display:flex}.gym-group label.gym-child{padding-inline-start:1.5rem}.add-food__server{margin:.25rem 0 0}.food-pick__source{overflow-wrap:anywhere;font-size:.8125rem}.food-choice__name .tag{white-space:nowrap}.page-header{align-items:center;gap:8px;display:flex}.page-header__text{min-width:0}.page-header h1{letter-spacing:-.02em;margin:0;font-size:28px;line-height:1.15}.page-header p{color:var(--muted);margin:4px 0 0}.page-header__actions{gap:8px;margin-left:auto;display:flex}.card{border:1px solid var(--stroke);background:var(--surface-glass);backdrop-filter:blur(20px)saturate(130%);border-radius:20px;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px;display:grid}.card--accent{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.card h2,.card h3{margin:0}.card h2{font-size:20px}.card h3{font-size:16px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.btn{border:1px solid var(--stroke);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{border-color:var(--accent);background:var(--accent);color:var(--bg)}.btn--ghost{color:var(--accent);background:0 0;border-color:#0000}.btn--danger{color:var(--danger);background:0 0;border-color:#0000}.btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--stroke);color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible,.segmented__option:focus-visible,.list-button:focus-visible,.field input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips--scroll{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.chip{border:1px solid var(--stroke);min-height:44px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:0 14px;font-size:14px}.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--bg)}.segmented{border:1px solid var(--stroke);border-radius:16px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.segmented__option{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:auto;padding:0 12px;font-size:14px;font-weight:600}.segmented__option[aria-checked=true]{background:var(--accent);color:var(--bg)}.theme-options .segmented{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.theme-options .segmented__option{justify-content:center;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.segmented__swatch{border:1px solid color-mix(in srgb, var(--ink) 30%, transparent);border-radius:50%;flex:none;width:17px;height:17px}.segmented__swatch--auto{background:linear-gradient(90deg,#f7f5fb 50%,#191420 50%)}.segmented__swatch--iris-night{background:linear-gradient(135deg,#191420,#c8b5f5)}.segmented__swatch--daylight{background:linear-gradient(135deg,#fff,#6d55c9)}.segmented__swatch--aurora{background:linear-gradient(135deg,#0f2129,#5ee6c8)}.segmented__swatch--ocean{background:linear-gradient(135deg,#071c30,#9eddf4)}.segmented__swatch--forest{background:linear-gradient(135deg,#0b1c14,#b6d998)}.segmented__swatch--sunset{background:linear-gradient(135deg,#261316,#ffc293)}@media (width<=390px){.theme-options .segmented{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{gap:6px;min-width:0;display:grid}.field__label{color:var(--muted);font-size:13px;font-weight:600}.field input{border:1px solid var(--stroke);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 14px;font-size:16px}.stepper{justify-content:space-between;align-items:center;gap:12px;display:flex}.stepper__label{font-weight:600}.stepper__controls{align-items:center;gap:4px;display:flex}.stepper__value{font-variant-numeric:tabular-nums;text-align:center;min-width:56px;font-size:18px;font-weight:700}.empty-state{text-align:center;justify-items:center;gap:12px;padding:24px 8px;display:grid}.empty-state h2{margin:0;font-size:20px}.empty-state p{max-width:34ch;color:var(--muted);margin:0}.setting{border-bottom:1px solid var(--stroke);gap:8px;padding:12px 0;display:grid}.setting:last-child{border-bottom:0}.setting__label{font-weight:600}.setting__hint,.footnote{color:var(--muted);margin:0;font-size:13px}.list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.list-button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;gap:2px;padding:12px;display:grid}.list-button:hover{border-color:var(--stroke)}.list-button small{color:var(--muted);font-size:13px}.list-button[aria-checked=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.tag{border:1px solid var(--stroke);color:var(--ink);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.tag--accent{border-color:var(--accent);background:var(--accent);color:var(--bg)}.row{align-items:center;gap:8px;display:flex}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.row--end{justify-content:flex-end}.stack{gap:12px;display:grid}.sheet{border:1px solid var(--stroke);background:var(--surface);width:min(100vw,560px);max-width:100vw;max-height:min(88dvh,760px);color:var(--ink);border-radius:24px 24px 0 0;margin:auto auto 0;padding:0;bottom:0;overflow:hidden}.sheet[open]{flex-direction:column;display:flex}.sheet::backdrop{background:var(--scrim);backdrop-filter:blur(4px)}.sheet__panel{flex:auto;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.sheet__header{justify-content:space-between;align-items:center;gap:8px;padding:12px 12px 0 20px;display:flex}.sheet__header h2{margin:0;font-size:20px}.sheet__body{grid-auto-rows:max-content;align-content:start;gap:16px;min-height:0;padding:12px 20px 20px;display:grid;overflow-y:auto}.sheet__footer{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--stroke);justify-content:flex-end;gap:8px;display:flex}@media (width>=640px){.sheet{border-radius:24px;margin:auto}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chart-table{min-width:0}.spinner{vertical-align:middle;flex:none;animation:.25s ease-out .3s both spinner-in;display:inline-block;overflow:visible}.spinner__bar{transform-box:fill-box;transform-origin:50% 100%;animation:.9s cubic-bezier(.37,0,.63,1) infinite alternate spinner-bar}.spinner__line{animation:1.1s cubic-bezier(.37,0,.63,1) infinite alternate spinner-line}.spinner:not(.spinner--tile) .spinner__tray{stroke:var(--muted)}@keyframes spinner-bar{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}@keyframes spinner-line{0%{transform:translate(-6px)}to{transform:translate(6px)}}@keyframes spinner-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.spinner__bar,.spinner__line{animation:none}.spinner{animation-duration:0s}}.loading{text-align:center;align-content:center;justify-items:center;gap:14px;min-height:50vh;animation:.25s ease-out .3s both spinner-in;display:grid}.loading-inline{align-items:center;gap:10px;display:flex}.section-title{color:var(--muted);margin:8px 0 0;font-size:15px;font-weight:600}.day-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.day-list__item{border:1px solid var(--stroke);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.day-list__item[aria-current=step]{border-color:var(--accent)}.day-list__name{font-weight:600}.day-list__item small{color:var(--muted);margin-left:auto}.plan-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-row>div:first-child{overflow-wrap:anywhere;min-width:0}.plan-row__actions .btn,.train-actions .btn{flex:auto}.workout-choices{gap:6px;display:grid}.workout-choices__title{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.workout-choices .list-button{border-color:var(--stroke)}.workout-choice__name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.workout-choice:disabled{opacity:.5;cursor:not-allowed}.status{min-height:1.4em;color:var(--muted);margin:0;font-size:14px}.day-card__header{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.day-card__header .field{flex:100%;min-width:0}.day-card__header .row{margin-left:auto}.slot-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.fieldset legend{margin-bottom:8px;padding:0;font-weight:600}.onboarding{place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.onboarding__panel{gap:16px;width:min(100%,520px)}.onboarding h1{letter-spacing:-.02em;margin:0;font-size:30px;line-height:1.15}.next-workout h2{letter-spacing:-.01em;font-size:26px}.ongoing-progress{gap:4px;display:grid}.exercise-preview{gap:10px;margin:0;padding-left:20px;display:grid}.exercise-preview li{gap:2px;display:grid}.write-alert{border:1px solid var(--danger);background:var(--surface);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 16px;display:flex}.workout-exercise h2{min-width:0}.workout-screen{padding-bottom:24px}.workout-actions{justify-content:flex-start;display:flex}.workout-exercise{gap:8px;padding:12px}.workout-exercise__head{align-items:center;gap:4px;scroll-margin-top:12px;display:flex}.workout-exercise__head h2{flex:1;min-width:0;margin:0;font-size:18px}.workout-exercise__head .icon-btn{width:40px;height:40px}.workout-exercise__name{color:var(--ink);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:0}.workout-exercise__name:focus-visible,.workout-exercise__summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workout-exercise--collapsed{padding:0}.workout-exercise__summary{border-radius:inherit;width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:12px 14px;scroll-margin-top:12px;display:grid}.workout-exercise__summary-name{align-items:center;gap:6px;font-weight:700;display:flex}.workout-exercise__summary small{color:var(--muted);font-size:13px}.workout-exercise--done .workout-exercise__summary-name{color:var(--accent)}.workout-hint{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0;font-size:13px;display:flex}.workout-hint .btn{min-height:32px;padding:0 6px;font-size:13px}.workout-pair{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font-size:13px;display:flex}.workout-cue{border-left:3px solid var(--accent);color:var(--muted);margin:0;padding:6px 10px;font-size:13px}.workout-set-head,.workout-set__row{grid-template-columns:36px minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr) 44px;align-items:center;gap:6px;display:grid}.workout-set-head--plain,.workout-set__row--plain{grid-template-columns:36px minmax(0,1.3fr) minmax(0,1fr) 44px}.workout-howto{justify-self:start}.workout-set-head{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:0 4px;font-size:11px;font-weight:700}.workout-set-head span:nth-child(n+2):nth-child(-n+4){text-align:center}.workout-set{border:1px solid #0000;border-radius:12px;gap:6px;padding:4px;display:grid}.workout-set--active{border-color:color-mix(in srgb, var(--accent) 45%, var(--stroke));background:color-mix(in srgb, var(--accent) 6%, transparent)}.workout-set--done{background:color-mix(in srgb, var(--accent) 10%, transparent)}.workout-set--warmup .workout-set__number{color:var(--muted);font-style:italic}.workout-set__row input{border:1px solid var(--stroke);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;text-align:center;border-radius:10px;padding:0 6px;font-size:16px}.workout-set--done .workout-set__row input{background:0 0;border-color:#0000}.workout-set__row input[aria-invalid=true]{border-color:var(--danger)}.workout-set__number{border:1px solid var(--stroke);background:var(--surface);width:36px;height:36px;color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;font-weight:700}.workout-set__check{border:1px solid var(--stroke);background:var(--surface);width:44px;height:44px;color:var(--muted);cursor:pointer;border-radius:12px;place-items:center;display:grid}.workout-set__check[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--bg)}.workout-set__number:focus-visible,.workout-set__check:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.workout-set__effort{flex-wrap:wrap;gap:4px;padding-left:42px;display:flex}.workout-set__effort .chip{min-width:40px;min-height:36px;padding:0 8px}.session-bar{z-index:5;bottom:calc(64px + env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--accent) 45%, var(--stroke));background:var(--surface);box-shadow:0 8px 28px color-mix(in srgb, var(--bg) 70%, transparent);border-radius:20px;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex;position:sticky}.session-bar__info{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 12px;font-size:14px;display:flex}.session-bar__info span{align-items:center;gap:4px;display:inline-flex}.session-bar__rest{gap:4px;min-width:0;display:grid}.session-bar__rest strong{font-variant-numeric:tabular-nums}.session-bar__rest-actions{flex-wrap:wrap;gap:4px;display:flex}.session-bar__rest-actions .chip{min-height:32px;padding:0 10px;font-size:13px}.session-bar .btn{flex:none}@media (width>=1024px){.session-bar{bottom:16px}}.workout-tools-sheet{gap:14px;display:grid}.workout-tools-sheet select{border:1px solid var(--stroke);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 12px}.workout-tools-sheet input{width:100%;min-width:0}.workout-tool{border:1px solid var(--stroke);border-radius:12px;gap:8px;padding:12px;display:grid}.workout-tool p{margin:0}.workout-screen textarea{border:1px solid var(--stroke);background:var(--surface);width:100%;min-height:90px;color:var(--ink);font:inherit;border-radius:12px;padding:12px}.workout-screen textarea:focus-visible,.workout-set input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.input-error{color:var(--danger);margin:0;font-size:14px}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.summary-grid>div{gap:6px;display:grid}.summary-grid strong{font-size:24px}@media (width>=1024px){.rest-banner{bottom:16px}}.streak-panel{gap:10px}.streak-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.streak-stat{border:1px solid color-mix(in srgb, #ff987b 42%, var(--stroke));background:linear-gradient(145deg, color-mix(in srgb, #ff846e 20%, var(--surface)), var(--surface) 80%);border-radius:14px;align-content:start;gap:2px;min-width:0;padding:10px;font-size:12px;display:grid}.streak-stat span:not(.streak-stat__icon){color:var(--muted);font-weight:650}.streak-stat strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:20px;font-weight:800;line-height:1.1}.streak-stat--food{background:linear-gradient(145deg, color-mix(in srgb, #ff658d 16%, var(--surface)), var(--surface) 80%)}.streak-stat--week{border-color:var(--stroke);background:var(--surface)}.streak-stat--milestone{border-color:var(--highlight)}.streak-stat--idle{border-color:var(--stroke);background:var(--surface)}.streak-stat__icon{color:#ff9d55;transform-origin:bottom;width:18px;height:22px;display:block}.streak-stat--food .streak-stat__icon{color:#ff7891}.streak-stat--idle .streak-stat__icon{color:var(--muted)}.streak-stat__icon svg{width:100%;height:100%;display:block}.streak-progress__track{background:color-mix(in srgb, var(--ink) 10%, var(--surface));border-radius:999px;height:6px;margin-top:4px;display:block;overflow:hidden}.streak-progress__track span{border-radius:inherit;background:linear-gradient(90deg,#ff8d76,#ffc778);height:100%;transition:width .45s;display:block}.streak-toggle,.link-button{min-height:36px;color:var(--accent);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;padding:0;font-size:14px;font-weight:650;text-decoration:none;display:inline-flex}.streak-toggle:focus-visible,.link-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=360px){.streak-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.streak-stat--week{grid-column:1/-1}}.quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.quick-actions__start{grid-column:1/-1;min-height:52px;font-size:17px}.quick-actions .btn{min-width:0;padding:0 8px}.quick-actions .btn span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quick-actions .btn:not(.quick-actions__start){border-radius:16px;flex-direction:column;gap:2px;min-height:64px;font-size:13px}.today-notice:empty{min-height:0}.macro-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.macro-bar{gap:5px;min-width:0;display:grid}.macro-bar__head{gap:1px;display:grid}.macro-bar__label{color:var(--muted);font-size:13px;font-weight:650}.macro-bar__head strong{font-variant-numeric:tabular-nums;font-size:18px}.macro-bar__head small{color:var(--muted);font-size:12px;font-weight:500}.macro-bar__track{background:color-mix(in srgb, var(--ink) 10%, var(--surface));border-radius:999px;height:7px;overflow:hidden}.macro-bar__track span{border-radius:inherit;background:var(--accent);height:100%;transition:width .35s;display:block}.macro-bar--protein .macro-bar__track span{background:var(--protein)}.macro-bar--carbs .macro-bar__track span{background:var(--carbs)}.macro-bar--fat .macro-bar__track span{background:var(--fat)}.macro-bar--over .macro-bar__track span{background:var(--over)}.macro-bar__left{color:var(--muted);font-size:12px}.macro-bar--over .macro-bar__left{color:var(--muted)}.freeze-bank{border:1px solid color-mix(in srgb, #8fd9ff 30%, var(--stroke));background:linear-gradient(105deg, color-mix(in srgb, #77cfff 13%, var(--surface)), var(--surface));border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 14px;padding:13px;display:grid}.freeze-bank__tokens{grid-row:span 2;gap:5px;display:flex}.freeze-bank__token{border:1px dashed var(--stroke);background:color-mix(in srgb, var(--ink) 5%, var(--surface));width:42px;height:42px;color:var(--muted);opacity:.55;border-radius:13px;place-items:center;display:grid}.freeze-bank__token--ready{border-style:solid;border-color:color-mix(in srgb, #96ddff 70%, var(--stroke));background:linear-gradient(150deg, color-mix(in srgb, #97e4ff 28%, var(--surface)), color-mix(in srgb, #9aaaff 17%, var(--surface)));color:#a9e9ff;opacity:1;box-shadow:inset 0 1px #ffffff25,0 3px 14px #6ac7ff18}:root[data-theme=daylight] .freeze-bank__token--ready{color:#247ca8}.freeze-bank__token svg{width:23px;height:23px}.freeze-bank__copy{gap:2px;display:grid}.freeze-bank__copy strong{font-size:14px}.freeze-bank__copy span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.freeze-bank p{color:var(--muted);grid-column:1/-1;margin:4px 0 0;font-size:12px;line-height:1.45}@media (prefers-reduced-motion:no-preference){.streak-stat:not(.streak-stat--idle) .streak-stat__icon{animation:2.8s ease-in-out infinite flame-breathe}}@keyframes flame-breathe{50%{transform:scale(1.07)rotate(2deg)}}.macro-summary{grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:12px;display:grid}.macro-summary>div{gap:4px;display:grid}.macro-summary strong{font-variant-numeric:tabular-nums;font-size:22px}.weight-summary{border-top:1px solid var(--stroke);gap:4px;padding-top:12px;display:grid}.nutrition-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.nutrition-fields input,.nutrition-fields select,.food-date-nav__day{border:1px solid var(--stroke);background:var(--surface);min-width:0;min-height:44px;color:var(--ink);text-align:center;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:8px 12px;font-weight:600;display:flex;position:relative}.food-date-nav__day input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.nutrition-fields select:focus-visible,.food-date-nav__day:focus-within{outline:2px solid var(--accent);outline-offset:2px}.food-date-nav{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.weight-row h2{margin:0}.food-entry-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.food-entry-list li{border-bottom:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.food-entry{min-width:0;color:var(--ink);font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;flex:1;gap:4px;padding:4px 0;display:grid}.food-entry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.food-entry__ai{color:var(--accent);align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.log-again{flex-wrap:wrap;gap:6px;display:flex}.log-again__chip{white-space:normal;text-align:left;border-style:dashed;min-height:36px;font-size:13px}.meal-card__actions{flex-wrap:wrap;gap:8px;display:flex}.meal-card__actions .btn{white-space:nowrap;flex:auto;padding:0 14px}.meal-card__more{margin:-4px 0 0}.meal-card__more .btn{min-height:36px;padding:0 10px;font-size:14px}.add-food__summary{gap:2px;display:grid}.add-food__summary p{margin:0;font-size:13px}.add-food__status{color:var(--accent);font-weight:600}.add-food__status:empty{min-height:0}.add-food__note{margin:0;font-size:12px}.add-food__search,.barcode-scan__typed{align-items:end}.add-food__search .field,.barcode-scan__typed .field{flex:1;min-width:0}.barcode-scan__video{aspect-ratio:4/3;object-fit:cover;background:#000;border-radius:12px;width:100%}.add-food-sheet--finding[data-keyboard-open=true] .add-food__method,.add-food-sheet--finding[data-keyboard-open=true] .add-food__meal,.add-food-sheet--finding[data-keyboard-open=true] .add-food__summary,.add-food-sheet--finding[data-keyboard-open=true] .add-food__note,.add-food-sheet--finding[data-keyboard-open=true] .sheet__footer{display:none}.add-food-sheet--finding[data-keyboard-open=true] .sheet__body{gap:10px;padding-top:8px;padding-bottom:8px}.food-choices{gap:4px;display:grid}.food-choices__title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.food-choices .list-button{border-color:var(--stroke);padding:10px 12px}.food-choice__name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.food-pick{gap:16px;display:grid}.food-pick__head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.food-pick__manage{margin-top:-8px}.food-pick__manage .btn{min-height:36px;padding:0 10px;font-size:14px}.star-toggle[aria-pressed=true]{color:var(--highlight)}.star-toggle[aria-pressed=true] svg path{fill:currentColor}.food-pick h3{overflow-wrap:anywhere;margin:0;font-size:20px}.food-pick p{margin:4px 0 0}.food-pick__amount{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.dish-options{gap:12px;display:grid}.dish-options__row{gap:6px;display:grid}.dish-options__ingredients summary{cursor:pointer;font-weight:600}.dish-options__ingredients ul{margin:8px 0;padding-left:20px}.macro-summary--compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.macro-summary--compact strong{font-size:18px}.macro-fields{gap:8px;display:grid}.food-pick .field input,.macro-fields .field input,.add-food-form .field input{width:100%;min-width:0}.macro-fields__kcal input{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.macro-fields__kcal input.is-auto{border-color:color-mix(in srgb, var(--accent) 55%, var(--stroke));color:var(--accent)}.macro-fields__hint{color:var(--muted);margin:0;font-size:13px}.macro-fields__hint--warn{color:var(--ink);flex-wrap:wrap;align-items:center;gap:0 4px;display:flex}.macro-fields__hint--warn .btn{min-height:36px;padding:0 8px}.macro-fields__grams{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px;display:grid}.nutrition-legend{background:var(--accent);opacity:1}@media (width<=390px){.macro-summary--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.progress-screen{width:min(100%,1120px)}.progress-range{flex-wrap:wrap;gap:6px;display:flex}.progress-card--overview,.progress-card--all-exercises,.progress-card--frequency{grid-column:1/-1}.muscle-frequency__method{max-width:72ch;margin:6px 0 14px}.muscle-frequency__scroll-hint{margin:0 0 8px;font-size:12px;display:none}.muscle-frequency__scroll{overscroll-behavior-inline:contain;max-width:100%;overflow-x:auto}.muscle-frequency__scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muscle-frequency__table{border-collapse:separate;border-spacing:4px;table-layout:fixed;font-variant-numeric:tabular-nums;width:100%;min-width:940px}.muscle-frequency__table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muscle-frequency__table th:first-child{z-index:1;background:var(--surface);text-align:left;width:150px;position:sticky;left:0}.muscle-frequency__table thead th{color:var(--muted);text-align:center;white-space:nowrap;padding:7px 4px;font-size:12px;font-weight:600}.muscle-frequency__table tbody th{white-space:nowrap;padding:8px 6px;font-size:13px;font-weight:600}.muscle-frequency__table td{background:color-mix(in srgb, var(--ink) 5%, var(--surface));height:35px;color:var(--muted);text-align:center;border-radius:7px;font-size:14px;font-weight:700}.muscle-frequency__table td[data-level="1"]{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--ink)}.muscle-frequency__table td[data-level="2"]{background:color-mix(in srgb, var(--accent) 29%, var(--surface));color:var(--ink)}.muscle-frequency__table td[data-level="3"]{background:color-mix(in srgb, var(--accent) 45%, var(--surface));color:var(--ink)}@media (width<=950px){.muscle-frequency__scroll-hint{display:block}}.progress-overview__header{justify-content:space-between;align-items:start;gap:18px;display:flex}.progress-overview__header p,.progress-card--all-exercises>div:first-child p{margin:5px 0 0}.progress-overview__number{font-variant-numeric:tabular-nums;flex:none;justify-items:end;display:grid}.progress-overview__number strong{letter-spacing:-.055em;font-size:clamp(35px,5vw,54px);line-height:1}.progress-overview__number span{color:var(--muted);font-size:12px}.progress-overview__counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-block:7px;display:grid}.progress-count{border-top:2px solid var(--muted);background:color-mix(in srgb, var(--ink) 4%, transparent);gap:2px;padding:12px;display:grid}.progress-count strong{font-variant-numeric:tabular-nums;font-size:25px;line-height:1}.progress-count span{color:var(--muted);font-size:13px}.progress-count--improving{border-color:var(--accent)}.progress-count--steady{border-color:var(--highlight)}.progress-count--declining{border-color:var(--danger)}.overall-trend-chart{width:100%;min-width:0;height:auto;display:block}.overall-trend-chart--mobile{display:none}.progress-overview__method{margin:0;font-size:13px;line-height:1.5}.progress-overview-list{border-top:1px solid var(--stroke);display:grid}.progress-overview-row{border:0;border-bottom:1px solid var(--stroke);width:100%;min-width:0;min-height:61px;color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(125px,auto);align-items:center;gap:8px 16px;padding:9px 12px;transition:background .2s;display:grid}.progress-overview-row:hover,.progress-overview-row[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 10%, transparent)}.progress-overview-row:focus-visible,#exercise-detail:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.progress-overview-row__name{overflow-wrap:anywhere;font-weight:700}.progress-overview-row__numbers{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.progress-direction{text-align:right;font-variant-numeric:tabular-nums;justify-self:end;font-size:13px;font-weight:700}.progress-direction--improving{color:var(--accent)}.progress-direction--steady{color:var(--highlight)}.progress-direction--declining{color:var(--danger)}.progress-direction--needs-data{color:var(--muted)}@media (width<=600px){.overall-trend-chart--desktop{display:none}.overall-trend-chart--mobile{display:block}.progress-overview__header{flex-direction:column}.progress-overview__number{justify-items:start}.progress-overview__counts{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-overview-row{grid-template-columns:minmax(0,1fr) minmax(95px,auto)}.progress-overview-row__numbers{grid-area:2/1/auto/-1}.progress-direction{grid-area:1/2}}@media (prefers-reduced-motion:reduce){.progress-overview-row{transition:none}}.progress-selector select,.landmark-editor select,.landmark-editor input{border:1px solid var(--stroke);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:8px 12px}.progress-selector select:focus-visible,.landmark-editor input:focus-visible,.landmark-editor summary:focus-visible,.chart-table summary:focus-visible,.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.training-chart{width:100%;min-width:0;height:auto;display:block}.chart-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.legend-line{border-top:3px solid var(--accent);width:24px;display:inline-block}.legend-line--secondary{border-color:var(--muted)}.legend-box{background:var(--danger);opacity:.55;width:12px;height:12px}.chart-table summary,.landmark-editor summary{min-height:44px;color:var(--accent);cursor:pointer;padding:10px 0}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll table{border-collapse:collapse;text-align:left;width:100%;min-width:440px;font-size:14px}.table-scroll caption{text-align:left;padding:8px 0;font-weight:600}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--stroke);white-space:nowrap;padding:8px 10px}.volume-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.volume-row{min-width:0}.volume-row>.row{font-size:14px}.volume-track{background:var(--stroke);border-radius:999px;height:18px;margin-top:8px;position:relative;overflow:hidden}.volume-band,.volume-fill{position:absolute;top:0;bottom:0}.volume-band--mev{background:color-mix(in srgb, var(--accent) 15%, transparent)}.volume-band--mav{background:color-mix(in srgb, var(--accent) 35%, transparent)}.volume-band--mrv{background:color-mix(in srgb, var(--danger) 20%, transparent)}.volume-fill{border-right:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 50%, transparent);left:0}.landmark-editor__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.progress-source{margin:0;font-size:13px}.progress-source a{color:var(--accent)}.training-calendar__hint{margin:0}.training-calendar__blocks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.training-calendar__block{border:1px solid var(--stroke);background:color-mix(in srgb, var(--ink) 2%, transparent);border-radius:14px;min-width:0;padding:12px}.training-calendar__block h3{margin:0 0 11px;font-size:15px}.training-calendar__weekdays,.training-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.training-calendar__weekdays{color:var(--muted);text-align:center;margin-bottom:5px;font-size:11px}.training-calendar__weekdays span{text-overflow:clip;overflow:hidden}.training-calendar__day{aspect-ratio:1;border:1px solid var(--stroke);width:100%;min-width:0;min-height:32px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:8px;place-content:center;justify-items:center;gap:2px;padding:2px;font-size:12px;display:grid}.training-calendar__day--trained{border-color:color-mix(in srgb, var(--accent) 65%, transparent);background:color-mix(in srgb, var(--accent) 25%, var(--surface))}.training-calendar__day--trained i{background:var(--accent);border-radius:50%;width:4px;height:4px}.training-calendar__day--today{border-style:dashed}.training-calendar__day[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.training-calendar__day:hover{background:color-mix(in srgb, var(--accent) 20%, var(--surface))}.training-calendar__day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.training-calendar__day--future{opacity:.35;cursor:default}.training-calendar__day--future:hover{background:0 0}.training-calendar__legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;font-size:12px;display:flex}.training-calendar__legend span{align-items:center;gap:7px;display:inline-flex}.training-calendar__swatch{border:1px solid var(--stroke);border-radius:4px;width:14px;height:14px}.training-calendar__swatch--trained{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 25%, var(--surface))}.training-calendar__swatch--selected{box-shadow:inset 0 0 0 2px var(--accent)}.training-calendar__swatch--today{border-style:dashed}.training-calendar__detail{border-top:1px solid var(--stroke);gap:12px;padding-top:17px;scroll-margin-top:16px;display:grid}.training-calendar__detail h3{font-size:18px}.training-calendar__detail>p{margin:0}.training-calendar__workout{border:1px solid var(--stroke);border-radius:12px;gap:10px;padding:14px;display:grid}.training-calendar__workout h4{margin:0;font-size:16px}.training-calendar__workout p{margin:0}.training-calendar__workout ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.training-calendar__workout li{border-top:1px solid var(--stroke);grid-template-columns:minmax(0,1.1fr) auto minmax(0,1fr);align-items:center;gap:6px 12px;padding:10px 0;font-size:13px;display:grid}.training-calendar__workout li strong{overflow-wrap:anywhere;min-width:0}.training-calendar__workout li small{text-align:right;justify-self:end;font-size:12px}@media (width<=950px){.training-calendar__blocks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.training-calendar__blocks{grid-template-columns:minmax(0,1fr)}.training-calendar__block{max-width:480px}.training-calendar__workout li{grid-template-columns:minmax(0,1fr) auto}.training-calendar__workout li small{text-align:left;grid-column:1/-1;justify-self:start}}.account-panel{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface) 65%);gap:16px}:root{--apple-bg:white;--apple-fg:black}:root[data-theme=daylight]{--apple-bg:black;--apple-fg:white}.account-panel__providers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-panel__providers .btn{width:100%;height:100%;min-height:48px}.account-panel .btn--apple{background:var(--apple-bg);color:var(--apple-fg);border-color:var(--apple-bg)}.btn__apple-logo{flex:none;width:17px;height:17px;margin-block-start:-3px;margin-inline-end:8px}.account-panel__methods,.account-panel__method-list{gap:12px;min-width:0;display:grid}.account-panel__methods h3,.account-panel__methods>p{margin:0}.account-panel__method{border:1px solid var(--stroke);border-radius:12px;gap:11px;padding:12px;display:grid}.account-panel__method-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.account-panel__linked{border:1px solid var(--stroke);border-radius:8px;padding:4px 8px;font-size:13px}.account-panel__head{align-items:center;display:flex}.account-panel__head h2{margin:0 0 3px}.account-panel__head p{color:var(--muted);margin:0;font-size:13px}.account-panel__status{border:1px solid var(--stroke);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:13px;display:flex}.account-panel__identity{align-items:center;gap:11px;min-width:0;display:flex}.account-panel__identity strong{overflow-wrap:anywhere;min-width:0}.account-panel__avatar{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--stroke));background:color-mix(in srgb, var(--accent) 18%, var(--surface));width:40px;height:40px;color:var(--ink);border-radius:50%;flex:0 0 40px;place-items:center;font-size:13px;font-weight:800;display:grid;overflow:hidden}.account-panel__avatar img{object-fit:cover;width:100%;height:100%;display:block}.account-panel__status>span[role=status]{color:var(--accent);font-size:13px;font-weight:700}.account-panel__import{gap:11px;display:grid}.account-panel__import p{color:var(--muted);margin:0;font-size:14px}.account-panel__conflicts{gap:10px;display:grid}.account-panel__conflicts h3{margin:0;font-size:16px}.account-panel__conflict{border:1px solid var(--stroke);overflow-wrap:anywhere;border-radius:12px;gap:8px;padding:12px;display:grid}.account-panel__conflict>span{color:var(--muted);font-size:12px}.account-panel__versions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-panel__versions p{border:1px solid var(--stroke);overflow-wrap:anywhere;border-radius:10px;gap:4px;min-width:0;margin:0;padding:10px;font-size:13px;display:grid}.account-panel__versions small{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.account-panel__error{color:var(--danger);margin:0}@media (width<=460px){.account-panel__versions,.account-panel__providers{grid-template-columns:1fr}}@media (width>=900px){.progress-screen{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-screen>.page-header,.progress-card--exercise,.progress-card--heatmap,.progress-card--nutrition,.progress-card--weight{grid-column:1/-1}}.weekly-review,.block-comparison{border-color:color-mix(in srgb, var(--accent) 32%, var(--stroke))}.review-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.review-stats>div{border:1px solid var(--stroke);background:color-mix(in srgb, var(--accent) 7%, var(--surface));border-radius:14px;align-content:start;gap:3px;min-width:0;padding:14px;display:grid}.review-stats strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;line-height:1}.review-stats span{font-size:13px;font-weight:650}.review-stats small{color:var(--muted);font-size:11px}.weekly-review details{border:1px solid var(--stroke);border-radius:12px;padding:12px}.weekly-review summary,.dashboard-editor summary,.workout-tool summary{cursor:pointer;color:var(--accent);font-weight:700}.weekly-review details>*,.dashboard-editor>*{margin-top:10px}.personal-progress{gap:16px;display:grid}.personal-form{gap:12px;display:grid}.personal-form>.field{min-width:0}.personal-progress select,.workout-tools select{border:1px solid var(--stroke);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:0 12px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.goal-row,.dashboard-editor__row{border-bottom:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:12px;padding:11px 0;display:flex}.goal-row>div{gap:3px;min-width:0;display:grid}.goal-row span,.goal-row small{color:var(--muted);font-size:12px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.photo-grid figure{border:1px solid var(--stroke);border-radius:12px;margin:0;overflow:hidden}.photo-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.photo-grid figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;padding:6px;font-size:12px;display:flex}.personal-progress input[type=file]{width:100%;min-width:0;max-width:100%}.dashboard-editor__row label{align-items:center;gap:6px;display:flex}.dashboard-editor__row>span{display:flex}.block-movements{gap:4px;display:grid}@media (width<=460px){.review-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.review-stats>div{padding:10px}.review-stats strong{font-size:23px}.goal-row{align-items:start}}.settings-anchor,.data-panel h2{scroll-margin-top:16px}.data-panel input[type=file]{width:100%;min-width:0}.data-panel__preview{border:1px solid var(--stroke);border-radius:14px;gap:8px;padding:12px;display:grid}.data-panel__preview p{margin:0}.data-panel .status:empty{min-height:0}.history-import{border-top:1px solid var(--stroke);gap:8px;padding-top:12px;display:grid}.history-import>p{margin:0}.workout-history-list .list-button{border-color:var(--stroke);text-decoration:none}.summary-exercises{gap:0;margin:0;padding:0;list-style:none;display:grid}.summary-exercises li{border-bottom:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.summary-exercises li>div{gap:3px;min-width:0;display:grid}.summary-change{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.summary-change--up{color:var(--accent)}.summary-change--down{color:var(--danger)}.slot-list__item{border-radius:14px;align-items:center;gap:4px;transition:box-shadow .15s;display:flex}.slot-list__item .list-button{flex:1;min-width:0}.slot-list__item--dragging{z-index:2;background:var(--surface);box-shadow:0 8px 24px color-mix(in srgb, var(--bg) 60%, transparent);position:relative}.slot-list__item--target-before{box-shadow:inset 0 3px 0 var(--accent)}.slot-list__item--target-after{box-shadow:inset 0 -3px 0 var(--accent)}.drag-handle{width:36px;height:44px;color:var(--muted);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.drag-handle:active{cursor:grabbing}.drag-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.water-card__head{align-items:center;gap:14px;display:flex}.water-card__head h2{margin:0}.water-card__total{font-variant-numeric:tabular-nums;margin:2px 0 0}.water-card__total strong{font-size:20px}.water-ring{flex:none;width:64px;height:64px;position:relative}.water-ring>svg{width:100%;height:100%;display:block}.water-ring circle{fill:none;stroke-width:7px}.water-ring__track{stroke:color-mix(in srgb, var(--ink) 10%, var(--surface))}.water-ring__fill{stroke:var(--accent);stroke-linecap:round;transition:stroke-dasharray .35s}.water-ring__icon{color:var(--accent);place-items:center;display:grid;position:absolute;inset:0}.water-card__custom{align-items:flex-end;gap:8px;display:flex}.water-card__custom .field{flex:auto;min-width:0}.water-history{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.water-history li{font-variant-numeric:tabular-nums;grid-template-columns:3em minmax(0,1fr) 5.5em;align-items:center;gap:10px;display:grid}.water-history li>:last-child{text-align:right}.water-goal{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.water-goal .field{flex:8em;min-width:0}.week-schedule__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.week-schedule__days .chip{justify-content:center;min-width:0;padding-inline:2px}.week-schedule__list{margin:12px 0;padding:0;list-style:none}.week-schedule__warning{border:1px solid var(--danger);border-radius:12px;margin:8px 0;padding:10px 12px}.workout-exercise__collapsed-row{align-items:center;gap:10px;padding-left:12px;display:flex}.workout-exercise__collapsed-row .workout-exercise__summary{flex:1;min-width:0}.workout-exercise__summary-name{overflow-wrap:anywhere}.exercise-preview li.exercise-list-row{gap:10px;display:flex}.summary-exercises li>.exercise-list-row__text{flex:1}.onboarding__goals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.onboarding__goals .list-button{align-content:start;min-width:0;height:100%}.onboarding__goals .list-button>span{align-items:center;gap:6px;display:flex}.onboarding__goals .icon{flex-shrink:0}.food-day-footer{order:1}.day-complete-prompt{gap:.5rem;display:grid}.daily-undo-banner{z-index:100;inset-inline:max(1rem, env(safe-area-inset-left));bottom:calc(5.25rem + env(safe-area-inset-bottom));border:1px solid var(--stroke);background:var(--surface);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;max-width:36rem;margin-inline:auto;padding:.75rem 1rem;display:flex;position:fixed;box-shadow:0 8px 28px #0003}.daily-undo-banner>span{overflow-wrap:anywhere;min-width:0}.workout-header-tools{margin-block:.25rem}.swipe-remove{border-radius:.5rem;position:relative;overflow:hidden}.swipe-remove__action{place-items:center;width:8rem;display:grid;position:absolute;inset-block:0;inset-inline-end:0}.swipe-remove__action .btn{white-space:normal;width:100%;height:100%}.swipe-remove__content{background:var(--surface);transition:transform .16s;position:relative}.swipe-remove--open>.swipe-remove__content{transform:translate(-8rem)}@media (width>=800px){.daily-undo-banner{bottom:1.5rem}}@media (prefers-reduced-motion:reduce){.swipe-remove__content{transition:none}}.achievements-section{min-width:0}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.achievement-badge{border:1px solid var(--stroke);border-radius:14px;flex-direction:column;align-items:flex-start;gap:.5rem;min-width:0;padding:1rem;display:flex}.achievement-badge--earned{border-color:var(--accent)}.achievement-badge__icon{background:var(--bg);width:44px;height:44px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.achievement-badge--earned .achievement-badge__icon{color:var(--accent)}.achievement-badge strong{font-size:.95rem}.achievement-badge .muted,.achievement-badge small{font-size:.8rem}.achievement-badge progress{width:100%;height:6px;accent-color:var(--accent);margin-top:auto}.achievement-celebration{animation:.45s ease-out both achievement-arrive}@keyframes achievement-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.achievement-celebration{animation:none}}
