:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f4f5f2;--color-surface:#fff;--color-surface-tint:#e8efe9;--color-text:#16211b;--color-text-muted:#4d5a52;--color-primary:#0b6b4b;--color-primary-hover:#08513a;--color-on-primary:#fff;--color-accent:#c2410c;--color-danger:#b42318;--color-success:#1d6f3a;--color-notice-bg:#fff4e5;--color-notice-text:#7a3608;--color-border:#d3d9d4;--color-border-strong:#78857d;--color-header:#13261d;--color-on-header:#f4f5f2;--color-focus:#c2410c;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:clamp(1.6rem, 1.2rem + 2vw, 2.25rem);--font-size-hero:clamp(2rem, 1.3rem + 3.5vw, 3.25rem);--line-height:1.55;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--radius-sm:8px;--radius-md:14px;--radius-pill:999px;--shadow-sm:0 1px 2px #13261d14, 0 1px 3px #13261d0f;--container-max:1080px;--container-gutter:1rem;--tap-target:2.75rem;--z-header:10;--z-toast:20;--header-height:4rem}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + var(--space-4));-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--font-size-md);line-height:var(--line-height);color:var(--color-text);background-color:var(--color-bg);flex-direction:column;min-height:100vh;margin:0;display:flex}#root{display:contents}h1,h2,h3,p{margin:0}h1{font-size:var(--font-size-xl);letter-spacing:-.01em;line-height:1.15}h2{font-size:var(--font-size-lg);line-height:1.25}h3{font-size:var(--font-size-md)}a{color:var(--color-primary);text-underline-offset:.15em}a:hover{color:var(--color-primary-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.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}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-gutter);margin-inline:auto}.main{padding-block:var(--space-6) var(--space-10);gap:var(--space-6);flex-direction:column;flex:1;display:flex}@media (width>=768px){:root{--container-gutter:1.5rem}.main{padding-block:var(--space-8) var(--space-10)}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.skip-link{left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);position:absolute;top:-3rem}.skip-link:focus{top:var(--space-2)}.site-header{z-index:var(--z-header);background:var(--color-header);color:var(--color-on-header);position:sticky;top:0}.header-inner{min-height:var(--header-height);align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-2);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-2);font-weight:800;font-size:var(--font-size-lg);letter-spacing:-.02em;color:var(--color-on-header);text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-on-header)}.brand-mark{background:linear-gradient(135deg, var(--color-accent) 0 50%, #ffb380 50% 100%);border-radius:4px;width:1.1rem;height:1.1rem}.nav{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.nav a:not(.button){min-height:var(--tap-target);padding-inline:var(--space-3);border-radius:var(--radius-sm);color:var(--color-on-header);align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.nav a:not(.button):hover{color:var(--color-on-header);background:#ffffff1a}.nav a.active:not(.button){box-shadow:inset 0 -3px 0 var(--color-accent)}.nav-app{order:3;width:100%;margin-left:0;overflow-x:auto}.header-user{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.user-name{font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;max-width:12ch;overflow:hidden}@media (width>=820px){.nav-app{width:auto;margin-left:var(--space-4);order:0}.user-name{max-width:20ch}}.demo-banner{background:var(--color-notice-bg);color:var(--color-notice-text);font-size:var(--font-size-sm);padding-block:var(--space-2);border-bottom:1px solid #f0c9a3}.demo-banner a{color:var(--color-notice-text);font-weight:700}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);padding-block:var(--space-6)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);font:inherit;cursor:pointer;border:2px solid #0000;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.65}.button-small{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.button-primary{background:var(--color-primary);color:var(--color-on-primary)}.button-primary:hover:not(:disabled){background:var(--color-primary-hover);color:var(--color-on-primary)}.button-secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.button-secondary:hover:not(:disabled){background:var(--color-surface-tint);color:var(--color-primary-hover)}.button-ghost{color:inherit;background:0 0;border-color:currentColor}.button-danger{background:var(--color-danger);color:#fff}.button-ghost-danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}.page-title{gap:var(--space-1);flex-direction:column;display:flex}.page-subtitle,.period-range{color:var(--color-text-muted)}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.panel-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.grid-2{gap:var(--space-6);align-items:start;display:grid}@media (width>=1024px){.grid-2{grid-template-columns:1fr 1fr}}.narrow{gap:var(--space-5);flex-direction:column;width:100%;max-width:34rem;display:flex}.stats{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}@media (width>=1024px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{background:var(--color-surface-tint);border-radius:var(--radius-sm);padding:var(--space-4);border-left:4px solid var(--color-primary)}.stat dt{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.stat dd{margin:var(--space-1) 0 0;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(1.1rem,.85rem + 1.1vw,1.5rem);font-weight:800}.segmented{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.segmented label{min-height:2.5rem;padding:var(--space-1) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);font-size:var(--font-size-sm);cursor:pointer;align-items:center;font-weight:600;display:inline-flex;position:relative}.segmented label.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented label:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.workout-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.workout{gap:var(--space-2) var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:4.75rem minmax(0,1fr);display:grid}.workout-date{font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;line-height:1.3;display:flex}.workout-weekday{text-transform:capitalize;color:var(--color-text);font-weight:700}.workout-metrics{gap:var(--space-1) var(--space-4);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.workout-metrics strong{font-size:1.1rem}.workout-notes{margin-top:var(--space-1);color:var(--color-text-muted);overflow-wrap:anywhere;white-space:pre-line}.workout-actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}@media (width>=820px){.workout{grid-template-columns:6rem minmax(0,1fr) auto;align-items:start}.workout-actions{grid-column:auto}}.load-more{align-self:center}.filters{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.filters-actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}@media (width>=820px){.filters{grid-template-columns:12rem 12rem auto}.filters-actions{grid-column:auto}}.goal-card{background:var(--color-surface);border:1px solid var(--color-border);border-top:5px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.goal-status{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);font-weight:700}.goal-title{overflow-wrap:anywhere}.goal-details{gap:var(--space-2) var(--space-8);flex-wrap:wrap;margin:0;display:flex}.goal-details dt{font-size:var(--font-size-sm);color:var(--color-text-muted)}.goal-details dd{margin:0;font-weight:700}.form{gap:var(--space-4);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field label,.duration legend{font-weight:700}.field input,.field select,.field textarea{font:inherit;min-height:var(--tap-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);width:100%}.field textarea{resize:vertical}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-danger);border-width:2px}.field-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.field-error{font-size:var(--font-size-sm);color:var(--color-danger);font-weight:600}.duration{border:0;margin:0;padding:0}.duration-inputs{gap:var(--space-3);margin-top:var(--space-1);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.duration-inputs label{font-weight:500;font-size:var(--font-size-sm)}.form-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.form-error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-danger);color:var(--color-danger);background:#fdecea;font-weight:600}.form-links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-notice-bg);color:var(--color-notice-text)}.notice-success{color:var(--color-success);background:#e7f4ec}.state{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface);border:1px dashed var(--color-border-strong);flex-direction:column;display:flex}.state-loading{border-style:solid;border-color:var(--color-border);flex-direction:row;align-items:center}.state-error{border:1px solid var(--color-danger);color:var(--color-danger)}.state-title{font-weight:700}.spinner{border:3px solid var(--color-surface-tint);border-top-color:var(--color-primary);border-radius:50%;width:1.25rem;height:1.25rem}@media (prefers-reduced-motion:no-preference){.spinner{animation:.8s linear infinite spin}}@keyframes spin{to{transform:rotate(360deg)}}.dialog{border-radius:var(--radius-md);width:min(28rem,100% - 2rem);padding:var(--space-6);color:var(--color-text);border:0;box-shadow:0 20px 50px #13261d4d}.dialog::backdrop{background:#13261d8c}.dialog-body{margin-block:var(--space-3) var(--space-5);color:var(--color-text-muted)}.dialog-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.toast-region{inset-inline:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);pointer-events:none;justify-content:center;display:flex;position:fixed}.toast{max-width:28rem;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--color-header);color:var(--color-on-header);box-shadow:var(--shadow-sm);font-weight:600}.landing{gap:var(--space-10);flex-direction:column;display:flex}.hero{gap:var(--space-4);padding-block:var(--space-6);flex-direction:column;max-width:44rem;display:flex}.hero h1{font-size:var(--font-size-hero);letter-spacing:-.02em;line-height:1.05}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:var(--font-size-sm);color:var(--color-accent)}.lead{color:var(--color-text-muted);max-width:38rem;font-size:1.125rem}.hero-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.hero-actions .button-ghost{color:var(--color-primary)}.features{gap:var(--space-4);display:grid}@media (width>=820px){.features{grid-template-columns:repeat(3,minmax(0,1fr))}}.feature{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-2);flex-direction:column;display:flex}.feature p{color:var(--color-text-muted)}
