@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/montserrat-800.woff2) format("woff2")}:root{--color-obsidian: #0a0a0b;--color-basalt: #141619;--color-graphite: #1d2126;--color-slate-vein: #2a3038;--color-quartz-dust: #e7e7e2;--color-ash: #a7adb5;--color-stone-fog: #727983;--color-malachite: #3faf7a;--color-malachite-dark: #349966;--color-pyrite: #b08d2f;--color-azurite: #3b6fa1;--color-iron-oxide: #a54747;--color-amber-quartz: #c68a2b;--color-logo-concrete: #9a9a94;--color-logo-concrete-light: #b8b8b2;--color-logo-concrete-dark: #3e4144;--color-silver: #c9d2dc;--color-silver-bright: #e6ebf0;--color-silver-dim: #aab4bf;--color-chalk-bright: #ffffff;--color-chalk: #f3f4f0;--color-chalk-dim: #d8dbd4;--color-emerald-ore: #3daa68;--color-oxidized-copper: #5d8b84;--bg: var(--color-obsidian);--surface: var(--color-basalt);--surface-2: var(--color-graphite);--line: var(--color-slate-vein);--text: var(--color-quartz-dust);--muted: var(--color-ash);--disabled: var(--color-stone-fog);--accent: var(--color-silver);--accent-press: var(--color-silver-dim);--accent-ink: #07100b;--success: var(--color-emerald-ore);--training: var(--color-oxidized-copper);--danger: var(--color-iron-oxide);--pyrite: var(--color-pyrite);--azurite: var(--color-azurite);--azurite-text: #6e9bc9;--warning: var(--color-amber-quartz);--m-chest: #c56b54;--m-back: #4f89c4;--m-shoulders: #d49b3c;--m-biceps: #45b07c;--m-triceps: #5fa396;--m-quads: #9580bc;--m-hamstrings: #b5764a;--m-glutes: #c77b92;--m-calves: #56a2a8;--m-core: #bdb7a4;--m-traps: #8fa86e;--m-cardio: #97a1ac;--radius: 10px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.app{min-height:100%}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;max-width:560px;margin:0 auto;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.navbtn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;color:var(--disabled);padding:9px 0 7px;font-size:11px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.navbtn svg{width:24px;height:24px}.navbtn.on{color:var(--accent)}.with-nav .timerbar{bottom:calc(58px + env(safe-area-inset-bottom))}.topbar .account-handle{margin-left:auto}.status-card{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.status-dot{width:12px;height:12px;border-radius:50%;flex:0 0 auto}.status-label{font-size:18px;font-weight:800}.status-card.green .status-dot{background:var(--training);box-shadow:0 0 0 4px #5d8b842e}.status-card.green .status-label{color:var(--training)}.status-card.amber .status-dot{background:var(--warning);box-shadow:0 0 0 4px #c68a2b2e}.status-card.amber .status-label{color:var(--warning)}.status-card.red .status-dot{background:var(--danger);box-shadow:0 0 0 4px #a547472e}.status-card.red .status-label{color:var(--danger)}.home-action{width:100%;padding:16px;font-size:16px;margin-bottom:18px}.track-run-btn{width:100%;margin-bottom:16px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:15px;font-weight:700;padding:13px}.track-run-btn svg{color:var(--accent)}.run-tracker{display:flex;flex-direction:column}.run-mode{display:flex;gap:8px;justify-content:center;margin:6px 0 4px}.run-mode .chip{flex:0 0 auto;padding:8px 22px}.run-main{display:flex;flex-direction:column;align-items:center;padding:24px 0 16px}.run-distance{font-size:84px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}.run-distance-unit{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-top:2px}.run-metrics{display:flex;width:100%;margin-top:28px}.run-metric{flex:1;text-align:center}.run-metric-val{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}.run-metric-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-top:2px}.run-gps{margin-top:26px;font-size:13px;font-weight:700;color:var(--success)}.run-gps.err{color:var(--warning)}.run-controls{display:flex;gap:10px;margin-top:auto;padding:16px 0 8px}.run-controls .btn{flex:1;padding:18px;font-size:17px}.run-pause{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.run-finish{background:var(--danger);color:#f5f5f0}.run-note{text-align:center}.account-col{display:flex;flex-direction:column;align-items:center;gap:4px;margin-left:auto}.pfp-btn{width:38px;height:38px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.pfp-btn:active{background:var(--line)}.build-row{display:flex;gap:10px;margin-bottom:18px}.build-btn{flex:1;padding:16px 8px;font-size:14px;white-space:nowrap}.build-scratch{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.profile-id{display:flex;flex-direction:column;align-items:center;gap:5px;margin:2px 0 12px}.profile-id .profile-avatar{width:56px;height:56px;font-size:24px;margin-bottom:0}.form-card{display:flex;flex-direction:column;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field-row{display:flex;gap:12px}.field-row>.field{flex:1;min-width:0}.field-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dual-input{display:flex;align-items:center;gap:6px}.dual-input>select{flex:1 1 0;min-width:0}.dob-row{display:flex;gap:8px}.dob-row select{flex:1;min-width:0;text-align:center;text-align-last:center;padding-left:8px;padding-right:8px}.unit-tag{color:var(--muted);font-size:14px;font-weight:600}.bmi-box{display:flex;align-items:center;justify-content:center;min-height:0;height:33px;padding:0 8px;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;font-size:18px;font-weight:800;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.bmi-box.low{color:var(--azurite-text)}.bmi-box.good{color:var(--success)}.bmi-box.warn{color:var(--warning)}.bmi-box.high{color:var(--danger)}.bmi-card{margin-top:14px}.bmi-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.bmi-value{font-size:38px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text)}.bmi-badge{font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.3px}.bmi-badge.low{background:color-mix(in srgb,var(--azurite) 16%,var(--surface-2));color:var(--azurite-text)}.bmi-badge.good{background:color-mix(in srgb,var(--success) 16%,var(--surface-2));color:var(--success)}.bmi-badge.warn{background:color-mix(in srgb,var(--warning) 16%,var(--surface-2));color:var(--warning)}.bmi-badge.high{background:color-mix(in srgb,var(--danger) 16%,var(--surface-2));color:var(--danger)}.profile-note{text-align:center;margin-top:14px}.wizard-steps{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:4px 2px 6px}.wizard-q{font-size:20px;font-weight:800;margin:6px 2px 14px}.goal-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.goal-card{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;cursor:pointer;color:var(--text);-webkit-tap-highlight-color:transparent}.goal-card:active{background:var(--surface-2)}.goal-card.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.goal-title{font-size:16px;font-weight:800}.goal-blurb{font-size:13px;color:var(--muted)}.plan-card{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.plan-goal{margin:0;font-size:15px;color:var(--text)}.plan-row{display:flex;justify-content:space-between;font-size:14px;color:var(--muted)}.plan-key{font-weight:700;color:var(--muted);text-transform:uppercase;font-size:12px;letter-spacing:.4px}.plan-workout{border-top:1px solid var(--line);padding-top:10px}.plan-wname{font-weight:800;margin-bottom:4px}.plan-lifts{margin:0;padding-left:18px;color:var(--text);font-size:14px}.plan-lifts li{margin:2px 0;font-variant-numeric:tabular-nums}.plan-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}.plan-note .plan-key{margin-right:6px}.section-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:6px 2px 10px}.home-footer{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}.home-footer .data-controls{margin-top:0;padding-top:0;border-top:none}.select.wide{max-width:none;width:100%}.profile-avatar.sm{width:40px;height:40px;font-size:18px;margin-bottom:0}.people-note{text-align:center;margin-top:22px}.screen{max-width:560px;margin:0 auto;padding:env(safe-area-inset-top) 16px calc(120px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:10px;padding:16px 0 8px;position:sticky;top:0;background:linear-gradient(var(--bg) 70%,transparent);z-index:5}.wordmark{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:800;font-size:30px;letter-spacing:-1px;text-transform:lowercase;margin:0;color:#f2f1ec;-webkit-text-fill-color:#f2f1ec;filter:url(#chalk-fill)}.screen-title{font-size:22px;font-weight:800;color:var(--text)}.wordmark-link{text-decoration:none}.auth-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center}.auth-hero{max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;padding-bottom:60px}.auth-wordmark{font-size:44px}.auth-tag{font-size:18px;font-weight:600;margin:0}.auth-fine{color:var(--muted);font-size:13px;margin:0}.btn.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;font-weight:600;font-size:15px;padding:13px 18px;width:100%;margin-top:6px}.btn.google-btn:active{background:#f1f1f1}.auth-signout{margin-top:4px}.claim-row{display:flex;align-items:center;width:100%;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:4px 4px 4px 12px;margin-top:6px}.claim-prefix{color:var(--muted);font-size:15px;white-space:nowrap}.claim-input{border:none;background:transparent;padding:10px 6px;flex:1;min-width:0}.claim-input:focus{border:none}.claim-btn{width:100%;padding:14px}.claim-error{color:var(--danger);font-size:13px;margin:0}.account-bar{display:flex;align-items:center;justify-content:space-between;padding:0 2px 10px}.account-handle{color:var(--muted);font-weight:700;text-decoration:none;font-size:14px}.profile-head{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center}.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;margin-bottom:6px}.profile-bio{max-width:320px;color:var(--text)}.title-edit{flex:1;margin:0}.subbar{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 10px}.subbar-center{position:relative}.subbar-center .subbar-title{position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.subbar-spacer{width:56px;flex:0 0 auto}.input{width:100%;background:var(--surface-2);border:1px solid var(--line);color:var(--text);border-radius:12px;padding:12px 14px;font-size:16px;outline:none}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--disabled)}.input.flush{background:transparent;border:none;padding:6px 0;font-size:20px;font-weight:700}.input.flush:focus{border-bottom:1px solid var(--accent);border-radius:0}.input.num{text-align:center;background:transparent;border:none;border-radius:0;padding:14px 4px;font-variant-numeric:tabular-nums;font-weight:700;font-size:17px;color:var(--text);font-family:inherit;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent}.input.num.kp-active{background:var(--surface-2);border-radius:8px;outline:1.5px solid var(--accent)}.keypad{position:fixed;left:0;right:0;bottom:0;z-index:60;max-width:560px;margin:0 auto;background:var(--surface);border-top:1px solid var(--line);padding:10px 10px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;box-shadow:0 -6px 24px #00000073}.keypad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.key{background:var(--surface-2);border:1px solid var(--line);color:var(--text);font-size:22px;font-weight:700;padding:15px 0;border-radius:10px;cursor:pointer;-webkit-tap-highlight-color:transparent}.key:active{background:var(--line)}.key:disabled{opacity:.3;cursor:default}.keypad-done{padding:15px;font-size:16px}.addrow{display:flex;gap:8px;margin:10px 0 18px}.addrow .input{flex:1}.btn{border:none;border-radius:12px;padding:12px 16px;font-size:15px;font-weight:600;color:var(--text);background:var(--surface-2);cursor:pointer;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn.primary{color:var(--accent-ink);background:linear-gradient(180deg,var(--color-silver-bright) 0%,var(--color-silver) 50%,var(--color-silver-dim) 100%);border:1px solid rgba(0,0,0,.18);box-shadow:inset 0 1px #ffffff80}.btn.primary:active{background:linear-gradient(180deg,var(--color-silver) 0%,var(--color-silver-dim) 100%);box-shadow:inset 0 1px 2px #0003}.btn.ghost{background:transparent;color:var(--muted)}.btn.ghost.danger{color:var(--danger);padding:8px 10px}.btn.small{padding:6px 10px;font-size:13px}.btn.tiny{padding:4px 8px;font-size:13px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.card.row{display:flex;align-items:center;gap:8px;cursor:pointer}.card.row:active{background:var(--surface-2)}.card.row.sel{border-color:var(--accent)}.grow,.timer-mid{flex:1}.card-title{font-size:18px;font-weight:700}.chev{color:var(--muted);font-size:26px;line-height:1}.muted{color:var(--muted)}.small{font-size:13px}.empty{color:var(--muted);text-align:center;padding:40px 20px;line-height:1.5}.overload-btn{width:100%;text-align:left;border:none;cursor:pointer;margin:8px 0 2px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--text);-webkit-tap-highlight-color:transparent}.overload-btn b{font-weight:800}.overload-btn.up{background:color-mix(in srgb,var(--success) 16%,var(--surface-2));color:color-mix(in srgb,var(--success) 70%,var(--text))}.overload-btn.up b{color:var(--success)}.overload-btn.hold{background:var(--surface-2);color:var(--muted)}.overload-btn:active{filter:brightness(1.15)}.up-next-badge{display:inline-block;margin-left:8px;vertical-align:middle;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--accent-ink);background:var(--accent);padding:2px 8px;border-radius:999px}.card.row.up-next{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.exercise{margin:0 -16px 12px;border:none;border-radius:0;padding:16px;--chip-soft: color-mix(in srgb, var(--chip, var(--accent)) 58%, var(--color-ash))}.ex-head{display:flex;align-items:center;gap:8px}.ex-name{flex:1;font-size:18px;min-width:0}.rest-set{display:flex;align-items:center;gap:6px;margin-top:6px;justify-content:flex-end}.rest-set .muscle-chip{margin-right:auto}.inline-rest{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.inline-rest-time{font-weight:800;font-variant-numeric:tabular-nums;color:var(--accent);font-size:17px;min-width:46px}.inline-rest-track{flex:1;min-width:0;height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.inline-rest-fill{height:100%;background:var(--chip-soft, var(--accent));border-radius:999px;transition:width .25s linear}.step.wide{width:auto;padding:0 9px;font-size:13px}.step{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center}.step.big{width:auto;padding:0 14px;height:44px;font-size:15px}.rest-val{min-width:48px;background:var(--surface-2);border:1px solid var(--line);color:var(--accent);border-radius:8px;padding:5px 8px;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer}.sets{margin:12px 0 6px}.set-row{display:grid;grid-template-columns:22px repeat(4,1fr);gap:6px;align-items:center;padding:0;border-bottom:1px solid var(--line)}.set-swipe:last-child .set-row{border-bottom:none}.set-row.cardio{grid-template-columns:22px .7fr 1fr 1fr .8fr .8fr}.set-speed{text-align:center;font-weight:700;font-size:16px;color:var(--muted);font-variant-numeric:tabular-nums}.set-num{text-align:center;color:var(--muted);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.swipeable{position:relative;overflow:hidden}.program-swipe,.session-swipe{border-radius:var(--radius)}.swipe-actions{position:absolute;top:0;right:0;bottom:0;display:flex}.swipe-delete,.swipe-rename,.swipe-change{width:84px;height:100%;border:none;color:#f5f5f0;font-size:14px;font-weight:700;cursor:pointer}.swipe-delete{background:var(--danger)}.swipe-rename{background:var(--azurite)}.swipe-change{background:var(--success)}.swipe-content{position:relative;background:var(--surface);touch-action:pan-y;will-change:transform}.set-row.head{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;padding-bottom:6px}.set-row.head span{text-align:center}.set-idx{text-align:center;color:var(--muted);font-weight:700}.set-row.is-done .input.num{color:var(--chip-soft, var(--success))}.set-done{text-align:center}.check{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);background:transparent;color:var(--accent);font-size:16px;font-weight:800;cursor:pointer;margin:0 auto;display:flex;align-items:center;justify-content:center}.check.on{background:var(--chip-soft, var(--success));color:var(--accent-ink);border-color:var(--chip-soft, var(--success))}.add-set{width:100%;background:var(--surface-2);color:var(--accent);margin-top:8px}.ex-actions{display:flex;gap:8px;margin-top:10px}.ex-actions .btn{flex:1;margin-top:0}.add-note-btn{background:var(--surface-2);color:var(--muted)}.add-note-btn.has{color:var(--accent)}.note-panel{display:flex;flex-direction:column;gap:8px;margin-top:10px}.effort-row{display:flex;gap:6px}.effort{flex:1;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:10px;padding:9px 4px;font-size:12px;font-weight:700;cursor:pointer}.effort.on.light{background:var(--azurite);color:#04222e;border-color:var(--azurite)}.effort.on.right{background:var(--success);color:var(--accent-ink);border-color:var(--success)}.effort.on.hard{background:var(--warning);color:#2a1f00;border-color:var(--warning)}.effort.on.heavy{background:var(--danger);color:#f5f5f0;border-color:var(--danger)}.note-input{resize:vertical;min-height:46px;font-family:inherit;font-size:14px;line-height:1.4}.note-actions{display:flex;gap:8px;justify-content:flex-end}.note-display-swipe{margin-top:10px}.note-display{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface-2);border:none;border-radius:10px;padding:12px 14px;text-align:left;cursor:pointer;color:var(--text)}.effort-tag{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;flex:0 0 auto}.effort-tag.light{background:var(--azurite);color:#04222e}.effort-tag.right{background:var(--success);color:var(--accent-ink)}.effort-tag.hard{background:var(--warning);color:#2a1f00}.effort-tag.heavy{background:var(--danger);color:#f5f5f0}.note-text{flex:1;min-width:0;font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-edit-hint{font-size:12px;color:var(--accent);font-weight:600;flex:0 0 auto}.add-exercise-btn{width:100%;background:var(--surface-2);color:var(--accent);margin:10px 0 18px;padding:14px}.muscle-chip{--chip: var(--accent);background:color-mix(in srgb,var(--chip) 18%,var(--surface-2));border:none;color:var(--chip);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:7px 10px;border-radius:8px;white-space:nowrap}.muscle-chip.m-chest{--chip: var(--m-chest)}.muscle-chip.m-back{--chip: var(--m-back)}.muscle-chip.m-shoulders{--chip: var(--m-shoulders)}.muscle-chip.m-biceps{--chip: var(--m-biceps)}.muscle-chip.m-triceps{--chip: var(--m-triceps)}.muscle-chip.m-quads{--chip: var(--m-quads)}.muscle-chip.m-hamstrings{--chip: var(--m-hamstrings)}.muscle-chip.m-glutes{--chip: var(--m-glutes)}.muscle-chip.m-calves{--chip: var(--m-calves)}.muscle-chip.m-core{--chip: var(--m-core)}.muscle-chip.m-traps{--chip: var(--m-traps)}.muscle-chip.cardio{--chip: var(--m-cardio)}.picker-page{max-width:560px;margin:0 auto;min-height:100vh;background:var(--bg)}.picker-top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.sheet-title{font-size:18px;font-weight:800}.sheet-search{padding:4px 16px 8px;display:flex;gap:8px;align-items:center}.sheet-search .input{flex:1;min-width:0}.add-new{flex:0 0 auto;background:var(--surface-2);color:var(--accent);padding:12px 14px;white-space:nowrap}.create-panel{display:flex;flex-direction:column;gap:8px;padding:14px;margin:12px 0;border:1px solid var(--accent);border-radius:12px;background:var(--surface)}.create-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.create-actions .select{flex:1}.create-field{display:flex;flex-direction:column;gap:6px}.create-secondary{padding:0}.create-secondary .chip{flex:0 0 auto}.chip:disabled{opacity:.3;cursor:default}.chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 16px 12px}.chip{flex:1 1 auto;border:none;background:var(--surface-2);color:var(--muted);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;text-align:center}.chip.on{background:var(--accent);color:var(--accent-ink)}.chip.is-muscle{color:var(--chip);background:color-mix(in srgb,var(--chip) 18%,var(--surface-2))}.chip.is-muscle.on{background:var(--chip);color:var(--accent-ink)}.chip.is-muscle.m-chest{--chip: var(--m-chest)}.chip.is-muscle.m-back{--chip: var(--m-back)}.chip.is-muscle.m-shoulders{--chip: var(--m-shoulders)}.chip.is-muscle.m-biceps{--chip: var(--m-biceps)}.chip.is-muscle.m-triceps{--chip: var(--m-triceps)}.chip.is-muscle.m-quads{--chip: var(--m-quads)}.chip.is-muscle.m-hamstrings{--chip: var(--m-hamstrings)}.chip.is-muscle.m-glutes{--chip: var(--m-glutes)}.chip.is-muscle.m-calves{--chip: var(--m-calves)}.chip.is-muscle.m-core{--chip: var(--m-core)}.chip.is-muscle.m-traps{--chip: var(--m-traps)}.m-chest{--chip: var(--m-chest)}.m-back{--chip: var(--m-back)}.m-shoulders{--chip: var(--m-shoulders)}.m-biceps{--chip: var(--m-biceps)}.m-triceps{--chip: var(--m-triceps)}.m-quads{--chip: var(--m-quads)}.m-hamstrings{--chip: var(--m-hamstrings)}.m-glutes{--chip: var(--m-glutes)}.m-calves{--chip: var(--m-calves)}.m-core{--chip: var(--m-core)}.m-traps{--chip: var(--m-traps)}.cardio{--chip: var(--m-cardio)}.chips-region{padding-bottom:6px}.chip.region{font-weight:700}.sheet-list{padding:0 16px calc(40px + env(safe-area-inset-bottom))}.lift-row{display:flex;align-items:center;gap:10px;width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:14px 2px;cursor:pointer;text-align:left;color:var(--text)}.lift-row:active{background:var(--surface)}.lift-divider{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:var(--surface);padding:14px 2px 8px}.lift-row.ancillary{background:var(--surface)}.lift-row.ancillary:active{background:var(--surface-2)}.lift-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.lift-name{font-size:16px;font-weight:700;color:color-mix(in srgb,var(--chip, var(--text)) 58%,var(--color-ash))}.lift-tags{display:flex;flex-wrap:wrap;gap:5px}.mtag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;padding:3px 8px;border-radius:999px;white-space:nowrap;color:var(--chip);border:none;background:color-mix(in srgb,var(--chip) 16%,var(--surface-2))}.lift-meta{display:flex;align-items:center;gap:8px}.lift-add{width:30px;height:30px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface-2);color:var(--accent);font-size:18px;font-weight:800}.lift-add.added{background:var(--chip, var(--success));border-color:var(--chip, var(--success));color:var(--accent-ink)}.lift-row.is-added{cursor:default}.lift-row.is-added .lift-name{color:var(--muted)}.custom-create{padding:12px 0;border-bottom:1px solid var(--line)}.custom-row{display:flex;align-items:center;gap:8px}.custom-select{padding:8px;font-size:13px}.btn.finish{width:100%;margin-top:18px;padding:16px;font-size:16px}.btn.done-btn{width:100%;margin-top:10px;padding:15px;background:var(--surface-2);color:var(--text)}.topbar .hist-btn{margin-left:auto;color:var(--accent);font-weight:700}.small-brand{font-size:22px;font-weight:800;color:var(--text)}.progress-head{display:flex;align-items:center;gap:10px}.progress-head .card-title{flex:1}.progress-screen{display:flex;flex-direction:column;height:100dvh;padding-bottom:0;overflow:hidden}.progress-screen>.topbar,.progress-screen>.progress-card,.progress-screen>.section-label{flex:0 0 auto}.progress-card{position:relative;z-index:2;box-shadow:0 10px 16px -6px #0009}.progress-lifts{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.select{width:auto;max-width:60%;padding:8px 10px;font-size:14px;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none}.chart-sub{margin:4px 0 10px}.chart{width:100%;height:120px;display:block}.chart-empty,.chart-single{padding:18px 4px}.chart-single{font-size:22px;font-weight:800;color:var(--accent)}.chart-axis{display:flex;justify-content:space-between;align-items:baseline;margin-top:4px}.chart-now{color:var(--accent);font-weight:800;font-variant-numeric:tabular-nums}.btn.copy-last{width:100%;background:var(--surface-2);color:var(--accent);margin-bottom:14px}.move{display:flex;flex-direction:column;gap:2px}.movebtn{border:none;background:transparent;color:var(--muted);font-size:10px;line-height:1;padding:3px 4px;cursor:pointer;border-radius:5px}.movebtn:active:not(:disabled){background:var(--surface-2);color:var(--accent)}.movebtn:disabled{opacity:.22;cursor:default}.set-move{align-items:center;justify-content:center}.drag-handle{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:grab;touch-action:none;padding:6px 4px;flex:0 0 auto;-webkit-tap-highlight-color:transparent}.drag-handle:active{cursor:grabbing}.set-grip{padding:6px 2px}.grip{display:block}.exercise.is-dragging{background:linear-gradient(180deg,#c9d2dc29,#c9d2dc0a);outline:1px solid var(--accent)}.set-row.is-dragging{background:linear-gradient(90deg,#c9d2dc42,#c9d2dc1a);border:1px solid rgba(201,210,220,.55);border-radius:10px}body.dragging{user-select:none;-webkit-user-select:none;cursor:grabbing;touch-action:none;overscroll-behavior:contain}body.dragging .swipeable,body.dragging .set-row{touch-action:none}.data-controls{display:flex;gap:10px;justify-content:center;margin-top:28px;padding-top:16px;border-top:1px solid var(--line)}.statbar{display:flex;flex-wrap:nowrap;gap:9px;align-items:center;padding:2px 2px 14px;font-size:12px;color:var(--muted);white-space:nowrap}.statbar>span{flex:0 0 auto}.statbar b{color:var(--text);font-variant-numeric:tabular-nums}.stat-streak{background:#a5474729;color:#d98c8c;padding:4px 9px;border-radius:999px;font-weight:700}.metric-toggle{display:flex;gap:6px;margin:10px 0 12px}.seg{flex:1;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:10px;padding:8px 4px;font-size:13px;font-weight:600;cursor:pointer}.seg.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.chart-dates{display:flex;justify-content:space-between;margin-top:2px}.last-hint{margin:6px 0 2px;font-variant-numeric:tabular-nums}.calendar{margin-bottom:14px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-month{font-weight:700;font-size:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{margin-bottom:4px}.cal-dow span{text-align:center}.cal-cell{height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:transparent;color:var(--muted);border-radius:10px;font-size:14px;font-weight:600;cursor:default}.cal-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;max-width:38px}.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--chip, var(--success))}.cal-cell.blank{visibility:hidden}.cal-cell.has{background:var(--surface-2);color:var(--success);cursor:pointer;border:1px solid rgba(61,170,104,.35)}.cal-cell.has:active{transform:scale(.94)}.cal-cell.today{outline:1px dashed var(--muted);outline-offset:-2px}.cal-cell.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.filter-bar{padding:0 2px 10px}.history-list{margin-top:14px}.session{display:block}.session-head{display:flex;align-items:flex-start;gap:10px}.session-stats{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.session-body{margin-top:10px;border-top:1px solid var(--line);padding-top:10px;display:flex;flex-direction:column;gap:8px}.session-ex{display:flex;flex-direction:column;gap:2px}.se-name{font-weight:600}.se-sets{font-size:13px;font-variant-numeric:tabular-nums}.session-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.session-actions .btn{flex:1;background:var(--surface-2);color:var(--accent)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(76px + env(safe-area-inset-bottom));z-index:50;background:var(--surface-2);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;box-shadow:0 6px 20px #0006}.timerbar{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:20;overflow:hidden}.timer-fill{position:absolute;top:0;left:0;bottom:0;background:#c9d2dc1f;transition:width .25s linear;z-index:0}.timer-inner{position:relative;z-index:1;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:12px 16px}.timer-time{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.5px}.timer-mid{text-align:center}.skip{padding:12px 18px}
