/* Grow Together uses the existing app layout and naturally scrolling dialogs. */
.grow-header{display:flex;justify-content:space-between;gap:16px;align-items:center}.grow-header h2{font-size:clamp(2rem,4vw,3rem);margin:5px 0}.grow-header p{margin:8px 0}.grow-flower{font-size:4rem;color:#ae563e;line-height:1}
.grow-progress{display:grid;gap:7px;margin:22px 0}.grow-progress>span{font-size:.85rem;color:#505847}.grow-progress progress{width:100%;height:12px;accent-color:#78834f}
.grow-path{display:grid;gap:12px}.grow-step{display:grid;grid-template-columns:45px minmax(0,1fr) 20px;gap:12px;align-items:center;text-align:left;width:100%;border:1px solid #bbc2a3;background:#fff9eb;border-radius:14px;padding:18px;color:#30382e;cursor:pointer}.grow-step.is-next{background:#f9d1ba;border-color:#b77456;box-shadow:0 3px 0 #dfab8f}.grow-step.is-explored{background:#e8edd8}.grow-step strong{display:block;font-size:1.12rem;margin:5px 0}.grow-step small{font-size:.66rem;letter-spacing:.07em;font-weight:700}.grow-step-icon{font-size:1.8rem;text-align:center;color:#626e42}.grow-partners{display:grid;gap:4px;font-size:.86rem;line-height:1.5}.grow-partners b{margin-right:5px}.grow-milestone,.grow-rest{background:#f8d6c5;padding:18px;border-radius:12px;margin-top:18px}.grow-milestone strong{font-size:1.2rem}.grow-step:focus-visible{outline:3px solid #465f45;outline-offset:3px}
.reward-methods{display:grid;gap:10px;border:0;padding:0}.reward-methods label{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px;border:1px solid #929c7e;border-radius:10px;background:#fffaf0}.reward-methods input{width:22px;height:22px;margin:0;flex:0 0 22px}.grow-placement{margin:18px 0}.grow-placement button{margin:6px;min-height:44px;padding:10px;border:1px solid #929c7e;background:#e8edd8;border-radius:8px}.grow-celebration{border-left:5px solid #cf7959;padding:15px;background:#fff3de;animation:grow-arrive .35s ease-out}.grow-duck{display:grid;justify-items:center;gap:12px;background:#f8d6c5;border-radius:16px;padding:20px;margin:20px 0}.grow-duck button{min-height:64px;min-width:190px}.grow-duck svg{width:100px;height:75px}.grow-duck-ready{display:flex;gap:10px;align-items:flex-start}.grow-duck-ready input{width:22px;height:22px;flex:0 0 22px}.grow-duck button:disabled{opacity:.55}.grow-duck figcaption{text-align:center}.grow-next{margin:18px 0}.rich-lesson .grow-listen{border-left:4px solid #778552;padding:12px;background:#e8edd8}
@keyframes grow-arrive{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.grow-celebration{animation:none}}@media(max-width:550px){.grow-step{padding:14px;grid-template-columns:30px minmax(0,1fr) 16px}.grow-flower{font-size:2.5rem}.grow-step strong{font-size:1rem}}

.adventure-banner.grow-together{grid-template-columns:minmax(0,1fr)}.adventure-banner.grow-together::before{pointer-events:none}.grow-together>div,.grow-together>.grow-rest{min-width:0;position:relative}.adventure-banner.grow-together .grow-header h2{font-size:clamp(2rem,4vw,3rem)}

/* Keep close controls above lesson content and easy to activate by touch. */
.modal .modal-close{z-index:10;min-width:48px;min-height:48px;touch-action:manipulation;cursor:pointer}.modal .activity-modal>div>h2,.modal .activity-modal>h2{padding-right:34px}
