@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceGrotesk-latin-ext-1.woff2) format("woff2");unicode-range:U+0100-02FF,U+1E00-1EFF,U+20A0-20CF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SpaceGrotesk-latin-2.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/SpaceGrotesk-latin-ext-10.woff2) format("woff2");unicode-range:U+0100-02FF,U+1E00-1EFF,U+20A0-20CF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/SpaceGrotesk-latin-11.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Geist-400-normal-4.woff2) format("woff2");unicode-range:U+0100-02FF,U+1E00-1EFF,U+20A0-20CF}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Geist-400-normal-5.woff2) format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/Geist-700-normal-19.woff2) format("woff2");unicode-range:U+0100-02FF,U+1E00-1EFF,U+20A0-20CF}@font-face{font-family:Geist;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/Geist-700-normal-20.woff2) format("woff2")}:root{color-scheme:dark;font-family:Geist,Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;font-synthesis:none;font-variant-numeric:tabular-nums;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-sans: "Geist", "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-heading: "Geist", "Inter", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--canvas: #0d0f14;--app-bg: #0d0f14;--surface: #141720;--surface-2: #1d222e;--surface-3: #262d3d;--text: #f3f4f6;--text-soft: #d9dfeb;--muted: #98a0b2;--muted-strong: #b6bfce;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .16);--accent: #5ba6ff;--accent-strong: #79b7ff;--accent-soft: rgba(91, 166, 255, .12);--blue: var(--accent);--blue-strong: var(--accent-strong);--blue-soft: var(--accent-soft);--blue-quiet: rgba(91, 166, 255, .06);--primary-bg: #5ba6ff;--primary-bg-hover: #79b7ff;--primary-fg: #071523;--control-bg: rgba(29, 34, 46, .78);--control-focus-bg: rgba(38, 45, 61, .95);--nav-bg: #141720;--card-bg: #141720;--card-shadow: 0 4px 20px rgba(0, 0, 0, .25);--gold: #ffb84d;--danger: #fb7185;--danger-soft: rgba(251, 113, 133, .14);--success: #3dd4bc;--shadow-float: 0 16px 40px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .35);--ease-out: cubic-bezier(.16, 1, .3, 1);--radius-control: .95rem;--radius-card: 1.375rem;--radius-nav: 1.6rem}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--app-bg);color:var(--text);font-family:var(--font-sans);scrollbar-color:var(--surface-3) var(--app-bg)}body{min-width:320px;min-height:100dvh;margin:0;background:radial-gradient(circle at 10% 0%,rgba(91,166,255,.12) 0,transparent 38rem),radial-gradient(circle at 90% 100%,rgba(56,189,248,.06) 0,transparent 42rem),var(--app-bg);overscroll-behavior-y:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.03em}button,input,select,textarea{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit}::selection{background:#5ba6ff57;color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--app-bg)}::-webkit-scrollbar-thumb{border:3px solid var(--app-bg);border-radius:10px;background:var(--surface-3)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100dvh}.app-main{position:relative;z-index:1;width:min(100%,32rem);min-height:100dvh;margin:0 auto;padding:calc(.75rem + env(safe-area-inset-top,0px)) 1rem calc(5.6rem + max(.75rem,env(safe-area-inset-bottom)))}.profile-button,.icon-action{display:grid;width:2.875rem;height:2.875rem;padding:0;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--control-bg);color:var(--muted-strong);cursor:pointer;text-decoration:none;transition:background-color .16s ease,color .16s ease,transform .12s var(--ease-out)}.profile-button:hover,.icon-action:hover{background:var(--surface-2);color:var(--text)}.profile-button:active,.icon-action:active{transform:scale(.95)}.profile-button svg,.icon-action svg{width:1.25rem;height:1.25rem;stroke-width:2.1}.view-stack{display:grid;gap:1.35rem}.view-enter{animation:view-enter .22s var(--ease-out) both}@keyframes view-enter{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.page-heading{display:flex;min-height:3.4rem;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.25rem}.page-heading h1{margin:0;font-family:var(--font-heading);font-size:1.9rem;font-weight:700;line-height:1;letter-spacing:-.04em}.page-heading p{max-width:28rem;margin:.45rem 0 0;color:var(--muted);font-size:.925rem;line-height:1.45}.section-heading-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.section-heading-row h2{margin:0;font-family:var(--font-heading);font-size:1.02rem;font-weight:700;letter-spacing:-.03em}.section-heading-row>span{color:var(--muted);font-size:.8rem}.primary-action,.secondary-action,.complete-set-action,.danger-action{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.55rem;border-radius:var(--radius-control);padding:.72rem 1.2rem;font-family:var(--font-heading);font-size:.95rem;font-weight:600;letter-spacing:.012em;line-height:1.25;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .16s ease,border-color .16s ease,transform .12s var(--ease-out),box-shadow .16s ease,color .16s ease}.primary-action{border:1px solid transparent;background:var(--primary-bg);color:var(--primary-fg);font-weight:700;letter-spacing:.015em;box-shadow:0 2px 10px color-mix(in srgb,var(--primary-bg) 25%,transparent)}.primary-action:hover{background:var(--primary-bg-hover);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-bg) 32%,transparent)}.primary-action:active,.secondary-action:active,.complete-set-action:active,.danger-action:active{transform:scale(.982)}.primary-action svg,.secondary-action svg,.complete-set-action svg{width:1.15rem;height:1.15rem;stroke-width:2.35}.secondary-action{border:1px solid var(--line-strong);background:var(--control-bg);color:var(--text)}.secondary-action:hover{background:var(--surface-2);border-color:var(--line-strong)}button:disabled{opacity:.5;cursor:not-allowed}.workout-launch{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:var(--radius-card);background:linear-gradient(135deg,var(--accent-soft),rgba(91,166,255,.02) 52%),var(--card-bg);box-shadow:var(--card-shadow);padding:1.2rem}.workout-launch:after{content:"";position:absolute;top:-5.5rem;right:-4.2rem;width:11rem;height:11rem;border-radius:50%;border:1px solid rgba(91,166,255,.11);box-shadow:0 18px 45px #0000002e;pointer-events:none}.workout-launch__topline{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.workout-launch__topline span{color:var(--blue-strong);font-size:.76rem;font-weight:700}.workout-launch__topline h2{margin:.3rem 0 0;font:700 1.55rem/1.05 Geist,system-ui,sans-serif;letter-spacing:-.035em}.workout-launch__topline>svg{width:2rem;height:2rem;color:var(--blue);stroke-width:1.65}.workout-launch>p{max-width:26rem;margin:.9rem 0 1.1rem;color:var(--text-soft);font-size:.9rem;line-height:1.45}.workout-launch__facts{display:flex;margin-bottom:1.1rem;gap:1rem;color:var(--muted);font-size:.78rem}.workout-launch__facts span{display:inline-flex;align-items:center;gap:.35rem}.workout-launch__facts svg{width:1rem;height:1rem}.workout-launch .primary-action{width:100%}.plan-picker{display:flex;flex-wrap:wrap;margin:0 0 1rem;gap:.45rem}.plan-picker button{min-height:2.4rem;border:1px solid var(--line);border-radius:.85rem;background:var(--control-bg);padding:.45rem .8rem;color:var(--muted-strong);font-size:.8rem;font-weight:650;cursor:pointer}.plan-picker button.is-selected,.plan-picker button[aria-selected=true]{border-color:color-mix(in srgb,var(--accent) 35%,transparent);background:var(--accent-soft);color:var(--accent-strong)}.week-rhythm{display:grid;gap:.9rem}.week-rhythm__days{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.week-rhythm__days div{display:grid;min-height:3.7rem;place-items:center;align-content:center;gap:.2rem;border-radius:12px;color:var(--muted);font-size:.75rem}.week-rhythm__days b{height:.85rem;color:var(--blue);font-size:1.25rem;line-height:.55}.week-rhythm__days .is-today{background:var(--blue-soft);color:var(--blue-strong);font-weight:700}.week-rhythm__days .is-trained b{color:var(--success)}.week-rhythm__days .is-trained:not(.is-today){color:var(--text-soft)}.last-session{display:grid;gap:.9rem;padding-top:1.35rem;border-top:1px solid var(--line)}.last-session__summary{display:grid;width:100%;grid-template-columns:1fr auto auto;align-items:center;gap:1.25rem;border:0;border-radius:var(--radius-control);background:transparent;padding:.2rem 0;color:inherit;text-align:left;cursor:pointer}.last-session__summary:disabled{cursor:default;opacity:1}.last-session__summary:hover:not(:disabled){color:var(--text)}.last-session__summary div{display:grid;gap:.25rem}.last-session__summary strong{font-size:.92rem}.last-session__summary span{color:var(--muted);font-size:.76rem}.last-session__summary svg{width:1.15rem;color:var(--muted)}.quiet-copy{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}.session-clock{display:inline-flex;min-width:6.5rem;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--control-bg);padding:.65rem .75rem;color:var(--text-soft);font-size:.88rem;font-variant-numeric:tabular-nums}.session-clock svg{width:1rem;height:1rem;color:var(--blue)}.session-progress{height:3px;overflow:hidden;border-radius:3px;background:var(--surface-2)}.session-progress span{display:block;height:100%;background:var(--blue)}.exercise-rail{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}.exercise-rail button{display:grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:.95rem;font-weight:700;cursor:pointer;transition:border-color .16s var(--ease-out),background-color .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}.exercise-rail button:active{transform:scale(.94)}.exercise-rail .is-current{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 18%,transparent)}.exercise-rail .is-done{border-color:#65d6bd47;color:var(--success)}.exercise-rail svg{width:1.1rem;height:1.1rem}.exercise-stage{display:grid;gap:1rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card-bg);padding:1.1rem 1.1rem 1.15rem;box-shadow:var(--card-shadow)}.exercise-stage__heading{display:grid;gap:.2rem}.exercise-stage__heading span{color:var(--blue-strong);font-size:.74rem;font-weight:700;letter-spacing:.02em}.exercise-stage__heading h2{margin:0;font:700 1.4rem/1.12 Geist,system-ui,sans-serif;letter-spacing:-.04em}.exercise-stage__heading p{margin:.15rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.4}.set-log{display:flex;flex-wrap:wrap;gap:.4rem}.set-log__item{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;padding:.3rem .65rem .3rem .4rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 80%,transparent);color:var(--text-soft);font-size:.78rem;font-variant-numeric:tabular-nums}.set-log__item strong{display:grid;width:1.35rem;height:1.35rem;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success);font-size:.72rem}.set-log__item span:last-child{color:var(--muted)}.progression-hint{margin:0!important;color:var(--accent-strong)!important;font-size:.78rem!important;font-weight:650;line-height:1.35!important}.set-logger{display:grid;gap:.8rem}.set-strip{display:flex;align-items:center;gap:.75rem;min-height:3.35rem;padding:.45rem .55rem .45rem .85rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface-2)}.set-strip__label{flex:0 0 auto;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.set-strip__markers{display:flex;flex:1;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.set-strip__mark{display:grid;width:2.55rem;height:2.55rem;place-items:center;border:1px solid var(--line);border-radius:.85rem;background:color-mix(in srgb,var(--surface-3) 70%,transparent);color:var(--muted-strong);font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}.set-strip__mark.is-current{border-color:var(--blue);background:var(--blue-soft);color:var(--blue-strong)}.set-strip__mark.is-done{border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 12%,var(--surface-2));color:var(--success)}.set-strip__mark svg{width:1.1rem;height:1.1rem;stroke-width:2.6}.set-controls{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;align-items:stretch}.set-control{display:grid;gap:.4rem;padding:.65rem .55rem .7rem;border:1px solid var(--line);border-radius:1rem;background:color-mix(in srgb,var(--surface-2) 78%,transparent)}.set-control>span{color:var(--muted);font-size:.68rem;font-weight:650;letter-spacing:.03em;text-align:center;text-transform:uppercase}.set-control__row{display:grid;grid-template-columns:2.55rem minmax(0,1fr) 2.55rem;align-items:center;gap:.25rem}.set-control__row>button{display:grid;width:2.55rem;height:2.55rem;place-items:center;border:1px solid var(--line);border-radius:.85rem;background:var(--surface-3);color:var(--text);cursor:pointer;transition:transform .12s var(--ease-out),background-color .16s var(--ease-out)}.set-control__row>button:active{transform:scale(.94)}.set-control__row>button:hover{background:color-mix(in srgb,var(--blue) 18%,var(--surface-3))}.set-control__row>button svg{width:1.05rem;height:1.05rem;stroke-width:2.4}.set-control__row>label{position:relative;display:grid;justify-items:center;gap:.05rem;min-width:0}.set-control__row input{width:100%;min-height:2.55rem;border:0;outline:0;background:transparent;color:var(--text);text-align:center;font:700 1.4rem/1 Geist,system-ui,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.set-control__row input:focus{color:var(--blue-strong)}.set-control__row em{color:var(--muted);font-style:normal;font-size:.64rem;font-weight:650}.progression-card{display:grid;gap:.75rem;padding:.85rem .95rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:var(--radius-control);background:color-mix(in srgb,var(--blue-soft) 55%,transparent)}.progression-card p{margin:0;color:var(--text-soft);font-size:.82rem;line-height:1.4;font-weight:550}.progression-card__done{color:var(--success)!important;font-weight:650!important}.complete-set-action{width:100%;min-height:3.35rem;border:1px solid transparent;border-radius:1.05rem;background:var(--primary-bg);color:var(--primary-fg);font-size:1rem;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 20px color-mix(in srgb,var(--primary-bg) 24%,transparent)}.complete-set-action:hover{background:var(--primary-bg-hover);border-color:transparent;box-shadow:0 10px 24px color-mix(in srgb,var(--primary-bg) 30%,transparent)}.exercise-done-actions{display:grid;gap:.6rem}.exercise-done-actions .primary-action,.exercise-done-actions .secondary-action{width:100%;border-radius:1.05rem;min-height:3.1rem}.session-footer{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.15rem}.session-footer__btn{display:inline-flex;min-height:2.85rem;align-items:center;justify-content:center;gap:.4rem;border:1px solid var(--line);border-radius:.95rem;background:color-mix(in srgb,var(--surface-2) 70%,transparent);color:var(--text-soft);font-family:var(--font-heading);font-size:.82rem;font-weight:650;cursor:pointer;transition:background-color .16s var(--ease-out),border-color .16s var(--ease-out),color .16s var(--ease-out),transform .12s var(--ease-out)}.session-footer__btn svg{width:1rem;height:1rem;stroke-width:2.3}.session-footer__btn:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--text)}.session-footer__btn:active{transform:scale(.98)}.session-footer__btn--quiet{color:var(--muted);border-color:transparent;background:transparent}.session-footer__btn--quiet:hover{color:#fecdd3;border-color:color-mix(in srgb,var(--danger) 28%,transparent);background:var(--danger-soft)}.session-footer:has(>:only-child){grid-template-columns:1fr}.text-action{justify-self:center;border:0;background:transparent;color:var(--muted);padding:.5rem;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}.text-action:hover{color:var(--text-soft);text-decoration-color:currentColor}.finish-confirmation{display:grid;gap:.8rem;margin-bottom:calc(5.5rem + env(safe-area-inset-bottom));scroll-margin-top:1rem;border:1px solid rgba(255,131,146,.25);border-radius:14px;background:#ff83920f;padding:.9rem}.finish-confirmation p{margin:0;color:var(--text-soft);font-size:.82rem;line-height:1.45}.finish-confirmation>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:.6rem}.finish-confirmation button{min-height:2.75rem}.danger-action{border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);background:var(--danger-soft);color:#fecdd3;font-weight:650}.rest-timer{position:relative;z-index:1;display:grid;width:100%;grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius-card);background:var(--nav-bg);padding:.65rem .7rem .65rem .9rem;box-shadow:var(--shadow-float);animation:timer-enter .22s var(--ease-out) both}@keyframes timer-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rest-timer>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.7rem}.rest-timer>div span{color:var(--muted);font-size:.72rem}.rest-timer>div strong{font:700 1.3rem/1 Geist,system-ui,sans-serif;font-variant-numeric:tabular-nums}.rest-timer>button{display:inline-flex;min-width:2.75rem;min-height:2.75rem;align-items:center;justify-content:center;gap:.2rem;border:0;border-radius:11px;background:var(--surface-2);color:var(--text-soft);font-size:.77rem;font-weight:700;cursor:pointer}.rest-timer>button svg{width:1rem;height:1rem}.rest-timer--done{border-color:#65d6bd59}.rest-timer--done>div strong{color:var(--success)}.active-session-link{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(91,166,255,.25);border-radius:14px;background:var(--blue-soft);padding:.9rem 1rem;color:var(--text);cursor:pointer}.active-session-link span{display:inline-flex;align-items:center;gap:.5rem;color:var(--blue-strong)}.active-session-link svg{width:1.15rem}.active-session-link strong{font-size:.85rem}.plan-list{display:grid;border-top:1px solid var(--line)}.plan-row{display:grid;grid-template-columns:2.7rem 1fr auto;gap:.75rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.plan-row__index{padding-top:.1rem;color:var(--blue);font:650 .78rem/1.4 Geist,system-ui,sans-serif}.plan-row__body h2{margin:0;font:700 1.2rem/1.15 Geist,system-ui,sans-serif;letter-spacing:-.03em}.plan-row__body>p{margin:.35rem 0 .8rem;color:var(--muted);font-size:.82rem}.plan-row__body>div{display:flex;gap:1rem;color:var(--muted-strong);font-size:.75rem}.plan-row__body>div span{display:inline-flex;align-items:center;gap:.3rem}.plan-row__body>div svg{width:.9rem;height:.9rem;color:var(--blue)}.plan-row__body ul{display:flex;flex-wrap:wrap;margin:.85rem 0 0;padding:0;gap:.45rem .8rem;list-style:none;color:var(--muted);font-size:.73rem}.plan-row>button{display:grid;width:2.875rem;height:2.875rem;place-items:center;border:0;border-radius:var(--radius-control);background:var(--primary-bg);color:var(--primary-fg);cursor:pointer}.plan-row>button svg{width:1.05rem}.plan-row__actions{display:flex;flex-wrap:wrap;margin-top:.85rem;gap:.45rem}.ghost-chip{display:inline-flex;min-height:2.1rem;align-items:center;gap:.35rem;border:1px solid var(--line);border-radius:10px;background:transparent;padding:.35rem .7rem;color:var(--muted-strong);font-size:.72rem;font-weight:650;cursor:pointer}.ghost-chip svg{width:.85rem;height:.85rem}.ghost-chip:hover{border-color:#5ba6ff59;color:var(--text)}.ghost-chip.is-danger{border-color:#ff839259;color:var(--danger)}.plan-editor,.inline-add{display:grid;gap:.9rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card-bg);box-shadow:var(--card-shadow);padding:1.1rem}.plan-editor label,.inline-add label,.food-form label{display:grid;gap:.45rem;color:var(--text);font-size:.925rem;font-weight:600}.plan-editor input,.plan-editor select,.inline-add input,.food-form input,.body-weight__row input{min-width:0;width:100%;min-height:3.25rem;border:1px solid var(--line);border-radius:var(--radius-control);outline:0;background:var(--control-bg);padding:.8rem .95rem;color:var(--text);font-size:1rem;transition:border-color .18s ease,background-color .18s ease}.plan-editor input:focus,.plan-editor select:focus,.inline-add input:focus,.food-form input:focus,.body-weight__row input:focus{border-color:var(--accent);background:var(--control-focus-bg)}.plan-editor input::placeholder,.food-form input::placeholder,.inline-add input::placeholder{color:var(--muted)}.plan-editor__exercises{display:grid;gap:.85rem}.plan-editor__exercises h3{margin:0;font:700 .95rem/1.2 Geist,system-ui,sans-serif}.plan-editor__add-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.plan-editor__add-row .secondary-action{width:100%}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.template-grid button{display:grid;gap:.25rem;min-height:4.2rem;align-content:center;border:1px solid var(--line);border-radius:12px;background:var(--canvas);padding:.7rem .75rem;color:var(--text);text-align:left;cursor:pointer}.template-grid button:hover{border-color:#5ba6ff66;background:var(--blue-quiet)}.template-grid b{font-size:.78rem;line-height:1.25}.template-grid small{color:var(--muted);font-size:.66rem;line-height:1.3}.exercise-draft{display:grid;gap:.75rem;border-top:1px solid var(--line);padding-top:.9rem}.exercise-draft__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.exercise-draft__top strong{font-size:.82rem;color:var(--text-soft)}.exercise-draft__grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.inline-add>div:last-child{display:grid;grid-template-columns:.85fr 1.15fr;gap:.6rem}.nutrition-balance{display:grid;grid-template-columns:minmax(8rem,.7fr) 1.3fr;gap:1.2rem;align-items:center;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card-bg);box-shadow:var(--card-shadow);padding:1.15rem}.nutrition-balance__main{display:grid}.nutrition-balance__main>span{color:var(--muted);font-size:.76rem}.nutrition-balance__main>strong{margin-top:.15rem;font:700 clamp(2.4rem,10vw,3.2rem)/1 "Geist",system-ui,sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.nutrition-balance__main small{margin-top:.35rem;color:var(--muted)}.nutrition-balance__tracks{display:grid;gap:1.05rem}.nutrition-balance__tracks>div{display:grid;gap:.5rem}.nutrition-balance__tracks span{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.74rem}.nutrition-balance__tracks span b{margin-left:auto;color:var(--text-soft)}.nutrition-balance__tracks svg{width:.95rem;height:.95rem;color:var(--blue)}.nutrition-balance__tracks i{display:block;height:5px;overflow:hidden;border-radius:5px;background:var(--surface-3)}.nutrition-balance__tracks em{display:block;height:100%;border-radius:inherit;background:var(--blue)}.quick-foods{display:grid;gap:.8rem}.quick-foods>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.quick-foods button{display:grid;min-height:6.4rem;align-content:space-between;gap:.7rem;border:1px solid var(--line);border-radius:14px;background:transparent;padding:.8rem;color:var(--text);text-align:left;cursor:pointer}.quick-foods button:hover{border-color:#5ba6ff59;background:var(--blue-quiet)}.quick-foods button>svg{width:1.05rem;height:1.05rem;color:var(--blue)}.quick-foods button span{display:grid;gap:.25rem}.quick-foods button b{font-size:.78rem}.quick-foods button small{color:var(--muted);font-size:.65rem;line-height:1.35}.food-form{display:grid;gap:.9rem;border-top:1px solid var(--line);padding-top:1.35rem}.food-form h2{margin:0;font:700 1.02rem/1.2 Geist,system-ui,sans-serif}.food-form>div{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.food-log{display:grid;gap:.8rem}.food-log ul,.history-list ul{margin:0;padding:0;list-style:none}.food-log li,.records-list li{display:grid;grid-template-columns:1fr auto auto;min-height:3.9rem;align-items:center;gap:.75rem;border-top:1px solid var(--line)}.history-list li{border-top:1px solid var(--line)}.records-list li{grid-template-columns:1fr auto}.food-log li span,.history-list__row span,.records-list li span{display:grid;gap:.2rem}.food-log li b,.history-list__row b,.records-list li b{font-size:.84rem}.food-log li small,.history-list__row small,.records-list li small{color:var(--muted);font-size:.72rem}.food-log li>strong,.history-list__row>strong,.records-list li>strong{font-size:.82rem;font-variant-numeric:tabular-nums}.food-log .icon-action{width:2.35rem;height:2.35rem}.records-list{display:grid;gap:.8rem}.records-list ul{margin:0;padding:0;list-style:none}.body-weight{display:grid;gap:.85rem}.body-weight__row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.65rem}.body-weight__row>svg{width:1.2rem;height:1.2rem;color:var(--accent)}.body-weight__row>span{color:var(--muted);font-size:.82rem}.body-weight__row .secondary-action{min-height:3.25rem;padding-inline:1rem}.empty-state{display:grid;justify-items:center;border:1px dashed var(--line-strong);border-radius:var(--radius-card);padding:2.1rem 1.2rem;text-align:center;background:color-mix(in srgb,var(--surface) 70%,transparent)}.empty-state__icon{display:grid;width:3rem;height:3rem;margin-bottom:1rem;place-items:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface-2);color:var(--accent)}.empty-state__icon svg{width:1.55rem;height:1.55rem}.empty-state h2{margin:0;font:700 1.15rem/1.25 Geist,system-ui,sans-serif}.empty-state__body{max-width:25rem;margin:.55rem 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.empty-state .primary-action{margin-top:1.2rem}.progress-lead{display:flex;min-height:8.4rem;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(135deg,var(--accent-soft),transparent),var(--card-bg);box-shadow:var(--card-shadow);padding:1.2rem}.progress-lead div{display:grid;gap:.25rem}.progress-lead span{color:var(--muted);font-size:.78rem}.progress-lead strong{font:700 2.4rem/1 Geist,system-ui,sans-serif;letter-spacing:-.04em}.progress-lead strong small{color:var(--muted-strong);font-size:.9rem}.progress-lead>svg{width:2rem;height:2rem;color:var(--gold);stroke-width:1.6}.progress-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.progress-metrics>div{display:grid;min-height:7.6rem;align-content:center;gap:.35rem;border-top:1px solid var(--line)}.progress-metrics svg{width:1.1rem;height:1.1rem;color:var(--blue)}.progress-metrics strong{margin-top:.4rem;font:700 1.4rem/1 Geist,system-ui,sans-serif}.progress-metrics span{color:var(--muted);font-size:.74rem}.history-list{display:grid;gap:.8rem}.history-list__row{display:grid;width:100%;grid-template-columns:1fr auto auto;min-height:3.9rem;align-items:center;gap:.75rem;border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}.history-list__row:hover strong{color:var(--accent-strong)}.history-list__row svg{width:1.1rem;color:var(--muted)}.session-detail__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.session-detail__stats>div{display:grid;gap:.3rem;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--card-bg);padding:.85rem .75rem}.session-detail__stats span{color:var(--muted);font-size:.72rem}.session-detail__stats strong{font:700 1.05rem/1 var(--font-heading);letter-spacing:-.03em}.session-detail__exercises{display:grid;gap:.95rem}.session-exercise{display:grid;gap:.75rem;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--card-bg);padding:1rem;box-shadow:var(--card-shadow)}.session-exercise header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.session-exercise header span{color:var(--accent-strong);font-size:.74rem;font-weight:700}.session-exercise header h3{margin:.25rem 0 0;font:700 1.1rem/1.2 var(--font-heading);letter-spacing:-.03em}.session-exercise header strong{color:var(--text-soft);font-size:.85rem;font-variant-numeric:tabular-nums}.bottom-nav{position:fixed;z-index:50;right:0;bottom:max(.75rem,env(safe-area-inset-bottom));left:0;width:calc(100% - 2rem);max-width:30rem;margin:0 auto;border:1px solid var(--line-strong);border-radius:var(--radius-nav);background:var(--nav-bg);padding:.375rem;box-shadow:var(--shadow-float)}.bottom-nav__track{position:relative;display:flex;width:100%;align-items:center;justify-content:space-between}.bottom-nav__indicator{pointer-events:none;position:absolute;inset-block:0;left:0;width:25%;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:1.2rem;background:var(--accent-soft);transition:transform .26s var(--ease-out);transform:translateZ(0)}.bottom-nav__item{position:relative;z-index:1;display:flex;min-width:0;min-height:3.65rem;flex:1;align-items:center;justify-content:center;border:0;border-radius:1.2rem;background:transparent;padding:.35rem .25rem;color:var(--muted);cursor:pointer}.bottom-nav__item>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transition:color .2s ease,transform .2s ease}.bottom-nav__item>span.is-selected{color:var(--accent);transform:translateY(-1px) scale(1.025)}.bottom-nav__item svg{width:1.5rem;height:1.5rem}.bottom-nav__item>span>span{overflow:hidden;max-width:100%;text-overflow:ellipsis;font-size:.72rem;font-weight:600;letter-spacing:.01em;line-height:1}.bottom-nav__item>span.is-selected>span{font-weight:700}.storage-warning{position:fixed;z-index:80;top:max(.75rem,env(safe-area-inset-top));left:50%;display:grid;width:min(calc(100% - 1.5rem),42rem);grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;transform:translate(-50%);border:1px solid rgba(255,131,146,.32);border-radius:14px;background:#21171c;padding:.75rem;box-shadow:var(--shadow-float)}.storage-warning>svg{width:1.25rem;color:var(--danger)}.storage-warning>div{display:grid;gap:.15rem}.storage-warning strong{font-size:.75rem}.storage-warning span{color:#dfb4bc;font-size:.68rem}.storage-warning button{border:0;background:transparent;color:var(--danger);font-size:.72rem;font-weight:700;cursor:pointer}.form-error{margin:.75rem 0 0;color:var(--danger);font-size:.78rem;line-height:1.4}.app-loading{display:flex;min-height:100dvh;align-items:center;justify-content:center;gap:.35rem}.app-loading span{width:.45rem;height:.45rem;border-radius:50%;background:var(--blue);animation:loading-pulse .9s ease-in-out infinite alternate}.app-loading span:nth-child(2){animation-delay:.15s}.app-loading span:nth-child(3){animation-delay:.3s}@keyframes loading-pulse{0%{opacity:.25;transform:translateY(3px)}to{opacity:1;transform:translateY(-3px)}}@media(max-width:430px){.app-main{padding-right:1rem;padding-left:1rem}.nutrition-balance{grid-template-columns:1fr}.nutrition-balance__main{grid-template-columns:auto 1fr;align-items:baseline;column-gap:.5rem}.nutrition-balance__main small{grid-column:1 / -1}.quick-foods>div:last-child{grid-template-columns:1fr}.quick-foods button{min-height:auto;grid-template-columns:auto 1fr;align-items:center}.rest-timer>div{grid-template-columns:1fr;gap:.1rem}.rest-timer>div strong{font-size:1.15rem}.set-control__row{grid-template-columns:2.35rem minmax(0,1fr) 2.35rem}.set-control__row>button{width:2.35rem;height:2.35rem}.set-control__row input{font-size:1.25rem;min-height:2.35rem}.body-weight__row{grid-template-columns:auto 1fr auto}.body-weight__row .secondary-action{grid-column:1 / -1}.template-grid{grid-template-columns:1fr}}@media(min-width:40rem){.app-main{padding-inline:1.25rem}.view-stack{gap:1.5rem}.workout-launch{padding:1.35rem}.exercise-stage{padding:1.3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view-enter,.rest-timer,.app-loading span{animation:none}.bottom-nav__indicator{transition:none}.profile-button:active,.icon-action:active{transform:none}}
