@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--dark:#101816;--ink:#151d1b;--bg:#f5f7f2;--edge:#e4eae1;--white:#fff;--muted:#69756c;--lime:#bdff91;--mint:#e8f3e3;--green:#2e5643;--radius:22px;--shadow:0 24px 65px rgba(16,29,21,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 'DM Sans',ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #78b87c;outline-offset:3px}.hidden{display:none!important}
header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:#fff;border-bottom:1px solid #e4e9e2;position:sticky;top:0;z-index:30} .brand{display:flex;align-items:center;gap:12px}.logomark{width:43px;height:43px;border-radius:13px;background:#16241d;color:var(--lime);display:grid;place-items:center;font-weight:900;letter-spacing:-2px;font-size:21px}.brandtext{line-height:1.1}.brandtext b{display:block;font-weight:900;letter-spacing:-.05em;font-size:17px}.brandtext small{font-size:10px;font-weight:800;color:#729071;letter-spacing:.12em}.desktop-nav{display:flex;align-items:center;gap:8px}.navbtn{border:0;background:transparent;border-radius:999px;padding:11px 19px;color:#58665a;font-weight:800;font-size:13px}.navbtn.active{background:#e8f5e1;color:#1b3827}.headbadge{font-size:11px;letter-spacing:.06em;color:#436347;border:1px solid #c8ddc3;padding:8px 13px;border-radius:100px;font-weight:900}.mobile-nav{display:none}
main{max-width:1180px;padding:35px 24px 100px;margin:auto}.scene{display:none;animation:entry .22s ease}.scene.active{display:block}@keyframes entry{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:none}}
h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.048em;line-height:1.1}h1{font-size:clamp(43px,6.2vw,77px);font-weight:900}h2{font-size:clamp(27px,3.8vw,44px);font-weight:850}h3{font-size:21px;font-weight:850}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.17em;color:#477451}.lead{font-size:17px;color:#657168;max-width:550px;line-height:1.65}.tiny{font-size:12px;color:#79847b}.btn{border:0;background:#1c3325;color:white;display:inline-flex;justify-content:center;align-items:center;gap:9px;font-weight:850;border-radius:15px;padding:15px 20px;font-size:14px;min-height:48px;transition:transform .15s,background .15s}.btn:hover{transform:translateY(-1px);background:#275035}.btn.lime{background:#bfff8c;color:#17271b}.btn.lime:hover{background:#aaf579}.btn.light{background:#edf3ec;color:#253c2e}.btn.soft{background:#233a2c;color:#e8ffe5}.btn.full{width:100%}.btn.outline{border:1px solid #d6e1d7;background:transparent;color:#294234}.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.stack{display:flex;flex-direction:column;gap:24px}.card{background:#fff;border:1px solid #e4ebe3;border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.pad{padding:26px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.gap12{display:flex;gap:12px;align-items:center}.chip{background:#e9f5e4;color:#426942;border-radius:30px;padding:6px 10px;letter-spacing:.06em;font-size:10px;font-weight:900}.chip.dark{background:#263e32;color:#d5f9cb}.sep{height:1px;background:var(--edge);margin:18px 0}.sectionhead{display:flex;gap:14px;justify-content:space-between;align-items:flex-end;margin:0 0 18px}.sectionhead p{color:#798479;margin-top:6px}
.hero{background:var(--dark);color:#fff;border-radius:28px;min-height:470px;overflow:hidden;position:relative;display:grid;grid-template-columns:1.1fr .9fr}.hero .copy{padding:57px 20px 54px 55px;position:relative;z-index:2}.hero .eyebrow{color:var(--lime)}.hero h1{max-width:620px;margin:24px 0 22px}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:#c5d0c7;max-width:470px;line-height:1.8;margin-bottom:25px}.hero .portrait{position:relative;background-image:linear-gradient(90deg,#101816 0%,rgba(16,24,22,.05) 45%,rgba(16,24,22,.15) 100%),url('assets/joao.jpg');background-size:cover;background-position:center center}.hero .portrait:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#101816)}.hero .personbadge{position:absolute;bottom:32px;left:22px;z-index:3;color:#efffee;font-weight:900;letter-spacing:.02em}.hero .personbadge small{display:block;font-weight:600;color:#a8c6a8}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.feature{background:#fff;padding:21px;border-radius:19px;border:1px solid var(--edge)}.feature i{font-style:normal;font-size:23px}.feature h3{font-size:15px;margin:12px 0 5px}.feature p{font-size:12px;color:#6d7b70}
.part-top{background:#eff7e8;border:1px solid #dcebd4;border-radius:22px;padding:23px;margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.part-top h2{font-size:30px;margin:7px 0}.part-top p{color:#66816a}.progressWrap{display:flex;align-items:center;gap:18px}.progressDonut{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(#74b46e calc(var(--p)*1%),#d2e0cd 0)}.progressDonut:after{content:'';position:absolute;width:60px;height:60px;border-radius:50%;background:#eff7e8}.progressDonut span{font-size:16px;font-weight:900;z-index:2}.progressWrap small{display:block;color:#67826a}
.todayhead{background:#182820;border-radius:23px;color:#fff;padding:28px;position:relative;overflow:hidden}.todayhead:before{content:'21';position:absolute;right:5px;top:-50px;font-size:230px;line-height:1;color:rgba(191,255,140,.06);font-weight:900}.todayhead .eyebrow{color:#c1ff9b}.todayhead h2{font-size:40px;margin:10px 0}.todayhead p{color:#bbcfc0;max-width:570px}.todaynav{display:flex;gap:9px;align-items:center;margin:20px 0 0}.round{background:#2f4638;color:#e6fce5;border:0;width:36px;height:36px;border-radius:10px;font-size:18px;font-weight:900}.round:disabled{opacity:.3;cursor:default}.daynum{font-size:12px;color:#c7e6ca;font-weight:800;letter-spacing:.1em}.workoutCard{padding:23px}.workoutCard .sub{color:#738174;font-size:13px;margin:8px 0 17px}.videoSpace{height:192px;border-radius:17px;background:linear-gradient(145deg,#182820,#294939);display:flex;justify-content:center;align-items:center;flex-direction:column;color:#e5fce4;gap:10px;text-align:center;padding:20px}.playicon{display:grid;place-items:center;width:67px;height:67px;background:#bfff8a;color:#17221b;border-radius:50%;font-size:24px}.videoSpace b{font-size:15px}.videoSpace small{color:#c4d6c8}.exercise{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eff2ec}.exercise:last-child{border-bottom:0}.exercise .number{width:27px;height:27px;border-radius:9px;background:#ebf4e8;color:#50784a;display:grid;place-items:center;font-size:11px;font-weight:900}.exercise b{display:block;font-size:13px}.exercise small{color:#788579}.exercise em{font-size:11px;font-style:normal;color:#628168;font-weight:700}.tasks .task{display:flex;gap:12px;align-items:center;padding:15px;margin:10px 0;background:#f6f9f5;border:1px solid #e8eee6;border-radius:13px;cursor:pointer;user-select:none}.task input{appearance:none;width:23px;height:23px;flex-shrink:0;border:2px solid #b8cbbb;border-radius:7px;margin:0;position:relative;cursor:pointer;background:#fff}.task input:checked{background:#3d7652;border-color:#3d7652}.task input:checked:after{content:'✓';position:absolute;color:#fff;font-size:16px;font-weight:900;top:-3px;left:3px}.task span{font-size:13px;font-weight:700}.task:has(input:checked){background:#eaf8e8;border-color:#cbe8c6}.task:has(input:checked) span{text-decoration:line-through;color:#617a62}.trackbox{display:flex;align-items:center;gap:12px;background:#f0f5eb;padding:12px;border-radius:12px;margin:15px 0}label.field{font-size:11px;font-weight:900;color:#54715b;letter-spacing:.07em}select,input[type=text]{width:100%;border:1px solid #dce6dc;border-radius:11px;background:#fff;color:#233c2a;padding:12px 14px;outline:none;margin-top:5px}select{cursor:pointer}.note{display:flex;gap:9px;align-items:flex-start;color:#6d7e70;font-size:12px;margin-top:16px}.cardimg{width:100%;max-height:315px;object-fit:cover;object-position:top;border-radius:14px;border:1px solid #e5eae3}.miniheading{font-size:11px;letter-spacing:.12em;font-weight:900;color:#7b8a7c;margin-bottom:12px}.calweeks{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.week{border:1px solid var(--edge);border-radius:17px;padding:16px;background:#fff}.week h3{font-size:15px;margin-bottom:13px}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.daychip{width:100%;aspect-ratio:1;display:grid;place-items:center;background:#f1f5ee;border:1px solid #e7ede5;border-radius:8px;font-size:12px;font-weight:850;color:#5e7162;position:relative}.daychip.selected{background:#243d30;color:#fff}.daychip.completed:not(.selected){background:#c9f4ba;color:#25412f}.daychip.completed:after{content:'•';position:absolute;bottom:0px;font-size:15px;color:#246841}.weekfoot{margin-top:13px;color:#9aa79a;font-size:11px}.resourceList{display:grid;grid-template-columns:1fr 1fr;gap:10px}.resource{display:flex;gap:10px;align-items:center;background:#f5f8f3;border-radius:13px;padding:15px;min-height:88px;border:1px solid #e8eee5;transition:background .15s}.resource:hover{background:#eaf5e8}.resource b{font-size:12px;display:block}.resource small{color:#829084;font-size:11px}.resource .symbol{font-size:21px}.footbar{max-width:1180px;margin:10px auto 40px;padding:0 24px;color:#8e9c8c;font-size:11px;text-align:center}.priceTag{background:#24382c;padding:13px 17px;border-radius:16px;display:inline-flex;align-items:center;gap:17px;color:#c9e2c6}.priceTag b{font-size:23px;color:#bfff93}.priceTag small{line-height:1.2}.toast{position:fixed;bottom:23px;right:24px;z-index:101;background:#162f22;color:#e8ffdf;box-shadow:0 16px 40px rgba(0,0,0,.24);padding:14px 18px;border-radius:13px;font-size:13px;max-width:310px;animation:entry .2s ease}.modalback{position:fixed;inset:0;background:#09120cc7;display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(430px,100%);background:#fff;border-radius:21px;padding:27px}.modal p{color:#667565;line-height:1.7;margin:12px 0 23px}.modal .gap12 button{flex:1}
@media(max-width:920px){.calweeks{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.days{grid-template-columns:repeat(7,1fr)}.hero{grid-template-columns:1fr 1fr}.hero .copy{padding:45px 8px 45px 35px}.hero h1{font-size:54px}.hero .portrait{background-position:center}}
@media(max-width:680px){header{height:67px;padding:0 17px}.brandtext b{font-size:16px}.brandtext small{font-size:9px}.headbadge{font-size:9px;padding:7px}.desktop-nav{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:70px;z-index:40;background:#fff;border-top:1px solid var(--edge);justify-content:space-around;align-items:center;box-shadow:0 -7px 30px #1c34210d}.mobile-nav button{width:31%;height:58px;border:0;background:transparent;color:#718071;display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:center;font-weight:800;font-size:11px;border-radius:12px}.mobile-nav button.active{color:#235834}.mobile-nav button .em{font-size:19px}main{padding:16px 12px 94px}.hero{grid-template-columns:1fr;min-height:unset}.hero .copy{padding:32px 25px 25px}.hero h1{font-size:54px;margin:17px 0}.hero p{font-size:14px}.hero .portrait{height:250px;background-position:center 36%}.hero .personbadge{left:24px;bottom:15px}.features{grid-template-columns:1fr;gap:9px;margin-top:12px}.feature{padding:15px;display:flex;align-items:center;gap:12px}.feature h3{margin:0}.feature p{font-size:11px}.part-top{padding:18px;align-items:flex-start}.part-top h2{font-size:24px}.part-top p{font-size:12px}.progressDonut{width:63px;height:63px}.progressDonut:after{width:50px;height:50px}.progressWrap small{display:none}.pad{padding:19px}.todayhead{padding:23px}.todayhead h2{font-size:35px}.resourceList{grid-template-columns:1fr}.calweeks{gap:9px}.week{padding:13px}.sectionhead h2{font-size:27px}.sectionhead p{font-size:12px}.videoSpace{height:178px}.footbar{margin-bottom:95px}.toast{bottom:90px;right:12px;left:12px;max-width:none}.resource{min-height:70px}}

/* Dark mode */
[data-theme="dark"]{
  --dark:#0b1210;
  --ink:#e8f0ea;
  --bg:#0f1614;
  --edge:#24302a;
  --white:#161e1c;
  --muted:#9aa89e;
  --lime:#bdff91;
  --mint:#1a2822;
  --green:#6bcf8a;
  --shadow:0 24px 65px rgba(0,0,0,.4);
}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
[data-theme="dark"] header{background:#121a17;border-bottom-color:#24302a}
[data-theme="dark"] .card{background:#161e1c;border-color:#24302a}
[data-theme="dark"] .feature{background:#161e1c;border-color:#24302a}
[data-theme="dark"] .navbtn{color:#9aa89e}
[data-theme="dark"] .navbtn.active{background:#1e2e26;color:#bdff91}
[data-theme="dark"] .mobile-nav{background:#121a17;border-top-color:#24302a}
[data-theme="dark"] .mobile-nav button{color:#8a988e}
[data-theme="dark"] .mobile-nav button.active{color:#bdff91}
[data-theme="dark"] .headbadge{color:#9fd4b0;border-color:#2e4a3a}
[data-theme="dark"] .chip{background:#1e2e26;color:#bdff91}
[data-theme="dark"] .btn.light{background:#1e2e26;color:#e8f0ea}
[data-theme="dark"] .btn.outline{border-color:#2e4a3a;color:#c5d5ca}
[data-theme="dark"] .modal{background:#161e1c;color:var(--ink)}
[data-theme="dark"] .modal p{color:#9aa89e}
[data-theme="dark"] .tiny{color:#8a988e}
[data-theme="dark"] .lead{color:#a8b8ae}
[data-theme="dark"] footer.footbar{color:#8a988e}
[data-theme="dark"] input, [data-theme="dark"] select, [data-theme="dark"] textarea{
  background:#1a2420;border:1px solid #2e4a3a;color:#e8f0ea
}
.theme-toggle{
  border:0;background:transparent;width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;font-size:18px;color:#58665a;cursor:pointer
}
.food-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:18px 0 24px}.food-head h2{margin:14px 0;font-size:clamp(36px,5vw,60px)}.food-head p,.meal-card p,.library-intro p{color:var(--muted)}.food-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.food-summary span{background:var(--mint);border-radius:100px;padding:8px 13px;font-size:12px}.food-summary span:empty{display:none}.food-tabs{display:flex;border-bottom:1px solid var(--edge);margin-bottom:26px;gap:25px;overflow-x:auto}.food-tabs button{border:0;background:transparent;color:var(--muted);padding:14px 3px;font-weight:800;white-space:nowrap;min-height:48px}.food-tabs button[aria-selected="true"]{color:var(--ink);border-bottom:3px solid var(--green)}.food-day{margin:18px 0 22px}.meal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.meal-card img,.library-card img{width:100%;height:260px;display:block;object-fit:cover}.meal-card h3,.library-card h3{margin:14px 0 10px;font-size:25px}.meal-card p{font-size:14px;line-height:1.6}.macro-line{font-size:13px;color:var(--green);margin:18px 0}.macro-line small{display:block;color:var(--muted);margin-top:3px}.meal-actions{display:flex;flex-wrap:wrap;gap:8px}.meal-actions .btn{padding:12px 15px}.text-button{background:none;border:0;color:var(--green);font:inherit;font-weight:700;padding:10px 0;min-height:44px;text-align:left}.meal-actions .text-button{width:100%}.meal-card .task{border-top:1px solid var(--edge);padding-top:17px;margin-bottom:0}.task input,.choice input,.shopping-item input{accent-color:#315d43;width:20px;height:20px;flex-shrink:0}.food-disclaimer{font-size:12px;color:var(--muted);margin:24px 0;line-height:1.7}.week-selector{display:flex;gap:10px;margin-bottom:20px}.week-selector button{flex:1;flex-direction:column;gap:2px}.week-selector small{font-size:11px;font-weight:500}.week-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.week-day{padding:20px}.week-day h3{font-size:21px}.week-meal{border-top:1px solid var(--edge);margin-top:15px;padding-top:12px}.week-meal>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:5px}.recipe-link{display:block;text-align:left;background:none;border:0;color:var(--ink);font:inherit;font-weight:700;padding:3px 0;min-height:44px}.week-meal .text-button{font-size:12px;padding:0;min-height:32px}.repeat-week{margin:24px 0}.library-intro{margin:25px 0}.library-intro p{margin-top:10px}.library-filters{display:flex;align-items:end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.library-filters>label{flex:1;min-width:180px}.library-filters select{margin-top:7px}.choice{display:flex;align-items:center;gap:10px;font-size:14px;padding:12px;border:1px solid var(--edge);border-radius:12px;min-height:48px;cursor:pointer}.choice:has(input:checked){background:var(--mint);border-color:var(--green)}.library-filters .choice{min-height:52px}.shopping-item{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid var(--edge)}.shopping-item>span{flex:1}.shopping-item small{display:block;color:var(--muted);font-size:12px}.shopping-item em{font-size:13px;font-style:normal;text-align:right;max-width:35%}.shopping-item:has(input:checked) b{text-decoration:line-through;color:var(--muted)}.empty-state{padding:45px 24px;text-align:center;border:1px dashed var(--edge);border-radius:22px;grid-column:1/-1}.empty-state p{margin:15px auto;max-width:430px;color:var(--muted)}.notice{padding:14px 17px;background:var(--mint);border-radius:12px;color:var(--ink);font-size:13px;margin:15px 0;line-height:1.6}.unavailable{display:flex;align-items:center;min-height:260px}.dialog-open{overflow:hidden}.modalback{overflow-y:auto;overscroll-behavior:contain;align-items:start;padding:30px 18px}.modal{margin:auto;max-height:calc(100dvh - 60px);overflow-y:auto;overscroll-behavior:contain}.profile-modal{width:min(560px,100%)}.modal h2{font-size:29px;margin:15px 0}.modal label:not(.choice):not(.shopping-item){display:block;font-size:13px;font-weight:700;margin:14px 0 7px}.modal input:not([type="checkbox"]),.modal select{width:100%;min-height:50px;border-radius:12px;padding:12px;border:1px solid var(--edge);background:var(--white);color:var(--ink);font-size:16px}.profile-modal fieldset{border:0;padding:0;margin:0;min-width:0}.profile-modal fieldset[hidden],[hidden]{display:none!important}.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-grid label small{display:block;color:var(--muted);font-weight:400}.profile-actions{margin-top:22px;justify-content:flex-end}.profile-actions button{flex:1}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 18px}.step-bars{display:flex;gap:5px;margin:18px 0 24px}.step-bars i{height:4px;background:var(--edge);border-radius:4px;flex:1}.step-bars .filled{background:var(--green)}.close-dialog{border:0;background:var(--mint);color:var(--ink);border-radius:50%;width:42px;height:42px;font-size:25px;flex-shrink:0}.form-error{color:#b82b25!important;font-size:13px}.recipe-modal{width:min(720px,100%);position:relative}.recipe-modal>.close-dialog{position:absolute;right:18px;top:18px;z-index:1}.recipe-modal img{width:100%;max-height:340px;object-fit:cover;border-radius:13px;margin-bottom:22px}.recipe-modal li{padding:5px 0;line-height:1.6}.recipe-modal h3{margin:22px 0 10px}.recipe-macros{display:flex;gap:14px;flex-wrap:wrap;background:var(--mint);padding:15px;border-radius:12px;font-size:13px}.swap-option{display:flex;align-items:center;gap:14px;width:100%;padding:12px;background:var(--white);color:var(--ink);border:1px solid var(--edge);border-radius:14px;margin:10px 0;text-align:left}.swap-option img{width:76px;height:76px;margin:0;border-radius:10px}.swap-option span{flex:1}.swap-option small{display:block;color:var(--muted);margin-top:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button:disabled{opacity:.5;cursor:default;transform:none}.day-complete .todayhead{box-shadow:0 0 0 4px var(--lime)}
@media(max-width:900px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.headbadge{display:none}.desktop-nav{gap:0}.navbtn{padding:10px}.meal-actions .btn{flex:1}}
@media(max-width:680px){.food-head{display:block;margin-top:10px}.food-head>.btn{margin-top:18px}.food-head h2{font-size:42px}.food-tabs{gap:20px}.food-tabs button{font-size:13px}.meal-grid,.week-grid{grid-template-columns:1fr}.meal-card img,.library-card img{height:250px}.food-day{align-items:start}.food-day>.btn{font-size:12px;max-width:130px}.food-summary{gap:6px}.food-summary span{font-size:11px}.week-selector{gap:7px}.week-selector button{padding:12px 7px;font-size:12px}.week-selector small{font-size:10px}.modalback{padding:12px}.modal{max-height:calc(100dvh - 24px);padding:22px}.modal h2{font-size:26px}.choice{font-size:12px;padding:10px}.profile-grid{gap:7px}.profile-grid label{font-size:12px!important}.profile-grid input{padding:8px!important}.brandtext b{font-size:14px}.brandtext small{font-size:8px}.brand{gap:7px}.logomark{width:36px;height:36px}#accountButton{font-size:11px;padding:8px;max-width:75px}.food-day h3{font-size:23px}.shopping-item{gap:10px}.shopping-item b{font-size:13px}.shopping-item em{font-size:12px}.mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(70px + env(safe-area-inset-bottom))}.mobile-nav button{width:auto;flex:1}main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
[data-theme="dark"] .theme-toggle{color:#bdff91}

/* Superfícies e contraste partilhados pelos dois modos. */
:root{color-scheme:light;--muted:#5d6b61;--surface-soft:#eff5eb;--surface-tint:#e6f2df;--surface-selected:#e4f2df;--control-border:#a7b9a8;--brand-muted:#526e53;--button-bg:#1c3325;--button-ink:#fff;--on-accent:#fff;--error:#a51f21}
[data-theme="dark"]{color-scheme:dark;--muted:#b0beb4;--surface-soft:#1b2a22;--surface-tint:#1c3024;--surface-selected:#243f2b;--control-border:#607c67;--brand-muted:#a0bea2;--button-bg:#9bd58b;--button-ink:#15271a;--on-accent:#102116;--error:#ffb0a8}
.brandtext small{color:var(--brand-muted)}.sectionhead p,.tiny,.feature p,.workoutCard .sub,.exercise small,.note,.miniheading,.weekfoot,.resource small,.footbar,.muted-copy{color:var(--muted)}.muted-copy{font-size:13px;line-height:1.7}.eyebrow,label.field{color:var(--green)}.hero .eyebrow{color:var(--lime)}.todayhead .eyebrow{color:#c1ff9b}.day-guide{margin-top:14px;padding:12px 14px;background:var(--surface-soft);color:var(--ink);border:1px solid var(--edge);border-radius:12px;font-size:14px}.tint-card{background:var(--surface-tint)}.part-top{background:var(--surface-soft);border-color:var(--edge);color:var(--ink)}.part-top p,.progressWrap small{color:var(--muted)}.progressDonut{background:conic-gradient(var(--green) calc(var(--p)*1%),var(--edge) 0)}.progressDonut:after{background:var(--surface-soft)}.btn{background:var(--button-bg);color:var(--button-ink)}.btn:hover{filter:brightness(1.08);background:var(--button-bg)}.btn.lime,.btn.lime:hover{background:var(--lime);color:#17271b}.btn.light,.btn.light:hover{background:var(--surface-soft);color:var(--ink)}.btn.outline,.btn.outline:hover{background:transparent;border-color:var(--control-border);color:var(--ink)}.btn.outline:hover{background:var(--surface-soft)}.whatsapp-help,.whatsapp-help:hover{display:flex;margin:16px 0;background:#16663f;color:#fff}.btn:disabled{filter:none}.exercise{border-color:var(--edge)}.exercise .number{background:var(--surface-soft);color:var(--green)}.exercise em{color:var(--green)}.tasks .task{background:var(--surface-soft);border-color:var(--edge)}.task input{background:var(--white);border-color:var(--control-border)}.task input:checked{background:var(--green);border-color:var(--green)}.task input:checked:after{color:var(--on-accent)}.task:has(input:checked){background:var(--surface-selected);border-color:var(--control-border)}.task:has(input:checked) span{color:var(--ink)}.trackbox,.resource{background:var(--surface-soft);border-color:var(--edge);color:var(--ink)}.resource:hover{background:var(--surface-selected)}.week{background:var(--white)}.daychip{background:var(--surface-soft);border-color:var(--edge);color:var(--ink)}.daychip.selected{background:var(--green);color:var(--on-accent);border-color:var(--green)}.daychip.completed:not(.selected){background:var(--surface-selected);color:var(--ink)}.daychip.completed:after{color:var(--green)}select,input[type=text],textarea{background:var(--white);color:var(--ink);border-color:var(--control-border)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.form-error{color:var(--error)!important}.cardimg{border-color:var(--edge)}
[data-theme="dark"] .tint-card{background:var(--surface-tint);border-color:var(--edge)}
[data-theme="dark"] .tiny,[data-theme="dark"] .lead,[data-theme="dark"] .modal p,[data-theme="dark"] .feature p,[data-theme="dark"] .sectionhead p,[data-theme="dark"] .note,[data-theme="dark"] .miniheading,[data-theme="dark"] .weekfoot,[data-theme="dark"] .resource small,[data-theme="dark"] .footbar{color:var(--muted)}
[data-theme="dark"] .btn.light{background:var(--surface-soft);color:var(--ink)}[data-theme="dark"] .btn.outline{border-color:var(--control-border);color:var(--ink)}
@media(max-width:680px){input,select,textarea,.admin-panel input,.admin-panel textarea,.admin-filters input,.admin-filters select{font-size:16px}.row{flex-wrap:wrap}.profile-grid .row{flex-wrap:nowrap}.shopping-item em{overflow-wrap:anywhere}.brandtext small{letter-spacing:.08em}}

.videoSpace.has-video-cover{position:relative;padding:0;overflow:hidden;height:auto;aspect-ratio:16/9}.has-video-cover>img{display:block;width:100%;height:100%;object-fit:cover}.video-cover-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#101816bf;color:#bdff91;border:1px solid #ffffff70;font-size:23px}.video-cover-label{position:absolute;left:0;right:0;bottom:0;padding:18px 15px 12px;background:linear-gradient(transparent,#101816e6);color:#fff;font-size:12px;font-weight:700}

.video-cover-button{position:relative;display:block;width:100%;height:100%;aspect-ratio:16/9;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;overflow:hidden;border-radius:inherit}.video-cover-button>img{display:block;width:100%;height:100%;object-fit:cover}.video-cover-button:focus-visible{outline:3px solid var(--accent,#bfff8a);outline-offset:-4px}.videoSpace>iframe{display:block;width:100%;height:100%;aspect-ratio:16/9;border:0}

.exercise.exercise-with-load{grid-template-columns:31px minmax(0,1fr);align-items:start;padding:15px 0}.exercise-info>small{display:block;margin-top:4px}.exercise-loads{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.load-previous,.load-current{border:1px solid var(--edge);border-radius:11px;padding:10px;min-width:0}.load-previous{background:var(--surface-soft,#eff5eb);color:var(--muted,#617365)}.load-current{background:var(--surface-tint,#e6f2df);color:var(--ink,#233c2a)}.exercise-loads span{display:block;font-size:10px;font-weight:800;margin-bottom:5px}.exercise-loads strong{font-size:14px}.load-current input{width:100%;min-width:0;margin:0;padding:7px 8px;font-size:16px;background:var(--white);color:var(--ink,#233c2a);border:1px solid var(--edge);border-radius:7px}.load-current:focus-within{outline:2px solid var(--accent,#7fb66f)}.exercise-info .load-status{font-size:11px;line-height:1.4;min-height:1em;margin-top:6px}.load-current input[aria-invalid=true]{border-color:#c34b45}

/* Meu dia: presença pessoal e menos altura antes do treino. */
#screen-hoje .part-top{padding:16px 20px;margin-bottom:14px;gap:14px}#screen-hoje .part-top h2{font-size:25px;line-height:1.25;margin:5px 0}#screen-hoje .part-top p{font-size:13px;margin:4px 0 0;max-width:600px}#screen-hoje .part-top .eyebrow{font-size:9px}#screen-hoje .progressDonut{width:54px;height:54px;flex-shrink:0}#screen-hoje .progressDonut:after{width:43px;height:43px}#screen-hoje .progressDonut span{font-size:13px}#screen-hoje .progressWrap{gap:10px}#screen-hoje .progressWrap small{font-size:11px;max-width:90px}#screen-hoje .stack{gap:14px}#screen-hoje .todayhead{padding:17px 20px}#screen-hoje .todayhead:before{display:none}#screen-hoje .todayhead h2{font-size:23px;line-height:1.25;margin:6px 0}#screen-hoje .todayhead p{font-size:13px;margin:6px 0;max-width:none}#screen-hoje .todaynav{margin-top:10px;gap:8px}#screen-hoje .whatsapp-help{display:inline-flex;width:auto;min-height:36px;padding:7px 12px;margin:5px 0 0;font-size:12px;float:right}#screen-hoje .workoutCard{padding:18px}#screen-hoje .workoutCard .sub{margin:5px 0 12px}#screen-hoje .exercise-with-load{padding:11px 0}#screen-hoje .exercise-loads{margin-top:7px}#screen-hoje .load-status:empty{display:none}#screen-hoje .tasks .task{padding:11px;margin:8px 0}#screen-hoje .personal-message p{font-size:15px;line-height:1.65;color:var(--ink);margin:0}.today-preferences{margin-top:13px;border-top:1px solid var(--edge);padding-top:12px}.today-preferences summary{font-size:13px;font-weight:800;cursor:pointer;min-height:32px}.today-preferences[open] summary{margin-bottom:10px}.today-instagram{display:block;width:fit-content;margin:20px auto 0;padding:12px;color:var(--green);font-size:12px;font-weight:800}.today-mode .footbar{display:none}
@media(max-width:680px){#screen-hoje .part-top{padding:14px;align-items:center}#screen-hoje .part-top h2{font-size:20px}#screen-hoje .part-top p{font-size:12px;line-height:1.5}#screen-hoje .progressWrap small{display:none}#screen-hoje .todayhead{padding:14px 16px}#screen-hoje .todayhead h2{font-size:22px}#screen-hoje .grid2{gap:14px}#screen-hoje .workoutCard{padding:15px}#screen-hoje .pad{padding:16px}#screen-hoje .exercise-loads input{min-height:42px}#screen-hoje .round{width:34px;height:34px}#screen-hoje .daynum{font-size:10px}#screen-hoje .todaynav{clear:none}#screen-hoje .todayhead .eyebrow{font-size:10px}}

#screen-hoje .progressWrap{flex-direction:column;gap:0;flex-shrink:0;text-align:center}#screen-hoje .progress-jump{display:block;min-height:44px;padding:8px 5px;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:850;white-space:nowrap}#screen-hoje .progressWrap small{font-size:10px;max-width:100px}#dailyProgress{scroll-margin-top:90px}#dailyProgressTitle{font-size:19px}#dailyProgressTitle:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:4px}@media(max-width:680px){#screen-hoje .progressWrap small{display:none}#screen-hoje .part-top h2{font-size:19px}#screen-hoje .progress-jump{font-size:10px}}

.hydration-task{border-top:1px solid var(--edge);padding-top:14px;margin-top:14px}.hydration-task h4{margin:0;font-size:15px}.hydration-amount{font-size:25px;font-weight:850;margin:8px 0}.hydration-amount span{font-size:14px;color:var(--muted)}.hydration-task progress{width:100%;height:8px;accent-color:var(--green)}.hydration-actions{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.hydration-actions .btn{padding:10px;font-size:12px;min-height:44px}.hydration-task details{margin-top:12px}.hydration-task summary{font-size:12px;cursor:pointer;font-weight:800;min-height:32px}.hydration-task details>label{display:block;font-size:12px;margin-top:10px}.hydration-task .water-eligibility{display:flex;gap:8px;align-items:flex-start;line-height:1.5}.hydration-task .water-eligibility input{appearance:auto;width:18px;height:18px;flex-shrink:0;margin:2px 0}.hydration-task .water-eligibility input:after{display:none}.hydration-task input[type=number]{width:100%;border:1px solid var(--control-border);border-radius:10px;padding:10px;background:var(--white);color:var(--ink);font-size:16px}.hydration-task #saveWaterSettings{margin-top:10px}.hydration-task details p{line-height:1.6}.hydration-task .tiny{display:block}

/* Cartões fluidos: ecrãs pequenos, nomes longos e área segura do telefone. */
.grid2>*,.hero .copy,.part-top>div{min-width:0}#screen-hoje .part-top h2{overflow-wrap:anywhere}#screen-hoje .part-top p{line-height:1.5}.hydration-task .row{flex-wrap:wrap;gap:6px}.hydration-task .hydration-amount{font-size:23px}.hydration-task details{margin-top:8px}.hydration-task .tiny{font-size:11px}.hydration-actions{margin:8px 0}.today-instagram{margin-top:12px}
@media(max-width:680px){main{padding:12px 10px calc(88px + env(safe-area-inset-bottom,0px))}.mobile-nav{height:calc(70px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}.toast{bottom:calc(86px + env(safe-area-inset-bottom,0px))}.hero{border-radius:22px}.hero .copy{padding:22px 20px}.hero h1{font-size:clamp(32px,9vw,42px);margin:12px 0}.hero p{font-size:13px;line-height:1.6;margin-bottom:16px}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.hero .portrait{height:170px}.hero .personbadge{left:20px;bottom:14px}.hero .gap12{gap:10px}.hero .priceTag{padding:10px 13px}.hero .priceTag b{font-size:21px}.feature{padding:12px}.feature p{line-height:1.5}#screen-hoje .part-top{padding:12px;gap:10px;margin-bottom:10px}#screen-hoje .part-top h2{font-size:clamp(18px,4.8vw,21px);margin:4px 0}#screen-hoje .part-top p{font-size:12px}#screen-hoje .part-top .eyebrow{font-size:8px;letter-spacing:.1em}#screen-hoje .stack{gap:10px}#screen-hoje .todayhead{padding:12px 14px}#screen-hoje .todayhead h2{font-size:20px}#screen-hoje .todayhead p{font-size:12px}#screen-hoje .pad{padding:14px}#screen-hoje .workoutCard{padding:14px}#screen-hoje .exercise-with-load{padding:10px 0}.load-previous,.load-current{padding:8px}.hydration-task{margin-top:12px;padding-top:12px}.hydration-task details>label{font-size:12px}.btn{min-height:44px}.resourceList{gap:8px}.resource{padding:12px}}
@media(max-width:350px){header{padding-left:10px;padding-right:10px}.brandtext b{font-size:13px}.brandtext small{font-size:8px}.hero .copy{padding:18px 16px}.hero h1{font-size:32px}#screen-hoje .part-top .eyebrow{letter-spacing:.06em}.exercise-loads{gap:6px}#screen-hoje .progressDonut{width:48px;height:48px}#screen-hoje .progressDonut:after{width:38px;height:38px}}

/* Ajustes compactos apenas na área de cliente. */
.participant-approved .participant-nav [data-screen="inicio"]{display:none!important}
#screen-hoje .exercise-with-load{padding:7px 0;gap:7px}
#screen-hoje .exercise-info>small{margin-top:2px}
#screen-hoje .exercise-loads{margin-top:4px;gap:6px}
#screen-hoje .load-previous,#screen-hoje .load-current{padding:5px 7px;border-radius:8px}
#screen-hoje .exercise-loads span{margin-bottom:2px}
#screen-hoje .load-current input{min-height:44px;padding:5px 7px}
#screen-hoje .load-status{margin-top:3px}
#screen-hoje .hydration-task{margin-top:8px;padding-top:8px}
#screen-hoje .hydration-amount{margin:4px 0;font-size:21px}
#screen-hoje .hydration-actions{margin:5px 0;gap:5px}
#screen-hoje .hydration-actions button{min-height:44px;padding:6px 9px}
#screen-hoje .hydration-task details{margin-top:4px}
#screen-hoje #waterStatus:empty{display:none}

/* Registo por série: mantém campos confortáveis em três colunas no telefone. */
#screen-hoje .exercise-loads.per-set-loads{grid-template-columns:minmax(0,1fr);gap:4px}
#screen-hoje .per-set-loads .load-previous{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;padding:5px 7px}
#screen-hoje .per-set-loads .load-previous>span{margin:0;flex-shrink:0}
#screen-hoje .per-set-loads .load-previous strong{font-size:11px;overflow-wrap:anywhere}
.exercise-set-columns{display:grid;grid-template-columns:repeat(var(--sets,3),minmax(0,1fr));gap:5px}
.exercise-set-columns label{min-width:0}.exercise-set-columns input{font-size:16px!important;min-height:44px!important;padding:5px!important}
#screen-hoje .per-set-loads .load-current>span{margin-bottom:5px}
#screen-hoje .set-format-help{display:block;font-size:10px;color:var(--muted);margin-top:4px}

#screen-hoje .hydration-task .water-check{margin:0 0 6px;padding:11px;min-height:44px}#screen-hoje .hydration-task{border-top:0;margin-top:8px;padding-top:0}

.recipe-image-placeholder{display:grid;place-items:center;min-height:150px;width:100%;aspect-ratio:16/10;background:var(--surface-soft);color:var(--muted);font-size:12px;padding:16px;text-align:center}.library-filters input[type=search]{min-height:44px;width:100%;padding:10px;border:1px solid var(--control-border);border-radius:10px;background:var(--white);color:var(--ink);font-size:16px}

@media(max-width:680px){.library-filters{gap:8px}.library-filters>label{min-width:0;flex:1 1 calc(50% - 8px);font-size:12px}.library-filters>label:first-child{flex-basis:100%}.library-filters>.choice{flex-basis:100%;min-height:44px;padding:8px}.library-filters select{min-height:44px;font-size:16px}}
