:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-height:100vh;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.child-select{padding:24px;text-align:center}.child-select h1{font-size:32px;margin-bottom:8px}.subtitle{color:var(--tg-theme-hint-color);margin-bottom:24px}.children-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.child-card{display:flex;align-items:center;gap:12px;background:#f5f5f5;padding:16px;border-radius:16px;text-align:left}.child-avatar{font-size:32px}.child-name{flex:1;font-weight:600;font-size:18px}.child-age{color:var(--tg-theme-hint-color)}.add-child-btn{width:100%;background:var(--primary);color:#fff;font-weight:600}.create-child{padding:16px}.create-child h2{text-align:center;margin-bottom:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:8px}.form-group input{width:100%;padding:12px 16px;font-size:16px;border:2px solid #eee;border-radius:12px;outline:none}.form-group input:focus{border-color:var(--primary)}.age-buttons,.gender-buttons{display:flex;gap:8px}.age-buttons button,.gender-buttons button{flex:1;background:#f5f5f5;padding:12px}.age-buttons button.active,.gender-buttons button.active{background:var(--primary);color:#fff}.character-grid,.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.character-grid button,.location-grid button{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f5f5f5;padding:16px 8px}.character-grid button.active,.location-grid button.active{background:var(--secondary);color:#fff}.character-grid .emoji,.location-grid .emoji{font-size:32px}.character-grid .name,.location-grid .name{font-size:12px}.submit-btn{width:100%;background:var(--success);color:#fff;font-weight:600;padding:16px;margin-top:16px}.letter-map{display:flex;flex-direction:column;gap:20px}.letter-block{background:#f9f9f9;border-radius:16px;padding:10px}.block-title{font-size:14px;color:var(--tg-theme-hint-color);margin-bottom:10px}.letters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.letter-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;background:#fff;border:2px solid #eee;border-radius:12px;font-size:24px;font-weight:600;padding:4px;min-width:0}.letter-btn .letter{line-height:1}.letter-btn .stars{font-size:8px;margin-top:2px}.letter-btn.completed{background:#d4edda;border-color:var(--success)}.letter-btn.current{background:#fff3cd;border-color:var(--warning);animation:pulse 2s infinite}.letter-btn.locked{background:#f0f0f0;border-color:#e0e0e0;color:#ccc;opacity:.6}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.lesson{padding:16px;min-height:100vh;display:flex;flex-direction:column}.lesson-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.letter-badge{background:var(--primary);color:#fff;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600;flex-shrink:0}.progress-bar{flex:1;height:8px;background:#eee;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--success);transition:width .3s}.progress-text{font-size:14px;color:var(--tg-theme-hint-color);flex-shrink:0}.exercise{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.instruction{font-size:20px;margin-bottom:24px;line-height:1.3}.big-text{font-size:72px;font-weight:700;color:var(--primary)}.giant-letter{font-size:120px;font-weight:800;color:var(--primary);line-height:1}.action-btn{background:var(--success);color:#fff;font-size:18px;padding:16px 48px;border-radius:16px;margin-top:24px;min-height:48px;min-width:200px;font-weight:600;transition:transform .15s,opacity .15s}.action-btn:active{transform:scale(.96);opacity:.9}.read-btn{background:var(--success);color:#fff;font-size:18px;padding:16px 48px;border-radius:16px;min-height:48px;font-weight:600}.feedback{font-size:24px;padding:12px 24px;border-radius:12px;margin-top:16px;animation:fadeIn .3s ease}.feedback.correct{background:#d4edda;color:#2ecc71}.feedback.wrong{background:#f8d7da;color:#e74c3c}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:340px}.options-grid.grid-3{grid-template-columns:repeat(3,1fr)}.options-grid.grid-4{grid-template-columns:repeat(4,1fr)}.option{aspect-ratio:1;font-size:36px;font-weight:600;background:#f5f5f5;border-radius:16px;transition:all .2s;min-height:48px;display:flex;align-items:center;justify-content:center}.option.syllable-option{aspect-ratio:auto;padding:16px 8px;font-size:28px}.option.correct{background:#d4edda;border:3px solid #2ECC71}.option.wrong{background:#f8d7da;border:3px solid #E74C3C}.syllable-card,.word-card{display:flex;flex-direction:column;align-items:center;gap:16px}.syllables{font-size:24px;color:var(--tg-theme-hint-color);letter-spacing:2px}.syllable-build{display:flex;flex-direction:column;align-items:center;gap:24px}.build-area{display:flex;gap:8px;font-size:48px;font-weight:600;min-height:72px;align-items:center}.selected-letter{background:#4ecdc4;color:#fff;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:32px;animation:popIn .2s ease}.selected-letter.syllable-piece{width:auto;padding:0 16px;min-width:64px}.placeholder{width:64px;height:64px;border:3px dashed #ccc;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:32px}.letter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.letter-buttons .letter-btn{width:56px;height:56px;font-size:28px;background:#f5f5f5;border-radius:12px;font-weight:600;transition:all .15s}.letter-buttons .letter-btn:active{transform:scale(.93)}.letter-buttons .letter-btn:disabled{opacity:.3}.syllable-buttons .syllable-btn{width:auto;padding:0 20px;min-width:64px}.reset-btn{background:transparent;color:var(--tg-theme-link-color);font-size:16px;padding:8px 16px}.exercise-letter-intro{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.intro-letter-display{padding:16px}.intro-words{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:100%}.intro-word-card{background:#f0f8ff;border-radius:16px;padding:12px 20px;display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;box-shadow:0 2px 8px #0000000f}.intro-emoji{font-size:32px;line-height:1}.intro-img{width:64px;height:64px;object-fit:contain;border-radius:8px}.pic-emoji{font-size:36px;line-height:1}.find-img{width:80px;height:80px;object-fit:contain}.match-img{width:64px;height:64px;object-fit:contain}.intro-word{color:var(--tg-theme-text-color, #333);text-transform:capitalize}.exercise-letter-trace{display:flex;flex-direction:column;align-items:center;gap:16px}.trace-canvas-wrapper{position:relative;width:260px;height:260px;border:3px dashed rgba(255,107,107,.35);border-radius:24px;overflow:hidden;background:#ffffff80}.trace-canvas{display:block;width:100%;height:100%;cursor:crosshair}.trace-progress-bar{width:200px;height:8px;background:#eee;border-radius:4px;overflow:hidden}.trace-progress-fill{height:100%;background:linear-gradient(90deg,#4ecdc4,#2ecc71);border-radius:4px;transition:width .15s}.trace-hint{font-size:18px;color:var(--tg-theme-hint-color)}.exercise-sound-hold{display:flex;flex-direction:column;align-items:center;gap:24px}.sound-letter-display{padding:16px}.sound-text-display{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-radius:20px;padding:20px 40px}.sound-text{font-size:36px;font-weight:700;color:#e65100}.exercise-letter-table{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.letter-grid-table{display:flex;flex-direction:column;gap:8px;width:100%;max-width:320px}.table-row{display:flex;gap:8px;justify-content:center}.table-cell{width:64px;height:64px;font-size:32px;font-weight:700;background:#f5f5f5;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s}.table-cell.tapped{background:#4ecdc4;color:#fff;transform:scale(.95)}.exercise-find-picture,.exercise-find-among,.exercise-find-letters{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.find-target-badge{font-size:20px;background:#f0f8ff;padding:10px 24px;border-radius:20px;margin-bottom:8px}.find-target-badge strong{color:var(--primary);font-size:24px}.find-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:340px}.find-grid.grid-4{grid-template-columns:repeat(4,1fr)}.find-grid.grid-3{grid-template-columns:repeat(3,1fr)}.find-card{background:#f5f5f5;border-radius:16px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s;min-height:100px;justify-content:center;border:3px solid transparent}.find-card.letter-card{min-height:64px}.find-card.found{background:#d4edda;border-color:#2ecc71;transform:scale(.95)}.find-card.missed{border-color:#ffc107;background:#fff3cd}.find-card.shake{animation:shake .4s ease;background:#f8d7da;border-color:#e74c3c}.find-emoji{font-size:36px;line-height:1}.find-word{font-size:14px;color:var(--tg-theme-hint-color)}.find-letter-val{font-size:36px;font-weight:700;color:var(--tg-theme-text-color, #333)}.exercise-syllable-star{display:flex;flex-direction:column;align-items:center;gap:24px}.star-container{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center}.star-center{width:72px;height:72px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:800;z-index:2;box-shadow:0 4px 16px #ff6b6b66}.star-rays{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.star-ray{position:absolute;width:56px;height:56px;border-radius:50%;background:#f0f8ff;border:3px solid #4ECDC4;font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;color:#333}.star-ray.tapped{background:#4ecdc4;color:#fff;border-color:#4ecdc4;transform:scale(.9)!important}.star-syllable-display{padding:8px}.exercise-fusion{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.fusion-letters{display:flex;align-items:center;gap:16px;cursor:pointer;padding:16px}.fusion-letter{font-size:80px;font-weight:800;color:var(--primary);transition:all .5s}.fusion-arrow{font-size:40px;color:#4ecdc4;animation:pulse 1s infinite}.fusion-result{padding:16px}.exercise-syllable-find{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.find-target-display{padding:8px 0;margin-bottom:8px}.exercise-word-match{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;transition:background .3s}.exercise-word-match.wrong-flash{background:#e74c3c14;border-radius:16px}.match-columns{display:flex;gap:16px;width:100%;max-width:360px}.match-col{flex:1;display:flex;flex-direction:column;gap:12px}.match-item{background:#f5f5f5;border-radius:16px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s;border:3px solid transparent;min-height:56px;justify-content:center}.match-item.selected{border-color:#4ecdc4;background:#e0f7f5}.match-item.matched{border-color:#2ecc71;background:#d4edda;opacity:.7}.match-word{font-size:22px;font-weight:600}.match-syllables{font-size:14px;color:var(--tg-theme-hint-color)}.match-emoji{font-size:36px}.exercise-puzzle-syllable{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.puzzle-target-hint{font-size:16px;color:var(--tg-theme-hint-color);background:#f5f5f5;padding:6px 16px;border-radius:12px}.exercise-anagram{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.anagram-hint{font-size:18px;color:var(--tg-theme-hint-color);background:#fff3e0;padding:10px 20px;border-radius:12px}.anagram-hint strong{color:var(--primary);font-size:22px}.exercise-sentence{display:flex;flex-direction:column;align-items:center;gap:24px;width:100%}.sentence-display{background:#f0f8ff;border-radius:20px;padding:20px 24px;width:100%;max-width:340px}.sentence-text{font-size:22px;line-height:1.5;font-weight:500;margin:0}.sentence-options{display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px}.sentence-option{background:#f5f5f5;border-radius:16px;padding:16px 20px;font-size:20px;font-weight:500;text-align:left;transition:all .2s;border:3px solid transparent;min-height:52px}.sentence-option.correct{background:#d4edda;border-color:#2ecc71}.sentence-option.wrong{background:#f8d7da;border-color:#e74c3c}.sentence-opt-word{font-size:20px}.exercise-word-math{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%}.math-equation{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-radius:20px;padding:24px 32px;text-align:center}.equation-text{font-size:28px;font-weight:700;color:#2e7d32}.equation-equals{font-size:28px;font-weight:700;color:var(--primary)}.math-hint{font-size:16px;color:var(--tg-theme-hint-color);background:#fff3e0;padding:8px 16px;border-radius:12px}.math-hint strong{color:var(--primary);font-size:20px}.math-input-area{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:280px}.math-input{width:100%;font-size:32px;font-weight:700;text-align:center;padding:16px;border:3px solid #ddd;border-radius:16px;outline:none;text-transform:uppercase;letter-spacing:4px}.math-input:focus{border-color:var(--secondary)}.math-result{text-align:center}.math-answer{font-size:36px;font-weight:800}.math-answer.correct{color:var(--success)}.math-answer.wrong{color:var(--danger)}@keyframes popIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.animate-pop{animation:popIn .3s ease}.lesson.loading{align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:4px solid #eee;border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.learning-root{min-height:100vh;min-height:100dvh}.learning{padding:12px;max-width:100vw;overflow-x:hidden}.learning-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.child-info{display:flex;align-items:center;gap:12px}.child-name{font-weight:600;font-size:18px}.stars{background:#fff3cd;padding:4px 12px;border-radius:20px;font-weight:600}.music-toggle{position:fixed;top:12px;right:12px;z-index:100;width:36px;height:36px;border-radius:50%;border:none;background:#ffffffd9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #00000026;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .2s ease,box-shadow .2s ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.music-toggle:active{transform:scale(.9);box-shadow:0 1px 4px #00000026}@keyframes music-pulse{0%,to{box-shadow:0 2px 8px #00000026}50%{box-shadow:0 2px 12px #6495ed4d}}.music-toggle:not([aria-label*=Включить]){animation:music-pulse 3s ease-in-out infinite}*{box-sizing:border-box;margin:0;padding:0}#root{width:100%;max-width:100vw;min-height:100vh}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--primary: #FF6B6B;--secondary: #4ECDC4;--success: #2ECC71;--warning: #F1C40F;--danger: #E74C3C;--bg: var(--tg-theme-bg-color);--text: var(--tg-theme-text-color)}html{touch-action:manipulation;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-overflow-scrolling:touch}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px}.spinner{width:48px;height:48px;border:4px solid #eee;border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.container{padding:24px;text-align:center}h1,h2,h3{font-weight:600}button{font-family:inherit;font-size:16px;cursor:pointer;border:none;border-radius:12px;padding:12px 24px;transition:transform .1s,opacity .2s}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}.back-btn{background:transparent;color:var(--tg-theme-link-color);padding:8px 16px;margin-bottom:16px}
