.noya{display:inline-flex;width:min(100%,440px);align-items:center;gap:16px;color:#3f4249;margin-bottom:-2px;animation:noya-fade-in .32s ease-out}.noya-avatar{position:relative;display:grid;flex:0 0 auto;width:112px;aspect-ratio:1;place-items:center}.noya-large{width:min(100%,520px)}.noya-large .noya-avatar{width:clamp(126px,30vw,170px)}.noya-hero{display:grid;justify-items:center;width:100%;text-align:center}.noya-hero .noya-avatar{width:clamp(170px,46vw,260px)}@media(max-width:420px){.noya{gap:12px}.noya-avatar{width:96px}.noya p{font-size:14px}}.noya-avatar:after{position:absolute;top:5px;right:5px;bottom:5px;left:5px;z-index:-1;border-radius:34px;background:#f3c64e38;content:"";opacity:0}.noya img{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 18px rgba(17,17,20,.08))}.noya p{margin:0;color:#5d6068;font-size:16px;font-weight:800;line-height:1.45}.noya.motion-welcome img{animation:noya-wave 1.3s ease-in-out infinite}.noya.motion-welcome .noya-avatar{animation:noya-breathe 2.4s ease-in-out infinite}.noya.motion-correct img{animation:noya-bounce .62s cubic-bezier(.18,.9,.22,1.18)}.noya.motion-incorrect img,.noya.thinking img{animation:noya-tilt 1.7s ease-in-out infinite}.noya.complete .noya-avatar:after{animation:noya-glow 1.4s ease-in-out infinite}.noya.motion-complete img{animation:noya-complete 1.2s cubic-bezier(.18,.9,.22,1.18)}@keyframes noya-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes noya-wave{0%,to{transform:rotate(0) translateY(0)}35%{transform:rotate(-7deg) translateY(-4px)}70%{transform:rotate(5deg) translateY(0)}}@keyframes noya-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.025)}}@keyframes noya-bounce{0%{transform:scale(1)}22%{transform:translateY(-4px) scale(1.04,.92)}42%{transform:translateY(-18px) scale(1.14,1.06)}to{transform:translateY(0) scale(1)}}@keyframes noya-tilt{0%,to{transform:rotate(-5deg)}50%{transform:rotate(7deg)}}@keyframes noya-glow{0%,to{opacity:.28;transform:scale(.92)}50%{opacity:1;transform:scale(1.2)}}@keyframes noya-complete{0%{transform:rotate(0) scale(.92)}55%{transform:rotate(12deg) scale(1.14)}to{transform:rotate(360deg) scale(1.04)}}@media(prefers-reduced-motion:reduce){.noya,.noya img,.noya-avatar:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#111114;background:#f7f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button{border:0;font:inherit}button:focus-visible{outline:3px solid rgba(0,122,255,.35);outline-offset:3px}.app-shell{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:18px}.lesson-stage{display:grid;width:min(100%,640px);min-height:min(780px,calc(100vh - 36px));grid-template-rows:auto 1fr;gap:18px}.lesson-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 4px}.lesson-title{margin:0;color:#5d5f66;font-size:15px;font-weight:700}.lesson-count{margin:4px 0 0;color:#8a8c92;font-size:13px;font-weight:700}.progress-wrap{display:grid;width:min(48vw,210px);gap:8px}.progress-bar{overflow:hidden;height:10px;border-radius:999px;background:#ddded9}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f3c64e,#111114);transition:width .28s ease}.progress-dots{display:grid;grid-template-columns:repeat(var(--progress-count, 8),1fr);gap:6px}.progress-dot{height:8px;border-radius:999px;background:#ddded9}.progress-dot.active{background:#111114}.card-transition{display:grid}.lesson-card{display:grid;min-height:100%;grid-template-rows:1fr auto;gap:24px;border:1px solid rgba(20,20,24,.08);border-radius:8px;background:#ffffffd1;box-shadow:0 24px 70px #1e1f2314;padding:clamp(24px,7vw,56px);animation:card-in .26s ease-out}.card-content{display:flex;min-height:0;flex-direction:column;justify-content:center;gap:22px}.eyebrow{margin:0 0 -10px;color:#6f7178;font-size:14px;font-weight:800;letter-spacing:0}h1{margin:0;max-width:14ch;font-size:clamp(34px,8vw,58px);font-weight:800;letter-spacing:0;line-height:1.08}.lead-text{margin:0;color:#4b4d54;font-size:clamp(20px,5vw,28px);line-height:1.45}.body-text{max-width:34rem;margin:0;color:#5f6269;font-size:clamp(17px,4.3vw,21px);font-weight:650;line-height:1.7}.card-actions{display:grid;gap:12px}.primary-button,.secondary-button,.small-button,.choice-button{min-height:58px;cursor:pointer;border-radius:8px;font-weight:800;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.primary-button{color:#fff;background:#111114;box-shadow:0 12px 24px #1111142e}.secondary-button{color:#111114;background:#e9e9e4}.small-button{min-height:42px;padding:0 18px;color:#111114;background:#e9e9e4;font-size:14px}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.small-button:hover:not(:disabled),.choice-button:hover:not(:disabled){transform:translateY(-1px)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.small-button:active:not(:disabled),.choice-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{cursor:not-allowed;background:#c9cbc6;box-shadow:none}.sound-orb{display:grid;width:min(58vw,250px);aspect-ratio:1;place-items:center;border-radius:50%;color:#111114;background:radial-gradient(circle at 34% 28%,#ffffff 0 12%,transparent 13%),linear-gradient(145deg,#f1f1ed,#dedfd8);box-shadow:inset 0 0 0 1px #1414180f;font-size:42px;font-weight:850}.choice-grid{display:grid;gap:12px}.two-column,.three-column{grid-template-columns:1fr}.choice-button{width:100%;border:1px solid rgba(20,20,24,.1);color:#17181b;background:#f2f2ef;box-shadow:inset 0 -2px #1414180d}.choice-button.correct{border-color:#f3c64eb8;color:#5f4700;background:#fff2bf}.choice-button.incorrect{border-color:#d64d536b;color:#8f1f2a;background:#fae2e3}.feedback{min-height:30px;margin:-6px 0 0;font-size:17px;font-weight:800;line-height:1.45}.feedback.correct{color:#8a6500}.feedback.incorrect{color:#b3333a}.staff-graphic,.notes-graphic,.story-illustration,.learn-visual{width:100%;max-height:220px}.story-card .card-content{justify-content:start}.story-card h1{max-width:11ch;font-size:clamp(34px,8vw,54px)}.story-illustration{max-height:none;aspect-ratio:420 / 260;border-radius:8px;box-shadow:inset 0 0 0 1px #1111140d}.story-card{background:#fffdf8}.story-card .card-content{justify-content:center;gap:18px}.learn-visual{max-height:260px;border-radius:8px}.noya-welcome-card{background:#fffdf8}.noya-welcome-card .card-content{justify-content:center}.noya-welcome-card h1{max-width:11ch}.noya-book-scene{width:100%;max-height:260px;border-radius:8px}.svg-label{fill:#5d5f66;font:800 18px system-ui}.challenge-list{display:grid;gap:14px}.challenge-item{display:grid;gap:10px;border-top:1px solid rgba(20,20,24,.08);padding-top:14px}.challenge-item:first-child{border-top:0;padding-top:0}.challenge-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:20px;font-weight:850}.compact .choice-button{min-height:48px;font-size:14px}.completion-title{margin:0;color:#24262b;font-size:clamp(22px,5.6vw,34px);font-weight:850;line-height:1.35}.learned-list{display:grid;gap:10px;color:#3d4047;font-size:clamp(18px,4.6vw,24px);font-weight:700}.learned-list p{margin:0}.floating-notes{position:relative;display:flex;min-height:54px;align-items:center;gap:18px;color:#f3c64e;font-size:clamp(26px,7vw,42px);font-weight:900}.floating-notes span{display:inline-block;animation:float-note 2.6s ease-in-out infinite}.floating-notes span:nth-child(2){color:#111114;animation-delay:.18s}.floating-notes span:nth-child(3){color:#7f858f;animation-delay:.36s}.reward-panel{display:grid;gap:8px;border:1px solid rgba(243,198,78,.48);border-radius:8px;background:#fff7d7;padding:18px;color:#5f4700;font-size:clamp(18px,4.5vw,23px);font-weight:850;line-height:1.35}.reward-panel p{margin:0}.celebration{position:relative;overflow:hidden;place-items:center;min-height:290px;text-align:center;animation:scale-in .36s cubic-bezier(.2,.9,.2,1.2)}.badge-pop{display:grid;width:118px;aspect-ratio:1;place-items:center;border-radius:50%;background:#fff;box-shadow:0 18px 36px #16653629,inset 0 0 0 1px #16653614;font-size:64px;animation:badge-pop .52s cubic-bezier(.18,.92,.22,1.25)}.reward-stars{position:absolute;top:18px;right:18px;bottom:18px;left:18px;pointer-events:none}.reward-stars span{position:absolute;color:#f3b700;font-size:28px;animation:twinkle 1.4s ease-in-out infinite}.reward-stars span:nth-child(1){left:16%;top:22%}.reward-stars span:nth-child(2){right:18%;top:14%;animation-delay:.18s}.reward-stars span:nth-child(3){right:26%;bottom:18%;animation-delay:.36s}@keyframes card-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float-note{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes scale-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes badge-pop{0%{transform:translateY(16px) scale(.72)}70%{transform:translateY(-4px) scale(1.06)}to{transform:translateY(0) scale(1)}}@keyframes twinkle{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.18)}}@media(min-width:560px){.app-shell{padding:28px}.lesson-stage{min-height:min(760px,calc(100vh - 56px))}.card-actions,.two-column{grid-template-columns:repeat(2,minmax(0,1fr))}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
