:root{--bg:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#111);--hint:var(--tg-theme-hint-color,#8a8a8a);--card:var(--tg-theme-secondary-bg-color,#f1f2f5);--accent:var(--tg-theme-button-color,#2f80ed);--accent-text:var(--tg-theme-button-text-color,#fff);--ok:#22a05a;--bad:#e0453f;--ok-bg:#22a05a24;--bad-bg:#e0453f24;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:var(--tg-theme-bg-color,#17181c);--text:var(--tg-theme-text-color,#f2f2f2);--card:var(--tg-theme-secondary-bg-color,#24262c)}}:root[data-theme=dark]{--bg:var(--tg-theme-bg-color,#17181c);--text:var(--tg-theme-text-color,#f2f2f2);--card:var(--tg-theme-secondary-bg-color,#24262c)}:root[data-forced=light]{--bg:#fff;--text:#111;--hint:#8a8a8a;--card:#f1f2f5;--accent:#2f80ed;--accent-text:#fff}:root[data-forced=dark]{--bg:#17181c;--text:#f2f2f2;--hint:#8d8f96;--card:#24262c;--accent:#4c9bf5;--accent-text:#fff}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font-family:system-ui,-apple-system,sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}.screen{min-height:100dvh;padding:20px 16px calc(24px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.center{text-align:center}.center-body{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.notice{border-radius:var(--radius);background:var(--bad-bg);margin:0 0 12px;padding:12px 14px}.fallback{text-align:center;color:var(--hint);margin:0}.muted{color:var(--hint)}.small{font-size:14px}h1{margin:0 0 4px;font-size:24px}h2{margin:0 0 2px;font-size:18px}.primary,.secondary{border-radius:var(--radius);width:100%;padding:15px 16px;font-size:16px;font-weight:600}.primary{background:var(--accent);color:var(--accent-text)}.secondary{background:var(--card)}.primary:disabled{background:var(--card);color:var(--hint)}.two-line{gap:2px;display:grid}.two-line .small{opacity:.8;font-weight:500}.result-gains{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.result-gains span{background:var(--card);border-radius:999px;padding:6px 12px;font-weight:600}.passed-units{width:100%;color:var(--ok);text-align:left;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:16px;font-weight:600;display:flex}.round{background:var(--card);border-radius:50%;width:52px;height:52px;font-size:22px}.round.small{width:40px;height:40px;font-size:17px}.bar{background:var(--card);border-radius:3px;height:6px;overflow:hidden}.bar div,.bar>span{background:var(--ok);height:100%;transition:width .3s;display:block}.lesson .bar,.check .bar{background:color-mix(in srgb, var(--hint) 25%, transparent);margin-top:6px}.unit .bar{margin:6px 0}.home header .bar{margin:10px 0 6px}.home header{margin-bottom:16px}.title-row,.unit-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.lesson-row,.action-row{align-items:center;gap:8px;display:flex}.lesson-title{flex-direction:column;flex:1;display:flex}.actions{gap:10px;margin-bottom:24px;display:grid}.unit{margin-bottom:14px}.unit.open{margin-bottom:22px}.unit-head{text-align:left;background:0 0;width:100%;padding:4px 0}.unit-head>span{white-space:nowrap}.chevron{margin-left:4px;display:inline-block}.unit ul{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.lesson,.check,.scenario{border-radius:var(--radius);background:var(--card);text-align:left;flex:1;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px;display:flex}.lesson.next{outline:2px solid var(--accent)}.lesson.done span:first-child,.check.done span:first-child,.scenario.done span:first-child{opacity:.75}.catalog header{margin-bottom:16px}.catalog ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.course{border-radius:var(--radius);background:var(--card);text-align:left;align-items:flex-start;gap:14px;width:100%;padding:16px 14px;display:flex}.course.current{outline:2px solid var(--accent)}.course-icon{font-size:30px;line-height:1}.course-body{flex:1;gap:4px;min-width:0;display:grid}.course-title{font-size:17px;font-weight:600}.course-tags{gap:6px;display:flex}.level{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:8px;padding:1px 7px;font-size:12px;font-weight:600}.level.draft{background:color-mix(in srgb, var(--hint) 20%, transparent);color:var(--hint)}.course-switch{text-align:left;background:0 0;flex:1;min-width:0;padding:0}.course-switch h1{font-size:clamp(22px,6.4vw,28px)}.course-switch h1:after{content:" ▾";color:var(--hint);font-size:16px}.player{padding-top:12px}.progress{background:var(--card);border-radius:4px;height:8px;margin-bottom:20px;overflow:hidden}.progress div{background:var(--ok);height:100%;transition:width .3s}.exercise{flex-direction:column;flex:1;gap:14px;display:flex}.label{color:var(--hint);margin:0;font-size:15px;font-weight:600}.target{margin:8px 0 0;font-size:30px;line-height:1.2}.prompt{margin:8px 0 4px;font-size:24px}.translation{margin:0;font-size:20px}.intro-tr{border-top:1px solid color-mix(in srgb, var(--hint) 25%, transparent);padding-top:12px;font-size:24px;font-weight:600}.examples ul{gap:6px;margin:6px 0 0;padding-left:18px;line-height:1.35;display:grid}.note{border-radius:var(--radius);background:var(--card);margin:0;padding:12px 14px;line-height:1.45}.badge{background:var(--card);color:var(--hint);border-radius:999px;align-self:flex-start;margin:0;padding:4px 10px;font-size:14px}.speaker{align-items:center;gap:10px;display:flex}.speaker.big{justify-content:center;margin:16px 0}.speaker.big .round{width:88px;height:88px;font-size:36px}.speaker.big .round.small{width:56px;height:56px;font-size:24px}.options{gap:10px;margin-top:8px;display:grid}.options.grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.option{overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;border-radius:var(--radius);background:var(--card);text-align:left;border:2px solid #0000;padding:15px 14px;font-size:17px;transition:background .15s,border-color .15s,opacity .15s}.options.grid .option{text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:15px;display:flex}.option .icon{font-size:30px}.option.right,.option.done{background:var(--ok-bg);border-color:var(--ok)}.option.done{opacity:.7}.option.wrong{background:var(--bad-bg);border-color:var(--bad)}.option.selected{border-color:var(--accent)}.option.dim{opacity:.45}.answer-line{border-bottom:2px solid var(--card);flex-wrap:wrap;gap:8px;min-height:56px;padding:8px 0;display:flex}.tiles{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.tile{overflow-wrap:anywhere;background:var(--card);border-radius:10px;padding:10px 14px;font-size:17px}.tiles .tile:disabled{opacity:.25}.match{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.match .col{align-content:start;gap:10px;display:grid}.match .col .option{padding:13px 10px;font-size:15px}.footer{margin:16px -16px calc(-24px - env(safe-area-inset-bottom));padding:14px 16px calc(16px + env(safe-area-inset-bottom));background:var(--bg);position:sticky;bottom:0}.feedback.ok{background:linear-gradient(var(--ok-bg), var(--ok-bg)), var(--bg)}.feedback.bad{background:linear-gradient(var(--bad-bg), var(--bad-bg)), var(--bg)}.verdict{margin:0 0 4px;font-size:18px;font-weight:700}.feedback.ok .verdict{color:var(--ok)}.feedback.bad .verdict{color:var(--bad)}.solution{margin:0 0 12px}.big-emoji{margin:0;font-size:56px}.scenarios{margin-bottom:24px}.scenarios ul{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.scenario.locked{opacity:.6}.voice-brief{margin:8px 0 12px;font-size:17px;line-height:1.4}.voice.live{padding-top:12px}.voice-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.voice-state{flex:1;font-weight:600}.voice-dot{background:var(--hint);border-radius:50%;width:12px;height:12px}.voice-dot.speaking{background:var(--accent);animation:1s ease-in-out infinite pulse}.voice-dot.listening{background:var(--ok)}@keyframes pulse{50%{opacity:.6;transform:scale(1.5)}}.voice-feed{flex-direction:column;flex:1;gap:8px;padding-bottom:8px;display:flex}.bubble{text-align:left;border-radius:18px;flex-direction:column;gap:6px;max-width:85%;padding:10px 14px;font-size:17px;line-height:1.35;display:flex}.bubble.ai{background:var(--card);border-bottom-left-radius:6px;align-self:flex-start}.bubble.user{background:var(--accent);color:var(--accent-text);border-bottom-right-radius:6px;align-self:flex-end}.bubble.user:disabled{opacity:1}.bubble-hints{border-top:1px solid color-mix(in srgb, var(--hint) 35%, transparent);flex-direction:column;gap:4px;padding-top:6px;display:flex}.bubble-hints .badge{margin-left:6px}.voice-controls{align-items:center;gap:8px;display:flex}.mic{flex:none}.voice-result-head{text-align:center;margin:12px 0 20px}.voice-list{text-align:left;align-self:stretch;margin-bottom:18px}.voice-list ul{gap:4px;margin:8px 0 0;padding-left:18px;display:grid}.voice-list.bad h2{color:var(--bad)}.voice-list.ok h2{color:var(--ok)}.actions-row{gap:8px;display:flex}.actions-row .primary{flex:2}.ask{flex:1;width:auto}.check-note{margin:0 0 12px;font-size:15px}.tutor{z-index:10;background:var(--bg);flex-direction:column;padding:16px 16px 0;display:flex;position:fixed;inset:0}.tutor-head{border-bottom:1px solid var(--card);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.tutor-head .label{margin:0 0 4px}.tutor-head p{margin:4px 0 0}.tutor-feed{flex-direction:column;flex:1;gap:12px;padding:14px 0;display:flex;overflow-y:auto}.reply{white-space:pre-wrap;margin:0;line-height:1.5}.example{background:var(--card);text-align:left;overflow-wrap:anywhere;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:12px;margin:2px 0;padding:2px 10px;font-weight:600;display:inline}.example.failed{opacity:.6}.question,.thinking,.accepted{margin:0}.accepted{color:var(--ok);font-weight:600}.tutor-input{align-items:flex-end;gap:8px;margin:0 -16px;display:flex}.tutor-input textarea{background:var(--card);min-height:44px;max-height:120px;color:var(--text);font:inherit;resize:none;border:0;border-radius:22px;flex:1;padding:11px 14px}.send{background:var(--accent);width:44px;height:44px;color:var(--accent-text);flex:none}.send:disabled{opacity:.45}.cloze{flex-wrap:wrap;align-items:baseline;gap:6px 8px;display:flex}.gap{border-bottom:3px solid var(--accent);text-align:center;min-width:72px;padding:0 6px}.gap.right{color:var(--ok);border-color:var(--ok)}.gap.wrong{color:var(--bad);border-color:var(--bad)}.type-input{border:2px solid var(--card);border-radius:var(--radius);background:var(--bg);width:100%;color:var(--text);font:inherit;padding:14px 16px;font-size:19px}.type-input:focus{border-color:var(--accent);outline:none}.letters{gap:8px;display:flex}.letters .tile{flex:1;padding:10px 0}.mic-area{flex-direction:column;align-items:center;gap:10px;margin-top:16px;display:flex}.mic-button{background:var(--accent);width:96px;height:96px;color:var(--accent-text);border-radius:50%;font-size:40px}.mic-button.recording{background:var(--bad);animation:1.2s ease-out infinite ring}@keyframes ring{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--bad) 55%, transparent)}to{box-shadow:0 0 0 22px #0000}}.mic-button:disabled{opacity:.5}.test-section{gap:8px;margin-bottom:24px;display:grid}.test-section>*{margin:0}.exam-card{border-radius:var(--radius);border:1px solid color-mix(in srgb, var(--hint) 35%, transparent);padding:14px}.exam-question{margin:0;font-size:17px;font-weight:600;line-height:1.4}.exam-options{color:var(--hint);margin:8px 0 0;padding-left:22px;line-height:1.4}.check{border:1px dashed color-mix(in srgb, var(--accent) 55%, transparent)}.check.locked{opacity:.6}.unit .exam{margin-top:10px}.check>.muted{white-space:nowrap}.unit .exam .check{border-style:solid;font-weight:600}.stage{letter-spacing:.02em;text-transform:uppercase;color:var(--accent);margin:8px 0 0;font-size:13px;font-weight:600}.tabbed>.screen{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.tabbar{z-index:10;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid color-mix(in srgb, var(--hint) 22%, transparent);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--hint);background:0 0;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:12px;font-weight:600;display:flex}.tabbar button span{filter:grayscale();opacity:.7;font-size:22px;line-height:1.1}.tabbar button.on{color:var(--accent)}.tabbar button.on span{filter:none;opacity:1}.tabbar button:disabled{opacity:.5}.language{margin-bottom:22px}.catalog .language h2{margin-bottom:10px}.level.now{background:var(--ok-bg);color:var(--ok)}.catalog .course .bar{background:color-mix(in srgb, var(--hint) 25%, transparent);margin-top:4px}.profile section{margin-bottom:20px}.screen.profile h2{margin-bottom:10px}.profile-head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.profile-head h1{margin:0}.profile-head p{margin:2px 0 0}.avatar{background:var(--accent);width:56px;height:56px;color:var(--accent-text);border-radius:50%;flex:none;place-items:center;font-size:24px;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.card{border-radius:var(--radius);background:var(--card);padding:14px}.streak-num{margin:0 0 12px;font-size:20px;font-weight:700}.week{text-align:center;grid-template-columns:repeat(7,1fr);margin:0;padding:0;list-style:none;display:grid}.week li{justify-items:center;gap:4px;display:grid}.week .dot{background:color-mix(in srgb, var(--hint) 22%, transparent);border-radius:50%;width:26px;height:26px}.week li.on .dot{background:var(--ok)}.week li:last-child .small{color:var(--text);font-weight:700}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{gap:2px;padding:12px 10px;display:grid}.stat b{font-size:22px}.plain{gap:8px;margin:0;padding:0;list-style:none;display:grid}.course-mini{border-radius:var(--radius);background:var(--card);text-align:left;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.course-mini-icon{font-size:24px}.course-mini-body{flex:1;gap:6px;min-width:0;display:grid}.profile .continue .bar,.profile .course-mini .bar{background:color-mix(in srgb, var(--hint) 25%, transparent)}.setting{gap:10px;margin-bottom:8px;display:grid}.setting.row{grid-template-columns:1fr auto;align-items:center}.block{margin-top:2px;display:block}.segmented{background:color-mix(in srgb, var(--hint) 18%, transparent);border:0;border-radius:12px;grid-template-columns:1.3fr 1fr 1fr;gap:3px;margin:0;padding:3px;display:grid}.segmented button{white-space:nowrap;background:0 0;border-radius:9px;padding:8px 2px;font-size:13px}.segmented button.on{background:color-mix(in srgb, var(--bg) 70%, var(--text) 12%);font-weight:600;box-shadow:0 1px 3px #00000026}.switch{appearance:none;background:color-mix(in srgb, var(--hint) 40%, transparent);cursor:pointer;border-radius:16px;width:51px;height:31px;margin:0;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--ok)}.switch:checked:after{transform:translate(20px)}.setting .setting{margin-bottom:0}.hour-pick{justify-content:space-between;align-items:center;gap:10px;display:flex}.hour-pick select{font:inherit;color:var(--text);background:color-mix(in srgb, var(--hint) 18%, transparent);border:0;border-radius:10px;padding:6px 10px;font-size:15px}.hint-line{margin:-2px 4px 12px}.voice-group p{margin:4px 0 6px}.voices{grid-template-columns:1fr 1fr}.voices .voice{background:var(--bg);border:2px solid #0000;border-radius:12px;align-items:center;gap:6px;padding:4px 4px 4px 12px;display:flex}.voices .voice.on{border-color:var(--accent)}.voice-pick{text-align:left;background:0 0;flex:1;padding:8px 0;font-weight:600}.voices .voice .round.small{width:36px;height:36px;font-size:15px}.welcome header{margin-bottom:18px}.welcome .big-emoji{margin:0 0 6px}.goals{margin-bottom:10px}.goal{border-radius:var(--radius);background:var(--card);text-align:left;align-items:center;gap:14px;width:100%;padding:14px;display:flex}.goal.placement{border:1px dashed color-mix(in srgb, var(--accent) 60%, transparent);margin-top:6px}.goal-icon{font-size:28px;line-height:1}.goal-body{flex:1;gap:2px;min-width:0;display:grid}.goal-title{font-size:17px;font-weight:600}.link{color:var(--accent);background:0 0;margin:14px auto 0;padding:8px 12px;font-weight:600}.placement-cta{width:100%;margin:2px 0 10px;font-size:15px}.label-row{justify-content:space-between;align-items:center;display:flex}.report-flag{color:var(--hint);background:0 0;padding:4px 8px;font-size:18px}.actions-row .report-flag{background:var(--card);flex:none;width:48px;height:48px;padding:0}.sheet-backdrop{z-index:30;background:#0006;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;padding:18px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb, var(--hint) 30%, transparent);background:color-mix(in srgb, var(--bg) 88%, var(--text) 6%);border-radius:18px 18px 0 0;gap:12px;display:grid;box-shadow:0 -8px 24px #00000040}.sheet-backdrop .sheet h2,.sheet-backdrop .sheet p{margin:0}.sheet-done{text-align:center;padding:24px 0;font-weight:600}.reasons{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--card);border-radius:18px;padding:8px 12px;font-size:15px}.chip.on{background:var(--accent);color:var(--accent-text)}.report-comment{border:1px solid color-mix(in srgb, var(--hint) 30%, transparent);background:var(--card);width:100%;color:var(--text);font:inherit;resize:none;border-radius:12px;padding:10px 12px;font-size:16px}.admin header{gap:12px;margin-bottom:14px;display:grid}.segmented.two{grid-template-columns:1fr 1fr}.segmented.three{grid-template-columns:1fr 1fr 1fr}.segmented.four{grid-template-columns:1.4fr 1fr 1fr 1fr}.segmented.four button{font-size:12px}.admin .plain{margin-top:12px}.invite,.admin-user{gap:6px;display:grid}.admin .invite p,.admin .admin-user p{margin:0}.invite-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.fresh-invite{outline:2px solid var(--accent)}.fresh-invite code{word-break:break-all}.plan-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-cta{width:100%;margin-bottom:14px}.admin .card .secondary{background:var(--bg)}.premium header,.perks{margin-bottom:14px}.premium-cta{width:100%;margin-bottom:14px}.word-invite .word-title{margin:4px 0 8px;font-size:28px;font-weight:700}.terms{gap:10px;margin-bottom:8px;display:grid}.terms-toggle{text-align:left;color:var(--text);background:0 0;padding:0;font-size:16px}.terms-text{white-space:pre-line;margin:0;line-height:1.45}.footer .agree{text-align:center;margin:0 0 8px}.hint-card{border-left:3px solid var(--accent);margin:0 0 8px;line-height:1.45}.continue{gap:14px;margin-bottom:14px;display:grid}.continue-head{align-items:center;gap:12px;display:flex}.settings-cta{text-align:left;width:100%;margin:10px 0 14px}.small-button{flex:none;width:auto;padding:10px 14px;font-size:15px}.danger{border-radius:var(--radius);background:var(--bad);color:#fff;width:100%;padding:15px 16px;font-size:16px;font-weight:600}.danger:disabled{opacity:.6}.link.danger-link{color:var(--bad);display:block}.delete-account{gap:10px;display:grid}.card.delete-account>p{margin:0}.terms-text.privacy-text h3{margin:12px 0 4px;font-size:15px}.terms-text.privacy-text p{white-space:pre-line;margin:0}
