:root{--green:#264e40;--lime:#d7ed9c;--muted:#79817b;--line:#e3e7de}*{box-sizing:border-box}body{margin:0;background:#f7f8f2;color:#26392e;font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer}aside{position:fixed;width:235px;height:100vh;padding:38px 26px;background:#fff;border-right:1px solid var(--line)}.brand{font-family:Manrope,sans-serif;font-size:36px;font-weight:800;color:var(--green);text-decoration:none;letter-spacing:-3px}.brand i{font-size:15px;color:#a1bf60;margin-left:5px}aside>small{display:block;font-size:9px;letter-spacing:2px;margin:32px 9px 16px;color:var(--muted)}nav button{border:0;background:transparent;text-align:left;width:100%;padding:14px 12px;border-radius:9px;color:#748077;margin-bottom:7px}nav button.active{background:#eef3e7;color:var(--green);font-weight:700}.side-bottom{position:absolute;bottom:25px;left:26px;right:26px}.mini-icon{font-size:30px;margin-bottom:15px}.side-bottom b{font-size:13px}.side-bottom p{font-size:11px;color:var(--muted)}.profile{border-top:1px solid var(--line);padding-top:22px;margin-top:28px;display:flex;gap:12px;align-items:center;font-size:13px}.profile>span{background:#e9eddf;border-radius:50%;padding:12px}.profile small{font-size:10px;color:var(--muted)}main{margin-left:235px;padding:0 46px 50px;max-width:1600px}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:var(--muted)}.save-note{letter-spacing:0;font-size:11px}.save-note:first-letter{color:#75a276}.heading{display:flex;justify-content:space-between;align-items:center;margin:34px 0 25px}h1{font-family:Manrope,sans-serif;font-size:31px;letter-spacing:-1px;margin:0 0 8px}p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}h2{font-family:Manrope,sans-serif;font-size:18px;margin:0}h3{font-size:16px;margin:0}.primary{background:var(--green);color:white;border:0;border-radius:8px;padding:12px 18px;font-size:12px;font-weight:600}.secondary{background:white;border:1px solid var(--line);border-radius:8px;padding:10px 15px;color:var(--green);font-size:12px}.hero{background:var(--green);border-radius:15px;padding:32px;color:white;display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero small{font-size:9px;letter-spacing:2px;color:#d7ed9c}.hero h2{font-size:28px;max-width:420px;margin:14px 0;line-height:1.3}.hero p{color:#c6d4ca;max-width:430px}.hero .primary{background:var(--lime);color:var(--green);margin-top:22px}.hero-art{width:230px;height:150px;position:relative;transform:rotate(-20deg);opacity:.9}.bar{position:absolute;top:68px;left:35px;width:170px;height:14px;background:#adc58a;border-radius:7px}.plate{position:absolute;top:20px;width:28px;height:115px;background:#d7ed9c;border:3px solid #264e40;border-radius:8px}.p1{left:28px}.p2{left:57px}.p3{right:22px}.p4{right:51px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0 30px}.stat,.panel,.routine{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.stat-label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between}.stat strong{display:block;font-family:Manrope,sans-serif;font-size:30px;margin:12px 0 5px}.stat strong small{font-size:14px;font-weight:500;color:var(--muted)}.stat p{font-size:11px}.section-top{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px}.text-button{border:0;background:none;color:var(--green);font-size:12px}.routines{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.routine{padding:0;overflow:hidden}.routine-top{height:86px;background:#edf0e3;padding:20px;display:flex;justify-content:space-between;align-items:center}.routine:nth-child(2n) .routine-top{background:#ece9e1}.routine:nth-child(3n) .routine-top{background:#e3eeea}.routine-symbol{font-size:27px;color:var(--green)}.tag{border:1px solid #ccd3bf;border-radius:20px;padding:4px 8px;font-size:9px;letter-spacing:1px}.routine-body{padding:19px}.routine p{font-size:11px;margin:8px 0 18px}.routine-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:var(--muted)}.routine-footer button{border:0;background:none;color:var(--green);font-weight:700}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:26px}.days{display:flex;justify-content:space-between;margin-top:24px}.day{text-align:center;font-size:10px;color:var(--muted)}.day span{display:flex;margin:9px 0;width:35px;height:35px;border-radius:50%;background:#f2f4ed;align-items:center;justify-content:center;font-size:13px}.day.done span{background:var(--lime);color:var(--green)}.empty{padding:25px 0;text-align:center;font-size:12px;color:var(--muted)}.row{padding:16px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.row p{font-size:11px;margin-top:4px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.filters button{border:1px solid var(--line);background:white;border-radius:20px;padding:8px 16px;font-size:12px}.filters .selected{background:var(--green);color:white}.search{width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;background:white}.exercise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.exercise{background:white;border:1px solid var(--line);padding:20px;border-radius:12px}.exercise .tag{display:inline-block;margin-bottom:15px}.exercise p{margin:8px 0 16px}.log-inputs{display:flex;gap:8px;align-items:center}.log-inputs label{font-size:10px;color:var(--muted)}.log-inputs input{display:block;width:65px;padding:10px;border:1px solid var(--line);border-radius:6px;margin-top:4px}dialog{border:0;border-radius:16px;padding:28px;width:420px;max-width:90vw;color:var(--green);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#152c2466}dialog h2{margin-bottom:18px}dialog label{display:block;font-size:12px;margin:14px 0 6px}dialog input,dialog select{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 22px;border-radius:9px;font-size:13px;display:none}.notice{background:#eef3e7;padding:12px 16px;border-radius:8px;font-size:12px;margin:15px 0}.danger{color:#a34838}.progress-line{height:5px;background:#edf0e6;border-radius:5px;margin-top:16px;overflow:hidden}.progress-line span{height:100%;display:block;background:#91af63}@media(max-width:1000px){aside{width:190px;padding:30px 18px}main{margin-left:190px;padding:0 24px 40px}.routines,.exercise-grid{grid-template-columns:repeat(2,1fr)}.hero-art{width:180px}.bottom-grid{grid-template-columns:1fr}}@media(max-width:650px){aside{position:static;width:auto;height:auto;padding:18px;border-bottom:1px solid var(--line)}.brand{font-size:28px}aside>small,.side-bottom{display:none}nav{display:flex;margin-top:15px}nav button{padding:9px 5px;font-size:10px;text-align:center}main{margin:0;padding:0 18px 30px}header{height:55px;font-size:8px}.heading{margin-top:24px}h1{font-size:25px}.hero{padding:24px}.hero h2{font-size:23px}.hero-art{display:none}.stats{gap:8px}.stat{padding:13px}.stat strong{font-size:24px}.stat-label{font-size:10px}.routines,.exercise-grid{grid-template-columns:1fr}.log-inputs{flex-wrap:wrap}.row{flex-wrap:wrap}}

.library-controls{display:flex;gap:12px;margin:20px 0 12px}.library-controls select{padding:12px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--green);min-width:160px}.result-count{margin-bottom:18px}button:disabled{opacity:.45;cursor:default}.stats{margin-top:0}.hero,.hero-art{display:none}@media(max-width:650px){.library-controls{flex-direction:column}.heading{gap:15px;align-items:flex-start}.heading .primary{white-space:nowrap}.stat-label{flex-wrap:wrap;gap:5px}}

