h1.svelte-h2b9z2{font-family:var(--font-serif);font-size:clamp(1.7rem,4vw,2.3rem);font-weight:900}.sub.svelte-h2b9z2{color:var(--text-3);max-width:34rem;margin-top:.3rem}.cfg.svelte-h2b9z2{gap:1.2rem;margin-top:1.6rem;display:grid}.cfg-h.svelte-h2b9z2{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:.55rem;font-size:.74rem}.chips.svelte-h2b9z2{flex-wrap:wrap;gap:.5rem;display:flex}.chip.svelte-h2b9z2{border:1px solid var(--line);color:var(--text-2);background:var(--ink-2);border-radius:10px;padding:.5rem .9rem;transition:border-color .18s,color .18s,background .18s}.chip.svelte-h2b9z2:hover{border-color:var(--text-3)}.chip.on.svelte-h2b9z2{border-color:var(--shu);color:#fff;background:var(--shu)}.range.svelte-h2b9z2{width:min(100%,340px);accent-color:var(--shu)}.cfg-foot.svelte-h2b9z2{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.8rem;display:flex}.poolinfo.svelte-h2b9z2{color:var(--text-3);font-size:.88rem}.poolinfo.svelte-h2b9z2 b:where(.svelte-h2b9z2){color:var(--shu)}.go.svelte-h2b9z2{background:var(--shu);color:#fff;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.4rem;font-weight:500;transition:transform .18s,box-shadow .2s;display:inline-flex}.go.svelte-h2b9z2:hover:not(:disabled){box-shadow:0 14px 26px -14px var(--shu);transform:translateY(-2px)}.go.svelte-h2b9z2:disabled{opacity:.4}.go.ghost.svelte-h2b9z2{border:1px solid var(--line);color:var(--text-2);background:0 0}.go.ghost.svelte-h2b9z2:hover{border-color:var(--shu);color:var(--shu)}.session.svelte-h2b9z2{max-width:620px;margin:0 auto}.bar.svelte-h2b9z2{background:var(--line-soft);border-radius:99px;height:5px;overflow:hidden}.bar.svelte-h2b9z2 span:where(.svelte-h2b9z2){background:linear-gradient(90deg, var(--shu-deep), var(--shu));height:100%;transition:width .3s;display:block}.counter.svelte-h2b9z2{font-family:var(--font-mono);color:var(--text-3);justify-content:space-between;margin:.5rem 0 1.5rem;font-size:.78rem;display:flex}.counter.svelte-h2b9z2 .right:where(.svelte-h2b9z2){color:var(--matcha)}.stage.svelte-h2b9z2{place-items:center;min-height:230px;display:grid}.prompt.svelte-h2b9z2{font-family:var(--font-kana);color:var(--text);font-size:clamp(5rem,22vw,9rem);line-height:1}.audio-prompt.svelte-h2b9z2{color:var(--shu);border:2px dashed var(--line);border-radius:24px;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;transition:border-color .2s;display:flex}.audio-prompt.svelte-h2b9z2:hover{border-color:var(--shu)}.audio-prompt.svelte-h2b9z2 span:where(.svelte-h2b9z2){color:var(--text-3);font-size:.8rem}.reveal-char.svelte-h2b9z2{font-family:var(--font-kana);margin-top:1rem;font-size:3rem}.flip.svelte-h2b9z2{perspective:1200px;width:240px;height:200px}.flip-inner.svelte-h2b9z2{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1);position:relative}.flip.flipped.svelte-h2b9z2 .flip-inner:where(.svelte-h2b9z2){transform:rotateY(180deg)}.face.svelte-h2b9z2{backface-visibility:hidden;background:var(--ink-2);border:1px solid var(--line);border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex;position:absolute;inset:0}.face.back.svelte-h2b9z2{background:color-mix(in oklab, var(--shu) 10%, var(--ink-2));border-color:var(--shu);transform:rotateY(180deg)}.face.svelte-h2b9z2 .big:where(.svelte-h2b9z2){font-family:var(--font-kana);font-size:4.5rem;line-height:1}.face.back.svelte-h2b9z2 .big:where(.svelte-h2b9z2){font-family:var(--font-mono);color:var(--shu);font-size:2.6rem}.sub2.svelte-h2b9z2{font-family:var(--font-kana);color:var(--text-2);font-size:1.5rem}.hint-sm.svelte-h2b9z2{color:var(--text-3);font-size:.78rem}.flip-hint.svelte-h2b9z2{text-align:center;color:var(--text-3);margin-top:1rem;font-size:.82rem}.grades.svelte-h2b9z2{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1.2rem;display:grid}.g.svelte-h2b9z2{border:1px solid var(--line);color:var(--text);border-radius:11px;padding:.7rem;font-weight:500;transition:transform .15s,border-color .2s}.g.svelte-h2b9z2:hover{transform:translateY(-2px)}.g.again.svelte-h2b9z2{border-color:color-mix(in oklab, var(--shu) 60%, var(--line))}.g.good.svelte-h2b9z2{border-color:color-mix(in oklab, var(--matcha) 60%, var(--line))}.g.easy.svelte-h2b9z2{border-color:color-mix(in oklab, var(--ai) 60%, var(--line))}.opts.svelte-h2b9z2{grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.5rem;display:grid}.opt.svelte-h2b9z2{border:1px solid var(--line);background:var(--ink-2);color:var(--text);border-radius:13px;align-items:center;gap:.7rem;padding:1rem 1.1rem;transition:transform .14s,border-color .18s,background .18s;display:flex}.opt.svelte-h2b9z2:hover:not(:disabled){border-color:var(--shu);transform:translateY(-2px)}.opt.svelte-h2b9z2 .num:where(.svelte-h2b9z2){background:var(--ink-3);width:24px;height:24px;font-family:var(--font-mono);color:var(--text-3);border-radius:7px;flex:none;place-items:center;font-size:.74rem;display:grid}.opt.svelte-h2b9z2 .val:where(.svelte-h2b9z2){font-family:var(--font-mono);font-size:1.2rem}.opt.svelte-h2b9z2 .val.kana:where(.svelte-h2b9z2){font-family:var(--font-kana);font-size:1.8rem}.opt.correct.svelte-h2b9z2{border-color:var(--matcha);background:color-mix(in oklab, var(--matcha) 16%, var(--ink-2))}.opt.wrong.svelte-h2b9z2{border-color:var(--shu);background:color-mix(in oklab, var(--shu) 16%, var(--ink-2))}.typing.svelte-h2b9z2{gap:.6rem;margin-top:1.5rem;display:flex}.typing.svelte-h2b9z2 input:where(.svelte-h2b9z2){border:1px solid var(--line);background:var(--ink-2);color:var(--text);font-family:var(--font-mono);border-radius:12px;outline:none;flex:1;padding:.9rem 1.1rem;font-size:1.1rem;transition:border-color .2s}.typing.svelte-h2b9z2 input:where(.svelte-h2b9z2):focus{border-color:var(--shu)}.typing.svelte-h2b9z2 input.ok:where(.svelte-h2b9z2){border-color:var(--matcha)}.typing.svelte-h2b9z2 input.no:where(.svelte-h2b9z2){border-color:var(--shu)}.check.svelte-h2b9z2{background:var(--shu);color:#fff;border-radius:12px;padding:0 1.3rem;font-weight:500}.feedback.svelte-h2b9z2{border:1px solid var(--line);background:var(--ink-2);border-radius:13px;align-items:center;gap:.7rem;margin-top:1.3rem;padding:.8rem 1rem;animation:.3s both rise;display:flex}.feedback.good.svelte-h2b9z2{border-color:color-mix(in oklab, var(--matcha) 50%, var(--line))}.feedback.bad.svelte-h2b9z2{border-color:color-mix(in oklab, var(--shu) 50%, var(--line))}.fb-icon.svelte-h2b9z2{color:#fff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.feedback.good.svelte-h2b9z2 .fb-icon:where(.svelte-h2b9z2){background:var(--matcha)}.feedback.bad.svelte-h2b9z2 .fb-icon:where(.svelte-h2b9z2){background:var(--shu)}.fb-text.svelte-h2b9z2 b:where(.svelte-h2b9z2){font-family:var(--font-kana);font-size:1.2rem}.fb-r.svelte-h2b9z2{font-family:var(--font-mono);color:var(--shu)}.fb-ex.svelte-h2b9z2{color:var(--text-3);font-size:.85rem}.fb-speak.svelte-h2b9z2{color:var(--text-3)}.fb-speak.svelte-h2b9z2:hover{color:var(--shu)}.fb-next.svelte-h2b9z2{background:var(--shu);color:#fff;border-radius:9px;flex:none;align-items:center;gap:.3rem;margin-left:auto;padding:.45rem .8rem;font-size:.85rem;display:inline-flex}.done.svelte-h2b9z2{text-align:center;max-width:520px;margin:2rem auto 0}.done-seal.svelte-h2b9z2{font-family:var(--font-serif);color:#fff;background:var(--shu);border-radius:18px;place-items:center;width:84px;height:84px;margin:0 auto 1rem;font-size:3rem;animation:.6s cubic-bezier(.2,.8,.2,1) both seal-press;display:grid;transform:rotate(-8deg);box-shadow:inset 0 0 0 3px #ffffff38}.result-stats.svelte-h2b9z2{grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1.4rem 0;display:grid}.rs.svelte-h2b9z2{background:var(--ink-2);border:1px solid var(--line-soft);border-radius:14px;padding:1rem}.rs.svelte-h2b9z2 b:where(.svelte-h2b9z2){font-family:var(--font-serif);color:var(--shu);font-size:1.7rem;display:block}.rs.svelte-h2b9z2 span:where(.svelte-h2b9z2){color:var(--text-3);font-size:.74rem}.done-belt.svelte-h2b9z2{text-align:left;padding:1.1rem 1.3rem}.done-cta.svelte-h2b9z2{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:1.4rem;display:flex}@media (width<=520px){.opts.svelte-h2b9z2{grid-template-columns:1fr}.grades.svelte-h2b9z2{grid-template-columns:repeat(2,1fr)}}
