:root{--paper:#f8f9f3;--paper-deep:#edf0e2;--surface:#ffffff;--ink:#1c1c1e;--muted:#5a6355;--line:#dde2d2;--line-strong:#b7bfa6;--green:#2e7d32;--green-deep:#205d25;--green-soft:#e6f4d2;--red:#b3261e;--warm:#e9a96d;--shadow:0 22px 60px rgba(38,40,33,.12);--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}[hidden]{display:none !important}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;min-width:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit}a[href]{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.site-nav{position:sticky;z-index:30;top:0;border-bottom:1px solid rgba(221,226,210,.9);background:rgba(248,249,243,.94);backdrop-filter:blur(14px)}.nav-inner{width:min(1180px,calc(100% - 48px));height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:18px;font-weight:820;letter-spacing:-.02em;white-space:nowrap}.brand img,.brand svg{width:32px;height:32px;border-radius:9px}.nav-links{order:2;display:flex;align-items:center;justify-content:flex-end;gap:26px;margin-left:auto}.nav-links a{color:#3d443a;font-size:14px;font-weight:670;text-decoration:none}.nav-links a:hover{color:var(--green)}.nav-links a.nav-cta.button.primary,.nav-links a.nav-cta.button.primary:hover{color:#fff}.nav-cta,.button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:14px;border:1px solid var(--green);background:var(--green);color:#fff;font-weight:780;text-decoration:none;transition:background .16s,border-color .16s,transform .16s}.nav-cta{min-height:46px;padding-inline:18px;font-size:14px}.nav-cta:hover,.button.primary:hover{background:var(--green-deep);border-color:var(--green-deep)}.button.secondary{background:transparent;color:var(--ink);border-color:#b7bfa6}.button.secondary:hover{border-color:var(--ink)}.button.white{background:var(--surface);color:var(--ink);border-color:var(--line);font-weight:800;font-size:16px}.button.white:hover{background:var(--surface);border-color:var(--green-deep)}.button.white .heart-ico{color:var(--green);stroke-width:3.5}.button .arrow{transition:transform .16s}.button:hover .arrow{transform:translateX(3px)}.menu-button{width:46px;height:46px;display:none;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink)}.menu-button svg{width:21px;height:21px}main{overflow:hidden}h1{max-width:720px;margin:0;font-size:clamp(50px,6.2vw,104px);line-height:.98;letter-spacing:-.06em;font-weight:860}.feature-cards .feature-num{display:block;margin-bottom:12px;font-size:13px;font-weight:800;letter-spacing:.08em;color:var(--green)}.template-more a:hover{text-decoration:underline}.mock-chart.in .chart-line{stroke-dashoffset:0}.mock-chart.in .chart-area,.mock-chart.in .chart-dot{opacity:1}.mock-chart.in .bar{transform:scaleY(1)}html.js .mock-chart.in .bar.dim{opacity:.3}.muscle-map .heat{fill:var(--green)}.set-check.open{border:1px solid var(--line);background:transparent;color:transparent}.feature-list{border-top:1px solid var(--line)}.feature{display:grid;grid-template-columns:92px minmax(0,.72fr) minmax(320px,1fr);gap:28px;align-items:start;padding:36px 0;border-bottom:1px solid var(--line)}.feature-num{color:var(--green);font-size:13px;font-weight:800}.feature h3{margin:0;font-size:clamp(24px,3vw,34px);letter-spacing:-.04em}.feature-copy{color:#47503f;font-size:16px;line-height:1.65}.feature-copy p{margin:0}.migration-inner .button.secondary{border-color:#7f837f;color:#fff}.suggest-actions .button{padding:10px 18px;font-size:13px}footer{border-top:1px solid var(--line);background:var(--surface)}.footer-inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:54px 0 42px;display:grid;grid-template-columns:1.1fr 2fr;gap:44px;align-items:start}.footer-brand{display:block;font-size:20px;font-weight:830;letter-spacing:-.025em;text-decoration:none;color:var(--ink)}.footer-train{margin-top:16px}.footer-copy{max-width:400px;margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.footer-col h3{margin:0 0 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.footer-col a{display:flex;align-items:center;gap:6px;padding:5px 0;color:#49523f;font-size:13px;font-weight:680;text-decoration:none}.footer-col a:hover{color:var(--green-deep);text-decoration:underline;text-underline-offset:4px}.footer-base{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:18px 0 26px;border-top:1px solid var(--line);color:var(--muted);font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:14px}.heart-ico{width:15px;height:15px;flex:none;color:var(--green)}.nav-controls{order:3;display:none;align-items:center;gap:10px}.subpage{width:min(860px,calc(100% - 48px));margin:0 auto;padding:72px 0 112px}.subpage.flush-b{padding-bottom:32px}.subpage.flush-t{padding-top:32px}.subpage h1{max-width:760px;font-size:clamp(42px,7vw,68px)}.subpage-lede{max-width:700px;margin:22px 0 48px;color:var(--muted);font-size:19px;line-height:1.6}.proof-link:hover strong,.feature-link:hover h3{color:var(--green-deep)}.switch-tab.import-toggle:hover{border-color:var(--green-deep)}.guide-footnote{margin:18px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.spread-word .subpage-lede{margin:12px 0 30px}.share-item:hover{color:var(--ink)}.share-item:hover .share-circle{transform:translateY(-2px)}.support-list .share-item:hover{color:var(--ink)}.credit-list h2 a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:3px solid rgba(46,125,50,.3);outline-offset:3px}@media (max-width:900px){.nav-inner{width:min(100% - 32px,760px)}.menu-button{display:grid}.nav-controls{display:flex;margin-left:auto}.nav-links{position:absolute;top:72px;left:14px;right:14px;display:none;justify-content:stretch;align-items:stretch;padding:10px 16px 16px;border:1px solid var(--line);border-radius:0 0 16px 16px;background:var(--paper);box-shadow:0 18px 32px rgba(28,28,30,.12);text-align:left}.nav-links.open{display:grid;gap:0}.nav-links a:not(.nav-cta),.nav-links .nav-current{min-height:46px;display:flex;align-items:center;justify-content:flex-start;padding:0 4px;border-bottom:1px solid var(--line)}.nav-links .nav-current{color:var(--muted)}.nav-links .nav-cta{margin-top:10px;padding-inline:14px;justify-content:center}.nav-links .nav-cta.button.primary{color:#fff}.feature{grid-template-columns:58px 1fr}.feature-copy{grid-column:2}}@media (max-width:600px){.nav-inner{height:64px;width:calc(100% - 28px)}.brand{font-size:16px}.brand img,.brand svg{width:29px;height:29px}.nav-links{top:64px}h1{font-size:clamp(46px,13.8vw,64px);max-width:none}.button{width:100%}.feature{grid-template-columns:42px 1fr;gap:16px;padding:32px 0}.feature-copy{font-size:15px}.subpage{width:calc(100% - 32px);padding:48px 0 82px}.subpage.flush-b{padding-bottom:24px}.subpage.flush-t{padding-top:24px}.subpage-lede{font-size:17px;margin-bottom:36px}.footer-inner,.footer-base{width:calc(100% - 32px)}.footer-inner{grid-template-columns:1fr;align-items:start;gap:32px}.footer-cols{grid-template-columns:1fr 1fr;gap:26px}}.filter-chip:hover{border-color:var(--green);color:var(--green-deep)}.skeleton-card{pointer-events:none}.skeleton-card .sk-bar{height:13px;border-radius:6px;margin-bottom:10px}.skeleton-card .sk-title{height:26px;margin:18px 0 12px;border-radius:8px}.skeleton-card .sk-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.skeleton-card .sk-meta .sk-bar{margin-bottom:0}.skeleton-card .sk-toggle{height:14px;border-radius:6px;margin:22px 0}.skeleton-card .sk-cta{display:flex;gap:10px;margin-top:auto;padding-top:22px}.skeleton-card .sk-btn{flex:1;height:48px;border-radius:14px}.sk{background:linear-gradient(90deg,var(--line) 25%,var(--paper-deep) 50%,var(--line) 75%);background-size:200% 100%;animation:sk-shimmer 1.3s linear infinite}.sk.w40{width:40%}.sk.w25{width:25%}.sk.w70{width:70%}.sk.w85{width:85%}.sk.w95{width:95%}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.page-btn:hover:not(:disabled){border-color:var(--green);color:var(--green-deep)}.program-hero .subpage-lede{margin-bottom:0}.card-cta .button{width:auto}@media (max-width:900px){.build-cta-actions .button.primary{width:100%}}.workout-example h2 a:hover{color:var(--green-deep);text-decoration:underline;text-underline-offset:3px}.detail-back a:hover{text-decoration:underline;text-underline-offset:3px}.detail-h2{margin:42px 0 6px;font-size:22px;letter-spacing:-.03em}.ci-toggle.open .ci-chev{transform:rotate(90deg)}.bug-form{display:grid;gap:18px;max-width:660px;margin-top:30px}.bug-form label{display:grid;gap:8px;font-size:14px;font-weight:700}.bug-form .form-hint{font-weight:400;color:var(--muted);font-size:13px}.bug-form input,.bug-form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:100%;box-sizing:border-box}.bug-form textarea{min-height:110px;resize:vertical}.bug-form input:focus,.bug-form textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.email-alt{margin-top:34px;padding-top:26px;border-top:1px solid var(--line);max-width:660px}.email-alt p{margin:0 0 14px;color:var(--muted);font-size:14px;line-height:1.55}.email-alt p strong{color:var(--ink)}.lb-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.lb-modal[hidden]{display:none}.lb-modal-backdrop{position:absolute;inset:0;background:rgba(20,24,20,.55)}.lb-modal-card{position:relative;background:var(--paper);color:var(--ink);border-radius:18px;width:100%;max-width:660px;max-height:92vh;max-height:92dvh;overflow-y:auto;padding:30px 28px 28px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.lb-modal-card h2{margin:0 44px 6px 0;font-size:24px}.lb-modal-sub{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.55}.lb-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.lb-modal-close:hover{background:var(--paper-deep)}.features .feature{display:grid;grid-template-columns:minmax(0,1fr) 272px;gap:44px;align-items:center;margin:64px 0}.features .feature:nth-child(even){grid-template-columns:272px minmax(0,1fr)}.features .feature:nth-child(even) .feature-copy{order:2}.features .feature:nth-child(even) .feature-shot{order:1}.features .feature.feature-full{grid-template-columns:minmax(0,1fr)}.features .feature.feature-wide{grid-template-columns:minmax(0,1fr);gap:28px}.features .feature.feature-wide .feature-shots{grid-template-columns:repeat(2,minmax(0,1fr))}.features .feature.feature-wide>.feature-shot{max-width:780px}.feature-copy .eyebrow{margin-bottom:10px}.feature-copy h2{margin:0 0 12px;font-size:clamp(24px,3vw,32px);letter-spacing:-.03em;line-height:1.12}.feature-copy p{margin:0 0 12px;color:var(--muted);font-size:15px;line-height:1.65;max-width:52ch}.feature-copy p:last-child{margin-bottom:0}@media (max-width:900px){.features .feature,.features .feature:nth-child(even){grid-template-columns:1fr;gap:24px}.features .feature-copy{grid-column:auto}.features .feature>*{min-width:0}.features .feature.feature-wide .feature-shots{grid-template-columns:1fr}.features .feature:nth-child(even) .feature-copy{order:0}.features .feature:nth-child(even) .feature-shot{order:0}}.subtle-copy:hover{color:var(--green)}.cg-map .heat-0{fill:#e4e8da}.cg-map .heat-1{fill:#ddefdc}.cg-map .heat-2{fill:#b7dfb9}.cg-map .heat-3{fill:#86c98b}.cg-map .heat-4{fill:#5da464}.cg-map .heat-5{fill:#2e7d32}.cg-map .heat-worked{fill:#5da464}.wu-corner:active{border-color:var(--green);background:var(--green-soft)}@media (max-width:900px){.nav-links{max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto}.features .feature{padding:8px 0}.feature-copy{padding-right:4px}}@media (max-width:600px){.features .feature{gap:30px}}.gs-frag .start-option.primary{border-color:var(--green);background:var(--green-soft)}.donate-card{margin:44px auto 8px;max-width:920px;padding:30px 28px;border:1px solid var(--line);border-radius:22px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.donate-card .button.primary{min-width:172px;text-align:center}.donate-hr{border:0;border-top:1px solid var(--line);margin:52px 0 0}.donate-card h2{margin:0 0 6px;font-size:22px;letter-spacing:-.01em}.donate-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6;max-width:440px}.gs-cta .button{min-width:230px}.home-guide-cta .button{min-width:230px}.demo-share .tag.primary{background:var(--sh-accent-soft);color:var(--sh-accent);font-weight:700;border:1px solid var(--sh-accent)}@media (max-width:760px){.donate-card{margin:32px 20px 8px;padding:24px 20px}.donate-card .button.primary{min-width:0}}button.suggestion-card:hover{border-color:var(--green);box-shadow:0 3px 10px rgba(0,0,0,.06)}.features .feature .progress-demo{max-width:640px;margin-top:26px}.analysis-panel .drilldown-row:active{background:var(--paper-deep)}.appfrag .exercise-info-button:active{transform:scale(.94)}.appfrag .log-set-number:hover,.appfrag .log-set-number:focus-visible{border-color:var(--line);background:var(--surface);color:var(--ink);outline:none}.appfrag .log-input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.appfrag .delete-set-inline:hover,.appfrag .delete-set-inline:focus-visible{opacity:1;background:var(--rose-soft);color:var(--red);outline:none}.appfrag .add-set:active{border-color:var(--green);background:var(--green-soft)}.appfrag .add-set:focus-visible{outline:2px solid var(--green);outline-offset:2px}.appfrag .warmup-corner:active{border-color:var(--green);background:var(--green-soft)}.appfrag .warmup-corner:focus-visible{outline:2px solid var(--green);outline-offset:2px}.appfrag .form-action.secondary,.appfrag .small-button,.appfrag .filter-button,.appfrag .calendar-page,.appfrag .back,.appfrag .setup-program-row,.appfrag .add-set{border-color:var(--line-strong);border-radius:999px;background:var(--surface);color:var(--ink-strong)}.appfrag .small-button:hover,.appfrag .filter-button:hover,.appfrag .back:hover,.appfrag .setup-program-row:hover,.appfrag .copy-first-set:hover,.appfrag .add-set:hover{filter:brightness(.96)}.appfrag .search:focus,.appfrag .field input:focus,.appfrag .field textarea:focus,.appfrag .log-input:focus,.appfrag .exercise-note textarea:focus,.appfrag .picker-search:focus,.appfrag select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring);outline:none}.appfrag .ob-input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.appfrag .ob-imp-toggle.open .ob-imp-tg-chev{transform:rotate(90deg)}.appfrag .rule-field input:focus,.appfrag .rule-field select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.subpage.tight{padding-top:48px;padding-bottom:56px}@media (max-width:640px){.subpage.tight{padding-top:36px;padding-bottom:48px}}
