:root{color:#17201b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17201b;--page:#f4f6f4;--muted:#647069;--surface:#fff;--surface-2:#edf1ee;--primary:#176c45;--primary-dark:#105436;--danger:#a62929;--border:#d5ddd7;--topbar:#14271e;--topbar-ink:#fff;--danger-bg:#fff1f1;--danger-border:#e8baba;--error-bg:#fff0f0;--success-bg:#edf8f1;--space-1:.35rem;--space-2:.6rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--text-sm:.875rem;--text-lg:1.25rem;--text-xl:1.75rem;--radius:.75rem;--shadow:0 2px 12px #0f231814;--transition:.15s ease;--container:70rem;background:#f4f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--page);margin:0}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:0;border-radius:.6rem;justify-content:center;align-items:center;gap:.4rem;min-height:2.75rem;padding:.7rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:wait}.button-primary{color:#fff;background:var(--primary)}.button-primary:hover{background:var(--primary-dark)}.button-secondary{color:var(--ink);background:var(--surface-2);border:1px solid var(--border)}.button-danger{color:var(--danger);background:var(--danger-bg);border:1px solid var(--danger-border)}a{color:var(--primary-dark)}:focus-visible{outline-offset:2px;outline:3px solid #4f9e78}h1,h2,h3,p{margin-top:0}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.stack{gap:var(--space-3);display:grid}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.split{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);box-shadow:var(--shadow)}.muted{color:var(--muted)}.small{font-size:var(--text-sm)}.error{color:#821c1c;background:var(--error-bg);border:1px solid #e3b5b5;border-radius:.5rem;padding:.75rem}.success{color:#105436;background:var(--success-bg);border-color:#acd4bc}.empty{text-align:center;padding:var(--space-5) var(--space-3)}label{gap:.35rem;font-weight:650;display:grid}input,select,textarea{width:100%;min-height:2.75rem;color:var(--ink);background:var(--surface);border:1px solid #aeb9b1;border-radius:.55rem;padding:.65rem .75rem}textarea{resize:vertical;min-height:5rem}input[type=checkbox]{width:1.3rem;min-height:1.3rem}.form-grid,.cards{gap:var(--space-3);display:grid}.app-main{padding:var(--space-4) 0 2rem}.topbar{background:var(--topbar);color:var(--topbar-ink);z-index:5;padding:.7rem 0;position:sticky;top:0}.topbar a{color:var(--topbar-ink);font-weight:800;text-decoration:none}.desktop-nav{display:none}.bottom-nav{z-index:10;border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);background:#fff;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-menu{z-index:20;color:var(--topbar-ink);position:fixed;top:.55rem;right:1rem}.mobile-menu summary{cursor:pointer;border:1px solid #ffffff59;border-radius:.55rem;place-items:center;min-height:2.75rem;padding:0 .85rem;font-weight:700;display:grid}.mobile-menu nav{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(18rem,100vw - 2rem);box-shadow:var(--shadow);gap:.2rem;padding:.6rem;display:grid;position:absolute;top:calc(100% + .4rem);right:0}.mobile-menu nav a{color:var(--ink);padding:.7rem;font-weight:700;text-decoration:none}.mobile-menu nav a[aria-current=page]{color:var(--primary);background:var(--surface-2)}.bottom-nav a{text-align:center;color:#39453e;place-items:center;min-height:3.75rem;font-size:.75rem;font-weight:700;text-decoration:none;display:grid}.bottom-nav a[aria-current=page]{color:var(--primary);background:#edf7f1}.auth-page{place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{width:min(100%,25rem)}.set-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto;align-items:end;gap:.5rem;display:grid}.set-grid button{min-width:2.75rem;padding:.5rem}.exercise-card{border-left:4px solid var(--primary);scroll-margin-top:5rem}.exercise-card.complete,.exercise-card.exercise-complete{background:var(--surface);border-left-color:#2c8559}.exercise-card-header h2,.exercise-card-header p,.exercise-card-summary h2,.exercise-card-summary p,.workout-progress h2,.workout-progress p{margin-bottom:var(--space-1)}.exercise-card-summary{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.exercise-card-body,.exercise-card-content{border-top:1px solid var(--border);padding-top:var(--space-3)}.complete-badge{margin-left:var(--space-1);color:#105436;background:#dff2e7;border-radius:999px;align-items:center;padding:.15rem .5rem;font-weight:750;display:inline-flex}.complete-exercise-button{width:100%}.completed-set-summary{border-top:1px solid var(--border);padding-top:var(--space-3)}.completed-set-summary ol{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.completed-set-summary li{gap:var(--space-2);grid-template-columns:3.5rem minmax(0,1fr);display:grid}.compact-button{min-width:2.75rem;padding:.5rem}.add-another{border-style:dashed;width:100%}#add-exercise{scroll-margin-top:5rem}.filter-chips{gap:var(--space-2);padding:.15rem 0 var(--space-1);scrollbar-width:thin;display:flex;overflow-x:auto}.filter-chips button{border:1px solid var(--border);background:var(--surface-2);min-height:2.4rem;color:var(--ink);border-radius:999px;flex:none;padding:.45rem .8rem}.filter-chips button.active{border-color:var(--primary);background:var(--primary);color:#fff}.exercise-results{gap:var(--space-2);max-height:18rem;display:grid;overflow-y:auto}.exercise-results button{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--ink);justify-content:space-between;display:flex}.exercise-results button:hover{background:var(--surface-2)}.workout-progress progress{width:min(100%,18rem);height:.65rem;accent-color:var(--primary)}.sticky-actions{background:color-mix(in srgb, var(--page) 95%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.7rem 0;position:sticky;bottom:4.4rem}@media (width>=760px){.app-main{padding-bottom:2rem}.bottom-nav{display:none}.desktop-nav{align-items:center;gap:1rem;display:flex}.mobile-menu{display:none}.desktop-nav a{font-weight:650}.cards.two,.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-actions{bottom:0}}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#171a18;--ink:#eef2ee;--muted:#a7b0aa;--surface:#222724;--surface-2:#2d342f;--primary:#64ad82;--primary-dark:#8bc49f;--border:#3f4942;--topbar:#101311;--danger:#faa;--danger-bg:#3b2222;--danger-border:#734444;--error-bg:#382020;--success-bg:#203629}[data-theme=forest]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#10251b;--ink:#f4edda;--muted:#c2c5ad;--surface:#193426;--surface-2:#244634;--primary:#d0a866;--primary-dark:#ead09a;--border:#3c5b49;--topbar:#0b1b14;--danger:#ffc0b7;--danger-bg:#442925;--danger-border:#795046;--error-bg:#422620;--success-bg:#254834}[data-theme=paper]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#eee5d2;--ink:#332d25;--muted:#746b5e;--surface:#faf4e7;--surface-2:#e7dcc5;--primary:#3d694e;--primary-dark:#294b37;--border:#cfc0a5;--topbar:#2f4538;--danger:#8e302c;--danger-bg:#fae5df;--danger-border:#d9aaa0;--error-bg:#fae5df;--success-bg:#e3eddf}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#171a18;--ink:#eef2ee;--muted:#a7b0aa;--surface:#222724;--surface-2:#2d342f;--primary:#64ad82;--primary-dark:#8bc49f;--border:#3f4942;--topbar:#101311;--danger:#faa;--danger-bg:#3b2222;--danger-border:#734444;--error-bg:#382020;--success-bg:#203629}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--muted);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase;font-weight:800}.template-card,.next-workout-card{border-top:4px solid var(--template-color,var(--primary))}.template-default-sets{gap:var(--space-2);display:grid}.set-grid.compact{grid-template-columns:4rem minmax(0,1fr) minmax(0,1fr)}.template-choice-list{gap:var(--space-2);display:grid}.template-choice{text-align:left;border-left:4px solid var(--template-color,var(--primary));flex-direction:column;justify-content:flex-start;align-items:flex-start;min-width:0}.exercise-toolbar{gap:var(--space-2);display:grid}.archived-toggle{align-self:end;min-height:2.75rem}.dashboard-split-order{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.split-day{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-left:4px solid var(--template-color,var(--primary));background:var(--surface-2);border-radius:.6rem;flex-wrap:wrap;display:flex}.split-day p{margin:var(--space-1) 0 0}.split-position{color:var(--muted)}.export-options{gap:var(--space-2);display:grid}.export-option{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);background:var(--surface-2);border-radius:.6rem;flex-wrap:wrap;display:flex}.export-option h3,.export-option p{margin-bottom:var(--space-1)}.centered-actions{justify-content:center}.theme-options{gap:var(--space-2);border:0;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));padding:0;display:grid}.theme-option{border:1px solid var(--border);background:var(--surface-2);border-radius:.6rem;grid-template-columns:auto 1fr;align-items:center;padding:.75rem}.theme-option input{width:1.2rem;min-height:1.2rem}.theme-option small{color:var(--muted);font-weight:400;display:block}.split-order{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.split-order li{justify-content:space-between;align-items:center;gap:var(--space-2);box-shadow:none;display:flex}.split-order label{grid-template-columns:auto 1fr}.split-order small{display:block}.dashboard-grid{gap:var(--space-3);display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.calendar-weekday{text-align:center;color:var(--muted);font-size:.7rem;font-weight:750}.calendar-day{background:var(--surface-2);min-width:0;min-height:3rem;color:var(--ink);border:1px solid #0000;flex-direction:column;justify-content:space-between;padding:.25rem;font-weight:600;display:flex}.calendar-day.outside{opacity:.35}.calendar-day.today{border-color:var(--primary)}.calendar-day.selected{outline:2px solid var(--primary);outline-offset:0}.calendar-markers{justify-content:center;gap:2px;max-width:100%;display:flex}.calendar-markers i,.color-marker{background:var(--marker,var(--muted));border-radius:50%;width:.45rem;height:.45rem;display:block}.calendar-workout{align-items:flex-start;gap:.6rem;display:flex}.calendar-workout p{margin:0}.records-list{gap:var(--space-3);display:grid}.record-card{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.record-value{font-size:1.2rem;font-weight:750}.record-star{font-size:2rem}.star-button{min-width:2.75rem;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);padding:.35rem;font-size:1.4rem;line-height:1}.star-button.active{color:#b47b17}.workout-set-row{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:2.75rem;display:flex}.records-filters{grid-template-columns:1fr}@media (width>=760px){.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(17rem,1fr);align-items:start}.records-filters{grid-template-columns:2fr 1fr 1fr}.exercise-toolbar{grid-template-columns:2fr 1fr 1fr auto;align-items:end}}@media (prefers-reduced-motion:no-preference){button,a{transition:background var(--transition), color var(--transition)}.exercise-card-body,.exercise-card-content{animation:exercise-card-in var(--transition) both}.complete-badge{animation:.22s both exercise-complete-in}}@keyframes exercise-card-in{0%{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes exercise-complete-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
