:root{color-scheme:dark;--color-bg: #07100e;--color-surface: #0e1d19;--color-surface-high: #132a24;--color-border: #214139;--color-border-strong: #397063;--color-text: #eff8f5;--color-text-muted: #96aaa3;--color-accent: #3ddc97;--color-accent-strong: #1fb978;--color-on-accent: #042318;--color-warning: #f4b942;--color-on-warning: #1a1206;--color-danger: #fb7185;--color-on-danger: #2a0710;--color-info: #71b7ff;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-display: 3.5rem;--text-headline-lg: 2rem;--text-headline-sm: 1.5rem;--text-title: 1.375rem;--text-title-sm: 1rem;--text-body: 1rem;--text-body-sm: .875rem;--text-label: .875rem;--text-caption: .75rem;--space-1: .25rem;--space-2: .5rem;--space-3: 1rem;--space-4: 1.5rem;--space-6: 3rem;--space-8: 6rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-full: 999px;--elevation-1: 0 2px 6px rgb(0 0 0 / .24);--elevation-3: 0 22px 60px rgb(0 0 0 / .28);--duration-fast: .1s;--duration-base: .2s;--duration-emphasis: .3s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(0, 0, 0, 1);--tap-min: 48px;--tap-critical: 56px;--nav-height: 64px;--page-max: 33rem}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 1ms;--duration-base: 1ms;--duration-emphasis: 1ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.6;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3,h4{margin:0;line-height:1.15;text-wrap:balance}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:var(--color-accent)}img{max-width:100%;display:block}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.page{max-width:var(--page-max);margin-inline:auto;padding:max(var(--space-3),env(safe-area-inset-top)) var(--space-3) calc(var(--nav-height) + var(--space-6) + env(safe-area-inset-bottom))}.stack{display:grid;gap:var(--space-2)}.section{margin-block-start:var(--space-4)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-block-end:var(--space-2)}.section__title{font-size:var(--text-title-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.panel{display:grid;gap:var(--space-3);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.lead{font-size:var(--text-body);color:var(--color-text)}.tip{margin-block-start:var(--space-3);padding:var(--space-3);border-inline-start:3px solid var(--color-accent);border-radius:0 var(--radius-md) var(--radius-md) 0;background:color-mix(in srgb,var(--color-accent) 8%,transparent);font-size:var(--text-body-sm);color:var(--color-text)}.footnote{margin-block-start:var(--space-4);font-size:var(--text-caption);color:var(--color-text-muted);text-align:center}.icon{flex:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-block-size:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-full);font-size:var(--text-label);font-weight:600;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.button:active{transform:scale(.98)}.button:disabled{opacity:.4;pointer-events:none}.button--primary{background:var(--color-accent);color:var(--color-on-accent)}.button--primary:hover{background:var(--color-accent-strong)}.button--outline{border:1px solid var(--color-border-strong);color:var(--color-text)}.button--outline:hover{background:var(--color-surface-high)}.button--ghost{color:var(--color-text-muted)}.button--ghost:hover{background:var(--color-surface);color:var(--color-text)}.button--danger{border:1px solid var(--color-danger);color:var(--color-danger)}.button--danger:hover{background:var(--color-danger);color:var(--color-on-danger)}.button--small{min-block-size:36px;font-size:var(--text-caption)}.button--xl{inline-size:100%;min-block-size:64px;font-size:var(--text-title);letter-spacing:.01em}.icon-button{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--tap-min);block-size:var(--tap-min);margin:calc(var(--space-2) * -1);border-radius:var(--radius-full);color:var(--color-text-muted);transition:background-color var(--duration-fast) var(--ease-standard)}.icon-button:hover{background:var(--color-surface);color:var(--color-text)}.icon-button[aria-pressed=true]{color:var(--color-accent)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.chip{display:inline-flex;align-items:center;min-block-size:var(--tap-min);padding-inline:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);font-size:var(--text-label);font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:all var(--duration-fast) var(--ease-standard)}.chip:hover{color:var(--color-text);border-color:var(--color-accent)}.chip[data-active]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent);font-weight:600}.badge-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-caption);font-weight:600;letter-spacing:.02em;color:var(--color-text-muted)}.badge--warn{background:color-mix(in srgb,var(--color-warning) 16%,transparent);border-color:color-mix(in srgb,var(--color-warning) 40%,transparent);color:var(--color-warning)}.badge--accent{background:color-mix(in srgb,var(--color-accent) 16%,transparent);border-color:color-mix(in srgb,var(--color-accent) 40%,transparent);color:var(--color-accent)}.knee-mark{display:inline-flex;align-items:center;margin-inline-start:var(--space-2);padding:1px var(--space-2);border:1px solid currentColor;border-radius:var(--radius-sm);font-size:var(--text-caption);font-weight:700;letter-spacing:.02em;white-space:nowrap;color:var(--color-text-muted)}.knee-mark--media{color:var(--color-warning)}.knee-mark--alta{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.knee-mark--compact{padding-inline:5px}.preflight{display:grid;gap:var(--space-2);margin-block:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.preflight__item{font-size:var(--text-body-sm);color:var(--color-text-muted)}.preflight__item--knee{color:var(--color-warning)}.screen-header{display:flex;align-items:flex-start;gap:var(--space-3);margin-block-end:var(--space-3)}.screen-header__text{flex:1;min-inline-size:0}.screen-header__title{font-size:var(--text-headline-lg);font-weight:800;letter-spacing:-.02em}.screen-header__subtitle{margin-block-start:var(--space-1);font-size:var(--text-body-sm);line-height:1.5;color:var(--color-text-muted)}.bottom-nav{position:fixed;inset-block-end:0;inset-inline:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;max-inline-size:var(--page-max);margin-inline:auto;padding-block:var(--space-1);padding-block-end:max(var(--space-1),env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(16px);border-block-start:1px solid var(--color-border)}.bottom-nav__item{display:grid;justify-items:center;gap:2px;min-block-size:var(--tap-min);padding-block:var(--space-1);color:var(--color-text-muted);text-decoration:none}.bottom-nav__indicator{display:grid;place-items:center;inline-size:56px;block-size:30px;border-radius:var(--radius-full);transition:background-color var(--duration-base) var(--ease-standard)}.bottom-nav__item[data-active]{color:var(--color-accent)}.bottom-nav__item[data-active] .bottom-nav__indicator{background:color-mix(in srgb,var(--color-accent) 18%,transparent)}.bottom-nav__label{font-size:var(--text-caption);font-weight:600}.home-header{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--space-4)}.home-header__eyebrow{font-size:var(--text-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.resume-card{display:grid;gap:2px;padding:var(--space-3);margin-block-end:var(--space-3);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--color-warning) 12%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);text-decoration:none;color:var(--color-text)}.resume-card__label{font-size:var(--text-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-warning)}.resume-card__title{font-size:var(--text-title);font-weight:700}.resume-card__cta{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-body-sm);color:var(--color-text-muted)}.hero{padding:var(--space-4) var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(160deg,color-mix(in srgb,var(--color-accent) 10%,var(--color-surface)),var(--color-surface));border:1px solid var(--color-border)}.hero__eyebrow{font-size:var(--text-caption);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.hero__title{margin-block:var(--space-1) var(--space-1);font-size:var(--text-headline-lg);font-weight:800;letter-spacing:-.02em}.hero__meta{margin-block-end:var(--space-4);font-size:var(--text-body-sm);color:var(--color-text-muted)}.hero__secondary{display:block;margin-block-start:var(--space-3);font-size:var(--text-body-sm);text-align:center;color:var(--color-text-muted);text-decoration:none;min-block-size:var(--tap-min);display:flex;align-items:center;justify-content:center}.hero__secondary:hover{color:var(--color-text)}.home-status{margin-block:var(--space-3);font-size:var(--text-body-sm);color:var(--color-text-muted);text-align:center}.home-status__streak{display:inline-flex;align-items:center;gap:4px;color:var(--color-warning);font-weight:600}.wide-link{display:flex;align-items:center;justify-content:space-between;min-block-size:var(--tap-min);margin-block-start:var(--space-4);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);text-decoration:none;font-size:var(--text-body-sm);font-weight:600}.wide-link:hover{border-color:var(--color-border-strong);background:var(--color-surface)}.routine-card,.exercise-row{display:flex;align-items:center;gap:var(--space-3);min-block-size:72px;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-decoration:none;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.routine-card:hover,.exercise-row:hover{border-color:var(--color-border-strong);background:var(--color-surface-high)}.routine-card__body,.exercise-row__body{flex:1;min-inline-size:0;display:grid;gap:1px}.routine-card__title,.exercise-row__name{font-size:var(--text-title-sm);font-weight:600;line-height:1.3}.routine-card__meta,.exercise-row__meta{font-size:var(--text-body-sm);color:var(--color-text-muted)}.routine-card__type{font-size:var(--text-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent)}.routine-card>.icon,.exercise-row>.icon{color:var(--color-text-muted)}.exercise-row__index{inline-size:20px;flex:none;font-size:var(--text-body-sm);font-weight:700;color:var(--color-text-muted);text-align:center;font-variant-numeric:tabular-nums}.exercise-image{border-radius:var(--radius-md);background:var(--color-surface-high);object-fit:cover}.exercise-image--thumb{inline-size:56px;block-size:56px;flex:none}.exercise-image--hero{inline-size:100%;block-size:auto;aspect-ratio:1;border-radius:var(--radius-lg)}.search{display:flex;align-items:center;gap:var(--space-2);min-block-size:var(--tap-min);padding-inline:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-muted)}.search:focus-within{border-color:var(--color-accent)}.search__input{flex:1;min-inline-size:0;background:none;border:none;outline:none;font-size:var(--text-body);color:var(--color-text)}.search__input::placeholder{color:var(--color-text-muted)}.search__input::-webkit-search-cancel-button{display:none}.result-count{margin-block-end:var(--space-2);font-size:var(--text-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.empty-state{padding:var(--space-4) var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center}.empty-state__title{font-size:var(--text-title-sm);font-weight:600}.empty-state__hint{margin-block-start:var(--space-2);font-size:var(--text-body-sm);color:var(--color-text-muted)}.level-description{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-body-sm);color:var(--color-text-muted)}.coach-list{display:grid;gap:var(--space-2)}.coach-card{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.coach-card--warn{border-color:color-mix(in srgb,var(--color-danger) 40%,transparent)}.coach-card__title{font-size:var(--text-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.coach-card--warn .coach-card__title{color:var(--color-danger)}.coach-card__text{margin-block-start:var(--space-1);font-size:var(--text-body-sm);line-height:1.55}.action-row{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-3)}.action-row>*{flex:1 1 auto}.progression{display:grid;gap:var(--space-2);counter-reset:step}.progression__item{display:grid;gap:2px;padding:var(--space-3);border-inline-start:3px solid var(--color-border-strong);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--color-surface)}.progression__item:nth-child(2){border-inline-start-color:var(--color-accent)}.progression__item:nth-child(3){border-inline-start-color:var(--color-warning)}.progression__item[data-active]{border-inline-start-width:5px;background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface))}.progression__level{font-size:var(--text-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.progression__item[data-active] .progression__level{color:var(--color-accent)}.progression__mine{font-weight:800}.progression__text{font-size:var(--text-body-sm);line-height:1.5}.mini-timer{display:grid;gap:var(--space-2);justify-items:center;inline-size:100%;padding:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface)}.mini-timer__label{font-size:var(--text-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.mini-timer__value{font-size:var(--text-display);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.mini-timer__controls{display:flex;gap:var(--space-2)}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.stat{display:grid;gap:2px;justify-items:center;padding:var(--space-3) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center}.stat__value{font-size:var(--text-headline-lg);font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.stat__label{font-size:var(--text-caption);color:var(--color-text-muted);text-wrap:balance}.calendar{display:grid;gap:var(--space-2)}.calendar__head,.calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar__head span{font-size:var(--text-caption);color:var(--color-text-muted);text-align:center}.calendar__cell{aspect-ratio:1;border-radius:var(--radius-sm);background:var(--color-surface);border:1px solid var(--color-border)}.calendar__cell[data-trained]{background:var(--color-accent);border-color:var(--color-accent)}.calendar__cell[data-future]{opacity:.3}.history-row{display:flex;align-items:center;gap:var(--space-3);min-block-size:60px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.history-row__body{flex:1;min-inline-size:0;display:grid;gap:1px}.history-row__title{font-size:var(--text-title-sm);font-weight:600}.history-row__meta{font-size:var(--text-body-sm);color:var(--color-text-muted)}.field{border:none;padding:0;margin:0}.field__label{padding:0;font-size:var(--text-title-sm);font-weight:600}.field__hint{font-size:var(--text-body-sm);color:var(--color-text-muted)}.toggle{display:flex;align-items:center;gap:var(--space-3);min-block-size:var(--tap-min);cursor:pointer}.toggle__text{flex:1;display:grid;gap:1px}.toggle__label{font-size:var(--text-title-sm);font-weight:600}.toggle__hint{font-size:var(--text-body-sm);color:var(--color-text-muted)}.toggle__input{position:absolute;opacity:0;inline-size:0;block-size:0}.toggle__track{flex:none;inline-size:52px;block-size:32px;padding:3px;border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--color-surface-high);transition:background-color var(--duration-base) var(--ease-standard)}.toggle__thumb{display:block;inline-size:24px;block-size:24px;border-radius:var(--radius-full);background:var(--color-text-muted);transition:transform var(--duration-base) var(--ease-standard),background-color var(--duration-base) var(--ease-standard)}.toggle__input:checked~.toggle__track{background:var(--color-accent);border-color:var(--color-accent)}.toggle__input:checked~.toggle__track .toggle__thumb{transform:translate(20px);background:var(--color-on-accent)}.toggle__input:focus-visible~.toggle__track{outline:3px solid var(--color-accent);outline-offset:2px}.training{display:grid;grid-template-rows:auto auto 1fr auto auto;min-block-size:100dvh;max-inline-size:var(--page-max);margin-inline:auto;padding:max(var(--space-2),env(safe-area-inset-top)) var(--space-3) max(var(--space-3),env(safe-area-inset-bottom));gap:var(--space-2)}.training__bar{display:flex;align-items:center;gap:var(--space-2);min-block-size:var(--tap-min)}.training__routine{flex:1;min-inline-size:0;font-size:var(--text-body-sm);font-weight:600;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training__round{font-size:var(--text-caption);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.training__progress{block-size:4px;border-radius:var(--radius-full);background:var(--color-surface-high);overflow:hidden}.training__progress-fill{display:block;block-size:100%;background:var(--color-accent);transition:inline-size var(--duration-base) linear}.training__stage{display:grid;gap:var(--space-2);align-content:center;justify-items:center;text-align:center;min-block-size:0}.training__phase{display:inline-flex;align-items:center;gap:var(--space-2);padding:4px var(--space-3);border-radius:var(--radius-full);border:1px solid currentColor;font-size:var(--text-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.training__phase[data-kind=work],.training__phase[data-kind=open]{color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 14%,transparent)}.training__phase[data-kind=rest],.training__phase[data-kind=roundRest]{color:var(--color-info);background:color-mix(in srgb,var(--color-info) 14%,transparent);border-style:dashed}.training__phase[data-kind=prepare]{color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.training__exercise{font-size:var(--text-headline-sm);font-weight:800;letter-spacing:-.01em;text-wrap:balance}.training__dose{font-size:var(--text-body-sm);color:var(--color-text-muted)}.training__variant{max-inline-size:32ch;font-size:var(--text-body-sm);line-height:1.4;color:var(--color-text-muted);text-wrap:balance}.training__variant-level{font-weight:800;color:var(--color-accent)}.training__figure{position:relative;inline-size:min(58vw,240px);border-radius:var(--radius-lg);overflow:hidden}.training__figure-hint{position:absolute;inset-block-end:0;inset-inline:0;padding:var(--space-1);background:color-mix(in srgb,var(--color-bg) 78%,transparent);font-size:var(--text-caption);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text)}.training__clock{font-size:clamp(4.5rem,22vw,6.5rem);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--color-text)}.training--rest .training__clock,.training--roundRest .training__clock{color:var(--color-info)}.training--prepare .training__clock{color:var(--color-warning)}.training__next{display:grid;gap:1px;font-size:var(--text-body-sm)}.training__next-label{font-size:var(--text-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.training__next-name{font-weight:600;color:var(--color-text)}.training__controls{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.control{display:grid;place-items:center;border-radius:var(--radius-full);transition:transform var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.control:active{transform:scale(.95)}.control:disabled{opacity:.3;pointer-events:none}.control--primary{inline-size:88px;block-size:88px;background:var(--color-accent);color:var(--color-on-accent)}.control--primary:hover{background:var(--color-accent-strong)}.control--secondary{inline-size:var(--tap-critical);block-size:var(--tap-critical);border:1px solid var(--color-border-strong);color:var(--color-text)}.control--secondary:hover{background:var(--color-surface)}.training__finish{min-block-size:var(--tap-min);font-size:var(--text-body-sm);font-weight:600;color:var(--color-text-muted)}.training__finish:hover{color:var(--color-danger)}.training__finish:disabled{opacity:.3;pointer-events:none}.training__hint{font-size:var(--text-caption);color:var(--color-warning);text-align:center}.training-done{display:grid;gap:var(--space-3);justify-items:center;align-content:center;min-block-size:100dvh;text-align:center;padding-block-end:var(--space-6)}.done-mark{display:grid;place-items:center;inline-size:88px;block-size:88px;border-radius:var(--radius-full);background:var(--color-accent);color:var(--color-on-accent)}.done__title{font-size:var(--text-headline-lg);font-weight:800}.done__routine{font-size:var(--text-body);color:var(--color-text-muted)}.done__coach{max-inline-size:30ch;font-size:var(--text-body-sm);color:var(--color-text-muted)}.done__actions{display:grid;gap:var(--space-2);inline-size:100%}.knee-check{display:grid;gap:var(--space-2);justify-items:center;inline-size:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);animation:fade var(--duration-base) var(--ease-standard)}.knee-check__title{max-inline-size:26ch;font-size:var(--text-body);font-weight:600}.knee-check__scale{display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:center}.knee-check__dot{min-inline-size:48px;min-block-size:48px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text);font-size:var(--text-body);font-weight:700;font-variant-numeric:tabular-nums}.knee-check__dot.is-selected{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}.knee-check__hint{max-inline-size:30ch;font-size:var(--text-body-sm);color:var(--color-text-muted)}.training-done .stat-grid{inline-size:100%}.sheet-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#0009;animation:fade var(--duration-base) var(--ease-standard)}.sheet{inline-size:100%;max-inline-size:var(--page-max);max-block-size:88dvh;overflow-y:auto;display:grid;gap:var(--space-3);padding:var(--space-4) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--color-surface-high);box-shadow:var(--elevation-3);animation:rise var(--duration-emphasis) var(--ease-decelerate)}.sheet--compact{text-align:center;justify-items:center}.sheet__head{display:flex;align-items:flex-start;gap:var(--space-3)}.sheet__title{flex:1;font-size:var(--text-headline-sm);font-weight:700}.sheet__dose{font-size:var(--text-body-sm);font-weight:600;color:var(--color-accent)}.sheet__body{font-size:var(--text-body-sm);color:var(--color-text-muted);max-inline-size:34ch}.sheet__actions{display:flex;gap:var(--space-2);inline-size:100%}.sheet__actions>*{flex:1}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}.update-prompt{position:fixed;z-index:50;inset-block-end:calc(var(--nav-height) + var(--space-2) + env(safe-area-inset-bottom));inset-inline:var(--space-3);max-inline-size:calc(var(--page-max) - var(--space-6));margin-inline:auto;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-surface-high);border:1px solid var(--color-border-strong);box-shadow:var(--elevation-3);font-size:var(--text-body-sm)}.update-prompt>span{flex:1}@media(min-width:720px){.stat-grid{gap:var(--space-3)}.training__figure{inline-size:260px}}
