:root{color:#193b31;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green:#193b31;--lime:#d8ef93;--muted:#66736b;--border:#dce3d8;--paper:#fff;background:#f5f6f2;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a{touch-action:manipulation}a{color:inherit;text-underline-offset:4px}a.button,.brand,.session-card,.mobile-nav a,.sidebar nav a{text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #779840}h1,h2,h3,p{margin:0}h1{letter-spacing:-.055em;font-size:clamp(2rem,3.2vw,2.9rem);font-weight:650;line-height:1.12}h2{letter-spacing:-.035em;font-size:1.35rem;line-height:1.25}h3{font-size:1rem;line-height:1.4}p{color:var(--muted);line-height:1.6}svg{flex-shrink:0}img{max-width:100%;display:block}main{min-width:0}.skip-link{background:var(--lime);z-index:100;padding:14px;position:fixed;top:-80px;left:16px}.skip-link:focus{top:16px}.brand{letter-spacing:-.065em;align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;font-size:2.25rem;font-weight:750;display:inline-flex}.brand-mark{background:var(--green);width:40px;height:40px;color:var(--lime);border-radius:12px;place-items:center;display:grid}.brand-period{color:#719342}.sidebar{border-right:1px solid var(--border);background:#f0f2ec;flex-direction:column;width:238px;padding:36px 26px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar-caption{letter-spacing:.14em;color:var(--muted);margin-top:55px;margin-bottom:20px;font-size:.58rem;font-weight:700}.sidebar nav{gap:9px;display:grid}.sidebar nav a{color:var(--muted);border-radius:12px;align-items:center;gap:13px;padding:15px 17px;font-size:.9rem;font-weight:550;display:flex}.sidebar nav a.active{background:var(--green);color:#fff}.sidebar nav a:hover:not(.active){background:#e4e9de}.sidebar-bottom{margin-top:auto;padding:32px 10px 4px}.sidebar-bottom>svg{color:#83a052;margin-bottom:14px}.sidebar-bottom p{color:var(--green);font-size:.95rem}.sidebar-bottom>span{letter-spacing:.16em;color:var(--muted);margin-top:22px;font-size:.55rem;display:block}.app-body{margin-left:238px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;height:92px;padding:0 42px;display:flex}.desktop-tagline{letter-spacing:.16em;color:var(--muted);font-size:.65rem}.mobile-brand,.mobile-nav{display:none}.avatar{border:1px solid var(--border);background:#e9eee2;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.main-content{max-width:1400px;min-height:calc(100dvh - 170px);margin:auto;padding:42px}.site-footer{border-top:1px solid var(--border);max-width:1400px;color:var(--muted);justify-content:space-between;gap:15px;margin:auto;padding:24px 42px;font-size:.7rem;display:flex}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;display:flex}.page-heading p{margin-top:12px}.eyebrow{letter-spacing:.14em;color:var(--muted);font-size:.62rem;font-weight:700;line-height:1.5;display:block}.page-heading .eyebrow{margin-bottom:12px}.heading-icon{background:#e8eedc;border-radius:17px;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid}.button{background:var(--green);color:#fff;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:12px 19px;font-size:.85rem;font-weight:600;line-height:1.4;transition:background .15s;display:inline-flex}.button:hover:not(:disabled){background:#2a5441}.button.secondary{border-color:var(--border);color:var(--green);background:0 0}.button.secondary:hover:not(:disabled),.button.selected{background:#e9efdf}.button.danger{color:#a22a30;background:#fff0ed}.button.small{min-height:40px;padding:9px 15px}.text-button{background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 0;font-size:.82rem;font-weight:650;text-decoration:none;display:inline-flex}.icon-button{background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;min-width:44px;height:44px;padding:8px;display:inline-grid}.icon-button:hover:not(:disabled){background:#e7ecdf}.row{align-items:center;gap:8px;display:flex}.actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.stack{flex-direction:column;gap:20px;display:flex}.card{border:1px solid var(--border);background:#fff;border-radius:18px;padding:26px}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field>span{color:#526158;font-size:.75rem;font-weight:600}.field input,.field select{border:1px solid var(--border);width:100%;min-width:0;min-height:48px;color:var(--green);background:#fafbf8;border-radius:9px;padding:12px;font-size:1rem}.field input[aria-invalid=true]{border-color:#b54c45}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.numeric-field{min-width:0}.error,.notice,.success{overflow-wrap:anywhere;border-radius:10px;padding:12px 15px;font-size:.82rem;line-height:1.6}.error{color:#a12d35;background:#fff0ed}.notice{color:#72612c;background:#f7f0dc}.success{color:#285734;background:#edf5e5}.empty{text-align:center;background:#eef1e9;border:1px dashed #cbd5c0;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty p{max-width:420px;font-size:.88rem}.empty>svg{color:#6c8755}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin:26px 0 18px;display:flex}.section-heading>span,.section-heading p{font-size:.75rem}.section-heading h2{text-transform:none}.section-heading .eyebrow{font-size:.56rem}.section-heading strong{color:var(--green)}.chips{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.chip,.tag{border:1px solid var(--border);white-space:nowrap;background:0 0;border-radius:24px;padding:10px 17px;font-size:.75rem;line-height:1.5}.chip{min-height:44px}.chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.tag{white-space:normal;background:#eef2e8}.status-dot{background:#82a94d;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.sync-caption{margin-top:20px;font-size:.72rem}.auth-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);align-items:center;gap:clamp(24px,4vw,64px);padding:20px 0 30px;display:grid}.welcome{padding:25px 0;position:relative;overflow:hidden}.welcome h1{letter-spacing:-.065em;margin:28px 0 22px;font-size:clamp(3.2rem,5.7vw,5.6rem);line-height:1.04}.welcome h1 em{color:#668745;letter-spacing:-.06em;font-family:Georgia,serif;font-weight:400}.welcome-copy{max-width:355px;font-size:1.05rem}.welcome-catalog{margin-top:27px}.welcome-features{gap:23px;margin-top:42px;display:flex}.welcome-features>div{align-items:center;gap:10px;display:flex}.welcome-features svg{color:#75934d;width:22px}.welcome-features span{color:var(--muted);font-size:.65rem;line-height:1.7}.welcome-features strong{color:var(--green);font-weight:600}.welcome-art{border-top:1px solid var(--border);align-items:center;gap:17px;max-width:360px;margin-top:42px;padding-top:25px;display:flex}.welcome-art>svg{color:#9bb576;stroke-width:1px;width:68px;height:40px}.welcome-art>span{letter-spacing:.23em;color:#718463;font-size:.52rem}.auth-card{border:1px solid var(--border);background:#fff;border-radius:22px;padding:32px;box-shadow:0 12px 40px #193b3105}.auth-card h2{margin:12px 0;font-size:1.8rem}.auth-card>p{font-size:.8rem}.segmented{background:#f1f3ec;border-radius:9px;margin:26px 0;padding:4px;display:flex}.segmented button{background:0 0;border:0;border-radius:7px;flex:1;min-height:44px;padding:10px;font-size:.78rem}.segmented button[aria-pressed=true]{background:#fff;font-weight:650;box-shadow:0 2px 6px #193b3110}.centered{align-self:center}.auth-card .notice{margin-top:20px}.auth-card .auth-footnote{text-align:center;margin-top:25px;font-size:.7rem}.narrow{max-width:560px;margin:auto}.loading{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100dvh;padding:28px;display:flex}.catalog-tools{gap:12px;display:flex}.search{border:1px solid var(--border);color:#7a887c;background:#fff;border-radius:11px;flex:1;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.search input{height:50px;color:var(--green);outline-offset:0;background:0 0;border:0;flex:1;min-width:0;font-size:1rem}.exercise-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.exercise-card{text-align:left;border:1px solid var(--border);background:#fff;border-radius:15px;flex-direction:column;padding:0;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.exercise-card:hover{border-color:#9bae80;transform:translateY(-3px)}.exercise-image{aspect-ratio:1.45;background:#fff;border-bottom:1px solid #eef1e9;width:100%;position:relative;overflow:hidden}.exercise-image img{object-fit:contain;width:100%;height:100%;padding:18px}.exercise-arrow{background:#eef2e8cc;border:1px solid #e3e9db;border-radius:50%;place-items:center;width:32px;height:32px;display:grid;position:absolute;bottom:12px;right:12px}.exercise-info{width:100%;padding:18px}.exercise-info .eyebrow{color:#668348;font-size:.55rem}.exercise-info h3{margin:7px 0;font-size:.93rem}.exercise-info p{flex-wrap:wrap;gap:7px;font-size:.65rem;line-height:1.5;display:flex}.exercise-info p span{color:#a8b3a3}.modal{border:1px solid var(--border);background:var(--paper);width:min(900px,100% - 32px);max-height:88dvh;color:var(--green);border-radius:22px;padding:0;box-shadow:0 24px 100px #10261940}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10261988}.modal-header{z-index:1;border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;display:flex;position:sticky;top:0}.modal-content{flex-direction:column;gap:18px;padding:24px;display:flex}.modal-content .chips{margin:0}.modal-content .exercise-grid{gap:12px}.modal-content .exercise-info{padding:12px}.modal-content .catalog-browser>.chips{margin:18px 0}.detail-image{object-fit:contain;width:100%;max-height:300px}.instructions{white-space:pre-line;font-size:.92rem}.credits{border-top:1px solid var(--border);overflow-wrap:anywhere;padding-top:16px;font-size:.75rem}summary{cursor:pointer;min-height:44px;padding:12px 0}.credits p{margin:10px 0}.week-summary{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}.progress-hero{background:var(--green);color:#fff;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;padding:30px;display:flex}.progress-hero .eyebrow{color:#b9cba9}.progress-hero p{color:#c6d1c6;font-size:.8rem}.progress-hero>svg{color:var(--lime);opacity:.8}.hero-number{letter-spacing:-.06em;margin:10px 0;font-size:4rem;line-height:1.25}.hero-number span{color:#a8bba7;letter-spacing:-.035em;font-size:1.6rem}.progress-track{background:#46604b;border-radius:4px;height:5px;margin-top:22px;overflow:hidden}.progress-track>div{background:var(--lime);border-radius:4px;height:100%}.week-aside{padding:24px 8px}.week-aside h2{margin:14px 0}.week-aside p{margin-bottom:10px;font-size:.85rem}.calendar-panel{border:1px solid var(--border);background:#fff;border-radius:18px;padding:24px}.calendar-panel .section-heading{margin:0 0 22px}.calendar-panel h2{text-transform:capitalize}.week-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.day{background:#f5f6f0;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:16px 5px;display:flex}.day>span{letter-spacing:.06em;color:var(--muted);font-size:.62rem}.day strong{font-size:1.5rem;font-weight:600}.day i{background:0 0;border-radius:50%;width:4px;height:4px}.day i.has-session{background:#78974f}.day.today{border-color:#99b27f}.day[aria-pressed=true]{background:var(--green);color:#fff}.day[aria-pressed=true]>span{color:#d1dfc6}.day[aria-pressed=true] i.has-session{background:var(--lime)}.session-list{flex-direction:column;gap:12px;display:flex}.session-card{border:1px solid var(--border);background:#fff;border-radius:15px;align-items:center;gap:18px;padding:22px;display:flex}.session-card>div{flex:1;min-width:0}.session-card h3{overflow-wrap:anywhere}.session-card p{margin-top:4px;font-size:.78rem}.session-card:hover{border-color:#92a779}.session-icon{background:#e9efdf;border-radius:12px;flex-shrink:0;place-items:center;width:46px;height:46px;display:grid}.routine-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.routine-card h2{margin:18px 0 8px}.routine-card p{font-size:.83rem}.editor{flex-direction:column;gap:22px;max-width:940px;margin:auto;display:flex}.editor .page-heading{margin-bottom:0}.editor .section-heading{margin:0}.editor .section-heading h2{overflow-wrap:anywhere;align-items:center;gap:12px;min-width:0;font-size:1.1rem;display:flex}.editor .section-heading .row{flex-shrink:0}.back{color:var(--muted);align-self:flex-start}.exercise-index{background:#eef2e7;border-radius:8px;flex-shrink:0;padding:10px;font-size:.75rem;font-weight:550}.editor-footer{border:1px solid var(--border);z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f6f2f5;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:16px;display:flex;position:sticky;bottom:12px}.editor-footer>span{color:var(--muted);font-size:.73rem}.workout-overview{justify-content:space-between;align-items:center;gap:20px;display:flex}.workout-overview h2{margin-top:8px;font-size:2rem}.workout-overview h2 span{color:var(--muted);font-size:1rem}.date-controls{align-items:flex-end}.workout-exercise{flex-direction:column;gap:20px;display:flex}.set-row{border:1px solid var(--border);background:#fafbf8;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.set-row.completed{background:#f0f6e6;border-color:#cedbb6}.set-label{letter-spacing:.08em;font-size:.6rem;font-weight:650}.set-row .form-grid{flex:1;gap:12px;min-width:200px}.set-actions{gap:8px;margin-left:auto;display:flex}.set-actions .button{padding:10px}.set-actions .button:first-child{font-size:.7rem}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.profile-grid .card>p{overflow-wrap:anywhere;font-size:.82rem}.profile-grid .chips{margin:0}.progress-hero.compact .hero-number{font-size:3.5rem}.compact .hero-number span{font-size:1rem}.chart-heading>strong{margin-top:15px;font-size:2rem;display:block}.chart-heading small{font-size:1rem;font-weight:400}.chart-heading p{margin-top:7px;font-size:.75rem}.chart svg{width:100%;display:block}.chart text{fill:#66736b;font-size:11px}.chart>p{text-align:center;font-size:.75rem}table{border-collapse:collapse;width:100%;font-size:.8rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:12px}.pwa-controls{margin-top:40px}.install-card{border:1px solid var(--border);background:#edf1e5;border-radius:13px;align-items:center;gap:16px;padding:18px 20px;display:flex}.install-card>div{flex:1;min-width:0}.install-card strong{font-size:.8rem}.install-card p{margin-top:4px;font-size:.7rem}.install-card>svg{color:#6c8750}.offline-note{color:var(--muted);text-align:center;margin-top:13px;font-size:.63rem;display:block}.pwa-banner{background:#e5edd8;border-radius:10px;justify-content:center;align-items:center;gap:12px;margin-bottom:14px;padding:12px;font-size:.8rem;display:flex}@media (min-width:1600px){.exercise-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1150px){.sidebar{width:200px;padding:30px 18px}.app-body{margin-left:200px}.topbar{padding:0 28px}.main-content{padding:30px 28px}.auth-layout{grid-template-columns:1fr;gap:30px}.welcome{padding:5px 0}.welcome h1{font-size:4.5rem}.welcome-art{display:none}.welcome-features{margin-top:25px}.auth-card{justify-self:center;width:100%;max-width:540px}.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.week-summary{grid-template-columns:1fr}.week-aside{padding:0 4px 24px}.week-summary .progress-hero{margin-bottom:0}.profile-grid{grid-template-columns:1fr}.workout-overview{flex-direction:column;align-items:flex-start}}@media (max-width:760px){.sidebar,.desktop-tagline{display:none}.app-body{margin-left:0}.mobile-brand{display:block}.brand{font-size:1.8rem}.brand-mark{border-radius:10px;width:34px;height:34px}.brand-mark svg{width:24px}.topbar{height:76px;padding:env(safe-area-inset-top,0px) 22px 0}.main-content{min-height:calc(100dvh - 220px);padding:30px 20px 24px}.mobile-nav{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#f9faf6f5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav a{color:#71806f;border-radius:10px;flex-direction:column;align-items:center;gap:5px;min-height:49px;padding:6px 4px;font-size:.61rem;display:flex}.mobile-nav a.active{color:var(--green);background:#e6edda}.mobile-nav a.active svg{stroke-width:2.5px}.site-footer{padding:20px 22px calc(100px + env(safe-area-inset-bottom,0px));font-size:.61rem}.page-heading{flex-wrap:wrap;gap:18px;margin-bottom:27px}.page-heading h1{font-size:2.1rem}.page-heading p{font-size:.85rem}.page-heading>.heading-icon{display:none}.page-heading>.button{min-height:44px;font-size:.78rem}.eyebrow{font-size:.58rem}.auth-layout{gap:28px;padding:0}.welcome h1{margin:21px 0 18px;font-size:4rem}.welcome-copy{max-width:320px;font-size:.94rem}.welcome-features{gap:20px}.welcome-features>div{gap:7px}.welcome-features svg{width:19px}.welcome-features span{font-size:.59rem}.auth-card{padding:25px 22px}.auth-card h2{font-size:1.6rem}.catalog-tools{gap:8px}.catalog-tools>.button{padding:10px 12px;font-size:.75rem}.search{gap:9px;padding:0 12px}.search input{width:100%;font-size:.9rem}.chips{gap:7px}.chip{padding:10px 13px;font-size:.7rem}.section-heading{gap:12px}.section-heading>.eyebrow{display:none}.exercise-grid{gap:12px}.exercise-image{aspect-ratio:1.1}.exercise-image img{padding:10px}.exercise-info{padding:13px 11px}.exercise-info h3{margin:6px 0;font-size:.81rem}.exercise-info .eyebrow{font-size:.5rem}.exercise-info p{gap:4px;font-size:.59rem}.exercise-arrow{width:27px;height:27px;bottom:7px;right:7px}.exercise-arrow svg{width:16px}.exercise-card{border-radius:12px}.modal{border-radius:17px;width:calc(100% - 20px);max-height:90dvh}.modal-header{padding:12px 17px}.modal-header h2{font-size:1.1rem}.modal-content{padding:18px}.modal-content .catalog-tools{flex-wrap:wrap}.modal-content .search{flex-basis:100%}.modal-content .exercise-info{padding:10px}.form-grid{gap:12px}.card{border-radius:15px;padding:20px}.progress-hero{padding:25px 22px}.progress-hero>svg{width:65px}.hero-number{font-size:3.5rem}.calendar-panel{padding:17px 12px}.calendar-panel .section-heading{margin-bottom:16px;padding:0 4px}.calendar-panel h2{font-size:1rem}.calendar-panel .row{gap:0}.week-days{gap:5px}.day{border-radius:9px;gap:9px;padding:13px 3px}.day>span{font-size:.51rem}.day>strong{font-size:1.2rem}.section-heading h2{font-size:1.15rem}.session-card{gap:13px;padding:17px}.session-card h3{font-size:.9rem}.session-card p{font-size:.72rem}.actions{gap:10px}.routine-grid{grid-template-columns:1fr}.editor .section-heading{flex-wrap:wrap}.editor .section-heading h2{font-size:1rem}.editor-footer{bottom:calc(82px + env(safe-area-inset-bottom,0px));gap:10px;padding:12px}.editor-footer>span{font-size:.65rem}.editor-footer>.button{padding:12px;font-size:.75rem}.set-row{gap:12px;padding:12px}.set-label{width:100%}.set-row .form-grid{min-width:100%}.set-actions{width:100%;margin-left:0}.set-actions .button:first-child{flex:1}.date-controls{flex-wrap:wrap;width:100%}.date-controls .field{flex:1}.profile-grid{gap:18px}.install-card{flex-wrap:wrap;gap:10px;padding:14px}.install-card>div{flex-basis:calc(100% - 85px)}.install-card>.button{margin-left:30px}.install-card>.icon-button{margin-left:auto}.pwa-controls{margin-top:30px}.pwa-banner{flex-wrap:wrap;justify-content:flex-start;font-size:.75rem}.compact .hero-number span{letter-spacing:0;font-size:.9rem;display:block}.empty{padding:36px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
