:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}:root{--surface:#f4f4ff;--surface-hover:#e6e6ff;--primary:#4f46e5;--primary-hover:#4338ca;--on-primary:#fff;--option-text:#1f2937;--success-bg:#dcfce7;--success-border:#22c55e;--success-text:#15803d;--danger-text:#b91c1c;--danger-strong-bg:#dc2626;--danger-soft-bg:#fef2f2;--danger-soft-border:#fca5a5;--muted-text:#6b7280;--hint-text:#9ca3af;--dashed-border:#c7c7f5;--card-bg:#f9fafb;--badge-grad-start:#fef3c7;--badge-grad-end:#fde68a;--badge-text:#78350f;--streak-bg:#fff1e6;--stars-bg:#fffbeb;--pill-bg:#e5e7eb;--pill-bg-hover:#d1d5db;--pill-border:#d1d5db;--pill-text:#374151;--nav-bg:#ffffffe6}@media (prefers-color-scheme:dark){:root{--surface:#2a2750;--surface-hover:#37326a;--option-text:#e5e7eb;--success-bg:#14532d;--success-border:#4ade80;--success-text:#86efac;--danger-text:#fca5a5;--danger-soft-bg:#3f1d1d;--danger-soft-border:#7f1d1d;--muted-text:#9ca3af;--hint-text:#a1a1c2;--dashed-border:#4c4a7a;--card-bg:#232430;--badge-grad-start:#4b3f14;--badge-grad-end:#6b5a1c;--badge-text:#fef3c7;--streak-bg:#3a2a1e;--stars-bg:#3a3418;--pill-bg:#2b2d38;--pill-bg-hover:#3a3d4a;--pill-border:#3f4250;--pill-text:#d1d5db;--nav-bg:#16171dd9}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}@keyframes app-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media (prefers-reduced-motion:reduce){@keyframes app-shake{0%,50%,to{filter:none}25%,75%{filter:brightness(.82)saturate(1.4)}}}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.big-button{background:var(--surface);cursor:pointer;border:none;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-width:6rem;min-height:6rem;padding:1rem;font-family:inherit;transition:transform .15s,background .15s;display:flex}.big-button:hover,.big-button:focus-visible{background:var(--surface-hover);transform:scale(1.05)}.big-button:active{transform:scale(.97)}.big-button--accent{background:var(--primary);color:var(--on-primary)}.big-button--accent:hover,.big-button--accent:focus-visible{background:var(--primary-hover)}.big-button__icon{font-size:3rem;line-height:1}.big-button__label{text-align:center;font-size:1.1rem;font-weight:600}.profile-select{flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;padding:2rem;display:flex}.profile-select__title{text-align:center;font-size:2rem}.profile-select__grid{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.language-home{flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;padding:2rem;display:flex;position:relative}.language-home__achievements{background:var(--badge-grad-start);cursor:pointer;border:none;border-radius:50%;width:3.5rem;height:3.5rem;font-size:1.75rem;position:absolute;top:1rem;right:1rem}.language-home__achievements:hover,.language-home__achievements:focus-visible{background:var(--badge-grad-end)}.language-home__parent{bottom:calc(1rem + env(safe-area-inset-bottom,0px));border:1px solid var(--pill-border);background:var(--pill-bg);height:2.75rem;color:var(--pill-text);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:0 1rem;font-size:1rem;font-weight:600;display:flex;position:absolute;right:1rem}.language-home__parent span{white-space:nowrap}.language-home__parent:hover,.language-home__parent:focus-visible{background:var(--pill-bg-hover)}.language-home__streak{background:var(--streak-bg);border-radius:999px;align-items:center;gap:.25rem;padding:.5rem .9rem;font-size:1.1rem;font-weight:700;display:flex;position:absolute;top:1rem;left:1rem}.language-home__title{text-align:center;font-size:2rem}.language-home__grid{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.back-home-bar{background:var(--nav-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;align-items:center;padding:.75rem 1rem;display:flex;position:sticky;top:0}.back-home-bar__button{background:var(--surface);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:1.75rem;display:flex}.back-home-bar__button:hover,.back-home-bar__button:focus-visible{background:var(--surface-hover)}.star-bar{gap:.15rem;font-size:.9rem;display:flex}.star-bar__star{opacity:.25;filter:grayscale()}.star-bar__star--filled{opacity:1;filter:none}.topic-home{flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;padding:2rem;display:flex}.topic-home__grid{flex-wrap:wrap;justify-content:center;gap:1.5rem;max-width:60rem;display:flex}.topic-home__item{flex-direction:column;align-items:center;gap:.35rem;display:flex}.topic-home__total-stars{background:var(--stars-bg);border-radius:999px;align-items:center;gap:.25rem;padding:.5rem .9rem;font-size:1.1rem;font-weight:700;display:flex}.exercise{flex-direction:column;align-items:center;gap:2rem;padding:2rem;display:flex}.exercise__replay{background:var(--primary);width:5rem;height:5rem;color:var(--on-primary);cursor:pointer;border:none;border-radius:50%;font-size:2rem}.exercise__replay:hover,.exercise__replay:focus-visible{background:var(--primary-hover)}.exercise__audio-error{color:var(--danger-text)}.exercise__options{flex-wrap:wrap;justify-content:center;gap:1.25rem;display:flex}.exercise__option{background:var(--surface);cursor:pointer;border:4px solid #0000;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-width:6rem;min-height:6rem;padding:.5rem;font-size:3rem;transition:transform .15s,border-color .15s;display:flex}.exercise__option-text{color:var(--option-text);font-size:1rem;font-weight:600}.exercise__option:hover,.exercise__option:focus-visible{transform:scale(1.05)}.exercise__option--wrong{animation:.4s app-shake}.exercise__option--correct{border-color:var(--success-border);background:var(--success-bg)}.exercise__pronounce-target{flex-direction:column;align-items:center;gap:.5rem;display:flex}.exercise__pronounce-visual{font-size:5rem}.exercise__pronounce-record{background:var(--danger-strong-bg);width:6rem;height:6rem;color:var(--on-primary);cursor:pointer;border:none;border-radius:50%;font-size:2.5rem}.exercise__pronounce-record:disabled{opacity:.6;cursor:not-allowed}.exercise__pronounce-feedback{font-size:1.25rem;font-weight:600}.memory{flex-direction:column;align-items:center;padding:2rem;display:flex}.memory__congrats{text-align:center;font-size:2.5rem}.memory__board{grid-template-columns:repeat(4,1fr);gap:1rem;max-width:32rem;display:grid}.memory__card{background:var(--primary);width:5.5rem;height:5.5rem;color:var(--on-primary);cursor:pointer;border:none;border-radius:1rem;justify-content:center;align-items:center;font-size:2.25rem;transition:transform .15s,background .15s;display:flex}.memory__card--up{background:var(--surface);color:var(--option-text)}.memory__card--matched{background:var(--success-bg);opacity:.7;cursor:default}.memory__card--mismatch{animation:.4s app-shake}.memory__card-text{font-size:1rem;font-weight:600}.order-phrase__answer{box-sizing:border-box;border:3px dashed var(--dashed-border);border-radius:1rem;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;width:100%;max-width:20rem;min-height:4rem;padding:.75rem;display:flex}.order-phrase__answer--wrong{border-color:var(--danger-soft-border);animation:.4s app-shake}.order-phrase__hint{color:var(--hint-text);font-size:.95rem}.order-phrase__pool{flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:24rem;display:flex}.order-phrase__tile{background:var(--surface);cursor:pointer;border:none;border-radius:.75rem;padding:.6rem 1rem;font-size:1.1rem;font-weight:600}.order-phrase__tile:hover,.order-phrase__tile:focus-visible{background:var(--surface-hover)}.order-phrase__tile--placed{background:var(--primary);color:var(--on-primary)}.achievements{flex-direction:column;align-items:center;gap:2rem;min-height:100vh;padding:2rem;display:flex}.achievements__title{font-size:2rem}.achievements__empty{color:var(--muted-text);font-size:1.1rem}.achievements__grid{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.achievements__badge{background:linear-gradient(135deg, var(--badge-grad-start), var(--badge-grad-end));border-radius:1.5rem;flex-direction:column;align-items:center;gap:.5rem;min-width:6rem;padding:1rem;display:flex}.achievements__badge-icon{font-size:2.5rem}.achievements__badge-label{color:var(--badge-text);font-weight:600}.pin-pad{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;display:flex}.pin-pad__prompt{text-align:center;font-size:1.2rem}.pin-pad__dots{gap:.75rem;display:flex}.pin-pad__dots--error{animation:.4s app-shake}.pin-pad__dot{border:2px solid var(--dashed-border);border-radius:50%;width:1rem;height:1rem}.pin-pad__dot--filled{background:var(--primary);border-color:var(--primary)}.pin-pad__grid{grid-template-columns:repeat(3,4rem);gap:.75rem;display:grid}.pin-pad__key{background:var(--surface);cursor:pointer;border:none;border-radius:50%;width:4rem;height:4rem;font-size:1.5rem;font-weight:600}.pin-pad__key:hover,.pin-pad__key:focus-visible{background:var(--surface-hover)}.pin-pad__key--backspace{background:0 0;font-size:1.25rem}.parent-progress{max-width:40rem;margin:0 auto;padding:2rem}.parent-progress__card{background:var(--card-bg);border-radius:1rem;margin-bottom:1.5rem;padding:1.25rem}.parent-progress__card-header{align-items:center;gap:.75rem;display:flex}.parent-progress__avatar{font-size:2rem}.parent-progress__row{flex-wrap:wrap;align-items:center;gap:1rem;margin:.75rem 0;display:flex}.parent-progress__level-label{align-items:center;gap:.4rem;display:inline-flex}.parent-progress__select{border:1px solid var(--pill-border);background:var(--surface);min-height:2.75rem;color:inherit;font:inherit;cursor:pointer;border-radius:.75rem;padding:.4rem .6rem}.parent-progress__lang-section{margin-top:.75rem}.parent-progress__lang-title{color:var(--muted-text);margin:0 0 .35rem;font-size:.95rem}.parent-progress__topics{flex-direction:column;gap:.25rem;padding:0;list-style:none;display:flex}.parent-progress__topic-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.parent-progress__tier{color:var(--muted-text);white-space:nowrap;align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.parent-progress__tier-btn{border:1px solid var(--pill-border);background:var(--surface);min-width:2rem;min-height:2rem;color:inherit;cursor:pointer;border-radius:.5rem}.parent-progress__tier-btn:hover:not(:disabled),.parent-progress__tier-btn:focus-visible:not(:disabled){background:var(--surface-hover)}.parent-progress__tier-btn:disabled{opacity:.4;cursor:not-allowed}.parent-progress__confirm{background:var(--danger-soft-bg);border-radius:.75rem;margin-top:.75rem;padding:.75rem}.parent-progress__confirm-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.parent-progress__confirm-yes{background:var(--danger-strong-bg);min-height:2.75rem;color:var(--on-primary);cursor:pointer;border:none;border-radius:.75rem;padding:.6rem 1.1rem;font-weight:600}.parent-progress__confirm-yes:hover,.parent-progress__confirm-yes:focus-visible{filter:brightness(.92)}.parent-progress__confirm-cancel{border:1px solid var(--pill-border);background:var(--surface);min-height:2.75rem;color:inherit;cursor:pointer;border-radius:.75rem;padding:.6rem 1.1rem;font-weight:600}.parent-progress__confirm-cancel:hover,.parent-progress__confirm-cancel:focus-visible{background:var(--surface-hover)}.parent-progress__delete{color:var(--danger-text);border:1px solid var(--danger-soft-border);cursor:pointer;background:0 0;border-radius:.5rem;margin-top:.75rem;padding:.4rem .8rem}.parent-progress__add-button{border:2px dashed var(--dashed-border);min-height:2.75rem;color:var(--primary);cursor:pointer;background:0 0;border-radius:.75rem;padding:.6rem 1.1rem;font-weight:600}.parent-progress__add-button:hover,.parent-progress__add-button:focus-visible{background:var(--surface)}.parent-progress__add-form{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.parent-progress__add-form-label{color:var(--muted-text);flex-basis:100%;font-size:.85rem}.parent-progress__add-form-input{border:1px solid var(--pill-border);background:var(--surface);min-height:2.75rem;color:inherit;font:inherit;border-radius:.75rem;padding:.4rem .6rem}.parent-progress__add-form-submit{background:var(--primary);min-height:2.75rem;color:var(--on-primary);cursor:pointer;border:none;border-radius:.75rem;padding:.6rem 1.1rem;font-weight:600}.parent-progress__add-form-submit:hover,.parent-progress__add-form-submit:focus-visible{background:var(--primary-hover)}.credits{max-width:40rem;margin:0 auto;padding:2rem}.credits__lang{margin-bottom:2rem}.credits__source h3{color:var(--muted-text);text-transform:uppercase;letter-spacing:.05em;font-size:.95rem}.credits__source ul{padding-left:1.25rem}.credits__source li{margin-bottom:.35rem;font-size:.95rem}.parent-pronunciation{max-width:40rem;margin:0 auto;padding:2rem}.parent-pronunciation__toggle{align-items:center;gap:.5rem;margin:1rem 0;font-weight:600;display:flex}.parent-pronunciation__download{background:var(--surface);border-radius:1rem;margin-top:1rem;padding:1rem}.parent-pronunciation__download progress{width:100%}.parent-pronunciation__error{color:var(--danger-text)}.parent-pronunciation__ready{color:var(--success-text);font-weight:600}.parent-home__tabs{justify-content:center;gap:.5rem;padding:.5rem;display:flex}.parent-home__tab{background:var(--surface);cursor:pointer;border:none;border-radius:999px;padding:.5rem 1.25rem;font-weight:600}.parent-home__tab--active{background:var(--primary);color:var(--on-primary)}
