body[data-page="cultivate"] .app-shell{padding-bottom:calc(94px + var(--safe))}
.bottom-nav{padding-right:16px;padding-left:16px}
.bottom-nav .nav-item{min-width:0;font-size:11px}
/* Each page owns one parent task. These styles support the existing data model. */
.task-page-heading,.learning-heading{margin:20px 0 24px}
.task-page-heading h1,.learning-heading h1{font-size:28px;line-height:1.45;font-weight:600}
.task-page-heading p,.learning-heading p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:8px}
.followup-views{display:flex;border-bottom:1px solid var(--parent-border);gap:24px;margin-bottom:24px}
.followup-views>button{min-height:48px;background:none;color:var(--parent-accent);font-size:15px;padding:10px 2px;border-bottom:2px solid transparent}
.followup-views>button[aria-selected="true"]{color:var(--parent-accent);border-bottom-color:var(--parent-accent);font-weight:600}
.learning-heading{padding:0}
.learning-heading .growth-intro{margin:8px 0 0}
.learning-methods{border-top:1px solid var(--parent-border);padding-top:5px;margin-top:28px}
.learning-method-list{margin-top:13px}
.learning-method-card{display:flex;align-items:center;text-align:left;width:100%;background:transparent;padding:18px 0;border-bottom:1px solid var(--parent-border);gap:12px;color:var(--parent-ink)}
.learning-method-card>span:first-child{flex:1;min-width:0}
.learning-method-card strong{font-size:16px;line-height:1.7;font-weight:500;display:block}
.learning-method-card small{display:block;font-size:13px;line-height:1.8;color:var(--muted);margin-top:5px}
.guidance-single-summary{font-size:17px;line-height:1.9;margin:14px 0 22px}
.guidance-single section{margin:22px 0}
.guidance-single h3{font-size:18px;margin-bottom:10px}
.guidance-single section p,.guidance-single li{font-size:15px;line-height:1.9}
.guidance-single ol{padding-left:23px;margin:12px 0}
.guidance-single li{margin:9px 0;padding-left:3px}
.guidance-single>.primary{margin:23px 0 15px;min-height:48px}
.conversation-tools{display:flex;justify-content:space-between;gap:16px;margin:7px 0 18px}
.conversation-tools>.text-button{min-height:44px;font-size:13px;color:var(--parent-accent)}
body[data-page="chat"] .topbar>.chat-phone-entry{display:none}
#page-chat>.voice-entry{display:none}
body.is-onboarding .conversation-tools{display:none}
body:not(.has-conversation) #page-chat .companion{gap:14px;margin:18px 0 10px;align-items:center}
body:not(.has-conversation) #page-chat .mascot-button{width:78px;height:78px;flex:none}
body:not(.has-conversation) #page-chat .mascot-button img{width:78px;height:78px}
body:not(.has-conversation) #page-chat .companion-copy h1{font-size:21px;line-height:1.6}
body:not(.has-conversation) #page-chat .presence{font-size:13px;line-height:1.8;margin-top:5px;display:block}
.concern-card{cursor:default}
.concern-card .concern-card-actions{display:flex;align-items:center;gap:18px;margin-top:13px}
.concern-card .concern-card-actions .secondary{font-size:14px;min-height:44px;padding:9px 15px}
#followup-panel>.concern-workspace>.concern-schedule{margin-top:0}
#followup-panel .arrangement-heading{margin-top:8px}
#followup-panel .arrangement-heading h2{font-size:20px}
.learning-followup-link{margin:22px 0 5px}
@media(max-width:374px){.task-page-heading h1,.learning-heading h1{font-size:25px}.followup-views{gap:20px}.learning-method-card{padding:15px 0}.conversation-tools{gap:12px}}

