/* Character artwork is a four-pose atlas. Brief gestures stop before reading. */
.journey-app .mainnav [role=tab][data-state=active]{background:#285f50;color:#fff;border-color:#285f50}
.journey-app .mainnav [role=tab][data-state=active] svg{color:inherit}
.journey-app .erika-companion{--buddy-size:160px;width:var(--buddy-size);max-width:100%;position:relative;margin:0;flex-shrink:0}
.journey-app .buddy-touch,.journey-app .buddy-still{display:block;width:100%;padding:0;border:0;border-radius:20px;background:none;box-shadow:none;min-height:0;line-height:1;cursor:pointer}
.journey-app .buddy-still{cursor:default}
.journey-app .buddy-touch:hover{background:#e4edde55}
.buddy-sprite{position:relative;display:block;width:100%;aspect-ratio:1;transform-origin:50% 90%;overflow:hidden;isolation:isolate}
.buddy-atlas{position:absolute;inset:0;background-size:200% 200%;background-repeat:no-repeat;background-position:0 0}
.pose-think .buddy-atlas,.pose-listen .buddy-atlas,.pose-rest .buddy-atlas{background-position:100% 0}
.pose-point .buddy-atlas{background-position:0 100%}
.pose-celebrate .buddy-atlas{background-position:100% 100%}
/* Whole-image gestures rejected in review. Keep poses still until the articulated
   character sample has passed visual review. */
.journey-app .erika-companion figcaption{display:flex;flex-direction:column;align-items:center;gap:3px;margin:2px 0 0;text-align:center}
.journey-app .erika-companion .cat-name{font-size:14px;font-weight:650;line-height:1.5;color:#37594d}
.journey-app .erika-companion .cat-message{font-size:12px;line-height:1.5;color:#617469}
.buddy-hello{position:absolute;z-index:2;bottom:100%;left:50%;transform:translateX(-50%);background:#fffdf6;border:1px solid #cad8c5;border-radius:14px;padding:9px 12px;color:#355449;box-shadow:0 4px 12px #29494412;font-size:13px;line-height:1.5;white-space:nowrap;pointer-events:none}
.journey-app .companion-welcome{grid-template-columns:minmax(0,1fr) 340px;min-height:290px;padding:30px 34px;margin:24px 0;border-radius:26px;background:#edf2e6;gap:24px}
.companion-welcome h1{font-size:clamp(28px,3vw,38px);margin-bottom:14px;max-width:520px}
.welcome-save{display:block;font-size:13px;color:#647569;margin-top:14px}
.welcome-companions{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8px}
.journey-app .welcome-companions .buddy-home{--buddy-size:166px;width:100%;align-self:end}
.journey-app .cat-motion-toggle{grid-column:1/-1;justify-self:center;background:none;border:0;border-bottom:1px dashed #a7b9a0;box-shadow:none;color:#5c7164;font-size:12px;min-height:36px;padding:4px 8px}
.journey-app .concept-invite{padding:18px 24px;gap:18px;box-shadow:none;margin:0 0 24px;border-color:#ddd7c8;background:#fffbf3}
.journey-app .concept-invite .buddy-invite{--buddy-size:74px;flex:none}
.concept-invite h2{font-size:21px}.concept-invite .eyebrow{font-size:13px}.concept-invite p{font-size:15px}.concept-invite .secondary{flex-shrink:0}
.journey-app .recommended-stop{padding:22px 26px;margin:0 0 26px;background:#f3f4e9}
.journey-app .node-preview .erika-companion{--buddy-size:126px;margin:0 auto 8px}
.journey-app .journey-rest .erika-companion{--buddy-size:140px}
.journey-app .journey-rest{padding:24px 18px;gap:28px}
.journey-app .badge-grid{gap:12px}.journey-app .journey-badge{padding:18px 12px}.journey-app .journey-badge .medal{width:48px;height:48px}.journey-app .journey-badge summary{gap:8px}.journey-app .journey-badge summary>span:last-child{font-size:13px;line-height:1.65}
.journey-app.discovery-active .brand{min-height:68px}.journey-app.discovery-active .brandmark{width:40px;height:40px}.journey-app.discovery-active .brand strong{font-size:22px}.journey-app.discovery-active .brand div span{font-size:13px}
.journey-app.discovery-active .mainnav [role=tab]{min-height:48px;padding:10px 0;font-size:16px}
.journey-app .concept-course>.intro{padding:22px 0 14px;margin:0}.concept-course>.intro h1{font-size:30px;margin:6px 0}.concept-course>.intro p{margin:5px 0;font-size:15px}.concept-course.has-lesson>.intro{padding:16px 0 10px}.concept-course.has-lesson>.intro h1{font-size:21px;margin:4px 0}.concept-course.has-lesson>.intro .eyebrow{font-size:12px}
.journey-app .concept-workbench{position:relative;padding:22px 28px!important;display:flow-root}
.concept-workbench h2{font-size:25px;margin:14px 0 10px}.concept-prompt{font-size:18px;line-height:1.75!important;margin:12px 0 18px}
.concept-workbench progress{margin:10px 0 6px;height:5px}.concept-step-meta{font-size:12px}
.learning-companion{float:right;display:flex;flex-direction:column;align-items:center;width:132px;margin:12px 0 12px 20px;text-align:center}
.journey-app .learning-companion .buddy-learning{--buddy-size:106px}
.learning-companion>p{font-size:12px!important;color:#617568;line-height:1.6!important;margin:7px 0 0}
.learning-companion.is-quiet .buddy-sprite{animation:none}
.concept-feedback{display:flow-root}.journey-app .concept-feedback .buddy-feedback{--buddy-size:76px;float:right;margin:0 0 6px 14px}.concept-feedback .buddy-feedback figcaption{display:none}
.concept-feedback.hypothesis{background:#f4f0e7;border-left-color:#a39478}
.concept-workbench form,.concept-feedback{clear:both}.concept-choices{gap:10px;margin:14px 0}.concept-choices:has(label:nth-of-type(3)):not(:has(label:nth-of-type(4))){grid-template-columns:repeat(3,minmax(0,1fr))}.concept-choices label{padding:12px 14px;min-height:56px}
.prediction-note summary{cursor:pointer;min-height:36px;font-size:14px;line-height:2;color:#64756a}.prediction-note .concept-input-label{margin:6px 0 14px}.concept-actions{margin:16px 0}.concept-feedback{margin:18px 0;padding:14px 18px}.concept-memory{margin:12px 0;padding:12px 16px}
.concept-experiment{margin:16px 0;padding:20px}.concept-controls{margin-bottom:16px;gap:18px}.concept-bar-row{margin:12px 0;align-items:center}
.concept-bar-space .bar-reference{font-size:12px;font-weight:600;line-height:1.5;margin:0 0 6px;color:#4c6051}.concept-bar-space .bar-change{font-size:12px;line-height:1.5;margin:5px 0;color:#6c655b}
.concept-bar-space>.concept-stack{display:flex;background:transparent!important;color:#294944;padding:0;min-width:0;height:42px;overflow:hidden;border-radius:6px}
.concept-stack>span{display:flex;justify-content:center;align-items:center;min-width:0;overflow:hidden;font-size:14px}
.stack-original{background:#d0b597;color:#372719}.stack-add{background:#a87850;color:white;border-left:2px solid #fff8}.stack-remain{background:#b8c4a4;color:#283421}.stack-remove{background:repeating-linear-gradient(135deg,#f8f0df,#f8f0df 5px,#c8b496 5px,#c8b496 7px);border:1px dashed #856746;border-left:2px solid #856746;color:#4e3924}
.concept-welcome .buddy-welcome{--buddy-size:170px}.concept-welcome .small{font-size:14px}.concept-welcome h2{font-size:25px}
.journey-app .experiment-hub-heading{gap:24px;margin-bottom:20px}.journey-app .experiment-hub-heading .erika-companion{--buddy-size:150px}.journey-app .experiment-hub-heading h1{font-size:32px}.journey-app .experiment-hub-heading p{font-size:17px}
.journey-app .experiment-intro .erika-companion{--buddy-size:170px}.journey-app .experiment-work{display:flow-root;position:relative;padding:26px 30px}.experiment-work>.learning-companion{margin-top:0}.experiment-work .actions,.experiment-work .exp-canvas-grid{clear:both}
.journey-app .quiet-nudge .thinking-speaker{display:flex;align-items:center;gap:12px}.journey-app .thinking-speaker .buddy-hint{--buddy-size:70px}.thinking-speaker .erika-companion figcaption{display:none}
.model-preview{display:flex;align-items:center;gap:12px;min-height:68px;padding:14px;border-radius:14px;background:#edf2e6;margin-bottom:10px;color:#375c4d;width:100%}
.mini-fraction{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;flex:1;height:36px}.mini-fraction.fine{grid-template-columns:repeat(8,1fr)}.mini-fraction i{background:#dae2cf;border-radius:2px}.mini-fraction i.filled{background:#527b66}.mini-equals{font-size:20px}.mini-whole{display:grid;place-items:center;background:#b6caa8;border-radius:5px;flex:1;font-size:12px;height:30px;white-space:nowrap}.mini-larger{flex:1.2;height:40px;background:#547f68;color:white}.mini-rectangle,.mini-square{border:3px solid #547f68;background:#dae6cb}.mini-rectangle{width:84px;height:28px}.mini-square{width:56px;height:56px}
@media(max-width:900px){.journey-app .companion-welcome{grid-template-columns:minmax(0,1fr) 250px;padding:26px;gap:12px}.journey-app .welcome-companions .buddy-home{--buddy-size:120px}.experiment-cards{gap:14px}.journey-app .experiment-card{padding:22px}.experiment-card .model-preview{max-width:260px;min-height:58px}.journey-app .concept-invite{flex-wrap:wrap}}
@media(max-width:680px){
 .journey-app .companion-welcome{grid-template-columns:1fr;gap:18px;margin:18px 0;padding:24px 22px;min-height:0}.companion-welcome h1{font-size:28px}.companion-welcome .welcome-task>p:not(.journey-kicker){font-size:16px}.welcome-task .primary{width:100%;justify-content:center}.welcome-save{text-align:center;font-size:12px;margin-top:10px}.welcome-companions{grid-template-columns:1fr 1fr;max-width:270px;width:100%;justify-self:center;gap:6px}.journey-app .welcome-companions .buddy-home{width:108px;justify-self:center}.journey-app .welcome-companions .cat-message{font-size:11px}.journey-app .cat-motion-toggle{min-height:32px}
 .journey-app .concept-invite{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:18px}.journey-app .concept-invite .buddy-invite{--buddy-size:58px;align-self:start}.concept-invite h2{font-size:18px}.concept-invite p{font-size:14px}.concept-invite .secondary{grid-column:2;justify-self:start;font-size:15px}.concept-invite .eyebrow{font-size:12px}
 .journey-app .journey-rest{flex-direction:row;text-align:left;gap:12px;padding:18px 0}.journey-app .journey-rest .erika-companion{--buddy-size:92px}.journey-rest h2{font-size:21px}.journey-rest p{font-size:15px}.journey-rest .actions{justify-content:flex-start;gap:8px}
 .journey-app .concept-workbench{padding:18px!important}.concept-course>.intro h1{font-size:26px}.concept-course.has-lesson>.intro h1{font-size:20px}.concept-workbench h2{font-size:22px}.concept-prompt{font-size:17px}.concept-choices:has(label:nth-of-type(3)):not(:has(label:nth-of-type(4))){grid-template-columns:1fr}.concept-choices label{padding:12px;min-height:52px}.learning-companion{width:76px;margin:7px 0 8px 12px}.journey-app .learning-companion .buddy-learning{--buddy-size:70px}.learning-companion>p{display:none}.concept-workbench .concept-step-meta>span:last-child{max-width:none;font-size:11px}.concept-experiment{padding:14px}.concept-controls{gap:12px}.concept-bar-space .bar-reference,.concept-bar-space .bar-change{font-size:11px}.concept-bar-row>span{width:54px;font-size:12px}.concept-bar-row{gap:7px}.concept-amounts{font-size:14px;gap:16px}.concept-stack>span{font-size:12px}.concept-welcome{position:relative;display:block!important;padding:22px!important}.concept-welcome .buddy-welcome{--buddy-size:80px;position:absolute;right:15px;top:18px}.concept-welcome h2{font-size:23px;max-width:210px}.concept-welcome .concept-chip{max-width:190px}.concept-welcome .primary{width:100%;font-size:16px}
 .journey-app .experiment-hub-heading{flex-direction:row;gap:10px;align-items:center}.journey-app .experiment-hub-heading .erika-companion{--buddy-size:85px;align-self:center}.journey-app .experiment-hub-heading h1{font-size:25px;margin:8px 0}.journey-app .experiment-hub-heading p{font-size:15px;margin:8px 0}.journey-app .experiment-hub-heading .journey-kicker{font-size:13px}.journey-app .experiment-hub{padding-top:18px}.journey-app .experiment-card{padding:20px}.journey-app .experiment-work{padding:22px 18px}.journey-app .experiment-work h1{font-size:24px}.experiment-work .learning-companion{width:68px;margin-left:10px}.journey-app .experiment-intro .erika-companion{--buddy-size:110px}
}
html[data-cat-motion=off] .buddy-sprite,html[data-cat-motion=off] .buddy-atlas{animation:none!important;transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.buddy-sprite,.buddy-atlas{animation:none!important;transition:none!important;transform:none!important}}
