@import "https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Nunito:wght@400;600;800&display=swap";.lesson-page{width:100%;max-width:720px;margin:0 auto;padding:24px 16px 40px}.lesson-header{align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.lesson-back-btn{cursor:pointer;color:var(--ink-muted);background:0 0;border:none;min-width:44px;min-height:44px;padding:4px 12px;font-size:28px}.lesson-day{color:var(--ink-muted);margin-left:auto;font-weight:600}.lesson-progress{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (width>=720px){.lesson-progress{grid-template-columns:repeat(3,1fr)}}.block-card{border-radius:var(--r-4,24px);background:var(--surface);box-shadow:var(--shadow-sm,0 4px 12px #1d355714);cursor:pointer;text-align:left;border:none;min-height:140px;padding:20px 16px;font-family:inherit;transition:filter .2s;position:relative}.block-card:disabled{cursor:not-allowed;filter:grayscale(.7);opacity:.55}.block-card__pos{color:var(--ink-muted);font-size:14px;font-weight:700;position:absolute;top:8px;left:12px}.block-card__icon{margin:12px 0 4px;font-size:40px}.block-card__name{color:var(--ink);font-size:18px;font-weight:700}.block-card__badge{color:var(--ink-muted);margin-top:4px;font-size:13px}.block-card--completed{border:2px solid var(--grass-500)}.block-card--in_progress{border:2px solid var(--sun);animation:1.4s ease-in-out infinite lesson-pulse}@keyframes lesson-pulse{0%,to{box-shadow:0 4px 12px #1d355714}50%{box-shadow:0 4px 24px #ffd23f99}}.locked-block{text-align:center;padding:60px 20px}.locked-block__icon-stack{margin-bottom:16px;font-size:72px;display:inline-block;position:relative}.locked-block__lock-icon{font-size:36px;position:absolute;bottom:0;right:-8px}.lesson-complete-overlay{z-index:1000;background:#1d355799;place-items:center;display:grid;position:fixed;inset:0}.lesson-complete-modal{background:var(--surface);text-align:center;border-radius:32px;width:90%;max-width:360px;padding:40px 32px;box-shadow:0 24px 48px #0003}.lesson-complete-modal__pet{margin-bottom:8px;font-size:80px}.lesson-complete-modal h2{font-family:var(--font-display,"Fredoka"), sans-serif;color:var(--ink);margin:4px 0}.phonics-card{font-size:44px;font-family:var(--font-display,"Fredoka"), sans-serif;background:var(--surface);cursor:pointer;min-height:120px;color:var(--ink);border:none;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-weight:700;display:flex;box-shadow:0 4px 12px #1d35571a}.phonics-card:disabled{cursor:not-allowed;opacity:.55}.phonics-card--audio .phonics-card__speaker{font-size:32px}.phonics-card--audio .phonics-card__label{color:var(--ink-muted);font-size:14px;font-weight:500}.phonics-card--correct{border:3px solid var(--grass-500)}.phonics-card--previewing{border:3px solid var(--sun);box-shadow:0 4px 16px #ffd23f73}.phonics-card--previewing .phonics-card__label{color:var(--ink);font-weight:700}.phonics-helper{color:var(--ink-muted);margin-top:16px;font-size:14px;font-style:italic}.phonics-question{text-align:center;padding:16px}.phonics-prompt{color:var(--ink-muted);margin-bottom:12px;font-size:18px}.phonics-replay-btn{background:var(--sun);cursor:pointer;border:none;border-radius:50%;width:88px;height:88px;margin-bottom:16px;font-size:40px;box-shadow:0 6px 16px #ffd23f66}.phonics-grapheme-display{font-family:var(--font-display,"Fredoka"), sans-serif;color:var(--ink);margin:16px 0 24px;font-size:100px;font-weight:700}.phonics-card-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.phonics-card-row>*{flex:100px;max-width:140px}.phonics-word-chunks{font-family:var(--font-display,"Fredoka"), sans-serif;letter-spacing:2px;margin:12px 0 24px;font-size:64px;font-weight:700}.phonics-word-chunks__onset{color:var(--coral,#ff6b6b)}.phonics-word-chunks__rime{color:var(--ink)}.phonics-word-plain{font-family:var(--font-display,"Fredoka"), sans-serif;letter-spacing:2px;color:var(--ink);text-transform:lowercase;margin:12px 0 24px;font-size:64px;font-weight:700}.mcq-options{grid-template-columns:repeat(3,1fr);justify-content:center;gap:16px;width:100%;max-width:600px;margin:0 auto;display:grid}.mcq-options--narrow{max-width:520px}.mcq-options--quad{grid-template-columns:repeat(2,1fr);max-width:480px}.mcq-option{aspect-ratio:1;border:3px solid var(--ink-soft);background:var(--surface);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;padding:8px;transition:transform .12s,border-color .2s,background .2s;display:flex;overflow:hidden}.mcq-option:active{transform:scale(.97)}.mcq-option:disabled{cursor:default}.mcq-option img{object-fit:contain;width:100%;height:100%}.mcq-option--correct{border-color:var(--success,#b8e7c1);background:var(--success,#b8e7c1);animation:.6s ease-in-out 3 mcq-pulse}.mcq-option--wrong{border-color:var(--coral,#ffb4a8);background:#ffb4a840;animation:.36s ease-in-out mcq-shake}@keyframes mcq-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes mcq-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.mcq-text-options{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.mcq-text-option{background:var(--surface);border:2px solid var(--ink-soft);cursor:pointer;border-radius:16px;min-width:96px;padding:14px 20px;font-size:22px;font-weight:700}.mcq-text-option:disabled{opacity:.4;cursor:not-allowed}@media (width<=600px){.mcq-options{gap:10px}.mcq-options--stack{grid-template-columns:1fr;gap:12px;max-width:380px}.mcq-options--stack .mcq-option{aspect-ratio:4/3}.mcq-options--quad{grid-template-columns:repeat(2,1fr);gap:12px;max-width:380px}.mcq-options--quad .mcq-option{aspect-ratio:1}.phonics-word-chunks,.phonics-word-plain{font-size:48px}}.phonics-block{padding:16px}.phonics-block--loading{text-align:center;color:var(--ink-muted);padding:60px 20px}.phonics-block__header{align-items:center;margin-bottom:12px;display:flex}.phonics-block__back{color:var(--ink-muted);cursor:pointer;background:0 0;border:none;font-size:28px}.phonics-block__progress{color:var(--ink-muted);margin-left:auto;font-weight:700}.block-summary{text-align:center;padding:60px 20px}.block-summary__pet{font-size:80px}.block-summary__score{color:var(--ink);font-size:28px;font-weight:700}.block-summary__xp{color:var(--coral);margin-bottom:24px;font-weight:600}.block-shell{flex-direction:column;width:100%;height:100%;display:flex}.block-shell__header{z-index:20;background:var(--bg-cream);justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}.block-shell__back{cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:8px 12px;font-size:28px;transition:background .12s;display:inline-flex}.block-shell__back:active{background:var(--surface-soft)}.block-shell__back:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.block-shell__progress{color:var(--ink-soft);font-weight:600}.block-shell__main{flex:1;justify-content:center;align-items:stretch;padding:16px;display:flex}.block-shell--intro{flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;display:flex}.block-shell__countdown{color:var(--accent);font-size:96px;font-weight:800}.block-shell__intro-title{color:var(--ink-soft);font-size:22px}.question-card{width:100%;max-width:600px;position:relative}.question-card__flash{pointer-events:none;z-index:2;border-radius:24px;animation:.6s ease-out forwards flash-fade;position:absolute;inset:0}.question-card__flash--red{background:#ff4d4d73}.question-card__flash--green{background:#48cf8466;animation-duration:.4s}@keyframes flash-fade{0%{opacity:1}to{opacity:0}}.flashcard-stage-1{flex-direction:column;align-items:center;gap:16px;padding:16px;display:flex}.flashcard-stage-1__image{object-fit:contain;background:var(--surface-soft);border-radius:24px;width:60vmin;height:60vmin}.flashcard-stage-1__row{align-items:center;gap:12px;display:flex}.flashcard-stage-1__speaker{cursor:pointer;background:0 0;border:0;font-size:32px}.flashcard-stage-1__text{letter-spacing:1px;color:var(--ink);font-size:56px;font-weight:800}.flashcard-stage-2{flex-direction:column;align-items:center;gap:12px;padding:12px;display:flex}.flashcard-stage-2__image{object-fit:contain;background:var(--surface-soft);border-radius:18px;width:40vmin;height:40vmin}.flashcard-stage-2__speaker{cursor:pointer;background:0 0;border:0;font-size:28px}.flashcard-reverse,.flashcard-cloze{flex-direction:column;align-items:center;gap:16px;padding:12px;display:flex}.flashcard-cloze__sentence{font-family:var(--font-display,"Fredoka"), sans-serif;color:var(--ink);text-align:center;max-width:600px;font-size:34px;font-weight:700;line-height:1.4}.flashcard-cloze__blank{color:var(--coral,#ff6b6b);letter-spacing:2px}@media (width<=600px){.flashcard-cloze__sentence{font-size:26px}}.stage-transition{flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}.stage-transition__title{font-size:48px;font-weight:800}@media (width<=600px){.stage-transition__title{font-size:36px}}.stage-transition__subtitle{color:var(--ink-soft);font-size:22px}.stage-transition__pet{font-size:64px}.drag-slot{border:3px dashed var(--ink-soft);text-transform:lowercase;background:var(--surface);cursor:pointer;border-radius:14px;justify-content:center;align-items:center;width:64px;height:72px;font-size:34px;font-weight:800;transition:transform .12s,box-shadow .2s;display:flex}.drag-slot--filled{background:var(--surface-soft);color:var(--ink);border-style:solid}.drag-slot--over{border-color:var(--accent)}.drag-slot--bouncing{animation:.35s ease-out drag-slot-bounce}.drag-slot--hinted{box-shadow:0 0 0 4px var(--accent);animation:1.2s ease-in-out infinite alternate drag-slot-glow}.drag-slot--armed{border-style:solid;border-color:var(--accent);background:var(--surface-soft);animation:1s ease-in-out infinite alternate drag-slot-armed}@keyframes drag-slot-armed{0%{transform:translateY(0);box-shadow:0 0 #ffd70000}to{transform:translateY(-3px);box-shadow:0 4px #ffd7008c}}@keyframes drag-slot-bounce{0%{background:#ff4d4d59;transform:translateY(0)}50%{transform:translateY(-6px)}to{background:var(--surface);transform:translateY(0)}}@keyframes drag-slot-glow{0%{box-shadow:0 0 0 4px var(--accent)}to{box-shadow:0 0 0 8px #ffd70099}}.dictation-easy{flex-direction:column;align-items:center;gap:16px;padding:24px;display:flex}.dictation-easy__speaker{cursor:pointer;background:0 0;border:0;font-size:64px}.dictation-mid,.dictation-hard{flex-direction:column;align-items:center;gap:14px;padding:12px;display:flex}.dictation-mid__top,.dictation-hard__top{align-items:center;gap:12px;display:flex}.dictation-mid__image,.dictation-hard__image{object-fit:contain;background:var(--surface-soft);border-radius:16px;width:30vmin;height:30vmin}.dictation-mid__speaker,.dictation-hard__speaker{cursor:pointer;background:0 0;border:0;font-size:36px}.dictation-mid__slots,.dictation-hard__slots{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dictation-mid__pool{flex-wrap:wrap;justify-content:center;gap:10px;max-width:540px;margin:0 auto;display:flex}.dictation-hard__pool{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;width:100%;max-width:600px;margin:0 auto;display:grid}.letter-tile{background:var(--surface);border:2px solid var(--ink-soft);cursor:grab;text-transform:lowercase;border-radius:12px;width:100%;min-width:56px;height:64px;font-size:26px;font-weight:700;transition:transform .14s,box-shadow .14s,background .14s}.dictation-mid__pool .letter-tile{flex:0 0 64px;width:64px}@media (width<=600px){.dictation-mid,.dictation-hard{gap:10px}.dictation-mid__image,.dictation-hard__image{width:96px;height:96px}.dictation-mid__slots,.dictation-hard__slots{gap:6px}.drag-slot{width:48px;height:56px;font-size:26px}.letter-tile{height:48px;font-size:22px}.dictation-mid__pool .letter-tile{flex:0 0 56px;width:56px}.dictation-hard__pool{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}}.letter-tile:active{transform:scale(.96)}.letter-tile--consumed{opacity:.2;cursor:not-allowed}.letter-tile--dragging{opacity:.5}.letter-tile--hinted{box-shadow:0 0 0 4px var(--accent);animation:1.2s ease-in-out infinite alternate drag-slot-glow}.letter-tile--selected{background:var(--accent);border-color:var(--ink);z-index:1;transform:translateY(-4px)scale(1.08);box-shadow:0 6px #0000002e}.memory-match{flex-direction:column;align-items:center;gap:16px;padding:8px;display:flex}.memory-match__hint{color:var(--ink);margin:0;font-size:18px}.memory-match__grid{grid-template-columns:repeat(2,1fr);gap:16px;width:100%;max-width:560px;display:grid}@media (width>=1024px){.memory-match__grid{grid-template-columns:repeat(4,1fr);gap:18px;max-width:760px}}.memory-match__card{aspect-ratio:1;border:3px solid var(--ink-soft);background:var(--accent);cursor:pointer;text-transform:lowercase;border-radius:16px;justify-content:center;align-items:center;font-size:22px;font-weight:700;transition:transform .12s;display:flex;overflow:hidden}.memory-match__card:active{transform:scale(.97)}.memory-match__card--flipped{background:var(--surface);border-color:var(--ink)}.memory-match__card--matched{background:var(--success,#b8e7c1);border-color:var(--ink);cursor:default}.memory-match__face-img{object-fit:contain;width:88%;height:88%}.memory-match__face-text{color:var(--ink);font-size:24px}.memory-match__back{color:var(--ink);font-size:32px}.reading-sight-match{flex-direction:column;align-items:center;gap:20px;padding:8px;display:flex}.reading-sight-match__prompt{color:var(--ink);text-transform:lowercase;letter-spacing:.02em;margin:0;font-size:44px;font-weight:800}.reading-sight-match__speaker{cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;font-size:64px;display:flex}.reading-sight-match__speaker:active{transform:scale(.96)}.reading-sight-match__speaker>span{color:var(--ink);text-transform:lowercase;font-size:28px;font-weight:700}.reading-sight-match__option:disabled{opacity:.6}.reading-sight-match__reveal{color:var(--ink);text-transform:lowercase;margin:0;font-size:22px;font-weight:700}.reading-storytour__page{flex-direction:column;align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:8px;display:flex}.reading-storytour__image{aspect-ratio:1;border:3px solid var(--ink-soft);object-fit:cover;background:var(--surface-soft);border-radius:20px;width:100%;max-width:480px}.reading-storytour__text{text-align:center;color:var(--ink);font-size:28px;line-height:1.5;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin:0}.reading-storytour__word{background:var(--accent);color:var(--ink);cursor:pointer;border-radius:10px;margin:0 2px;padding:2px 6px;font-weight:700;transition:transform .12s,background .16s;display:inline-block}.reading-storytour__word:hover,.reading-storytour__word:focus-visible{background:var(--success,#b8e7c1);outline:none}.reading-storytour__word:active{transform:scale(.95)}.reading-storytour__footer{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.reading-storytour__indicator{color:var(--ink-soft);font-size:18px;font-weight:600}.reading-storytour__next{border:3px solid var(--ink);background:var(--success,#b8e7c1);width:64px;height:64px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:700;transition:transform .12s;display:flex}.reading-storytour__next:active{transform:scale(.94)}.reading-reader-tour__page{flex-direction:column;align-items:center;gap:16px;max-width:720px;margin:0 auto;padding:8px;display:flex}.reading-reader-tour__image{aspect-ratio:1;border:3px solid var(--ink-soft);object-fit:cover;background:var(--surface-soft);border-radius:20px;width:100%;max-width:480px}.reading-reader-tour__text{text-align:center;color:var(--ink);font-size:28px;line-height:1.5;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin:0}.reading-reader-tour__footer{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.reading-reader-tour__speaker{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:40px;transition:transform .12s;display:flex}.reading-reader-tour__speaker:active{transform:scale(.94)}.reading-reader-tour__indicator{color:var(--ink-soft);text-align:center;flex:1;font-size:18px;font-weight:600}.reading-reader-tour__next{border:3px solid var(--ink);background:var(--success,#b8e7c1);width:64px;height:64px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:28px;font-weight:700;transition:transform .12s;display:flex}.reading-reader-tour__next:active{transform:scale(.94)}.listening{flex-direction:column;align-items:center;gap:20px;padding:8px;display:flex}.listening__speaker{cursor:pointer;border:0;border:3px solid var(--ink);background:0 0;background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;font-size:72px;transition:transform .12s;display:flex}.listening__speaker:active{transform:scale(.94)}.listening__reveal{color:var(--ink);margin:0;font-size:22px;font-weight:700}.story-question{flex-direction:column;align-items:center;gap:20px;max-width:720px;margin:0 auto;padding:8px;display:flex}.story-question__progress{color:var(--ink-soft);font-size:18px;font-weight:600}.story-question__text{text-align:center;color:var(--ink);font-size:28px;line-height:1.4;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin:0;font-weight:700}.story-question__speaker{cursor:pointer;border:0;border:3px solid var(--ink);background:0 0;background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:88px;height:88px;font-size:56px;transition:transform .12s;display:flex}.story-question__speaker:active{transform:scale(.94)}.story-question__yesno-row{flex-direction:row;justify-content:center;align-items:center;gap:24px;width:100%;display:flex}.story-question__yes,.story-question__no{border:3px solid var(--ink-soft);background:var(--surface);width:120px;height:120px;color:var(--ink);cursor:pointer;font-size:32px;font-weight:700;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);border-radius:24px;justify-content:center;align-items:center;transition:transform .12s,border-color .2s,background .2s;display:flex}.story-question__yes:hover:not(:disabled){border-color:var(--success,#b8e7c1);background:#b8e7c166}.story-question__no:hover:not(:disabled){background:#b8c8e766}.story-question__yes:active:not(:disabled),.story-question__no:active:not(:disabled){transform:scale(.95)}.story-question__yes:disabled,.story-question__no:disabled{cursor:default}.story-question__btn--correct{animation:.6s ease-in-out 3 mcq-pulse;border-color:var(--success,#b8e7c1)!important;background:var(--success,#b8e7c1)!important}.story-question__btn--wrong{animation:.36s ease-in-out mcq-shake;border-color:var(--coral,#ffb4a8)!important;background:#ffb4a880!important}.story-question__reveal{color:var(--ink);text-align:center;margin:0;font-size:26px;font-weight:700}.pet-treat{flex-direction:column;align-items:center;gap:16px;padding:16px;display:flex}.pet-treat__items{grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:360px;display:grid}.pet-treat__item{background:var(--surface,#fff);border:2px solid var(--ink-soft,#e0e0e0);cursor:pointer;min-width:120px;min-height:120px;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px;transition:transform .15s,box-shadow .15s;display:flex}.pet-treat__item img{object-fit:contain;width:80px;height:80px}.pet-treat__item-text{color:var(--ink,#1a1a1a);font-size:18px;font-weight:600}.pet-treat__item:active:not(:disabled){transform:scale(.96)}.pet-treat__item--locked{opacity:.7;cursor:wait}.pet-treat__item--hint{border-color:var(--success,#b8e7c1);background:#b8e7c166;animation:.6s ease-in-out infinite mcq-pulse}.pet-treat__hint{color:var(--ink-soft,#666);font-size:16px;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin-top:8px}.speak-echo{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:8px 12px;display:flex}.speak-echo__pet{justify-content:center;display:flex}.speak-echo__image{object-fit:contain;background:var(--surface,#fff);border-radius:16px;width:180px;height:180px}.speak-echo__text{color:var(--ink,#1a1a1a);font-size:28px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);max-width:26ch;margin:0}.speak-echo__cue-label{color:var(--ink-soft,#666);font-size:20px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin:0}.speak-echo__cue-label--your-turn{color:var(--ink,#1a1a1a)}.speak-echo__listen-cue,.speak-echo__record-area,.speak-echo__playback{flex-direction:column;align-items:center;gap:12px;display:flex}.speak-echo__play-ref{border:2px solid var(--ink-soft,#e0e0e0);background:var(--surface,#fff);cursor:pointer;border-radius:50%;min-width:64px;min-height:64px;font-size:32px;transition:transform .15s}.speak-echo__play-ref:active{transform:scale(.94)}.speak-echo__play-ref--small{border-radius:22px;min-width:44px;min-height:44px;padding:0 14px;font-size:16px}.speak-echo__mic-btn{border:3px solid var(--ink-soft,#e0e0e0);background:var(--surface,#fff);cursor:pointer;border-radius:50%;width:112px;height:112px;font-size:52px;transition:transform .15s,box-shadow .15s}.speak-echo__mic-btn:active{transform:scale(.94)}.speak-echo__mic-btn--recording{border-color:var(--danger,#e57373);background:#e573731f;animation:1s ease-in-out infinite mcq-pulse}.speak-echo__mic-btn--starting{opacity:.55;cursor:wait}.speak-echo__retry-btn,.speak-echo__next-btn{min-height:44px;font-size:18px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);border:2px solid var(--ink-soft,#e0e0e0);background:var(--surface,#fff);cursor:pointer;border-radius:22px;padding:10px 22px}.speak-echo__degraded{flex-direction:column;align-items:center;gap:10px;display:flex}.speak-echo__degraded-hint{color:var(--ink-soft,#888);margin:0;font-size:13px}@media (width<=600px){.speak-echo__image{width:140px;height:140px}.speak-echo__text{font-size:24px}.speak-echo__mic-btn{width:96px;height:96px;font-size:44px}}.speak-qa{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:8px 12px;display:flex}.speak-qa__pet{justify-content:center;display:flex}.speak-qa__image{object-fit:contain;background:var(--surface,#fff);border-radius:16px;width:180px;height:180px}.speak-qa__question-text{color:var(--ink,#1a1a1a);font-size:22px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);max-width:28ch;margin:0}.speak-qa__cue-label{color:var(--ink-soft,#666);font-size:20px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin:0}.speak-qa__cue-label--your-turn{color:var(--ink,#1a1a1a)}.speak-qa__listen-cue,.speak-qa__record-area,.speak-qa__playback,.speak-qa__reference{flex-direction:column;align-items:center;gap:12px;display:flex}.speak-qa__play-btn{border:2px solid var(--ink-soft,#e0e0e0);background:var(--surface,#fff);cursor:pointer;border-radius:50%;min-width:64px;min-height:64px;font-size:32px;transition:transform .15s}.speak-qa__play-btn:active{transform:scale(.94)}.speak-qa__play-btn--small{border-radius:22px;min-width:44px;min-height:44px;padding:0 14px;font-size:16px}.speak-qa__mic-btn{border:3px solid var(--ink-soft,#e0e0e0);background:var(--surface,#fff);cursor:pointer;border-radius:50%;width:112px;height:112px;font-size:52px;transition:transform .15s,box-shadow .15s}.speak-qa__mic-btn:active{transform:scale(.94)}.speak-qa__mic-btn--recording{border-color:var(--danger,#e57373);background:#e573731f;animation:1s ease-in-out infinite mcq-pulse}.speak-qa__mic-btn--starting{opacity:.55;cursor:wait}.speak-qa__retry-btn,.speak-qa__next-btn{min-height:44px;font-size:18px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);border:2px solid var(--ink-soft,#e0e0e0);background:var(--surface,#fff);cursor:pointer;border-radius:22px;padding:10px 22px}.speak-qa__degraded{flex-direction:column;align-items:center;gap:10px;display:flex}.speak-qa__degraded-hint{color:var(--ink-soft,#888);margin:0;font-size:13px}.speak-qa__reference-card{background:var(--surface-alt,#f5f5f5);border-radius:16px;flex-direction:column;align-items:center;gap:10px;max-width:28ch;padding:14px 20px;display:flex}.speak-qa__reference-text{color:var(--ink,#1a1a1a);font-size:22px;font-weight:600;font-family:var(--font-display,"Fredoka", system-ui, sans-serif);margin:0}@media (width<=600px){.speak-qa__image{width:140px;height:140px}.speak-qa__question-text,.speak-qa__reference-text{font-size:18px}.speak-qa__mic-btn{width:96px;height:96px;font-size:44px}}.build-question{flex-direction:column;align-items:center;gap:16px;padding:16px 12px;display:flex}.build-question__image{object-fit:contain;background:var(--surface-soft);border-radius:16px;width:32vmin;max-width:240px;height:32vmin;max-height:240px}.build-question__slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.build-question__punct{color:var(--ink-soft);align-self:center;font-size:34px;font-weight:800}.build-slot{border:3px dashed var(--ink-soft);background:var(--surface);min-width:64px;height:64px;color:var(--ink);cursor:pointer;border-radius:14px;padding:0 12px;font-size:26px;font-weight:800;transition:transform .12s,box-shadow .2s}.build-slot--filled{background:var(--surface-soft);border-style:solid}.build-slot--prefilled{background:var(--surface-soft);opacity:.85;cursor:default;border-style:solid}.build-slot--armed{border-style:solid;border-color:var(--accent);animation:1s ease-in-out infinite alternate drag-slot-armed}.build-slot--wrong{border-color:#ff4d4d;animation:.35s ease-out drag-slot-bounce}.build-question__pool{flex-wrap:wrap;justify-content:center;gap:10px;max-width:540px;display:flex}.build-card{border:2px solid var(--ink-soft);background:var(--surface);min-width:56px;color:var(--ink);cursor:pointer;border-radius:14px;padding:12px 16px;font-size:22px;font-weight:700;transition:transform .12s,box-shadow .2s}.build-card--selected{border-color:var(--accent);transform:translateY(-3px)}.build-card--hinted{box-shadow:0 0 0 4px var(--accent);animation:1.2s ease-in-out infinite alternate drag-slot-glow}.build-question__actions{align-items:center;gap:16px;display:flex}.build-question__hint-btn,.build-question__check-btn{cursor:pointer;border:0;border-radius:16px;padding:12px 24px;font-size:22px;font-weight:800}.build-question__hint-btn{background:var(--surface-soft)}.build-question__check-btn{background:var(--accent);color:#fff}.build-question__hint-btn:disabled,.build-question__check-btn:disabled{opacity:.45;cursor:not-allowed}:root{--bg-cream:#fff8e7;--bg-sky:#e8f4f8;--surface:#fff;--surface-soft:#fffbf0;--fire-50:#fff3e6;--fire-200:#ffb070;--fire-500:#ff6b35;--fire-700:#c73e1d;--water-50:#e3f8fb;--water-200:#7ad7e5;--water-500:#06aed5;--water-700:#0089a7;--grass-50:#e9f5e1;--grass-200:#9bd480;--grass-500:#5ba940;--grass-700:#3a7a26;--grass-leaf:#b5e550;--grass-belly:#fff4c2;--ink:#1d3557;--ink-muted:#5a6b85;--line:#e0ddd0;--line-soft:#f0ede0;--sun:#ffd23f;--coral:#ef6f6c;--mint:#06d6a0;--accent:var(--sun);--ink-soft:#c8c4b0;--success:var(--grass-200);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--sp-24:96px;--r-2:8px;--r-4:16px;--r-6:24px;--r-8:32px;--r-pill:999px;--shadow-sm:0 2px 6px #1d355714;--shadow-md:0 6px 18px #1d35571a;--shadow-lg:0 14px 38px #1d355724;--motion-fast:.15s ease-out;--motion-base:.28s cubic-bezier(.34, 1.56, .64, 1);--motion-slow:.6s ease-in-out;--font-display:"Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}.h1{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(28px,5vw,40px);font-weight:700;line-height:1.15}.h2{font-family:var(--font-display);color:var(--ink);margin:0;font-size:clamp(22px,4vw,30px);font-weight:600;line-height:1.2}.h3{font-family:var(--font-display);color:var(--ink);margin:0;font-size:20px;font-weight:600;line-height:1.25}.body{font-family:var(--font-body);color:var(--ink);font-size:16px;font-weight:400;line-height:1.5}.small{font-family:var(--font-body);color:var(--ink-muted);font-size:14px;font-weight:400;line-height:1.5}.btn-text{font-family:var(--font-display);font-size:18px;font-weight:600;line-height:1}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);background:var(--bg-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);font-size:16px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}*{-webkit-tap-highlight-color:transparent}.dashboard-grid{gap:var(--sp-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=600px){.dashboard-grid{grid-template-columns:1fr}}.stage-soon-badge{color:#333;font-family:var(--font-display,sans-serif);letter-spacing:.04em;box-shadow:var(--shadow-sm);pointer-events:none;text-transform:lowercase;background:#ffd166;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:-8px;right:-8px}.pet-card--sad .pet-card__creature{filter:grayscale();transition:filter .4s}.pet-habitat__grass-blades{transform-origin:50% 100%;animation:4.2s ease-in-out infinite pet-habitat-sway}.pet-habitat__leaf{animation:11s linear infinite pet-habitat-leaf-drift}.pet-habitat__ember{transform-origin:50%;animation:4.8s ease-in infinite pet-habitat-rise}.pet-habitat__ember--1{animation-delay:0s}.pet-habitat__ember--2{animation-delay:1.6s}.pet-habitat__ember--3{animation-delay:3.2s}.pet-habitat__bubble{animation:5.5s ease-out infinite pet-habitat-bubble}.pet-habitat__bubble--1{animation-delay:0s}.pet-habitat__bubble--2{animation-delay:2.2s}.pet-habitat__bubble--3{animation-delay:3.8s}.pet-habitat__sun{animation:5.5s ease-in-out infinite pet-habitat-sun-pulse}.pet-habitat__cloud{animation:22s linear infinite pet-habitat-cloud-drift}.pet-habitat__smoke{animation:6.5s ease-in infinite pet-habitat-smoke}.pet-habitat__smoke--1{animation-delay:1.2s}.pet-habitat__smoke--2{animation-delay:4s}.pet-habitat__butterfly{animation:10s linear infinite pet-habitat-butterfly-path}.pet-habitat__butterfly-wings{transform-origin:50%}.pet-habitat__fish{animation:9s ease-in-out infinite pet-habitat-fish-swim}@keyframes pet-habitat-sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes pet-habitat-rise{0%{opacity:0;transform:translate(0)scale(1)}15%{opacity:.85}to{opacity:0;transform:translate(2px,-150px)scale(.4)}}@keyframes pet-habitat-bubble{0%{opacity:0;transform:translate(0)scale(.6)}20%{opacity:.8}to{opacity:0;transform:translate(-2px,-130px)scale(1.1)}}@keyframes pet-habitat-leaf-drift{0%{opacity:0;transform:translate(40px,30px)rotate(0)}10%{opacity:.85}90%{opacity:.85}to{opacity:0;transform:translate(200px,90px)rotate(360deg)}}@keyframes pet-habitat-sun-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.92;transform:scale(1.04)}}@keyframes pet-habitat-cloud-drift{0%{transform:translate(-30px,38px)}to{transform:translate(280px,38px)}}@keyframes pet-habitat-smoke{0%{opacity:0;transform:translate(0)scale(1)}20%{opacity:.55}to{opacity:0;transform:translate(-4px,-110px)scale(2.2)}}@keyframes pet-habitat-butterfly-path{0%{transform:translate(50px,70px)rotate(-6deg)}25%{transform:translate(120px,50px)rotate(8deg)}50%{transform:translate(170px,80px)rotate(-4deg)}75%{transform:translate(110px,100px)rotate(6deg)}to{transform:translate(50px,70px)rotate(-6deg)}}@keyframes pet-habitat-butterfly-wings{0%,to{transform:scaleX(1)}50%{transform:scaleX(.7)}}@keyframes pet-habitat-fish-swim{0%{transform:translate(40px,170px)scaleX(1)}48%{transform:translate(190px,178px)scaleX(1)}50%{transform:translate(190px,178px)scaleX(-1)}98%{transform:translate(40px,170px)scaleX(-1)}to{transform:translate(40px,170px)scaleX(1)}}.pet-aura{pointer-events:none;position:absolute;inset:0;overflow:visible}.pet-aura__particle{pointer-events:none;will-change:transform, opacity;filter:drop-shadow(0 1px 2px #00000014);font-size:16px;position:absolute;top:50%;left:50%}.pet-aura__particle--1{animation:13s ease-in-out infinite pet-aura-orbit-1}.pet-aura__particle--2{animation:16s ease-in-out 2.5s infinite pet-aura-orbit-2}.pet-aura__particle--3{animation:14s ease-in-out 5s infinite pet-aura-orbit-3}.pet-aura__particle--4{animation:18s ease-in-out 7.5s infinite pet-aura-orbit-4}@keyframes pet-aura-orbit-1{0%{opacity:0;transform:translate(-90px,-10px)rotate(0)scale(.7)}20%{opacity:.85}50%{opacity:.85;transform:translate(-50px,-80px)rotate(180deg)scale(1)}80%{opacity:.85}to{opacity:0;transform:translate(20px,-50px)rotate(360deg)scale(.7)}}@keyframes pet-aura-orbit-2{0%{opacity:0;transform:translate(80px,30px)rotate(0)scale(.6)}20%{opacity:.85}50%{opacity:.85;transform:translate(60px,-60px)rotate(180deg)scale(1)}80%{opacity:.85}to{opacity:0;transform:translate(-30px,-30px)rotate(360deg)scale(.6)}}@keyframes pet-aura-orbit-3{0%{opacity:0;transform:translate(-70px,40px)rotate(0)scale(.7)}20%{opacity:.85}50%{opacity:.85;transform:translate(70px,20px)rotate(180deg)scale(1.05)}80%{opacity:.85}to{opacity:0;transform:translateY(-70px)rotate(360deg)scale(.7)}}@keyframes pet-aura-orbit-4{0%{opacity:0;transform:translate(40px,60px)rotate(0)scale(.6)}20%{opacity:.7}50%{opacity:.85;transform:translate(-80px)rotate(180deg)scale(.95)}80%{opacity:.7}to{opacity:0;transform:translate(-20px,-60px)rotate(360deg)scale(.6)}}@media (prefers-reduced-motion:reduce){.pet-habitat__grass-blades,.pet-habitat__leaf,.pet-habitat__ember,.pet-habitat__bubble,.pet-habitat__sun,.pet-habitat__cloud,.pet-habitat__smoke,.pet-habitat__butterfly,.pet-habitat__butterfly-wings,.pet-habitat__fish,.pet-aura__particle,.mood-bubble,.mood-bubble__emoji{animation:none}}.mood-bubble{pointer-events:none;filter:drop-shadow(0 2px 3px #281e3c1a);z-index:2;animation:2.4s ease-in-out infinite mood-bubble-float;display:block;position:relative}@keyframes mood-bubble-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mood-bubble__emoji{transform-box:fill-box;transform-origin:50%;animation:.12s ease-out mood-bubble-pop}@keyframes mood-bubble-pop{0%{transform:scale(.6)}60%{transform:scale(1.2)}to{transform:scale(1)}}@media (width<=600px){[aria-label=species-fire],[aria-label=species-water],[aria-label=species-grass]{padding:var(--sp-2)!important}[aria-label=species-fire] img[data-creature],[aria-label=species-water] img[data-creature],[aria-label=species-grass] img[data-creature]{max-width:100%;height:auto}}
