:root{--stone:#e8e2d8;--paper:#f6f2ea;--ink:#181a1b;--muted:#746f67;--line:#d3ccc1;--forest:#1f6b52;--white:#fffdf8}
body.membership-page{background:var(--stone);color:var(--ink)}
.membership-page .member-shell,.membership-page .member-app{background:var(--paper)}
.membership-page .app-header{background:rgba(246,242,234,.96);border-color:var(--line);color:var(--ink)}
.membership-page .app-header button{color:var(--ink)}
.membership-page .app-header b{border-color:var(--forest);color:var(--forest)}
.stone-path,.session-screen{min-height:100dvh;background:var(--paper);color:var(--ink);padding:28px 22px 110px}
.path-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}
.member-section-label,.focus-card small,.week-path>span,.session-head small,.session-detail small{font-size:11px;font-weight:800;letter-spacing:.17em;color:var(--muted)}
.profile-dot{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-weight:700}
.level-summary{margin-bottom:28px}
.level-summary>span{display:block;font-size:13px;font-weight:800;letter-spacing:.13em}
.level-summary>small{display:block;margin:7px 0 12px;color:var(--muted)}
.level-summary>div,.session-progress{height:4px;background:#d9d3c9;border-radius:99px;overflow:hidden}
.level-summary i,.session-progress i{display:block;height:100%;background:var(--forest);border-radius:inherit}
.focus-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 8px 24px rgba(38,32,24,.05)}
.focus-card h1{margin:8px 0 13px;font-family:Georgia,serif;font-size:34px;line-height:1.05;font-weight:500}
.focus-card p{margin:8px 0;color:var(--muted);line-height:1.5}
.focus-card b{color:var(--forest)}
.week-path{margin-top:30px}
.week-path>span{display:block;margin-bottom:10px}
.week-path button{width:100%;display:grid;grid-template-columns:52px 1fr auto;grid-template-rows:auto auto;gap:3px 10px;text-align:left;padding:17px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink)}
.week-path button b{grid-row:1/3;color:var(--muted);font-size:11px;letter-spacing:.12em;padding-top:3px}.week-path button strong{font-size:16px}.week-path button small{color:var(--muted)}.week-path button i{grid-column:3;grid-row:1/3;align-self:center;font-style:normal;color:var(--muted)}
.week-path button.today strong,.week-path button.today i{color:var(--forest)}
.week-path button.done{opacity:.65}
.path-start{position:sticky;bottom:18px;width:100%;margin-top:24px;padding:17px;border:0;border-radius:12px;background:var(--forest);color:white;font-size:13px;font-weight:800;letter-spacing:.1em;box-shadow:0 8px 20px rgba(31,107,82,.2)}
.membership-page .simple-nav{background:rgba(246,242,234,.97);border-color:var(--line)}
.membership-page .simple-nav button{color:var(--muted)}.membership-page .simple-nav button.active{color:var(--forest)}
.session-screen{padding-bottom:55px}
.session-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.session-head>button{border:0;background:transparent;color:var(--ink);font-size:25px;padding:0}.session-head h1{font-family:Georgia,serif;font-size:32px;font-weight:500;line-height:1.08;margin:4px 0}.session-head p,.session-intro{color:var(--muted);margin:0;line-height:1.5}
.session-progress{position:relative;margin-bottom:20px}.session-progress span{position:absolute;right:0;top:8px;font-size:11px;color:var(--muted)}
.session-intro{margin:28px 0 30px}
.session-groups>section{margin:0 0 30px}.session-groups h2{display:flex;justify-content:space-between;margin:0 0 10px;font-size:12px;letter-spacing:.16em;color:var(--muted)}.session-groups h2 span{font-weight:500}
.session-movement{border-top:1px solid var(--line)}.session-movement:last-child{border-bottom:1px solid var(--line)}
.session-row{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr) auto 18px;align-items:center;gap:12px;padding:14px 0;border:0;background:transparent;text-align:left;color:var(--ink)}
.session-row img{width:64px;height:58px;object-fit:contain;background:#171918;border-radius:8px}.session-row span{min-width:0}.session-row b{display:block;font-size:16px;line-height:1.2}.session-row small{display:block;margin-top:5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-row em{font-style:normal;font-size:13px;font-weight:700;white-space:nowrap}.session-row i{font-style:normal;color:var(--muted);font-size:17px;text-align:center}
.session-movement.active{margin:0 -12px;border:1px solid var(--line);border-radius:14px;background:var(--white);padding:0 12px;box-shadow:0 8px 22px rgba(38,32,24,.06)}.session-movement.complete .session-row{opacity:.65}.session-movement.complete .session-row i{color:var(--forest)}
.session-detail{padding:4px 0 18px}.session-how{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.session-how img{width:120px;height:112px;object-fit:contain;background:#171918;border-radius:10px}.session-how ol{padding-left:20px;margin:9px 0 0}.session-how li{margin-bottom:7px;line-height:1.35;color:#474641}
.session-why{padding:15px 0;border-top:1px solid var(--line)}.session-why p{margin:6px 0 0;color:#474641;line-height:1.45}
.session-weight{display:grid;grid-template-columns:1fr 90px 25px;align-items:center;gap:8px;padding:14px 0;border-top:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.1em}.session-weight input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:16px}
.session-options{display:flex;gap:10px;padding-top:12px}.session-options button{flex:1;padding:13px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.08em}.session-options .session-complete{border-color:var(--forest);background:var(--forest);color:white}.session-options span{color:var(--forest);font-weight:800}
.session-effort{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.session-effort span{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--muted)}.session-effort button{padding:10px 4px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:11px}.session-effort button.active{border-color:var(--forest);color:var(--forest);background:#edf3ed}
.session-bottom button{width:100%;padding:15px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--ink);font-weight:800;letter-spacing:.08em}
@media(min-width:700px){.stone-path,.session-screen{max-width:720px;margin:auto;padding-left:38px;padding-right:38px}.focus-card h1{font-size:42px}}
@media(max-width:430px){.stone-path,.session-screen{padding-left:17px;padding-right:17px}.focus-card{padding:21px}.focus-card h1{font-size:31px}.session-how{grid-template-columns:96px 1fr;gap:12px}.session-how img{width:96px;height:96px}.session-row{grid-template-columns:57px minmax(0,1fr) auto 16px;gap:9px}.session-row img{width:57px;height:52px}.session-row b{font-size:15px}}

/* v69: typography-only update */
html,body,button,input,select,textarea,.member-app,.tester-gate{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.gate-mark,.profile-avatar,.level-title,.focus-card h1,.focus-card h2,.session-head h1,.assessment-intro .simple-brand b,.coach-assessment .simple-brand b{font-family:inherit}

/* v70: one color system across the full membership experience. */
:root{--night:var(--paper);--panel:var(--white);--porcelain:var(--ink);--silver:var(--muted);--ice:var(--forest);--volt:var(--forest);--gw-blue:var(--forest);--gw-blue-soft:var(--forest);--gw-bg:var(--paper);--gw-panel:var(--white);--gw-line:var(--line);--gw-white:var(--ink);--gw-muted:var(--muted)}
html,body,.member-app,.app-screen,.simple-screen,.assessment-intro,.coach-assessment,.path-screen,.today-overview,.guided-workout,.workout-workspace{background:var(--paper)!important;color:var(--ink)!important}
.assessment-intro,.coach-assessment{--coach-ink:var(--ink);--coach-muted:var(--muted);--coach-line:var(--line);--coach-paper:var(--paper);--coach-bronze:var(--forest)}
.app-header{background:rgba(246,242,234,.96)!important;border-color:var(--line)!important;color:var(--ink)!important}
.app-header b{color:var(--forest)!important;border-color:var(--forest)!important}
.app-header button,.simple-screen h1,.simple-screen h2,.simple-screen h3,.simple-brand b,.workspace-head>button{color:var(--ink)!important}
.simple-screen p,.assessment-intro>p,.coach-assessment .assessment-help,.result-explanation p,.results-v54 .result-lead,.confidence{color:var(--muted)!important}
.onboard-kicker,.assessment-saved,.quiet-action,.view-week,.support-label,.sheet-kicker,.complete-label,.share-link,.test-purpose small,.test-label,.result-explanation small,.understood small,.practice-note strong,.prefer-skip,.more-options summary,.injury-section-done,.injury-pain-field strong{color:var(--forest)!important;border-color:var(--forest)!important}
.simple-primary,.assessment-intro .simple-primary,.coach-assessment .onboard-actions button:last-child,.workspace-complete,.complete-one{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important;box-shadow:0 10px 24px rgba(31,107,82,.2)!important}
.simple-nav{background:rgba(246,242,234,.97)!important;border-color:var(--line)!important}
.simple-nav button{color:var(--muted)!important}.simple-nav button.active{color:var(--forest)!important}.simple-nav button.active i{background:var(--forest)!important;box-shadow:none!important}
.assessment-roadmap,.coach-assessment .onboard-choices button,.coach-assessment .check-grid button,.coach-assessment .quality-grid button,.coach-assessment .assessment-field input,.coach-assessment .assessment-field select,.rep-quick button,.injury-accordion-section,.injury-accordion-head,.coach-assessment .test-stop{background:var(--white)!important;color:var(--ink)!important;border-color:var(--line)!important}
.coach-assessment .onboard-choices button.selected,.coach-assessment .check-grid button.selected,.coach-assessment .quality-grid button.selected,.rep-quick button.selected{background:var(--forest)!important;color:#fff!important;border-color:var(--forest)!important}
.assessment-stage-nav:before,.coach-assessment .onboard-progress{background:var(--line)!important}
.assessment-stage-nav i{background:var(--paper)!important;border-color:var(--line)!important}.assessment-stage-nav .active i,.assessment-stage-nav .complete i,.coach-assessment .onboard-progress i,.injury-accordion-section.complete .injury-accordion-head>i{background:var(--forest)!important;border-color:var(--forest)!important;color:#fff!important}
.assessment-stage-nav b,.injury-accordion-head small,.injury-prompt,.injury-overview,.coach-assessment .assessment-field em,.height-fields small,.unit-input small{color:var(--muted)!important}.assessment-stage-nav .active b{color:var(--ink)!important}
.coach-assessment .test-purpose,.coach-assessment .practice-note,.coach-assessment .understood,.result-explanation.safe,.movement-reason,.how-stop,.program-focus{border-left-color:var(--forest)!important}
.coach-assessment .practice-note,.coach-assessment .understood,.assessment-demo{background:var(--stone)!important;color:var(--ink)!important;border-color:var(--line)!important}
.coach-assessment .test-purpose p,.coach-assessment .test-directions,.coach-assessment .understood p{color:var(--ink)!important}
.injury-accordion-section.open,.active-movement.active{border-color:var(--forest)!important;box-shadow:inset 3px 0 0 var(--forest)!important}
.injury-accordion-head em,.finish-progress strong,.history-total strong,.week-tabs .active,.history-list i,.detail-list i,.workout-sticky span,.workout-tools button,.active-tools button,.program-head span,.program-focus small,.program-movement aside button,.movement-reason small,.how-guide-head>span,.how-steps>small,.how-purpose>small{color:var(--forest)!important}
.today-panel,.program-focus,.program-movement,.active-movement,.focus-card,.today-summary,.member-sheet .sheet-card{background:var(--white)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:0 8px 24px rgba(38,32,24,.06)!important}
.member-sheet .sheet-x{background:var(--stone)!important;color:var(--ink)!important;border-color:var(--line)!important}
.finish-screen,.history-screen,.detail-screen,.me-screen{background:var(--paper)!important;color:var(--ink)!important}
.finish-progress,.new-best,.history-list>* ,.detail-list>* ,.me-list>*{border-color:var(--line)!important}
.finish-progress span,.feel p,.new-best,.history-list b,.detail-list b,.me-list b{color:var(--ink)!important}
.finish-progress i,.feel button,.history-list span,.history-list small,.detail-list span,.me-list span{color:var(--muted)!important}
.feel button.active{color:var(--forest)!important}.feel button.active i{background:var(--forest)!important;border-color:var(--forest)!important;box-shadow:0 0 12px rgba(31,107,82,.28)!important}
.level-rail:before,.session-rail:before,.workspace-progress,.quick-effort{border-color:var(--line)!important;background-color:var(--line)!important}
.level-rail i,.session-rail i,.workspace-stages>div,.quick-effort button{background:var(--white)!important;color:var(--muted)!important;border-color:var(--line)!important}
.level-rail .current i,.session-rail .active i,.session-rail .complete i,.workspace-stages .active>i,.workspace-progress i,.workout-sticky em,.active-program-head>i em{background:var(--forest)!important;border-color:var(--forest)!important;color:#fff!important;box-shadow:none!important}
.level-rail .current span,.session-rail .active b,.workspace-stages .active b,.workspace-head b,.quick-effort button.active{color:var(--forest)!important}
.workspace-stages .active,.quick-effort button.active{background:#edf3ed!important;border-color:var(--forest)!important}
.workout-action-dock{background:linear-gradient(to bottom,transparent,var(--paper) 30%)!important}