/* A goal's practice route is selectable; attempts describe events, not child scores. */
.cultivation-heading{margin:20px 0 24px;padding:0}
.cultivation-heading h1{font-size:28px;line-height:1.45;font-weight:600}
.cultivation-heading p{font-size:15px;line-height:1.8;color:var(--muted);margin-top:8px}
.journey-progress{display:block;font-size:13px;color:var(--muted);line-height:1.7;margin:10px 0}
.journey-card-next{display:block;margin:13px 0 17px;line-height:1.8;overflow-wrap:anywhere}
.journey-card-next>small,.journey-card-next>span{display:block}
.journey-card-next>small{font-size:12px;color:var(--muted);margin-bottom:3px}
.journey-card-next>span:first-of-type{font-size:16px;font-weight:500}
.journey-card-next>span:last-of-type{font-size:14px;color:var(--parent-ink);margin-top:3px}
.journey-map{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:14px}
.journey-map>li{position:relative;padding:0;margin:0;min-width:0}
.journey-map>li:not(:last-child):after{content:'';position:absolute;left:29px;bottom:-14px;width:2px;height:14px;background:var(--parent-soft)}
.journey-node-button{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px;row-gap:4px;width:100%;min-height:78px;text-align:left;padding:15px 14px;border:1px solid var(--parent-border);border-radius:17px;background:#fff;color:var(--parent-ink)}
.journey-node-number{grid-column:1;grid-row:1/3;display:grid;place-items:center;align-self:center;width:30px;height:30px;border-radius:50%;background:var(--parent-soft);color:var(--parent-ink);font-size:14px}
.journey-node-button strong{grid-column:2;font-size:16px;line-height:1.65;font-weight:500;overflow-wrap:anywhere}
.journey-node-button small{grid-column:2;font-size:12px;line-height:1.6;color:var(--muted)}
.journey-node-button.is-current{border:2px solid var(--parent-accent);padding:14px 13px;background:var(--parent-soft)}
.journey-node-button.is-current .journey-node-number{background:var(--parent-accent);color:#fff}
.journey-node-button.is-skipped{border-style:dashed;background:var(--parent-soft)}
.journey-node-button:focus-visible{outline:3px solid var(--parent-accent);outline-offset:3px}
.journey-current{padding:17px;border-radius:17px;background:var(--parent-soft);border:1px solid var(--parent-border);margin:20px 0}
.journey-current>small,.journey-node-status{display:block;color:var(--muted);font-size:13px;line-height:1.7}
.journey-current p,.journey-node-detail p{white-space:pre-wrap;overflow-wrap:anywhere}
.journey-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.journey-actions .primary,.journey-actions .secondary{min-height:46px;font-size:14px;padding:11px 15px}
.journey-actions>.full{flex-basis:100%}
.journey-actions>.text-button{min-height:44px;font-size:14px}
.journey-node-detail h3{font-size:23px;line-height:1.65;overflow-wrap:anywhere}
.journey-node-detail h4{font-size:17px;line-height:1.7;margin-bottom:8px}
.journey-attempts{margin:28px 0}
.journey-attempt{border-top:1px solid var(--parent-border);padding:17px 0}
.journey-attempt>small{font-size:12px;color:var(--muted);line-height:1.7}
.journey-attempt p{font-size:15px;line-height:1.9;margin:8px 0}
.journey-attempt details>summary{min-height:44px;padding:11px 0;font-size:13px;color:var(--parent-accent);cursor:pointer}
.journey-attempt>.text-button{min-height:44px;font-size:13px}
.journey-dimensions{border:0;padding:0;margin:20px 0}
.journey-dimensions legend{font-size:14px;color:var(--muted);margin-bottom:6px}
.journey-dimensions .check-row{padding:8px 0;min-height:44px}
#cultivation-attempt-form .check-row small{display:block;color:var(--muted);font-size:12px;line-height:1.7}
.journey-form-error{padding:12px;border-radius:12px;background:#fbede6;color:#874630;line-height:1.8;margin:18px 0}
.journey-form-error[hidden]{display:none}
@media(max-width:374px){.cultivation-heading h1{font-size:25px}.journey-actions>.primary,.journey-actions>.secondary{width:100%}.journey-node-button{column-gap:9px}}

.cultivation-storage{font-size:12px;line-height:1.8;color:var(--muted);margin:24px 0 8px}

.journey-card-next>span+span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
