/* RDH: warm ivory, deep forest and restrained brass. No remote fonts or assets. */
:root{--ink:#19332b;--muted:#68716a;--green:#1c4235;--lime:#e6d3a6;--paper:#f7f5ef;--line:#e4e2d8;--gold:#af9258}
body{background:radial-gradient(ellipse at 95% 0,#ece8db80,transparent 42%),var(--paper);font-family:'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
header{height:108px;border-bottom-color:#d9ddcf;padding:0 48px}.brand{gap:15px}.mark{width:62px;height:62px;filter:drop-shadow(0 4px 6px #17332a14)}.wordmark{gap:9px}.wordmark strong{font-size:30px;letter-spacing:5px;color:#16362b}.wordmark>span{font-size:9px;letter-spacing:2.4px;color:#716246}
#nav{gap:8px}#nav button{font-size:12px;letter-spacing:.2px}#nav .text:hover{background:#e9ebe0}
main{padding-top:50px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1.6px}h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.6px}h3{font-weight:600;letter-spacing:-.2px}p{line-height:1.75}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#7b683f}.intro{margin-bottom:34px}.intro h1{font-size:48px;line-height:1.16;margin-bottom:13px}.intro p{font-size:14px}.intro .eyebrow{display:flex;align-items:center;gap:10px}.intro .eyebrow:before{content:'';width:24px;height:1px;background:#af9258}
button{border-radius:10px;font-size:13px;box-shadow:0 3px 7px #1c423508;transition:background .15s,box-shadow .15s}button:hover{filter:none;background:#2b5344;box-shadow:0 4px 10px #1c423516}button.secondary{background:#fffefa;border-color:#d9ddcf;font-weight:600}button.secondary:hover{background:#efeee5;border-color:#b2bcac}button.text{box-shadow:none}button.text:hover{background:#ebece2}button:focus-visible,a:focus-visible{outline-color:#a08749}.danger:hover{background:#7d302a}button:disabled{box-shadow:none}
.plan-navigation{width:fit-content;max-width:100%;padding:5px;border:1px solid #dcdfd2;background:#eeefe5;border-radius:13px;margin-bottom:30px;gap:5px}.plan-navigation a{border-radius:9px;min-width:144px;font-size:13px;min-height:46px;color:#647367;gap:10px;padding:11px 22px}.plan-navigation a:before{content:'01';font-size:9px;font-weight:500;letter-spacing:1px;opacity:.75}.plan-navigation a:last-child:before{content:'02'}.plan-navigation a[aria-current="page"]{background:#193e30;box-shadow:0 3px 8px #1b38211a}.plan-navigation a[aria-current="page"]:hover{background:#193e30}
.banner{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 10%,#3a5e48 0,transparent 65%),linear-gradient(120deg,#122e25,#234b39);padding:35px 36px;border-radius:20px;border:1px solid #234837;box-shadow:0 10px 25px #182e2210;margin-bottom:30px;isolation:isolate}.banner:after{content:'';position:absolute;right:-70px;top:-150px;width:410px;height:410px;border:1px solid #d6be8328;border-radius:50%;box-shadow:0 0 0 40px #e5ca8110,0 0 0 80px #e5ca8108;pointer-events:none;z-index:-1}.banner h2{font-size:34px;color:#fcfaf1}.banner .eyebrow{letter-spacing:2px;color:#dfcb9f!important}.banner p{color:#d5dfd3;font-size:13px}.banner .pill{color:#f0e0b9;background:#ffffff0a;border:1px solid #d6c48e50;padding:9px 15px;white-space:nowrap}.banner .pill:before{background:#c5b27c}
.grid{gap:28px;grid-template-columns:minmax(0,1fr) 300px}.card{background:#fffefa;border-color:#e3e4d9;border-radius:18px;padding:28px;box-shadow:0 4px 20px #233d2905;margin-bottom:25px}.section-head{margin-bottom:25px}.section-head h2{font-size:26px}.section-head .small{font-size:9px;letter-spacing:1.6px;color:#867751}.week{gap:8px}.day{border-radius:11px;background:#f6f5ed;border-color:#e7e6dc;min-height:128px;padding:15px 10px}.day small{letter-spacing:1.5px;font-size:9px}.day strong{font-size:13px;font-weight:600}.day.train{background:#edf1e5;border-color:#d7dfcc;color:#32553f}.day.selected{background:linear-gradient(145deg,#294c3a,#15382a);color:#fff8e8;border-color:#294732;box-shadow:inset 0 3px 0 #baa16b,0 4px 9px #27432512}.day.selected:hover{background:#254733}.day .dot{width:4px;height:4px}.number{background:#f1eddf;color:#857043;border:1px solid #e9e2cf;font-size:10px}.exercise{padding:23px 0;gap:13px}.exercise h3{font-size:16px;line-height:1.45}.exercise .prescription strong{color:#203f30}.exercise .prescription{padding-top:3px}.warmup{background:#f3f2e8;border:1px solid #e8e4d3;border-radius:11px;padding:18px}.warmup>strong{color:#4b563f}.warmup p{font-size:12px}.exercise details{margin-top:9px}.exercise summary{min-height:32px;display:flex;align-items:center;gap:8px}.exercise details:not(.movement-guide) summary:before{content:'+';font-size:16px;color:#9b824e}.exercise details:not(.movement-guide)[open] summary:before{content:'−'}.movement-guide summary{min-height:44px}.movement-content{box-shadow:0 5px 18px #24412708;background:linear-gradient(145deg,#fafbf5,#edf1e5);border-color:#dce3cf}
.aside-title{font-size:9px;color:#867144;letter-spacing:2px;font-weight:600}.stat{font-size:12px}.stat strong{font-size:12px;font-weight:600;text-align:right;margin-left:10px}.sidebar .tip{background:linear-gradient(145deg,#1a3b2c,#2e523a);border-color:#31523a;color:#f6f1e3}.tip .feature-icon{color:#d2bd88}.tip h3{font-family:Georgia,serif;font-size:23px;line-height:1.35;font-weight:400}.tip p{color:#d8dfce}.sidebar .card{padding:25px}.sidebar h3{font-size:18px}.sidebar .tip h3{font-size:23px}
.progress-example span{background:#efeedf;border:1px solid #e1dfc9;color:#4c5c3c}.steps li::marker{color:#8c784d;font-weight:700}.recovery-habits{background:#f3f3e9}.recovery-icon{color:#aa9059}.calorie-panel{background:linear-gradient(135deg,#f0f2e5,#f8f7ed);border-color:#dce0cd;border-radius:14px;padding:25px}.calorie-stats strong{font-family:Georgia,serif;font-size:42px;font-weight:400;color:#254732}.calorie-stats .eyebrow{font-size:8px;letter-spacing:1.8px}.nutrition-table th{font-size:11px;letter-spacing:.3px;color:#5e614d}.nutrition-table tbody tr:last-child th{background:#f1f1e6}.nutrition-page{max-width:940px}
input,select,textarea{border-radius:9px;border-color:#d7dccd;background:#fffffb}input:focus,select:focus,textarea:focus{outline-color:#aab48e}.choice{border-radius:9px;background:#fffefa}.choice:has(input:checked){background:#edf1e1;border-color:#a4b58c}.progress div.active{border-color:#ad935d}.progress div{border-top-width:2px}.auth h1{font-size:39px}.wizard h1{font-size:43px}.subfields{background:#f4f3e9}.auth .card{box-shadow:0 12px 40px #1e38270a}.error{color:#943b2e}dialog{border-radius:19px;background:#fffefa;box-shadow:0 18px 70px #132c2526}#toast{background:#183a2c;border:1px solid #ab956254;box-shadow:0 8px 28px #14312626}
.hero h1{font-family:Georgia,serif;font-size:86px;letter-spacing:-3.2px;line-height:1.04}.hero h1 em{color:#8c794b}.hero .pill{background:#ede9db;border:1px solid #dfd8c5;font-size:11px;color:#756342}.hero .actions>button{background:#1d4232;padding:15px 25px}.hero-note{font-size:11px}.visual{border-radius:24px;border:1px solid #d7decc;background-image:radial-gradient(ellipse at 0 0,#f5edda,transparent 60%),linear-gradient(140deg,#e2e7d6,#a8b698);box-shadow:0 12px 32px #253c2210}.visual-label{color:#526440;font-size:9px;letter-spacing:2px}.preview{background:#fffdf5f5;border-color:#eeead9;border-radius:17px;padding:25px;box-shadow:0 15px 35px #1736231a}.preview h3{font-family:Georgia,serif;font-size:21px;font-weight:400}.plate{background:linear-gradient(90deg,#143429,#4c6b4d 60%,#19392a)}.plate:after{color:#decd98}.features{padding-top:35px}.feature-icon{color:#977d45}.features h3{font-size:14px}.features p{font-size:12px}.brand-small{font-family:Georgia,serif;font-weight:400;letter-spacing:.3px}footer{padding:30px 0;color:#7a8175}
@media(max-width:1100px){.grid{grid-template-columns:minmax(0,1fr) 270px}.hero h1{font-size:68px}.day{padding:13px 7px}.exercise{grid-template-columns:30px minmax(0,1fr) 86px}}
@media(max-width:850px){.grid{grid-template-columns:1fr}.intro h1{font-size:42px}.hero h1{font-size:61px}.sidebar{grid-template-columns:1fr 1fr}.banner{padding:29px}.brand{gap:12px}}
@media(max-width:600px){header{height:auto;min-height:132px;flex-wrap:wrap;padding:18px 20px 12px;gap:14px}.mark{width:46px;height:46px}.wordmark strong{font-size:25px;letter-spacing:4px}.wordmark>span{font-size:8px;letter-spacing:1.9px}.brand{gap:12px}#nav{width:100%;display:flex;gap:8px}#nav button{flex:1;min-height:44px;font-size:12px;padding:9px 12px;border-radius:8px}main{padding:30px 18px 40px}.intro{gap:19px;margin-bottom:24px}.intro h1{font-size:37px;letter-spacing:-1px}.intro p{font-size:13px}.intro .eyebrow{font-size:9px}.intro>button{font-size:12px;min-height:46px}.plan-navigation{width:100%;margin-bottom:24px}.plan-navigation a{flex:1;min-width:0;padding:10px 16px}.banner{padding:25px;border-radius:16px;margin-bottom:23px}.banner h2{font-size:30px}.banner .eyebrow{font-size:8px}.banner p{font-size:12px}.banner:after{right:-180px}.card{padding:22px 19px;border-radius:16px}.section-head h2{font-size:24px}.section-head .small{font-size:8px;letter-spacing:1px}.day{min-height:116px;min-width:86px;padding:13px 10px}.exercise{grid-template-columns:25px minmax(0,1fr) 74px;gap:8px;padding:21px 0}.exercise h3{font-size:15px}.exercise .prescription{font-size:11px}.number{width:24px;height:24px;font-size:9px}.warmup{padding:15px}.warmup p{font-size:12px}.movement-content{padding:11px}.calorie-panel{padding:20px 17px}.calorie-stats strong{font-size:38px}.hero h1{font-size:67px;letter-spacing:-2.8px}.hero{padding-top:10px}.hero p{font-size:15px}.visual{height:390px}.visual-label{font-size:8px;letter-spacing:1.45px}.features{gap:26px}.auth h1{font-size:35px}.wizard h1{font-size:36px}.sidebar{display:block}.sidebar .card{padding:23px}.session-actions button{font-size:11px}.nutrition-table{min-width:480px}footer{margin:0 18px;padding:25px 0}.brand-small{font-size:14px}#toast{width:calc(100% - 36px);font-size:12px;text-align:center;padding:13px 17px}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
