:root{--bg: #eef0ec;--surface: #f9faf7;--sunk: #e3e7e1;--ink: #16232a;--muted: #586a6e;--line: #cbd2cb;--accent: #2c6a58;--accent-soft: #d5e6de;--accent-ink: #ffffff;--mark: #c8901a;--mark-bg: #f5e4b0;--ok: #2f7d4f;--ok-bg: #dcefe2;--grammar: #3f56b0;--grammar-bg: #e1e6f7;--word: #b8432f;--word-bg: #f6dfd9;--sound: #9a6410;--sound-bg: #f3e6cf;--shadow: 0 1px 2px rgb(22 35 42 / .06), 0 4px 16px rgb(22 35 42 / .06);--font-text: "Literata", "Iowan Old Style", Georgia, serif;--font-ui: "IBM Plex Sans", -apple-system, "Segoe UI", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--step--1: .8125rem;--step-0: 1rem;--step-1: 1.1875rem;--step-2: 1.4375rem;--step-3: 1.875rem;--radius: 10px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0f171a;--surface: #152126;--sunk: #1b2a30;--ink: #e3ebe8;--muted: #93a4a4;--line: #2b3b40;--accent: #7cc0a7;--accent-soft: #1f3a33;--accent-ink: #0f171a;--mark: #e6bd55;--mark-bg: #4a3c15;--ok: #74c58f;--ok-bg: #1d3a28;--grammar: #9aaaf0;--grammar-bg: #243055;--word: #ef8b75;--word-bg: #4a2620;--sound: #e2b45c;--sound-bg: #45361a;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 4px 16px rgb(0 0 0 / .25);color-scheme:dark}}:root[data-theme=dark]{--bg: #0f171a;--surface: #152126;--sunk: #1b2a30;--ink: #e3ebe8;--muted: #93a4a4;--line: #2b3b40;--accent: #7cc0a7;--accent-soft: #1f3a33;--accent-ink: #0f171a;--mark: #e6bd55;--mark-bg: #4a3c15;--ok: #74c58f;--ok-bg: #1d3a28;--grammar: #9aaaf0;--grammar-bg: #243055;--word: #ef8b75;--word-bg: #4a2620;--sound: #e2b45c;--sound-bg: #45361a;--shadow: 0 1px 2px rgb(0 0 0 / .3), 0 4px 16px rgb(0 0 0 / .25);color-scheme:dark}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-0);line-height:1.55;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}h1,h2,h3{text-wrap:balance;line-height:1.2;margin:0}p{margin:0}button{font:inherit;color:inherit}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wrap{max-width:44rem;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.label{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.et{font-family:var(--font-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:44px;padding:0 1rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:500;text-decoration:none;color:var(--ink);white-space:nowrap}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn.quiet:hover{color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.kbd{font-family:var(--font-mono);font-size:.75em;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 .3em;color:var(--muted)}.btn .kbd{color:inherit;border-color:currentColor;opacity:.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(hover:none){.desktop-only{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.sync.svelte-mdw6ut{display:flex;align-items:center;gap:.45rem;font-size:var(--step--1);color:var(--muted)}.dot.svelte-mdw6ut{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}[data-state=synced].svelte-mdw6ut .dot:where(.svelte-mdw6ut){background:var(--ok)}[data-state=syncing].svelte-mdw6ut .dot:where(.svelte-mdw6ut),[data-state=starting].svelte-mdw6ut .dot:where(.svelte-mdw6ut){background:var(--mark)}.compact.svelte-mdw6ut{font-family:var(--font-mono);font-size:11px}@media(max-width:420px){.compact.svelte-mdw6ut .t:where(.svelte-mdw6ut){display:none}}.hero.svelte-n7tyl6{padding:1.5rem 0 1.25rem;display:grid;gap:.75rem}h1.svelte-n7tyl6{font-size:clamp(2.4rem,9vw,3.4rem);font-weight:600;letter-spacing:-.01em}.lede.svelte-n7tyl6{font-size:var(--step-1);color:var(--muted);max-width:34rem}.lede.svelte-n7tyl6 strong:where(.svelte-n7tyl6){color:var(--ink)}.go.svelte-n7tyl6{min-height:54px;white-space:normal;text-align:left;background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 4px color-mix(in srgb,var(--accent) 60%,black)}.review.svelte-n7tyl6{min-height:54px;border-width:2px;border-color:var(--mark)}.badge.svelte-n7tyl6{min-width:1.6rem;height:1.6rem;padding:0 .35rem;border-radius:999px;background:var(--mark);color:#1b1405;display:grid;place-items:center;font-family:var(--font-mono);font-size:12px}.chapters.svelte-n7tyl6{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.chapter.svelte-n7tyl6{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:center;padding:.9rem 1rem;text-decoration:none;color:var(--ink);border-width:2px;border-bottom-width:4px;transition:border-color .15s}.chapter.svelte-n7tyl6:hover{border-color:var(--accent)}.num.svelte-n7tyl6{font-family:var(--font-text);font-size:var(--step-3);font-weight:500;color:var(--accent);width:1.6rem;text-align:center}.body.svelte-n7tyl6{display:grid;gap:.2rem;min-width:0}.title.svelte-n7tyl6{font-size:var(--step-2);font-weight:600}.sub.svelte-n7tyl6{font-size:var(--step--1);color:var(--muted)}.scenes.svelte-n7tyl6{display:flex;gap:5px;margin-top:.4rem}.pip.svelte-n7tyl6{width:22px;height:7px;border-radius:4px;background:var(--line)}.pip.on.svelte-n7tyl6{background:color-mix(in srgb,var(--accent) 45%,var(--line))}.pip.on.l2.svelte-n7tyl6{background:color-mix(in srgb,var(--accent) 75%,var(--line))}.pip.on.l3.svelte-n7tyl6{background:var(--accent)}.pip.finale.svelte-n7tyl6{width:30px}.pip.finale.on.svelte-n7tyl6{background:var(--mark)}.stars.svelte-5kwjez{display:inline-flex;gap:1px}svg.svelte-5kwjez{width:var(--s);height:var(--s);fill:var(--sunk);stroke:var(--line);stroke-width:1.2}svg.on.svelte-5kwjez{fill:var(--mark);stroke:color-mix(in srgb,var(--mark) 70%,black)}.head.svelte-vn9wqd{padding:1rem 0 .5rem;display:grid;gap:.3rem}h1.svelte-vn9wqd{font-size:var(--step-3)}.sub.svelte-vn9wqd{color:var(--muted)}.path.svelte-vn9wqd{list-style:none;margin:1rem 0 1.5rem;padding:0;display:grid;gap:.6rem;position:relative}.scene.svelte-vn9wqd{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.8rem 1rem;border-radius:16px;border:2px solid var(--line);border-bottom-width:4px;background:var(--surface);text-decoration:none;color:var(--ink);transition:transform .08s,border-color .15s}.scene.svelte-vn9wqd:hover{border-color:var(--accent)}.scene.svelte-vn9wqd:active{transform:translateY(2px)}.scene.next.svelte-vn9wqd{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.dot.svelte-vn9wqd{width:2.6rem;height:2.6rem;border-radius:50%;display:grid;place-items:center;font-family:var(--font-text);font-weight:600;font-size:var(--step-1);background:var(--sunk);color:var(--muted)}.done.svelte-vn9wqd .dot:where(.svelte-vn9wqd){background:var(--accent);color:var(--accent-ink)}.finale.svelte-vn9wqd .dot:where(.svelte-vn9wqd){background:var(--mark-bg);color:var(--mark)}.finale.done.svelte-vn9wqd .dot:where(.svelte-vn9wqd){background:var(--mark);color:#1b1405}.name.svelte-vn9wqd{display:grid;min-width:0}.t.svelte-vn9wqd{font-size:var(--step-1);font-weight:600}.en.svelte-vn9wqd{color:var(--muted);font-size:var(--step--1)}.right.svelte-vn9wqd{display:grid;justify-items:end;gap:.1rem}.play.svelte-vn9wqd{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.extras.svelte-vn9wqd{display:grid;gap:.6rem;margin-bottom:1.5rem}.extras.svelte-vn9wqd .btn:where(.svelte-vn9wqd){white-space:normal}.ref.svelte-vn9wqd{border-top:1px solid var(--line);padding:.75rem 0}.ref.svelte-vn9wqd summary:where(.svelte-vn9wqd){cursor:pointer}dl.svelte-vn9wqd{margin:.75rem 0 0;display:grid;gap:.25rem}dt.svelte-vn9wqd{font-weight:600;margin-top:.5rem}dd.svelte-vn9wqd{margin:0;color:var(--muted)}.ex.svelte-vn9wqd{display:block;color:var(--ink);margin-top:.15rem}.vocab.svelte-vn9wqd{list-style:none;margin:.75rem 0 0;padding:0;columns:2 14rem;column-gap:1.5rem}.vocab.svelte-vn9wqd li:where(.svelte-vn9wqd){break-inside:avoid;padding:.15rem 0}.mini.svelte-5izqbc{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.big.svelte-5izqbc{width:76px;height:76px;border-radius:22px;border:0;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px color-mix(in srgb,var(--accent) 60%,black);transition:transform .08s}.big.svelte-5izqbc:active{transform:translateY(3px);box-shadow:0 1px color-mix(in srgb,var(--accent) 60%,black)}.big.svelte-5izqbc svg:where(.svelte-5izqbc){width:40px;height:40px;fill:currentColor}.wave.svelte-5izqbc{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.playing.svelte-5izqbc .w1:where(.svelte-5izqbc){animation:svelte-5izqbc-pulse .8s ease-in-out infinite}.playing.svelte-5izqbc .w2:where(.svelte-5izqbc){animation:svelte-5izqbc-pulse .8s .2s ease-in-out infinite}@keyframes svelte-5izqbc-pulse{50%{opacity:.25}}.speeds.svelte-5izqbc{display:flex;gap:.3rem}.speed.svelte-5izqbc{min-width:46px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);cursor:pointer}.speed.on.svelte-5izqbc{background:var(--ink);border-color:var(--ink);color:var(--bg)}.err.svelte-5izqbc{width:100%;font-size:var(--step--1);color:var(--word)}.card-body.svelte-1wxz5g{display:grid;gap:1.1rem}.kicker.svelte-1wxz5g{font-size:var(--step-2);font-weight:600;font-family:var(--font-text)}.english.svelte-1wxz5g{font-size:var(--step-2);line-height:1.4}.line.svelte-1wxz5g{min-height:64px;display:flex;flex-wrap:wrap;gap:.45rem;align-content:flex-start;padding:.6rem 0;border-bottom:2px solid var(--line);border-top:2px solid var(--line)}.line.right.svelte-1wxz5g{border-color:var(--ok)}.line.wrong.svelte-1wxz5g{border-color:var(--word)}.placeholder.svelte-1wxz5g{color:var(--muted);font-family:var(--font-ui);align-self:center}.bank.svelte-1wxz5g{display:flex;flex-wrap:wrap;gap:.45rem}.tile.svelte-1wxz5g{min-height:46px;padding:.3rem .85rem;border-radius:12px;border:2px solid var(--line);border-bottom-width:4px;background:var(--surface);font-size:var(--step-1);color:var(--ink);cursor:pointer}.tile.svelte-1wxz5g:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}.tile.used.svelte-1wxz5g{color:transparent;background:var(--sunk);border-color:var(--sunk)}.tile.in.svelte-1wxz5g{animation:svelte-1wxz5g-pop .18s ease-out}.tile.bad.svelte-1wxz5g{border-color:var(--word);background:var(--word-bg)}.line.right.svelte-1wxz5g .tile:where(.svelte-1wxz5g){border-color:var(--ok);background:var(--ok-bg)}.solution.svelte-1wxz5g{font-size:var(--step-1);color:var(--ok)}.check.svelte-1wxz5g{margin-left:auto}@keyframes svelte-1wxz5g-pop{0%{transform:scale(.85)}to{transform:scale(1)}}.card-body.svelte-ah2olh{display:grid;gap:1.1rem}.kicker.svelte-ah2olh{font-size:var(--step-2);font-weight:600;font-family:var(--font-text)}.sentence.svelte-ah2olh{font-size:var(--step-2);line-height:1.5}.q.svelte-ah2olh{display:flex;justify-content:space-between;gap:.5rem}.en-toggle.svelte-ah2olh{border:0;background:none;font-family:var(--font-mono);font-size:11px;color:var(--muted);cursor:pointer;align-self:start;padding:.4rem}.en-toggle[aria-pressed=true].svelte-ah2olh{color:var(--accent)}.en.svelte-ah2olh{color:var(--muted);margin-top:-.6rem}.gap.svelte-ah2olh{display:inline-block;min-width:4.5em;border-bottom:3px solid var(--muted);margin:0 .15em;text-align:center;line-height:1.2}.gap.right.svelte-ah2olh{color:var(--ok);border-color:var(--ok)}.gap.wrong.svelte-ah2olh{color:var(--ok);border-color:var(--word)}.options.svelte-ah2olh{display:grid;gap:.6rem}.options.inline.svelte-ah2olh{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}.opt.svelte-ah2olh{display:flex;align-items:center;gap:.75rem;text-align:left;min-height:56px;padding:.6rem 1rem;border-radius:14px;border:2px solid var(--line);border-bottom-width:4px;background:var(--surface);cursor:pointer;font-size:var(--step-1);color:var(--ink);transition:transform .06s,border-color .15s}.options.et.svelte-ah2olh .opt:where(.svelte-ah2olh){font-family:var(--font-text)}.opt.svelte-ah2olh:hover:not(:disabled){border-color:var(--accent)}.opt.svelte-ah2olh:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}.opt.svelte-ah2olh:disabled{cursor:default}.opt.right.svelte-ah2olh{border-color:var(--ok);background:var(--ok-bg);animation:svelte-ah2olh-bump .35s ease-out}.opt.wrong.svelte-ah2olh{border-color:var(--word);background:var(--word-bg);animation:svelte-ah2olh-shake .35s ease-out}.opt.dim.svelte-ah2olh{opacity:.5}.key.svelte-ah2olh{flex:none;width:1.6rem;height:1.6rem;border-radius:6px;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.txt.svelte-ah2olh{display:grid}.txt.svelte-ah2olh small:where(.svelte-ah2olh){font-family:var(--font-ui);font-size:12px;color:var(--muted)}@keyframes svelte-ah2olh-bump{40%{transform:scale(1.03)}}@keyframes svelte-ah2olh-shake{20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.card-body.svelte-1osjdp8{display:grid;gap:.9rem}.kicker.svelte-1osjdp8{font-size:var(--step-2);font-weight:600;font-family:var(--font-text)}.hint.svelte-1osjdp8{color:var(--muted);margin-top:-.5rem}.list.svelte-1osjdp8{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.list.svelte-1osjdp8 li:where(.svelte-1osjdp8){display:flex;gap:.4rem;align-items:stretch}.sent.svelte-1osjdp8{flex:1;min-width:0;display:flex;gap:.7rem;align-items:center;text-align:left;padding:.6rem .8rem;border-radius:12px;border:2px solid var(--line);border-bottom-width:4px;background:var(--surface);font-size:var(--step-0);line-height:1.4;color:var(--ink);cursor:pointer}.sent.placed.svelte-1osjdp8{border-color:var(--accent)}.sent.right.svelte-1osjdp8{border-color:var(--ok);background:var(--ok-bg)}.sent.wrong.svelte-1osjdp8{border-color:var(--word);background:var(--word-bg)}.num.svelte-1osjdp8{flex:none;width:1.7rem;height:1.7rem;border-radius:50%;border:2px dashed var(--line);display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;font-weight:500}.placed.svelte-1osjdp8 .num:where(.svelte-1osjdp8){border:0;background:var(--accent);color:var(--accent-ink)}.hear.svelte-1osjdp8{flex:none;width:44px;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;display:grid;place-items:center}.hear.svelte-1osjdp8 svg:where(.svelte-1osjdp8){width:20px;height:20px;fill:currentColor}.solution.svelte-1osjdp8{margin:0;padding-left:1.3rem;color:var(--ok);display:grid;gap:.2rem}.card-body.svelte-urg7e8{display:grid;gap:1rem}.kicker.svelte-urg7e8{font-size:var(--step-2);font-weight:600;font-family:var(--font-text)}.hint.svelte-urg7e8{color:var(--muted);margin-top:-.6rem}.sentence.svelte-urg7e8{font-size:var(--step-2);line-height:2}.w.svelte-urg7e8{font:inherit;color:var(--ink);background:var(--surface);border:2px solid var(--line);border-bottom-width:3px;border-radius:8px;padding:0 .3rem;margin:0 .05rem;cursor:pointer;line-height:1.35}.w.svelte-urg7e8:hover:not(:disabled){border-color:var(--accent)}.w.svelte-urg7e8:disabled{cursor:default}.w.hit.svelte-urg7e8{border-color:var(--mark);background:var(--mark-bg)}.w.miss.svelte-urg7e8{border-color:var(--word);background:var(--word-bg);animation:svelte-urg7e8-shake .35s}.w.reveal.svelte-urg7e8{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.options.svelte-urg7e8{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem}.opt.svelte-urg7e8{display:flex;align-items:center;gap:.6rem;min-height:52px;padding:.5rem .9rem;border-radius:14px;border:2px solid var(--line);border-bottom-width:4px;background:var(--surface);font-family:var(--font-text);font-size:var(--step-1);color:var(--ink);cursor:pointer}.opt.right.svelte-urg7e8{border-color:var(--ok);background:var(--ok-bg)}.opt.wrong.svelte-urg7e8{border-color:var(--word);background:var(--word-bg)}.key.svelte-urg7e8{width:1.5rem;height:1.5rem;border-radius:6px;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--font-mono);font-size:12px;color:var(--muted)}@keyframes svelte-urg7e8-shake{25%,75%{transform:translate(-4px)}50%{transform:translate(4px)}}.letters.svelte-tawcit{display:flex;gap:.3rem;flex-wrap:wrap}button.svelte-tawcit{width:40px;height:40px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-family:var(--font-text);font-size:1.15rem;cursor:pointer}button.svelte-tawcit:hover{border-color:var(--muted)}.card-body.svelte-92jiwg{display:grid;gap:1rem}.kicker.svelte-92jiwg{font-size:var(--step-2);font-weight:600;font-family:var(--font-text)}.sentence.svelte-92jiwg{font-size:var(--step-2);line-height:1.8}.gap.svelte-92jiwg{font:inherit;font-size:1em;text-align:center;border:0;border-bottom:3px solid var(--muted);background:var(--sunk);color:var(--ink);border-radius:6px 6px 0 0;padding:0 .2rem;margin:0 .15rem;max-width:80vw}.gap.svelte-92jiwg:focus{outline:none;border-bottom-color:var(--accent);background:var(--accent-soft)}.gap.right.svelte-92jiwg{border-bottom-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.gap.wrong.svelte-92jiwg{border-bottom-color:var(--word);background:var(--word-bg);text-decoration:line-through}.solution.svelte-92jiwg{font-size:var(--step-1);color:var(--ok);font-weight:600}.check.svelte-92jiwg{min-height:48px}.hearts.svelte-bnw685{display:inline-flex;gap:3px}svg.svelte-bnw685{width:var(--s);height:var(--s);fill:#e0484f;transition:transform .2s,opacity .2s}svg.empty.svelte-bnw685{fill:var(--sunk);stroke:var(--line);stroke-width:1.5}.shake.svelte-bnw685{animation:svelte-bnw685-shake .5s}@keyframes svelte-bnw685-shake{20%,60%{transform:translate(-4px) rotate(-4deg)}40%,80%{transform:translate(4px) rotate(4deg)}}.quiz.svelte-nqjba5{display:grid;gap:1.5rem;padding-bottom:12rem;overflow-x:clip}.top.svelte-nqjba5{display:flex;align-items:center;gap:.9rem;padding-top:.75rem}.quit.svelte-nqjba5{border:0;background:none;font-size:1.3rem;color:var(--muted);cursor:pointer;width:36px;height:36px}.bar.svelte-nqjba5{flex:1;height:14px;border-radius:999px;background:var(--sunk);overflow:hidden}.fill.svelte-nqjba5{height:100%;border-radius:999px;background:var(--accent);transition:width .4s cubic-bezier(.3,1.4,.6,1);box-shadow:inset 0 -4px #0000001f}.count.svelte-nqjba5{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted)}.card-wrap.svelte-nqjba5{animation:svelte-nqjba5-slide .25s ease-out}@keyframes svelte-nqjba5-slide{0%{opacity:0;transform:translate(24px)}}.sheet.svelte-nqjba5{position:fixed;inset:auto 0 0;z-index:20;padding-bottom:env(safe-area-inset-bottom,0px);animation:svelte-nqjba5-up .22s ease-out;border-top:2px solid}.sheet.good.svelte-nqjba5{background:var(--ok-bg);border-color:var(--ok)}.sheet.bad.svelte-nqjba5{background:var(--word-bg);border-color:var(--word)}@keyframes svelte-nqjba5-up{0%{transform:translateY(100%)}}.sheet-inner.svelte-nqjba5{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.5rem;padding-block:1rem 1.1rem}.msg.svelte-nqjba5{display:grid;gap:.35rem;min-width:0;flex:1 1 18rem}.title.svelte-nqjba5{font-size:var(--step-2);font-weight:600}.good.svelte-nqjba5 .title:where(.svelte-nqjba5){color:var(--ok)}.bad.svelte-nqjba5 .title:where(.svelte-nqjba5){color:var(--word)}.why.svelte-nqjba5,.ref.svelte-nqjba5,.again.svelte-nqjba5{font-size:var(--step-0)}.ref.svelte-nqjba5 .en:where(.svelte-nqjba5){display:block;color:var(--muted);font-size:var(--step--1)}.again.svelte-nqjba5{color:var(--muted);font-size:var(--step--1)}.go.svelte-nqjba5{min-width:9rem;min-height:52px;font-size:var(--step-1);border:0;color:#fff;box-shadow:0 4px #0003}.good.svelte-nqjba5 .go:where(.svelte-nqjba5){background:var(--ok)}.bad.svelte-nqjba5 .go:where(.svelte-nqjba5){background:var(--word)}@media(max-width:480px){.go.svelte-nqjba5{width:100%}}.intro.svelte-11he2w5,.done.svelte-11he2w5{display:grid;gap:1rem;padding-top:1rem;justify-items:start}.done.svelte-11he2w5{justify-items:center;text-align:center;padding-top:3rem}h1.svelte-11he2w5{font-size:var(--step-3);font-family:var(--font-text)}.done.svelte-11he2w5 h1:where(.svelte-11he2w5){color:var(--ok)}.lede.svelte-11he2w5,.score.svelte-11he2w5{font-size:var(--step-1);max-width:34rem}.big.svelte-11he2w5{min-height:56px;font-size:var(--step-1);background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 4px color-mix(in srgb,var(--accent) 60%,black)}.forms.svelte-11he2w5{width:100%;padding:.9rem 1rem;display:grid;gap:.5rem}.forms.svelte-11he2w5 ul:where(.svelte-11he2w5){list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.forms.svelte-11he2w5 span:where(.svelte-11he2w5){color:var(--muted)}.muted.svelte-11he2w5{color:var(--muted);font-size:var(--step--1)}.center.svelte-11he2w5{justify-content:center}.player.svelte-y66ne{display:grid;gap:.35rem;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.controls.svelte-y66ne{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.seek.svelte-y66ne,.speeds.svelte-y66ne{display:flex;gap:.25rem}.ctl.svelte-y66ne{position:relative;width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--muted)}.ctl.svelte-y66ne:hover{background:var(--sunk);color:var(--ink)}.ctl.svelte-y66ne svg:where(.svelte-y66ne){width:26px;height:26px;fill:currentColor}.ctl.svelte-y66ne span:where(.svelte-y66ne){position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:9px;font-weight:500}.play.svelte-y66ne{flex:none;width:52px;height:52px;border-radius:50%;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;display:grid;place-items:center}.play.svelte-y66ne svg:where(.svelte-y66ne){width:26px;height:26px;fill:currentColor}.speed.svelte-y66ne{min-width:44px;height:36px;border-radius:8px;border:1px solid var(--line);background:transparent;cursor:pointer;font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted)}.speed.on.svelte-y66ne{background:var(--ink);border-color:var(--ink);color:var(--bg)}.bar-row.svelte-y66ne{display:flex;align-items:center;gap:.5rem}.time.svelte-y66ne{font-family:var(--font-mono);font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:2.4em}.bar.svelte-y66ne{position:relative;flex:1;height:18px;display:flex;align-items:center;cursor:pointer;touch-action:none;background:linear-gradient(var(--sunk),var(--sunk)) center / 100% 4px no-repeat}.fill.svelte-y66ne{height:4px;border-radius:2px;background:var(--accent)}.err.svelte-y66ne{font-size:var(--step--1);color:var(--word)}.hint.svelte-y66ne{font-size:12px;color:var(--muted)}@media(max-width:380px){.ctl.svelte-y66ne{width:38px}.speed.svelte-y66ne{min-width:40px}}.listen.svelte-mq7pvk{display:grid;gap:1rem}.levels.svelte-mq7pvk{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.lvl.svelte-mq7pvk{display:grid;text-align:left;padding:.35rem .75rem;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;min-width:6.5rem}.lvl.on.svelte-mq7pvk{border-color:var(--accent);background:var(--accent-soft)}.lvl.svelte-mq7pvk:disabled{opacity:.45;cursor:default}.lvl-name.svelte-mq7pvk{font-weight:600}.lvl-sub.svelte-mq7pvk{font-family:var(--font-mono);font-size:10.5px;color:var(--muted)}.peek.svelte-mq7pvk{position:relative;display:grid;gap:.4rem;text-align:left;padding:.75rem;border:2px dashed var(--line);border-radius:14px;background:none;cursor:pointer;overflow:hidden}.blur.svelte-mq7pvk{font-size:var(--step-2);filter:blur(7px);-webkit-user-select:none;user-select:none;color:var(--ink)}.peek-label.svelte-mq7pvk{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:600;color:var(--accent)}.unlock.svelte-mq7pvk{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center;padding:.6rem 1rem;border-radius:12px;background:var(--mark-bg)}.head.svelte-mq7pvk{padding-top:.75rem;display:grid;gap:.2rem}h1.svelte-mq7pvk{font-size:var(--step-3)}.sub.svelte-mq7pvk{color:var(--muted)}.step.svelte-mq7pvk{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.n.svelte-mq7pvk{width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ink);color:var(--bg);display:grid;place-items:center;font-size:12px}.sticky.svelte-mq7pvk{position:sticky;top:calc(env(safe-area-inset-top,0px) + 53px);z-index:5;padding-block:.25rem;background:linear-gradient(var(--bg) 85%,transparent)}.text.svelte-mq7pvk{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.text.svelte-mq7pvk li:where(.svelte-mq7pvk){display:grid;grid-template-columns:1fr auto;border-radius:10px;padding:.1rem .25rem;transition:background .2s}.text.svelte-mq7pvk li.active:where(.svelte-mq7pvk){background:var(--mark-bg)}.sent.svelte-mq7pvk{text-align:left;border:0;background:none;padding:.3rem;font-size:var(--step-2);line-height:1.45;color:var(--ink);cursor:pointer}.en-toggle.svelte-mq7pvk{border:0;background:none;font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:.5rem;cursor:pointer;align-self:start}.en-toggle[aria-pressed=true].svelte-mq7pvk{color:var(--accent)}.en.svelte-mq7pvk{grid-column:1 / -1;color:var(--muted);padding:0 .3rem .4rem}.cta.svelte-mq7pvk{display:grid;gap:.6rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--line)}.big.svelte-mq7pvk{min-height:56px;font-size:var(--step-1);background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 4px color-mix(in srgb,var(--accent) 60%,black)}.big.svelte-mq7pvk:active{transform:translateY(3px);box-shadow:0 1px color-mix(in srgb,var(--accent) 60%,black)}.pulse.svelte-mq7pvk{animation:svelte-mq7pvk-breathe 1.6s ease-in-out infinite}@keyframes svelte-mq7pvk-breathe{50%{transform:scale(1.03)}}.result.svelte-mq7pvk{position:relative;display:grid;justify-items:center;text-align:center;gap:.9rem;padding-top:2.5rem}.result.svelte-mq7pvk h1:where(.svelte-mq7pvk){font-size:clamp(2.2rem,9vw,3rem)}.result.good.svelte-mq7pvk h1:where(.svelte-mq7pvk){color:var(--ok)}.result.bad.svelte-mq7pvk h1:where(.svelte-mq7pvk){color:var(--word)}.score.svelte-mq7pvk{font-size:var(--step-1);max-width:30rem}.tricky.svelte-mq7pvk{width:100%;text-align:left;padding:.9rem 1rem;display:grid;gap:.5rem}.tricky.svelte-mq7pvk ul:where(.svelte-mq7pvk){margin:0;padding-left:1.1rem;display:grid;gap:.35rem}.center.svelte-mq7pvk{justify-content:center}.burst.svelte-mq7pvk{position:absolute;top:3.3rem;left:50%;width:0;height:0;pointer-events:none}.burst.svelte-mq7pvk span:where(.svelte-mq7pvk){position:absolute;width:8px;height:8px;border-radius:2px;background:var(--mark);animation:svelte-mq7pvk-fly .9s var(--d) ease-out forwards;opacity:0}.burst.svelte-mq7pvk span:where(.svelte-mq7pvk):nth-child(3n){background:var(--accent)}.burst.svelte-mq7pvk span:where(.svelte-mq7pvk):nth-child(3n+1){background:#e0484f}@keyframes svelte-mq7pvk-fly{0%{opacity:1;transform:rotate(var(--a)) translateY(0)}to{opacity:0;transform:rotate(var(--a)) translateY(-110px) rotate(200deg)}}.listen.svelte-uoqbl0{display:grid;gap:1rem}.sticky.svelte-uoqbl0{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;padding-top:.5rem;background:linear-gradient(var(--bg) 85%,transparent)}.heard.svelte-uoqbl0{margin-left:auto}.text.svelte-uoqbl0{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.text.svelte-uoqbl0 li:where(.svelte-uoqbl0){display:grid;grid-template-columns:1fr auto;align-items:start;border-radius:8px;padding:.15rem .25rem;transition:background .2s}.text.svelte-uoqbl0 li.active:where(.svelte-uoqbl0){background:var(--mark-bg)}.sent.svelte-uoqbl0{text-align:left;border:0;background:none;padding:.25rem;font-size:var(--step-1);line-height:1.55;cursor:pointer;color:var(--ink)}.en-toggle.svelte-uoqbl0{border:0;background:none;font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:.5rem;cursor:pointer}.en-toggle[aria-pressed=true].svelte-uoqbl0{color:var(--accent)}.en.svelte-uoqbl0{grid-column:1 / -1;padding:0 .25rem .4rem;color:var(--muted);font-size:var(--step-0)}.blind.svelte-uoqbl0{font-size:var(--step-2);color:var(--muted);padding:2rem 0;text-align:center}.end.svelte-uoqbl0{justify-content:space-between}.write.svelte-awbepq{display:grid;gap:1rem}.prompts.svelte-awbepq{display:grid;gap:.5rem}.prompt.svelte-awbepq{text-align:left;padding:.7rem .9rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);cursor:pointer}.prompt.on.svelte-awbepq{border-color:var(--accent);background:var(--accent-soft)}.hint.svelte-awbepq{color:var(--muted);font-style:italic}.chips-box.svelte-awbepq summary:where(.svelte-awbepq){cursor:pointer}.chips.svelte-awbepq{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.chip.svelte-awbepq{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:.25rem .7rem;cursor:pointer;font-size:.95rem}.chip.svelte-awbepq small:where(.svelte-awbepq){font-family:var(--font-ui);color:var(--muted);font-size:11px}textarea.svelte-awbepq{width:100%;box-sizing:border-box;font-size:1.15rem;line-height:1.6;padding:.75rem .9rem;border-radius:var(--radius);border:1.5px solid var(--line);background:var(--surface);color:var(--ink);resize:vertical}textarea.svelte-awbepq:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.error.svelte-awbepq{color:var(--word)}.fallback.svelte-awbepq{display:grid;gap:.5rem;justify-items:start;color:var(--muted)}.fallback.svelte-awbepq textarea:where(.svelte-awbepq){font-family:var(--font-mono);font-size:11px}.result.svelte-awbepq,.past.svelte-awbepq{padding:1rem;display:grid;gap:.75rem}.mine.svelte-awbepq{font-size:var(--step-1);color:var(--muted)}.fb.svelte-awbepq{display:grid;gap:.9rem}.praise.svelte-awbepq{color:var(--ok)}.diff.svelte-awbepq,.natural.svelte-awbepq{font-size:var(--step-1);line-height:1.7}ins.svelte-awbepq{text-decoration:none;background:var(--ok-bg);color:var(--ink);border-radius:3px;padding:0 2px}del.svelte-awbepq{color:var(--word);text-decoration-thickness:1.5px}.changes.svelte-awbepq{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.changes.svelte-awbepq li:where(.svelte-awbepq){display:grid;gap:.15rem;grid-template-columns:auto 1fr;column-gap:.6rem}.changes.svelte-awbepq .why:where(.svelte-awbepq){grid-column:2;color:var(--muted)}.kind.svelte-awbepq{font-family:var(--font-mono);font-size:10.5px;border-radius:4px;padding:.1rem .35rem;align-self:start;margin-top:.2rem;background:var(--sunk)}.k-grammar.svelte-awbepq{background:var(--grammar-bg);color:var(--grammar)}.k-word.svelte-awbepq{background:var(--word-bg);color:var(--word)}.k-spelling.svelte-awbepq{background:var(--sound-bg);color:var(--sound)}.tips.svelte-awbepq{margin:.3rem 0 0;padding-left:1.1rem;display:grid;gap:.3rem}.history.svelte-awbepq{display:grid;gap:.75rem}.history.svelte-awbepq summary:where(.svelte-awbepq){cursor:pointer}.history.svelte-awbepq .past:where(.svelte-awbepq){margin-top:.75rem}.top.svelte-1n46o8q{position:sticky;top:env(safe-area-inset-top,0px);z-index:8;background:var(--bg);border-bottom:1px solid var(--line)}.bar.svelte-1n46o8q{display:flex;align-items:center;justify-content:space-between;min-height:52px;gap:1rem}.brand.svelte-1n46o8q{font-weight:600;font-size:var(--step-1);text-decoration:none;color:var(--ink)}nav.svelte-1n46o8q{gap:.75rem;flex-wrap:nowrap}.icon.svelte-1n46o8q{width:38px;height:38px;border:0;border-radius:10px;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center}.icon.svelte-1n46o8q:hover{background:var(--sunk);color:var(--ink)}.icon.svelte-1n46o8q svg:where(.svelte-1n46o8q){width:22px;height:22px;fill:currentColor}.icon.svelte-1n46o8q .s:where(.svelte-1n46o8q){fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.nav.svelte-1n46o8q{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;font-weight:600;color:var(--muted)}.nav.on.svelte-1n46o8q,.nav.svelte-1n46o8q:hover{color:var(--accent)}.badge.svelte-1n46o8q{min-width:1.35rem;height:1.35rem;padding:0 .3rem;border-radius:999px;background:var(--mark);color:#1b1405;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px}main.svelte-1n46o8q{padding-block:.5rem 3rem;display:grid;gap:.75rem}.ex-head.svelte-1n46o8q{padding:.75rem 0 .25rem;display:grid;gap:.2rem}.back.svelte-1n46o8q{font-size:var(--step--1);color:var(--muted);text-decoration:none}.ex-head.svelte-1n46o8q h1:where(.svelte-1n46o8q){font-size:var(--step-2)}.ex-head.svelte-1n46o8q .en:where(.svelte-1n46o8q){font-family:var(--font-ui);font-size:var(--step-0);font-weight:400;color:var(--muted)}.foot.svelte-1n46o8q{padding-block:1.5rem calc(1.5rem + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
