:root{--bg: #fff8ef;--bg-2: #fff1e2;--surface: #ffffff;--surface-2: #fdf3e7;--line: #f0e2d0;--line-2: #e6d3bc;--ink: #2e1d14;--ink-2: #6f5a4b;--ink-3: #a8937f;--sun: #ef4436;--sun-d: #c8301f;--sun-t: #fde3df;--shiba: #f28a2e;--shiba-d: #d06d14;--shiba-t: #ffe8d1;--teal: #17917c;--teal-d: #0d6f5f;--teal-t: #d9f3ec;--sakura: #ff8fab;--sakura-t: #ffe6ec;--gold: #ffc23a;--gold-d: #e09b00;--gold-t: #fff3cf;--sky: #3fa7f5;--sky-d: #1f86d4;--sky-t: #e1f1fe;--ok: #33b36b;--ok-d: #23894f;--ok-t: #e2f7ea;--bad: #ef4436;--bad-d: #c8301f;--bad-t: #fde6e3;--radius-s: 12px;--radius: 18px;--radius-l: 26px;--shadow: 0 1px 0 rgba(68, 36, 10, .04), 0 8px 24px -12px rgba(110, 60, 20, .22);--shadow-l: 0 20px 50px -20px rgba(110, 60, 20, .35);--font: "Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--font-jp: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Noto Sans JP", sans-serif;--font-learn: "Klee One", "Zen Maru Gothic", "Hiragino Mincho ProN", serif;--safe-top: max(env(safe-area-inset-top), var(--tg-safe-area-inset-top, 0px));--safe-bottom: max(env(safe-area-inset-bottom), var(--tg-safe-area-inset-bottom, 0px));--content-top: var(--tg-content-safe-area-inset-top, 0px);--tabbar-h: 68px;color-scheme:light}:root[data-theme=dark]{--bg: #1a1411;--bg-2: #221a15;--surface: #2a201a;--surface-2: #33271f;--line: #3d2f25;--line-2: #4a392d;--ink: #fff4e8;--ink-2: #d1bfae;--ink-3: #9a8574;--sun-t: #4a201b;--shiba-t: #47301c;--teal-t: #143a33;--sakura-t: #4a2630;--gold-t: #463a17;--sky-t: #17344b;--ok-t: #173a26;--bad-t: #4a1f1b;--shadow: 0 1px 0 rgba(0, 0, 0, .2), 0 10px 26px -14px rgba(0, 0, 0, .6);--shadow-l: 0 22px 50px -20px rgba(0, 0, 0, .7);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer}input{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.jp{font-family:var(--font-jp)}:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:10px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.app{max-width:520px;margin:0 auto;min-height:100%;position:relative}.screen{min-height:100dvh;padding:calc(var(--safe-top) + var(--content-top) + 12px) 16px calc(var(--tabbar-h) + var(--safe-bottom) + 24px);animation:screen-in .28s cubic-bezier(.2,.8,.2,1)}.screen--bare{padding-bottom:calc(var(--safe-bottom) + 20px)}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}}.btn{--c: var(--shiba);--cd: var(--shiba-d);--fg: #fff;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 22px;border-radius:16px;background:var(--c);color:var(--fg);font-weight:900;font-size:16px;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 4px 0 var(--cd);transform:translateY(0);transition:transform .08s,box-shadow .08s,filter .15s}.btn:active:not(:disabled){transform:translateY(4px);box-shadow:0 0 0 var(--cd)}.btn:disabled{--c: var(--line);--cd: var(--line-2);--fg: var(--ink-3);cursor:default}.btn--block{width:100%}.btn--sun{--c: var(--sun);--cd: var(--sun-d)}.btn--teal{--c: var(--teal);--cd: var(--teal-d)}.btn--ok{--c: var(--ok);--cd: var(--ok-d)}.btn--bad{--c: var(--bad);--cd: var(--bad-d)}.btn--sky{--c: var(--sky);--cd: var(--sky-d)}.btn--gold{--c: var(--gold);--cd: var(--gold-d);--fg: #3a2408}.btn--ghost{--c: var(--surface);--cd: var(--line-2);--fg: var(--ink);border:2px solid var(--line-2)}.btn--text{background:none;box-shadow:none;color:var(--shiba-d);min-height:44px}:root[data-theme=dark] .btn--text{color:var(--shiba)}.btn--small{min-height:40px;font-size:13px;padding:0 14px;border-radius:12px}.icon-btn{width:44px;height:44px;border-radius:14px;display:inline-grid;place-items:center;color:var(--ink-3);transition:background .15s,transform .1s}.icon-btn:active{transform:scale(.92);background:var(--surface-2)}.card{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);padding:16px}.card--raised{box-shadow:var(--shadow)}.section-title{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:26px 4px 10px}.row{display:flex;align-items:center;gap:12px}.grow{flex:1;min-width:0}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.center{text-align:center}.bar{height:14px;background:var(--line);border-radius:99px;overflow:hidden}.bar>i{display:block;height:100%;border-radius:inherit;background:var(--c, var(--ok));position:relative;transition:width .5s cubic-bezier(.2,.8,.2,1)}.bar>i:after{content:"";position:absolute;left:8px;right:8px;top:3px;height:4px;border-radius:99px;background:#ffffff59}.bar--thin{height:8px}.bar--thin>i:after{display:none}.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;font-weight:800;font-size:14px;background:var(--surface);border:2px solid var(--line)}.chip{flex:none;padding:8px 14px;border-radius:99px;border:2px solid var(--line);background:var(--surface);font-weight:800;font-size:14px;color:var(--ink-2);transition:all .15s}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chips{display:flex;gap:8px;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.badge-plus{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:900;letter-spacing:.06em;color:#3a2408;background:linear-gradient(135deg,#ffd65c,#ffb020)}.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface-2);border:2px solid var(--line);border-radius:16px;padding:4px;gap:4px}.seg button{min-height:40px;border-radius:12px;font-weight:800;color:var(--ink-2);transition:all .2s}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:0 10px var(--safe-bottom);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-top:2px solid var(--line)}.tabbar__inner{max-width:520px;margin:0 auto;height:var(--tabbar-h);display:grid;grid-template-columns:repeat(5,1fr)}.tab{position:relative;display:grid;place-items:center;align-content:center;gap:2px;font-size:11px;font-weight:800;color:var(--ink-3);transition:color .2s}.tab__icon{width:46px;height:34px;border-radius:12px;display:grid;place-items:center;transition:background .2s,transform .2s}.tab[aria-current=page]{color:var(--ink)}.tab[aria-current=page] .tab__icon{background:var(--shiba-t);transform:translateY(-1px)}.tab__dot{position:absolute;top:8px;left:calc(50% + 10px);min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--sun);color:#fff;font-size:11px;line-height:18px;border:2px solid var(--bg)}.topbar{display:flex;align-items:center;gap:8px;margin-bottom:14px}.stat{display:inline-flex;align-items:center;gap:6px;font-weight:900;font-size:16px;padding:6px 10px;border-radius:12px}.stat:active{background:var(--surface-2)}.stat--fire{color:var(--shiba)}.stat--off{color:var(--ink-3);filter:grayscale(1)}.stat--xp{color:var(--sky-d)}:root[data-theme=dark] .stat--xp{color:var(--sky)}.maru{overflow:visible;color:var(--ink)}.maru__body-wrap{transform-origin:100px 190px;animation:maru-breathe 3.2s ease-in-out infinite}.maru__head{transform-origin:100px 130px;animation:maru-tilt 6s ease-in-out infinite}.maru__tail{transform-origin:66px 172px;animation:maru-wag .9s ease-in-out infinite alternate}.maru__ear--l{transform-origin:70px 56px;animation:maru-ear 5s ease-in-out infinite}.maru__ear--r{transform-origin:130px 56px;animation:maru-ear 5s ease-in-out infinite .15s}.maru__eye{transform-box:fill-box;transform-origin:center;animation:maru-blink 4.6s infinite}.maru__bow{transform-origin:35px 93px;animation:maru-bow 2.4s ease-in-out infinite alternate}.maru__card{transform-origin:140px 170px;animation:maru-card 1.6s ease-in-out infinite alternate}.maru__sparks path{transform-box:fill-box;transform-origin:center;animation:maru-spark 1.4s ease-in-out infinite}.maru__sparks path:nth-child(2){animation-delay:.5s}.maru__zzz text{animation:maru-z 2.4s ease-in-out infinite}.maru__zzz text:nth-child(2){animation-delay:.6s}.maru__tear{animation:maru-tear 1.8s ease-in infinite}.maru--cheer .maru__body-wrap{animation:maru-jump .7s cubic-bezier(.3,0,.3,1) infinite}.maru--cheer .maru__tail{animation-duration:.3s}.maru--sad .maru__head{animation:maru-shake .5s ease-in-out 1}.maru--sad .maru__tail,.maru--sleep .maru__tail{animation:none}.maru--wow .maru__body-wrap{animation:maru-pop .45s cubic-bezier(.3,1.6,.5,1) 1}.maru--still *,.maru--still{animation:none!important}@keyframes maru-breathe{50%{transform:scale(1.015,.985)}}@keyframes maru-tilt{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-5deg)}90%{transform:rotate(3deg)}}@keyframes maru-wag{0%{transform:rotate(-8deg)}to{transform:rotate(10deg)}}@keyframes maru-ear{0%,88%,to{transform:rotate(0)}92%{transform:rotate(-7deg)}96%{transform:rotate(4deg)}}@keyframes maru-blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes maru-bow{to{transform:rotate(-6deg)}}@keyframes maru-card{to{transform:rotate(-5deg)}}@keyframes maru-spark{50%{transform:scale(.5) rotate(45deg);opacity:.5}}@keyframes maru-z{0%{opacity:0;transform:translateY(6px)}50%{opacity:1}to{opacity:0;transform:translate(6px,-10px)}}@keyframes maru-tear{0%{transform:translateY(0);opacity:1}to{transform:translateY(16px);opacity:0}}@keyframes maru-jump{0%,to{transform:translateY(0) scale(1.03,.97)}40%{transform:translateY(-16px) scale(.97,1.03)}}@keyframes maru-shake{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes maru-pop{0%{transform:scale(.85)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.bubble{position:relative;background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:12px 14px;font-weight:700;box-shadow:var(--shadow)}.bubble:before{content:"";position:absolute;left:-9px;top:22px;width:14px;height:14px;background:var(--surface);border-left:2px solid var(--line);border-bottom:2px solid var(--line);transform:rotate(45deg)}.bubble--down:before{left:32px;top:auto;bottom:-9px;transform:rotate(-45deg)}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#1e100873;animation:fade-in .2s}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-width:520px;margin:0 auto;max-height:88dvh;overflow-y:auto;background:var(--bg);border-radius:28px 28px 0 0;padding:10px 18px calc(var(--safe-bottom) + 20px);animation:sheet-in .32s cubic-bezier(.2,.9,.2,1)}.sheet__grip{width:42px;height:5px;border-radius:9px;background:var(--line-2);margin:0 auto 14px}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}.toast{position:fixed;left:50%;top:calc(var(--safe-top) + var(--content-top) + 12px);transform:translate(-50%);z-index:60;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:14px;font-weight:800;box-shadow:var(--shadow-l);animation:toast 2.6s ease forwards;max-width:calc(100% - 32px)}@keyframes toast{0%{opacity:0;transform:translate(-50%,-10px)}10%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.confetti{position:fixed;inset:0;pointer-events:none;z-index:70;overflow:hidden}.confetti i{position:absolute;top:-20px;width:9px;height:14px;border-radius:3px;animation:confetti-fall linear forwards}@keyframes confetti-fall{to{transform:translate3d(var(--dx),110vh,0) rotate(var(--r))}}.ring{position:relative;display:grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring circle{transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.ring__label{position:absolute;inset:0;display:grid;place-items:center;font-weight:900}.ob{display:flex;flex-direction:column;min-height:100dvh}.ob-top{display:flex;align-items:center;gap:8px;font-size:30px;font-weight:900}.ob-cta{margin-top:auto;padding-top:18px;position:sticky;bottom:calc(var(--safe-bottom) + 12px);display:grid;gap:4px}.ob-hero{text-align:center;background:radial-gradient(120% 60% at 50% 0%,var(--bg-2),transparent 70%),var(--bg)}.ob-hero__art{position:relative;width:min(66vw,270px);aspect-ratio:1;margin:0 auto 4px}.ob-hero__art img{position:relative;width:100%;height:100%;object-fit:contain;animation:hero-in .8s cubic-bezier(.2,1.4,.4,1) both,hero-float 4s ease-in-out .8s infinite;filter:drop-shadow(0 18px 24px rgba(160,60,20,.18));-webkit-user-drag:none}.ob-hero__sun{position:absolute;left:50%;top:0;width:92%;aspect-ratio:1;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a55,var(--sun) 55%,#d93526);box-shadow:0 20px 50px -18px #ef443699;animation:sun-in .7s cubic-bezier(.2,1.2,.4,1) both}@keyframes sun-in{0%{transform:scale(.4);opacity:0}}@keyframes hero-in{0%{opacity:0;transform:scale(.7) rotate(-6deg)}}@keyframes hero-float{50%{transform:translateY(-8px)}}@keyframes sun-pulse{50%{transform:scale(1.08)}}.ob-float{position:absolute;font-size:22px;font-weight:800;color:var(--sun);background:var(--surface);width:44px;height:44px;border-radius:14px;display:grid;place-items:center;box-shadow:var(--shadow);border:2px solid var(--line);animation:float 4.5s ease-in-out infinite}@keyframes float{50%{transform:translateY(-10px) rotate(6deg)}}.ob-hello{font-weight:800;color:var(--sun);font-size:15px;letter-spacing:.04em;animation:rise .5s .25s both}.ob-title{font-size:clamp(28px,8vw,36px);line-height:1.08;font-weight:900;letter-spacing:-.02em;margin:6px 0 10px;animation:rise .5s .35s both}.ob-sub{font-size:16px;max-width:340px;margin:0 auto;font-weight:600;animation:rise .5s .45s both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.ob-try{margin:22px 0 6px}.ob-keys{display:flex;justify-content:center;gap:8px}.ob-key{width:58px;height:66px;display:grid;place-items:center;align-content:center;border-radius:16px;background:var(--surface);border:2px solid var(--line-2);box-shadow:0 5px 0 var(--line-2);transition:transform .08s,box-shadow .08s,background .2s,border-color .2s,color .2s;animation:rise .45s both}.ob-key .jp{font-size:28px;font-weight:800;line-height:1}.ob-key small{font-size:12px;font-weight:800;color:var(--ink-3);margin-top:3px}.ob-key:active{transform:translateY(5px);box-shadow:0 0 0 var(--line-2)}.ob-key.is-heard{border-color:var(--sun);box-shadow:0 5px 0 var(--sun-d);background:var(--sun);color:#fff}.ob-key.is-heard small{color:#ffffffd9}.ob-key.is-heard:active{box-shadow:0 0 0 var(--sun-d)}.ob-try__hint{margin-top:12px;font-size:14px;font-weight:700;color:var(--ink-2);min-height:20px}.ob-facts{margin-top:6px;font-size:12.5px;font-weight:700;color:var(--ink-3);max-width:330px;margin-left:auto;margin-right:auto;line-height:1.5}.ob-maru{display:flex;align-items:center;gap:14px;margin:18px 0}.ob-maru .bubble{flex:1;font-size:17px;animation:pop .3s cubic-bezier(.3,1.5,.5,1)}@keyframes pop{0%{transform:scale(.9);opacity:0}}.ob-list{display:grid;gap:10px}.ob-opt{display:flex;align-items:center;gap:14px;min-height:62px;padding:12px 16px;text-align:left;font-weight:800;font-size:16px;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-radius:18px;transition:transform .1s,border-color .15s,background .15s}.ob-opt:active{transform:translateY(2px)}.ob-opt small{display:block;font-weight:600;font-size:13px;color:var(--ink-3)}.ob-opt[aria-pressed=true]{border-color:var(--sky);background:var(--sky-t);color:var(--sky-d)}:root[data-theme=dark] .ob-opt[aria-pressed=true]{color:var(--sky)}.ob-opt__emoji{font-size:26px;width:36px;text-align:center}.ob-lvl{display:flex;align-items:flex-end;gap:3px;width:36px;justify-content:center}.ob-lvl i{width:7px;border-radius:3px;background:var(--line-2)}.ob-lvl i.on{background:var(--sky)}.ob-note{font-size:13px;font-weight:700;margin-top:6px}.ob-yay{align-items:center;justify-content:center}.ob-yay__word{display:flex;gap:14px;align-items:center;text-align:left;margin:10px 0 14px;cursor:pointer}.ob-yay__jp{font-size:44px;font-weight:800;color:var(--sun)}.ob-yay__xp{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--ink-2)}.ob-yay .ob-cta{width:100%}.ses .btn:not(.btn--ok):not(.btn--bad):not(.btn--sky):not(.btn--text){--c: var(--accent);--cd: color-mix(in srgb, var(--accent) 68%, #000)}.ses{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + var(--content-top) + 8px) 16px 0}.ses__top{display:flex;align-items:center;gap:10px}.ses__combo{display:flex;align-items:center;gap:2px;min-width:44px;font-weight:900;color:var(--shiba);opacity:.4;transition:opacity .2s,transform .2s}.ses__combo.on{opacity:1;animation:pop .3s cubic-bezier(.3,1.6,.5,1)}.ses__body{flex:1;padding:22px 0 16px;animation:ex-in .32s cubic-bezier(.2,.9,.2,1)}@keyframes ex-in{0%{opacity:0;transform:translate(24px)}}.ses__foot{position:sticky;bottom:0;margin:0 -16px;padding:14px 16px calc(var(--safe-bottom) + 16px);background:var(--bg)}.ses__foot--right{background:var(--ok-t);animation:slide-up .25s cubic-bezier(.2,.9,.2,1)}.ses__foot--wrong{background:var(--bad-t);animation:slide-up .25s cubic-bezier(.2,.9,.2,1)}@keyframes slide-up{0%{transform:translateY(40%);opacity:.4}}.ses__hint{text-align:center;font-weight:700;font-size:14px;min-height:24px}.ses__fb{display:grid;gap:12px}.ses__fb-title{font-size:19px;font-weight:900}.ses__foot--right .ses__fb-title{color:var(--ok-d)}.ses__foot--wrong .ses__fb-title{color:var(--bad-d)}:root[data-theme=dark] .ses__foot--right .ses__fb-title{color:#6fe0a0}:root[data-theme=dark] .ses__foot--wrong .ses__fb-title{color:#ff8a80}.ses__fb-ans{font-weight:800;margin-top:2px}.ses__fb-exp{font-size:14px;color:var(--ink-2);margin-top:4px}.ses__exit{text-align:center;display:grid;justify-items:center;gap:8px}.ses__exit h2{font-size:22px;font-weight:900}.ses__exit .btn{margin-top:6px}.ex-title{font-size:22px;font-weight:900;letter-spacing:-.01em;margin-bottom:18px}.ex-label{margin-bottom:14px}.ex-new{display:inline-flex;padding:5px 12px;border-radius:99px;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--accent)}.ex-new--teal{background:var(--teal)}.ex-teach__card{position:relative;text-align:center;background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;border-radius:var(--radius-l);padding:30px 18px 22px;display:grid;justify-items:center;gap:4px;cursor:pointer;overflow:hidden}.ex-teach__card:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:var(--accent)}.ex-teach__kana{font-size:18px;color:var(--ink-2);font-weight:700}.ex-teach__jp{font-size:clamp(40px,13vw,58px);font-weight:800;line-height:1.15;word-break:keep-all}.ex-teach__rom{font-weight:800;color:var(--ink-3);letter-spacing:.03em}.ex-teach__rom--big{font-size:30px;color:var(--accent);font-weight:900}.ex-teach__ru{font-size:20px;font-weight:800;margin:8px 0 12px}.ex-kana-big{font-size:120px;line-height:1;font-weight:700;animation:pop .4s cubic-bezier(.3,1.6,.5,1)}.ex-example{margin-top:14px;display:flex;align-items:center;gap:8px;padding:12px 14px;border-radius:14px;background:var(--surface-2);color:var(--ink-2);font-size:17px;cursor:pointer}.speak{display:inline-flex;gap:8px;align-items:center}.speak__btn{display:grid;place-items:center;color:#fff;background:var(--sky);box-shadow:0 3px 0 var(--sky-d);border-radius:14px;width:42px;height:40px;transition:transform .08s,box-shadow .08s}.speak__btn:active{transform:translateY(3px);box-shadow:none}.speak__btn--l{width:64px;height:58px;border-radius:18px;box-shadow:0 4px 0 var(--sky-d)}.speak__btn--slow{background:var(--surface);color:var(--sky-d);border:2px solid var(--line-2);box-shadow:0 3px 0 var(--line-2)}.ex-gram{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius-l);padding:20px 18px}.ex-gram__pattern{font-size:24px;font-weight:800;color:var(--teal);line-height:1.3}.ex-gram__meaning{font-weight:900;font-size:17px;margin:4px 0 10px}.ex-gram__text{color:var(--ink-2);font-size:15.5px;line-height:1.5;user-select:text;-webkit-user-select:text}.ex-gram__examples{margin-top:14px;display:grid;gap:8px}.ex-gram__ex{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px;border-radius:14px;background:var(--teal-t);color:var(--teal-d)}:root[data-theme=dark] .ex-gram__ex{color:#7fe3cc}.ex-gram__ex .jp{display:block;font-size:17px;font-weight:700;color:var(--ink)}.ex-gram__ex small{color:var(--ink-2);font-size:14px}.ex-prompt{margin-bottom:22px}.ex-prompt__jp-card{display:flex;align-items:flex-end;gap:8px}.ex-prompt__bubble{flex:1;display:grid;justify-items:start;gap:2px;padding:14px 16px;cursor:pointer}.ex-prompt__bubble:before{top:auto;bottom:20px}.ex-prompt__jp{font-size:34px;font-weight:800;line-height:1.2}.ex-prompt__jp--long{font-size:22px}.ex-prompt__kana{color:var(--ink-3);font-size:15px}.ex-prompt__rom{color:var(--ink-3);font-weight:700;margin-bottom:6px}.ex-prompt__ru{font-size:26px;font-weight:900;line-height:1.25}.ex-prompt__text{font-size:19px;font-weight:800;line-height:1.4}.ex-prompt__text--kana{display:flex;align-items:center;justify-content:center;gap:18px;font-size:96px;line-height:1.1;padding:10px 0;font-weight:700}.ex-prompt__text--rom{text-align:center;font-size:64px;font-weight:900;color:var(--accent)}.ex-listen{position:relative;display:grid;place-items:center;margin:10px auto 0;width:132px;height:132px;border-radius:36px;color:#fff;background:var(--sky);box-shadow:0 6px 0 var(--sky-d);transition:transform .08s,box-shadow .08s}.ex-listen:active{transform:translateY(6px);box-shadow:none}.ex-listen__wave{position:absolute;inset:-8px;border-radius:42px;border:3px solid var(--sky);opacity:0;animation:wave 1.8s ease-out infinite}@keyframes wave{0%{opacity:.6;transform:scale(.95)}to{opacity:0;transform:scale(1.2)}}.opts{display:grid;gap:10px}.opts--grid{grid-template-columns:1fr 1fr}.opt{position:relative;display:flex;align-items:center;gap:12px;min-height:60px;padding:12px 14px;text-align:left;font-weight:800;font-size:17px;background:var(--surface);border:2px solid var(--line-2);border-bottom-width:5px;border-radius:18px;transition:transform .08s,border-color .15s,background .15s,opacity .2s}.opts--grid .opt{font-size:24px;flex-direction:column;justify-content:center;text-align:center;min-height:104px}.opts--grid .opt__n{position:absolute;top:8px;left:8px}.opt:active:not(:disabled){transform:translateY(3px);border-bottom-width:2px}.opt:disabled{cursor:default}.opt__n{flex:none;width:26px;height:26px;border-radius:8px;border:2px solid var(--line-2);display:grid;place-items:center;font-size:12px;color:var(--ink-3)}.opt--ok{border-color:var(--ok);background:var(--ok-t);color:var(--ok-d);animation:bounce .4s cubic-bezier(.3,1.6,.5,1)}.opt--bad{border-color:var(--bad);background:var(--bad-t);color:var(--bad-d);animation:shake .4s}:root[data-theme=dark] .opt--ok{color:#6fe0a0}:root[data-theme=dark] .opt--bad{color:#ff8a80}.opt--dim{opacity:.45}.opt__jp-wrap{display:grid;justify-items:inherit;line-height:1.15}.opts--grid .opt__jp-wrap{justify-items:center}.opt__jp{font-size:26px;font-weight:800}.opt__jp--long{font-size:18px}.opt__kana{font-size:12px;color:var(--ink-3)}.opt__rom{font-size:13px;color:var(--ink-3);font-weight:700}@keyframes bounce{40%{transform:scale(1.04)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.shake{animation:shake .4s}.ex-build__q{display:grid;gap:4px;margin-bottom:18px}.ex-build__slots{min-height:74px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 4px;border-bottom:2px solid var(--line-2);margin-bottom:26px;font-weight:700}.ex-build__bank{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ex-build__check{margin-top:28px}.tile{min-width:54px;height:56px;padding:0 10px;font-size:26px;font-weight:800;background:var(--surface);border:2px solid var(--line-2);border-bottom-width:5px;border-radius:14px;transition:transform .08s}.tile:active:not(:disabled){transform:translateY(3px);border-bottom-width:2px}.tile--in{animation:pop .2s cubic-bezier(.3,1.6,.5,1)}.tile--used{background:var(--line);color:transparent;border-color:var(--line)}.ex-match__cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ex-match__col{display:grid;gap:10px;align-content:start}.mt{min-height:64px;padding:8px 10px;font-weight:800;font-size:15px;line-height:1.2;background:var(--surface);border:2px solid var(--line-2);border-bottom-width:5px;border-radius:16px;transition:transform .08s,border-color .15s,background .15s,opacity .3s}.mt__big{font-size:26px}.mt__long{font-size:17px}.mt--sel{border-color:var(--sky);background:var(--sky-t);color:var(--sky-d)}.mt--bad{border-color:var(--bad);background:var(--bad-t)}.mt--done{opacity:.35;border-color:var(--ok);background:var(--ok-t);transform:scale(.97)}.course-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:12px;border:2px solid var(--line);background:var(--surface);font-weight:900}.course-chip__flag{width:26px;height:18px;border-radius:4px;background:radial-gradient(circle at 50% 50%,var(--sun) 0 4.5px,#fff 5px);box-shadow:inset 0 0 0 1px var(--line-2)}.freeze{display:inline-flex;align-items:center;gap:1px;font-size:11px;color:var(--sky);margin-left:-2px}.plus-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--gold-t);animation:plus-glow 2.6s ease-in-out infinite}@keyframes plus-glow{50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 25%,transparent)}}.daily{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 6px;border-radius:var(--radius-l)}.daily__line{font-weight:800;font-size:15.5px;line-height:1.3}.daily__meta{font-size:13px;font-weight:700;margin-top:4px}.ring__pct{font-size:13px}.due{margin-top:12px;width:100%;display:flex;align-items:center;gap:12px;text-align:left;border-color:color-mix(in srgb,var(--teal) 40%,var(--line));background:linear-gradient(135deg,var(--teal-t),var(--surface) 70%);border-bottom-width:4px;transition:transform .08s}.due:active{transform:translateY(2px)}.due b{display:block;font-size:16px}.due small{color:var(--ink-2);font-weight:600}.due__icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--teal);color:#fff;box-shadow:0 3px 0 var(--teal-d)}.unit{margin-top:26px}.unit__banner{position:relative;display:flex;align-items:center;gap:10px;padding:14px 12px 14px 18px;border-radius:20px;color:#fff;background:var(--uc);box-shadow:0 4px color-mix(in srgb,var(--uc) 70%,#000);overflow:hidden}.unit__banner:after{content:"";position:absolute;right:-30px;top:-40px;width:140px;height:140px;border-radius:50%;background:#ffffff1f}.unit__banner small{display:flex;gap:8px;align-items:center;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.unit__banner h2{font-size:18px;font-weight:900;line-height:1.2;margin-top:2px}.unit__lock,.unit__opt{display:inline-flex;gap:3px;align-items:center;background:#0000002e;padding:2px 8px;border-radius:99px;letter-spacing:.02em;text-transform:none}.unit__tips{position:relative;z-index:1;flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;background:#fff3;border:2px solid rgba(255,255,255,.35)}.path{display:flex;flex-direction:column;align-items:center;gap:16px;padding:56px 0 8px}.path__row{position:relative;display:flex;flex-direction:column;align-items:center}.path__start{position:absolute;bottom:calc(100% + 6px);white-space:nowrap;padding:8px 14px;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--uc);font-weight:900;text-transform:uppercase;font-size:14px;letter-spacing:.05em;animation:bob 1.4s ease-in-out infinite;z-index:2}.path__start:after{content:"";position:absolute;left:50%;bottom:-7px;width:10px;height:10px;background:var(--surface);border-right:2px solid var(--line);border-bottom:2px solid var(--line);transform:translate(-50%) rotate(45deg)}@keyframes bob{50%{transform:translateY(-5px)}}.path__maru{position:absolute;top:-10px;pointer-events:none}.node{position:relative;width:74px;height:68px;border-radius:50%;display:grid;place-items:center;--nc: var(--uc)}.node__face{position:relative;z-index:1;width:74px;height:66px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--nc);box-shadow:0 7px color-mix(in srgb,var(--nc) 68%,#000);transform:translateY(-4px);transition:transform .08s,box-shadow .08s}.node:active .node__face{transform:translateY(2px);box-shadow:0 1px color-mix(in srgb,var(--nc) 68%,#000)}.node__face:before{content:"";position:absolute;top:8px;left:14px;width:22px;height:10px;border-radius:50%;background:#ffffff59;transform:rotate(-20deg)}.node--done{--nc: var(--gold)}.node--done .node__face{color:#8a5a00}.node--locked,.node--plus{--nc: var(--line-2)}.node--locked .node__face,.node--plus .node__face{color:var(--ink-3)}.node--locked .node__face:before,.node--plus .node__face:before{display:none}.node__kana{font-size:30px;font-weight:800}.node__ring{position:absolute;inset:-10px -10px -6px;border-radius:50%;border:5px solid color-mix(in srgb,var(--uc) 30%,transparent);animation:node-pulse 1.8s ease-in-out infinite}@keyframes node-pulse{50%{transform:scale(1.08);opacity:.5}}.node__stars{display:flex;gap:1px;margin-top:4px}.plus-teaser{width:100%;margin-top:20px;display:flex;align-items:center;gap:10px;text-align:left;padding:8px 14px 8px 6px;border-radius:var(--radius-l);border:2px solid color-mix(in srgb,var(--gold) 60%,var(--line));border-bottom-width:5px;background:linear-gradient(135deg,var(--gold-t),var(--surface) 75%)}.plus-teaser b{display:block}.plus-teaser small{color:var(--ink-2);font-weight:600;line-height:1.3;display:block}.path-end{margin-top:30px;display:grid;justify-items:center;gap:6px;font-weight:700}.step-sheet__head{display:flex;gap:14px;align-items:center}.node--sheet{flex:none;pointer-events:none}.step-sheet h3{font-size:22px;font-weight:900}.step-sheet__meta{font-weight:700;font-size:14px}.step-sheet__preview{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 4px}.step-sheet__preview button{min-width:46px;height:46px;padding:0 10px;border-radius:12px;background:var(--surface);border:2px solid var(--line);font-size:22px;font-weight:700}.step-sheet__preview--words button{font-size:17px}.step-sheet__list{margin:16px 0 0;padding-left:18px;color:var(--ink-2);font-weight:600;display:grid;gap:6px}.step-sheet__list .jp{color:var(--ink);font-weight:700}.step-sheet__stars{display:flex;justify-content:center;gap:6px;margin:18px 0 0}.step-sheet .btn,.step-sheet__locked{margin-top:20px}.step-sheet__locked{display:flex;gap:8px;align-items:center;padding:14px;border-radius:14px;background:var(--surface-2);color:var(--ink-2);font-weight:700}.tips h3{font-size:22px;font-weight:900;margin-bottom:14px}.tips small{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.tips__cando{background:color-mix(in srgb,var(--uc) 12%,var(--surface));border-radius:16px;padding:14px;margin-bottom:14px}.tips__cando ul{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:6px}.tips__cando li{display:flex;gap:8px;font-weight:700;font-size:15px}.tips__cando li svg{flex:none;color:var(--ok);margin-top:2px}.tips__item{padding:14px 0;border-top:2px solid var(--line)}.tips__item h4,.tips__kh{font-size:17px;font-weight:900;margin:0 0 6px}.tips__item p{color:var(--ink-2);line-height:1.5;margin:0;user-select:text;-webkit-user-select:text}.tips__item pre{margin:10px 0 0;white-space:pre-wrap;font-size:15px;line-height:1.7;background:var(--surface);border:2px solid var(--line);border-radius:14px;padding:10px 12px}.tips__kh{margin-top:10px}.tips__kanji{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.kanji-tile{display:grid;justify-items:center;padding:10px 6px;border-radius:14px;background:var(--surface);border:2px solid var(--line);text-align:center}.kanji-tile .jp{font-size:32px;font-weight:700;line-height:1.2}.kanji-tile small{text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:700;font-size:12px}.res{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:100dvh}.res__title{font-size:30px;font-weight:900;letter-spacing:-.02em;margin-top:6px}.res .muted{max-width:320px;font-weight:600}.res__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;margin:26px 0 8px}.res__stat{border-radius:18px;border:3px solid var(--c);background:var(--c);overflow:hidden;animation:rise .45s both}.res__stat:nth-child(2){animation-delay:.12s}.res__stat:nth-child(3){animation-delay:.24s}.res__stat small{display:block;color:#fff;font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:5px 0 4px}.res__stat b{display:flex;align-items:center;justify-content:center;gap:4px;background:var(--surface);border-radius:14px;padding:12px 4px;font-size:20px;font-weight:900;color:var(--c)}.res__cta{width:100%;margin-top:auto;padding-top:18px;display:grid;gap:4px}.res__flame{position:relative;display:grid;place-items:center;margin-top:auto;animation:flame-in .6s cubic-bezier(.3,1.6,.5,1) both}.res__flame svg{filter:drop-shadow(0 10px 30px rgba(255,140,30,.45));animation:flame-flicker 1.6s ease-in-out infinite}.res__flame-n{position:absolute;bottom:18px;font-size:44px;font-weight:900;color:#fff;text-shadow:0 3px 0 rgba(180,70,0,.6)}@keyframes flame-in{0%{transform:scale(.3);opacity:0}}@keyframes flame-flicker{50%{transform:scale(1.04,.97)}}.res__week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;width:100%;margin-top:22px}.res__day{display:grid;justify-items:center;gap:6px;font-weight:800;color:var(--ink-3)}.res__day span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--line)}.res__day.on span{background:var(--shiba-t)}.res__day.today small{color:var(--shiba)}.res__day.today.on span{animation:pop .5s .4s cubic-bezier(.3,1.6,.5,1) both}.pw{position:fixed;inset:0;z-index:50;overflow-y:auto;background:radial-gradient(90% 40% at 50% 0%,var(--gold-t),transparent 70%),var(--bg);padding:calc(var(--safe-top) + var(--content-top) + 8px) 18px calc(var(--safe-bottom) + 18px);animation:sheet-in .35s cubic-bezier(.2,.9,.2,1);text-align:center}.pw>*{max-width:480px;margin-left:auto;margin-right:auto}.pw__close{position:absolute;left:12px;top:calc(var(--safe-top) + var(--content-top) + 8px);z-index:2}.pw__hero{position:relative;display:grid;place-items:center;margin-top:6px}.pw__glow{position:absolute;width:220px;height:220px;border-radius:50%;background:conic-gradient(from 0deg,#ffd65c55,transparent 20%,#ffd65c55 40%,transparent 60%,#ffd65c55 80%,transparent);animation:spin 14s linear infinite;mask:radial-gradient(circle,#000 30%,transparent 70%)}@keyframes spin{to{transform:rotate(360deg)}}.pw__badge{display:inline-block;padding:5px 14px;border-radius:99px;font-size:12px;font-weight:900;letter-spacing:.16em;color:#3a2408;background:linear-gradient(135deg,#ffd65c,#ffb020);box-shadow:0 3px #e09b00}.pw__title{font-size:27px;font-weight:900;letter-spacing:-.02em;line-height:1.12;margin:12px auto 8px}.pw__sub{font-weight:600;font-size:15px}.pw__table{margin-top:20px;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:left}.pw__thead,.pw__tr{display:grid;grid-template-columns:1fr 52px 60px;align-items:center}.pw__thead{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.pw__thead span,.pw__tr span{padding:10px 6px;text-align:center}.pw__thead span:first-child,.pw__tr span:first-child{text-align:left;padding-left:14px}.pw__tr{border-top:2px solid var(--line);font-weight:700;font-size:14.5px}.pw__tr svg{color:var(--ok)}.pw__plus-col{background:var(--gold-t);align-self:stretch;display:grid;place-items:center}.pw__thead .pw__plus-col{color:var(--gold-d)}.pw__plus-col svg{color:var(--gold-d)}.pw__dash{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--line-2)}.pw__plans{display:grid;gap:10px;margin-top:18px}.plan{position:relative;display:flex;align-items:center;gap:12px;text-align:left;padding:14px;border-radius:18px;background:var(--surface);border:2px solid var(--line-2);border-bottom-width:4px;transition:border-color .15s,background .15s}.plan[aria-checked=true]{border-color:var(--gold);background:var(--gold-t)}.plan b{display:block;font-size:17px}.plan small{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}.plan__radio{flex:none;width:24px;height:24px;border-radius:50%;border:3px solid var(--line-2);transition:all .15s}.plan[aria-checked=true] .plan__radio{border:7px solid var(--gold-d);background:#fff}.plan__price{font-weight:900;font-size:18px;text-align:right;white-space:nowrap}.plan__badge{position:absolute;top:-11px;right:14px;padding:2px 10px;border-radius:99px;background:var(--sun);color:#fff;font-size:12px;font-weight:900}.pw__cta{position:sticky;bottom:0;margin-top:18px;padding-top:8px;display:grid;gap:2px;background:linear-gradient(transparent,var(--bg) 20%)}.pw__fine{font-size:12px;font-weight:600;line-height:1.4;margin-top:4px}.pw--welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.pw--welcome .btn{margin-top:20px}.page-title{font-size:28px;font-weight:900;letter-spacing:-.02em;margin:4px 2px 14px}.rv-hero{display:flex;align-items:center;gap:12px;margin-bottom:14px}.rv-hero__n{display:block;font-size:46px;font-weight:900;line-height:1;color:var(--teal)}.rv-hero__l{font-weight:800;color:var(--ink-2)}.rv-hero__l--big{display:block;font-size:22px;color:var(--ink)}.rv-weak{margin-top:12px;text-transform:none;letter-spacing:0}.rv-mem{margin-top:18px}.rv-mem__nums{display:flex;justify-content:space-between;font-weight:700;color:var(--ink-2);font-size:14px}.rv-mem__nums b{color:var(--ink);font-size:18px;font-weight:900}.rv-mem__bar{display:flex;gap:3px;height:10px;margin:8px 0 16px;border-radius:99px;overflow:hidden;background:var(--line)}.rv-mem__bar i{display:block;min-width:0}.rv-fc{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;height:92px}.rv-fc__col{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.rv-fc__bar{position:relative;width:100%;max-width:30px;min-height:4px;border-radius:6px 6px 3px 3px;background:var(--line-2)}.rv-fc__col:first-child .rv-fc__bar{background:var(--teal)}.rv-fc__bar em{position:absolute;top:-18px;left:0;right:0;text-align:center;font-style:normal;font-size:11px;font-weight:800;color:var(--ink-2)}.rv-fc__col small{font-size:11px;font-weight:800;color:var(--ink-3)}.deck-list{display:grid;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}.deck{display:flex;align-items:center;gap:14px;padding:14px 14px 14px 10px;text-align:left;color:var(--ink-3)}.deck+.deck{border-top:2px solid var(--line)}.deck:active{background:var(--surface-2)}.deck__mark{width:48px;text-align:center;font-size:34px;font-weight:800;line-height:1}.deck b{display:block;color:var(--ink);margin-bottom:6px}.deck small{display:block;margin-top:5px;font-weight:700;font-size:12.5px}.theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.theme{position:relative;display:grid;gap:2px;justify-items:start;text-align:left;padding:12px 14px 14px;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;border-radius:16px}.theme:active{transform:translateY(2px)}.theme__emoji{font-size:24px;margin-bottom:2px}.theme b{font-size:15px}.theme small{font-weight:700;color:var(--ink-3);font-size:12px;margin-bottom:6px}.theme .bar{width:100%}.theme__lock{position:absolute;top:12px;right:12px;color:var(--ink-3)}.section-title .badge-plus{margin-left:6px;vertical-align:2px}.fc{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + var(--content-top) + 8px) 16px calc(var(--safe-bottom) + 14px);overflow:hidden}.fc__count{font-weight:900;color:var(--ink-3);min-width:44px;text-align:right}.fc__title{text-align:center;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin:10px 0 0}.fc__stage{position:relative;flex:1;display:grid;place-items:center;perspective:1200px;padding:16px 0}.fc__card{position:relative;width:min(100%,360px);aspect-ratio:3 / 3.7;touch-action:pan-y;cursor:pointer;transition:transform .25s cubic-bezier(.2,.9,.2,1);z-index:1}.fc__card--behind{position:absolute;z-index:0;transform:scale(.94) translateY(16px);background:var(--surface);border:2px solid var(--line);border-radius:28px;opacity:.7}.fc__inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.3,1.2,.4,1)}.fc__card.is-flipped .fc__inner{transform:rotateY(180deg)}.fc__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:28px;background:var(--surface);border:2px solid var(--line);border-bottom-width:6px;box-shadow:var(--shadow-l);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center}.fc__front:before{content:"";position:absolute;top:18px;width:10px;height:10px;border-radius:50%;background:var(--sun)}.fc__back{transform:rotateY(180deg)}.fc__jp{font-size:64px;font-weight:800;line-height:1.15;word-break:keep-all}.fc__jp--long{font-size:44px}.fc__jp--kana{font-size:120px}.fc__jp--sm{font-size:40px}.fc__jp--sm.fc__jp--kana{font-size:84px}.fc__tap{position:absolute;bottom:22px;font-weight:700;font-size:13px}.fc__kana{font-size:18px;color:var(--ink-2)}.fc__rom{font-weight:800;color:var(--ink-3);font-size:17px}.fc__ru{font-size:22px;font-weight:900;margin:4px 0 6px}.fc__ex{font-size:15px;color:var(--ink-2);background:var(--surface-2);padding:8px 12px;border-radius:12px;margin-bottom:6px}.fc__card.leave-l{transform:translate(-130%) rotate(-18deg)!important;opacity:0;transition:transform .26s ease-in,opacity .26s}.fc__card.leave-r{transform:translate(130%) rotate(18deg)!important;opacity:0;transition:transform .26s ease-in,opacity .26s}.fc__card.hint-again .fc__face{border-color:var(--bad)}.fc__card.hint-good .fc__face{border-color:var(--ok)}.fc__stamp{position:absolute;top:26px;z-index:3;padding:6px 14px;border:4px solid;border-radius:12px;font-weight:900;font-size:22px;text-transform:uppercase;background:var(--surface)}.fc__stamp--again{right:22px;color:var(--bad);transform:rotate(12deg)}.fc__stamp--good{left:22px;color:var(--ok);transform:rotate(-12deg)}.fc__foot{display:grid;gap:8px}.fc__answers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;animation:rise .25s both}.fc__ans{--c: var(--ink-3);display:grid;justify-items:center;gap:2px;padding:10px 2px;min-height:60px;border-radius:16px;font-weight:900;font-size:14px;color:#fff;background:var(--c);box-shadow:0 4px color-mix(in srgb,var(--c) 70%,#000);transition:transform .08s,box-shadow .08s}.fc__ans:active{transform:translateY(4px);box-shadow:none}.fc__ans small{font-size:11.5px;font-weight:800;opacity:.9}.fc__ans--again{--c: var(--bad)}.fc__ans--hard{--c: var(--shiba)}.fc__ans--good{--c: var(--ok)}.fc__ans--easy{--c: var(--sky)}.fc__swipe{text-align:center;font-size:12.5px;font-weight:700}.fc-done{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.kana__progress{margin:16px 2px 14px;display:grid;gap:8px}.kana__progress b{font-size:18px;font-weight:900}.kana__progress .faint{font-size:14px;font-weight:700}.kana__legend{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--ink-3)}.kana__legend i{width:12px;height:12px;border-radius:4px;border:2px solid;margin-left:6px}.kgrid{display:grid;gap:6px}.kgrid__row{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.kgrid--yoon{grid-template-columns:repeat(3,1fr)}.kc{aspect-ratio:1 / 1.02;display:grid;place-items:center;align-content:center;border-radius:14px;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;transition:transform .08s}.kgrid--yoon .kc{aspect-ratio:1.6 / 1}.kc:active{transform:translateY(2px)}.kc__c{font-size:26px;font-weight:700;line-height:1.1}.kc small{font-size:11px;font-weight:800;color:var(--ink-3)}.kc--empty{border:0;background:none}.kc--l1{background:var(--gold-t);border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}.kc--l2{background:var(--teal-t);border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}.kc--l2 .kc__c{color:var(--teal-d)}:root[data-theme=dark] .kc--l2 .kc__c{color:#7fe3cc}.kana__legend i.kc--l1{border-color:var(--gold)}.kana__legend i.kc--l2{border-color:var(--teal)}.kana__cta{position:sticky;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 10px);margin-top:18px;display:grid;gap:10px}.kd{display:grid;gap:4px}.kd__char{text-align:center;font-size:130px;font-weight:700;line-height:1.05}.kd__rom{text-align:center;font-size:28px;font-weight:900;color:var(--shiba);margin-bottom:8px}.kd__pair{text-align:center;font-weight:700;margin-top:10px}.kd__pair .jp{font-size:22px;color:var(--ink)}.kd__ex{margin-top:14px;border-top:2px solid var(--line);padding-top:12px}.kd__ex h4{margin:0 0 8px;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.kd__word{width:100%;display:flex;align-items:baseline;gap:10px;padding:8px 2px;text-align:left}.kd__word .jp{font-size:20px;font-weight:700}.kd__word small{color:var(--ink-3);font-weight:700}.kd__word .muted{text-align:right;font-size:14px;font-weight:600}.search{display:flex;align-items:center;gap:10px;height:52px;padding:0 14px;border-radius:16px;background:var(--surface);border:2px solid var(--line-2);color:var(--ink-3);transition:border-color .15s}.search:focus-within{border-color:var(--sky)}.search input{flex:1;min-width:0;border:0;outline:0;background:none;font-weight:700;font-size:16px;color:var(--ink);user-select:text}.search input::placeholder{color:var(--ink-3)}.search__clear{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:var(--ink-2)}.search__hint{font-size:13px;font-weight:700;margin:6px 4px 0}.dict .chips{margin-top:12px}.dict__count{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:10px 4px 8px}.wlist{list-style:none;margin:0;padding:0;background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}.wrow{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;cursor:pointer}.wrow+.wrow{border-top:2px solid var(--line)}.wrow:active{background:var(--surface-2)}.wrow__jp{flex:0 0 42%;min-width:0}.wrow__jp>.jp{display:block;font-size:20px;font-weight:700;line-height:1.25}.wrow__jp small{display:block;font-size:12.5px;font-weight:700;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wrow__ru{flex:1;min-width:0;font-weight:700;font-size:14.5px;color:var(--ink-2)}.wrow__add{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;border:2px solid var(--line-2);color:var(--ink-3)}.wrow__add.is-in{border-color:transparent;background:var(--teal-t);color:var(--teal)}.dict__more{margin-top:12px}.empty{display:grid;justify-items:center;gap:8px;padding:30px 10px;font-weight:700}.wd{display:grid;gap:4px;text-align:center}.wd__kana{font-size:18px;color:var(--ink-2)}.wd__jp{font-size:52px;font-weight:800;line-height:1.15}.wd__rom{font-weight:800;color:var(--ink-3)}.wd__ru{font-size:21px;font-weight:900;margin:6px 0 12px}.wd .ex-example{justify-content:center}.wd__kanji{display:grid;gap:8px;margin-top:14px;text-align:left}.wd__k{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--surface);border:2px solid var(--line)}.wd__k .jp{font-size:34px;font-weight:700}.wd__k b{display:block}.wd__k small{color:var(--ink-3);font-weight:700}.wd__src{font-size:13px;font-weight:700;margin:12px 0 4px}.prof__head{display:flex;align-items:center;gap:14px;margin:4px 0 18px}.prof__head h1{font-size:24px;font-weight:900;line-height:1.15}.prof__head p{font-weight:700;font-size:13.5px}.prof__avatar{position:relative;flex:none;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;background:var(--shiba-t);border:3px solid var(--surface);box-shadow:0 0 0 2px var(--line-2)}.prof__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.prof__crown{position:absolute;bottom:-4px;right:-4px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:0 0 0 2px var(--gold)}.prof__nums{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 14px;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}.prof__nums div{padding:12px 4px;text-align:center}.prof__nums div+div{border-left:2px solid var(--line)}.prof__nums dt{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.prof__nums dd{margin:2px 0 0;font-size:24px;font-weight:900}.prof__nums small{font-size:12px;color:var(--ink-3);font-weight:800}.prof__heat .faint{font-size:13px;font-weight:700}.heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:4px;margin-top:12px}.heat i{aspect-ratio:1;border-radius:4px;background:var(--line)}.heat i.l1{background:color-mix(in srgb,var(--shiba) 35%,var(--line))}.heat i.l2{background:color-mix(in srgb,var(--shiba) 70%,var(--line))}.heat i.l3{background:var(--sun)}.heat i.f{background:none;border:1.5px dashed var(--line)}.seals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 8px}.seal{display:grid;justify-items:center;gap:6px}.seal small{font-size:12px;font-weight:800;color:var(--ink-3);text-align:center;line-height:1.2}.seal.is-got small{color:var(--ink)}.seal__stamp{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800;color:var(--line-2);border:3px dashed var(--line-2);transform:rotate(-8deg)}.seal.is-got .seal__stamp{color:var(--sun);border:4px solid var(--sun);box-shadow:inset 0 0 0 3px var(--bg),inset 0 0 0 5px var(--sun);background:color-mix(in srgb,var(--sun) 6%,transparent);animation:stamp .4s cubic-bezier(.3,1.6,.5,1) both}@keyframes stamp{0%{transform:rotate(-8deg) scale(1.4);opacity:0}}.seal__stamp--big{width:120px;height:120px;font-size:58px;margin:6px auto 12px;color:var(--sun);border:6px solid var(--sun);box-shadow:inset 0 0 0 4px var(--bg),inset 0 0 0 7px var(--sun)}.seal__stamp--big.is-off{color:var(--line-2);border:4px dashed var(--line-2);box-shadow:none}.seal-detail h3{font-size:22px;font-weight:900}.invite{width:100%;margin-top:22px;display:flex;align-items:center;gap:14px;text-align:left;padding:16px;border-radius:var(--radius);color:#fff;background:var(--teal);box-shadow:0 4px 0 var(--teal-d);background-image:radial-gradient(circle at 100% 0,rgba(255,255,255,.14) 0 60px,transparent 61px)}.invite:active{transform:translateY(4px);box-shadow:none}.invite b{display:block;font-size:17px}.invite small{font-weight:700;opacity:.9}.settings{background:var(--surface);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden}.set-row{width:100%;min-height:56px;display:flex;align-items:center;gap:10px;padding:8px 14px;text-align:left;font-weight:700;color:var(--ink)}.set-row+.set-row{border-top:2px solid var(--line)}.set-row .faint{font-size:14px}.set-row svg{color:var(--ink-3)}.set-row--danger{color:var(--bad);justify-content:center}.switch{position:relative;width:50px;height:30px;border-radius:99px;background:var(--line-2);transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0003;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.switch.on{background:var(--ok)}.switch.on:after{transform:translate(20px)}.mini-seg{display:flex;gap:4px;background:var(--surface-2);border-radius:12px;padding:3px}.mini-seg button{min-width:38px;height:32px;padding:0 8px;border-radius:9px;font-weight:800;font-size:13px;color:var(--ink-2)}.mini-seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.prof__foot{font-size:12px;font-weight:700;margin-top:22px}.goal-stage{position:relative;display:grid;justify-items:center;margin:6px 0 14px;min-height:300px}.goal-stage__disc{position:absolute;top:8px;width:230px;height:230px;border-radius:50%;background:var(--tint);transition:background .4s}:root[data-theme=dark] .goal-stage__disc{opacity:.25}.goal-stage__art{position:relative;width:240px;height:240px;object-fit:contain;animation:art-in .55s cubic-bezier(.3,1.5,.45,1) both;filter:drop-shadow(0 12px 18px rgba(120,50,20,.18))}.goal-stage__art--maru{display:grid;place-items:center;animation:none;filter:none}@keyframes art-in{0%{opacity:0;transform:scale(.6) rotate(-8deg) translateY(20px)}60%{opacity:1}}.goal-stage__petals{position:absolute;top:120px;left:50%;pointer-events:none}.goal-stage__petals i{position:absolute;width:12px;height:9px;border-radius:12px 0;background:#ff9fb6;opacity:0;animation:petal .9s ease-out forwards}@keyframes petal{0%{opacity:1;transform:rotate(var(--a)) translate(30px) rotate(0)}to{opacity:0;transform:rotate(var(--a)) translate(150px) rotate(220deg) translateY(30px)}}.goal-stage__word{position:relative;margin-top:-16px;display:inline-flex;align-items:baseline;gap:8px;padding:8px 16px;border-radius:14px;background:var(--surface);border:2px solid var(--line);box-shadow:var(--shadow);animation:pop .4s .15s cubic-bezier(.3,1.6,.5,1) both}.goal-stage__word .jp{font-size:24px;font-weight:800;color:var(--sun)}.goal-stage__word small{font-size:13px;color:var(--ink-3)}.goal-stage__word em{font-style:normal;font-weight:800;color:var(--ink-2)}.goal-stage__line{margin-top:10px;font-weight:800;font-size:16px;text-align:center;animation:rise .35s .2s both}.goal-stage__line--q{font-size:20px;font-weight:900;margin-top:0}.goal-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.goal-tile{grid-column:span 2;position:relative;display:grid;justify-items:center;gap:4px;padding:8px 4px 10px;border-radius:18px;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;font-weight:800;font-size:12.5px;line-height:1.15;text-align:center;transition:transform .15s,border-color .15s,background .15s}.goal-tile:nth-child(4),.goal-tile:nth-child(5){grid-column:span 3}.goal-tile img{width:58px;height:58px;object-fit:contain;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.goal-tile:active{transform:translateY(2px)}.goal-tile[aria-checked=true]{border-color:var(--sun);background:color-mix(in srgb,var(--tint) 55%,var(--surface));transform:translateY(-2px)}.goal-tile[aria-checked=true] img{transform:scale(1.12) rotate(-4deg)}.goal-tile__check{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--sun);animation:pop .25s cubic-bezier(.3,1.6,.5,1)}.ob-levels{display:flex;align-items:center;justify-content:center;margin:16px auto 0;width:100%;max-width:290px;animation:rise .5s .5s both}.lv{display:grid;justify-items:center;gap:2px}.lv b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:15px;font-weight:900;color:var(--ink-3);border:2.5px dashed var(--line-2);background:var(--bg)}.lv small{font-size:11.5px;font-weight:800;color:var(--ink-3)}.lv--now b{color:#fff;border:0;background:var(--sun);box-shadow:0 3px 0 var(--sun-d),0 0 0 5px color-mix(in srgb,var(--sun) 18%,transparent)}.lv--now small{color:var(--sun)}.lv__line{flex:1;height:3px;margin:0 6px 18px;border-radius:2px;background:linear-gradient(90deg,var(--sun),var(--line-2))}.lv__line--dash{background:repeating-linear-gradient(90deg,var(--line-2) 0 6px,transparent 6px 11px)}.lvl-stage{position:relative;display:grid;justify-items:center;margin:4px 0 14px}.lvl-stage__mt{width:100%;max-width:340px;height:auto;border-radius:24px;background:linear-gradient(#ffe9dc,#fff6ee)}:root[data-theme=dark] .lvl-stage__mt{background:linear-gradient(#3a2730,#2a201a)}.lvl-stage__sun{animation:sun-in .7s cubic-bezier(.2,1.2,.4,1) both}.lvl-stage__flag{transform-origin:160px 46px;animation:flag 2s ease-in-out infinite alternate}@keyframes flag{to{transform:rotate(-4deg)}}.lvl-stage__maru{position:absolute;translate:-10% -30%;transition:left .7s cubic-bezier(.3,1.3,.5,1),top .7s cubic-bezier(.3,1.3,.5,1)}.lvl-stage__sample{margin-top:-18px}.lvl-stage .goal-stage__line--q{margin-top:12px}.lvl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.lvl-tile,.pace-tile{position:relative;display:grid;justify-items:center;align-content:start;gap:2px;padding:14px 6px 12px;border-radius:18px;background:var(--surface);border:2px solid var(--line);border-bottom-width:4px;text-align:center;transition:transform .15s,border-color .15s,background .15s}.lvl-tile:active,.pace-tile:active{transform:translateY(2px)}.lvl-tile[aria-checked=true],.pace-tile[aria-checked=true]{border-color:var(--sun);background:color-mix(in srgb,var(--sun-t) 70%,var(--surface));transform:translateY(-2px)}.lvl-tile b,.pace-tile b{font-size:14.5px;font-weight:900;margin-top:6px}.lvl-tile small,.pace-tile small{font-size:12px;font-weight:700;color:var(--ink-3)}.lvl-tile .ob-lvl{height:34px;width:auto}.lvl-tile .ob-lvl i{width:9px;border-radius:4px}.lvl-tile .ob-lvl i.on{background:var(--sun)}.lvl-tile[aria-checked=true] .ob-lvl i.on{animation:bar-up .4s cubic-bezier(.3,1.6,.5,1) both}@keyframes bar-up{0%{transform:scaleY(.2);transform-origin:bottom}}.pace-stage{display:grid;gap:14px;margin:8px 0 18px}.pace-stage__clock{display:flex;align-items:center;justify-content:center;gap:14px}.pace-stage__min{display:grid;animation:pop .35s cubic-bezier(.3,1.6,.5,1)}.pace-stage__min b{font-size:76px;font-weight:900;line-height:.9;color:var(--sun);letter-spacing:-.04em}.pace-stage__min span{font-weight:800;color:var(--ink-2)}.pace-stage__proj{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px;border-radius:18px;background:var(--surface);border:2px dashed var(--line-2);animation:rise .35s both}.pace-stage__proj div{display:grid;text-align:center}.pace-stage__proj b{font-size:22px;font-weight:900}.pace-stage__proj small{font-weight:700;color:var(--ink-3);font-size:12.5px}.pace-stage__proj i{width:2px;height:34px;background:var(--line-2)}.pace-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pace-tile{padding:12px 4px 10px}.pace-tile__emoji{font-size:26px;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.pace-tile[aria-checked=true] .pace-tile__emoji{transform:scale(1.2) rotate(-8deg)}.jp.jp{font-weight:500}.ex-teach__jp.jp,.ex-kana-big.jp,.ex-prompt__jp.jp,.ex-prompt__text--kana.jp,.fc__jp.jp,.kd__char.jp,.wd__jp.jp,.kc__c.jp,.opt__jp.jp,.tile.jp,.ob-key .jp,.mt.jp,.kanji-tile .jp,.wd__k .jp,.step-sheet__preview .jp,.goal-stage__word .jp{font-family:var(--font-learn);font-weight:600;letter-spacing:.02em}.line{margin-top:22px}.sign{background:var(--surface);border:2px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.sign__top{display:flex;align-items:center;gap:12px;padding:12px 10px 10px 12px}.sign__code{flex:none;width:48px;height:48px;border-radius:12px;border:4px solid var(--uc);display:grid;place-items:center;align-content:center;font-weight:900;font-size:18px;line-height:1;color:var(--ink);background:var(--surface)}.sign__code small{font-size:9px;letter-spacing:.08em;color:var(--uc);margin-bottom:1px}.sign h2{font-size:17px;font-weight:900;line-height:1.2}.sign p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:var(--ink-3);margin-top:2px}.sign__tag{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:99px;background:var(--surface-2);color:var(--ink-2)}.sign__tips{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;color:var(--ink-3);border:2px solid var(--line)}.sign__bar{display:flex;justify-content:space-between;padding:3px 12px;background:var(--uc);color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em;min-height:22px}.stations{list-style:none;margin:0;padding:6px 0 0;position:relative}.st:before{content:"";position:absolute;left:21px;top:0;bottom:0;width:8px;background:var(--uc)}.st:first-child:before{top:18px}.st:last-child:before{bottom:calc(100% - 30px)}.st--current:before{background:linear-gradient(var(--uc) 0 40px,var(--line-2) 40px)}.st--locked:before,.st--plus:before,.st--open:before{background:repeating-linear-gradient(var(--line-2) 0 10px,transparent 10px 16px)}.st{position:relative;display:flex;align-items:flex-start;gap:12px;padding:6px 0}.st__dot{position:relative;z-index:1;flex:none;width:30px;height:30px;margin:12px 0 0 10px;border-radius:50%;display:grid;place-items:center;background:var(--surface);border:5px solid var(--uc);color:#fff}.st__dot i{width:6px;height:6px;border-radius:50%;background:var(--uc)}.st--done .st__dot{background:var(--uc)}.st--locked .st__dot,.st--plus .st__dot{border-color:var(--line-2);background:var(--bg)}.st--locked .st__dot i,.st--plus .st__dot i{display:none}.st--current .st__dot{width:34px;height:34px;margin:22px 0 0 8px;border-width:6px;animation:st-pulse 1.8s ease-in-out infinite}@keyframes st-pulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--uc) 22%,transparent)}}.st__row{flex:1;display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 12px;text-align:left;border-radius:14px;transition:background .15s}.st__row:active{background:var(--surface-2)}.st__row b,.st__now b{display:block;font-size:15.5px;font-weight:800;line-height:1.25}.st__row .faint,.st__now .faint{font-size:12.5px;font-weight:700}.st--locked .st__row b,.st--plus .st__row b{color:var(--ink-3)}.st__code{display:block;font-size:11px;font-weight:900;letter-spacing:.06em;color:var(--uc);text-transform:uppercase}.st--locked .st__code,.st--plus .st__code{color:var(--ink-3)}.st__stars{display:flex}.st__now{flex:1;padding:12px 12px 14px;border-radius:18px;background:var(--surface);border:2px solid color-mix(in srgb,var(--uc) 45%,var(--line));box-shadow:var(--shadow);animation:rise .4s both}.st__now-head{display:flex;align-items:center;gap:6px;margin-bottom:8px}.st__now b{font-size:19px;font-weight:900}.ex-teach__jp{max-width:100%;overflow-wrap:anywhere}.ex-teach__jp.is-long{font-size:clamp(30px,9vw,44px)}.ex-teach__jp.is-xlong{font-size:clamp(24px,7vw,34px)}.fc__jp,.wd__jp,.ex-prompt__jp{overflow-wrap:anywhere}.chips{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);scroll-padding:0 16px}.chips:after{content:"";flex:0 0 20px}.kana-edit-toggle{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 12px 12px 14px;margin-bottom:12px;border-radius:16px;background:var(--surface);border:2px solid var(--line)}.kana-edit-toggle.on{border-color:var(--shiba);background:var(--shiba-t)}.kana-edit-toggle b{display:block;font-size:15px}.kana-edit-toggle small{font-weight:700;color:var(--ink-3);font-size:12.5px}.kana-edit-toggle__btn{padding:8px 14px;border-radius:12px;font-weight:900;font-size:13px;color:#fff;background:var(--shiba);box-shadow:0 3px 0 var(--shiba-d)}.kana-presets{margin-bottom:12px}.kana-presets p{font-size:13px;font-weight:700;margin:0 2px 8px}.kgrid--edit .kgrid__row{grid-template-columns:34px repeat(5,1fr)}.krow{border-radius:10px;font-weight:900;font-size:13px;color:var(--ink-3);background:var(--surface-2);border:2px dashed var(--line-2)}.krow.some{border-style:solid;border-color:var(--shiba);color:var(--shiba)}.krow.on{border:0;background:var(--shiba);color:#fff}.kc{position:relative}.kc--edit{opacity:.55;background:var(--surface);border-color:var(--line)}.kc--edit.kc--on{opacity:1;border-color:var(--shiba);background:var(--shiba-t)}.kc__tick{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:50%;background:var(--shiba);box-shadow:inset 0 0 0 3px var(--surface)}.section-title__act{float:right;font-size:12px;font-weight:900;color:var(--shiba);text-transform:none;letter-spacing:0}.ch-trial{display:flex;align-items:center;gap:12px;text-align:left;margin:8px 0 4px;padding:12px;border-radius:16px;background:var(--sky-t);border:2px solid color-mix(in srgb,var(--sky) 35%,var(--line))}.ch-trial__ic{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#2aabee}.ch-trial b{display:block;font-size:15px}.ch-trial small{font-weight:700;color:var(--ink-2);font-size:12.5px}.ch-trial .btn{text-transform:none;letter-spacing:0}.theme__icon{width:52px;height:52px;object-fit:contain;margin:-4px 0 2px -4px;transition:transform .2s cubic-bezier(.3,1.6,.5,1)}.theme:active .theme__icon{transform:scale(1.1) rotate(-4deg)}.chip--icon{display:inline-flex;align-items:center;gap:6px;padding-left:8px}.chip--icon img{width:24px;height:24px;object-fit:contain}.mn{position:relative;margin-top:14px;padding:12px;border-radius:20px;text-align:left;background:var(--surface);border:2px solid var(--line);overflow:hidden}.mn__pics{display:flex;gap:8px}.mn__pics figure{flex:1;margin:0;min-width:0}.mn__img{display:block;width:100%;height:auto;max-height:180px;border-radius:14px;background:#fff;border:2px solid var(--line)}.mn__img--small{max-height:120px}.mn__pics figcaption{margin-top:4px;font-size:12.5px;font-weight:800;color:var(--ink-3);text-align:center}.mn__pics figcaption .jp{font-family:var(--font-learn);color:var(--ink)}.mn__body{margin-top:10px}.mn__label{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--sun)}.mn__body b{display:block;font-size:17px;font-weight:900}.mn__body p{font-size:14px;font-weight:600;color:var(--ink-2);line-height:1.4;margin-top:2px}.mn__compare button{font-family:var(--font-learn);font-size:18px;font-weight:600;color:var(--ink);padding:0 6px;margin-left:2px;border-radius:8px;background:var(--surface-2)}.mn--compact .mn__img{max-height:130px}.mn--locked .mn__pics,.mn--locked .mn__body{filter:blur(7px);user-select:none}.mn__lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:900;font-size:14px;color:#3a2408;background:color-mix(in srgb,var(--gold-t) 55%,transparent)}.mn__lock:disabled{cursor:default}.pr{min-height:100dvh;padding:calc(var(--safe-top) + var(--content-top) + 8px) 16px calc(var(--safe-bottom) + 24px)}.pr__top{display:flex;align-items:center;gap:4px}.pr__title{display:block;font-size:17px;font-weight:900}.pr__top small{font-weight:700;font-size:12.5px}.pr__help{font-weight:900;font-size:20px;color:var(--ink-2)}.pr__mode{margin:10px 0 8px}.pr__meta{display:flex;align-items:center;gap:14px;font-size:13px;font-weight:700;color:var(--ink-3);padding:0 4px}.pr__meta b{color:var(--ink)}.pr__undo{margin-left:auto;padding:6px 10px;border-radius:10px;font-weight:800;font-size:13px;color:var(--ink-2);border:2px solid var(--line)}.pr__undo:disabled{opacity:.4}.pr__card{margin-top:12px;padding:22px 14px 16px;border-radius:var(--radius-l);background:var(--surface);border:2px solid var(--line);border-bottom-width:5px;text-align:center;animation:ex-in .25s cubic-bezier(.2,.9,.2,1)}.pr__prompt{font-size:44px;font-weight:900;line-height:1.15;overflow-wrap:anywhere}.pr__prompt.jp{font-family:var(--font-learn);font-weight:600;font-size:56px}.pr__prompt--kana.jp{font-size:110px;line-height:1.05}.pr__prompt--long.jp{font-size:38px}.pr__listen{display:inline-flex;align-items:center;gap:6px;margin:10px 0 14px;padding:8px 14px;border-radius:12px;font-weight:800;font-size:14px;color:var(--sky-d);background:var(--sky-t)}:root[data-theme=dark] .pr__listen{color:var(--sky)}.pr__answer{display:grid;gap:2px;padding-top:6px;border-top:2px dashed var(--line);animation:rise .25s both}.pr__answer b{font-size:26px;font-weight:900}.pr__card .opts{text-align:left}.opts--six{grid-template-columns:repeat(3,1fr)}.opts--six .opt,.pr__card .opts--grid .opt{justify-content:center;text-align:center;min-height:64px;font-size:20px}.pr__card .opt .jp{font-family:var(--font-learn);font-weight:600;font-size:26px}.pr__foot{margin-top:14px;display:grid;gap:8px}.pr__hint{text-align:center;font-size:13px;font-weight:700}.pr__miss{display:grid;gap:10px;padding:12px;border-radius:18px;background:var(--bad-t);animation:rise .25s both}.pr__miss p{font-weight:700}.pr__miss .mn{margin-top:0}.pr-stats{margin-top:22px}.pr-stats__hard{display:grid;gap:4px;margin-top:12px;font-size:14px}.pr-stats__hard b{font-size:13px;font-weight:900;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em}.pr-stats__hard button{text-align:left;padding:6px 0;font-weight:700}.pr-stats__hard .jp{font-family:var(--font-learn);font-size:20px}.pr-set h3,.pr-help h3{font-size:21px;font-weight:900;margin-bottom:10px}.pr-set .set-row{padding:8px 0}.pr-set__note{font-size:13px;font-weight:600;margin-top:10px}.pr-help ol{margin:8px 0 12px;padding-left:20px;display:grid;gap:10px;color:var(--ink-2);font-weight:600;line-height:1.45}.pr-help ol b{color:var(--ink)}.pr-help>.faint{font-size:13px;font-weight:600;margin-bottom:14px}.why{min-height:100dvh;padding:calc(var(--safe-top) + var(--content-top) + 8px) 16px calc(var(--safe-bottom) + 20px);background:radial-gradient(100% 40% at 50% 0%,var(--bg-2),transparent 70%),var(--bg)}.why__close{position:absolute;z-index:2}.why__hero{position:relative;text-align:center;padding-top:8px}.why__hero img{position:relative;width:min(54vw,210px);height:auto;animation:hero-in .7s cubic-bezier(.2,1.4,.4,1) both}.why__sun{position:absolute;left:50%;top:4px;width:min(50vw,196px);aspect-ratio:1;translate:-50% 0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a55,var(--sun) 55%,#d93526)}.why__kicker{margin-top:8px;font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--sun)}.why__hero h1{font-size:clamp(30px,9vw,40px);font-weight:900;line-height:1.05;letter-spacing:-.02em;margin:6px 0 10px}.why__hero .muted{font-weight:600;max-width:360px;margin:0 auto}.why__vs{margin-top:24px}.why__list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.why__list li{position:relative;display:grid;gap:2px;padding:12px 44px 12px 14px;border-radius:16px;background:var(--surface);border:2px solid var(--line);font-weight:700;animation:rise .35s both}.why__list small{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.why__list i{position:absolute;right:12px;top:50%;translate:0 -50%;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:13px;color:#fff}.why__list--us li{border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.why__list--us i{background:var(--ok)}.why__list--them li{color:var(--ink-2);background:var(--surface-2)}.why__list--them i{background:var(--ink-3)}.why__maru{display:flex;align-items:center;gap:10px;margin-top:10px;font-weight:800}.why__truths{display:grid;gap:10px;margin-top:22px}.why__truths article{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--surface);border:2px solid var(--line)}.why__emoji{font-size:28px;line-height:1}.why__truths h3{font-size:17px;font-weight:900}.why__truths p{color:var(--ink-2);font-weight:600;font-size:14.5px;line-height:1.4}.why__formula{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin:26px 0 8px;font-family:var(--font-learn);font-size:28px;font-weight:600}.why__formula b{color:var(--ink-3)}.why__res{color:#fff;background:var(--sun);padding:2px 10px;border-radius:10px}.why__formula small{flex-basis:100%;text-align:center;font-family:var(--font);font-size:12px;font-weight:800;color:var(--ink-3)}.why__cta{margin-top:18px;display:grid;gap:8px;text-align:center}.why__cta .faint{font-size:11px;font-weight:600}.draw{width:100%;display:flex;gap:14px;align-items:center;text-align:left;padding:12px;margin-bottom:12px;border-radius:20px;background:linear-gradient(135deg,var(--gold-t),var(--surface) 70%);border:2px solid color-mix(in srgb,var(--gold) 45%,var(--line))}.draw__pad{position:relative;flex:none;width:96px;height:96px;border-radius:18px;background:var(--surface);border:2px solid var(--line)}.draw__pad svg{width:100%;height:100%}.draw__grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.draw__guide{font-family:var(--font-learn);font-size:78px;fill:var(--line)}.draw__s{fill:none;stroke:var(--sun);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:200;animation:draw-stroke 5s ease-in-out infinite}.draw__s2{animation-name:draw-stroke-2}.draw__s3{animation-name:draw-stroke-3}@keyframes draw-stroke{0%{stroke-dashoffset:200}14%,88%{stroke-dashoffset:0}to{stroke-dashoffset:0;opacity:0}}@keyframes draw-stroke-2{0%,16%{stroke-dashoffset:200}32%,88%{stroke-dashoffset:0}to{stroke-dashoffset:0;opacity:0}}@keyframes draw-stroke-3{0%,34%{stroke-dashoffset:200}62%,88%{stroke-dashoffset:0}to{stroke-dashoffset:0;opacity:0}}.draw__pen{fill:var(--ink);offset-path:path("M67 44 Q44 72 31 71 Q19 69 26 56 Q40 41 64 50 Q83 59 73 80 Q67 89 57 88");animation:draw-pen 5s ease-in-out infinite;opacity:0}@keyframes draw-pen{0%,34%{offset-distance:0%;opacity:0}36%{opacity:1}62%{offset-distance:100%;opacity:1}66%,to{offset-distance:100%;opacity:0}}.draw__score{position:absolute;right:-10px;top:-10px;padding:3px 8px;border-radius:99px;font-size:12px;font-weight:900;color:#fff;background:var(--ok);box-shadow:0 3px 0 var(--ok-d);animation:draw-score 5s ease-in-out infinite}@keyframes draw-score{0%,64%{transform:scale(0)}70%,92%{transform:scale(1)}to{transform:scale(0)}}.draw__badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:900;letter-spacing:.04em;color:#3a2408;background:linear-gradient(135deg,#ffd65c,#ffb020)}.draw__body b{display:block;font-size:17px;font-weight:900;margin-top:4px}.draw__body p{font-size:13.5px;font-weight:600;color:var(--ink-2);line-height:1.35}.adm{min-height:100dvh;padding:calc(var(--safe-top) + var(--content-top) + 8px) 16px calc(var(--safe-bottom) + 24px)}.adm__top{display:flex;align-items:center;gap:8px}.adm__top h1{font-size:24px;font-weight:900}.adm__demo{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--gold-t);font-weight:700;font-size:13px}.adm__grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.adm__num{padding:12px 8px;border-right:2px solid var(--line);border-bottom:2px solid var(--line);margin:0 -2px -2px 0}.adm__num b{display:block;font-size:21px;font-weight:900}.adm__num small{font-size:11.5px;font-weight:700;color:var(--ink-3);line-height:1.2;display:block}.adm__num--accent b{color:var(--sun)}.adm__plans{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.adm__plans div{display:grid;padding:10px;border-radius:14px;background:var(--gold-t)}.adm__plans small{font-weight:800;font-size:12px;color:var(--ink-2)}.adm__plans b{font-size:20px;font-weight:900}.adm__plans span{font-size:12px;font-weight:700}.funnel{display:grid;gap:10px}.funnel__row{display:grid;grid-template-columns:1.3fr 1fr auto;align-items:center;gap:8px;font-size:13px;font-weight:700}.funnel__bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden}.funnel__bar i{display:block;height:100%;border-radius:inherit;background:var(--shiba)}.funnel p{font-size:13px;font-weight:700}.dist{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:8px;padding-top:24px}.dist__col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.dist__col span{position:relative;width:100%;max-width:34px;min-height:3px;border-radius:6px 6px 2px 2px;background:var(--teal)}.dist__col em{font-style:normal;font-size:10.5px;font-weight:800;color:var(--ink-2)}.dist__col small{font-size:10.5px;font-weight:800;color:var(--ink-3)}.dist--series .dist__col span{background:var(--sky)}.dist__pay{position:absolute;top:-9px;left:50%;translate:-50% 0;min-width:16px;height:16px;padding:0 3px;border-radius:99px;font-style:normal;font-size:10px;font-weight:900;line-height:16px;text-align:center;color:#3a2408;background:var(--gold)}.adm__note{font-size:12px;font-weight:600;margin:6px 4px 0}.adm__table{padding:4px 0}.adm__tr{display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;font-weight:700}.adm__tr+.adm__tr{border-top:2px solid var(--line)}.adm__tr small{display:block;font-size:11.5px;color:var(--ink-3)}.why-link{width:100%;display:flex;align-items:center;gap:12px;text-align:left;margin-top:12px;padding:14px;border-radius:var(--radius);background:var(--surface);border:2px solid var(--line);border-bottom-width:4px}.why-link>span:first-child{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:24px;color:#fff;background:var(--sun);font-family:var(--font-learn)}.why-link--admin>span:first-child{background:var(--ink)}.why-link b{display:block}.why-link small{font-weight:700;color:var(--ink-3)}.why-link svg{color:var(--ink-3)}.ex-phrase__ask{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ex-phrase__ask .bubble{flex:1;display:grid;gap:2px}.ex-phrase__ask small{font-size:12.5px;font-weight:700}.ex-phrase__ask b{font-size:18px;font-weight:900;line-height:1.3}.ex-phrase__hints{padding:10px 12px;border-radius:16px;background:var(--surface);border:2px solid var(--line);margin-bottom:12px}.ex-phrase__hints small{font-weight:800;color:var(--ink-2)}.ex-phrase__hints button{font-weight:900;font-size:13px;color:var(--teal)}.ex-phrase__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ex-phrase__chips span{padding:4px 10px;border-radius:99px;font-size:13px;font-weight:700;color:var(--ink-2);background:var(--surface-2);border:1.5px solid var(--line)}.ex-phrase__chips b{color:var(--teal-d);font-weight:700}:root[data-theme=dark] .ex-phrase__chips b{color:#7fe3cc}.ex-phrase__slots{min-height:84px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;margin-bottom:18px;border-radius:18px;border:2px dashed var(--line-2);font-weight:700}.ex-phrase__bank{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.wtile{display:grid;justify-items:center;min-height:52px;padding:6px 12px;border-radius:14px;background:var(--surface);border:2px solid var(--line-2);border-bottom-width:4px;transition:transform .08s}.wtile .jp{font-family:var(--font-learn);font-weight:600;font-size:21px;line-height:1.2}.wtile small{font-size:11px;font-weight:700;color:var(--ink-3)}.wtile:active:not(:disabled){transform:translateY(2px);border-bottom-width:2px}.wtile--in{animation:pop .2s cubic-bezier(.3,1.6,.5,1)}.wtile--used{background:var(--line);border-color:var(--line)}.wtile--used>*{visibility:hidden}.why--intro{padding-bottom:calc(var(--safe-bottom) + 96px)}.why--intro .why__cta{position:fixed;left:0;right:0;bottom:0;z-index:10;margin:0;padding:14px 16px calc(var(--safe-bottom) + 14px);background:linear-gradient(transparent,var(--bg) 30%)}.why--intro .why__cta>*{max-width:488px;margin:0 auto;width:100%}.why__try{text-align:center;margin-top:4px}.why__h2{margin:30px 0 0;text-align:center;font-size:24px;font-weight:900;letter-spacing:-.01em}.stamp{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-learn);font-weight:600;font-size:23px;color:var(--sun);border:3px solid var(--sun);box-shadow:inset 0 0 0 2px var(--surface),inset 0 0 0 4px var(--sun);background:color-mix(in srgb,var(--sun) 6%,var(--surface));transform:rotate(-8deg)}.stamp--sm{width:40px;height:40px;font-size:19px}.pace-tile[aria-checked=true] .stamp{color:#fff;background:var(--sun);box-shadow:inset 0 0 0 2px var(--sun),inset 0 0 0 4px #fff;animation:stamp .35s cubic-bezier(.3,1.6,.5,1)}.gate{isolation:isolate;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;max-width:420px;margin:0 auto}.gate h1{font-size:28px;font-weight:900;letter-spacing:-.02em}.gate .muted{font-weight:600;margin-bottom:10px}.gate .btn{text-decoration:none}.gate__sun{position:absolute;top:calc(50% - 250px);width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ff6a55,var(--sun) 55%,#d93526);opacity:.9;z-index:-1}.gate__bot{font-weight:800}.boot{justify-content:center}.boot__art{animation:boot 1.2s ease-in-out infinite;opacity:.9}@keyframes boot{50%{transform:translateY(-8px);opacity:.6}}
