/* Keep the artwork, text and controls in separate, content-sized grid cells. */
.dojo-stage.activity-scene{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(0,1.3fr);grid-template-rows:auto auto auto auto auto;gap:18px 28px;padding:24px;height:auto!important;min-height:0!important;max-height:none;align-items:start;overflow:hidden}
.dojo-stage.activity-scene>.activity-art{position:relative;inset:auto;grid-column:2;grid-row:1/5;align-self:center;width:100%;height:auto;aspect-ratio:4/3;border-radius:12px;overflow:hidden}
.dojo-stage.activity-scene>.scene-shade{display:none}
.dojo-stage.activity-scene>.activity-heading{position:static;grid-column:1;grid-row:1;max-width:none;color:#81532f;text-shadow:none}
.dojo-stage.activity-scene>.activity-heading h2{max-width:none;font-size:clamp(19px,1.85vw,24px);line-height:1.6;margin:5px 0 0}
.dojo-stage.activity-scene>.speech-bubble{position:relative;inset:auto;grid-column:1;grid-row:2;width:100%;max-width:none;margin:0;padding:16px 18px;align-self:start}
.dojo-stage.activity-scene>.speech-bubble p{font-size:16px;line-height:1.85;overflow-wrap:anywhere}
.dojo-stage.activity-scene>.speech-bubble>span{display:block;font-size:10px}
.dojo-stage.activity-scene>.week-result{position:static;grid-column:1;grid-row:3;max-width:none;width:100%;padding:12px 14px;animation:none}
.dojo-stage.activity-scene>.week-result>small{display:block}
.dojo-stage.activity-scene>.week-result>div{font-size:12px;gap:5px 12px;line-height:1.8}
.dojo-stage.activity-scene>.stage-note{display:block;position:static;grid-column:1;grid-row:4;width:100%;max-width:none;margin:0}
.dojo-stage.activity-scene .promise-note{font-size:11px;line-height:1.9;padding:10px 12px;overflow-wrap:anywhere}
.dojo-stage.activity-scene>.training-dock{position:static;inset:auto;grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:8px 0 0;width:100%}
.dojo-stage.activity-scene .training-orb{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:0}
.dojo-stage.activity-scene .orb-face{min-height:80px;max-height:none;max-width:175px;margin:0 auto;width:100%;aspect-ratio:1.5}
.dojo-stage.activity-scene .orb-face strong{font-size:clamp(15px,1.7vw,23px)}
.dojo-stage.activity-scene .orb-effect{white-space:normal;overflow-wrap:anywhere;font-size:10px;line-height:1.7;min-height:34px;margin-top:12px;padding:0 2px}
.dojo-stage.activity-scene .orb-cost{font-size:10px;line-height:1.6;margin-top:auto}
.dojo-stage.story-scene{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:center;padding:24px;height:auto!important;min-height:0!important;max-height:none}
.dojo-stage.story-scene>.stage-event{position:relative;inset:auto;grid-column:1;grid-row:1;width:100%;max-width:none;margin:0;min-width:0}
.dojo-stage.story-scene>.stage-event p{overflow-wrap:anywhere}
.dojo-stage.story-scene>.story-character{position:relative;inset:auto;grid-column:2;grid-row:1;margin:0;justify-self:center;align-self:center;width:100%;min-width:0}
.dojo-stage.story-scene .rival-portrait.story-face{width:min(245px,90%);height:auto;aspect-ratio:1}
.dojo-stage.story-scene>.event-illustration{position:relative;grid-column:2;grid-row:1;min-width:0;width:100%;z-index:1}
.event-illustration>.activity-art{position:static;inset:auto;width:100%;height:auto;aspect-ratio:4/3;border-radius:12px;animation:none}
.event-illustration>.scene-shade{display:none}
.story-scene .event-choices small{white-space:normal;line-height:1.7}
.random-event-label{color:#b17f43;font-weight:700;font-size:11px}
.lesson-toolbar{display:flex;align-items:center;gap:8px}.lesson-toolbar>button{font-size:12px;padding:9px 12px;white-space:nowrap}.lesson-picker-error{color:#b34c3e}
@media(max-width:950px){.dojo-stage.activity-scene{grid-template-columns:minmax(220px,.95fr) minmax(0,1.1fr);gap:16px 24px;padding:20px}.dojo-stage.activity-scene>.training-dock{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 22px}.dojo-stage.activity-scene .orb-face{max-width:175px}.dojo-stage.activity-scene .orb-effect{min-height:0;font-size:11px}.dojo-stage.story-scene{padding:20px;gap:20px;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr)}}
@media(max-width:700px){.dojo-stage.activity-scene{grid-template-columns:minmax(0,1fr);gap:17px;padding:18px}.dojo-stage.activity-scene>.activity-heading{grid-column:1;grid-row:1}.dojo-stage.activity-scene>.activity-art{grid-column:1;grid-row:2;max-width:560px;justify-self:center}.dojo-stage.activity-scene>.speech-bubble{grid-column:1;grid-row:3}.dojo-stage.activity-scene>.speech-bubble:before,.dojo-stage.activity-scene>.speech-bubble:after{display:none}.dojo-stage.activity-scene>.week-result{grid-column:1;grid-row:4}.dojo-stage.activity-scene>.stage-note{grid-column:1;grid-row:5}.dojo-stage.activity-scene>.training-dock{grid-column:1;grid-row:6;margin-top:4px}.dojo-stage.activity-scene>.activity-heading h2{font-size:21px}.dojo-stage.story-scene{grid-template-columns:minmax(0,1fr);padding:16px;gap:20px}.dojo-stage.story-scene>.stage-event{grid-column:1;grid-row:1}.dojo-stage.story-scene>.story-character,.dojo-stage.story-scene>.event-illustration{grid-column:1;grid-row:2;max-width:420px;justify-self:center}.dojo-stage.story-scene .rival-portrait.story-face{width:165px}.dojo-stage.story-scene .story-character>b{font-size:16px}.dojo-stage.story-scene>.stage-event h2{font-size:21px}.dojo-stage.story-scene>.stage-event p{font-size:13px}}
@media(max-width:480px){.dojo-stage.activity-scene{padding:14px;gap:15px}.dojo-stage.activity-scene>.training-dock{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.dojo-stage.activity-scene .orb-face{min-height:75px;max-width:150px}.dojo-stage.activity-scene .orb-face strong{font-size:18px}.dojo-stage.activity-scene .orb-effect{font-size:10px;margin-top:10px}.dojo-stage.activity-scene .orb-cost{font-size:10px}.dojo-stage.activity-scene>.speech-bubble{padding:14px}.dojo-stage.activity-scene>.speech-bubble p{font-size:15px}.dojo-stage.activity-scene .promise-note{font-size:11px}.dojo-stage.activity-scene>.activity-heading h2{font-size:20px}.dojo-stage.activity-scene>.activity-heading>span{font-size:11px}}
@media(max-width:700px){.lesson-heading{flex-wrap:wrap}.lesson-toolbar{margin-left:auto}.lesson-toolbar>button{font-size:11px;padding:9px 11px}}
.study-onboarding{max-width:970px;margin:auto;padding:30px;border-radius:18px}.study-onboarding h2{font-size:29px;margin:9px 0 15px}.study-onboarding>p{font-size:14px;line-height:1.9}.study-level-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.study-level-grid>button{text-align:left;background:#fff4d2;border:2px solid #dfbd78;border-radius:12px;padding:17px;color:#714c2a}.study-level-grid b{display:block;font-size:16px}.study-level-grid small{display:block;font-size:11px;line-height:1.7;margin-top:7px}.study-level-grid>button:hover{background:#ffe4a0}.study-settings{border:1px solid #dec795;border-radius:12px;margin:17px 0 24px;padding:16px}.study-settings legend{font-weight:800;color:#936739}.study-settings label{margin-top:10px}
@media(max-width:600px){.study-onboarding{padding:20px 15px}.study-level-grid{grid-template-columns:1fr}.study-onboarding h2{font-size:25px}.study-level-grid>button{padding:14px}}
