:root{--bg:#f1e9d2;--surface:#faf3df;--surface-2:#f5edd4;--surface-sunken:#e8debe;--text:#3a2f1f;--text-h:#1c1409;--text-dim:#7d7058;--border:#d9cdaf;--border-strong:#c1b290;--accent:#3a4a6e;--accent-strong:#2d3a58;--accent-bg:#3a4a6e17;--success:#5b7a3a;--success-bg:#5b7a3a1a;--warning:#b07726;--warning-bg:#b077261f;--danger:#a64138;--danger-bg:#a641381a;--focus-ring:0 0 0 3px #3a4a6e59;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif;--mono:ui-monospace, Consolas, monospace;--fs-xs:.75rem;--fs-sm:.875rem;--fs-base:1rem;--fs-md:1.125rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-pill:999px;--shadow-sm:0 1px 2px #1c14090f;--shadow-md:0 4px 12px #1c14091f;--dur-fast:.12s;--dur-base:.2s;--ease-out:cubic-bezier(.2, .8, .2, 1);--content-max:64rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1f1a13;--surface:#2a2418;--surface-2:#322b1d;--surface-sunken:#14110c;--text:#e0d6c0;--text-h:#faf2dd;--text-dim:#968878;--border:#3d3527;--border-strong:#4f4534;--accent:#8ea0c5;--accent-strong:#a8b6d6;--accent-bg:#8ea0c526;--success:#9bbd6c;--success-bg:#9bbd6c24;--warning:#d9a050;--warning-bg:#d9a05029;--danger:#d6786d;--danger-bg:#d6786d24;--focus-ring:0 0 0 3px #8ea0c573;--shadow-sm:0 1px 2px #00000073;--shadow-md:0 4px 16px #0000008c}}*,:before,:after{box-sizing:border-box}body{min-height:100vh;font:var(--fs-base) / 1.5 var(--sans);color:var(--text);background:var(--bg);margin:0}a{color:var(--accent)}.jp{font-family:var(--jp)}:where(button,[role=button],a,input,select,textarea):focus-visible{box-shadow:var(--focus-ring);outline:none}.speaker.svelte-1j7vlq5{cursor:pointer;color:var(--text-dim);background:0 0;border:1px solid #0000;border-radius:.25rem;flex:none;justify-content:center;align-items:center;padding:.125rem .25rem;font-size:.875rem;line-height:1;display:inline-flex}.speaker.svelte-1j7vlq5:hover:not(:disabled){border-color:var(--border);color:var(--text)}.speaker.svelte-1j7vlq5:disabled{opacity:.5;cursor:not-allowed}.speaker-sm.svelte-1j7vlq5{font-size:.875rem}.speaker-md.svelte-1j7vlq5{padding:.25rem .375rem;font-size:1.0625rem}dialog.svelte-1cplwtb{color:var(--text);background:0 0;border:none;width:100%;max-width:90vw;padding:0}dialog.svelte-1cplwtb::backdrop{background:#1c140973}.size-sm.svelte-1cplwtb{max-width:22rem}.size-md.svelte-1cplwtb{max-width:28rem}.size-lg.svelte-1cplwtb{max-width:36rem}.panel.svelte-1cplwtb{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex}.title.svelte-1cplwtb h2{font-size:var(--fs-md);color:var(--text-h);margin:0}.body.svelte-1cplwtb p{color:var(--text-dim);margin:0}.actions.svelte-1cplwtb{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-1);display:flex}.btn.svelte-1xko78n{justify-content:center;align-items:center;gap:var(--s-2);font:inherit;border-radius:var(--r-md);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border:1px solid #0000;font-weight:500;line-height:1.2;display:inline-flex}.btn.svelte-1xko78n:disabled{cursor:not-allowed;opacity:.55}.sm.svelte-1xko78n{padding:var(--s-1) var(--s-3);font-size:var(--fs-sm)}.md.svelte-1xko78n{padding:var(--s-2) var(--s-4);font-size:var(--fs-sm)}.lg.svelte-1xko78n{padding:var(--s-3) var(--s-5);font-size:var(--fs-base)}.primary.svelte-1xko78n{background:var(--accent);color:var(--surface);border-color:var(--accent)}.primary.svelte-1xko78n:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.ghost.svelte-1xko78n{color:var(--text);border-color:var(--border);background:0 0}.ghost.svelte-1xko78n:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong);color:var(--text-h)}.destructive.svelte-1xko78n{background:var(--danger);color:var(--surface);border-color:var(--danger)}.destructive.svelte-1xko78n:hover:not(:disabled){filter:brightness(.92)}.text-field.svelte-o02g58{width:100%;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out)}.text-field.svelte-o02g58::placeholder{color:var(--text-dim)}.text-field.svelte-o02g58:hover:not(:disabled){border-color:var(--border-strong)}.text-field.svelte-o02g58:disabled{cursor:not-allowed;opacity:.6}.badge.svelte-16wd81y{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;padding:.125rem var(--s-2);border-radius:var(--r-pill);border:1px solid #0000;align-items:center;font-weight:500;line-height:1.4;display:inline-flex}.neutral.svelte-16wd81y{background:var(--surface-sunken);color:var(--text-dim)}.accent.svelte-16wd81y{background:var(--accent-bg);color:var(--accent-strong)}.success.svelte-16wd81y{background:var(--success-bg);color:var(--success)}.warning.svelte-16wd81y{background:var(--warning-bg);color:var(--warning)}.danger.svelte-16wd81y{background:var(--danger-bg);color:var(--danger)}.title-row.svelte-z8gn70{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.link.svelte-z8gn70{color:var(--accent);cursor:pointer;font:inherit;font-size:var(--fs-sm);background:0 0;border:none;padding:0}.form.svelte-z8gn70,.field.svelte-z8gn70{gap:var(--s-1);flex-direction:column;display:flex}.form.svelte-z8gn70{gap:var(--s-3)}.field.svelte-z8gn70 span:where(.svelte-z8gn70){color:var(--text-dim);font-size:var(--fs-sm)}select.svelte-z8gn70{padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm)}.lookup-input.svelte-z8gn70{gap:var(--s-2);align-items:stretch;display:flex}.lookup-input.svelte-z8gn70 .text-field{flex:1}.hint.svelte-z8gn70{color:var(--text-dim);font-size:var(--fs-sm);margin:0}.candidates.svelte-z8gn70{gap:var(--s-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.candidate.svelte-z8gn70{text-align:left;width:100%;padding:var(--s-2) var(--s-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;font:inherit;color:var(--text);align-items:baseline;gap:var(--s-1) var(--s-2);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-wrap:wrap;display:flex}.candidate.svelte-z8gn70:hover{border-color:var(--accent);background:var(--accent-bg)}.cand-rom.svelte-z8gn70{color:var(--text-h);font-weight:600}.cand-text.svelte-z8gn70{color:var(--text-dim)}.cand-type-slot.svelte-z8gn70{margin-left:auto}.cand-note.svelte-z8gn70{width:100%;color:var(--text-dim);font-size:var(--fs-sm);font-style:italic}.clarification.svelte-z8gn70{padding:var(--s-2) var(--s-3);background:var(--warning-bg);border-left:3px solid var(--warning);border-radius:var(--r-sm);color:var(--text);font-size:var(--fs-sm);margin:0}.banner.svelte-z8gn70{padding:var(--s-2) var(--s-3);background:var(--accent-bg);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-dim);margin:0}.banner.svelte-z8gn70 code:where(.svelte-z8gn70){font-family:var(--mono);background:var(--surface-sunken);padding:0 var(--s-1);border-radius:var(--r-sm)}.note.svelte-z8gn70{color:var(--text-dim);font-size:var(--fs-sm);margin:0;font-style:italic}.sample-readonly.svelte-z8gn70{padding:var(--s-2) var(--s-3);background:var(--accent-bg);border-radius:var(--r-sm);font-size:var(--fs-sm)}.sample-label.svelte-z8gn70{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:var(--s-1);font-weight:600;display:block}.sample-japanese.svelte-z8gn70{color:var(--text-h)}.sample-romaji.svelte-z8gn70{margin-top:var(--s-1);font-weight:500}.sample-english.svelte-z8gn70{margin-top:var(--s-1);color:var(--text-dim)}.warning.svelte-z8gn70{font-size:var(--fs-sm);color:var(--warning);margin:0}.error.svelte-z8gn70{font-size:var(--fs-sm);color:var(--danger);margin:0}.menu-wrap.svelte-1saa0ko{display:inline-block;position:relative}.trigger-slot.svelte-1saa0ko{display:contents}.panel.svelte-1saa0ko{margin-top:var(--s-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-md);z-index:10;min-width:8rem;padding:var(--s-1);flex-direction:column;display:flex;position:absolute;top:100%}.panel.align-right.svelte-1saa0ko{right:0}.panel.align-left.svelte-1saa0ko{left:0}.panel.svelte-1saa0ko button{text-align:left;padding:var(--s-2) var(--s-3);font:inherit;font-size:var(--fs-sm);color:var(--text);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:none}.panel.svelte-1saa0ko button:hover{background:var(--accent-bg)}.panel.svelte-1saa0ko button.destructive{color:var(--danger)}.mic-input.svelte-i3y2g3{align-items:stretch;gap:var(--s-2);display:flex}.mic-input.disabled.svelte-i3y2g3{opacity:.6}.mic-input.no-lang.svelte-i3y2g3 .mic:where(.svelte-i3y2g3){order:-1}.mic-input.no-field.svelte-i3y2g3{justify-content:center}.mic-input.no-field.svelte-i3y2g3 .text-field:where(.svelte-i3y2g3){display:none}.lang-pill.svelte-i3y2g3{padding:0 var(--s-3);background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);font:inherit;font-size:var(--fs-sm);cursor:pointer;min-width:3rem;transition:border-color var(--dur-fast) var(--ease-out);flex:none;font-weight:600}.lang-pill.svelte-i3y2g3:hover:not(:disabled){border-color:var(--border-strong)}.lang-pill.svelte-i3y2g3:disabled{cursor:not-allowed;opacity:.6}.text-field.svelte-i3y2g3{min-width:0;padding:var(--s-2) var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm);transition:border-color var(--dur-fast) var(--ease-out);flex:1}.text-field.svelte-i3y2g3:hover:not(:disabled){border-color:var(--border-strong)}.text-field.listening.svelte-i3y2g3{color:var(--text-dim);font-style:italic}.mic.svelte-i3y2g3{border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--text);font-size:var(--fs-lg);cursor:pointer;transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex:none;justify-content:center;align-items:center;line-height:1;display:flex}.mic.svelte-i3y2g3:disabled{cursor:not-allowed;opacity:.6}.mic.listening.svelte-i3y2g3{background:var(--danger);color:var(--surface);border-color:var(--danger);animation:1.4s ease-in-out infinite svelte-i3y2g3-pulse}.mic.pending.svelte-i3y2g3{background:var(--accent);color:var(--surface);border-color:var(--accent)}.mic.error.svelte-i3y2g3{border-color:var(--danger);color:var(--danger)}@keyframes svelte-i3y2g3-pulse{0%,to{box-shadow:0 0 #a6413866}50%{box-shadow:0 0 0 .5rem #a6413800}}.pending-bar.svelte-i3y2g3{align-items:center;gap:var(--s-2);margin-top:var(--s-1);height:1.25rem;display:flex}.bar-fill.svelte-i3y2g3{background:var(--accent);border-radius:1.5px;flex:1;height:3px;transition:width .1s linear}.edit-btn.svelte-i3y2g3{color:var(--accent);font:inherit;font-size:var(--fs-xs);cursor:pointer;padding:0 var(--s-1);background:0 0;border:none;flex:none}.error.svelte-i3y2g3{margin:var(--s-1) 0 0;font-size:var(--fs-xs);color:var(--danger)}.hint.svelte-i3y2g3{margin:var(--s-1) 0 0;font-size:var(--fs-xs);color:var(--text-dim)}.title-row.svelte-g79wai{justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.title-actions.svelte-g79wai{align-items:center;gap:var(--s-1);display:inline-flex}.title-iconbtn.svelte-g79wai{color:var(--text-dim);font-size:var(--fs-lg);cursor:pointer;padding:var(--s-1) var(--s-2);border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;line-height:1}.title-iconbtn.svelte-g79wai:hover{color:var(--text-h)}.lead.svelte-g79wai{text-align:center;padding:var(--s-2) 0 var(--s-5);border-bottom:1px solid var(--border)}.lead-script.svelte-g79wai{font-size:var(--fs-xl,2rem);color:var(--text-h);margin-bottom:var(--s-2);word-break:break-word;line-height:1.1}.lead-row.svelte-g79wai{justify-content:center;align-items:center;gap:var(--s-2);margin-bottom:var(--s-1);display:flex}.lead-romaji.svelte-g79wai{font-size:var(--fs-lg);color:var(--text);font-weight:600}.lead-meaning.svelte-g79wai{color:var(--text-dim);font-size:var(--fs-sm)}.refresh-status.svelte-g79wai{margin:var(--s-2) 0 0;padding:var(--s-1) var(--s-3);background:var(--accent-bg);border-radius:var(--r-sm);color:var(--text-dim);font-size:var(--fs-sm);text-align:center}.refresh-status.error.svelte-g79wai{background:var(--danger-bg,var(--accent-bg));color:var(--danger)}.sample.svelte-g79wai{padding:var(--s-4) 0 var(--s-2)}.repeat.svelte-g79wai{padding:var(--s-4) 0 0}.sample.svelte-g79wai h3:where(.svelte-g79wai){margin:0 0 var(--s-2);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:600}.repeat-row.svelte-g79wai{justify-content:center;align-items:center;min-height:2.75rem;display:flex}.verdict-icon.svelte-g79wai{border-radius:var(--r-pill);width:2.75rem;height:2.75rem;font-size:var(--fs-lg);border:1px solid #0000;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.verdict-icon.correct.svelte-g79wai{background:var(--success);color:var(--surface);border-color:var(--success)}.verdict-icon.wrong.svelte-g79wai{background:var(--danger);color:var(--surface);border-color:var(--danger)}.feedback-slot.svelte-g79wai{min-height:2em}.sample-row.svelte-g79wai{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.sample-japanese.svelte-g79wai{font-size:var(--fs-md);color:var(--text-h)}.sample-romaji.svelte-g79wai{margin-top:var(--s-1);color:var(--text);font-weight:500}.sample-english.svelte-g79wai{margin-top:var(--s-1);color:var(--text-dim);font-size:var(--fs-sm)}.transcript.svelte-g79wai{margin:var(--s-2) 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.transcript.svelte-g79wai code:where(.svelte-g79wai){color:var(--text-h);background:var(--accent-bg);padding:0 var(--s-1);border-radius:var(--r-sm)}.card.svelte-7d5xe5{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-5)}.card.tight.svelte-7d5xe5{padding:var(--s-3) var(--s-4)}.panel.svelte-12pjkl5{max-width:var(--content-max);padding:var(--s-4) var(--s-2);margin:0 auto}header.svelte-12pjkl5{gap:var(--s-2);align-items:stretch;display:flex}header.svelte-12pjkl5 .text-field{flex:1}.sort.svelte-12pjkl5{align-items:center;gap:var(--s-1);color:var(--text-dim);font-size:var(--fs-sm);padding:var(--s-3) 0 var(--s-2);display:flex}.sort.svelte-12pjkl5 button:where(.svelte-12pjkl5){padding:var(--s-1) var(--s-2);color:var(--text-dim);font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:none}.sort.svelte-12pjkl5 button:where(.svelte-12pjkl5):hover{color:var(--text-h)}.sort.svelte-12pjkl5 button.active:where(.svelte-12pjkl5){color:var(--text-h);background:var(--accent-bg)}.entries.svelte-12pjkl5{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));margin:0;padding:0;list-style:none;display:grid}.entry-card.svelte-12pjkl5{display:contents}.card-button.svelte-12pjkl5{width:100%;text-align:inherit;font:inherit;color:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:var(--s-4);gap:var(--s-1);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;display:flex}.card-button.svelte-12pjkl5:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.card-button.svelte-12pjkl5:active{transform:scale(.99)}.card-head.svelte-12pjkl5{justify-content:space-between;align-items:center;gap:var(--s-2);min-width:0;display:flex}.card-script.svelte-12pjkl5{min-width:0;font-size:var(--fs-md);color:var(--text);word-break:break-word;flex:1;font-weight:400;line-height:1.3}.card-actions.svelte-12pjkl5{align-items:center;gap:var(--s-1);flex-shrink:0;display:flex}.card-romaji.svelte-12pjkl5{font-size:var(--fs-lg);color:var(--text);word-break:break-word;font-weight:600;line-height:1.3}.card-footer.svelte-12pjkl5{justify-content:space-between;align-items:center;gap:var(--s-2);padding-top:var(--s-3);margin-top:auto;display:flex}.card-meaning.svelte-12pjkl5{min-width:0;color:var(--text-dim);font-size:var(--fs-sm);word-break:break-word;flex:1;line-height:1.4}.card.empty{text-align:center;padding:var(--s-7) var(--s-4);margin:var(--s-5) auto;max-width:28rem}.card.empty h2{color:var(--text-h);margin:0 0 var(--s-2);font-size:var(--fs-lg)}.card.empty p{color:var(--text-dim);margin:0 0 var(--s-5);font-size:var(--fs-sm)}.empty-search.svelte-12pjkl5{text-align:center;color:var(--text-dim);padding:var(--s-6) var(--s-4);font-size:var(--fs-sm)}.empty-import.svelte-12pjkl5{margin:var(--s-3) 0 0}.link-button.svelte-12pjkl5{color:var(--accent);font:inherit;font-size:var(--fs-sm);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-button.svelte-12pjkl5:hover{color:var(--accent-strong)}.io-message.svelte-12pjkl5{margin:var(--s-3) 0 0;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-size:var(--fs-sm)}.io-message.success.svelte-12pjkl5{background:var(--accent-bg);color:var(--text-h)}.io-message.error.svelte-12pjkl5{background:var(--danger-bg,var(--accent-bg));color:var(--danger,var(--text-h))}.refresh-progress.svelte-12pjkl5{margin:var(--s-3) 0 0;padding:var(--s-2) var(--s-3);background:var(--accent-bg);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text);justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.drill.svelte-5p2tia{max-width:var(--content-max);padding:var(--s-4) var(--s-2);margin:0 auto}.intro.svelte-5p2tia{text-align:center;padding:var(--s-6) var(--s-4) var(--s-4)}.intro.svelte-5p2tia h2:where(.svelte-5p2tia){color:var(--text-h);font-size:var(--fs-lg);margin:0}.intro.svelte-5p2tia p:where(.svelte-5p2tia){color:var(--text-dim);margin:var(--s-2) 0 0;font-size:var(--fs-sm)}.progress.svelte-5p2tia{color:var(--text-dim);font-size:var(--fs-sm);margin-bottom:var(--s-2);justify-content:space-between;align-items:center;display:flex}.prompt-text.svelte-5p2tia{font-size:var(--fs-lg);color:var(--text-h);margin:var(--s-2) 0 var(--s-4);line-height:1.4}.prompt-token.svelte-5p2tia{color:var(--accent);font-style:italic;font-weight:600}.your-answer.svelte-5p2tia{margin:var(--s-2) 0;color:var(--text-dim);font-size:var(--fs-sm)}.your-answer.svelte-5p2tia code:where(.svelte-5p2tia){background:var(--surface-sunken);padding:.125rem var(--s-1);border-radius:var(--r-sm);font:var(--fs-sm) var(--mono);color:var(--text)}.canonical.svelte-5p2tia{margin:var(--s-2) 0;padding:var(--s-3) var(--s-3);background:var(--accent-bg);border-radius:var(--r-md);align-items:baseline;gap:0 var(--s-1);flex-wrap:wrap;display:flex}.canonical.svelte-5p2tia strong:where(.svelte-5p2tia){color:var(--text-h);font-size:var(--fs-md)}.canonical.svelte-5p2tia .script:where(.svelte-5p2tia){color:var(--text);font-style:italic}.canonical.svelte-5p2tia .meaning:where(.svelte-5p2tia){color:var(--text)}.why.svelte-5p2tia{margin:var(--s-3) 0 var(--s-4);color:var(--text-dim);font-style:italic;font-size:var(--fs-sm)}.ja-token.svelte-5p2tia{color:var(--accent);font-style:normal;font-weight:600}.error.svelte-5p2tia{margin:var(--s-2) 0;color:var(--danger);font-size:var(--fs-sm)}.status.svelte-5p2tia{margin:var(--s-2) 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.center.svelte-5p2tia,.next.svelte-5p2tia{margin-top:var(--s-4);justify-content:center;display:flex}.drill-footer.svelte-5p2tia{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--border);justify-content:center;display:flex}.drill.svelte-1tt93ea{max-width:var(--content-max);padding:var(--s-4) var(--s-2);margin:0 auto}.intro.svelte-1tt93ea{text-align:center;padding:var(--s-6) var(--s-4) var(--s-4)}.intro.svelte-1tt93ea h2:where(.svelte-1tt93ea){color:var(--text-h);font-size:var(--fs-lg);margin:0}.intro.svelte-1tt93ea p:where(.svelte-1tt93ea){color:var(--text-dim);margin:var(--s-2) 0 0;font-size:var(--fs-sm)}.progress.svelte-1tt93ea{color:var(--text-dim);font-size:var(--fs-sm);margin-bottom:var(--s-2);justify-content:space-between;align-items:center;display:flex}.prompt-text.svelte-1tt93ea{font-size:var(--fs-lg);color:var(--text-h);margin:var(--s-2) 0 var(--s-4);line-height:1.4}.your-answer.svelte-1tt93ea{margin:var(--s-2) 0;color:var(--text-dim);font-size:var(--fs-sm)}.your-answer.svelte-1tt93ea code:where(.svelte-1tt93ea){background:var(--surface-sunken);padding:.125rem var(--s-1);border-radius:var(--r-sm);font:var(--fs-sm) var(--mono);color:var(--text)}.canonical.svelte-1tt93ea{margin:var(--s-2) 0;padding:var(--s-3) var(--s-3);background:var(--accent-bg);border-radius:var(--r-md);align-items:baseline;gap:0 var(--s-1);flex-wrap:wrap;display:flex}.canonical.svelte-1tt93ea strong:where(.svelte-1tt93ea){color:var(--text-h);font-size:var(--fs-md)}.canonical.svelte-1tt93ea .script:where(.svelte-1tt93ea){color:var(--text);font-style:italic}.canonical.svelte-1tt93ea .meaning:where(.svelte-1tt93ea){color:var(--text)}.why.svelte-1tt93ea{margin:var(--s-3) 0 var(--s-4);color:var(--text-dim);font-style:italic;font-size:var(--fs-sm)}.ja-token.svelte-1tt93ea{color:var(--accent);font-style:normal;font-weight:600}.error.svelte-1tt93ea{margin:var(--s-2) 0;color:var(--danger);font-size:var(--fs-sm)}.status.svelte-1tt93ea{margin:var(--s-2) 0 0;color:var(--text-dim);font-size:var(--fs-sm)}.center.svelte-1tt93ea,.next.svelte-1tt93ea{margin-top:var(--s-4);justify-content:center;display:flex}.drill-footer.svelte-1tt93ea{margin-top:var(--s-5);padding-top:var(--s-4);border-top:1px solid var(--border);justify-content:center;display:flex}.conversation.svelte-pwhhgn{max-width:var(--content-max);padding:0 var(--s-2) var(--s-4);flex-direction:column;margin:0 auto;display:flex}.thread.svelte-pwhhgn{flex-direction:column;align-self:flex-start;width:100%;max-width:36rem;display:flex}.bar.svelte-pwhhgn{padding:var(--s-3) 0 var(--s-2);border-bottom:1px solid var(--border)}.bar.svelte-pwhhgn h2:where(.svelte-pwhhgn){font-size:var(--fs-md);color:var(--text-h);margin:0;font-weight:600}.turns.svelte-pwhhgn{gap:var(--s-2);padding:var(--s-3) 0;flex-direction:column;display:flex}.bubble.svelte-pwhhgn{padding:var(--s-3);border-radius:var(--r-lg);box-sizing:border-box;word-break:break-word;max-width:52%}.bubble.ai.svelte-pwhhgn{background:var(--surface);border:1px solid var(--border);border-right:3px solid var(--accent);align-self:flex-start;margin-left:48%}.bubble.user.svelte-pwhhgn{background:var(--accent-bg);color:var(--text);border-left:3px solid var(--accent);align-self:flex-end;margin-right:48%}@media (width<=40rem){.bubble.svelte-pwhhgn{max-width:85%}.bubble.ai.svelte-pwhhgn{align-self:flex-end;margin-left:0}.bubble.user.svelte-pwhhgn{align-self:flex-start;margin-right:0}}.bubble.ai.svelte-pwhhgn .lead:where(.svelte-pwhhgn){align-items:baseline;gap:var(--s-1);flex-wrap:wrap;display:flex}.bubble.ai.svelte-pwhhgn strong:where(.svelte-pwhhgn){color:var(--text-h);font-size:var(--fs-md)}.bubble.ai.svelte-pwhhgn .script:where(.svelte-pwhhgn){color:var(--text);margin-top:var(--s-1)}.bubble.ai.svelte-pwhhgn .english:where(.svelte-pwhhgn){color:var(--text-dim);font-size:var(--fs-sm);margin-top:var(--s-1)}.suggestion.svelte-pwhhgn{padding:var(--s-3) var(--s-3);border-radius:var(--r-md);background:var(--warning-bg);border-left:3px solid var(--warning);align-self:stretch}.suggestion.svelte-pwhhgn p:where(.svelte-pwhhgn){color:var(--text);font-size:var(--fs-sm);margin:0}.suggestion.svelte-pwhhgn .script:where(.svelte-pwhhgn){color:var(--accent);font-style:italic;font-weight:600}.suggestion.svelte-pwhhgn .why:where(.svelte-pwhhgn){color:var(--text-dim);font-size:var(--fs-xs);margin-top:var(--s-1);font-style:italic}.suggestion.svelte-pwhhgn .actions:where(.svelte-pwhhgn){gap:var(--s-2);margin-top:var(--s-2);display:flex}.status.svelte-pwhhgn{color:var(--text-dim);font-style:italic;font-size:var(--fs-sm);align-self:flex-start;margin:0}.error.svelte-pwhhgn{color:var(--danger);font-size:var(--fs-sm);margin:0}.input-bar.svelte-pwhhgn{padding:var(--s-2) 0 var(--s-3)}.input-bar.svelte-pwhhgn .mic-input{max-width:52%}@media (width<=40rem){.input-bar.svelte-pwhhgn .mic-input{max-width:none}}.footer.svelte-pwhhgn{justify-content:space-between;align-items:center;gap:var(--s-2);padding:var(--s-3) 0;border-top:1px solid var(--border);display:flex}.autoplay.svelte-pwhhgn{align-items:center;gap:var(--s-1);font-size:var(--fs-xs);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.session.svelte-1dmfeiz{max-width:var(--content-max);padding:var(--s-4) var(--s-2);margin:0 auto}.card.intro-card,.card.picked-card{text-align:center;max-width:32rem;margin:var(--s-5) auto}.card.intro-card h2,.card.picked-card h2{margin:0 0 var(--s-2);color:var(--text-h);font-size:var(--fs-lg);font-weight:600}.card.intro-card p,.card.picked-card .reason{margin:0 0 var(--s-5);color:var(--text-dim);font-size:var(--fs-sm)}.picked-actions.svelte-1dmfeiz{align-items:center;gap:var(--s-3);margin-top:var(--s-4);flex-direction:column;display:flex}.alt-action.svelte-1dmfeiz{margin:var(--s-2) 0 0}.overrides.svelte-1dmfeiz{justify-content:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.status.svelte-1dmfeiz,.error.svelte-1dmfeiz{text-align:center;margin:var(--s-7) 0 var(--s-4);color:var(--text-dim)}.error.svelte-1dmfeiz{color:var(--danger)}.center.svelte-1dmfeiz{justify-content:center;display:flex}.hint.svelte-1dmfeiz{color:var(--text-dim);font-size:var(--fs-xs);text-align:center;max-width:32rem;margin:0}.settings.svelte-1eaqpj{gap:var(--s-3);flex-direction:column;display:flex}.row.svelte-1eaqpj{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.label.svelte-1eaqpj{color:var(--text-h)}.row.svelte-1eaqpj select:where(.svelte-1eaqpj),.row.svelte-1eaqpj input[type=range]:where(.svelte-1eaqpj){flex:none;max-width:60%}.hint.svelte-1eaqpj{margin:calc(-1 * var(--s-2)) 0 0;font-size:var(--fs-sm);color:var(--text-dim)}.preview.svelte-1eaqpj{align-items:center;gap:var(--s-2);margin-top:var(--s-1);display:flex}.app-header.svelte-1n46o8q{max-width:var(--content-max);padding:var(--s-5) var(--s-4) var(--s-3);justify-content:space-between;align-items:baseline;gap:var(--s-3);flex-wrap:wrap;margin:0 auto;display:flex}.brand.svelte-1n46o8q{align-items:baseline;gap:var(--s-3);flex-wrap:wrap;display:flex}.identity-chip.svelte-1n46o8q{font:inherit;font-size:var(--fs-xs);color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:2px var(--s-3);text-overflow:ellipsis;white-space:nowrap;cursor:default;max-width:14rem;line-height:1.6;text-decoration:none;overflow:hidden}button.identity-chip.svelte-1n46o8q{cursor:pointer}.identity-chip.warn.svelte-1n46o8q{color:var(--accent);border-color:var(--accent)}.identity-chip.error.svelte-1n46o8q{color:var(--danger,#c0392b);border-color:var(--danger,#c0392b)}.settings-button.svelte-1n46o8q{font-size:var(--fs-md);color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);padding:4px var(--s-2);cursor:pointer;align-self:center;line-height:1}.settings-button.svelte-1n46o8q:hover{color:var(--text-h);border-color:var(--border-strong)}.sync-dot.svelte-1n46o8q{width:6px;height:6px;margin-right:var(--s-1);vertical-align:1px;background:var(--ok,#2e7d32);border-radius:50%;display:inline-block}.sync-dot.syncing.svelte-1n46o8q{background:var(--accent,#c08a2e)}.sync-dot.error.svelte-1n46o8q{background:var(--danger,#c0392b)}.notifications.svelte-1n46o8q{max-width:var(--content-max);margin:0 auto var(--s-3);padding:0 var(--s-4);gap:var(--s-1);flex-direction:column;display:flex}.notification.svelte-1n46o8q{justify-content:space-between;align-items:center;gap:var(--s-2);background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent,#c08a2e);border-radius:var(--r-md);padding:var(--s-2) var(--s-3);font-size:var(--fs-sm);color:var(--text);display:flex}.notification.warn.svelte-1n46o8q{border-left-color:var(--danger,#c0392b)}.notification-text.svelte-1n46o8q{flex:auto;min-width:0}.notification-dismiss.svelte-1n46o8q{color:var(--text-dim);padding:0 var(--s-2);cursor:pointer;background:0 0;border:none;flex:none;font-size:1rem;line-height:1}.notification-dismiss.svelte-1n46o8q:hover{color:var(--text-h)}.wordmark.svelte-1n46o8q{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text-h);font-weight:600}.tagline.svelte-1n46o8q{color:var(--text-dim);font-size:var(--fs-sm)}.tabs.svelte-1n46o8q{max-width:var(--content-max);margin:0 auto var(--s-2);padding:0 var(--s-4);gap:var(--s-1);display:flex}.tabs.svelte-1n46o8q button:where(.svelte-1n46o8q){padding:var(--s-2) var(--s-4);font:inherit;font-size:var(--fs-sm);color:var(--text-dim);cursor:pointer;border-radius:var(--r-pill);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;font-weight:500}.tabs.svelte-1n46o8q button:where(.svelte-1n46o8q):hover{color:var(--text-h)}.tabs.svelte-1n46o8q button.active:where(.svelte-1n46o8q){background:var(--surface);border-color:var(--border);color:var(--text-h);box-shadow:var(--shadow-sm)}main.svelte-1n46o8q{max-width:var(--content-max);padding:0 var(--s-2);margin:0 auto}.practice-gated.svelte-1n46o8q{max-width:28rem;margin:var(--s-7) auto;padding:var(--s-6) var(--s-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center}.practice-gated.svelte-1n46o8q h2:where(.svelte-1n46o8q){font-size:var(--fs-lg);color:var(--text-h);margin:0}.practice-gated.svelte-1n46o8q p:where(.svelte-1n46o8q){color:var(--text-dim);margin:var(--s-2) 0 var(--s-5);font-size:var(--fs-sm)}.practice-gated.svelte-1n46o8q .primary:where(.svelte-1n46o8q){background:var(--accent);color:var(--surface);border:1px solid var(--accent);border-radius:var(--r-md);padding:var(--s-2) var(--s-5);font:inherit;cursor:pointer;transition:background var(--dur-fast) var(--ease-out);font-weight:500}.practice-gated.svelte-1n46o8q .primary:where(.svelte-1n46o8q):hover{background:var(--accent-strong);border-color:var(--accent-strong)}
