:root{--text:#6b6375;--text-h:#1e1b2e;--bg:#f4f1ff;--border:#e7e5ec;--accent:#7c5cff;--sans:system-ui, "Segoe UI", Roboto, -apple-system, "Helvetica Neue", Arial, sans-serif;font:17px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;min-height:100svh}body{background:var(--bg);overscroll-behavior:none;margin:0}h1,h2,h3{color:var(--text-h);margin:0 0 8px;font-weight:800}h1{letter-spacing:-.6px;margin:20px 0;font-size:34px}h2{font-size:21px;line-height:120%}h3{font-size:16px}p{margin:0}button{min-height:44px}.app{--card:#fff;--text-h:#1e1b2e;--text-soft:#6b6375;--border:#e7e5ec;--brand:#7c5cff;--brand-dark:#5b3fd6;--ok:#34c98a;--ok-bg:#e8fbf3;--warn:#ffb020;--warn-bg:#fff6e3;--info:#4aa8ff;--info-bg:#e9f4ff;--stop:#ff6b6b;--shadow-soft:0 6px 18px #28145a14;--shadow-lift:0 14px 32px #28145a2e;box-sizing:border-box;min-height:100svh;color:var(--text-soft);background:radial-gradient(1100px 520px at 50% -10%,#ffe9c9 0%,#ffe9c900 60%),linear-gradient(#f4f1ff 0%,#eef7ff 55%,#f4fff8 100%);flex-direction:column;align-items:center;padding:14px 16px 32px;display:flex}.app-plain{justify-content:flex-start}.brand{color:var(--text-h);margin:10px 0 18px;font-size:30px}.brand-emoji{font-size:32px}.topbar{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:560px;margin-bottom:8px;display:flex}.who{background:var(--card);box-shadow:var(--shadow-soft);cursor:pointer;font:inherit;color:var(--text-h);border:none;border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;display:flex}.who:disabled{opacity:.55;cursor:default}.who-avatar{font-size:26px;line-height:1}.who-name{font-size:15px;font-weight:700}.kid-nav{gap:8px;display:flex}.icon-tab{background:var(--card);width:48px;height:48px;box-shadow:var(--shadow-soft);cursor:pointer;border:none;border-radius:16px;font-size:22px;line-height:1;transition:transform .14s,background .14s}.icon-tab:hover:not(:disabled){transform:translateY(-2px)}.icon-tab.active{background:var(--brand);box-shadow:var(--shadow-lift)}.icon-tab:disabled{opacity:.4;cursor:default}.play{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:560px;display:flex}.status{color:var(--text-h);align-items:center;gap:10px;margin:0;font-size:17px;font-weight:600;display:flex}.call-timer{font-variant-numeric:tabular-nums;color:var(--text-soft);font-size:14px;font-weight:500}.play-button{cursor:pointer;color:#fff;width:168px;height:168px;box-shadow:var(--shadow-lift);border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin-top:4px;transition:transform .16s,filter .16s;display:flex}.play-button.start{background:radial-gradient(circle at 35% 30%, #9b83ff 0%, var(--brand) 55%, var(--brand-dark) 100%);animation:2.6s ease-in-out infinite play-pulse}.play-button.stop{background:radial-gradient(circle at 35% 30%, #ff9b9b 0%, var(--stop) 60%, #e04b4b 100%)}.play-button:hover:not(:disabled){transform:scale(1.04)}.play-button:active:not(:disabled){transform:scale(.97)}.play-button:disabled{filter:grayscale(.5);opacity:.7;cursor:default;animation:none}.play-button-icon{font-size:56px;line-height:1;transform:translate(3px)}.play-button.stop .play-button-icon{transform:none}.play-button-label{letter-spacing:.3px;font-size:18px;font-weight:800}@keyframes play-pulse{0%,to{box-shadow:var(--shadow-lift)}50%{box-shadow:var(--shadow-lift), 0 0 0 14px #7c5cff1f}}.dots{align-items:center;gap:7px;display:flex}.dot{background:#7c5cff2e;border-radius:50%;width:11px;height:11px;transition:all .22s}.dot.done{background:var(--ok)}.dot.current{background:var(--brand);transform:scale(1.5)}.star-counter{align-items:center;gap:2px;min-height:28px;margin:0;font-size:22px;display:flex}.star-counter-star{animation:.32s cubic-bezier(.34,1.56,.64,1) star-pop}.star-counter-more{color:var(--text-h);margin-left:4px;font-size:15px;font-weight:700}@keyframes star-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.attempt-banner{color:var(--text-h);border-radius:999px;margin:0;padding:8px 16px;font-size:15px;font-weight:600}.attempt-banner.outcome-correct{background:var(--ok-bg)}.attempt-banner.outcome-correct_after_hint{background:var(--warn-bg)}.attempt-banner.outcome-incorrect{background:var(--info-bg)}.due-hint{color:var(--text-soft);margin:0;font-size:15px}.due-hint strong{color:var(--text-h);font-size:18px}.banner{box-sizing:border-box;width:100%;color:var(--text-h);border-radius:16px;margin:0;padding:12px 34px 12px 14px;font-size:14px;line-height:1.45;position:relative}.banner-info{background:var(--info-bg)}.banner-warn{background:var(--warn-bg)}.banner button{cursor:pointer;color:inherit;background:0 0;border:none;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}.empty{color:var(--text-soft);text-align:center;padding:20px 0;font-size:15px}.parent-gate{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e1b2e73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.parent-gate-card{background:var(--card);text-align:center;width:100%;max-width:320px;box-shadow:var(--shadow-lift);border-radius:24px;padding:24px}.parent-gate-emoji{font-size:34px}.parent-gate-card h2{color:var(--text-h);margin:8px 0 6px;font-size:20px}.parent-gate-hint{margin-bottom:14px;font-size:16px}.parent-gate-card input{box-sizing:border-box;width:100%;font:inherit;text-align:center;border:2px solid var(--border);border-radius:14px;margin-bottom:12px;padding:10px;font-size:20px}.parent-gate-actions{gap:8px;display:flex}.parent-gate-actions button{flex:1}.parent-area{width:100%;max-width:560px}.tabs{gap:8px;margin-bottom:16px;display:flex}.tab{background:var(--card);box-shadow:var(--shadow-soft);font:inherit;color:var(--text-soft);cursor:pointer;border:none;border-radius:14px;flex:1;padding:10px;font-size:15px;font-weight:600}.tab.active{background:var(--brand);color:#fff}.list-header{color:var(--text-h);margin:20px 0 8px;font-size:15px;font-weight:700}.progress-panel{flex-direction:column;gap:14px;display:flex}.level-badge{background:var(--card);box-shadow:var(--shadow-soft);border-radius:20px;align-items:center;gap:14px;padding:14px 16px;display:flex}.level-badge-emoji{font-size:38px;line-height:1}.level-badge-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.level-badge-name{color:var(--text-h);font-size:17px;font-weight:800}.level-badge-next{font-size:13px}.level-bar{background:#7c5cff24;border-radius:999px;height:7px;margin-top:4px;display:block;overflow:hidden}.level-bar-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .4s;display:block}.streak-banner{background:var(--warn-bg);color:var(--text-h);text-align:center;border-radius:16px;margin:0;padding:10px 14px;font-size:15px}.level-up-banner{background:var(--ok-bg);color:var(--text-h);text-align:center;border-radius:16px;margin:0;padding:10px 14px;font-size:15px}.progress-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.progress-stat{background:var(--card);box-shadow:var(--shadow-soft);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;display:flex}.progress-stat-value{color:var(--text-h);font-size:22px;font-weight:800}.progress-stat-label{text-align:center;font-size:11px}.progress-stat-mastered{background:var(--ok-bg)}.progress-stat-learning{background:var(--warn-bg)}.progress-stat-difficult{background:var(--info-bg)}.progress-summary{font-size:14px;line-height:1.5}.attempt-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.attempt-card{background:var(--card);box-shadow:var(--shadow-soft);border-left:4px solid var(--border);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.attempt-card.outcome-correct{border-left-color:var(--ok)}.attempt-card.outcome-correct_after_hint{border-left-color:var(--warn)}.attempt-card.outcome-incorrect{border-left-color:var(--info)}.attempt-card .emoji{font-size:24px}.attempt-card .english{color:var(--text-h);font-weight:700}.attempt-card .polish{font-size:14px}.transcript{background:var(--card);max-height:260px;box-shadow:var(--shadow-soft);border-radius:16px;padding:12px;overflow-y:auto}.transcript-line{margin-bottom:8px;font-size:14px;line-height:1.5}.transcript-line .speaker{text-transform:uppercase;letter-spacing:.4px;color:var(--brand);margin-right:6px;font-size:11px;font-weight:700;display:inline-block}.transcript-line.user .speaker{color:var(--ok)}.settings-form{flex-direction:column;gap:8px;display:flex}.settings-block{background:var(--card);box-shadow:var(--shadow-soft);border-radius:20px;flex-direction:column;gap:8px;margin-top:16px;padding:14px 16px;display:flex}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field>span,.field-label{color:var(--text-h);font-size:13px;font-weight:700}.field input{font:inherit;border:2px solid var(--border);background:var(--card);border-radius:14px;padding:11px 13px}.field input:focus{border-color:var(--brand);outline:none}.field-hint{font-size:13px;line-height:1.45}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0 14px;display:grid}.avatar-option{aspect-ratio:1;background:var(--card);box-shadow:var(--shadow-soft);cursor:pointer;border:2px solid #0000;border-radius:14px;font-size:24px}.avatar-option.selected{border-color:var(--brand);background:#f1ecff}.btn-primary{background:var(--brand);color:#fff;font:inherit;cursor:pointer;box-shadow:var(--shadow-soft);border:none;border-radius:16px;padding:12px 20px;font-size:16px;font-weight:700}.btn-primary:disabled{opacity:.6;cursor:default}.btn-ghost{border:2px solid var(--border);font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border-radius:16px;padding:11px 18px;font-size:15px;font-weight:600}.link-button{font:inherit;color:var(--brand-dark);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px;font-size:15px;text-decoration:underline}.live-toggle{border:2px solid var(--border);background:var(--card);font:inherit;cursor:pointer;color:var(--text-h);border-radius:999px;padding:10px 16px;font-size:14px}.live-toggle.on{background:var(--warn-bg);border-color:var(--warn)}.live-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.live-checkbox input{width:20px;height:20px;accent-color:var(--brand)}.error{color:#c62828;margin:6px 0;font-size:14px}@media (width<=380px){.play-button{width:140px;height:140px}.play-button-icon{font-size:46px}.progress-stats{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.play-button.start,.star-counter-star{animation:none}}.pron-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.pron-item{background:var(--card);box-shadow:var(--shadow-soft);border-radius:14px;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;padding:10px 12px;display:grid}.pron-word{color:var(--text-h);font-weight:800}.pron-polish{color:var(--text-soft);font-size:13px}.pron-note{color:var(--text-soft);grid-column:1/-1;font-size:13px;font-style:italic}.milestone-banner{color:#1b1a24;text-align:center;background:linear-gradient(90deg,#ffd166,#f2c14e);border-radius:999px;margin:.4rem 0;padding:.6rem 1.3rem;font-size:1.35rem;font-weight:800;animation:.5s cubic-bezier(.2,1.4,.4,1) milestone-pop}@keyframes milestone-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.stop-prompt{background:#ffffff14;border-radius:22px;flex-direction:column;align-items:center;gap:.9rem;margin:1.2rem 0;padding:1.1rem 1rem;display:flex}.stop-prompt-text{text-align:center;margin:0;font-size:1.15rem;font-weight:700}.stop-prompt-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.stop-button{cursor:pointer;min-width:8.5rem;font:inherit;color:#1b1a24;border:none;border-radius:20px;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 1.4rem;transition:transform .12s;display:flex}.stop-button:active{transform:scale(.96)}.stop-button:focus-visible{outline-offset:3px;outline:3px solid #fff}.stop-button.continue{background:#7bd88f}.stop-button.stop{background:#f2c14e}.stop-button-icon{font-size:2.1rem;line-height:1}.stop-button-label{font-size:1rem;font-weight:700}.mic-toggle{color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid #ffffff59;border-radius:999px;align-items:center;gap:.5rem;margin:.6rem auto 0;padding:.55rem 1.1rem;display:inline-flex}.mic-toggle:focus-visible{outline-offset:2px;outline:3px solid #fff}.mic-toggle.muted{color:#1b1a24;background:#f2c14e;border-color:#f2c14e;font-weight:700}.mic-toggle-icon{font-size:1.3rem;line-height:1}.mic-toggle-label{font-size:.95rem}@media (prefers-reduced-motion:reduce){.stop-button{transition:none}.milestone-banner{animation:none}}.week{flex-direction:column;gap:.6rem;margin:1rem 0 1.4rem;display:flex}.week-days{flex-wrap:wrap;gap:.45rem;display:flex}.week-day{flex-direction:column;align-items:center;gap:.3rem;min-width:2.2rem;display:flex}.week-day-label{opacity:.65;letter-spacing:.04em;font-size:.72rem}.week-day-dot{background:#ffffff2e;border-radius:50%;width:.85rem;height:.85rem}.week-day.played .week-day-dot{background:#7bd88f}.week-day.played .week-day-label{opacity:1;font-weight:700}.learned-list{flex-wrap:wrap;gap:.45rem;margin:.2rem 0 0;padding:0;list-style:none;display:flex}.learned-item{background:#7bd88f29;border-radius:999px;align-items:baseline;gap:.35rem;padding:.3rem .6rem;display:inline-flex}.learned-emoji{font-size:1rem}.learned-english{font-weight:700}.learned-polish{opacity:.7;font-size:.82rem}.pron-patterns{flex-direction:column;gap:.4rem;margin:0 0 .8rem;padding:0;list-style:none;display:flex}.pron-pattern{background:#f2c14e1a;border-left:3px solid #f2c14e;border-radius:0 8px 8px 0;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.45rem .7rem;display:flex}.pron-pattern-note{font-weight:700}.pron-pattern-count{opacity:.7;font-size:.8rem}.pron-pattern-words{opacity:.8;font-size:.85rem}.level-path{counter-reset:none;gap:0;margin:0 0 1rem;padding:0 0 .4rem;list-style:none;display:flex;overflow-x:auto}.level-step{opacity:.4;flex-direction:column;flex:none;align-items:center;gap:.15rem;min-width:4.6rem;padding:.35rem .2rem;display:flex;position:relative}.level-step:before{content:"";opacity:.35;background:currentColor;width:100%;height:2px;position:absolute;top:1.05rem;left:-50%}.level-step:first-child:before{display:none}.level-step.done{opacity:.8}.level-step.current{opacity:1;font-weight:700}.level-step.current .level-step-emoji{transform:scale(1.35)}.level-step-emoji{font-size:1.4rem;line-height:1.4;transition:transform .2s}.level-step-name{text-align:center;font-size:.68rem;line-height:1.15}.level-step-threshold{opacity:.6;font-variant-numeric:tabular-nums;font-size:.62rem}.summary-reward{flex-direction:column;align-items:center;gap:.2rem;margin:.9rem 0;display:flex}.summary-reward-emoji{font-size:3.4rem;line-height:1;animation:.55s cubic-bezier(.34,1.56,.64,1) both reward-pop}.summary-reward-label{font-size:.95rem;font-weight:700}@keyframes reward-pop{0%{opacity:0;transform:scale(0)rotate(-25deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.summary-reward-emoji{animation:none}.level-step-emoji{transition:none}}.help-row{flex-wrap:wrap;justify-content:center;gap:.6rem;margin:.7rem 0 .2rem;display:flex}.help-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:2px solid #ffffff4d;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .95rem;font-size:.92rem;transition:transform .12s,opacity .12s;display:inline-flex}.help-button:active{transform:scale(.95)}.help-button:focus-visible{outline-offset:2px;outline:3px solid #f2c14e}.help-button:disabled{opacity:.4;cursor:default}.help-button-icon{font-size:1.15rem;line-height:1}@media (prefers-reduced-motion:reduce){.help-button{transition:none}}.panel-error{background:#f2c14e1f;border-left:4px solid #f2c14e;border-radius:0 12px 12px 0;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1rem 1.1rem;display:flex}.panel-error p{margin:0}.panel-error-detail{opacity:.8;word-break:break-word;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.82rem}.panel-error-hint{opacity:.75;font-size:.88rem}.child-picker{text-align:center;width:100%;max-width:460px}.child-tiles{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:12px;margin:22px 0;display:grid}.child-tile{color:var(--text-h);cursor:pointer;background:#fff;border:3px solid #0000;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;font-family:inherit;transition:transform .14s;display:flex;box-shadow:0 6px 18px #28145a14}.child-tile:hover{border-color:var(--accent);transform:translateY(-3px)}.child-tile-avatar{font-size:48px;line-height:1}.child-tile-name{font-size:16px;font-weight:700}.child-tile-add{border-style:dashed;border-color:var(--border);box-shadow:none;color:var(--text);background:0 0}.add-child-form{text-align:left;background:#fff;border-radius:20px;margin-bottom:20px;padding:20px;box-shadow:0 6px 18px #28145a14}.add-child-form .field{margin-bottom:16px;display:block}.add-child-form .field span,.add-child-form .field-label{color:var(--text-h);margin-bottom:6px;font-size:14px;font-weight:700;display:block}.add-child-form .field input[type=text]{box-sizing:border-box;border:2px solid var(--border);width:100%;color:var(--text-h);background:#fff;border-radius:14px;padding:11px 13px;font-family:inherit;font-size:15px}.add-child-form .field input[type=text]:focus{border-color:var(--accent);outline:none}.add-child-form .avatar-grid{grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px;display:grid}.add-child-form .avatar-option{aspect-ratio:1;border:2px solid var(--border);cursor:pointer;background:#fff;border-radius:14px;font-size:24px}.add-child-form .avatar-option.selected{border-color:var(--accent);background:#f1ecff}.add-child-actions{gap:10px;display:flex}.add-child-actions button{flex:1}.collection{width:100%;max-width:560px;margin:0 auto;padding-bottom:24px}.collection-header{text-align:center;color:var(--text-h);margin-bottom:20px;font-size:18px}.collection-group{margin-bottom:22px}.collection-group-title{color:var(--text-h);justify-content:space-between;align-items:baseline;margin:0 0 10px;font-size:16px;font-weight:700;display:flex}.collection-group-count{color:var(--text-soft);font-size:14px;font-weight:600}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:10px;display:grid}.sticker{aspect-ratio:1;background:var(--card);box-shadow:var(--shadow-soft);border:2px solid #0000;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.sticker-emoji{font-size:34px;line-height:1}.sticker-word{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:12px;font-weight:700;overflow:hidden}.sticker-mark{font-size:13px;position:absolute;top:4px;right:6px}.sticker-new{border:2px dashed var(--border);box-shadow:none;background:0 0}.sticker-new .sticker-emoji{opacity:.35}.sticker-mastered{border-color:var(--ok);background:var(--ok-bg)}.sticker-learning{border-color:var(--warn);background:var(--warn-bg)}.sticker-difficult{border-color:var(--info);background:var(--info-bg)}.rewards-grid{flex-wrap:wrap;gap:.4rem;display:flex}.reward{background:#ffffff1f;border-radius:14px;justify-content:center;align-items:center;width:2.9rem;height:2.9rem;font-size:1.6rem;display:inline-flex}.reward-empty{background:0 0;border:2px dashed #ffffff38}.rewards-hint{opacity:.7;margin:.5rem 0 0;font-size:.82rem}.sticker.playable{cursor:pointer;position:relative}.sticker.playable:focus-visible{outline-offset:2px;outline:3px solid #f2c14e}.sticker-speaker{opacity:.55;font-size:.75rem;position:absolute;top:.2rem;right:.3rem}.sticker.speaking{transform:scale(1.06);box-shadow:0 0 0 3px #f2c14e}.sticker{transition:transform .15s,box-shadow .15s}@media (prefers-reduced-motion:reduce){.sticker{transition:none}}.auth-form{text-align:left;box-sizing:border-box;background:#fff;border-radius:22px;width:100%;max-width:380px;margin-top:8px;padding:24px 20px;box-shadow:0 6px 18px #28145a14}.auth-form h2{text-align:center;margin:0 0 20px}.auth-form .field{margin-bottom:16px;display:block}.auth-form .field span{color:var(--text-h);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.auth-form .field input{box-sizing:border-box;border:2px solid var(--border);width:100%;color:var(--text-h);background:#fff;border-radius:14px;padding:10px 12px;font-family:inherit;font-size:14px}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:16px;width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:600;display:block}.auth-submit:disabled{opacity:.6;cursor:default}.auth-switch{text-align:center;color:var(--text);margin-top:16px;font-size:13px}.auth-switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:600}.mascot{background:radial-gradient(circle at 50% 40%,#fffffff2,#ffffff8c);border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;transition:background .3s;display:flex;position:relative;box-shadow:0 8px 24px #28145a1a}.mascot-emoji{font-size:72px;line-height:1;display:block}.mascot-idle .mascot-emoji{animation:3.4s ease-in-out infinite mascot-breathe}.mascot-waiting .mascot-emoji{animation:2.2s ease-in-out infinite mascot-lean}.mascot-listening{background:radial-gradient(circle at 50% 40%,#e8fbf3,#e8fbf380)}.mascot-listening .mascot-emoji{animation:.9s ease-in-out infinite mascot-listen}.mascot-talking{background:radial-gradient(circle at 50% 40%,#f1ecff,#f1ecff80)}.mascot-talking .mascot-emoji{animation:.62s ease-in-out infinite mascot-talk}.mascot-reaction-correct{background:radial-gradient(circle at 50% 40%,#e8fbf3,#e8fbf399)}.mascot-reaction-correct .mascot-emoji{animation:.62s cubic-bezier(.34,1.56,.64,1) mascot-cheer}.mascot-reaction-correct_after_hint .mascot-emoji,.mascot-reaction-incorrect .mascot-emoji{animation:.62s ease-out mascot-nod}.mascot-burst{pointer-events:none;position:absolute;inset:0}.mascot-burst-star{font-size:20px;animation:.9s ease-out forwards mascot-burst;position:absolute;top:50%;left:50%}.burst-0{--dx:-70px;--dy:-46px}.burst-1{--dx:-34px;--dy:-74px}.burst-2{--dx:4px;--dy:-84px}.burst-3{--dx:42px;--dy:-70px}.burst-4{--dx:72px;--dy:-40px}@keyframes mascot-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}25%{opacity:1}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1.15);opacity:0}}@keyframes mascot-breathe{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.05)rotate(-3deg)}}@keyframes mascot-lean{0%,to{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes mascot-listen{0%,to{transform:scale(1)rotate(-8deg)}50%{transform:scale(1.08)rotate(-4deg)}}@keyframes mascot-talk{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.06)}}@keyframes mascot-cheer{0%{transform:scale(.85)rotate(0)}40%{transform:scale(1.25)rotate(-10deg)}70%{transform:scale(1.1)rotate(8deg)}to{transform:scale(1)rotate(0)}}@keyframes mascot-nod{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)scale(1.08)}}@media (prefers-reduced-motion:reduce){.mascot-emoji,.mascot-burst-star{animation:none!important}.mascot-burst{display:none}}.mic-wave{justify-content:center;align-items:center;gap:5px;height:40px;margin:4px 0 20px;display:flex}.mic-wave-bar{background:var(--border);border-radius:2px;width:4px;height:6px;transition:height 80ms ease-out}.mic-wave.idle .mic-wave-bar{background:var(--border)}.mic-wave.user-active .mic-wave-bar{background:#1565c0}.mic-wave.ai-speaking .mic-wave-bar{background:var(--accent);animation:.9s ease-in-out infinite mic-wave-pulse}@keyframes mic-wave-pulse{0%,to{height:6px}50%{height:30px}}.health-panel{background:var(--card);box-shadow:var(--shadow-soft);border-radius:18px;margin-top:18px;padding:14px 16px}.health-panel>summary{cursor:pointer;color:var(--text-h);list-style:revert;font-weight:700}.health-hint{color:var(--text-soft);font-weight:400}.health-intro{color:var(--text-soft);margin:10px 0 0;font-size:13px;line-height:1.5}.health-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.health-list li{border-bottom:1px solid var(--line,#0000000f);grid-template-columns:1fr auto;gap:2px 12px;padding-bottom:10px;display:grid}.health-list li:last-child{border-bottom:none;padding-bottom:0}.health-label{color:var(--text-h);font-size:14px;font-weight:600}.health-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.health-note{color:var(--text-soft);grid-column:1/-1;font-size:12px;line-height:1.45}.health-subheader{color:var(--text-h);margin:18px 0 0;font-size:14px}.health-bars{align-items:flex-end;gap:8px;height:88px;margin-top:10px;display:flex}.health-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.health-bar-fill{background:var(--info);opacity:.75;border-radius:6px 6px 0 0;width:100%;max-width:34px}.health-bar-label{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:11px}.schedule-panel{background:var(--card);box-shadow:var(--shadow-soft);border-radius:18px;margin-top:18px;padding:14px 16px}.schedule-panel>summary{cursor:pointer;color:var(--text-h);list-style:revert;font-weight:700}.schedule-hint{color:var(--text-soft);font-weight:400}.schedule-intro,.schedule-note{color:var(--text-soft);margin:10px 0 0;font-size:13px;line-height:1.5}.schedule-counts{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.schedule-counts li{background:var(--bg,transparent);border-radius:12px;flex-direction:column;gap:2px;padding:8px 4px;display:flex}.schedule-count-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.schedule-count-label{color:var(--text-soft);font-size:11px;line-height:1.3}.schedule-subheader{color:var(--text-h);margin:18px 0 0;font-size:14px}.schedule-words{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.schedule-words li{background:var(--bg,transparent);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.schedule-emoji{font-size:20px;line-height:1}.schedule-word-name{color:var(--text-h);flex:1;font-weight:700}.schedule-mastery,.schedule-days{color:var(--text-soft);white-space:nowrap;font-size:12px}.vocab-manager{background:var(--card);box-shadow:var(--shadow-soft);border-radius:18px;margin-top:18px;padding:14px 16px}.vocab-manager>summary{cursor:pointer;color:var(--text-h);list-style:revert;flex-wrap:wrap;align-items:center;gap:8px;font-weight:700;display:flex}.vocab-manager-hint{color:var(--text-soft);font-weight:400}.vocab-manager-new-badge{background:var(--warn-bg,#ffc10726);color:var(--text-h);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.vocab-manager-note{color:var(--text-soft);margin:10px 0 0;font-size:13px;line-height:1.5}.vocab-manager-error{color:var(--text-h);margin:10px 0 0;font-size:13px;font-weight:600}.vocab-manager-search{border:1px solid var(--line,#0000001f);background:var(--bg,#fff);width:100%;color:var(--text-h);box-sizing:border-box;border-radius:12px;margin-top:12px;padding:8px 12px;font-size:14px}.vocab-manager-list{flex-direction:column;gap:6px;max-height:340px;margin:10px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.vocab-manager-row{background:var(--bg,transparent);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.vocab-manager-emoji{flex-shrink:0;font-size:22px;line-height:1}.vocab-manager-names{flex-direction:column;flex:1;min-width:0;display:flex}.vocab-manager-english{color:var(--text-h);font-weight:700}.vocab-manager-polish{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.vocab-manager-delete{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:10px;flex-shrink:0;padding:6px;font-size:18px;transition:opacity .15s,background .15s}.vocab-manager-delete:hover:not(:disabled){opacity:1;background:var(--warn-bg,#ffc10726)}.vocab-manager-delete:disabled{opacity:.25;cursor:default}.vocab-manager-empty{text-align:center;color:var(--text-soft);padding:12px;font-size:13px}.session-summary{text-align:center;box-sizing:border-box;background:#fff;border-radius:24px;width:100%;margin:0 0 20px;padding:28px 22px;animation:.32s ease-out summary-in;box-shadow:0 14px 32px #28145a24}.session-summary-emoji{margin-bottom:8px;font-size:48px;line-height:1}.session-summary-stats{justify-content:center;gap:24px;margin:20px 0;display:flex}.session-summary-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.session-summary-value{color:var(--text-h);font-size:22px;font-weight:700}.session-summary-label{color:var(--text);font-size:12px}.session-summary .btn-primary{width:100%;max-width:220px;margin:8px auto 0;display:block}.session-summary-lead{margin:14px 0 18px;font-size:15px;line-height:1.5}@keyframes summary-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.session-summary{animation:none}}.word-card{background:var(--card);box-shadow:var(--shadow-soft);border:3px solid #0000;border-radius:28px;flex-direction:column;align-items:center;gap:4px;min-width:180px;padding:20px 28px;transition:border-color .22s,transform .22s;display:flex}.word-card-emoji{font-size:84px;line-height:1.05}.word-card-asking{animation:.32s ease-out word-card-in}.word-card-asking .word-card-emoji{animation:2.6s ease-in-out infinite word-card-breathe}.word-card-english{color:var(--text-h);letter-spacing:-.5px;font-size:30px;font-weight:800}.word-card-polish{color:var(--text-soft);font-size:15px}.word-card-result{animation:.38s cubic-bezier(.34,1.56,.64,1) word-card-pop}.word-card-result.outcome-correct{border-color:var(--ok);background:var(--ok-bg)}.word-card-result.outcome-correct_after_hint{border-color:var(--warn);background:var(--warn-bg)}.word-card-result.outcome-incorrect{border-color:var(--info);background:var(--info-bg)}@keyframes word-card-in{0%{opacity:0;transform:translateY(12px)scale(.92)}to{opacity:1;transform:none}}@keyframes word-card-pop{0%{transform:scale(.86)}60%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes word-card-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.word-card,.word-card-asking .word-card-emoji,.word-card-result{animation:none}}.word-card-asking.retry{outline-offset:4px;outline:3px solid #f2c14e}.word-card-retry{color:#1b1a24;background:#f2c14e;border-radius:999px;align-items:center;gap:.4rem;margin-top:.5rem;padding:.3rem .75rem;font-size:.95rem;font-weight:700;display:inline-flex}.word-card-retry-icon{font-size:1.15rem;animation:1.6s ease-in-out infinite retry-nudge}@keyframes retry-nudge{0%,70%,to{transform:scale(1)}80%{transform:scale(1.18)}}@media (prefers-reduced-motion:reduce){.word-card-retry-icon{animation:none}}.choice-row{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;width:100%;animation:.32s ease-out choice-row-in;display:flex}.choice{background:var(--card);min-width:108px;min-height:108px;box-shadow:var(--shadow-soft);cursor:pointer;border:3px solid #0000;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:16px 18px;transition:transform .16s,border-color .16s,box-shadow .16s;display:flex}.choice-emoji{-webkit-user-select:none;user-select:none;font-size:62px;line-height:1.05}.choice-polish{color:var(--text-soft);font-size:13px}.choice:hover:not(:disabled),.choice:focus-visible{border-color:var(--info);transform:translateY(-3px)scale(1.04)}.choice:active:not(:disabled){transform:scale(.96)}.choice.picked{border-color:var(--info);background:var(--info-bg);transform:scale(1.02)}.choice:disabled{cursor:default}.choice:disabled:not(.picked){opacity:.45}@keyframes choice-row-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.choice-row,.choice{transition:none;animation:none}}
