:root{--bg:#0b0c0f;--panel:#14161b;--line:#262a32;--text:#f5f7fb;--muted:#979da9;--accent:#d9ff43;--accentText:#10120b;--danger:#ff6767}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}body{margin:0;background:radial-gradient(900px 500px at 70% -10%,#1d2416 0,transparent 60%),var(--bg);min-height:100vh}.top{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);position:sticky;top:0;background:#0b0c0fe8;backdrop-filter:blur(16px);z-index:5}.brand{font-weight:950;letter-spacing:.08em;color:var(--text);text-decoration:none}.top nav{display:flex;gap:18px;align-items:center}.top nav a,.linkbtn{color:var(--muted);text-decoration:none;background:none;border:0;font:inherit;padding:0;cursor:pointer}.top nav form{margin:0}.container{width:min(1120px,calc(100% - 32px));margin:0 auto 80px}.hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:56px 0 28px}.hero.compact{padding-top:34px}.hero h1{font-size:clamp(34px,6vw,64px);line-height:.95;margin:7px 0 14px;letter-spacing:-.045em;max-width:760px}.hero.compact h1{font-size:clamp(31px,5vw,50px)}.hero h2{font-size:34px;margin:6px 0}.hero p,.card p,.exercise p{color:var(--muted);line-height:1.55;max-width:760px}.eyebrow{font-size:12px;color:var(--accent);font-weight:900;letter-spacing:.14em}.primary{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:var(--accent);color:var(--accentText);font-weight:900;padding:14px 18px;text-decoration:none;cursor:pointer;min-height:48px}.primary:disabled{opacity:.55}.full{width:100%}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(2,1fr)}.card,.panel,.exercise{background:linear-gradient(180deg,#17191f,#111318);border:1px solid var(--line);border-radius:22px;padding:22px}.daycard{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.daynum{width:42px;height:42px;border-radius:50%;background:#252a1f;color:var(--accent);display:grid;place-items:center;font-weight:950}.card h2,.exercise h2,.panel h2{margin:6px 0 10px}.meta{color:var(--muted);font-size:13px}.section{margin-top:44px}.history{display:grid}.history>div{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}.history span{color:var(--muted)}.status{color:#ffc56d}.status.done{color:var(--accent)}.exercise-list{display:grid;gap:18px}.exercise{padding:24px}.exercise-head{display:flex;gap:20px;justify-content:space-between}.video{color:var(--accent);font-weight:800;text-decoration:none;white-space:nowrap}.prescription{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.prescription span{background:#0d0f13;border:1px solid var(--line);border-radius:12px;padding:10px 12px;color:var(--muted)}.prescription b{color:var(--text)}.sets{display:grid;gap:8px}.setrow{display:grid;grid-template-columns:48px 1fr 1fr 50px;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px}.setrow.done{border-color:#4b5b25;background:#171d10}.setrow label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--muted);font-size:12px}.setrow input{min-width:0}.check{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#20232a;color:var(--muted);font-size:20px}.check.checked{background:var(--accent);color:var(--accentText)}input,select,textarea{width:100%;background:#0c0e12;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:12px;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:#586523}label{display:grid;gap:7px;color:#c3c7ce;font-size:14px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.span2{grid-column:1/-1}.stack{display:grid;gap:16px}.twocol{display:grid;grid-template-columns:360px 1fr;gap:18px}.notice{background:#1a2412;border:1px solid #3e5320;color:#dfffa5;border-radius:14px;padding:14px;margin-bottom:18px}.error{background:#2a1517;border:1px solid #5c272c;color:#ffb9bf;border-radius:14px;padding:14px}.hidden{display:none!important}.bottom{margin:20px 0 70px}.loginbody{display:grid;min-height:100vh;place-items:center;padding:20px}.login{width:min(420px,100%)}.login h1{font-size:48px;margin:6px 0 10px}.muted{color:var(--muted)}ul{padding-left:18px;color:var(--muted);line-height:1.6}li b{color:var(--text)}
@media(max-width:760px){.top{height:auto;min-height:62px;padding:12px 16px;align-items:flex-start}.top nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:13px}.container{width:min(100% - 22px,1120px)}.hero{align-items:stretch;flex-direction:column;padding-top:32px}.hero .primary{width:100%}.cards,.formgrid,.twocol{grid-template-columns:1fr}.span2{grid-column:auto}.daycard{grid-template-columns:auto 1fr}.daycard .primary{grid-column:1/-1}.exercise-head{display:block}.video{display:inline-block;margin-top:10px}.history>div{grid-template-columns:1fr}.setrow{grid-template-columns:38px 1fr 1fr 44px}.setrow label{display:block}.prescription span{font-size:13px}.exercise{padding:17px}.card,.panel{padding:18px}}

