.stars-chip{display:inline-flex;align-items:center;gap:3px;padding:7px 13px;border:2px solid #fff4a5;border-radius:999px;background:#fff6c4;color:#624400;font-weight:800;white-space:nowrap;box-shadow:0 3px 0 #e2bf54}
.stars-chip strong{font-size:18px}
.lesson-reward-note{display:table;margin:0 auto 20px;padding:8px 14px;border-radius:999px;background:#fff4c3;color:#614500;font-size:13px;font-weight:800;text-align:center}
.reward-earned{display:table;margin:15px auto 20px;padding:12px 22px;border:2px solid #efd766;border-radius:18px;background:#fff4bb;color:#5f4300;font:900 clamp(18px,3vw,24px)/1.3 Nunito,sans-serif;box-shadow:0 5px 0 #ddbc53;text-align:center}
@media(max-width:650px){.stars-chip{padding:5px 9px;font-size:12px}.stars-chip strong{font-size:14px}.stars-chip span{display:none}.lesson-reward-note{font-size:11px;line-height:1.3}}

.lesson-celebration{max-width:880px;margin:0 auto;border:3px solid white;border-radius:32px;overflow:hidden;background:#fff;box-shadow:0 9px 0 #d594bf}
.celebration-hero{display:grid;grid-template-columns:minmax(160px,.8fr) 1.2fr;align-items:center;gap:28px;padding:30px;background:linear-gradient(130deg,#0744bd,#087fe8);color:white;text-align:center}
.celebration-portrait{aspect-ratio:1;border:4px solid #ffffffbd;background:#dff5ff;border-radius:28px;padding:5px;overflow:hidden;box-shadow:0 7px 0 #003a9c}
.celebration-portrait img{display:block;width:100%;height:100%;object-fit:contain;border-radius:20px}
.celebration-stars{display:flex;justify-content:center;gap:10px;margin-bottom:16px;color:#edff37}
.celebration-stars .icon{width:34px;height:34px;fill:#edff37;stroke:#fff7b0;animation:celebration-pop .45s both}.celebration-stars .icon:nth-child(2){width:44px;height:44px;animation-delay:.12s}.celebration-stars .icon:nth-child(3){animation-delay:.24s}
.celebration-message .eyebrow{color:#c5f3ff;font-size:10px;margin-bottom:8px}.celebration-message h1{color:white;font-size:clamp(28px,4vw,40px);margin:0 0 12px}.celebration-message>p{margin:0;font-size:16px}.celebration-message .reward-earned{background:#edff37;border-color:#faffb7;color:#16366d;box-shadow:0 5px 0 #b4c328;margin:18px auto 14px}.celebration-message .celebration-praise{font-size:14px;color:#e4f5ff}
.celebration-body{padding:26px;text-align:center}.celebration-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.celebration-actions button{min-height:56px;font-size:16px;margin:0}.celebration-actions .primary{background:#edff37;color:#153266;border:2px solid #faffb7;box-shadow:0 5px 0 #b2bf2d}.celebration-sound{display:inline-flex;align-items:center;gap:8px;margin:16px 0;color:#175ddd;font-size:14px;font-weight:700;padding:8px 14px;border-radius:20px;background:#eaf4ff;min-height:44px}
.celebration-offline{display:flex;align-items:flex-start;gap:14px;text-align:left;padding:20px;background:#fff1f8;border:2px solid #ffd1e5;border-radius:22px}.celebration-offline-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;background:#ffc0df;border-radius:14px;color:#ac276c}.celebration-offline h2{font-size:21px;color:#153266;margin:0 0 8px}.celebration-offline p{font-size:15px;line-height:1.65;margin:0;color:#3b5276}.celebration-parent-note{font-size:12px;line-height:1.6;color:#526583;text-align:left;margin:16px 0 0}.celebration-parent-note summary{cursor:pointer;padding:10px 0;min-height:40px}.celebration-parent-note p{margin:8px 0}.celebration-home{margin-top:8px;display:inline-flex;align-items:center;gap:8px;min-height:44px}
@keyframes celebration-pop{from{opacity:0;transform:scale(.6) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:650px){.celebration-hero{grid-template-columns:1fr;gap:18px;padding:22px 18px}.celebration-portrait{width:158px;margin:auto;border-radius:26px}.celebration-stars{margin-bottom:10px}.celebration-message h1{font-size:30px}.celebration-message .reward-earned{font-size:22px;margin:16px auto 12px}.celebration-body{padding:20px 16px}.celebration-actions{grid-template-columns:1fr;gap:12px}.celebration-offline{padding:16px;gap:10px}.celebration-offline h2{font-size:20px}.celebration-offline p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.celebration-stars .icon{animation:none}}.low-motion .celebration-stars .icon{animation:none}
