:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#eef1ec;background:#131715;font-synthesis:none;--bg:#131715;--panel:#1d221f;--line:#343b35;--muted:#a0aba2;--lime:#c7f76a;--orange:#f0b574;--red:#ffadad}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;background:#282f29;color:inherit;padding:12px 16px;min-height:44px;font-weight:600}button:hover{background:#374137}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:3px}button.primary{background:var(--lime);color:#192113;border-color:var(--lime)}button.primary:hover{background:#d8ff95}button.ghost{background:transparent}button.danger{color:var(--red)}button.small{padding:8px 11px;font-size:14px}a{color:var(--lime);text-decoration:none}input,select,textarea{width:100%;min-height:46px;border:1px solid #485247;border-radius:9px;background:#141915;color:#fff;padding:11px 12px}input:focus,select:focus,textarea:focus{outline:2px solid var(--lime);outline-offset:1px}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--lime)}label{display:block;color:#bac4bb;font-size:14px;line-height:1.5}label>input,label>select,label>textarea{margin-top:6px}textarea{min-height:92px;resize:vertical}h1,h2,h3,p{margin-top:0}h1{font-size:34px;letter-spacing:-1px;line-height:1.15;margin-bottom:12px}h2{font-size:22px;letter-spacing:-.45px}h3{font-size:17px}p{line-height:1.6}small,.muted{color:var(--muted)}small{font-size:13px}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{padding:34px 20px;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;width:230px;display:flex;flex-direction:column;background:var(--bg);z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:800;letter-spacing:3px;margin:0 12px 46px}.brand img{width:34px;height:34px;border-radius:8px}.sidebar nav{display:grid;gap:7px}.navitem{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:9px;color:#aeb8af;font-weight:500}.navitem.active{background:#2a3523;color:var(--lime)}.navitem svg{width:21px;height:21px;flex:none}.sidefoot{margin-top:auto;padding:20px 12px 0;font-size:13px;color:var(--muted);line-height:1.7}.main{grid-column:2;padding:0 44px 60px;max-width:1520px;width:100%;margin:auto}.topbar{height:89px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:32px;color:var(--muted);font-size:14px}.profilepill{display:flex;align-items:center;gap:10px}.avatar{background:#343e30;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;color:var(--lime)}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 27px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--lime);text-transform:uppercase;font-weight:700;margin-bottom:12px}.pagehead p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:15px;min-width:0;margin-bottom:20px}.grid>.card{margin:0}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.cardhead h2,.cardhead h3{margin:0}.hero{background:var(--lime);color:#182010;padding:30px;position:relative;overflow:hidden}.hero h2{font-size:29px;max-width:350px;margin-bottom:12px}.hero p{color:#41502d;max-width:400px}.hero button{background:#182010;color:var(--lime);border:0}.hero .eyebrow{color:#465433}.hero .mark{position:absolute;right:24px;top:35px;font-size:100px;line-height:1;font-weight:900;opacity:.1;pointer-events:none}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.stat{padding:21px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.stat strong{display:block;font-size:32px;letter-spacing:-1px;margin:10px 0 5px;font-weight:600}.stat span{color:var(--muted);font-size:14px}.stat em{font-style:normal;font-size:13px;color:var(--lime)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.row:last-child{border-bottom:0}.row h3{margin:0 0 5px}.actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.pill{display:inline-block;padding:5px 9px;border-radius:6px;background:#303c27;color:var(--lime);font-size:12px;font-weight:600}.pill.orange{color:var(--orange);background:#3a3025}.empty{padding:30px 15px;text-align:center;color:var(--muted)}.empty strong{display:block;color:#e5ece2;font-size:19px;margin-bottom:10px}.barrow{display:grid;grid-template-columns:130px 1fr 40px;gap:12px;align-items:center;margin:17px 0;font-size:14px}.track{height:9px;background:#303831;border-radius:9px;overflow:hidden}.fill{height:100%;background:var(--lime);border-radius:9px}.barrow:nth-child(2n) .fill{background:#8dbb79}.weekstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0}.weekday{text-align:center;color:var(--muted);font-size:12px}.daydot{display:grid;place-items:center;height:42px;border:1px solid var(--line);border-radius:9px;margin-top:7px;color:#c3ccc2;font-size:14px}.daydot.done{background:#36462a;border-color:#5f793d;color:var(--lime)}.daydot.today{border-color:var(--lime)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.toolbar>*{flex:1;min-width:140px}.toolbar button{flex:0 0 auto}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full{grid-column:1/-1}.checkgrid{display:flex;gap:10px;flex-wrap:wrap}.checklabel{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:9px 12px}.checklabel:has(input:checked){border-color:var(--lime);color:var(--lime);background:#2d3826}.checklabel input{margin:0}.formactions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px;position:sticky;bottom:-24px;background:var(--panel);padding:14px 0}.overlay{position:fixed;inset:0;background:#000b;z-index:40;display:grid;place-items:center;padding:18px;backdrop-filter:blur(4px)}.dialog{background:var(--panel);border:1px solid #4b5746;border-radius:18px;max-width:720px;width:100%;max-height:92dvh;overflow:auto;padding:25px;box-shadow:0 25px 100px #0008}.dialog.wide{max-width:960px}.dialoghead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.dialoghead h2{margin:0}.exercise{border-left:3px solid #759653}.exercise .previous{padding:12px;background:#151b15;border-radius:8px;color:#adbba8;font-size:14px;margin:15px 0}.setgrid{display:grid;grid-template-columns:30px 90px 1fr 1fr 65px 45px 35px;gap:8px;align-items:center;margin:9px 0}.setgrid input,.setgrid select{min-width:0;padding:10px 6px;text-align:center}.setgrid .small{padding:8px 5px}.sethead{font-size:12px;color:var(--muted);text-align:center}.setgrid.completed input{border-color:#577842;color:var(--lime);background:#273221}.setgrid button.checked{background:var(--lime);color:#182010}.trackerbar{position:sticky;top:0;background:#131715f5;z-index:8;padding:16px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:22px;gap:10px}.clock{font-variant-numeric:tabular-nums;font-size:24px}.restbar{position:fixed;bottom:22px;right:25px;z-index:30;padding:16px 20px;border:1px solid var(--lime);border-radius:13px;background:#273322;box-shadow:0 8px 30px #0006;display:flex;align-items:center;gap:12px;max-width:95vw}.restbar strong{font-size:24px;font-variant-numeric:tabular-nums}.notice{padding:14px 18px;border-left:3px solid var(--orange);background:#332c22;border-radius:6px;margin-bottom:20px;color:#efd7b8;font-size:14px;line-height:1.6}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calhead{text-align:center;color:var(--muted);font-size:13px;padding:10px}.calday{min-height:80px;background:#181e19;text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.calday.selected{border-color:var(--lime);background:#2e3a25}.calday b{font-weight:500}.calday .pill{font-size:11px;padding:3px 5px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th{font-weight:500;color:var(--muted)}td,th{padding:13px 10px;border-bottom:1px solid var(--line)}.chart{height:230px;width:100%;overflow:visible}.chart text{fill:var(--muted);font-size:12px}.chart circle{cursor:pointer}.chart circle:hover{r:7;fill:#fff}.charttip{min-height:26px;color:var(--lime);font-size:14px}.chartwrap{padding:10px 6px}.report{font-family:Consolas,monospace;font-size:13px;min-height:360px;white-space:pre-wrap}.bottomnav{display:none}#toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#e3f5cf;color:#14220c;padding:13px 22px;border-radius:9px;z-index:70;box-shadow:0 5px 25px #0006;display:none;max-width:90vw}.demo-banner{background:#3e3221;color:#f8d5a0;padding:10px 20px;text-align:center;font-size:14px}.loading{padding:50px}.details{color:var(--muted);line-height:1.7}.details summary{cursor:pointer;color:var(--lime);padding:10px 0}.source{border-top:1px solid var(--line);padding-top:14px;font-size:13px}.programcard .number{font-size:34px;color:#4f6047}.separator{height:1px;background:var(--line);margin:20px 0}.save-state{color:var(--lime);font-size:12px}.error-state{color:var(--red)}
@media(min-width:1500px){.main{padding-left:60px;padding-right:60px}.hero{padding:36px}}@media(max-width:1100px){.sidebar{width:190px;padding-left:12px;padding-right:12px}.shell{grid-template-columns:190px 1fr}.main{padding:0 24px 50px}.stats{gap:10px}.stat{padding:16px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.setgrid{grid-template-columns:25px 80px 1fr 1fr 55px 40px 30px}}
@media(max-width:760px){.shell{display:block}.sidebar{display:none}.main{padding:0 16px 115px}.topbar{height:68px;margin-bottom:24px}.topbar .crumb{font-size:20px;font-weight:800;letter-spacing:2px;color:#e9efdf}.topbar .profilepill>span{display:none}h1{font-size:29px}.pagehead{align-items:flex-start;gap:12px}.pagehead .primary{font-size:14px;padding:11px}.grid,.grid.three{grid-template-columns:1fr;gap:16px}.card{padding:20px;border-radius:13px;margin-bottom:16px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.stat strong{font-size:30px}.hero h2{font-size:28px}.hero{padding:24px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;border-top:1px solid var(--line);background:#171d18f5;z-index:25;padding:8px 4px max(8px,env(safe-area-inset-bottom));justify-content:space-around;backdrop-filter:blur(12px)}.bottomnav a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 8px;color:#a7b2a6;font-size:11px}.bottomnav svg{width:22px;height:22px}.bottomnav a.active{color:var(--lime)}.fields{gap:12px}.dialog{padding:19px;max-height:91dvh}.overlay{padding:9px}.setgrid{grid-template-columns:20px 66px minmax(46px,1fr) minmax(43px,1fr) 43px 35px 25px;gap:4px}.setgrid input,.setgrid select{font-size:14px;padding:10px 2px}.setgrid button{min-height:44px;border-radius:7px}.setgrid .small{padding:7px 2px}.exercise{padding:15px 10px}.exercise .cardhead{padding:0 5px;align-items:flex-start}.exercise h3{font-size:16px}.restbar{bottom:86px;right:10px;left:10px;justify-content:space-between;gap:7px;padding:12px}.restbar .actions{gap:4px}.restbar button{padding:7px;font-size:12px}.restbar strong{font-size:22px}.calday{min-height:63px;padding:8px 5px}.calendar{gap:4px}.calday .pill{font-size:10px}.toolbar{gap:8px}.barrow{grid-template-columns:110px 1fr 35px}.formactions{bottom:-19px}.trackerbar{top:0}.trackerbar button{font-size:14px}#toast{bottom:94px}.chart{height:210px}.row{flex-wrap:wrap}.pagehead .actions{justify-content:flex-end}.fullmobile{width:100%}}

[hidden]{display:none!important}

.exercises-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-library-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:18px;padding:18px;overflow:hidden}.exercise-library-copy{min-width:0;padding-left:6px}.exercise-library-copy h3{font-size:20px;line-height:1.2;margin:15px 0 8px}.exercise-library-copy .actions{margin-top:18px}.exercise-visual{position:relative;isolation:isolate;aspect-ratio:1;background:#dff2f8;border:1px solid #405b5b;border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 1px #fff5}.exercise-phase{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.muscle-map{position:absolute;right:7px;bottom:7px;z-index:3;width:48px;height:72px;padding:5px;border:1px solid #ffffff73;border-radius:9px;background:#111a18dc;filter:drop-shadow(0 3px 8px #0008)}.muscle-map .body-shape{fill:#cbd5cf;stroke:#26302b;stroke-width:1}.muscle-map .target{display:none;fill:#f14d42;stroke:#9e201b;stroke-width:.8}.muscle-chest .target-chest,.muscle-back .target-back,.muscle-shoulders .target-shoulders,.muscle-arms .target-arms,.muscle-legs .target-legs,.muscle-core .target-core{display:block}.exercise-visual.animated{width:min(100%,360px);margin:auto}.exercise-visual.animated .muscle-map{width:58px;height:86px}.exercise-visual.animated .phase-start{animation:exercise-start 2.4s steps(1,end) infinite}.exercise-visual.animated .phase-peak{opacity:0;animation:exercise-peak 2.4s steps(1,end) infinite}@keyframes exercise-start{0%,46%,100%{opacity:1}50%,96%{opacity:0}}@keyframes exercise-peak{0%,46%,100%{opacity:0}50%,96%{opacity:1}}.exercise-detail-layout{display:grid;grid-template-columns:minmax(250px,340px) 1fr;gap:24px;align-items:start}.exercise-animation-wrap{padding:8px;border-radius:15px;background:#141a16;border:1px solid var(--line)}.exercise-detail-copy p:first-of-type{margin-top:22px}.animation-caption,.media-credit{font-size:12px;color:var(--muted);line-height:1.5}.animation-caption{text-align:center;margin:9px 12px 0}.media-credit{text-align:right;margin:16px 2px}.custom-visual{display:grid;place-items:center;align-content:center;gap:10px;background:linear-gradient(145deg,#293526,#151b16);color:var(--lime)}.custom-body{font-size:76px;line-height:.8;color:#a7cf70}.custom-visual b{font-size:12px;max-width:90%;text-align:center}.grouped-picker{display:grid;gap:10px}.picker-group{border:1px solid var(--line);border-radius:11px;background:#171d18;overflow:hidden}.picker-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;cursor:pointer;color:#edf3e8;font-size:17px;font-weight:700;list-style:none}.picker-group summary::-webkit-details-marker{display:none}.picker-group summary:after{content:'⌄';color:var(--lime);font-size:22px;transition:transform .18s}.picker-group[open] summary:after{transform:rotate(180deg)}.picker-count{margin-left:auto;padding:4px 8px;border-radius:6px;background:#303c27;color:var(--lime);font-size:12px}.picker-group-list{padding:0 16px 8px;border-top:1px solid var(--line)}.picker-exercise h3{font-size:15px;margin:0 0 4px}.picker-exercise{padding:13px 2px}.picker-exercise button{min-width:44px;min-height:44px}
@media(max-width:1100px){.exercise-library-card{grid-template-columns:minmax(0,1fr) 165px}.exercise-detail-layout{grid-template-columns:280px 1fr}}
@media(max-width:760px){.exercises-grid{grid-template-columns:1fr}.exercise-library-card{grid-template-columns:minmax(0,1fr) 138px;gap:11px;padding:13px}.exercise-library-copy{padding-left:2px}.exercise-library-copy h3{font-size:17px;margin:12px 0 7px}.exercise-library-copy p{font-size:13px;margin:7px 0}.exercise-library-copy small{font-size:11px}.exercise-library-copy .actions{margin-top:13px}.exercise-library-copy button{font-size:12px;padding:9px}.exercise-detail-layout{grid-template-columns:1fr;gap:20px}.exercise-visual.animated{max-width:310px}.picker-group summary{padding:15px}.picker-group-list{padding:0 13px 6px}}
@media(prefers-reduced-motion:reduce){.exercise-visual.animated .phase-start{animation:none;opacity:0}.exercise-visual.animated .phase-peak{animation:none;opacity:1}}

button{line-height:1.25;text-align:center;white-space:normal;overflow-wrap:anywhere}.checklabel{min-width:0;max-width:100%;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.checklabel input{flex:0 0 20px}.checklabel>span{min-width:0}.fields>.checklabel{align-self:end;min-height:46px}.profile-form .checkgrid{align-items:stretch}
.muscle-heatmap-card{overflow:hidden}.anatomy-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:760px;margin:5px auto 18px}.anatomy-view{min-width:0;text-align:center}.anatomy-view>span{display:block;color:var(--muted);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}.anatomy-figure{display:block;width:100%;max-height:440px;margin:auto;overflow:visible}.anatomy-figure .body-base{fill:#2b3330;stroke:none}.anatomy-figure .body-outline{fill:none;stroke:#aeb8b1;stroke-width:1.7;stroke-linejoin:round;pointer-events:none}.anatomy-figure .heat-region{fill:#3a433e;stroke:#d9e2dc;stroke-width:1.15;stroke-linejoin:round;transition:filter .15s,opacity .15s}.anatomy-figure .heat-region:hover{filter:brightness(1.18);stroke:#fff}.anatomy-figure .muscle-line{fill:none;stroke:#aeb9b1;stroke-width:1;stroke-linecap:round;opacity:.78;pointer-events:none}.anatomy-figure .heat-1{fill:#ffe2df}.anatomy-figure .heat-2{fill:#ffb8b1}.anatomy-figure .heat-3{fill:#ff8378}.anatomy-figure .heat-4{fill:#f34e43}.anatomy-figure .heat-5{fill:#c91818}.heat-legend{display:flex;align-items:center;justify-content:center;gap:7px;margin:10px auto 18px;color:var(--muted);font-size:12px}.heat-legend i{display:block;width:34px;height:12px;border-radius:4px;border:1px solid #ffffff35}.heat-legend .heat-1{background:#ffe2df}.heat-legend .heat-2{background:#ffb8b1}.heat-legend .heat-3{background:#ff8378}.heat-legend .heat-4{background:#f34e43}.heat-legend .heat-5{background:#c91818}.heatmap-note{max-width:820px;text-align:center;margin:0 auto;font-size:13px}
.anatomy-figure .heat-4{fill:#ff4b3e}.anatomy-figure .heat-5{fill:#ff2118}.heat-legend .heat-4{background:#ff4b3e}.heat-legend .heat-5{background:#ff2118}
.radar-card{overflow:hidden}.radar-toolbar{max-width:360px;margin:0 auto 4px}.radar-wrap{max-width:760px;margin:auto}.radar-chart{display:block;width:100%;height:auto;max-height:570px;margin:auto;overflow:visible}.radar-grid{fill:none;stroke:#465148;stroke-width:1}.radar-axis{stroke:#465148;stroke-width:1}.radar-scale{fill:#7f8b82;font-size:10px}.radar-area{fill:#c7f76a35;stroke:var(--lime);stroke-width:3;stroke-linejoin:round}.radar-point{fill:var(--lime);stroke:#192113;stroke-width:2;cursor:pointer}.radar-point:hover,.radar-point:focus{fill:#fff;stroke:var(--lime);outline:none}.radar-label{fill:#dce5dc;font-size:12px}.radar-label-value{fill:var(--lime);font-size:11px;font-weight:700}.radar-wrap .charttip{text-align:center;margin-top:-8px}
@media(max-width:760px){.profile-form .auto-rest-toggle{grid-column:1/-1;padding:12px 14px}.profile-form .checkgrid{gap:8px}.profile-form .checkgrid .checklabel{padding:10px}.muscle-heatmap-card{padding:16px}.muscle-heatmap-card .cardhead{align-items:flex-start}.anatomy-wrap{gap:8px;margin-top:2px}.anatomy-figure{max-height:330px}.heat-legend{gap:4px}.heat-legend i{width:23px}.heatmap-note{text-align:left}}
@media(max-width:760px){.radar-card{padding:16px 8px}.radar-card .cardhead{padding:0 8px;align-items:flex-start}.radar-card .cardhead h2{font-size:20px}.radar-toolbar{padding:0 8px}.radar-chart{width:108%;max-width:none;margin-left:-4%}.radar-label{font-size:14px}.radar-label-value{font-size:13px}.radar-scale{font-size:10px}.radar-wrap .charttip{padding:0 12px;font-size:12px}}
