:root{color-scheme:dark;--bg:#111510;--panel:#192016;--lime:#c4f469;--text:#efefea;--muted:#b0b7aa;--line:#3c4934}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Arial,Helvetica,sans-serif}button,a,input,textarea{font:inherit}a{color:var(--lime)}button{background:#222b1d;border:1px solid #536146;color:var(--text);padding:10px 16px;border-radius:8px;cursor:pointer}button:hover{border-color:var(--lime)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.primary{background:var(--lime);color:#111510;border-color:var(--lime);font-weight:bold}header{padding:20px 4vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.brand{font-weight:bold;letter-spacing:3px;color:var(--text);text-decoration:none}.brand span{display:block;color:var(--lime);font-size:10px;letter-spacing:4px}nav{display:flex;gap:8px;flex-wrap:wrap}main{max-width:1600px;margin:auto;padding:24px 3vw}.notice{padding:12px 18px;border:1px solid var(--line);border-left:3px solid var(--lime);border-radius:8px;color:var(--muted);font-size:13px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--lime)}#landing{padding:45px 3vw}h1{font-size:clamp(34px,5vw,66px);line-height:1.08;letter-spacing:-2px;margin:16px 0 24px}h1 em{color:var(--lime);font-style:normal}h2{font-size:23px;line-height:1.2}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.card{background:linear-gradient(135deg,#27341d,#182015);border:1px solid var(--line);border-radius:15px;padding:28px}.card .number{font-size:54px;line-height:1;color:var(--lime);font-weight:bold}.card h2{margin:18px 0 10px}.card button{margin-top:20px}.muted{font-size:12px;color:var(--muted);line-height:1.55}.workspace-top{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:22px 0}.workspace-top h1{font-size:30px;letter-spacing:-1px;margin:6px 0}.day-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}input,textarea{background:#111510;border:1px solid #526147;color:var(--text);border-radius:8px;padding:10px}#day{width:75px}.layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr);gap:20px}.guide-pane{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#192016}iframe{width:100%;height:calc(100vh - 250px);min-height:570px;border:0;display:block}.assistant{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;min-width:0}.assistant-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.assistant-title h2{margin:5px 0}.read-toggle{font-size:12px;display:flex;align-items:center;gap:6px}.chat{height:260px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:12px 0;padding:12px 0}.message{padding:12px;border-radius:8px;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.message.user{background:#2c3b22;margin-left:25px}.message.assistant{background:#111510;margin-right:15px}.message .who{font-size:10px;letter-spacing:1px;color:var(--lime);display:block}.proposal{padding:14px;background:#293b1d;border:1px solid var(--lime);border-radius:8px;margin:8px 0}.proposal p{white-space:pre-wrap;font-size:14px}.proposal div{display:flex;gap:8px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.chips button{padding:5px 9px;font-size:12px}#chat-form label{font-size:12px;display:block;margin:10px 0 5px}#command{display:block;width:100%;resize:vertical}.compose{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.compose button{font-size:13px}#info,#account{max-width:900px;margin:35px auto;background:var(--panel);padding:32px;border:1px solid var(--line);border-radius:14px}#info h1,#account h1{font-size:36px}#info table{width:100%;border-collapse:collapse}#info td,#info th{padding:12px;border:1px solid var(--line);text-align:left}#account input{display:block;width:100%;margin:8px 0}#account form{margin:24px 0}footer{text-align:center;color:var(--muted);padding:30px;font-size:12px}[hidden]{display:none!important}@media(max-width:900px){.layout{grid-template-columns:1fr}.cards{grid-template-columns:1fr}iframe{height:60vh;min-height:360px}.assistant{padding:16px}.chat{height:300px}header{padding:15px}nav button{padding:7px 10px;font-size:13px}main{padding:16px}.assistant-title{flex-wrap:wrap}h1{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.command-help{border:1px solid var(--line);border-radius:8px;padding:12px;margin:8px 0;font-size:13px}.command-help summary{color:var(--lime);cursor:pointer;font-weight:bold}.command-help ol{padding-left:22px}.command-help dt{color:var(--lime);font-weight:bold;margin-top:12px}.command-help dd{margin:2px 0 8px;overflow-wrap:anywhere}

.daily-tracker{border:1px solid #647441;border-radius:16px;padding:20px;margin:0 0 24px;background:#151b15}.daily-grid{display:grid;grid-template-columns:1fr 1fr 0.7fr;gap:20px}.daily-entry{display:block;text-align:left;width:100%;margin:6px 0}.daily-entry[aria-pressed="true"]{border-color:#c8ff5b;color:#c8ff5b}.daily-grid small{display:block;color:#b8c1b0}@media(max-width:850px){.daily-grid{grid-template-columns:1fr}}

.combined-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0 24px}.calendar-record{padding:10px 5px;min-width:0;text-align:left}.calendar-record strong,.calendar-record span{display:block;font-size:12px;line-height:1.6}.calendar-record strong{font-size:14px}.calendar-record[aria-current="date"]{border-color:#c8ff5b;background:#28331c}@media(max-width:850px){.combined-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:450px){.combined-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Guided journey preserves the full guide and tools as secondary views. */
.guided-journey{max-width:980px;margin:0 auto 24px;padding:clamp(18px,3vw,32px);background:linear-gradient(135deg,#24321c,#182015);border:1px solid #5f7646;border-radius:18px;scroll-margin-top:16px}.guided-journey h2{font-size:clamp(25px,3vw,36px);margin:16px 0}.guided-journey progress{display:block;width:100%;height:6px;margin:14px 0;accent-color:var(--lime)}.journey-navigation{display:flex;justify-content:space-between;gap:12px;margin:24px 0 14px}.journey-navigation button{min-width:120px;min-height:48px}.journey-actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.journey-layout{grid-template-columns:1fr;max-width:1100px;margin:auto}.journey-layout .guide-pane{border-color:#5f7646}.journey-layout iframe{height:65vh;min-height:420px}.journey-set,.journey-activity{padding:16px;margin:14px 0;border:1px solid var(--line);border-radius:10px;display:flex;gap:12px;align-items:end;flex-wrap:wrap}.journey-set>strong{flex-basis:100%}.guided-journey label{display:flex;flex-direction:column;gap:4px;max-width:100%;font-size:14px}.journey-set input{width:105px;max-width:100%}.journey-activity input{width:130px}.guided-journey textarea{width:min(600px,100%);min-height:100px}.journey-recipe{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;max-width:100%;font-size:15px}.journey-saved{width:100%;color:var(--lime);margin:4px 0}#day-details,#tools-details{border:1px solid var(--line);border-radius:10px;margin:16px auto;padding:16px;max-width:1100px}#day-details>summary,#tools-details>summary{cursor:pointer;color:var(--lime);font-weight:bold}#tools-details .assistant{margin-top:16px}#journey-full{font-size:13px}#journey-status{color:var(--lime)}@media(max-width:450px){.journey-navigation button{min-width:0;flex:1}.journey-set label{flex:1 1 90px}.journey-set button{width:100%}.journey-layout iframe{min-height:360px}.guided-journey{padding:18px}.journey-activity label{width:100%}}

.journey-navigation{position:sticky;top:8px;z-index:3;background:#1e2919;border:1px solid var(--line);border-radius:10px;padding:10px;margin:16px 0}.guided-journey{scroll-margin-top:8px}

#journey-overview{padding:14px;background:#18201a;border-radius:12px;margin:12px 0}#journey-overview p{margin-bottom:0}#journey-stages{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}#journey-stages button[aria-current=step]{border-color:var(--lime,#c5ff48);color:var(--lime,#c5ff48)}#journey-menu{margin:12px 0;padding:12px;border:1px solid #354232;border-radius:12px}#journey-menu summary{cursor:pointer;min-height:44px;align-content:center}#journey-menu-body{display:flex;gap:10px;flex-wrap:wrap;padding-top:12px}#journey-menu-body p{width:100%}#journey-menu-body label{display:grid;gap:8px;min-width:0;max-width:100%}#journey-menu-body select{max-width:100%;width:100%;min-height:44px}#journey-stages button,#journey-menu-body button{min-height:44px}button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #c5ff48;outline-offset:3px}

.day-reward{padding:22px;border:2px solid #c5ff48;background:#25331c;border-radius:16px;margin:16px 0}.day-reward h3{color:#d5ff83;font-size:1.6rem;margin-top:0}.closed-badge{display:block;color:#d5ff83;padding:8px 0}.closed-count{font-weight:600}.journey-close-calendar{width:100%}.closed-days-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px;margin-top:12px}.closed-day{background:#25331c!important;border-color:#c5ff48!important;color:#d5ff83!important}

.next-day-cta{display:block;width:100%;min-height:60px;padding:16px 22px;font-size:clamp(17px,2.2vw,21px);font-weight:800;margin-top:20px;border:2px solid #d5ff83;border-radius:12px;background:#c5ff48;color:#15200c;box-shadow:0 4px 0 #617d27;white-space:normal}.next-day-cta:hover{background:#d5ff83}.next-day-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}

.journey-save-status{font-size:14px;border-left:3px solid #c5ff48;padding-left:12px;color:#d9e8bc}.journey-summary{padding:16px;border:1px solid #627541;border-radius:12px;margin:16px 0;background:#192119}.journey-summary small{display:block;line-height:1.6;color:#cbd3be}#journey-reference-label{font-size:18px;margin:24px 0 12px}.journey-navigation:has(button[hidden]):not(:has(button:not([hidden]))){display:none}

.journey-meal-photo{margin:16px 0 22px}.journey-meal-photo img,.meal-photo-tile{display:block;width:100%;max-width:420px;border-radius:14px;border:1px solid #617447}.journey-meal-photo img{aspect-ratio:3/2;object-fit:cover}.meal-photo-tile{background-repeat:no-repeat}.journey-meal-photo h3{font-size:22px;margin:8px 0}.journey-meal-photo small{display:block;line-height:1.5;color:#cbd3be}.meal-culture{color:#c5ff48;margin:8px 0}.meal-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.meal-menu-card{min-width:0;border:1px solid #53633e;padding:12px;border-radius:12px}.meal-menu-card h3{font-size:18px}.meal-menu-card button{width:100%;white-space:normal}.meal-menu-card .journey-meal-photo{margin:0 0 12px}@media(max-width:500px){.meal-menu-grid{grid-template-columns:1fr}}

/* Keep long titles, bilingual controls and nutrition cards inside their frames. */
main,section,article,.card,.guided-journey,.journey-body,.journey-set,.journey-activity,.journey-summary,.meal-menu-card,.meal-menu-card>*,.guide-pane,.assistant{min-width:0;max-width:100%}
h1,h2,h3,h4,p,small,summary,figcaption,.meal-culture{overflow-wrap:anywhere;max-width:100%}
.cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.meal-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.journey-actions>*,.journey-navigation button,#journey-stages button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
#journey-title{line-height:1.25;scroll-margin-top:110px}
.journey-set label,.journey-activity label{min-width:0;flex-shrink:1}
.journey-meal-photo{margin-inline:0;max-width:100%}
@media(max-width:700px){.cards,.meal-menu-grid{grid-template-columns:minmax(0,1fr)}.guided-journey{padding:18px 14px}.journey-navigation{gap:8px;padding:8px}.journey-navigation button{flex:1;padding:10px 8px;font-size:15px}.journey-actions button{width:100%}.guide-heading h1{font-size:clamp(28px,8vw,42px)}}

/* One prominent next action, readable touch targets and explicit active stage. */
#journey-next{background:var(--lime);color:#111510;border:2px solid var(--lime);font-weight:700;min-height:52px;padding:14px 22px;box-shadow:0 4px 16px #0004;flex:1 1 260px;text-align:center}
#journey-prev{min-height:48px;border-color:#8a9a7d}
#journey-stages button[aria-current=step]{background:var(--lime);color:#111510;border:2px solid var(--lime);font-weight:700}
#chips button{min-height:44px;padding:10px 13px;font-size:14px;border-color:#7d906c;white-space:normal;overflow-wrap:anywhere;max-width:100%}
#journey-count{font-weight:700;color:var(--text)}
@media(max-width:600px){.journey-navigation{display:flex;flex-wrap:wrap;gap:10px}#journey-next{width:100%;flex-basis:100%}}

.guide-quick-access{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.guide-quick-access button{min-height:44px;border-color:#8c9d7b;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Text keeps an inner margin; long navigation labels never cover the next heading. */
#journey-reference-label{margin:0;padding:18px 16px;line-height:1.4}
#journey-overview strong,#journey-count,.guide-quick-access button,.guided-journey label,.command-help dt{overflow-wrap:anywhere;max-width:100%;min-width:0}
.guide-quick-access>*{flex-shrink:1;min-width:0}
@media(max-width:700px){.journey-navigation{position:static;flex-wrap:wrap}#journey-title{scroll-margin-top:16px}.journey-navigation button{width:100%;flex-basis:100%}}

.calendar-record,.calendar-record strong,.calendar-record span{white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%;min-width:0}
@media(max-width:360px){.combined-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}

.journey-reading{padding:20px;border:1px solid var(--lime);border-radius:12px;background:var(--panel);overflow-wrap:anywhere}.journey-reading button{width:100%;min-height:52px}.journey-reading h3{margin-top:0}button:disabled{cursor:not-allowed}

.progress-report{padding:20px;border:2px solid var(--lime);border-radius:14px;background:#192119;margin:20px 0;min-width:0;overflow-wrap:anywhere}.progress-report dl{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:8px 16px}.progress-report dt,.progress-report dd{margin:0;min-width:0;overflow-wrap:anywhere}.progress-report dd{color:var(--lime);font-weight:bold}.progress-report button{width:100%;min-height:48px}@media(max-width:450px){.progress-report dl{grid-template-columns:1fr}.progress-report dd{margin-bottom:12px}}

.daily-reflection{margin:18px 0;padding:14px 18px;border-left:3px solid var(--lime);font-size:clamp(18px,2.4vw,23px);line-height:1.5;overflow-wrap:anywhere}.reward-calendar{font-weight:bold}.program-complete{background:linear-gradient(145deg,#30451c,#172018);padding:clamp(20px,4vw,40px);box-shadow:0 8px 28px #0003}.program-complete>h3{font-size:clamp(30px,5vw,44px);color:var(--lime);line-height:1.15}.completion-star{font-size:48px;color:var(--lime);line-height:1.3}.completion-duration{font-size:20px;font-weight:bold}

.program-complete{position:relative;overflow:hidden}.program-complete>*{position:relative;z-index:1}.completion-title{font-size:clamp(21px,3vw,28px);line-height:1.35;margin:12px 0}.program-complete.celebrate{animation:celebration-reveal .5s ease-out both}.celebration-particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.celebration-particles span{position:absolute;left:var(--left);top:-12px;width:7px;height:12px;border-radius:2px;background:#c4f469;animation:celebration-fall 1.7s var(--delay) ease-out both;opacity:0}.celebration-particles span:nth-child(3n){background:#efefea}.celebration-particles span:nth-child(3n+1){background:#9ab75e}@keyframes celebration-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes celebration-fall{0%{opacity:0;transform:translateY(0) rotate(0deg)}15%{opacity:.85}100%{opacity:0;transform:translateY(260px) rotate(var(--turn))}}@media(prefers-reduced-motion:reduce){.program-complete.celebrate,.celebration-particles span{animation:none!important}.celebration-particles{display:none!important}}

.reading-step-title{font-weight:bold;color:var(--text);overflow-wrap:anywhere}.reading-reviewed{color:var(--lime);font-weight:bold}.journey-reading{scroll-margin:16px}

/* Keep locked navigation distinct from the active lime action. */
#journey-next:disabled{background:#30352e;color:#b3b8af;border-color:#626959;opacity:1;box-shadow:none}#journey-review-confirm[aria-pressed="true"]{background:#293b1d;color:var(--lime);border:2px solid var(--lime);box-shadow:inset 0 2px 5px #0005}

.journey-step-state{padding:14px 16px;border:1px solid #626959;border-radius:10px;background:#242a21;color:var(--text);overflow-wrap:anywhere;line-height:1.5}.journey-step-state.is-confirmed{border-color:var(--lime);color:var(--lime)}#journey-review-confirm[aria-pressed="true"]:disabled{opacity:1;cursor:default}

.calendar-record:disabled{background:#252a23;color:#a5aa9f;border-color:#51574b;opacity:1;cursor:not-allowed}

.journey-actions:has(.close-day){display:block}.close-day{width:100%;min-height:60px;font-size:20px;font-weight:700}

.calendar-record:disabled{background:#343b31;border-color:#6b765e;color:#d3dacd}.calendar-record.closed-day{background:#c4f469;color:#142008;border:2px solid #c4f469}.calendar-record.closed-day span,.calendar-record.closed-day strong{color:#142008}

/* Recipe quantities: emphasis only; original numeric values remain unchanged. */
.recipe-quantity{color:#c4f469;font-weight:800;text-decoration-line:underline;text-decoration-color:#91bb46;text-decoration-thickness:2px;text-underline-offset:.16em}
@media print{.recipe-quantity{color:#315411;text-decoration-color:currentColor}}

/* One daily food panel, with one recipe revealed on demand. */
.meal-day-menu{color:#c4f469;font-size:22px;border-left:3px solid #c4f469;padding:8px 12px;margin:16px 0;scroll-margin-top:100px}
.journey-meal-menu .journey-meal-photo small,.journey-meal-menu .journey-meal-photo h3,.meal-recipe-code,.meal-detail-title,.meal-options-title,.meal-option-name{color:#c4f469}
.meal-recipe-code{display:block;font-weight:750;margin:8px 0}
.meal-order,.meal-view-count{color:#d4dfc8}.meal-view-count{font-weight:700}
.meal-menu-card button[aria-expanded="true"]{border-color:#c4f469;background:#334521;color:#d8ff98}
.journey-meal-detail{margin:22px 0;padding:20px;border:1px solid #91bb46;border-radius:14px;background:#1b2416;min-width:0;scroll-margin-top:100px;overflow-wrap:anywhere}
.journey-meal-detail[hidden]{display:none!important}.journey-meal-detail h3{font-size:24px;margin:18px 0 8px;scroll-margin-top:100px}
.meal-back{border-color:#91bb46;min-height:44px}.meal-menu-totals{padding:16px;border:1px solid #53633e;border-radius:12px;margin-top:18px}.meal-menu-totals summary{cursor:pointer;color:#c4f469;font-weight:700}
.meal-review-hint{color:#d8ecb2}.breakfast-options{margin:18px 0}
@media(max-width:500px){.journey-meal-detail{padding:14px}.journey-meal-detail h3{font-size:21px}.meal-day-menu{font-size:20px}.journey-meal-detail .meal-back{width:100%}}

.meal-view-state{color:#c4f469;font-weight:700}.guided-journey>.journey-reading{margin:20px 0}.updated-day-summary{margin:18px 0;white-space:normal}

#tools-details{min-width:0;width:100%}#tools-details input{min-width:0;max-width:100%}#tools-details>summary{overflow-wrap:anywhere}

.meal-menu-card[id^="journey-meal-card-"]{scroll-margin-top:110px}

/* Clear direction and a compact panel after review, without locking scrolling. */
#journey-prev{background:#363d43;color:#fff;border:2px solid #aab4bd;font-weight:600}
#journey-prev:hover{background:#46515a}
.journey-reading-control{margin:12px 0 18px}
.reading-direction{width:100%;text-align:center;border:2px solid var(--lime);background:var(--lime);color:#111510;font-weight:700;min-height:52px;line-height:1.5}
.review-reopen{background:transparent;color:#e4f5cc;text-decoration:underline;border:1px solid #8a9a7d;min-height:44px}
#journey-body[hidden],#journey-reading-control[hidden]{display:none!important}
.reading-collapsed #journey-title{margin-bottom:0}

/* Step guidance belongs to the reference sheet, not the navigation panel. */
.guide-pane>#journey-title{font-size:20px;line-height:1.3;margin:0;padding:0 16px 6px}.guide-pane>#journey-body{padding:0 16px 12px}.guide-pane>#journey-body>p:first-child{margin-top:0}

#journey-stages .journey-start-indicator:disabled{opacity:1;cursor:default}

.guide-pane>.exercise-technical-intro{padding:0 16px 12px;line-height:1.6}.exercise-technical-intro>p:first-child{margin-top:0}.series-register-title{padding-top:18px;border-top:1px solid var(--line);color:var(--lime)}

.journey-set.is-saved{background:#26382b;border:1px solid #89ad75;box-shadow:inset 4px 0 0 var(--lime)}.journey-set.is-saved input:disabled,.journey-set.is-saved select:disabled{opacity:1;color:#e8eee4;background:#1c2920}.journey-set.is-saved .journey-saved{color:var(--lime);font-weight:700}

.journey-activity.is-saved{background:#26382b;border:1px solid #89ad75;box-shadow:inset 4px 0 0 var(--lime)}.journey-activity.is-saved input:disabled,.journey-activity.is-saved select:disabled{opacity:1;color:#e8eee4;background:#1c2920}.journey-activity .journey-saved{color:var(--lime);font-weight:700}.journey-activity small,.journey-activity .cardio-energy-result{flex-basis:100%;line-height:1.5}

#journey-cardio-form{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}#journey-cardio-form label{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:14px}#journey-cardio-form input,#journey-cardio-form select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;padding:10px;border:1px solid var(--line);border-radius:8px;background:#12180f;color:var(--text);font:inherit}#journey-cardio-form small,#journey-cardio-form p,#journey-cardio-form a,#journey-cardio-form button{grid-column:1/-1}#journey-cardio-form button{justify-self:start}@media(min-width:760px){#journey-cardio-form{grid-template-columns:repeat(2,minmax(0,1fr))}}

#journey-cardio-form .cardio-number-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px}#journey-cardio-form .cardio-field{min-width:0}#journey-cardio-form .cardio-number-controls button{grid-column:auto;justify-self:stretch;min-width:48px;min-height:48px;padding:0;font-size:26px;font-weight:700;background:#304222;color:var(--lime)}#journey-cardio-form .cardio-number-controls input{text-align:center;font-size:20px}#journey-cardio-form .cardio-field>label{margin-bottom:7px}

.journey-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.journey-set>strong,.journey-set>.journey-saved,.journey-set>button{grid-column:1/-1}.journey-set label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:14px}.journey-set input,.journey-set select{width:100%;max-width:100%;min-width:0;min-height:48px;font:inherit;font-size:16px;background:#111510;color:var(--text);border:1px solid #526147;border-radius:8px;padding:10px}.journey-set button{min-height:48px}@media(min-width:760px){.journey-set{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* The activity selector opens the four cardio choices. */
#journey-cardio-form #cardio-mode{background-color:#c4f469;color:#111510;border:2px solid #a6d94d;font-weight:700;min-height:52px;appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,#111510 50%),linear-gradient(135deg,#111510 50%,transparent 50%);background-position:calc(100% - 24px) 50%,calc(100% - 16px) 50%;background-size:8px 8px;background-repeat:no-repeat}
#journey-cardio-form #cardio-mode option{background:#192119;color:#f2f5ec}
#journey-cardio-form #cardio-mode:focus-visible{outline:3px solid #fff;outline-offset:3px}
#journey-cardio-form #cardio-mode:disabled{background-color:#272d32;color:#f1f3f5;opacity:1}
#journey-status:not(:empty){padding:14px;border:1px solid #c4f469;border-radius:10px;line-height:1.5}
#journey-status button{margin:8px 8px 0 0;min-height:48px}

/* A saved activity is clearly separate from an editable green action. */
.journey-set.is-saved,.journey-activity.is-saved{background:#363d43;border:2px solid #aab4bd;box-shadow:inset 4px 0 0 #aab4bd}
.journey-set.is-saved input:disabled,.journey-set.is-saved select:disabled,.journey-activity.is-saved input:disabled,.journey-activity.is-saved select:disabled{background-color:#272d32;color:#f1f3f5;opacity:1}
.journey-set.is-saved>button,.journey-activity.is-saved>button{background:#46515a;color:#fff;border-color:#aab4bd}

#journey-body .journey-set.is-saved input:disabled,#journey-body .journey-set.is-saved select:disabled,#journey-body .journey-activity.is-saved input:disabled,#journey-body .journey-activity.is-saved select:disabled{background-color:#272d32;color:#f1f3f5;opacity:1}

.report-number{color:#c4f469;font-weight:700}.day-reward .reward-calendar{color:#c4f469}

.closed-day-actions{padding-top:16px;border-top:1px solid #526147;margin-top:24px}.closed-day-actions button{min-height:48px}.guided-journey>.journey-navigation:last-child{padding-top:16px;border-top:1px solid #526147}

#guided-journey #journey-progress-open{background:#c4f469;color:#111510;border:2px solid #c4f469;font-weight:700}

.energy-comparison{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.energy-comparison-card{padding:14px;border:1px solid #627541;border-radius:10px;background:#20291d;min-width:0}.energy-comparison-card h3{font-size:15px;line-height:1.5;margin:0 0 8px}.energy-comparison-value{font-size:24px;font-weight:700;margin:0;overflow-wrap:anywhere}.energy-equation{font-size:19px;font-weight:700}.energy-comparison-help{line-height:1.5}.exercise-energy-allocation{margin:16px 0;padding:14px;border:1px solid #627541;border-radius:10px}.exercise-energy-allocation summary{color:#c4f469;font-weight:700;cursor:pointer}.exercise-energy-row{padding:10px 0;border-bottom:1px solid #526147}.exercise-energy-row p{margin:4px 0}.allocation-total{font-weight:700}@media(max-width:600px){.energy-comparison{grid-template-columns:1fr}}

.journey-set>.series-rep-target{grid-column:1/-1;margin:0;line-height:1.5}

/* Recomposición60 pilot: completed exercise is read-only; only an explicit correction opens a saved set. */
.exercise-step-readonly{filter:grayscale(1);opacity:.55;pointer-events:none;user-select:none}
#guide-frame.exercise-step-readonly{height:160px!important;min-height:160px!important;max-height:160px!important}
.exercise-step-complete{background:#292d31;border-radius:12px;color:#d5d9dd}
.exercise-step-complete>.series-register-title{color:#d5d9dd}
.exercise-step-complete>.journey-set.is-saved>label,.exercise-step-complete>.journey-set.is-saved>.series-rep-target{display:none}
.exercise-step-complete>.journey-set:not(.is-correcting){background:#363d43;border-color:#aab4bd}
.exercise-step-complete>.journey-set.is-correcting{background:#182015;border:2px solid var(--lime)}
.exercise-step-complete>.journey-set.is-correcting>button{background:var(--lime);color:#111510}

/* Every confirmed reading/activity step uses the same completion signal in the Rec60 pilot. */
.step-content-complete{background:#292d31;border-radius:12px;color:#d5d9dd}
.step-content-readonly{filter:grayscale(1);opacity:.55;pointer-events:none}
.step-content-complete:not(.exercise-step-complete){filter:grayscale(1);opacity:.6;max-height:160px;overflow:hidden}
.completed-step-notice{color:#d5d9dd;font-weight:700}

/* Explicit green correction affordance remains available inside completed grey exercises. */
.exercise-step-complete>.journey-set.is-saved>button{background:var(--lime);color:#111510;border:2px solid var(--lime);font-weight:700}
.exercise-step-complete>.journey-set.is-correcting input,.exercise-step-complete>.journey-set.is-correcting select{color:var(--lime);border:2px solid var(--lime)}
.exercise-step-complete>.journey-set.is-correcting>.cancel-set-correction{background:#363d43;color:#fff;border-color:#aab4bd}

/* Keep the reference access explicit and green beneath its heading, including closed-day revisits. */
.guide-pane>.journey-reading-control{padding:0 16px;margin:10px 0 16px}.journey-reading-control .review-reopen{background:var(--lime);color:#111510;border:2px solid var(--lime);font-weight:700;text-decoration:none}

/* First level: Leer opens the technical consultation; guide section disclosures remain inside. */
.journey-read-toggle{display:block;width:100%;min-height:52px;text-align:left;margin:0 0 16px;padding:14px 18px;font-size:17px;font-weight:700;background:var(--lime);color:#111510;border:2px solid var(--lime);border-radius:12px}.journey-read-toggle[hidden]{display:none!important}

/* Completed reading controls follow the grey step, while navigation and series corrections remain active. */
.journey-reading-control .completed-reading-control:disabled{background:#363d43;color:#aab4bd;border:2px solid #67727a;cursor:default;opacity:1;box-shadow:none;text-decoration:none}

.meal-review-title{color:var(--lime);font-size:1.2rem;line-height:1.4;margin:12px 0;font-weight:700}

/* V160: comfortably sized controls in narrow and phone-landscape views. */
@media(max-width:900px),(max-height:500px){header button,main button{min-width:44px;min-height:44px}main input:not([type=checkbox]):not([type=radio]),main select,main textarea{font-size:16px;min-height:44px}main summary{min-height:44px;padding-block:8px}}

/* V161: both languages remain visible, including on a narrow phone. */
.language-picker{display:flex;gap:8px;padding:6px;border:2px solid var(--lime);border-radius:12px;background:#182015;max-width:100%;flex-wrap:wrap}.language-picker button{min-height:44px;font-weight:700;color:var(--lime);border-color:var(--lime);white-space:nowrap}.language-picker button[aria-pressed="true"]{background:var(--lime);color:#111510;box-shadow:inset 0 0 0 1px #111510}.language-picker span{font-size:1.25em;margin-right:4px}#auth-status:not(:empty){padding:14px;border:1px solid var(--lime);border-radius:8px;color:var(--text);background:#26311e;overflow-wrap:anywhere;scroll-margin:24px}#auth-status[data-error="true"]{border-color:#ffbd83;background:#38291f;color:#ffe3c6}@media(max-width:600px){header nav{width:100%}.language-picker{order:-1;flex-basis:100%;justify-content:center}.language-picker button{flex:1}#account{padding:20px;min-width:0}#account button{max-width:100%;white-space:normal}}

/* V163: one compact, visible title beside registration fields. */
.registration-report-notice{padding:12px 14px;margin:12px 0 16px;border:1px solid var(--lime);border-left-width:4px;border-radius:10px;background:#26351d;max-width:100%;overflow-wrap:anywhere}.registration-report-notice h3{margin:0;color:var(--lime);font-size:18px;line-height:1.35;font-weight:700}

/* V164: a failed set explains the problem beside its save button. */
.series-form-status{width:100%;padding:12px;margin:8px 0;border:1px solid #ffbd83;border-radius:8px;background:#38291f;color:#ffe3c6;font-size:16px;line-height:1.5;overflow-wrap:anywhere;scroll-margin:24px}.journey-set input[aria-invalid="true"]{border-color:#ffbd83;outline:2px solid #ffbd83;outline-offset:1px}

#journey-calendar{padding:12px;margin:12px 0;border:1px solid var(--lime);border-radius:10px;background:#182015}#journey-calendar>summary{min-height:44px;align-content:center;color:var(--lime);font-weight:700;cursor:pointer}.calendar-next{border:2px solid var(--lime);font-weight:700}.closed-days-grid button:disabled{cursor:not-allowed;opacity:.45}.closed-days-grid button{min-width:0;overflow-wrap:anywhere}

/* Reserve a mobile content viewport while the guide initializes to avoid moving the footer. */
@media(max-width:600px){main{min-height:100vh;min-height:100svh}}

/* Original library: compact choices, full original presentation on selection. */
#cards.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#cards.cards[hidden],#library-detail[hidden]{display:none!important}
#cards .library-family-title{grid-column:1/-1;margin:14px 0 0;color:var(--lime);font:700 23px/1.25 Arial,Helvetica,sans-serif}
#cards .library-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;white-space:normal;margin:0;padding:24px;color:var(--text);font-family:Arial,Helvetica,sans-serif;cursor:pointer}
.library-tile:hover{border-color:var(--lime);background:#27341d}
.library-tile:focus-visible,.library-back:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.library-days{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--lime);margin:6px 0 16px}
.library-level{font-size:16px;line-height:1.4;margin-bottom:22px;overflow-wrap:anywhere}
.library-view{display:flex;align-items:center;gap:6px;color:var(--lime);font-size:15px;font-weight:700;margin-top:auto}
.library-view svg{flex-shrink:0}
#library-detail{scroll-margin-top:24px;margin:35px 0}
#library-detail .library-back{margin-bottom:18px;min-height:44px;color:var(--lime)}
#library-detail .card{max-width:760px;margin:auto}
#library-detail .card h2{outline:none}
@media(max-width:700px){#landing{padding:24px 0}#cards.cards{gap:10px}#cards .library-tile{padding:16px 8px}#cards .library-tile .number{font-size:36px}.library-days{font-size:11px;margin-bottom:12px}.library-level{font-size:13px;margin-bottom:16px}.library-view{font-size:12px;gap:3px}#cards .library-family-title{font-size:21px}#library-detail .card{padding:24px}#library-detail .card button{white-space:normal;max-width:100%;min-height:44px}}

/* Preserve horizontal reading; contain only boundary navigation/chaining. */
html,body{overscroll-behavior-x:none;touch-action:pan-x pan-y pinch-zoom}
.scroll{overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}

/* Three compact, readable days per row without lengthening the whole guide. */
#journey-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:540px;max-height:clamp(180px,45svh,340px);overflow-y:auto;overscroll-behavior-y:contain;gap:6px;margin:8px auto 0;padding:3px;scrollbar-gutter:stable}
#journey-calendar-grid>button{min-height:44px;padding:6px 4px;font-size:12px;line-height:1.35}
#journey-calendar-grid>button:disabled{opacity:1}
.calendar-scroll-help{max-width:540px;margin:8px auto;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:360px){.combined-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Match the alternate combined-calendar view to the compact calendar. */
.combined-calendar{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:540px;max-height:clamp(180px,45svh,340px);overflow-y:auto;overscroll-behavior-y:contain;gap:6px;margin:12px auto 20px;padding:3px;scrollbar-gutter:stable}
.calendar-record{min-height:44px;padding:6px 4px}
