.scene-card{background:var(--surface);border:1px solid var(--border);border-radius:30px;padding:clamp(22px,4vw,40px);box-shadow:var(--shadow);animation:page-in .22s ease-out}
.scene-heading{margin-bottom:24px}.scene-heading h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:12px;line-height:1.25}.scene-heading p{font-size:1.12rem;line-height:1.75;max-width:680px;margin-bottom:0}
.scene-visual{height:auto;min-height:130px;border-radius:23px;display:grid;place-items:center;background:#edf1df;margin-bottom:24px;overflow:hidden;font-family:"Noto Emoji";font-size:3.5rem}.scene-visual img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover}.scene-visual--simple{background:linear-gradient(120deg,#eaf0df,#fff4d7);min-height:140px}.scene-visual--simple .icon{width:65px;height:65px;color:var(--primary)}
.lesson-intro-cover{width:100%;aspect-ratio:2.2;object-fit:cover;border-radius:22px;margin-bottom:25px}.lesson-intro .tag{margin-bottom:20px}.lesson-intro h2{font-size:clamp(1.8rem,4vw,2.65rem)}.lesson-intro .game-body{gap:18px}.mission-details{display:flex;gap:14px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.mission-details span{display:inline-flex;gap:7px;align-items:center}
.game-body{display:grid;gap:14px;min-width:0}.scene-text{font-size:1.18rem;line-height:1.8}.dialogue{margin:0 0 4px;padding:18px 20px;border-left:3px solid #97b47d;background:#f1f5e9;border-radius:0 16px 16px 0}.dialogue strong{display:block;color:var(--primary);font-size:.83rem;margin-bottom:4px;text-transform:capitalize}.dialogue p{margin:0;font-size:1.08rem}
.choice{width:100%;text-align:left;padding:18px 20px;border-radius:18px;border:2px solid #e0e6d8;background:#fffefb;color:var(--ink);font-weight:800;cursor:pointer;min-height:62px;line-height:1.65;transition:background .15s,border-color .15s,transform .15s;overflow-wrap:anywhere;min-width:0}.choice:hover:enabled{border-color:#91ac7d;background:#f5f8ef;transform:translateX(2px)}.choice.is-selected,.choice[aria-pressed=true]{border-color:var(--primary);background:#eef4e6}
.feedback{margin-top:22px;padding:22px;border-radius:20px;background:#f5f5ee;border:1px solid #e0e3d6;line-height:1.75;animation:page-in .18s}.feedback--best{background:#edf4e6;border-color:#cddfc0}.feedback--retry{background:#fff6df;border-color:#e7d6a4}.feedback .button{margin-top:16px;display:flex;width:100%}
.memory-phrase{font-size:clamp(1.1rem,3vw,1.35rem);font-weight:900;text-align:center;padding:20px 24px;background:#eaf0de;border:1px solid #d8e3c9;border-radius:18px;margin:6px 0}.recap-list{list-style:none;padding:0;display:grid;gap:12px;margin:0}.recap-list li{padding:15px 17px;border-radius:16px;background:#f6f7ef;display:flex;gap:12px;align-items:center;font-size:1.08rem;line-height:1.6}.recap-list .icon{color:var(--primary);width:24px;height:24px}
.matching-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.matching-board>div{min-width:0}.reward-panel{text-align:center}.reward-panel .scene-heading{margin-bottom:18px}.reward-panel .game-body{justify-items:center}.reward-panel .game-body>.button{width:100%;max-width:500px}.reward-seal{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:#fbefc9;border:8px solid #fff8df;box-shadow:0 0 0 1px #e8d6a8;margin-bottom:18px}.reward-seal .icon{width:44px;height:44px;color:#a67520}.stars{display:flex;justify-content:center;gap:12px;margin:8px 0}.stars .icon{width:35px;height:35px;color:#b78228;fill:#f2c55f}
.parent-guide{max-width:900px;margin:auto}.parent-guide .page-intro h1{max-width:650px}.parent-block{padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.parent-block h2{font-size:1.25rem;display:flex;align-items:center;gap:10px;margin-bottom:14px}.parent-block h2 .icon{color:var(--primary)}.parent-block p{white-space:pre-line}.parent-block p:last-child{margin-bottom:0}.parent-question{font-size:1.3rem;font-weight:800;line-height:1.7;background:#edf2e4;border-radius:18px;padding:22px}.parent-guide ul{padding-left:22px}.parent-guide li{padding:6px 0}.source-links{font-size:.9rem;line-height:1.8}.source-links a{display:block;margin-top:8px;text-underline-offset:3px}
@keyframes page-in{from{opacity:.2;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.lesson-intro-cover,.scene-visual img,.lesson-thumb{object-position:center top}
.reward-seal{margin-inline:auto}
.choice:disabled.is-selected{opacity:1}
.scene-heading h1{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:12px;line-height:1.25}
.lesson-intro h1{font-size:clamp(1.8rem,4vw,2.65rem)}

.scene-visual img{max-height:none;aspect-ratio:1.5;object-fit:contain}.game-illustration{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;border-radius:22px;margin-bottom:24px}.lesson-intro-cover{aspect-ratio:1.5;object-fit:contain;background:#edf1df}
