*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;text-rendering:optimizeLegibility}body{background-color:#f8f9fc;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,system-ui,sans-serif;font-size:1rem;line-height:1.6}#root,body{min-height:100vh}#root{display:flex;flex-direction:column}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{color:inherit;font:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ol,ul{padding-left:1.25rem}li{line-height:1.5}textarea{resize:vertical}:focus-visible{outline:2px solid #e94560;outline-offset:3px}::selection{background:rgba(233,69,96,.25);color:#1a1a2e}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}h1{font-size:1.6rem;line-height:1.3}h1,h2{margin:0 0 .75rem}h2{font-size:1.35rem;line-height:1.35}h3{font-size:1.15rem;line-height:1.4;margin:0 0 .5rem}p{line-height:1.6;margin:0 0 1rem}a,button,input,select,textarea{touch-action:manipulation}@media(min-width:768px){html{font-size:18px}}.react-toggle{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;background-color:initial;border:0;cursor:pointer;display:inline-block;padding:0;position:relative;touch-action:pan-x;-webkit-user-select:none;user-select:none}.react-toggle-screenreader-only{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.react-toggle--disabled{cursor:not-allowed;opacity:.5;transition:opacity .25s}.react-toggle-track{background-color:#4d4d4d;border-radius:30px;height:24px;padding:0;transition:all .2s ease;width:50px}.react-toggle:hover:not(.react-toggle--disabled) .react-toggle-track{background-color:#000}.react-toggle--checked .react-toggle-track{background-color:#19ab27}.react-toggle--checked:hover:not(.react-toggle--disabled) .react-toggle-track{background-color:#128d15}.react-toggle-track-check{bottom:0;height:10px;left:8px;line-height:0;margin-bottom:auto;margin-top:auto;opacity:0;position:absolute;top:0;transition:opacity .25s ease;width:14px}.react-toggle--checked .react-toggle-track-check,.react-toggle-track-x{opacity:1;transition:opacity .25s ease}.react-toggle-track-x{bottom:0;height:10px;line-height:0;margin-bottom:auto;margin-top:auto;position:absolute;right:10px;top:0;width:10px}.react-toggle--checked .react-toggle-track-x{opacity:0}.react-toggle-thumb{background-color:#fafafa;border:1px solid #4d4d4d;border-radius:50%;box-sizing:border-box;height:22px;left:1px;position:absolute;top:1px;transition:all .5s cubic-bezier(.23,1,.32,1) 0ms;transition:all .25s ease;width:22px}.react-toggle--checked .react-toggle-thumb{border-color:#19ab27;left:27px}.react-toggle--focus .react-toggle-thumb{box-shadow:0 0 2px 3px #0099e0}.react-toggle:active:not(.react-toggle--disabled) .react-toggle-thumb{box-shadow:0 0 5px 5px #0099e0}.header_wrapper__bwt9s{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);box-shadow:0 4px 20px rgba(0,0,0,.15);height:70px;left:0;position:fixed;right:0;top:0;z-index:1000}.header_header__cqNmq{align-items:center;display:flex;height:100%;margin:0 auto;max-width:1200px;padding:0 24px}.header_logoContainer__lJcNn{align-items:center;display:flex;gap:16px}.header_iconWrapper__I5PRt{align-items:center;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:12px;box-shadow:0 4px 12px rgba(233,69,96,.3);display:flex;height:44px;justify-content:center;width:44px}.header_icon__b-6pJ{color:#fff;font-size:22px}.header_titleGroup__HOR1n{display:flex;flex-direction:column;gap:2px}.header_title__EtJrp{color:#fff;font-size:22px;font-weight:700;letter-spacing:.5px;line-height:1.2;margin:0}.header_subtitle__LhSge{color:hsla(0,0%,100%,.7);font-size:12px;font-weight:400;letter-spacing:1px}@media(max-width:480px){.header_header__cqNmq{padding:0 16px}.header_iconWrapper__I5PRt{height:38px;width:38px}.header_icon__b-6pJ,.header_title__EtJrp{font-size:18px}.header_subtitle__LhSge{font-size:10px}}.textarea_container__bLtlH{background-color:#fff;border:2px solid #e2e8f0;border-radius:.75rem;color:#1a1a2e;font-family:inherit;font-size:1.25rem;line-height:1.6;min-height:12rem;padding:1rem;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.textarea_container__bLtlH:focus{border-color:#e94560;box-shadow:0 0 0 3px rgba(233,69,96,.15);outline:none}.textarea_container__bLtlH::-webkit-input-placeholder{color:#94a3b8}.textarea_container__bLtlH::placeholder{color:#94a3b8}@media(min-width:480px){.textarea_container__bLtlH{font-size:1.375rem;min-height:14rem;padding:1.25rem}}@media(min-width:768px){.textarea_container__bLtlH{border-radius:1rem;font-size:1.5rem;min-height:16rem;padding:1.5rem}}.kanjiSuggestion_container__jLr7K{display:flex;flex-direction:column;gap:1.5rem}.kanjiSuggestion_label__mhjzA{color:#0f3460;display:block;font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.kanjiSuggestion_container__jLr7K>div>button{background:linear-gradient(135deg,#e94560,#ff6b6b);border:none;border-radius:.75rem;box-shadow:0 4px 12px rgba(233,69,96,.25);color:#fff;cursor:pointer;font-size:2rem;font-weight:600;padding:1rem 2rem;transition:all .2s ease}.kanjiSuggestion_container__jLr7K>div>button:hover{box-shadow:0 6px 20px rgba(233,69,96,.35);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.kanjiSuggestion_kanji__Orpdg{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem}.kanjiSuggestion_kanji__Orpdg>div:first-child{width:100%}.kanjiSuggestion_kanji__Orpdg button{align-items:center;background:#f8fafc;border:2px solid #e2e8f0;border-radius:.75rem;color:#1a1a2e;cursor:pointer;display:flex;flex-direction:column;font-size:2.5rem;font-weight:500;gap:.5rem;min-width:6rem;padding:1rem 1.5rem;transition:all .2s ease}.kanjiSuggestion_kanji__Orpdg button:hover{background:#fff;border-color:#e94560;box-shadow:0 4px 12px rgba(233,69,96,.15);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.kanjiSuggestion_kanji__Orpdg button div{color:#475569;font-size:.875rem;font-weight:500;line-height:1.4;max-width:10rem;text-align:center}.kanjiSuggestion_cancel__l3nN2{background:transparent;border:2px solid #e2e8f0;border-radius:.5rem;color:#475569;cursor:pointer;font-size:1.125rem;font-weight:600;margin-top:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.kanjiSuggestion_cancel__l3nN2:hover{background:#f1f5f9;border-color:#cbd5e1;color:#1a1a2e}@media (min-width:768px){.kanjiSuggestion_label__mhjzA{font-size:1.5rem}.kanjiSuggestion_container__jLr7K>div>button{font-size:2.5rem;padding:1.25rem 2.5rem}.kanjiSuggestion_kanji__Orpdg button{font-size:3rem;min-width:7rem;padding:1.25rem 1.75rem}.kanjiSuggestion_kanji__Orpdg button div{font-size:1rem}.kanjiSuggestion_cancel__l3nN2{font-size:1.25rem;padding:.875rem 1.75rem}}.toggleButton_label__wX8uV{font-size:2rem}.toggleButton_pull_right__P6Oct{float:right;padding-right:2rem}.characterSymbol_pile__5FcwU{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;box-shadow:0 2px 4px rgba(15,23,42,.06);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:3rem;min-width:3rem;padding:.5rem;transition:all .15s ease}.characterSymbol_pile__5FcwU>span:first-child{color:#1a1a2e;font-size:1.5rem;font-weight:500;line-height:1.2}.characterSymbol_pile__5FcwU>span:last-child{color:#64748b;font-size:.9375rem;font-weight:500;margin-top:.1875rem}.characterSymbol_pile__5FcwU:hover{background:#fff5f7;border-color:#e94560;box-shadow:0 4px 12px rgba(233,69,96,.2);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.characterSymbol_pile__5FcwU:hover>span:first-child{color:#e94560}.characterSymbol_pile__5FcwU:active{box-shadow:0 2px 4px rgba(15,23,42,.08);-webkit-transform:translateY(0);transform:translateY(0)}@media (min-width:480px){.characterSymbol_pile__5FcwU{border-radius:.75rem;min-height:3.25rem;min-width:3.25rem;padding:.5rem .625rem}.characterSymbol_pile__5FcwU>span:first-child{font-size:1.625rem}.characterSymbol_pile__5FcwU>span:last-child{font-size:1rem;margin-top:.25rem}}@media (min-width:768px){.characterSymbol_pile__5FcwU{box-shadow:0 2px 6px rgba(15,23,42,.08);min-height:3.5rem;min-width:3.5rem;padding:.625rem .75rem}.characterSymbol_pile__5FcwU>span:first-child{font-size:1.75rem}.characterSymbol_pile__5FcwU>span:last-child{font-size:1.0625rem;margin-top:.3125rem}}@media (min-width:1024px){.characterSymbol_pile__5FcwU{min-height:3.75rem;min-width:3.75rem}.characterSymbol_pile__5FcwU>span:first-child{font-size:1.875rem}.characterSymbol_pile__5FcwU>span:last-child{font-size:1.125rem}}.characterlist_container__Q\+UN8{padding:.5rem 0}.characterlist_rows__ef02i{display:flex;flex-direction:row;flex-wrap:wrap;gap:.375rem;justify-content:center;margin-bottom:.375rem}@media (min-width:480px){.characterlist_container__Q\+UN8{padding:.75rem 0}.characterlist_rows__ef02i{gap:.5rem;margin-bottom:.5rem}}@media (min-width:768px){.characterlist_rows__ef02i{gap:.625rem;margin-bottom:.625rem}}.footer_container__Aq\+pz{background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f3460);box-shadow:0 -4px 20px rgba(0,0,0,.1);margin-top:auto;width:100%}.footer_footerContent__MMeqf{align-items:center;display:flex;gap:32px;justify-content:center;margin:0 auto;max-width:1200px;min-height:80px;padding:24px}.footer_brandSection__uvLTs{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.footer_brand__yGVwh{color:#fff;font-size:16px;font-weight:600;letter-spacing:.3px}.footer_tagline__MyKJa{color:hsla(0,0%,100%,.5);font-size:11px;letter-spacing:1px}.footer_divider__QC4WN{background:hsla(0,0%,100%,.2);height:40px;width:1px}.footer_creditsSection__v2OEg{align-items:flex-start;display:flex;flex-direction:column;gap:6px}.footer_madeWith__yaBnM{align-items:center;color:hsla(0,0%,100%,.85);display:flex;font-size:14px;gap:6px}.footer_brandLink__CFLzF{color:#e94560;font-weight:600;text-decoration:none;transition:all .3s ease}.footer_brandLink__CFLzF:hover{color:#ff6b6b;text-decoration:underline}.footer_copyright__FE6DM{color:hsla(0,0%,100%,.5);font-size:12px}@media screen and (max-width:576px){.footer_footerContent__MMeqf{flex-direction:column;gap:16px;padding:28px 24px}.footer_brandSection__uvLTs{align-items:center}.footer_divider__QC4WN{height:1px;width:60px}.footer_creditsSection__v2OEg{align-items:center;text-align:center}}.ExampleSuggestions_container__Xg5Z5{margin-top:20px}.ExampleSuggestions_title__rwHJH{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:10px}.ExampleSuggestions_list__POHjz{display:flex;flex-wrap:wrap;gap:10px}.ExampleSuggestions_item__uyQA\+{align-items:flex-start;align-items:center;background:#fff;border:1px solid #e3e3e3;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;font-size:1.2rem;min-width:120px;padding:10px 14px;text-align:center;transition:box-shadow .15s ease,-webkit-transform .15s ease;transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease,-webkit-transform .15s ease}.ExampleSuggestions_item__uyQA\+:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.ExampleSuggestions_jp__LJvUc{color:#111;font-size:1.35rem;font-weight:500;line-height:1.2}.ExampleSuggestions_romaji__mEPXv{color:#666;font-size:1.2rem;margin-top:4px}.app_page__2QVkM{background:linear-gradient(180deg,#f8f9fc,#eef1f8 50%,#e8ecf4);display:flex;flex-direction:column;min-height:100vh}.app_main__EWecH{flex:1 1;margin:0 auto;max-width:72rem;padding:calc(70px + 1.5rem) 1rem 2rem;width:100%}.app_editor__NujU-,.app_main__EWecH{display:flex;flex-direction:column;gap:1.5rem}.app_editor__NujU-{background:#fff;border-radius:1rem;box-shadow:0 4px 6px rgba(26,26,46,.04),0 10px 24px rgba(26,26,46,.08);padding:1.5rem}.app_area__GdcRF{width:100%}.app_buttonRow__GQcbk{display:flex;flex-direction:column;gap:.75rem}.app_btn__\+IHKP{border:none;border-radius:.75rem;cursor:pointer;font-size:1.125rem;font-weight:600;letter-spacing:.04em;padding:1rem 1.5rem;text-transform:uppercase;transition:all .2s ease;width:100%}.app_btnPrimary__Lxpgl{background:linear-gradient(135deg,#e94560,#ff6b6b);box-shadow:0 4px 12px rgba(233,69,96,.25);color:#fff}.app_btnPrimary__Lxpgl:hover:not(:disabled){box-shadow:0 6px 20px rgba(233,69,96,.35);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.app_btnSecondary__8T0Ux{background:#f1f5f9;border:1px solid #e2e8f0;color:#1a1a2e}.app_btnSecondary__8T0Ux:hover:not(:disabled){background:#e2e8f0;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.app_btn__\+IHKP:active:not(:disabled){-webkit-transform:translateY(0);transform:translateY(0)}.app_btn__\+IHKP:disabled{background:#e5e7eb;border:none;box-shadow:none;color:#9ca3af;cursor:not-allowed}.app_kanjiContainer__pHIe3{border-top:1px solid #e2e8f0;padding-top:1.5rem}.app_genericTutorialContainer__Ho4ya{background:linear-gradient(135deg,rgba(233,69,96,.05),hsla(0,100%,71%,.05));border:2px solid rgba(233,69,96,.15);border-radius:1rem;padding:1.5rem}.app_tutorialTitle__kiHdW{align-items:center;color:#e94560;display:flex;font-size:1.375rem;font-weight:700;gap:.5rem;letter-spacing:.05em;margin:0 0 1.25rem;text-transform:uppercase}.app_tutorialTitle__kiHdW:before{content:"📖";font-size:1.25rem}.app_step__cOHaq{color:#334155;font-size:1.1875rem;font-weight:500;line-height:1.8}.app_step__cOHaq+.app_step__cOHaq{margin-top:.75rem}.app_toggleRow__j6fqb{align-items:center;display:flex;justify-content:flex-end;padding:0 .25rem}.app_toggle__fxRnK{color:#1a1a2e;font-size:1.1875rem;font-weight:500}.app_keyboardSection__gE0TM{background:#fff;border-radius:1rem;box-shadow:0 4px 6px rgba(26,26,46,.04),0 10px 24px rgba(26,26,46,.08);padding:1.5rem}.app_keyboardHeader__TUR0N{align-items:center;background:linear-gradient(135deg,rgba(233,69,96,.08),hsla(0,100%,71%,.08));border:2px dashed #e94560;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.25rem}.app_keyboardHeader__TUR0N .app_keyboardTitle__m1KoA{margin:0}.app_keyboardHeader__TUR0N .app_keyboardTitle__m1KoA:before{display:none}.app_startHere__9xYHC{-webkit-animation:app_pulse__MrWvM 2s ease-in-out infinite;animation:app_pulse__MrWvM 2s ease-in-out infinite;color:#e94560;font-size:1.125rem;font-weight:700}@-webkit-keyframes app_pulse__MrWvM{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.7;-webkit-transform:scale(1.05);transform:scale(1.05)}}@keyframes app_pulse__MrWvM{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.7;-webkit-transform:scale(1.05);transform:scale(1.05)}}.app_keyboardTitle__m1KoA{align-items:center;color:#0f3460;display:flex;font-size:1.25rem;font-weight:700;gap:.625rem;letter-spacing:.1em;margin:0 0 1.25rem;text-transform:uppercase}.app_keyboardTitle__m1KoA:before{background:linear-gradient(180deg,#e94560,#ff6b6b);border-radius:2px;content:"";height:1.5rem;width:4px}.app_keyboardTitle__m1KoA:not(:first-child){margin-top:2.5rem}@media(min-width:480px){.app_main__EWecH{gap:2rem;padding:calc(70px + 2rem) 1.5rem 3rem}.app_editor__NujU-{border-radius:1.25rem;gap:1.75rem;padding:2rem}.app_buttonRow__GQcbk{flex-direction:row;justify-content:flex-end}.app_btn__\+IHKP{font-size:1.1875rem;min-width:12rem;width:auto}.app_genericTutorialContainer__Ho4ya{padding:1.75rem}.app_tutorialTitle__kiHdW{font-size:1.5rem}.app_keyboardSection__gE0TM{border-radius:1.25rem;padding:2rem}.app_keyboardHeader__TUR0N{padding:1.125rem 1.5rem}.app_keyboardTitle__m1KoA{font-size:1.375rem}.app_startHere__9xYHC{font-size:1.1875rem}.app_step__cOHaq,.app_toggle__fxRnK{font-size:1.25rem}}@media(min-width:768px){.app_main__EWecH{gap:2.5rem;padding:calc(70px + 3rem) 2rem 4rem}.app_editor__NujU-{border-radius:1.5rem;padding:2.5rem 3rem}.app_btn__\+IHKP{font-size:1.25rem;padding:1.125rem 2.25rem}.app_genericTutorialContainer__Ho4ya{padding:2rem 2.25rem}.app_tutorialTitle__kiHdW{font-size:1.625rem;margin-bottom:1.5rem}.app_step__cOHaq{font-size:1.3125rem;line-height:1.9}.app_step__cOHaq+.app_step__cOHaq{margin-top:1rem}.app_keyboardSection__gE0TM{border-radius:1.5rem;padding:2.5rem 3rem}.app_keyboardHeader__TUR0N{gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem 1.75rem}.app_keyboardTitle__m1KoA{font-size:1.5rem;margin-bottom:1.5rem}.app_startHere__9xYHC{font-size:1.25rem}.app_keyboardTitle__m1KoA:not(:first-child){margin-top:3rem}.app_toggle__fxRnK{font-size:1.3125rem}}@media(min-width:1024px){.app_main__EWecH{padding:calc(70px + 4rem) 2rem 5rem}.app_editor__NujU-,.app_keyboardSection__gE0TM{box-shadow:0 4px 6px rgba(26,26,46,.03),0 20px 40px rgba(26,26,46,.1)}.app_tutorialTitle__kiHdW{font-size:1.75rem}.app_step__cOHaq{font-size:1.375rem}}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.15}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:initial;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:initial}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}body,html{color:#000;font-family:Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:10px;height:100%;margin:0;min-height:100%;min-width:100%;padding:0;width:100%}
/*# sourceMappingURL=main.efa72958.css.map*/