@media(max-width:650px){button{min-height:44px}input,select{font-size:16px}dialog{max-height:90dvh;overflow:auto}dialog .actions{flex-wrap:wrap}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:first-child{grid-column:1/-1}.stat{padding:18px}.stat strong{margin-top:10px}.log-inputs{width:100%}.log-inputs label{flex:1}.log-inputs input{width:100%;min-height:44px}.row>div:first-child{min-width:0;overflow-wrap:anywhere}h3{overflow-wrap:anywhere}.heading{flex-wrap:wrap}.heading p{max-width:100%}nav button{min-height:44px}.day span{width:32px;height:32px}}

.theme-toggle{display:block;margin-top:20px;background:transparent;border:1px solid var(--line);border-radius:8px;padding:10px 14px;color:var(--green);font-size:12px;min-height:44px}
:root{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark;--green:#c9e5b0;--lime:#d7ed9c;--muted:#a9b6ad;--line:#38453c}
[data-theme="dark"] body{background:#151c18;color:#e8eee9}
[data-theme="dark"] aside,[data-theme="dark"] .stat,[data-theme="dark"] .panel,[data-theme="dark"] .routine,[data-theme="dark"] .exercise,[data-theme="dark"] dialog{background:#202a23}
[data-theme="dark"] nav button{color:#a9b6ad}
[data-theme="dark"] nav button.active,[data-theme="dark"] .profile>span,[data-theme="dark"] .day span,[data-theme="dark"] .notice{background:#334535;color:#d7ed9c}
[data-theme="dark"] .primary,[data-theme="dark"] #toast{background:#d7ed9c;color:#1b3021}
[data-theme="dark"] .secondary,[data-theme="dark"] .search,[data-theme="dark"] .library-controls select,[data-theme="dark"] input,[data-theme="dark"] select{background:#18211b;color:#e8eee9;border-color:var(--line)}
[data-theme="dark"] input::placeholder{color:#9eafa2}
[data-theme="dark"] .routine-top{background:#30402e}
[data-theme="dark"] .routine:nth-child(2n) .routine-top{background:#3a372e}
[data-theme="dark"] .routine:nth-child(3n) .routine-top{background:#2b4039}
[data-theme="dark"] .tag{border-color:#586b55}
[data-theme="dark"] .progress-line{background:#38453c}
[data-theme="dark"] .day.done span{background:#d7ed9c;color:#1b3021}
[data-theme="dark"] .danger{color:#f4a994}
:focus-visible{outline:2px solid #88a85c;outline-offset:3px}
@media(max-width:650px){aside{position:relative}.theme-toggle{position:absolute;top:16px;right:18px;margin:0}}

[hidden]{display:none!important}@media(max-width:650px){.install-button{position:static;margin-top:14px}}

dialog ol{padding-left:22px;font-size:14px;line-height:1.7}dialog li{margin:10px 0}
.workout-exercise{padding:22px 0;border-bottom:1px solid var(--line)}.workout-exercise:last-of-type{border-bottom:0}.set-table{margin-top:18px}.set-head,.set-row{display:grid;grid-template-columns:44px minmax(90px,1.4fr) minmax(65px,1fr) minmax(65px,1fr) 44px;gap:12px;align-items:center}.set-head{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.6px;text-align:center;margin-bottom:10px}.set-row{margin:10px 0}.set-number,.set-check{height:44px;display:flex;align-items:center;justify-content:center;background:#eef1e9;border-radius:10px;font-weight:700}.set-previous{color:var(--muted);text-align:center;font-size:13px}.set-row input{width:100%;min-width:0;margin:0;height:44px;border:1px solid var(--line);border-radius:10px;text-align:center;padding:5px;background:transparent;color:inherit}.set-check{border:1px solid var(--line);color:var(--muted);font-size:24px}.set-check[aria-pressed=true]{background:var(--green);border-color:var(--green);color:white}.is-complete input{border-color:#8eaf79}.set-actions{display:flex;gap:16px;margin-top:14px}.set-check:focus-visible,.set-row input:focus-visible{outline:2px solid #8eaf79;outline-offset:3px}[data-theme=dark] .set-number,[data-theme=dark] .set-check{background:#28322b}[data-theme=dark] .set-check[aria-pressed=true]{background:#d7ed9c;color:#18251b}[data-theme=dark] .set-row input{background:#18211b;color:#edf3e9}@media(max-width:600px){.set-head,.set-row{grid-template-columns:32px minmax(65px,1.2fr) minmax(50px,1fr) minmax(45px,1fr) 40px;gap:6px}.set-head{font-size:10px;letter-spacing:0}.set-previous{font-size:11px}.set-number{height:40px}.set-row input{padding:3px;font-size:16px}.workout-exercise h3{font-size:15px}.set-actions{gap:6px;justify-content:space-between}}
.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.summary-stats>div{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.summary-stats strong{font-size:26px;display:block}.summary-stats span{font-size:12px;color:var(--muted)}.muscle-summary .section-top{margin:0 0 22px;gap:12px}.muscle-summary h2{margin-bottom:7px}.muscle-layout{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(180px,1fr);gap:32px;align-items:center}.body-views{display:flex;gap:18px;justify-content:center;background:#f4f6ef;border-radius:16px;padding:20px}.body-views figure{margin:0;flex:1;max-width:180px;text-align:center}.body-diagram{width:100%;max-height:345px}.body-outline{fill:#e2e6dd;stroke:#c0c8bc;stroke-width:1.5}.muscle-region{fill:#ccd4c7;stroke:#f4f6ef;stroke-width:1.5}.muscle-region.targeted{fill:#81a55a}.body-views figcaption{font-size:11px;color:var(--muted);margin-top:12px;letter-spacing:1px;text-transform:uppercase}.muscle-key{white-space:nowrap;font-size:11px;color:var(--muted)}.muscle-key i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#81a55a;margin-right:5px}.muscle-item{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}.muscle-item b{font-size:12px;color:var(--muted);font-weight:500}.diagram-note{margin-top:18px;font-size:11px}[data-theme=dark] .summary-stats>div{background:#202922}[data-theme=dark] .body-views{background:#18211b}[data-theme=dark] .body-outline{fill:#313c32;stroke:#4d594c}[data-theme=dark] .muscle-region{fill:#43503e;stroke:#18211b}[data-theme=dark] .muscle-region.targeted{fill:#d7ed9c}[data-theme=dark] .muscle-key i{background:#d7ed9c}@media(max-width:600px){.muscle-layout{grid-template-columns:1fr;gap:20px}.summary-stats>div{padding:14px 10px}.summary-stats strong{font-size:21px}.summary-stats span{font-size:10px}.body-views{padding:14px}.muscle-summary .section-top{align-items:flex-start}.muscle-summary .muscle-key{margin-top:4px}}
.history-session{padding:26px 0;border-bottom:1px solid var(--line)}.history-session:first-child{padding-top:4px}.history-session:last-child{border-bottom:0;padding-bottom:4px}.history-session-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.history-session-heading h3{font-size:19px;margin-bottom:6px}.history-session-heading .tag{font-size:9px;white-space:nowrap;padding-top:6px}.history-exercise{margin:0 0 22px}.history-exercise:last-child{margin-bottom:0}.history-exercise h4{font-size:14px;margin:0 0 10px;font-weight:600}.history-sets{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.history-sets li{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f8faf5;border-bottom:1px solid var(--line);font-size:13px}.history-sets li:last-child{border-bottom:0}.history-set-number{min-width:50px;color:var(--muted);font-size:12px}.history-set-result{display:flex;align-items:center;gap:20px;flex:1}.history-set-result b{min-width:70px;font-weight:600}.history-set-result small{font-weight:400;color:var(--muted);font-size:11px}.history-times{color:var(--muted)}.history-set-check{color:#71904e}.history-compact{padding:16px 0}.history-compact .history-session-heading{margin:0}.history-compact .history-session-heading h3{font-size:14px}.history-compact .history-session-heading p{font-size:11px}[data-theme=dark] .history-sets li{background:#18211b}[data-theme=dark] .history-set-check{color:#d7ed9c}@media(max-width:600px){.history-session-heading h3{font-size:17px}.history-sets li{padding:12px;gap:10px}.history-set-result{gap:12px}.history-set-result b{min-width:58px}.history-session-heading{gap:8px}.history-set-number{min-width:40px}}
.history-set-result{gap:7px;flex:0 1 auto}.history-set-result b{min-width:0}.history-sets li{gap:12px}@media(max-width:600px){.history-set-result{gap:6px}.history-set-result b{min-width:0}}
.history-dropdown>summary{cursor:pointer;list-style:none;min-height:52px;border-radius:6px}.history-dropdown>summary::-webkit-details-marker{display:none}.history-dropdown>summary:focus-visible{outline:2px solid var(--green);outline-offset:5px}.history-dropdown .history-session-heading{margin:0;align-items:center}.history-status{display:flex;align-items:center;gap:12px}.history-status .tag{padding:0}.history-chevron{font-size:20px;color:var(--muted);transition:transform .15s}.history-dropdown[open] .history-chevron{transform:rotate(180deg)}.history-workout-details{padding-top:24px}.history-dropdown>summary:hover h3{color:#71904e}[data-theme=dark] .history-dropdown>summary:hover h3{color:#d7ed9c}
.workout-clock{border:1px solid var(--line);border-radius:12px;padding:12px 20px;text-align:center;min-width:122px;background:#fff}.workout-clock span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.workout-clock strong{font-variant-numeric:tabular-nums;font-size:24px;letter-spacing:1px}.replace-action{margin-top:9px}.replace-action .text-button{padding:5px 0}.summary-stats.has-duration{grid-template-columns:repeat(4,1fr)}[data-theme=dark] .workout-clock{background:#202922}@media(max-width:600px){.workout-clock{padding:9px 14px;min-width:100px}.workout-clock strong{font-size:21px}.summary-stats.has-duration{grid-template-columns:repeat(2,1fr)}}
.exercise-order-heading{display:flex;align-items:center;gap:12px;min-width:0}.exercise-drag-handle{flex-shrink:0;width:40px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:25px;cursor:grab;touch-action:none;user-select:none}.exercise-drag-handle:active{cursor:grabbing}.exercise-drag-handle:focus-visible{outline:2px solid #81a55a;outline-offset:3px}.routine-order-item{position:relative;border-radius:8px}.routine-order-item.is-dragging{opacity:.5}.routine-order-item.order-drop-target{box-shadow:0 -3px 0 #81a55a;background:rgba(129,165,90,.08)}@media(max-width:600px){.exercise-order-heading{gap:8px}.exercise-drag-handle{width:32px}.exercise-order-heading h3{font-size:14px}}
.history-delete-action{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;display:flex;justify-content:flex-end}.delete-confirm{background:#a8403a;color:#fff}#modal p+p{margin-top:12px}
.routine-exercise-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.routine-order-item.row{gap:12px;flex-wrap:wrap}.routine-exercise-actions .text-button{padding:7px 0}@media(max-width:600px){.routine-exercise-actions{margin-left:40px;gap:20px}}
.exercise-progress{margin:0 0 14px}.exercise-progress>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px}.exercise-progress>summary::-webkit-details-marker{display:none}.exercise-progress summary h3{margin:0 0 5px;font-size:16px}.exercise-progress summary p{font-size:11px}.progress-best{white-space:nowrap;font-size:16px;font-weight:600}.progress-best small{font-size:11px;color:var(--muted);font-weight:400}.progress-expand{display:inline-block;margin-left:16px;color:var(--muted)}.exercise-progress[open] .progress-expand{transform:rotate(180deg)}.exercise-progress-content{padding-top:24px}.exercise-progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:20px}.exercise-progress-stats b,.exercise-progress-stats span{display:block}.exercise-progress-stats b{font-size:18px;margin-bottom:5px}.exercise-progress-stats span{font-size:10px;color:var(--muted)}.progress-chart{background:#f4f6ef;border-radius:12px;padding:16px;margin-bottom:14px}.chart-caption,.chart-dates{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px}.chart-caption b{font-weight:500;color:var(--green)}.progress-chart svg{display:block;width:100%;max-height:180px}.trend-baseline{stroke:var(--line);stroke-width:1;fill:none}.trend-line{stroke:#81a55a;stroke-width:2.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.trend-point{fill:#81a55a;stroke:#fff;stroke-width:1.5}.progress-note{font-size:11px;margin-bottom:20px}.exercise-progress-content>h4{font-size:13px;margin:24px 0 14px}.progress-workout{margin-bottom:20px}.progress-workout-heading{display:flex;justify-content:space-between;gap:12px;margin:0 0 9px;font-size:11px}.progress-workout-heading span{color:var(--muted)}.progress-search{margin:22px 0 12px}.progress-search input{max-width:500px;width:100%}.exercise-progress summary:focus-visible{outline:2px solid #81a55a;outline-offset:5px}[data-theme=dark] .progress-chart{background:#18211b}[data-theme=dark] .chart-caption b{color:#d7ed9c}[data-theme=dark] .trend-line{stroke:#d7ed9c}[data-theme=dark] .trend-point{fill:#d7ed9c;stroke:#18211b}@media(max-width:600px){.exercise-progress{padding:16px}.exercise-progress>summary{align-items:flex-start}.progress-best{font-size:14px}.progress-best small{display:block}.progress-expand{margin-left:6px}.exercise-progress-stats b{font-size:16px}.progress-workout-heading{flex-wrap:wrap}}
.progress-history-note{font-size:11px;margin:-5px 0 18px}.progress-workout-heading b{font-size:12px}.progress-workout+.progress-workout{padding-top:6px}
