.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}