/* MacFit v1.1 */
.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:14px;background:#1b1e24;color:var(--text);font-weight:800;padding:13px 17px;cursor:pointer;min-height:48px}.secondary:hover{border-color:#4a505d}.day-actions{display:flex;gap:9px;align-items:stretch}.foodbtn{border:1px solid var(--line);background:#1a1d22;color:var(--text);border-radius:14px;padding:10px 13px;font-weight:800;cursor:pointer}.foodbtn span{display:none}.smart-card{display:grid;grid-template-columns:46px 1fr;gap:14px;padding:18px 20px;margin:0 0 20px;background:linear-gradient(135deg,#182313,#12171a);border:1px solid #35431f;border-radius:20px}.smart-card h3{margin:3px 0 7px}.smart-card p{white-space:pre-line;color:#cbd5b6;line-height:1.55;margin:0}.smart-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#111;font-size:22px}.generation{position:relative;overflow:hidden}.gen-head{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.gen-head h3{margin:0 0 4px}.gen-head p{margin:0;color:var(--muted)}.spinner{width:38px;height:38px;border-radius:50%;border:4px solid #30343c;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{height:9px;background:#090b0e;border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:18px 0 14px}.progress-fill{width:8%;height:100%;background:var(--accent);transition:width .6s ease}.stage-list{display:flex;gap:8px;flex-wrap:wrap}.stage-list span{font-size:12px;color:#686e78;border:1px solid var(--line);padding:7px 9px;border-radius:999px}.stage-list .active{color:var(--accent);border-color:#40521e;background:#161d10}.preview-actions{display:flex;gap:10px}.exercise-copy{min-width:0}.exercise-visual{height:170px;margin:14px 0 4px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#222730,#111419)}.exercise-visual img{width:100%;height:100%;object-fit:cover;display:block}.video{border:0;background:transparent;cursor:pointer;font:inherit}.rir-chip{display:flex!important;align-items:center;gap:8px}.helpRir{width:24px;height:24px;border-radius:50%;border:1px solid #4d5563;background:#22262d;color:#cfd5df;cursor:pointer;font-weight:900}.setrow{grid-template-columns:48px 1fr 1fr 1fr 50px}.setrow.done{box-shadow:inset 3px 0 0 var(--accent)}.setrow.done input{opacity:.75}.modal{position:fixed;inset:0;background:#050609d9;backdrop-filter:blur(10px);z-index:50;display:grid;place-items:center;padding:18px;overflow:auto}.modal-card{position:relative;width:min(620px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#15181d;border:1px solid #343944;border-radius:24px;padding:24px;box-shadow:0 30px 80px #0008}.modal-wide{width:min(900px,100%)}.modal-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:12px;background:#23272e;border:1px solid var(--line);color:#fff;font-size:26px;line-height:1;cursor:pointer}.modal-open{overflow:hidden}.video-modal{width:min(980px,100%)}.video-frame-wrap{position:relative;aspect-ratio:16/9;background:#08090b;border-radius:18px;overflow:hidden;display:grid;place-items:center}.video-frame-wrap iframe{width:100%;height:100%;border:0}.video-loading{color:var(--muted);padding:30px;text-align:center}.rir-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.rir-scale span{padding:12px;border-radius:12px;background:#0d0f13;border:1px solid var(--line);font-size:13px}.rir-scale b{display:block;color:var(--accent);margin-bottom:4px}.recommendation-text{white-space:normal;margin:14px 0 22px}.recommendation-text p{padding:12px 14px;margin:8px 0;background:#0d0f13;border:1px solid var(--line);border-radius:12px;line-height:1.5}.member-picks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.member-pick{display:flex;grid-template-columns:none;align-items:center;gap:10px;background:#0d0f13;border:1px solid var(--line);border-radius:14px;padding:12px;cursor:pointer}.member-pick input{width:20px;height:20px}.member-pick span{display:grid}.member-pick small{color:var(--muted);margin-top:3px}.meal-result{margin-top:18px}.meal-summary{padding:12px 14px;background:#1a2412;border:1px solid #3e5320;border-radius:14px;margin-bottom:10px}.meal-card{border:1px solid var(--line);border-radius:16px;background:#101216;margin:9px 0;overflow:hidden}.meal-card summary{list-style:none;cursor:pointer;padding:15px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.meal-card summary::-webkit-details-marker{display:none}.meal-card summary span:first-child{display:grid}.meal-card summary small{color:var(--accent);font-weight:900;letter-spacing:.08em}.meal-body{padding:0 16px 16px;border-top:1px solid var(--line)}.meal-body h4{margin:16px 0 8px}.meal-body ol,.meal-body ul{margin-top:6px}.portions{display:flex;flex-wrap:wrap;gap:8px}.portions span{display:grid;padding:9px 11px;background:#191d22;border:1px solid var(--line);border-radius:12px;font-size:13px}.portions b{color:var(--accent)}
@media(max-width:760px){.day-actions{grid-column:1/-1}.day-actions .primary{flex:1}.foodbtn{min-width:64px}.foodbtn span{display:inline}.preview-actions{width:100%;flex-direction:column}.preview-actions>*{width:100%}.setrow{grid-template-columns:34px 1fr 1fr 1fr 42px;gap:6px}.setrow input{padding:10px 7px}.rir-scale{grid-template-columns:1fr 1fr}.member-picks{grid-template-columns:1fr}.modal{padding:8px}.modal-card{padding:18px;border-radius:18px}.exercise-visual{height:145px}.gen-head{grid-template-columns:auto 1fr}.gen-head>#genPercent{grid-column:1/-1;text-align:right}}

/* MacFit v1.2 — layout cleanup */
:root{--surface:#15181e;--surface2:#0f1116;--soft:#20242c;--danger:#ff6969}
.hero-home{align-items:center}.hero-action{min-width:180px}.program-grid{grid-template-columns:1fr!important;gap:14px}.daycard{grid-template-columns:52px minmax(0,1fr) auto;min-height:190px;padding:26px 28px}.day-copy h2{font-size:clamp(24px,3vw,34px);margin:0 0 10px;line-height:1.12}.day-copy p{margin:0 0 16px;max-width:760px}.daynum{width:48px;height:48px}.day-actions{display:grid;grid-template-columns:minmax(130px,auto) 58px;gap:9px;min-width:220px;align-content:center}.day-rec-btn{grid-column:1/-1;font-size:13px;padding:10px 13px;min-height:42px}.day-meta-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.completed-chip{color:var(--accent);border:1px solid #3f4f20;background:#171e10;padding:5px 8px;border-radius:999px;font-weight:800}.last-done{font-size:13px;color:#8e96a4;margin-top:12px}.last-done b{color:#cdd3dc}.day-completed{border-color:#343b29}
.foodbtn{width:58px;height:58px;padding:0;border-radius:17px;background:linear-gradient(180deg,#20242a,#16191f);display:grid;place-items:center;transition:.18s ease}.foodbtn:hover{transform:translateY(-1px);border-color:#596521;background:#22271f}.foodbtn svg{width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.foodbtn span{display:none!important}
.smart-summary{border:1px solid #35431f;background:linear-gradient(135deg,#182313,#12171a);border-radius:20px;margin:0 0 18px;overflow:hidden}.smart-summary summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:16px 20px}.smart-summary summary::-webkit-details-marker{display:none}.smart-summary summary span:nth-child(2){display:grid;gap:3px}.smart-summary summary small{color:var(--accent);font-weight:900;letter-spacing:.1em}.smart-summary summary b{font-size:16px}.smart-summary summary i{font-style:normal;color:var(--muted);font-size:22px;transition:.2s}.smart-summary[open] summary i{transform:rotate(180deg)}.smart-summary-body{border-top:1px solid #30401d;padding:16px 20px 18px 78px}.smart-summary-body p{margin:0 0 8px;line-height:1.65;color:#d4dcc6}.smart-summary-body small{color:var(--muted)}
.weight-reminder{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;background:linear-gradient(135deg,#242617,#171a13);border:1px solid #4a5424;border-radius:20px;padding:17px 20px;margin:0 0 16px}.weight-reminder-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--accent);color:#111;font-size:25px;font-weight:950}.weight-reminder h3{margin:3px 0 4px}.weight-reminder p{margin:0;color:var(--muted)}
.modal-xl{width:min(1080px,100%)}.compact-modal{width:min(500px,100%)}.meal-modal-card{padding:28px 30px}.meal-modal-head{padding-right:48px}.meal-modal-head h2{font-size:34px;margin:8px 0}.member-picks{margin:18px 0 14px}.member-pick{min-height:74px;padding:14px 16px}.member-pick input{accent-color:#cfff2f}.meal-generate-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 16px}.generation-card{background:#101318;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin:12px 0}.generation-card .progress-track{margin-bottom:8px}.progress-note{font-size:12px;color:#7f8794;line-height:1.45}.meal-result{display:grid;gap:16px}.meal-summary{display:grid;gap:5px;padding:14px 16px}.meal-summary small{color:#9ba592}.meal-filter-label{font-size:12px;font-weight:900;letter-spacing:.08em;color:#8f97a3;margin-bottom:-8px}.meal-filters{display:flex;gap:8px;flex-wrap:wrap}.meal-filter{border:1px solid var(--line);background:#111419;color:#b7bec9;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.meal-filter.active{background:var(--accent);border-color:var(--accent);color:#111}.meal-goal-group{border:1px solid var(--line);border-radius:18px;background:#0d1014;overflow:hidden}.meal-goal-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line);background:#14171c}.meal-goal-head small{color:var(--accent);font-weight:900;letter-spacing:.1em}.meal-goal-head h3{margin:4px 0 0}.meal-goal-head>span{color:#aab1bc;font-size:13px}.meal-list{padding:10px}.meal-card{margin:8px 0;background:#12151a}.meal-card summary{padding:16px 18px}.meal-title{display:grid;gap:3px}.meal-title small{color:var(--accent);font-weight:900}.meal-title b{font-size:18px}.meal-macros{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.meal-macros span{background:#1b1f26;border:1px solid var(--line);border-radius:999px;padding:6px 9px;font-size:12px}.meal-macros i{font-style:normal;font-size:18px;color:var(--muted)}.meal-description{color:#bac1cb}.portions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0}.portion-card{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;background:#181c22;border:1px solid #2d323b;border-radius:14px;padding:12px 14px}.portion-card>div{display:grid}.portion-card>div span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#777f8c}.portion-card strong{font-size:23px;color:var(--accent)}.portion-card small{grid-column:1/-1;color:#9ca4af}.meal-details-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;margin-top:8px}.ingredient-list{list-style:none;padding:0;margin:0!important;display:grid;gap:7px}.ingredient-list li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed #292e36;padding:6px 0}.ingredient-list li span{color:#b2bac6}.steps-list{padding-left:22px;color:#d7dbe2}.steps-list li{margin-bottom:8px;line-height:1.45}
.goals-field{display:grid;gap:10px}.field-title{font-size:14px;color:#c3c7ce}.field-title span{color:var(--muted);font-size:12px;margin-left:6px}.goal-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.goal-pick{display:flex!important;align-items:center;gap:10px;padding:13px;background:#0d0f13;border:1px solid var(--line);border-radius:13px;cursor:pointer}.goal-pick:has(input:checked){border-color:#5b6c25;background:#171e10}.goal-pick input{width:20px;height:20px;accent-color:#cfff2f}.goal-pick b{font-size:13px}.profile-form label small{color:var(--muted);line-height:1.35}.weight-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.weight-history>div{display:grid;gap:5px;padding:14px 16px;border:1px solid var(--line);background:#12151a;border-radius:15px}.weight-history span{font-size:12px;color:var(--muted)}.weight-history strong{font-size:21px}.weight-history small{color:var(--accent)}
.workout-top-actions{display:flex;gap:10px;align-items:center}.danger{border:1px solid #693237;background:#32191d;color:#ffb8bd;border-radius:14px;padding:13px 17px;font-weight:900;cursor:pointer;min-height:48px}.danger:hover{background:#421d22}.danger-text{color:#ff8f98}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.exercise{padding:22px 24px}.exercise-head{align-items:flex-start}.exercise-visual{height:220px;background:linear-gradient(180deg,#171b21,#101318);display:grid;place-items:center}.exercise-visual img{width:100%;height:100%;object-fit:contain;padding:18px;filter:contrast(1.04)}
.recommendation-text p{margin:8px 0}.empty-state{margin-top:16px}.recent-section{margin-bottom:70px}
.asset-credit{font-size:10px;color:#5f6671;text-align:center;padding:26px 12px 18px}.asset-credit a{color:#777f8a}
@media(max-width:760px){.daycard{grid-template-columns:42px 1fr;padding:18px;min-height:0}.day-copy h2{font-size:24px}.day-actions{grid-column:1/-1;grid-template-columns:1fr 54px;min-width:0}.day-rec-btn{grid-column:1/-1}.foodbtn{width:54px;height:54px}.weight-reminder{grid-template-columns:42px 1fr;padding:15px}.weight-reminder .secondary{grid-column:1/-1;width:100%}.smart-summary-body{padding:14px 16px}.smart-summary summary{grid-template-columns:40px 1fr auto;padding:14px 16px}.meal-modal-card{padding:20px 14px}.meal-modal-head h2{font-size:27px}.meal-details-grid{grid-template-columns:1fr}.goal-picks{grid-template-columns:1fr 1fr}.workout-top-actions{width:100%}.workout-top-actions>*{flex:1}.exercise-visual{height:190px}.confirm-actions{grid-template-columns:1fr}.portion-card strong{font-size:20px}}
@media(max-width:470px){.goal-picks{grid-template-columns:1fr}.meal-card summary{align-items:flex-start;flex-direction:column}.meal-macros{justify-content:flex-start}.setrow{grid-template-columns:30px 1fr 1fr 1fr 40px}.exercise-visual{height:165px}}

/* MacFit v1.3 — 7-day schedule + recovery */
.week-shell{margin:18px 0 26px}.week-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin:0 0 14px}.week-head h2{margin:4px 0 0;font-size:clamp(25px,3vw,36px)}.week-head p{max-width:620px;color:var(--muted);margin:0;line-height:1.55}.week-list{display:grid;gap:12px}.week-day{display:grid;grid-template-columns:76px minmax(0,1fr) 190px;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#16191f,#101216);padding:18px 20px;min-height:154px}.week-day.recovery-day{background:linear-gradient(135deg,#111a1b,#111318);border-color:#29373a}.week-date{height:92px;border-radius:18px;background:#0d1014;border:1px solid #2b3038;display:grid;place-items:center;align-content:center;line-height:1}.week-date b{font-size:12px;color:var(--accent);letter-spacing:.12em}.week-date strong{font-size:30px;margin:7px 0 4px}.week-date span{font-size:11px;color:var(--muted)}.week-main{min-width:0}.week-title-row{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.week-title-row h2{font-size:clamp(21px,2.3vw,29px);margin:3px 0 7px;line-height:1.15}.day-kind{font-size:10px;font-weight:950;letter-spacing:.12em;color:var(--accent)}.recovery-day .day-kind{color:#75d9d2}.week-note{color:#aeb5c0;margin:0 0 12px;line-height:1.5}.recovery-strip{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.recovery-pill{display:flex;gap:9px;align-items:center;max-width:520px;padding:9px 11px;border-radius:13px;border:1px solid #2c3639;background:#11171a}.recovery-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#1a2829;color:#83e5dc;font-size:18px}.recovery-pill>div{display:grid;gap:2px}.recovery-pill b{font-size:12px}.recovery-pill small{font-size:11px;color:#929da5;line-height:1.35}.week-actions{display:grid;grid-template-columns:1fr 62px;gap:9px;align-content:center}.week-actions>.primary,.week-actions>.recovery-info{min-height:58px}.week-actions .day-rec-btn{grid-column:1/-1}.recovery-info{cursor:default;opacity:.8}.foodbtn{width:62px;height:62px;border-radius:20px}.foodbtn svg{width:35px;height:35px;stroke-width:1.65}.nutrition-targets{display:flex;flex-wrap:wrap;gap:8px;margin-top:-5px}.nutrition-targets span{font-size:12px;padding:8px 10px;border-radius:999px;background:#171b20;border:1px solid var(--line);color:#b8c0ca}.recipe-proof{display:grid;gap:4px;border:1px solid #334227;background:#151c12;border-radius:13px;padding:10px 12px;margin:12px 0}.recipe-proof span{font-size:11px;font-weight:950;letter-spacing:.08em;color:var(--accent)}.recipe-proof div{font-size:12px;color:#b5bdaa}.recipe-proof a{font-size:12px;color:#d6f58a;width:max-content}.preview-recovery{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.preview-recovery>b{width:100%;font-size:12px;color:var(--accent)}.preview-recovery span{font-size:12px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#111419}.dynamic-quips{min-height:18px;color:#9fa8b3!important}
@media(max-width:900px){.week-day{grid-template-columns:62px minmax(0,1fr)}.week-actions{grid-column:1/-1;grid-template-columns:1fr 64px}.week-head{align-items:flex-start;flex-direction:column;gap:8px}.week-date{height:82px}.week-date strong{font-size:26px}}
@media(max-width:600px){.week-day{grid-template-columns:52px 1fr;gap:12px;padding:14px;border-radius:18px}.week-date{height:72px;border-radius:14px}.week-date strong{font-size:22px;margin:5px 0 3px}.week-title-row{flex-direction:column;gap:5px}.week-title-row h2{font-size:21px}.recovery-strip{display:grid}.recovery-pill{max-width:none}.week-actions{grid-template-columns:1fr 58px}.foodbtn{width:58px;height:58px}.week-head p{font-size:13px}.meal-generate-row .primary{width:100%}}

/* MacFit v1.4 — household meals, profile trend, local exercise art */
.meal-generate-row{justify-content:flex-start;margin:12px 0 18px}.meal-generate-row .primary{min-width:240px}.meal-filters{margin:4px 0 2px}.meal-goal-head{padding:14px 18px}.meal-goal-head h3{margin:0;font-size:18px}.recipe-source{display:inline-flex;margin-top:8px;font-size:12px;color:#b9d86a;text-decoration:none}.recipe-source:hover{text-decoration:underline}.meal-description,.recipe-proof,.meal-summary,.meal-filter-label{display:none!important}
.exercise-visual{height:210px;overflow:hidden}.exercise-visual img{max-width:520px;width:100%;height:100%;object-fit:contain;padding:12px 18px}.exercise-visual img[src=""],.exercise-visual img:not([src]){display:none}
.progress-dashboard{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr);gap:16px}.weight-chart-card,.goal-analysis-card{border:1px solid var(--line);background:#12151a;border-radius:18px;padding:18px}.weight-chart{width:100%;min-height:260px}.weight-chart svg{display:block;width:100%;height:auto}.weight-chart .axis{stroke:#343a44;stroke-width:1}.weight-chart .weight-line{fill:none;stroke:#cfff2f;stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.weight-chart circle{fill:#cfff2f;stroke:#101318;stroke-width:3}.weight-chart .target-line{stroke:#7c8796;stroke-width:2;stroke-dasharray:7 7}.weight-chart .target-label,.weight-chart .chart-label{fill:#8e98a6;font-size:12px}.goal-analysis-card{display:grid;gap:12px;align-content:start}.goal-analysis-card>div:not(.eta-box){display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--line)}.goal-analysis-card small{color:var(--muted)}.goal-analysis-card strong{font-size:20px}.eta-box{display:grid;gap:7px;padding:15px;border-radius:14px;background:#171d0f;border:1px solid #364520}.eta-box strong{font-size:24px;color:var(--accent)}.eta-box span{color:#aeb7c2;font-size:12px;line-height:1.45}.muted-box{background:#15181d;border-color:var(--line)}.muted-box strong{color:#e1e5eb;font-size:16px}
@media(max-width:760px){.progress-dashboard{grid-template-columns:1fr}.weight-chart{min-height:190px}.meal-generate-row .primary{width:100%;min-width:0}.exercise-visual{height:180px}}

.lifted-total{display:grid;gap:4px;min-width:220px;text-align:right;padding:12px 15px;border:1px solid var(--line);border-radius:15px;background:#12151a}.lifted-total small{color:var(--muted)}.lifted-total strong{font-size:27px;color:var(--accent)}.lifted-total span{font-size:11px;color:#818a96}.exercise-visual{overflow:hidden}.exercise-visual img{max-width:560px;margin:auto}.exercise-visual img[src*="/exercises/"]{padding:10px 16px}.exercise-visual img:not([src]){display:none}@media(max-width:760px){.section-head{align-items:flex-start;flex-direction:column}.lifted-total{text-align:left;width:100%}}


/* MacFit v1.6 — readability, login spacing, exercise photo guide */
html{font-size:17px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body{letter-spacing:.005em}
.hero p,.card p,.exercise p{font-size:1rem;line-height:1.68;color:#aeb5c2}
.card h2,.exercise h2,.panel h2{line-height:1.18;letter-spacing:-.018em}
.exercise h2{font-size:clamp(24px,3vw,34px)}
.eyebrow{font-size:13px;line-height:1.35}
.prescription span{font-size:14px}
.login{display:grid;gap:18px}
.login h1,.login p{margin-top:0;margin-bottom:0}
.login label{gap:9px}
.login .primary{margin-top:6px}
.exercise-visual.exercise-photo-pair{height:auto;min-height:250px;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#0c0e12;border-radius:18px;overflow:hidden;padding:0;margin-top:22px}
.exercise-photo-pair figure{margin:0;position:relative;background:#0c0e12;min-width:0;min-height:250px;display:grid;place-items:center;overflow:hidden}
.exercise-photo-pair img{width:100%;height:100%;min-height:250px;max-width:none!important;object-fit:cover!important;padding:0!important;margin:0!important;display:block}
.exercise-photo-pair figcaption{position:absolute;left:12px;bottom:12px;padding:6px 10px;border-radius:999px;background:#0a0c10d9;border:1px solid #ffffff20;color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(8px)}
@media(max-width:760px){html{font-size:16px}.exercise-visual.exercise-photo-pair{grid-template-columns:1fr;min-height:0}.exercise-photo-pair figure{min-height:220px}.exercise-photo-pair img{min-height:220px;max-height:320px}.loginbody{padding:24px 16px}.login{gap:16px}.login .primary{margin-top:10px}}

/* MacFit v1.7 — per-user equipment and shared owner gym */
.equipment-section{margin-top:34px}.equipment-list{display:grid;gap:12px}.equipment-card{border:1px solid var(--line);border-radius:18px;background:#12151a;padding:16px 18px;display:grid;gap:11px}.equipment-main{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.equipment-main h3{margin:0 0 4px;font-size:19px;line-height:1.25}.equipment-main a{font-size:12px;color:var(--accent);text-decoration:none}.equipment-main a:hover{text-decoration:underline}.icon-danger{width:34px;height:34px;border-radius:10px;border:1px solid #5a2e34;background:#251317;color:#ff9ca6;font-size:23px;line-height:1;cursor:pointer}.equipment-meta,.equipment-capabilities{display:flex;gap:7px;flex-wrap:wrap}.equipment-meta span,.equipment-capabilities span{font-size:11px;padding:6px 9px;border-radius:999px;background:#171b20;border:1px solid var(--line);color:#aeb7c4}.equipment-capabilities span{color:#d9e7b4;border-color:#334126;background:#161c12}.equipment-card p{margin:0;color:#9fa8b4;font-size:13px}.equipment-status{font-size:13px;padding:9px 11px;border-radius:12px;background:#171b20;border:1px solid var(--line)}.equipment-status.analyzing{color:#d8ed96}.error-inline{color:#ffabb3;border-color:#5d3035;background:#251417}.link-button{border:0;background:none;color:var(--accent);padding:0;cursor:pointer;font:inherit}.equipment-add-form{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:12px;align-items:end}.equipment-add-form label{display:grid;gap:7px}.equipment-add-form button{min-height:48px}.equipment-add-form #equipmentAddMsg{grid-column:1/-1}.equipment-lock{display:grid;gap:4px;margin:0 0 14px}.gym-share-panel{margin-top:18px}.gym-share-panel>p{margin:4px 0 12px}.gym-share-users{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.gym-share-user span{display:grid;gap:3px}.gym-share-user small{font-weight:500;color:var(--muted)}#gymShareMsg{margin-top:10px}
@media(max-width:760px){.equipment-add-form{grid-template-columns:1fr}.equipment-add-form #equipmentAddMsg{grid-column:auto}.gym-share-users{grid-template-columns:1fr}.equipment-main h3{font-size:17px}}

/* MacFit v1.8 — rolling 7-day queue and workout archive */
.week-actions .skip-day-btn{grid-column:1/-1;min-height:42px;border-color:#4a3d2a;color:#d9c69b;background:#191611}
.week-actions .skip-day-btn:hover{border-color:#79613a;color:#f0d79c}
.archive-section{margin-top:26px}.archive-box{border:1px solid var(--line);border-radius:20px;background:#111419;overflow:hidden}.archive-box>summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.archive-box>summary::-webkit-details-marker{display:none}.archive-box>summary h2{margin:2px 0 0}.archive-box>summary>b{min-width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#191e24;border:1px solid var(--line);color:var(--accent)}.archive-list{border-top:1px solid var(--line);display:grid}.archive-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.archive-row:last-child{border-bottom:0}.archive-row>div{display:grid;gap:3px}.archive-row strong{font-size:15px}.archive-row span{font-size:12px;color:var(--muted)}.archive-status{padding:6px 9px;border-radius:999px!important;font-weight:850!important}.archive-status.done{background:#1a2512;color:#c9ee7b!important;border:1px solid #344923}.archive-status.skipped{background:#231a13;color:#d8b287!important;border:1px solid #4b3927}.archive-row .secondary{padding:8px 11px;min-height:36px;font-size:12px}
@media(max-width:700px){.archive-row{grid-template-columns:1fr auto}.archive-row .secondary{grid-column:1/-1}.archive-box>summary{padding:15px}.archive-row{padding:13px 15px}}

/* MacFit v1.9 — adaptive rolling days + theme switch */
.theme-toggle{width:42px;height:42px;border-radius:13px;border:1px solid var(--line);background:var(--panel);color:var(--text);display:grid;place-items:center;cursor:pointer;position:relative;overflow:hidden;padding:0}.theme-toggle span{position:absolute;font-size:19px;transition:transform .2s ease,opacity .2s ease}.theme-sun{opacity:0;transform:scale(.6) rotate(-40deg)}.theme-moon{opacity:1;transform:scale(1)}html[data-theme="light"] .theme-sun{opacity:1;transform:scale(1) rotate(0)}html[data-theme="light"] .theme-moon{opacity:0;transform:scale(.6) rotate(40deg)}
.week-day{overflow:hidden;grid-template-columns:76px minmax(0,1fr) minmax(176px,190px)}.week-actions{min-width:0;grid-template-columns:minmax(0,1fr) 62px}.week-actions>*{min-width:0}.week-actions .secondary,.week-actions .primary{white-space:normal;text-align:center;line-height:1.15}.recovery-info{font-size:13px;padding-inline:10px}.ai-day-progress{display:inline-flex!important;align-items:center;gap:9px;color:var(--accent)!important;font-weight:800}.ai-day-progress i{--p:12%;width:26px;height:26px;border-radius:50%;display:inline-block;background:conic-gradient(var(--accent) var(--p),#303640 0);position:relative}.ai-day-progress i:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--panel)}.pending-actions .skip-day-btn{display:none}
@media(max-width:900px){.week-day{grid-template-columns:62px minmax(0,1fr)}.week-actions{grid-template-columns:minmax(0,1fr) 64px;max-width:100%}}
@media(max-width:600px){.week-actions{grid-template-columns:minmax(0,1fr) 58px}.week-actions .skip-day-btn{grid-column:1/-1}.theme-toggle{width:38px;height:38px;border-radius:12px}.top nav{align-items:center}}

html[data-theme="light"]{--bg:#f4f6f8;--panel:#ffffff;--line:#d9dee5;--text:#15181d;--muted:#66707d;--accent:#9ac400;--accentText:#10140a;color-scheme:light;background:var(--bg)}
html[data-theme="light"] body{background:radial-gradient(900px 500px at 70% -10%,#eef6d4 0,transparent 60%),var(--bg);color:var(--text)}
html[data-theme="light"] .top{background:#f7f9fbe8}
html[data-theme="light"] .card,html[data-theme="light"] .panel,html[data-theme="light"] .exercise{background:linear-gradient(180deg,#fff,#f7f9fb)}
html[data-theme="light"] .week-day{background:linear-gradient(135deg,#ffffff,#f5f7f9)}
html[data-theme="light"] .week-day.recovery-day{background:linear-gradient(135deg,#f3fbfa,#f7f9fb);border-color:#cddfdd}
html[data-theme="light"] .week-date{background:#f4f6f8;border-color:#d7dce3}
html[data-theme="light"] .week-note{color:#5d6875}
html[data-theme="light"] .recovery-pill{background:#f4f8f8;border-color:#d3dfdf}
html[data-theme="light"] .recovery-icon{background:#e5f2f0;color:#207c75}
html[data-theme="light"] .recovery-pill small{color:#6b767f}
html[data-theme="light"] .secondary,html[data-theme="light"] .foodbtn{background:#fff;color:#1b2027}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea{background:#fff;color:#171a20}
html[data-theme="light"] label{color:#424b56}
html[data-theme="light"] .modal{background:#dfe4eacc}
html[data-theme="light"] .modal-card{background:#fff;border-color:#d2d8df;box-shadow:0 30px 80px #2430402b}
html[data-theme="light"] .modal-close{background:#f0f3f6;color:#1a1d22}
html[data-theme="light"] .meal-card,html[data-theme="light"] .recommendation-text p,html[data-theme="light"] .member-pick,html[data-theme="light"] .prescription span{background:#f5f7f9}
html[data-theme="light"] .progress-track{background:#e2e6eb}
html[data-theme="light"] .smart-summary,html[data-theme="light"] .smart-card{background:linear-gradient(135deg,#f5f9e9,#fff)}
html[data-theme="light"] .archive-box{background:#fff}
html[data-theme="light"] .weight-reminder{background:linear-gradient(135deg,#f4f9e4,#fff)}

/* MacFit v1.11 — adaptive tracking, nutrition hub and shopping list */
.regen-prompt{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #525f31;border-radius:16px;background:#171b12}.regen-prompt>div:first-child{display:grid;gap:4px}.regen-prompt span{color:var(--muted)}.regen-prompt>div:last-child{display:flex;gap:9px;flex-wrap:wrap}
.tracking-bodyweight{grid-template-columns:34px minmax(90px,1fr) minmax(80px,1fr) 46px}.tracking-cardio{grid-template-columns:34px minmax(90px,1fr) minmax(90px,1fr) 46px}.tracking-duration{grid-template-columns:34px minmax(110px,1fr) 46px}
.nutrition-shell{margin:18px 0 28px}.nutrition-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:0 0 18px}.nutrition-day{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:16px;padding:10px 7px;display:grid;gap:4px;place-items:center;cursor:pointer;min-height:78px}.nutrition-day span{font-size:11px;color:var(--muted);font-weight:900;text-transform:uppercase}.nutrition-day b{font-size:23px}.nutrition-day small{font-size:10px;color:var(--muted)}.nutrition-day.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.nutrition-date-head{margin-top:18px}
.shopping-builder{display:grid;gap:18px}.shopping-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.shop-day-label{cursor:pointer}.shop-day-label input{position:absolute;opacity:0;pointer-events:none}.shop-day-label span{display:grid;place-items:center;gap:4px;min-height:64px;padding:8px;border:1px solid var(--line);border-radius:14px;background:#111419}.shop-day-label input:checked+span{border-color:var(--accent);background:#1a2110}.shop-day-label b{font-size:12px}.shop-day-label small{font-size:11px;color:var(--muted)}.include-today{display:flex!important;align-items:flex-start;gap:10px}.include-today input{width:19px;height:19px;margin-top:2px}.include-today span{display:grid;gap:2px}.include-today small{color:var(--muted)}.shopping-list{display:grid;gap:7px;margin-top:8px}.shopping-item{display:grid!important;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#111419}.shopping-item input{width:18px;height:18px}.shopping-item span{font-weight:750}.shopping-item b{font-size:13px}.shopping-item.bought{opacity:.48}.shopping-item.bought span,.shopping-item.bought b{text-decoration:line-through}
.top nav a[href="/nutrition"]{white-space:nowrap}
html[data-theme="light"] .regen-prompt{background:#f4f8e9;border-color:#b7ca7d}html[data-theme="light"] .shop-day-label span,html[data-theme="light"] .shopping-item{background:#f7f9fb}html[data-theme="light"] .shop-day-label input:checked+span{background:#f1f8df}
@media(max-width:760px){.regen-prompt{align-items:flex-start;flex-direction:column}.regen-prompt>div:last-child{width:100%}.regen-prompt>div:last-child>*{flex:1;text-align:center}.nutrition-days,.shopping-days{grid-template-columns:repeat(7,minmax(46px,1fr));overflow-x:auto}.nutrition-day{min-width:52px}.shopping-builder>.primary{width:100%}.tracking-bodyweight{grid-template-columns:30px 1fr 1fr 42px}.tracking-cardio{grid-template-columns:30px 1fr 1fr 42px}.tracking-duration{grid-template-columns:30px 1fr 42px}}
@media(max-width:520px){.nutrition-days,.shopping-days{grid-template-columns:repeat(7,52px);padding-bottom:4px}.nutrition-day{padding-inline:4px}.top nav{gap:6px;flex-wrap:wrap}.top nav a,.top nav .linkbtn{font-size:12px}}


/* MacFit v1.12 — visual polish, menu integrity, shopping memory */
:root{--bg:#0b0d10;--panel:#15181d;--surface:#111419;--surface2:#191d23;--line:#2a3038;--text:#f4f6f8;--muted:#9aa4b1;--accent:#cfff2f;--accentText:#101307;--radius:18px;--shadow:0 12px 40px rgba(0,0,0,.18)}
html{font-family:Inter,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.45;text-rendering:optimizeLegibility}body{letter-spacing:-.008em}.container{width:min(1180px,calc(100% - 40px));margin-bottom:96px}.top{height:72px;padding-inline:max(20px,calc((100vw - 1180px)/2));background:rgba(11,13,16,.9)}
.brand{display:flex;align-items:center;gap:10px;font-weight:760;letter-spacing:-.02em}.brand-mark{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);box-shadow:0 5px 18px rgba(0,0,0,.18)}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-name{font-size:20px}.top nav{gap:10px}.top nav a,.linkbtn{padding:9px 10px;border-radius:10px;font-weight:560}.top nav a:hover,.linkbtn:hover{background:var(--surface2);color:var(--text)}
.hero{padding:48px 0 32px;align-items:center}.hero.compact{padding-top:40px}.hero h1,.hero.compact h1{font-size:clamp(36px,5vw,58px);line-height:1.03;letter-spacing:-.04em;font-weight:720;margin:8px 0 14px}.hero h2,.section-head h2,.week-head h2{font-weight:700;letter-spacing:-.025em}.hero p,.card p,.exercise p,.section-head p{font-size:16px;line-height:1.65;color:var(--muted)}.eyebrow{font-weight:760;letter-spacing:.12em}.primary,.secondary{font-weight:680;letter-spacing:-.01em;border-radius:13px;padding:12px 16px}.card,.panel,.exercise{border-radius:20px;padding:24px;box-shadow:none}.section{margin-top:54px}.section-head{margin-bottom:18px}
.meal-goal-group{border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.meal-goal-head{padding:18px 20px;background:var(--surface2)}.meal-card{border-radius:16px;background:var(--panel)}.meal-card summary{padding:18px 20px}.meal-title b{font-size:18px;font-weight:700}.meal-title small,.meal-card summary small{font-weight:720}.meal-body{padding:0 20px 20px}.portion-card{background:var(--surface2);border-color:var(--line);padding:14px 16px}.portion-card strong{font-size:22px;font-weight:730}.meal-details-grid{gap:34px}.meal-body h4{font-size:16px;font-weight:700;margin-top:22px}.ingredient-list li{padding:9px 0;align-items:flex-start}.ingredient-list li span{color:var(--text)}.ingredient-name{display:flex;align-items:flex-start;gap:9px;min-width:0}.ingredient-list li.has-purchase{border-bottom-color:#38511d}.ingredient-purchase{display:inline-flex;align-items:center;gap:8px;position:relative;flex:0 0 auto}.ingredient-bought{width:22px;height:22px;border-radius:999px;border:0;background:#80b600;color:white;font-weight:900;cursor:pointer;display:grid;place-items:center}.purchase-date-pop{position:absolute;z-index:3;left:28px;top:-7px;width:max-content;max-width:250px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);color:var(--text);font-size:11px;box-shadow:var(--shadow)}.compact-video-btn{margin-top:18px;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 12px!important;border-radius:11px!important}.compact-video-btn .play-dot{width:24px;height:24px;border-radius:999px;background:var(--accent);color:var(--accentText);display:grid;place-items:center;font-size:10px;padding-left:1px}
.nutrition-hero{gap:36px}.nutrition-days{gap:10px;margin-bottom:24px}.nutrition-day{position:relative;min-height:84px;border-radius:16px;padding:11px 8px}.nutrition-day span{font-weight:650}.nutrition-day b{font-size:24px;font-weight:720}.nutrition-day.today{background:linear-gradient(180deg,#202817,#141a11);border-color:#57721a}.nutrition-day.today:after{content:"сегодня";position:absolute;bottom:5px;right:7px;font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:750}.new-badge{position:absolute;right:-4px;top:-6px;background:#ff5b5b;color:white;border-radius:999px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:800;letter-spacing:.04em;box-shadow:0 3px 10px rgba(0,0,0,.2)}
.shopping-builder{gap:22px}.shopping-days{gap:10px}.shop-day-label span{min-height:72px;background:var(--surface);border-radius:15px}.shop-day-label input:checked+span{background:#1c2611}.shop-day-label.today span:after{content:"сегодня";font-size:8px;text-transform:uppercase;color:var(--accent);font-weight:700}.shopping-list{gap:9px}.shopping-item{grid-template-columns:24px minmax(180px,1fr) auto minmax(160px,210px)!important;gap:14px;padding:13px 14px;background:var(--surface)!important;border-radius:14px}.shopping-item>input{accent-color:var(--accent)}.shopping-product{display:grid;gap:2px}.shopping-product>span{font-weight:650}.shopping-product small{color:#7fbf37;font-size:11px}.shopping-need{display:grid;gap:2px;text-align:right}.shopping-need small,.shopping-actual small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.shopping-need b{font-size:14px}.shopping-actual{display:grid!important;gap:4px}.shopping-actual>span{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.shopping-actual input{padding:8px 9px;min-height:36px}.shopping-actual em{font-style:normal;color:var(--muted);font-size:12px}.shopping-item.bought{opacity:.72}.shopping-item.bought .shopping-product>span{text-decoration:line-through}.shopping-item.bought .shopping-need b{text-decoration:none}
.loading-soft{display:flex!important;align-items:center;gap:10px;min-height:62px}.loading-soft p{margin:0!important}.mini-spinner{width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}
.goal-picks-clean{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-pick{padding:14px 15px;background:var(--surface);border-radius:14px}.goal-pick span{display:grid;gap:3px}.goal-pick b{font-size:14px;font-weight:680}.goal-pick small{font-size:11px;color:var(--muted);font-weight:450}.goal-pick:has(input:checked){background:#1c2512;border-color:#556d1d}.field-title{font-weight:650}.field-title span{font-weight:450}
.generation-card{padding:22px 24px;border-radius:20px}.generation-card .gen-head b{font-size:18px;font-weight:690}.generation-card .gen-head p{margin:4px 0 0}.stage-list span{font-weight:520}.progress-note{font-size:13px;line-height:1.55}.progress-fill{transition:width .9s ease}
.exercise-demo-video{width:100%;height:100%;object-fit:cover;background:#090b0d}.exercise-photo-pair.female-video-ready{position:relative}.media-source-note{position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(10,12,14,.8);color:#fff;font-size:10px;font-weight:650;backdrop-filter:blur(6px)}

html[data-theme="light"]{--bg:#f5f7f9;--panel:#ffffff;--surface:#ffffff;--surface2:#f4f6f8;--line:#dce2e8;--text:#171a1f;--muted:#6f7a87;--accent:#91bd00;--accentText:#101407;background:var(--bg)}html[data-theme="light"] body{background:linear-gradient(180deg,#fbfcfd 0,#f5f7f9 500px);color:var(--text)}html[data-theme="light"] .top{background:rgba(255,255,255,.9);box-shadow:0 1px 0 var(--line)}html[data-theme="light"] .brand-mark{border-color:#e2e6eb}html[data-theme="light"] .card,html[data-theme="light"] .panel,html[data-theme="light"] .exercise,html[data-theme="light"] .meal-goal-group,html[data-theme="light"] .meal-card{background:#fff;box-shadow:0 8px 30px rgba(33,45,58,.05)}html[data-theme="light"] .meal-goal-head,html[data-theme="light"] .portion-card,html[data-theme="light"] .purchase-date-pop{background:#f6f8fa}html[data-theme="light"] .meal-macros span{background:#f0f3f6;color:#45505d}html[data-theme="light"] .ingredient-list li{border-bottom-color:#dce2e8}html[data-theme="light"] .nutrition-day{background:#fff;box-shadow:0 5px 18px rgba(33,45,58,.035)}html[data-theme="light"] .nutrition-day.today{background:#f1f8da;border-color:#9abe28}html[data-theme="light"] .shop-day-label span,html[data-theme="light"] .shopping-item{background:#fff!important}html[data-theme="light"] .shop-day-label input:checked+span{background:#f1f8da!important}html[data-theme="light"] .goal-pick{background:#fff}html[data-theme="light"] .goal-pick:has(input:checked){background:#f1f8da;border-color:#a3be43}html[data-theme="light"] .generation-card{background:#fff;box-shadow:0 8px 30px rgba(33,45,58,.05)}html[data-theme="light"] .steps-list{color:#3e4854}html[data-theme="light"] .meal-title b,html[data-theme="light"] .portion-card b,html[data-theme="light"] .ingredient-list li b{color:#171a1f}html[data-theme="light"] .portion-card strong{color:#76a400}
@media(max-width:800px){.container{width:min(100% - 28px,1180px)}.top{height:auto;min-height:66px;padding-block:9px}.brand-name{font-size:18px}.brand-mark{width:36px;height:36px}.top nav{overflow-x:auto;max-width:72vw;padding-bottom:2px}.top nav a,.linkbtn{font-size:13px;padding:8px}.shopping-item{grid-template-columns:22px minmax(0,1fr) auto!important}.shopping-actual{grid-column:2/-1}.goal-picks-clean{grid-template-columns:1fr}.nutrition-hero{align-items:flex-start}.nutrition-hero .primary{width:auto}}
@media(max-width:560px){.container{width:min(100% - 22px,1180px)}.hero{padding-top:34px}.hero h1,.hero.compact h1{font-size:34px}.nutrition-hero{flex-direction:column}.nutrition-hero .primary{width:100%}.meal-card summary{padding:15px}.meal-body{padding:0 15px 16px}.meal-details-grid{gap:18px}.shopping-item{grid-template-columns:22px 1fr!important}.shopping-need{grid-column:2;text-align:left}.shopping-actual{grid-column:2}.top nav{max-width:68vw}.brand-name{display:none}}

/* typography pass */
h1,h2,h3,h4{font-weight:700;letter-spacing:-.025em}button,input,select,textarea{font-family:inherit}.week-title-row h2,.archive-row strong,.smart-summary summary b,.weight-history strong,.lifted-total strong{font-weight:680}.day-kind,.week-date b,.meal-filter,.status,.archive-status{font-weight:650!important}.week-date strong{font-weight:720}.top nav a,.linkbtn{letter-spacing:-.01em}.muted{color:var(--muted)}

/* MacFit v1.13 — compact week, stable nutrition and simpler shopping */
.compact-week-list{display:grid;gap:10px}.compact-day{border:1px solid var(--line);border-radius:16px;background:var(--panel);overflow:hidden;box-shadow:none}.compact-day[open]{border-color:#3b4650}.compact-day-summary{display:grid;grid-template-columns:150px minmax(0,1fr) 28px;gap:18px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}.compact-day-summary::-webkit-details-marker{display:none}.compact-day-date{display:flex;align-items:baseline;gap:10px}.compact-day-date strong{font-size:20px;letter-spacing:-.02em}.compact-day-date span{color:var(--muted);font-size:14px}.compact-day-title{display:grid;gap:3px;min-width:0}.compact-day-title small{font-size:10px;letter-spacing:.09em;color:var(--accent);font-weight:750}.compact-day-title b{font-size:16px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-chevron{font-size:18px;color:var(--muted);transition:transform .2s ease}.compact-day[open] .compact-chevron{transform:rotate(180deg)}.compact-day-body{padding:0 18px 18px 186px;border-top:1px solid var(--line)}.compact-day-body .week-note{margin:16px 0}.compact-day-body .week-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.compact-day-body .recovery-strip{margin-top:14px}.compact-day.recovery-day .compact-day-title small{color:#64d4cc}
#nutritionResult,#shoppingResult{transition:opacity .16s ease;min-width:0}.content-refreshing{opacity:.58;pointer-events:none}.nutrition-shell{overflow-anchor:none}.nutrition-days,.shopping-days{overflow-anchor:none}.shopping-item{grid-template-columns:24px minmax(180px,1fr) auto!important;min-height:72px;align-items:center}.shopping-item.bought{opacity:.78}.shopping-item.bought .shopping-product>span{text-decoration:line-through;text-decoration-thickness:1px}.shopping-product{min-width:0}.shopping-need{min-width:86px}.ingredient-list li{display:grid!important;grid-template-columns:minmax(0,1fr) auto 28px;gap:12px;align-items:center!important}.ingredient-name{min-width:0}.ingredient-amount{font-weight:650;white-space:nowrap;justify-self:end}.ingredient-status{width:24px;height:24px;border-radius:999px;display:grid;place-items:center;border:1px solid transparent;padding:0;cursor:pointer;font-size:11px;font-weight:900}.ingredient-status.bought{background:#74ad00;color:#fff;border-color:#74ad00}.ingredient-status.missing{background:transparent;color:#e05e5e;border-color:#e05e5e;font-size:8px}.focus-pulse{animation:focusPulse 1.35s ease}@keyframes focusPulse{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 4px rgba(207,255,47,.22)}}.vertical-actions{display:grid;gap:10px;margin-top:18px}.vertical-actions>*{width:100%}.generation-card .gen-head{margin-bottom:18px}.generation-card .progress-track{margin-top:14px}.generation-card .progress-note{margin-top:18px;padding-top:4px;line-height:1.65}.exercise-media-placeholder{min-height:230px;width:100%;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;background:var(--surface2);border:1px dashed var(--line);border-radius:16px;color:var(--muted);padding:24px}.exercise-media-placeholder span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accentText);font-size:18px}.exercise-media-placeholder b{color:var(--text);font-weight:650}.exercise-media-placeholder small{max-width:420px}.meal-list,.meal-card,.meal-body{overflow-anchor:none}
html[data-theme="light"] .compact-day{background:#fff;border-color:#dce2e8}html[data-theme="light"] .compact-day[open]{border-color:#b9c3cd}html[data-theme="light"] .ingredient-status.missing{color:#c94848;border-color:#dc7777}html[data-theme="light"] .exercise-media-placeholder{background:#f7f9fb}
@media(max-width:800px){.compact-day-summary{grid-template-columns:118px minmax(0,1fr) 24px;padding:14px}.compact-day-body{padding:0 14px 16px}.compact-day-date{display:grid;gap:0}.compact-day-date strong{font-size:17px}.compact-day-date span{font-size:12px}.compact-day-title b{white-space:normal;font-size:15px}.shopping-item{grid-template-columns:22px minmax(0,1fr) auto!important}.ingredient-list li{grid-template-columns:minmax(0,1fr) auto 26px}}


/* MacFit v1.14 — true compact week cards */
.week-day.compact-day{display:block!important;grid-template-columns:none!important;gap:0!important;min-height:0!important;padding:0!important;background:var(--panel);}
.compact-week-list{gap:8px}.compact-day-summary{display:grid!important;grid-template-columns:210px minmax(0,1fr)!important;gap:18px!important;min-height:74px;padding:14px 18px!important;width:100%;align-items:center;cursor:pointer;user-select:none;}
.compact-day-summary:hover{background:rgba(255,255,255,.025)}.compact-day-date{min-width:0}.compact-day-date strong{font-size:19px}.compact-day-title{min-width:0}.compact-day-title b{font-size:16px;line-height:1.35;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;display:block;}.compact-day-title small{margin-bottom:2px}.compact-day-body{padding:16px 18px 18px!important;border-top:1px solid var(--line)}
.compact-day[open] .compact-day-summary{background:rgba(255,255,255,.02)}
.exercise-photo-pair .media-failed{display:none!important}.exercise-photo-pair.media-empty{display:none!important}.exercise-photo-pair.dynamic-media{grid-template-columns:1fr}.exercise-photo-pair.dynamic-media figure{min-height:220px}.exercise-photo-pair.dynamic-media img{object-fit:contain!important;background:#0c0e12}.exercise-demo-video{min-height:250px;max-height:520px;object-fit:contain!important}
html[data-theme="light"] .compact-day-summary:hover,html[data-theme="light"] .compact-day[open] .compact-day-summary{background:#f6f8fa}
@media(max-width:800px){.compact-day-summary{grid-template-columns:125px minmax(0,1fr)!important;gap:12px!important;min-height:68px;padding:12px 14px!important}.compact-day-date{display:flex!important;gap:7px!important;align-items:baseline}.compact-day-title b{font-size:14px}.compact-day-title small{font-size:9px}.compact-day-body{padding:14px!important}}

/* v1.15 — workout warm-up and clearer cardio targets */
.warmup-card{background:linear-gradient(180deg,#151a17,#111416);border-color:#33412a}
.warmup-head{align-items:flex-start}.warmup-label{display:inline-flex;align-items:center;min-height:34px;padding:7px 10px;border:1px solid #3d4b34;border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap}
.warmup-steps{display:grid;gap:10px;margin:18px 0 0;padding-left:22px;color:var(--text);line-height:1.55}.warmup-steps li::marker{color:var(--accent);font-weight:800}.warmup-note{margin-top:16px;padding:12px 14px;border-radius:13px;background:#0d1110;color:var(--muted);border:1px solid #293229;font-size:13px;line-height:1.55}.target-weight{border-color:#41531f!important;background:#151b10!important}
html[data-theme="light"] .warmup-card{background:#fbfdf7;border-color:#d4dfbd}html[data-theme="light"] .warmup-note{background:#f2f6ea;border-color:#d7e1c6}html[data-theme="light"] .warmup-label{border-color:#cfd9c1}html[data-theme="light"] .target-weight{background:#f2f8df!important;border-color:#c7d79c!important}
@media(max-width:760px){.warmup-head{display:flex;flex-direction:column}.warmup-label{margin-top:6px}.warmup-steps{padding-left:20px}.tracking-cardio.setrow{grid-template-columns:34px 1fr 1fr 44px}}

/* v1.16 — verified equipment capabilities */
.equipment-card.needs-review{border-color:#6b5c24}.equipment-links{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.equipment-links span{font-size:11px;color:var(--muted);max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-notice{display:grid;gap:3px;margin:0;padding:11px 13px;font-size:13px}.capability-review{display:grid;gap:14px}.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.capability-choice{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:#101318;cursor:pointer}.capability-choice input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 auto}.capability-choice span{display:grid;gap:2px;min-width:0}.capability-choice b{font-size:14px;font-weight:650}.capability-choice small{font-size:11px;color:var(--muted);line-height:1.4}.capability-choice.confirmed{border-color:#3b5425;background:#141b11}.capability-choice.proposed{border-color:#655528;background:#1c1910}.capability-choice.rejected{opacity:.62}.manual-capability{display:grid;gap:6px;max-width:620px}.capability-actions{display:flex;gap:9px;flex-wrap:wrap}.primary.compact,.secondary.compact{min-height:40px;padding:9px 12px}.danger-soft{color:#ff9ba5;border-color:#5a3339;background:#21161a}.equipment-notes{padding-top:2px}.equipmentCapabilityMsg .notice,.equipmentCapabilityMsg .error{margin:0}.equipment-section .section-head{align-items:flex-end}.equipment-section .section-head>div:first-child{max-width:780px}
html[data-theme="light"] .equipment-card{background:#fff}html[data-theme="light"] .equipment-card.needs-review{border-color:#c6ab55}html[data-theme="light"] .capability-choice{background:#f7f9fb}html[data-theme="light"] .capability-choice.confirmed{background:#f3f8e9;border-color:#b6cb7f}html[data-theme="light"] .capability-choice.proposed{background:#fff9ea;border-color:#d9bf71}html[data-theme="light"] .danger-soft{background:#fff5f5;border-color:#e8b3b8;color:#b23f4a}
@media(max-width:760px){.capability-grid{grid-template-columns:1fr}.capability-actions>*{flex:1}.equipment-section .section-head{align-items:flex-start}.equipment-links span{white-space:normal}.danger-soft{width:100%}}

/* v1.16.1 — equipment photo analysis */
.equipment-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:9px}.equipment-photo{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#0b0e12}.equipment-photo img{width:100%;height:100%;object-fit:cover;display:block}.equipmentImageDelete{position:absolute;top:7px;right:7px;width:28px;height:28px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(10,12,16,.78);color:#fff;font-size:20px;line-height:1;cursor:pointer}.equipmentImageForm{display:flex;gap:9px;align-items:end;flex-wrap:wrap;padding:10px 0 2px}.equipment-image-add{display:grid;gap:6px;min-width:min(100%,320px);font-size:13px}.equipment-image-add input[type=file],.equipment-add-form input[type=file]{padding:9px;background:var(--input-bg,#0f1216);border:1px solid var(--line);border-radius:11px}.equipmentImageMsg{width:100%}html[data-theme="light"] .equipment-photo{background:#f3f5f7}.equipment-add-form .span2 small{display:block;margin-top:5px;line-height:1.35}
@media(max-width:760px){.equipment-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.equipmentImageForm>*{width:100%}.equipmentImageForm button{width:100%}}

/* v1.16.2 — dedicated equipment page + explicit manual capability action */
.profile-equipment-link{margin-top:28px}.profile-equipment-link .section-head{margin:0;align-items:center}.profile-equipment-link .panel{padding:18px 20px}
.manual-capability{display:grid;gap:6px;max-width:720px}.manual-capability>span{font-size:13px;font-weight:650}.manual-capability>small{font-size:11px;color:var(--muted);line-height:1.35}.manual-capability-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.manual-capability-row input{min-width:0}.manual-capability-row button{white-space:nowrap}
@media(max-width:640px){.manual-capability-row{grid-template-columns:1fr}.manual-capability-row button{width:100%}.profile-equipment-link .section-head{align-items:flex-start}.profile-equipment-link .section-head>a{width:100%;text-align:center}}


/* v1.17 — profile goals */
.goal-pick.female-goal.hidden{display:none!important}

/* v1.18 YouTube fallback */
.video-fallback{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.video-fallback .secondary{min-height:40px;padding:9px 13px}.video-fallback small{color:var(--muted);line-height:1.4;max-width:620px}
