@font-face{font-family:Andika;src:url(/fonts/andika.woff2) format("woff2");font-weight:400 700;font-display:swap}@font-face{font-family:Marmelad;src:url(/fonts/marmelad.woff2) format("woff2");font-weight:400;font-display:swap}:root{--paper: #fff6e8;--paper-deep: #f3e4cb;--card: #ffffff;--ink: #3a2e26;--ink-soft: #8a7a6c;--ok: #5f9e4a;--ok-soft: #e3f0d8;--oops: #c8553a;--oops-soft: #f8e1d8;--gold: #e0b24a;--hero: #2e8c8c;--hero-soft: #2e8c8c22;--hero-deep: #226b6b;--ui: "Marmelad", system-ui, sans-serif;--reading: "Andika", Georgia, serif;--r-pill: 999px;--r-card: 20px;--r-chip: 12px;--shadow-card: 0 4px 14px rgba(58, 46, 38, .1);--shadow-float: 0 10px 30px rgba(58, 46, 38, .14);--tap: 64px;color-scheme:light;font-family:var(--ui);color:var(--ink);line-height:1.35;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.hero-agunya{--hero: #d8402a;--hero-soft: #d8402a22;--hero-deep: #a63020}.hero-ulya{--hero: #4890c0;--hero-soft: #4890c022;--hero-deep: #366e94}.hero-mem{--hero: #e09a10;--hero-soft: #e09a1022;--hero-deep: #b07a0c}.hero-tomik{--hero: #2e8c8c;--hero-soft: #2e8c8c22;--hero-deep: #226b6b}.reading,.big-letter,.hero-letter,.finish-letter,.tower-block,.tower-brick,.tower-word,.duet-letter,.duet-result,.syllable-btn,.letter-btn,.find-syllable,.find-option,.fusion-letters,.fusion-animation,.syllable-big,.star-center,.ray-letter,.build-area,.slot,.big-text,.syllables,.sound-text,.match-item.word,.item-word,.image-word,.items-grid.mixed .item,.trace-letter{font-family:var(--reading)}button{font:inherit;color:inherit;border:0;padding:0;margin:0;background:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}.btn,.continue-btn,.hero-next,.read-btn,.start-btn,.hold-btn,.check-btn,.finish-btn,.submit-btn,.add-child-btn,.gate-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 34px;border-radius:var(--r-pill);background:var(--hero);color:#fff;font-family:var(--ui);font-size:21px;line-height:1;text-decoration:none;box-shadow:0 5px 0 var(--hero-deep);transition:transform .1s,box-shadow .1s,opacity .2s}.btn:active:not(:disabled),.continue-btn:active:not(:disabled),.hero-next:active:not(:disabled),.read-btn:active:not(:disabled),.start-btn:active:not(:disabled),.hold-btn:active:not(:disabled),.check-btn:active:not(:disabled),.finish-btn:active:not(:disabled),.submit-btn:active:not(:disabled),.add-child-btn:active:not(:disabled),.gate-btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--hero-deep)}.btn:disabled,.submit-btn:disabled,.continue-btn:disabled{opacity:.45;box-shadow:none;transform:translateY(4px)}.btn-soft,.repeat-btn,.play-btn,.reset-btn,.mode-btn,.back-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:var(--r-pill);background:var(--paper-deep);color:var(--ink);font-family:var(--ui);font-size:18px;line-height:1;transition:transform .1s,background .15s}.btn-soft:active,.repeat-btn:active,.play-btn:active,.reset-btn:active,.mode-btn:active,.back-btn:active{transform:scale(.96);background:color-mix(in srgb,var(--paper-deep),var(--ink) 8%)}.tile{display:flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-card);background:var(--card);color:var(--ink);box-shadow:var(--shadow-card),inset 0 -4px #3a2e2612;font-family:var(--reading);transition:transform .1s,box-shadow .15s,background .15s,color .15s;-webkit-user-select:none;user-select:none}.tile:active:not(:disabled){transform:scale(.95)}.tile.selected{box-shadow:0 0 0 4px var(--hero),var(--shadow-card)}.tile.correct,.tile.found,.tile.done{background:var(--ok);color:#fff;box-shadow:0 4px color-mix(in srgb,var(--ok),#000 20%)}.tile.wrong{animation:tile-shake .4s;box-shadow:0 0 0 4px var(--oops),var(--shadow-card)}.tile.used,.tile:disabled:not(.found):not(.correct):not(.done){opacity:.35;box-shadow:none}@keyframes tile-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.feedback{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--r-pill);font-family:var(--ui);font-size:21px;animation:feedback-pops .3s cubic-bezier(.2,1.4,.4,1) both}.feedback.correct{background:var(--ok);color:#fff}.feedback.wrong{background:var(--oops-soft);color:var(--oops)}@keyframes feedback-pops{0%{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}.hint{margin:0;font-family:var(--ui);font-size:17px;color:var(--ink-soft);text-align:center}body{background:var(--paper-deep)}#root{width:100%;max-width:460px;margin:0 auto;min-height:100vh;min-height:100dvh;background:var(--paper);box-shadow:0 0 40px #3a2e2614}@media(prefers-reduced-motion:reduce){.feedback,.tile.wrong{animation:none}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh}h1,h2,h3,h4{margin:0;font-weight:400}input{font-family:var(--reading);font-size:22px;padding:0 22px;min-height:var(--tap);border:3px solid var(--paper-deep);border-radius:var(--r-pill);background:var(--card);color:var(--ink);transition:border-color .2s;width:100%}input::placeholder{color:var(--ink-soft);opacity:.7}input:focus{outline:none;border-color:var(--hero)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:20px;color:var(--ink-soft)}.spinner{width:48px;height:48px;border:5px solid var(--paper-deep);border-top-color:var(--hero);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}body.tg-webapp{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.child-select{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:0 20px 32px;background:var(--paper);color:var(--ink);text-align:center}.welcome{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:46vh;margin:0 -20px 20px;padding:30px 0 26px;background:linear-gradient(180deg,rgba(242,234,216,0) 62%,var(--paper) 100%),url(/images/map/segment_01.webp) center 20% / 150% no-repeat}.welcome-guide{width:116px;height:116px;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(58,46,38,.22))}.child-select h1{margin-top:4px;font-size:36px}.subtitle{margin:4px 0 0;color:var(--ink-soft);font-size:18px}.children-list{display:flex;flex-direction:column;gap:12px;margin:4px 0 18px}.child-card{display:flex;align-items:center;gap:14px;min-height:76px;padding:12px 18px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-card),inset 0 -4px #3a2e2612;text-align:left;transition:transform .1s}.child-card:active{transform:scale(.97)}.child-avatar{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:var(--gold);color:#fff;font-family:var(--reading);font-size:26px}.child-name{flex:1;font-family:var(--reading);font-size:22px}.child-age{color:var(--ink-soft);font-size:16px}.add-child-btn{margin:6px auto 0;--hero: #2e8c8c;--hero-deep: #226b6b}.tomik-says{display:flex;align-items:flex-end;gap:10px;width:100%;padding:0 4px}.tomik-says-face{flex:none;width:56px;height:56px;object-fit:contain;filter:drop-shadow(0 3px 4px rgba(58,46,38,.2))}.tomik-says-bubble{position:relative;flex:1;margin:0 0 8px;padding:12px 16px;border-radius:var(--r-card);border-bottom-left-radius:6px;background:var(--card);box-shadow:var(--shadow-card);font-family:var(--ui);font-size:18px;line-height:1.3;color:var(--ink)}.tomik-says-bubble:before{content:"";position:absolute;left:-8px;bottom:10px;border:8px solid transparent;border-right-color:var(--card);border-left:0}.create-child{display:flex;flex-direction:column;gap:22px;min-height:100vh;min-height:100dvh;padding:16px 20px 32px;background:var(--paper)}.create-child .back-btn{align-self:flex-start;padding-left:16px}.create-child form{display:flex;flex-direction:column;gap:22px}.form-group{display:flex;flex-direction:column;gap:10px}.form-label{font-size:18px;color:var(--ink-soft);padding-left:6px}.age-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.age-buttons .tile{min-height:72px;font-size:34px}.gender-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gender-buttons .tile{min-height:64px;font-family:var(--ui);font-size:20px}.submit-btn{margin-top:8px;width:100%}.form-error{margin:0;padding:12px 16px;border-radius:var(--r-chip);background:var(--oops-soft);color:var(--oops);font-size:16px;text-align:center}.map-scene{position:relative;height:100vh;overflow-y:auto;background:var(--paper);overscroll-behavior-y:contain}.map-hud{position:fixed;top:12px;left:12px;z-index:2;display:flex;align-items:center;gap:10px}.map-avatar{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#e0b24a;color:var(--ink);font-family:var(--reading);font-size:22px;cursor:pointer;box-shadow:0 2px 6px #5a3c0a40}.map-avatar:active{transform:scale(.94)}.map-stars{display:flex;align-items:center;gap:5px;height:36px;padding:0 12px 0 10px;border-radius:var(--r-pill);background:var(--paper);color:#936b10;font-family:var(--reading);font-size:18px;box-shadow:0 2px 6px #5a3c0a33}.map-road{display:flex;flex-direction:column}.map-segment{position:relative;width:100%;container-type:inline-size}.map-art{display:block;width:100%;height:100%;object-fit:cover}.map-segment-polished{background-size:100% 100%;background-repeat:no-repeat}.map-segment-polished .map-art{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 16px);mask-image:linear-gradient(to bottom,transparent,#000 16px)}.map-segment.placeholder{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(-45deg,var(--paper),var(--paper) 14px,var(--paper-deep) 14px,var(--paper-deep) 28px)}.map-todo{color:var(--ink-soft);font-size:15px}.map-point{position:absolute;width:0;height:0}.map-stone{position:absolute;left:0;top:0;translate:-50% -50%;width:24cqw;aspect-ratio:1.35 / 1;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;font-family:var(--reading);font-size:11cqw;line-height:1;color:#4a3b2c;padding:0;text-shadow:0 1px 0 rgba(255,255,255,.6)}.map-stone.locked{color:transparent}.map-stone.locked .map-letter{visibility:hidden}.map-stone.current{color:var(--ink);font-size:11cqw;text-shadow:0 1px 0 rgba(255,255,255,.6)}.map-letter{position:relative;display:block}.map-current-halo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.72;box-shadow:0 0 0 5px #ffd678e6,0 0 24px 8px #ffc45052}.map-stone:hover:not(:disabled){transform:none;box-shadow:none}.map-stone:active:not(:disabled){transform:scale(.94)}.map-point-stars{position:absolute;left:0;top:0;transform:translate(-50%,8cqw);display:flex;gap:2px;color:#e0a53a;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}.map-hero{position:absolute;left:0;top:0;transform:translate(6cqw,-70%);width:26cqw;pointer-events:none}.map-point .gouache-agunya{position:absolute;width:32cqw;left:9cqw;top:-23cqw;bottom:auto;z-index:1}.map-point .map-voice{position:absolute;width:26cqw;left:6cqw;top:0;transform:translateY(-70%);z-index:1}@media(prefers-reduced-motion:reduce){.map-current-halo{opacity:.85}}.map-ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none}.map-ambient-art{display:block;width:100%;height:100%}.map-water-glint{opacity:.32}.map-butterfly-left,.map-butterfly-right{transform-box:fill-box}.map-butterfly-left{transform-origin:100% 50%}.map-butterfly-right{transform-origin:0% 50%}@media(prefers-reduced-motion:no-preference){.map-butterfly-flight,.map-butterfly-left,.map-butterfly-right{will-change:transform}}.gouache-agunya{position:absolute;width:76%;left:12%;bottom:-10%;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.gouache-agunya canvas,.ulya-voice .hero-puppet-canvas{display:block;width:100%;height:auto}.gouache-agunya:focus-visible{outline:3px dashed #3f7f7b;outline-offset:-15px;border-radius:40%}.ulya-voice{padding:0;border:0;background:transparent;cursor:pointer}.ulya-voice img{display:block;width:100%;height:100%;object-fit:contain}.ulya-voice[aria-pressed=true]{filter:drop-shadow(0 0 6px #6e93ae)}.ulya-voice:focus-visible{outline:3px dashed #3f7f7b;border-radius:20px}.lesson{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--paper);color:var(--ink);font-family:var(--ui)}.lesson.loading,.lesson.empty{align-items:center;justify-content:center;gap:16px;padding:24px;text-align:center}.lesson-header{display:flex;align-items:center;gap:8px;padding:14px 14px 6px}.letter-badge{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--r-chip);background:var(--hero);color:#fff;font-family:var(--reading);font-size:24px;flex:none;box-shadow:0 3px 0 var(--hero-deep)}.exit-btn{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:var(--ink-soft);flex:none}.exit-btn:active{background:var(--paper-deep)}.part-title{text-align:center;font-size:16px;color:var(--ink-soft);padding:0 0 6px}.exercise-container{flex:1;display:flex;flex-direction:column;gap:14px;padding:4px 18px 26px}.part-dots{display:flex;justify-content:center;gap:6px}.part-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 4px 4px}.part-count{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}.part-count span{color:var(--ink-soft)}.part-dot{width:7px;height:7px;border-radius:50%;background:var(--paper-deep);transition:transform .2s}.part-dot.done{background:var(--hero);opacity:.45}.part-dot.current{background:var(--hero);transform:scale(1.5)}.exercise-container>:last-child{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%}.exercise.unknown{gap:16px;color:var(--ink-soft)}.find-counter{padding:8px 18px;border-radius:var(--r-pill);background:var(--hero-soft);color:var(--hero);font-size:18px}.lesson.finished{align-items:center;justify-content:center;padding:28px 24px 36px;background:radial-gradient(circle at 50% 30%,var(--hero-soft) 0%,transparent 55%),var(--paper)}.finish-card{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:360px;text-align:center}.finish-hero{width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(58,46,38,.22));animation:hero-rises .7s cubic-bezier(.22,1.2,.36,1) both}.finish-letter{display:flex;align-items:center;justify-content:center;min-width:84px;height:84px;padding:0 20px;border-radius:var(--r-card);background:var(--hero);color:#fff;font-size:54px;line-height:1;box-shadow:0 5px 0 var(--hero-deep)}.finish-stars{display:flex;gap:6px;color:var(--gold);margin:4px 0}.finish-stars svg{width:48px;height:48px}.finish-stars .dim{color:var(--paper-deep)}.finish-stats{color:var(--ink-soft);font-size:18px}.finish-message{margin:4px 0 10px;font-size:24px;line-height:1.35}.finish-buttons{display:flex;flex-direction:column;gap:12px;width:100%;max-width:300px}.finish-buttons .continue-btn,.finish-buttons .repeat-btn,.finish-buttons .gate-btn{width:100%}.gate-card .finish-message{font-size:20px}@media(prefers-reduced-motion:reduce){.finish-hero{animation:none}}.lesson{--paper: #f2ead8;--paper-deep: #e4d7be;--card: #fbf7ec;--ink: #3a3226;--ink-soft: #786b58;--edge: #cfbea0;--moss: #526b46;--shadow-card: 0 3px 0 #dacbad;--shadow-float: 0 4px 0 #dacbad}.lesson-header{padding:16px 18px 8px}.lesson .letter-badge{border-radius:13px 17px 11px 14px;box-shadow:0 3px 0 var(--hero-deep)}.lesson .lesson-ladder{gap:6px}.lesson .ladder-step{height:7px;border-radius:2px}.lesson .part-title{font-size:16px;padding:0 18px 12px}.lesson .exercise-container{padding:0 20px 76px;gap:16px}.lesson .part-progress{padding:9px 0;border-top:1px solid var(--edge)}.lesson .part-count{font-size:16px}.lesson .part-dot{width:6px;height:6px}.lesson .tomik-says{align-items:center;padding:0;gap:12px}.lesson .tomik-says-face{width:48px;height:54px;filter:none}.lesson .tomik-says-bubble{border-radius:0;padding:2px 0 2px 12px;margin:0;background:none;box-shadow:none;border-left:2px solid var(--edge);font-size:21px;line-height:1.35;text-wrap:balance}.lesson .tomik-says-bubble:before{display:none}.lesson .exercise-container>:last-child{justify-content:flex-start;gap:22px;padding-top:12px}.lesson .exercise-container>:last-child>.hint{max-width:320px;text-wrap:balance}.lesson :is(.continue-btn,.read-btn,.check-btn,.finish-btn,.hero-next,.speed-btn,.submit-btn){min-height:58px;font-size:20px;border-radius:12px 16px 13px 10px;padding:12px 28px;box-shadow:0 4px 0 var(--hero-deep)}.lesson :is(.play-btn,.reset-btn,.repeat-btn,.btn-soft){min-height:48px;border-radius:9px 13px 10px 12px;font-size:17px}.lesson :is(.tile,.letter-btn,.syllable-btn,.option-btn,.word-btn,.option-card){border:1px solid var(--edge);border-radius:8px 13px 9px 12px;background:var(--card);box-shadow:0 3px #dacbad;color:var(--ink)}.lesson :is(.tile,.letter-btn,.syllable-btn,.option-btn,.word-btn,.option-card):active:not(:disabled){translate:0 2px;box-shadow:0 1px #dacbad}.lesson :is(.tile,.letter-btn,.syllable-btn,.option-btn,.word-btn,.option-card).selected{outline:3px solid var(--hero);outline-offset:2px;background:var(--hero-soft)}.lesson :is(.tile,.option-btn,.option-card):is(.correct,.found,.done){background:var(--moss);color:#fffaf0;border-color:var(--moss)}.lesson :is(.tile,.option-btn,.option-card).wrong{background:var(--oops-soft);color:var(--ink);border-color:var(--oops);opacity:1}.lesson :is(button,[tabindex]):focus-visible{outline:3px solid var(--hero-deep);outline-offset:4px}.lesson .feedback{max-width:100%;padding:12px 16px;border-radius:0;border-left:3px solid currentColor;font-size:19px;text-align:center;text-wrap:balance;background:none}.lesson .find-counter{padding:7px 0;border-radius:0;border-bottom:2px solid var(--edge);background:none;color:var(--moss);font-size:18px}.lesson input{min-height:62px;border:1px solid var(--edge);border-bottom:3px solid var(--hero);border-radius:8px 11px 4px 6px;background:var(--card)}.lesson .exercise-container[data-feedback-exercise=letter_intro]{gap:8px}.lesson .exercise-container[data-feedback-exercise=letter_intro] .tomik-says{display:none}.lesson .exercise-container>.letter-intro{padding-top:0;gap:0}.lesson .letter-discovery{position:relative;display:flex;align-items:center;justify-content:center;width:calc(100% + 40px);min-height:180px;background:url(/images/lesson/duet-forest.webp) center 48% / cover}.lesson .letter-host{position:relative;width:52%;height:180px}.lesson .letter-host .gouache-agunya{width:114%;left:-7%;bottom:-2%}.lesson .big-letter{padding:12px 18px 18px;border-radius:42% 38% 36% 40%;background:var(--card);font-size:84px;gap:9px;color:var(--hero-deep)}.lesson .big-letter .lower{font-size:62px}.lesson .letter-discovery-hint{margin:18px 0 10px;font-size:18px;text-align:center;text-wrap:balance}.lesson .letter-images{max-width:410px;gap:0 22px}.lesson .image-item{gap:0;padding:8px 0 12px;background:none;border:0;border-bottom:1px solid var(--edge);border-radius:0;box-shadow:none}.lesson .image-placeholder{width:130px;height:110px}.lesson .image-word{font-size:22px}.lesson .word-listen.is-speaking{outline-offset:2px;background:var(--hero-soft)}.lesson .word-listen-hint{margin:14px 0 0}.lesson .letter-actions{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;padding-top:14px}.lesson .letter-actions .play-btn{background:none;box-shadow:none}.lesson .letter-actions .continue-btn{width:100%;max-width:340px}.lesson .trace-svg{width:min(320px,100%);height:auto;aspect-ratio:1;background:var(--card);border:1px solid var(--edge);border-radius:4px 11px 8px 4px;box-shadow:6px 6px #e4d7be;background-image:repeating-linear-gradient(to bottom,transparent 0 63px,#e1d8c7 63px 64px)}.lesson .trace-svg .guide{stroke:#e4d7be}.lesson .trace-svg .guide-dash{stroke:#9c8c70}.lesson .trace-svg .start{fill:var(--moss)}.lesson .trace-progress,.lesson .hold-progress{width:min(300px,100%);height:7px;border-radius:2px}.lesson .trace-fill,.lesson .hold-fill{border-radius:2px;background:var(--moss)}.lesson .items-grid{width:100%;max-width:390px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.lesson .letter-find-picture .item{border:0;border-bottom:2px solid var(--edge);border-radius:5px;background:var(--card);padding:14px 8px 12px;min-height:142px}.lesson .item-image{width:100px;height:92px}.lesson .item-word{font-size:22px}.lesson .find-response{font-size:18px;line-height:1.45}.lesson .letter-search-model strong{font-size:76px}.lesson .letter-search-model>span{font-size:15px}.lesson .letter-find-among-letters .items-grid,.lesson .items-grid.letters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lesson .letter-find-among-letters .item{min-width:0;min-height:72px;font:40px var(--reading)}.lesson .items-grid.mixed{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.lesson .items-grid.mixed .item{min-width:0;min-height:76px;font:36px var(--reading)}.lesson .letter-find-picture .item.correct:disabled{background:#e1e7d2;color:var(--ink);border-color:var(--moss)}.lesson .letter-table table{border-spacing:7px}.lesson .letter-table td{width:66px;height:70px;border:1px solid var(--edge);border-radius:6px;box-shadow:0 3px #dacbad;font:36px var(--reading)}.lesson .sound-text{max-width:100%;font-size:clamp(40px,11vw,64px);text-align:center;padding:22px 0;color:var(--hero-deep)}.lesson .hold-btn{width:164px;height:142px;border-radius:40% 45% 36% 42%;font-size:18px}.lesson .star-container{width:290px;height:290px;margin:18px 0}.lesson .star-center{width:100px;height:100px;border-radius:40% 45% 42% 36%;background:var(--hero);box-shadow:0 4px 0 var(--hero-deep)}.lesson .ray-letter{width:76px;height:76px;border:1px solid var(--edge);border-radius:38% 46% 40% 28%;background:var(--card);box-shadow:0 3px #dacbad}.lesson .syllable-table{overflow-x:auto;max-width:100%}.lesson .syllable-table table{border-spacing:5px}.lesson .syllable-table :is(td,th){min-width:54px;height:64px;font-size:26px;border-radius:4px;border:1px solid var(--edge);box-shadow:none}.lesson .syllable-table th{background:var(--hero-soft);color:var(--hero-deep)}.lesson .build-area{flex-wrap:wrap;justify-content:center;gap:14px}.lesson .slot{width:92px;height:100px;border:0;border-bottom:3px solid var(--hero);border-radius:8px 8px 2px 2px;background:#e4d7be}.lesson .slot.filled{border:0;border-bottom:3px solid var(--moss);background:var(--card)}.lesson .letter-buttons{gap:14px}.lesson .letter-buttons .letter-btn{width:82px;height:82px;font-size:42px}.lesson .fusion-letters,.lesson .fusion-animation{font-size:76px;max-width:100%}.lesson .find-target{align-self:stretch;border-bottom:1px solid var(--edge);padding-bottom:22px}.lesson .find-syllable{background:none;box-shadow:none;font-size:80px;color:var(--hero-deep)}.lesson .find-options{gap:16px;max-width:340px}.lesson .match-columns{max-width:390px;gap:28px}.lesson .words-column,.lesson .images-column{gap:14px}.lesson .match-item{position:relative;min-height:116px}.lesson .match-item.word{font-size:28px}.lesson .match-item.image{background:none;border:0;border-bottom:1px solid var(--edge);border-radius:0;box-shadow:none}.lesson .match-item.image .word-image{width:104px;height:104px}.lesson .match-item.connected{opacity:1;background:#e1e7d2;border-color:var(--moss)}.lesson .tower-clue{display:flex;align-items:center;gap:16px;width:100%;max-width:340px;padding-bottom:14px;border-bottom:1px solid var(--edge);font-size:21px}.lesson .tower-clue .word-image{width:84px;height:84px}.lesson .tower-clue small{display:block;font-size:15px;color:var(--ink-soft);margin-bottom:4px}.lesson .tower-stack{min-height:190px;width:100%;max-width:340px;border-bottom:4px solid #b6a080;padding-bottom:8px}.lesson .tower-block{width:170px;height:66px;border-radius:5px 8px 4px 6px;background:#b27e3d;box-shadow:0 4px #8b6030}.lesson .tower-block.stressed{background:#916534}.lesson .tower-slot{width:170px;height:66px;border-radius:4px;background:#e6dbc6;border:2px dashed #b6a080}.lesson .tower-blocks{flex-wrap:wrap;justify-content:center;gap:16px}.lesson .tower-brick{width:120px;height:80px;font-size:38px}.lesson .tower-salute{border-radius:8px;color:var(--ink);background:#e8d79e}.lesson .word-card{min-width:0;width:100%;max-width:340px;background:var(--card);box-shadow:6px 6px #e4d7be;border:1px solid var(--edge);border-radius:5px 12px 4px 8px;padding:28px 20px}.lesson .word-math .equation{font-size:clamp(24px,7vw,36px);flex-wrap:wrap;text-align:center}.lesson .word-math .answer-area{display:flex;align-items:center;gap:16px}.lesson .word-math input{width:210px;text-align:center}.lesson :is(.sentence,.story-text,.question,.word-template,.phrase-card,.subject,.verb,.twister-text,.sentence-item .text){font-family:var(--reading)}.lesson .sentence{margin:12px 0;font-size:26px;line-height:1.65;text-align:left}.lesson .blank{min-width:80px;border-radius:3px;border-bottom:2px solid var(--hero);padding:2px 10px;background:var(--paper-deep)}.lesson .options-row{gap:14px}.lesson .option-btn{min-height:60px;padding:12px 20px;font:24px var(--reading)}.lesson .option-card{min-width:120px;min-height:130px;padding:14px;gap:8px;font:23px var(--reading)}.lesson .option-card .word-image{width:96px;height:90px}.lesson .options-column{max-width:340px;gap:14px}.lesson .sentence-item{padding:12px;border:0;border-bottom:1px solid var(--edge);background:var(--card);border-radius:4px;gap:12px}.lesson .sentence-item .text{font-size:22px;line-height:1.5}.lesson .sentence-item .number{border-radius:4px;flex-shrink:0}.lesson .sentence-item .arrows button{min-width:44px;min-height:44px;font-size:19px}.lesson .sentence-build .build-area{width:100%;min-width:0;padding:20px;min-height:110px;border-radius:4px;border-bottom:2px solid var(--hero);font:26px/1.5 var(--reading)}.lesson .word-btn{min-height:60px;font:23px var(--reading);padding:10px 18px}.lesson .phrase-card{flex-wrap:wrap;justify-content:center;gap:10px;font-size:30px}.lesson .image-preview{width:200px;height:160px}.lesson .story-read{padding:24px 20px!important;background:var(--card);border:1px solid var(--edge);border-radius:4px 12px 5px 4px;box-shadow:6px 6px #e4d7be}.lesson .story-title{align-self:flex-start;color:var(--hero-deep);font-size:28px;line-height:1.25}.lesson .story-image{width:100%;max-width:300px;height:180px}.lesson .story-text{font-size:24px;line-height:1.9;text-align:left}.lesson .story-text .word{display:inline;font:inherit;padding:1px 2px;border-radius:3px}.lesson .story-text .word:disabled{cursor:default;opacity:1}.lesson .mode-buttons{flex-wrap:wrap;justify-content:center;gap:12px}.lesson .mode-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:12px 18px;border-radius:8px;font-size:18px}.lesson .mode-btn:last-child{background:var(--paper-deep);color:var(--ink)}.lesson .story-ref{display:none}.lesson .question{font-size:26px;line-height:1.5;text-wrap:balance}.lesson .grid{padding:8px;background:var(--card);border:1px solid var(--edge);border-radius:5px;max-width:100%}.lesson .grid-row{gap:3px}.lesson .grid-cell{width:clamp(30px,8.3vw,46px);height:clamp(38px,10vw,50px);font:24px var(--reading);border:0;border-bottom:1px solid var(--edge)}.lesson .words-to-find{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font:22px var(--reading)}.lesson .words-to-find span{border-bottom:2px solid var(--edge)}.lesson .puzzle-lines .match-columns{gap:24px}.lesson .puzzle-lines .item{min-height:64px;padding:14px;font:22px var(--reading);border-radius:7px}.lesson .cipher-code{padding:20px;width:100%;justify-content:center;background:var(--card);border-bottom:2px solid var(--edge);font-size:38px;flex-wrap:wrap}.lesson .puzzle-coloring .text{font:24px/1.6 var(--reading);text-align:left}.lesson .color-item{min-height:80px;padding:14px 20px;border-radius:7px;background:var(--card);border:1px solid var(--edge);gap:8px}.lesson .element-name{font:24px var(--reading)}.lesson .element-color{font-size:17px}.lesson .puzzle-syllable .build-area{min-width:0;max-width:100%;background:#e4d7be;border-radius:4px;border:0;border-bottom:3px solid var(--hero)}.lesson .puzzle-anagram .build-area{width:100%;min-height:90px;padding:14px;border-bottom:3px solid var(--hero);font:40px var(--reading)}.lesson .hint-text{font-size:18px}.lesson .number-badge{width:48px;height:54px;border-radius:5px;font:25px var(--reading)}.lesson .numbers-row{flex-wrap:wrap;justify-content:center}.lesson .alphabet-hint{gap:10px;max-width:350px;font:20px var(--reading)}.lesson .alphabet-letter small{font:12px var(--ui)}.lesson .twister-text{font-size:28px;line-height:1.75;text-align:left;padding:20px;border-left:3px solid var(--hero);background:var(--card)}.lesson .vowel-duet{padding-top:0!important}@media(max-height:740px){.lesson .letter-discovery{min-height:160px}.lesson .letter-host{height:160px;width:44%}.lesson .image-placeholder{width:112px;height:88px}.lesson .letter-discovery-hint{margin:12px 0 6px}.lesson .letter-actions{padding-top:10px;gap:6px}}@media(min-width:900px){#root:has(.lesson){max-width:920px}.lesson .lesson-header{padding-inline:32px}.lesson .exercise-container{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:auto 1fr;align-content:start;align-items:start;gap:24px 36px;padding:0 32px 80px}.lesson .part-progress{grid-column:1 / -1}.lesson .tomik-says{flex-direction:column;align-items:flex-start;padding-top:24px}.lesson .tomik-says-face{width:88px;height:88px}.lesson .tomik-says-bubble{padding:0;border:0;font-size:23px}.lesson .exercise-container>:last-child{grid-column:2;min-height:510px}.lesson .exercise-container>:is(.letter-intro,.vowel-duet){grid-column:1 / -1;width:100%;max-width:560px;margin:0 auto}.lesson .letter-discovery{width:100%;border-radius:8px}.lesson .letter-images{max-width:460px}}.lesson .letters-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;max-width:390px;gap:12px}.lesson .letters-grid .letter-btn{min-width:0;width:100%;height:76px;font-size:40px}.lesson .letter-btn.found{background:var(--moss);color:#fffaf0;border-color:var(--moss)}.lesson .big-letter{position:relative;padding-bottom:27px}.lesson .big-letter-speaker{position:absolute;bottom:7px;left:calc(50% - 10px);color:var(--ink-soft)}.lesson .word-listen-hint:empty{display:none}@media(max-height:740px){.lesson .letter-discovery{min-height:120px}.lesson .letter-host{height:120px;width:44%}.lesson .big-letter{font-size:68px;padding:6px 16px 24px}.lesson .big-letter .lower{font-size:50px}.lesson .image-placeholder{height:78px}}.lesson .tower-stack{min-height:236px;padding:16px;border-bottom:4px solid #9a8059;border-radius:10px 15px 3px 3px;background:url(/images/map/segment_01-polished.webp) center 49% / cover}.lesson .tower-slot{background:#fff8e9e8;border-color:#9a8059}.lesson .find-response:empty{display:none}@media(max-height:740px){.lesson .letter-find-picture .item{min-height:118px;padding:8px 6px}.lesson .letter-find-picture .item-image{height:70px;width:84px}.lesson .letter-find-picture .item-word{font-size:20px}}.lesson-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:calc(100vh - 130px);padding:0 20px 20px;box-sizing:border-box}.hero-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:232px;width:100%}.hero-stage:after{content:"";position:absolute;bottom:6px;width:210px;height:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(58,46,38,.22) 0%,transparent 72%)}.hero-stage:before{content:"";position:absolute;bottom:4px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,var(--hero-soft) 0%,transparent 68%)}.hero-guide{position:relative;width:104px;height:104px;object-fit:contain;transform:translate(14px);z-index:1}.hero-owner{position:relative;width:206px;height:206px;object-fit:contain;transform-origin:bottom center;animation:hero-rises .7s cubic-bezier(.22,1.2,.36,1) both}@keyframes hero-rises{0%{transform:translateY(28px) scale(.7);opacity:0}to{transform:none;opacity:1}}.hero-name{margin:6px 0 2px;font-size:30px;color:var(--hero)}.hero-line{margin:0;font-size:19px;color:var(--ink-soft);text-align:center;max-width:22ch}.hero-letter{margin:10px 0 18px;font-size:116px;line-height:1;color:var(--hero);animation:letter-appears .5s .42s ease-out both}@keyframes letter-appears{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:none}}.hero-next{margin-top:10px;padding:16px 42px;border:none;border-radius:999px;background:var(--hero);color:#fff;font-family:var(--ui);font-size:20px;box-shadow:0 4px #00000029;transition:transform .12s,box-shadow .12s}.hero-next:active{transform:translateY(3px);box-shadow:0 1px #00000029}@media(prefers-reduced-motion:reduce){.hero-owner,.hero-letter{animation:none}}.agunya{display:block;position:relative;width:206px;aspect-ratio:700 / 650;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.agunya canvas,.agunya img{display:block;width:100%;height:100%;object-fit:contain}.agunya img{position:absolute;inset:0}.agunya:hover,.agunya:active{transform:none;background:transparent;box-shadow:none}.agunya:focus-visible{outline:3px solid var(--hero, #d8402a);outline-offset:3px;border-radius:20px}.agunya[data-singing=true]{filter:drop-shadow(0 1px 3px #ffd77a70)}.map-point .agunya{position:absolute;width:30cqw;left:10cqw;top:-20cqw;z-index:1}.hero-stage .agunya{flex:0 1 220px;z-index:1}.agunya-hint{margin:4px 0 8px;color:var(--ink-soft);font-size:14px;text-align:center}.lesson-ladder{display:flex;align-items:center;gap:4px;flex:1;padding:0 10px}.ladder-step{flex:1;height:10px;border-radius:999px;background:var(--paper-deep);display:flex;align-items:center;justify-content:center;font-size:0;transition:background .25s}.ladder-step.done{background:var(--hero)}.ladder-step.current{background:var(--hero);animation:ladder-breathes 1.8s ease-in-out infinite}@keyframes ladder-breathes{0%,to{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.ladder-step.current{animation:none}}.big-letter{display:flex;align-items:baseline;gap:14px;color:var(--hero);font-size:128px;line-height:1;cursor:pointer}.big-letter .lower{font-size:96px;opacity:.8}.letter-images{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:330px}.image-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px 10px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-card)}.image-placeholder{display:flex;align-items:center;justify-content:center;width:92px;height:92px}.word-image{width:100%;height:100%;object-fit:contain}.word-image.fallback{display:flex;align-items:center;justify-content:center;font-size:56px}.image-word{font-size:19px;color:var(--ink)}.word-listen{position:relative;cursor:pointer;color:var(--ink);border:1px solid var(--paper-deep);font-family:var(--reading)}.word-listen .image-word{display:flex;align-items:center;gap:6px}.lesson .word-listen.is-speaking{outline:3px solid var(--hero);outline-offset:-3px;background:var(--hero-soft)}.word-listen:active{transform:scale(.97)}.word-listen-hint{min-height:1.5em;margin:10px 16px 0;font:14px var(--ui);text-align:center;color:var(--ink-soft)}.lesson .exercise-container>.letter-find-among-pictures{justify-content:flex-start;gap:18px;padding-top:16px}.letter-search-model{text-align:center}.letter-search-model>span{display:block;font-size:16px;color:var(--ink-soft)}.letter-search-model strong{display:block;font:86px/1.2 var(--reading);color:var(--hero)}.letter-search-model p{margin:4px 0;font-size:20px}.letter-find-among-pictures .items-grid.mixed{grid-template-columns:repeat(4,minmax(0,1fr));max-width:390px;gap:10px}.letter-find-among-pictures .items-grid.mixed .item{position:relative;min-height:80px;padding:8px;font:36px var(--reading)}.letter-find-among-pictures .word-image{width:56px;height:56px}.letter-find-among-pictures .item.found:disabled{background:var(--ok);color:#fff;opacity:1}.letter-find-among-pictures .item.wrong{box-shadow:inset 0 0 0 3px var(--oops)}.letter-find-among-pictures .item>svg{position:absolute;top:4px;right:4px}.letter-intro .play-btn,.letter-intro .continue-btn{min-width:220px}.trace-svg{width:min(300px,78vw);height:min(300px,78vw);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-card);touch-action:none}.trace-svg .guide{stroke:var(--paper-deep)}.trace-svg .guide-dash{stroke:var(--ink-soft)}.trace-svg .drawn{stroke:var(--hero)}.trace-svg .start{fill:var(--ok)}.pulse-dot{animation:pulse-dot 1.2s ease-in-out infinite;transform-origin:center;transform-box:fill-box}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.trace-progress,.hold-progress{width:min(300px,78vw);height:12px;border-radius:var(--r-pill);background:var(--paper-deep);overflow:hidden}.trace-fill,.hold-fill{height:100%;background:var(--hero);border-radius:var(--r-pill);transition:width .15s}.letter-sound-hold .context{display:none}.sound-text{color:var(--hero);font-size:60px;line-height:1}.hold-btn{width:150px;height:150px;padding:0;border-radius:50%;flex-direction:column;gap:6px;font-size:18px;transition:transform .2s,box-shadow .2s}.hold-btn.holding{transform:scale(1.12);box-shadow:0 0 0 14px var(--hero-soft)}.hold-btn svg{width:40px;height:40px}.letter-table table{border-collapse:separate;border-spacing:8px}.letter-table td{width:64px;height:64px;text-align:center;border-radius:var(--r-chip);background:var(--card);box-shadow:var(--shadow-card);font-family:var(--reading);font-size:30px;cursor:pointer}.letter-table td.clicked{background:var(--ok);color:#fff;box-shadow:none}.items-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:340px}.items-grid .item{flex-direction:column;gap:6px;padding:10px 6px 8px;min-height:128px;cursor:pointer}.item-image{display:flex;align-items:center;justify-content:center;width:80px;height:80px}.item-word{font-size:18px}.letter-find-picture .item{position:relative;border:0}.letter-find-picture .item.correct:disabled{opacity:1;background:var(--ok);color:var(--card)}.letter-find-picture .item.wrong{opacity:1;background:var(--oops-soft);box-shadow:inset 0 0 0 3px var(--oops);animation:tile-shake .35s}.answer-mark{position:absolute;right:10px;top:10px;width:22px;height:22px}.find-response{min-height:2.6em;margin:0;max-width:340px;font-family:var(--ui);font-size:16px;text-align:center}.find-response.success{color:var(--ok)}.find-response.retry{color:var(--oops)}@media(prefers-reduced-motion:reduce){.letter-find-picture .item.wrong{animation:none}}.items-grid.mixed{grid-template-columns:repeat(4,1fr);gap:10px;max-width:340px}.items-grid.mixed .item{min-height:72px;padding:0;font-size:34px}.letters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:320px}.letters-grid .letter-btn{min-height:92px;font-size:46px}.letters-grid .letter-btn.shake{animation:tile-shake .4s}.star-container{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center}.star-center{display:flex;align-items:center;justify-content:center;width:104px;height:104px;border-radius:50%;background:var(--hero);color:#fff;font-size:54px;box-shadow:0 5px 0 var(--hero-deep);z-index:1}.star-ray{position:absolute;display:flex;align-items:center;justify-content:center;width:76px;height:76px;cursor:pointer}.ray-line{display:none}.ray-letter{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--card);box-shadow:var(--shadow-card),inset 0 -4px #3a2e2612;font-size:40px;transition:background .15s,color .15s}.star-ray.clicked .ray-letter{background:var(--ok);color:#fff;box-shadow:none}.fusion-letters,.fusion-animation{display:flex;align-items:center;gap:18px;font-size:84px;line-height:1;color:var(--ink)}.fusion-consonant,.letter-left{color:var(--hero)}.fusion-plus{font-size:44px;color:var(--ink-soft)}.fusion-animation{position:relative;width:300px;justify-content:space-between}.flying-object{position:absolute;left:20%;font-size:48px;animation:fly 2s ease-in-out forwards}@keyframes fly{0%{left:15%}to{left:70%}}.fusion-animation .letter-left{animation:slide-right 2s ease-in-out forwards}.fusion-animation .letter-right{animation:slide-left 2s ease-in-out forwards}@keyframes slide-right{to{transform:translate(60px)}}@keyframes slide-left{to{transform:translate(-60px)}}.fusion-result .syllable-big{display:flex;align-items:center;justify-content:center;min-width:200px;padding:18px 40px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-float);color:var(--hero);font-size:92px;line-height:1;animation:feedback-pops .4s cubic-bezier(.2,1.4,.4,1) both}.syllable-table table{border-collapse:separate;border-spacing:6px}.syllable-table td,.syllable-table th{width:60px;height:60px;text-align:center;border-radius:var(--r-chip);background:var(--card);box-shadow:var(--shadow-card);font-family:var(--reading);font-size:24px}.syllable-table th{background:var(--hero-soft);color:var(--hero);box-shadow:none}.syllable-table td.clicked{background:var(--ok);color:#fff;box-shadow:none}.build-area{display:flex;gap:12px;font-size:56px;line-height:1}.slot{display:flex;align-items:center;justify-content:center;width:88px;height:96px;border-radius:var(--r-card);border:3px dashed color-mix(in srgb,var(--hero),transparent 50%);color:transparent;background:var(--hero-soft);transition:background .15s}.slot.filled{color:var(--ink);background:var(--card);border-style:solid;border-color:var(--paper-deep)}.slot.correct{color:var(--hero)}.letter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.letter-buttons .letter-btn{width:84px;height:84px;font-size:44px}.find-target{display:flex;flex-direction:column;align-items:center;gap:6px}.find-label{font-size:18px;color:var(--ink-soft)}.find-syllable{display:flex;align-items:center;justify-content:center;min-width:180px;padding:10px 30px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-float);color:var(--hero);font-size:80px;line-height:1}.find-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%;max-width:300px}.find-option{min-height:88px;font-size:42px}.duet-scene{display:none}.duet-path{display:flex;align-items:center;gap:0}.duet-letter{width:116px;height:116px;border-radius:50%;font-size:60px;color:var(--ink-soft);background:var(--card);box-shadow:var(--shadow-card),inset 0 -4px #3a2e2612;transition:transform .15s,background .15s,color .15s,box-shadow .15s}.duet-letter.active{color:var(--hero);box-shadow:0 0 0 5px var(--hero),var(--shadow-card);animation:duet-calls 1.6s ease-in-out infinite}.duet-letter.done{background:var(--ok);color:#fff;box-shadow:none}.duet-letter:active:not(:disabled){transform:scale(.94)}@keyframes duet-calls{0%,to{box-shadow:0 0 0 5px var(--hero),var(--shadow-card)}50%{box-shadow:0 0 0 12px var(--hero-soft),var(--shadow-card)}}.duet-track{width:60px;height:10px;background:var(--paper-deep);border-radius:var(--r-pill);transition:background .3s}.duet-track.lit{background:var(--ok)}.duet-result{min-height:80px;font-size:72px;line-height:1;color:var(--hero)}.syllable-card{display:flex;flex-direction:column;align-items:center;gap:12px}.big-text{font-size:84px;line-height:1;color:var(--hero)}@media(prefers-reduced-motion:reduce){.duet-letter.active,.fusion-result .syllable-big{animation:none}}.exercise-container>.vowel-duet{max-width:520px;margin:0 auto;justify-content:flex-start;gap:16px}.duet-story{position:relative;isolation:isolate;width:100%;min-height:270px;overflow:hidden;border-radius:48% 45% 12px 12px/12px 16px 12px 12px;background:#e8ddbd;color:#3c432c}.duet-illustration{position:absolute;z-index:-1;inset:0;width:100%;height:100%;object-fit:cover}.duet-story-forest .duet-illustration{object-position:50% 54%}.duet-story-heading{position:relative;padding:20px 20px 0}.duet-eyebrow{display:block;font-size:14px;margin-bottom:6px}.duet-story h2{font-size:clamp(25px,6vw,32px);font-weight:400;line-height:1.15;margin:0;max-width:220px;text-wrap:balance}.duet-story-forest .duet-story-heading{text-align:center}.duet-story-forest h2{max-width:none}.duet-story-nursery{color:#5d402b}.duet-story-nursery .duet-story-heading{max-width:52%}.duet-story-nursery h2{font-size:clamp(24px,5.7vw,30px)}.duet-listen{position:absolute;left:22px;bottom:55px;display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:0 17px;border-radius:14px 18px 16px 12px;background:#fff6e8;color:#3c432c;font-size:18px;box-shadow:0 3px #b8a076}.duet-story-forest .duet-listen{left:50%;transform:translate(-50%)}.duet-scene-caption{position:absolute;bottom:0;inset-inline:0;padding:9px 12px;text-align:center;background:#fff6e8e8;color:var(--ink);font-size:17px}.duet-story-listen{background:#e3e9dd;color:#3c544b;text-align:center}.duet-story-listen h2{max-width:none}.duet-story-listen .duet-listen{left:50%;transform:translate(-50%);background:#3c6459;color:#fff6e8;box-shadow:0 3px #28493f}.duet-sound-waves{display:flex;align-items:center;justify-content:center;gap:10px;height:68px;margin-top:13px}.duet-sound-waves i{display:block;width:9px;height:20px;border-radius:8px;background:#839f8d}.duet-sound-waves i:nth-child(2n){height:42px}.duet-sound-waves i:nth-child(3n){height:60px}.duet-prompt{font-size:23px;line-height:1.35;text-align:center;margin:0;min-height:32px;text-wrap:balance}.vowel-duet .duet-path{gap:16px;justify-content:center;width:100%;padding:2px 0 6px}.duet-stop{display:flex;flex-direction:column;gap:10px;align-items:center}.duet-number{width:25px;height:25px;display:grid;place-items:center;font-size:17px;color:var(--ink-soft)}.vowel-duet .duet-letter{width:clamp(94px,25vw,112px);height:clamp(94px,25vw,112px);font-size:62px;border-radius:19px 17px 20px 16px;border:2px solid #ddccb0;background:#fffaf0;box-shadow:0 5px #ddccb0;color:var(--ink);font-family:var(--reading)}.vowel-duet .duet-letter.active{animation:none;outline:3px solid #476d59;outline-offset:4px;color:#355140}.vowel-duet .duet-letter.waiting{background:#efe6d7;box-shadow:0 5px #ddccb0;color:#938572}.vowel-duet .duet-letter.done{background:#476d59;color:#fffaf0;border-color:#476d59;box-shadow:0 5px #2d4f3e}.duet-direction{color:#857456;margin-top:35px;flex-shrink:0}.duet-options{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;padding-bottom:6px}.duet-option{min-width:120px;min-height:96px;padding:10px 20px;border-radius:18px 15px 20px 17px;border:2px solid #ddccb0;background:#fffaf0;color:var(--ink);box-shadow:0 5px #ddccb0;font-family:var(--reading);font-size:46px}.duet-option.correct{background:#476d59;color:#fffaf0;border-color:#476d59;box-shadow:0 5px #2d4f3e}.duet-option.wrong{background:var(--oops-soft);box-shadow:0 5px 0 var(--oops)}.duet-option:disabled:not(.correct):not(.wrong){opacity:.5}.duet-slots{display:flex;align-items:center;justify-content:center;gap:14px}.duet-slots span{width:60px;height:66px;display:grid;place-items:center;border-radius:12px;border-bottom:3px solid #b7a586;font-family:var(--reading);font-size:36px;color:#99876a}.duet-slots .current{background:#eee4d2;border-color:#476d59}.duet-slots .filled{color:#355140;background:#e3e9dd}.vowel-duet .duet-result{min-height:48px;font-size:46px;color:#355140}.vowel-duet button:focus-visible{outline:3px solid #355140;outline-offset:5px}.duet-option:active:not(:disabled){translate:0 3px;box-shadow:0 2px #ddccb0}@media(min-width:600px)and (min-height:800px){.duet-story{min-height:330px}}@media(max-height:740px){.exercise-container>.vowel-duet{gap:12px}.duet-story{min-height:220px}.duet-story-heading{padding-top:14px}.duet-prompt{font-size:21px}.duet-sound-waves{height:45px;margin-top:8px}.duet-sound-waves i:nth-child(3n){height:42px}}.match-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:340px}.words-column,.images-column{display:flex;flex-direction:column;gap:12px}.match-item{min-height:136px;cursor:pointer}.match-item.word{font-size:30px;line-height:1.15;text-align:center;padding:8px}.match-item.image{padding:10px}.match-item.image .word-image{width:118px;height:118px}.match-item.image .word-image.fallback{font-size:60px}.match-item.connected{opacity:.55}.word-math .equation{display:flex;align-items:center;gap:10px;font-family:var(--reading);font-size:36px}.word-math .answer-input{max-width:200px;text-align:center}.tower-stack{display:flex;flex-direction:column-reverse;align-items:center;gap:6px;min-height:170px;justify-content:flex-start}.tower-block{position:relative;display:flex;align-items:center;justify-content:center;width:180px;height:70px;border-radius:var(--r-chip);background:var(--hero);color:#fff;font-size:40px;box-shadow:0 5px 0 var(--hero-deep);animation:block-lands .3s cubic-bezier(.2,1.4,.4,1) both}.tower-block.stressed{background:var(--hero-deep)}.tower-peak{position:absolute;top:-22px;font-size:18px;color:var(--gold)}.tower-slot{width:180px;height:70px;border-radius:var(--r-chip);border:3px dashed color-mix(in srgb,var(--hero),transparent 50%);background:var(--hero-soft)}.tower-stack.shake{animation:tile-shake .4s}.tower-blocks{display:flex;gap:14px}.tower-brick{width:130px;height:84px;font-size:40px}.tower-word{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--hero);font-size:56px;line-height:1}.tower-salute{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border-radius:var(--r-pill);background:var(--gold);color:#fff;font-family:var(--ui);font-size:20px}@keyframes block-lands{0%{transform:translateY(-30px);opacity:0}to{transform:none;opacity:1}}.word-card{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:260px;padding:28px 36px;border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-float)}.word-card .big-text{font-size:80px;line-height:1;color:var(--hero)}.word-card .syllables{font-size:28px;color:var(--ink-soft)}@media(prefers-reduced-motion:reduce){.tower-block{animation:none}}.sentence-picture,.sentence-preposition,.sentence-ending{display:flex;flex-direction:column;align-items:center;gap:20px}.sentence{font-size:20px;text-align:center;line-height:1.6}.blank{display:inline-block;min-width:80px;padding:5px 15px;background:var(--paper-deep);border-radius:5px;font-weight:400}.blank.correct{background:#4caf504d}.blank.wrong{background:#f443364d}.options-row{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.option-card{display:flex;flex-direction:column;align-items:center;padding:15px;background:var(--card);border:2px solid var(--paper-deep);border-radius:15px;cursor:pointer;transition:all .2s}.option-card:hover{border-color:var(--hero)}.option-card.correct{border-color:var(--ok);background:#4caf5033}.option-card.wrong{border-color:var(--oops);opacity:.5}.option-btn{padding:12px 25px;font-size:16px;background:var(--card);border:2px solid var(--paper-deep);border-radius:10px;cursor:pointer;transition:all .2s}.option-btn:hover:not(:disabled){border-color:var(--hero);background:var(--hero-soft)}.option-btn.correct{border-color:var(--ok);background:#4caf5033}.option-btn.wrong{border-color:var(--oops);background:#f4433633}.sentence-order{display:flex;flex-direction:column;gap:15px}.sentences-list{display:flex;flex-direction:column;gap:10px}.sentence-item{display:flex;align-items:center;gap:10px;padding:10px;background:var(--card);border:1px solid var(--paper-deep);border-radius:10px}.sentence-item .number{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--hero);color:#fff;border-radius:50%;font-weight:400}.sentence-item .text{flex:1;font-size:14px}.sentence-item .arrows{display:flex;flex-direction:column;gap:2px}.sentence-item .arrows button{padding:2px 8px;font-size:12px;border:1px solid var(--paper-deep);border-radius:5px;background:var(--card);cursor:pointer}.sentence-build{display:flex;flex-direction:column;align-items:center;gap:20px}.sentence-build .build-area{padding:20px 30px;min-height:60px;min-width:200px;background:var(--paper-deep);border-radius:10px;font-size:18px;text-align:center}.word-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.word-btn{padding:10px 20px;font-size:16px;background:var(--card);border:2px solid var(--paper-deep);border-radius:10px;cursor:pointer}.word-btn.used{opacity:.3;cursor:not-allowed}.word-template{font-size:36px;font-weight:400}.ending{color:var(--hero)}.ending.correct{color:var(--ok)}.ending.wrong{color:var(--oops)}.sentence-adjective{display:flex;flex-direction:column;align-items:center;gap:20px}.phrase-card{display:flex;gap:15px;font-size:28px;font-weight:400}.adjective,.noun{color:var(--hero)}.sentence-who-does,.sentence-verb-place{display:flex;flex-direction:column;align-items:center;gap:20px}.subject,.verb{font-size:28px;font-weight:400;color:var(--hero)}.options-column{display:flex;flex-direction:column;gap:10px;width:100%;max-width:250px}.options-column .option-btn{width:100%}.story-read{display:flex;flex-direction:column;align-items:center;gap:20px}.story-title{font-size:24px;color:var(--hero)}.story-image{font-size:60px}.story-text{font-size:18px;line-height:2;text-align:center}.story-text .word{cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .2s}.story-text .word.highlight{background:var(--hero);color:#fff}.mode-buttons{display:flex;gap:15px}.mode-btn{padding:15px 25px;font-size:16px;background:var(--hero);color:#fff;border:none;border-radius:20px;cursor:pointer}.mode-btn:last-child{background:var(--hero)}.finish-btn{padding:12px 30px;font-size:16px;background:var(--ok);color:#fff;border:none;border-radius:20px;cursor:pointer}.story-questions{display:flex;flex-direction:column;align-items:center;gap:20px}.story-ref{font-size:14px;color:var(--ink-soft)}.question{font-size:20px;font-weight:400;text-align:center}.puzzle-wordsearch{display:flex;flex-direction:column;align-items:center;gap:15px}.words-to-find{font-size:16px}.words-to-find .found{text-decoration:line-through;color:var(--ok)}.grid{display:flex;flex-direction:column;gap:2px}.grid-row{display:flex;gap:2px}.grid-cell{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:400;background:var(--card);border:1px solid var(--paper-deep);cursor:pointer}.grid-cell.selected{background:var(--hero);color:#fff}.puzzle-lines .match-columns{display:flex;justify-content:space-between;gap:50px}.puzzle-lines .words-column,.puzzle-lines .images-column{display:flex;flex-direction:column;gap:15px}.puzzle-lines .item{padding:15px 25px;background:var(--card);border:2px solid var(--paper-deep);border-radius:10px;cursor:pointer;font-size:18px}.puzzle-lines .item.selected{border-color:var(--hero);background:var(--hero-soft)}.puzzle-lines .item.image{font-size:30px}.puzzle-cipher{display:flex;flex-direction:column;align-items:center;gap:20px}.cipher-code{display:flex;gap:10px;font-size:40px}.puzzle-cipher input{padding:15px;font-size:24px;text-align:center;width:200px;border:2px solid var(--paper-deep);border-radius:10px}.puzzle-coloring{display:flex;flex-direction:column;align-items:center;gap:20px}.puzzle-coloring .text{font-size:18px;text-align:center}.coloring-elements{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.color-item{display:flex;flex-direction:column;align-items:center;padding:15px;background:var(--card);border:2px solid var(--paper-deep);border-radius:10px;cursor:pointer}.color-item.colored{border-color:var(--ok);background:#4caf5033}.element-name{font-weight:400}.element-color{font-size:14px;color:var(--ink-soft)}.puzzle-syllable .build-area{display:flex;align-items:center;justify-content:center;min-width:220px;min-height:96px;padding:10px 30px;border-radius:var(--r-card);border:3px dashed color-mix(in srgb,var(--hero),transparent 50%);background:var(--hero-soft);color:var(--hero);font-size:56px;line-height:1}.syllable-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.syllable-buttons .syllable-btn{min-width:120px;height:84px;font-size:40px}.puzzle-anagram{display:flex;flex-direction:column;align-items:center;gap:20px}.hint-text{font-size:14px;color:var(--ink-soft)}.puzzle-anagram .build-area{font-size:36px;font-weight:400;color:var(--hero);letter-spacing:5px}.puzzle-numbers{display:flex;flex-direction:column;align-items:center;gap:15px}.numbers-row{display:flex;gap:10px}.number-badge{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--hero);color:#fff;border-radius:50%;font-size:18px;font-weight:400}.alphabet-hint{display:flex;flex-wrap:wrap;gap:5px;font-size:12px;max-width:300px;justify-content:center}.alphabet-letter{display:flex;flex-direction:column;align-items:center}.alphabet-letter small{font-size:8px;color:var(--ink-soft)}.puzzle-numbers input{padding:15px;font-size:24px;text-align:center;width:200px;border:2px solid var(--paper-deep);border-radius:10px}.puzzle-tongue-twister{display:flex;flex-direction:column;align-items:center;gap:20px}.twister-text{font-size:24px;text-align:center;line-height:1.6;transition:all .3s}.twister-text.speed-slow{animation:none}.twister-text.speed-normal{animation:pulse 1s infinite}.twister-text.speed-fast{animation:pulse .3s infinite}.speed-indicator{font-size:30px}.speed-btn,.check-btn{padding:12px 30px;font-size:16px;background:var(--hero);color:#fff;border:none;border-radius:20px;cursor:pointer}.reset-btn{padding:8px 16px;font-size:14px;background:var(--paper-deep);border:1px solid var(--paper-deep);border-radius:15px;cursor:pointer}.feedback{padding:10px 20px;border-radius:10px;font-size:18px}.feedback.correct{background:#4caf5033;color:var(--ok)}.feedback.wrong{background:#f4433633;color:var(--oops)}.container{padding:32px 24px;text-align:center}.conflict-screen h1{font-size:28px;margin-bottom:14px}.conflict-text{margin-bottom:24px;line-height:1.5;color:var(--ink-soft)}.conflict-actions{display:flex;flex-direction:column;gap:12px}.conflict-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);border-radius:var(--r-pill);background:var(--hero);color:#fff;font-size:20px;box-shadow:0 5px 0 var(--hero-deep)}.conflict-actions button.secondary{background:var(--paper-deep);color:var(--ink);box-shadow:none}.bug-trigger{position:fixed;z-index:30;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);background:var(--paper);color:var(--ink);border:1px solid var(--ink-soft);box-shadow:var(--shadow-card);font-size:15px}.bug-dialog{width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:20px;border:0;border-radius:var(--r-card);overflow-y:auto;background:var(--paper);color:var(--ink);box-shadow:var(--shadow-float)}.bug-dialog::backdrop{background:#3a2e267a}.bug-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.bug-heading h2{font-size:23px;margin:0;font-weight:400}.bug-icon{min-width:44px;min-height:44px;display:grid;place-items:center;flex-shrink:0}.bug-stage{font-size:14px;margin:4px 0 18px}.bug-label{display:block;margin-bottom:6px}.bug-dialog textarea{display:block;width:100%;min-height:100px;padding:12px;box-sizing:border-box;border:1px solid var(--ink-soft);border-radius:var(--r-chip);font:inherit;font-size:16px;color:var(--ink);background:var(--card);resize:vertical}.bug-snapshot{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}.bug-snapshot input{width:20px;height:20px;accent-color:var(--hero-deep)}.bug-snapshot-preview{display:block;max-height:130px;max-width:100%;border:1px solid var(--paper-deep);border-radius:8px;object-fit:contain}.bug-file{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--r-chip);background:var(--paper-deep);cursor:pointer;position:relative}.bug-file input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.bug-file:focus-within,.bug-dialog :focus-visible,.bug-trigger:focus-visible{outline:3px solid var(--hero-deep);outline-offset:3px}.bug-attachments{display:flex;gap:8px;margin:8px 0}.bug-thumb{position:relative;min-width:54px;min-height:54px}.bug-thumb img{display:block;width:54px;height:54px;object-fit:cover;border-radius:8px}.bug-thumb svg{position:absolute;right:0;top:0;background:var(--paper);border-radius:50%}.bug-help{font-size:13px;line-height:1.45}.bug-error{color:var(--ink);border-left:3px solid var(--oops);padding-left:10px}.bug-sent{color:var(--ink);border-left:3px solid var(--ok);padding-left:10px}.bug-send{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 14px;border-radius:var(--r-pill);background:var(--hero-deep);color:#fff}.bug-send:disabled{opacity:.5}.bug-reports{margin-top:20px;font-size:14px}.bug-reports summary{min-height:44px;cursor:pointer;display:list-item;padding-top:10px}.bug-reports article{border-top:1px solid var(--paper-deep);padding:14px 0;overflow-wrap:anywhere}.bug-reports p{margin:8px 0}.account-trigger{position:fixed;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:30;min-height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--ink-soft);color:var(--ink);font-size:15px;box-shadow:var(--shadow-card)}.account-dialog{width:min(420px,calc(100vw - 24px));box-sizing:border-box;max-height:calc(100dvh - 32px);overflow:auto;padding:24px;background:var(--paper);color:var(--ink);border:0;border-radius:var(--r-card)}.account-dialog::backdrop{background:#3a2e267a}.account-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-heading h2{margin:0;font-size:24px;font-weight:400}.account-close{min-width:44px;min-height:44px}.account-dialog p{line-height:1.5}.account-dialog label{display:block;margin:18px 0 6px}.account-dialog select{display:block;width:100%;min-height:48px;padding:8px 12px;font:inherit;font-size:18px;border:1px solid var(--ink-soft);border-radius:var(--r-chip);color:var(--ink);background:var(--card)}.account-open{display:block;width:100%;min-height:52px;margin-top:24px;padding:10px 16px;background:var(--hero-deep);color:#fff;border-radius:var(--r-pill);font-size:18px}.account-dialog :focus-visible,.account-trigger:focus-visible{outline:3px solid var(--hero-deep);outline-offset:3px}
