body.sentence-pilot{background:#f4eddd;color:#254b50}body.sentence-pilot .r-wrap{max-width:1030px;padding-top:12px}body.sentence-pilot .sheet{padding:12px;border-radius:28px;background:#fffaf0}body.sentence-pilot .toolbar{margin-bottom:10px}body.sentence-pilot #prompt{margin:8px 0 10px;font-size:1.15rem}body.sentence-pilot #stage{position:relative;overflow:hidden;border-radius:20px;background:#f3ead6}body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:clamp(300px,57dvh,510px)}body.sentence-pilot #scene>img{max-width:none;width:100%;height:100%;object-fit:cover;object-position:center 40%}body.sentence-pilot #scene{height:100%}body.sentence-pilot .model #text,body.sentence-pilot .build #text{position:absolute;z-index:1;bottom:14px;left:4%;right:4%;background:#fffaf0f5;border-radius:20px;padding:10px 14px;box-shadow:0 4px 20px #6b432915}body.sentence-pilot .sentence{margin:0;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;font-size:clamp(1.8rem,4vw,3rem)}body.sentence-pilot button.word{font:inherit;min-height:44px;background:transparent;border:0;padding:3px 6px;border-radius:9px;box-shadow:none;color:inherit}body.sentence-pilot .word.new-word{background:#ffe79c}body.sentence-pilot .word.speaking{background:#ffdf80;box-shadow:0 4px #e89835}body.sentence-pilot .match #text{padding:24px 10px;background:#fff6dd}body.sentence-pilot #choices{margin:12px 0 0;gap:10px}body.sentence-pilot .picture-choice{padding:0;background:#fff;border:4px solid white;max-width:300px;min-width:0}body.sentence-pilot .picture-choice img{height:clamp(120px,26dvh,220px);object-fit:cover;object-position:50% 30%}body.sentence-pilot #feedback{margin:7px 0;min-height:24px}body.sentence-pilot .actions{margin:8px 0 4px}body.sentence-pilot #next{min-height:52px;padding:10px 18px;font-size:1.1rem}body.sentence-pilot .word-slots{display:flex;justify-content:center;gap:10px}body.sentence-pilot .word-slots span{border-bottom:3px solid #80aa9b;min-width:70px;padding:5px;font-size:clamp(1.4rem,3.5vw,2.5rem);font-weight:750}body.sentence-pilot button.word-tile{font-size:1.6rem;background:#dceee6;padding:8px 20px}body.sentence-pilot .enter{animation:page-in .28s ease-out}@keyframes page-in{from{opacity:.3;transform:translateX(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){body.sentence-pilot .enter{animation:none}}@media(max-width:600px){body.sentence-pilot .r-wrap{padding:10px}body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:clamp(270px,49dvh,390px)}body.sentence-pilot #scene>img{object-fit:cover;object-position:center 35%}body.sentence-pilot .sentence{font-size:1.75rem;gap:2px}body.sentence-pilot .model #text,body.sentence-pilot .build #text{left:3%;right:3%;bottom:10px;padding:8px}body.sentence-pilot .picture-choice img{height:145px}body.sentence-pilot .word-slots span{min-width:55px}body.sentence-pilot button.word-tile{padding:8px 14px;font-size:1.4rem}body.sentence-pilot #next{font-size:.95rem;padding:10px}body.sentence-pilot #prompt{font-size:1rem}}
body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:clamp(270px,45dvh,400px)}body.sentence-pilot #scene>img{object-position:center 22%}@media(max-width:600px){body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:clamp(240px,40dvh,320px)}}
/* Course controls and word assembly: keep the full target scene visible. */
body.sentence-pilot .r-wrap{max-width:1080px}
body.sentence-pilot .sheet{max-width:1000px}
body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:clamp(260px,43dvh,390px);max-width:780px;margin:0 auto;background:#f7ecd8}
body.sentence-pilot #scene>img{object-fit:contain;object-position:center top}
body.sentence-pilot .model #text,body.sentence-pilot .build #text{left:4%;right:4%;bottom:8px;padding:8px 10px}
body.sentence-pilot .sentence{font-size:clamp(1.6rem,3.3vw,2.65rem);line-height:1.2}
body.sentence-pilot .word-slots{flex-wrap:wrap;gap:6px}
body.sentence-pilot .word-slots span{min-width:52px;font-size:clamp(1.3rem,3.1vw,2.3rem);line-height:1.2}
body.sentence-pilot button.word-tile{font-size:clamp(1.1rem,2.4vw,1.65rem);min-height:48px;padding:7px 15px}
body.sentence-pilot button.word-tile[data-placed=yes]{visibility:hidden}
body.sentence-pilot button.word-tile.hint{outline:3px solid #e0a14e;outline-offset:2px}
body.sentence-pilot #choices{flex-wrap:wrap;align-items:stretch}
body.sentence-pilot .picture-choice{min-width:0;flex:1 1 26%;max-width:300px}
body.sentence-pilot .picture-choice img{height:clamp(135px,27dvh,225px);object-fit:contain;background:#f8efdc}
body.sentence-pilot #word-help{font-size:.78rem;line-height:1.3;color:#647d7b;margin:5px 0 0}
body.sentence-pilot button#skip-audio{background:none;border:0;min-height:32px;padding:4px 8px;font-size:.78rem;color:#647d7b;box-shadow:none}
body.sentence-pilot .parent{font-size:.9rem}
body.sentence-pilot #feedback:empty{min-height:8px;margin:3px 0}
body.sentence-pilot .model #text .word{min-height:44px}
body.sentence-pilot #finish h2{margin:10px 0}
body.sentence-pilot .finish-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;align-items:center}
body.sentence-pilot .finish-links .next-link{margin:10px 0}
body.sentence-pilot .catalog-return{display:block;color:#315e65;margin:14px 0;font-weight:700}
@media(max-width:600px){
body.sentence-pilot .r-wrap{padding:9px}
body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:clamp(225px,39dvh,300px)}
body.sentence-pilot .sentence{font-size:clamp(1.35rem,5.7vw,1.85rem);gap:1px}
body.sentence-pilot .word-slots span{font-size:clamp(1.2rem,5vw,1.6rem);min-width:38px;padding:5px 3px}
body.sentence-pilot .picture-choice img{height:clamp(110px,19dvh,160px)}
body.sentence-pilot button.word-tile{font-size:1.15rem;padding:7px 12px}
body.sentence-pilot .model #text,body.sentence-pilot .build #text{left:2%;right:2%;bottom:7px;padding:6px 4px}
body.sentence-pilot #audio-note{font-size:.75rem;margin:5px 0}
}
@media(max-height:650px) and (min-width:650px){body.sentence-pilot .model #stage,body.sentence-pilot .build #stage{height:240px}body.sentence-pilot .r-header{padding-top:6px;padding-bottom:6px}}
