@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;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-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}: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;--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;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<=480px){.dashboard-grid{grid-template-columns:1fr}}
