@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spicy Rice;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spicy-rice-latin-ext-400-normal-CGT_c5t3.woff2) format("woff2"),url(/assets/spicy-rice-latin-ext-400-normal-B-act6ly.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spicy Rice;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spicy-rice-latin-400-normal-DILsRbHe.woff2) format("woff2"),url(/assets/spicy-rice-latin-400-normal-CSXcDjAu.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-sc-subset.woff2) format("woff2");unicode-range:U+4E00-9FFF,U+3400-4DBF}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-jp-subset.woff2) format("woff2");unicode-range:U+3040-309F,U+30A0-30FF,U+4E00-9FFF}@font-face{font-family:Noto Sans KR;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/noto-sans-kr-subset.woff2) format("woff2");unicode-range:U+AC00-D7A3,U+1100-11FF,U+3130-318F}:root{--color-bg: #2d6b2d;--color-bg-dark: #1e4d1e;--color-accent: #ffd24a;--color-accent-dark: #e6b800;--color-text: #fff;--color-text-muted: rgba(255, 255, 255, .7);--font-body: "Fredoka Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Spicy Rice", cursive;--design-width: 1024;--design-height: 768}*,*:before,*:after{box-sizing:border-box}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg)}.app-root{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.canvas-container{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000}.canvas-container canvas{display:block}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.splash{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--color-bg);opacity:1;transition:opacity .3s ease-out}.splash--dismissed{opacity:0;pointer-events:none}.splash__inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center}.splash__icon{width:min(40vw,200px);height:auto;border-radius:20%;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))}.splash__title{font-family:var(--font-display);font-size:clamp(2rem,6vw,3.5rem);margin:0;color:var(--color-accent);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.splash__button{font-family:var(--font-body);font-size:clamp(1rem,3vw,1.5rem);font-weight:600;padding:.75em 2em;border:none;border-radius:2em;background:var(--color-accent);color:#333;cursor:pointer;animation:splash-pulse 2s ease-in-out infinite;box-shadow:0 4px 12px #0000004d}.splash__button:active{transform:scale(.95)}.splash__hint{font-size:.85rem;color:var(--color-text-muted);max-width:28ch;margin:0;line-height:1.4}@keyframes splash-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.orientation-prompt{display:none;position:fixed;inset:0;z-index:2000;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;background:var(--color-bg-dark);color:var(--color-text);text-align:center;padding:2rem}.orientation-prompt--visible{display:flex}.orientation-prompt--visible~.canvas-container,.orientation-prompt--visible~.home-screen{visibility:hidden}.orientation-prompt__icon{font-size:4rem;animation:rotate-hint 2s ease-in-out infinite}.orientation-prompt__message{font-family:var(--font-body);font-size:clamp(1rem,3vw,1.25rem);font-weight:500;max-width:28ch;margin:0;line-height:1.4}@keyframes rotate-hint{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}75%{transform:rotate(90deg)}}.home-screen{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(.4rem,2vh,1.5rem);padding:clamp(.25rem,1.5vh,1rem);background:var(--color-bg);overflow:hidden}.home-screen__title{font-family:var(--font-display);font-size:clamp(1.25rem,min(6vw,7vh),3.5rem);margin:0;color:var(--color-accent);text-shadow:2px 2px 4px rgba(0,0,0,.3)}.home-screen__buttons{display:flex;gap:clamp(.6rem,2.5vw,1.5rem);flex-wrap:wrap;justify-content:center}.home-screen__button{font-family:var(--font-body);font-size:clamp(.9rem,min(3vw,4vh),1.5rem);font-weight:600;padding:clamp(.4em,1.5vh,.75em) clamp(1.2em,5vw,2.5em);border:none;border-radius:2em;cursor:pointer;box-shadow:0 4px 12px #0000004d;transition:transform .15s ease-out;min-width:clamp(6em,20vw,10em)}.home-screen__button:active{transform:scale(.95)}.home-screen__button--learn{background:var(--color-accent);color:#333;animation:home-pulse 2s ease-in-out infinite}.home-screen__button--quiz{background:#7ec8e3;color:#333;animation:home-pulse 2s ease-in-out infinite 1s}@keyframes home-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.home-screen__buttons--selecting .home-screen__button{animation:none;transition:transform var(--home-select-anim-ms, .6s) ease-out,opacity var(--home-select-anim-ms, .6s) ease-out,box-shadow var(--home-select-anim-ms, .6s) ease-out,filter var(--home-select-anim-ms, .6s) ease-out;pointer-events:none}.home-screen__buttons--selecting .home-screen__button:active{transform:var(--home-select-transform, scale(1))}.home-screen__button--selected{--home-select-transform: scale(1.25);transform:scale(1.25);box-shadow:0 8px 24px #0006;z-index:1}.home-screen__button--unselected{--home-select-transform: scale(.7);transform:scale(.7);opacity:.4;filter:grayscale(60%);box-shadow:none}.home-screen__nav{display:flex;flex-direction:column;align-items:center;gap:clamp(.4rem,1.8vh,1.5rem)}.home-screen__buttons,.home-screen__settings-wrap{transition:transform var(--home-gate-reorder-ms, .25s) ease-in-out;will-change:transform}.home-screen__settings{font-family:var(--font-body);font-size:clamp(.75rem,min(2.2vw,3vh),1.05rem);font-weight:500;padding:clamp(.3em,1vh,.55em) clamp(1.2em,4vw,1.8em);border:none;border-radius:1.6em;cursor:pointer;background:#9aa3ad;color:#fff;box-shadow:0 2px 6px #0003;transition:background-color .18s ease-out,box-shadow .18s ease-out,color .18s ease-out;min-width:clamp(6em,20vw,9em)}.home-screen__settings:active{transform:scale(.96)}.home-screen__settings:focus-visible{outline:2px solid var(--color-accent, #4a90e2);outline-offset:3px}.home-screen__settings--primed{background:#e0a53b;box-shadow:0 2px 6px #0003,0 0 12px #e0a53b8c}.home-screen__settings--ready{background:#4aa54a;box-shadow:0 2px 6px #0003,0 0 16px #4aa54a99}.home-screen--settings-ready .home-screen__buttons{transform:translateY(var(--home-buttons-reorder-offset, 0))}.home-screen--settings-ready .home-screen__settings-wrap{transform:translateY(calc(-1 * var(--home-settings-reorder-offset, 0px)))}.home-screen__mascot{position:relative;width:min(var(--home-mascot-width, clamp(140px, 28vw, 280px)),calc(42vh * 243 / 181));aspect-ratio:243 / 181;transform:translate(var(--home-mascot-offset-x, 0),var(--home-mascot-offset-y, 0));cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}.home-screen__mascot:focus-visible{outline:3px solid var(--color-accent);outline-offset:6px;border-radius:8px}.home-screen__mascot__ground{position:absolute;bottom:2%;left:50%;width:160%;transform:translate(-50%) translateY(25%);height:30%;border-radius:50%;background:radial-gradient(ellipse at top,var(--home-mascot-ground-color, #5ea03d) 0%,var(--home-mascot-ground-color-shade, #3d6b26) 70%,var(--home-mascot-ground-color-shade, #3d6b26) 100%);box-shadow:0 4px 8px #0000002e;pointer-events:none;z-index:0}.home-screen__mascot__transformer{position:absolute;inset:0;transform-origin:50% 80%;will-change:transform;z-index:1}.home-screen__mascot__frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none}.home-screen__mascot__frame--visible{opacity:1}.home-screen__mascot__frame--blink{z-index:1}@keyframes home-mascot-jump{0%{transform:translateY(0) rotate(0)}6%{transform:translateY(-15%) rotate(30deg)}47%{transform:translateY(var(--home-mascot-jump-peak-y, -28%)) rotate(0)}76%{transform:translateY(0) rotate(-30deg)}to{transform:translateY(0) rotate(0)}}.home-screen__mascot--jumping .home-screen__mascot__transformer{animation:home-mascot-jump 1.7s linear 1}@media (prefers-reduced-motion: reduce){.home-screen__buttons,.home-screen__settings-wrap,.home-screen__settings{transition:none}.home-screen__mascot--jumping .home-screen__mascot__transformer{animation:none}}.quit-button{position:fixed;top:clamp(.5rem,1.2vmin,1rem);right:clamp(.5rem,1.2vmin,1rem);width:clamp(2.25rem,5vmin,3.25rem);height:clamp(2.25rem,5vmin,3.25rem);background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:contain;padding:0;margin:0;border:none;cursor:pointer;z-index:50;transition:transform .12s ease-out,filter .12s ease-out}.quit-button:hover{filter:brightness(1.1)}.quit-button:active{transform:scale(.92);filter:brightness(.85)}.quit-button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.settings-panel{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);height:100svh;background:#fff;color:#222;box-shadow:-4px 0 16px #00000026;overflow:hidden;z-index:10000;display:flex;flex-direction:column;transform:translate(100%);transition:transform .22s ease-out;font-family:Fredoka Variable,Fredoka,system-ui,sans-serif}.settings-panel--open{transform:translate(0)}.settings-panel[hidden]{display:flex}html[data-settings-open] .app-root>:not(.settings-panel){pointer-events:none;filter:brightness(.7);transition:filter .22s ease-out}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1rem;border-bottom:1px solid #e0e0e0;background:#f6f6f6;flex-shrink:0}.settings-panel__title{margin:0;font-size:1.1rem;font-weight:600}.settings-panel__close{border:none;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer;padding:.2rem .5rem;color:#555;border-radius:4px}.settings-panel__close:hover,.settings-panel__close:focus-visible{background:#00000014;color:#000;outline:none}.settings-panel__body{flex:1;overflow-y:auto;padding:.5rem 0 2rem;-webkit-overflow-scrolling:touch}.settings-section{padding:1rem 1.1rem .5rem;border-bottom:1px solid #ececec}.settings-section:last-child{border-bottom:none}.settings-section__heading{margin:0 0 .6rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#777;font-weight:600}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.95rem}.settings-row--numeral-script,.settings-row--verbal-prompts{flex-direction:column;align-items:stretch;gap:.4rem}.settings-row[hidden]{display:none}.settings-row__label{flex:1;color:#222}.settings-row__control{display:inline-flex;align-items:center;gap:.5rem}.settings-range{width:140px}.settings-range__readout{min-width:1.5em;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#333}.settings-toggle__input[type=checkbox]{appearance:none;-webkit-appearance:none;width:40px;height:22px;background:#d0d0d0;border-radius:999px;position:relative;cursor:pointer;transition:background .15s ease;flex-shrink:0}.settings-toggle__input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .15s ease}.settings-toggle__input[type=checkbox]:checked{background:#4aa54a}.settings-toggle__input[type=checkbox]:checked:after{transform:translate(18px)}.settings-toggle__input[type=checkbox]:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}.settings-select{min-width:140px;padding:.35rem .55rem;border:1px solid #c0c0c0;border-radius:6px;font-size:.95rem;background:#fff;color:#222}.settings-select:disabled{background:#f2f2f2;color:#999;cursor:not-allowed}.settings-segmented{display:inline-flex;border:1px solid #c0c0c0;border-radius:8px;overflow:hidden;background:#fff;width:fit-content;align-self:flex-start}.settings-segmented__option{background:transparent;border:none;padding:.4rem .8rem;font-size:.9rem;font-family:inherit;color:#222;cursor:pointer;transition:background .12s ease;border-right:1px solid #e0e0e0}.settings-segmented__option:last-child{border-right:none}.settings-segmented__option:hover{background:#f4f4f4}.settings-segmented__option--selected{background:#4a90e2;color:#fff}.settings-segmented__option--selected:hover{background:#3d7ec7}.settings-segmented__option:focus-visible{outline:2px solid #4a90e2;outline-offset:-2px}.settings-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:.4rem 0 .2rem}.settings-theme-tile{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .3rem;border:2px solid #dcdcdc;border-radius:10px;background:#fafafa;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease;font-family:inherit;font-size:.85rem;color:#333}.settings-theme-tile:hover:not(.settings-theme-tile--locked){transform:translateY(-1px)}.settings-theme-tile__icon{width:48px;height:48px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;transition:opacity .12s ease}.settings-theme-tile__label{font-weight:500}.settings-theme-tile--active{border-color:#4aa54a;background:#eaf7ea}.settings-theme-tile--inactive .settings-theme-tile__icon{opacity:.35;filter:grayscale(1)}.settings-theme-tile--inactive{background:#f4f4f4;color:#999}.settings-theme-tile--locked{cursor:not-allowed;border-color:#a5caa5}.settings-theme-tile:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}.settings-paypal{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.5rem}.settings-paypal__button{background:#ffc439;color:#222;border:none;padding:.55rem 1.2rem;border-radius:24px;font-weight:600;cursor:pointer;font-family:inherit;font-size:.95rem}.settings-paypal__button:hover{background:#ffb71c}.settings-paypal__cards{height:24px}.settings-paypal__wordmark{height:18px;opacity:.85}.settings-paypal[hidden]{display:none}.settings-hint{margin:.3rem 0 .2rem;color:#555;font-size:.85rem;line-height:1.4}.settings-hint--offline{color:#8a5a00}.settings-hint--disclosure{margin-top:.2rem;padding-left:.2rem}.settings-link{color:#1a6eb8;text-decoration:underline}.settings-link:hover{color:#134f88}.settings-link:focus-visible{outline:2px solid #4a90e2;outline-offset:2px;border-radius:2px}.settings-credit-block{margin-bottom:.8rem}.settings-credit-block__heading{margin:0 0 .2rem;font-size:.85rem;color:#555;font-weight:600;text-transform:none}.settings-credit-block__people,.settings-credit-block__url{margin:0;font-size:.88rem;color:#333}.settings-credit-block__url{color:#1a6eb8}.settings-credit-block--music .settings-credit-music-entry{margin:0;font-size:.85rem;color:#333}.settings-credit-music-entry__title{font-style:italic}.settings-about__appname{margin:0 0 .1rem;font-weight:600;font-size:.95rem}.settings-about__copyright,.settings-about__contact{margin:0 0 .3rem;font-size:.85rem;color:#555}.settings-about__privacy-heading{margin:.8rem 0 .3rem;font-size:.85rem;color:#555;font-weight:600}.settings-about__privacy{margin:0 0 .5rem;font-size:.82rem;line-height:1.4;color:#444}.settings-about__version{margin:.8rem 0 0;font-size:.75rem;color:#999}.settings-family__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.settings-family__list[hidden]{display:none}.settings-family__item{margin:0}.settings-family__tile{display:flex;align-items:center;gap:.75rem;padding:.5rem .6rem;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#222;text-decoration:none;transition:background .12s ease-out,border-color .12s ease-out}.settings-family__tile:hover{background:#f4f9fd;border-color:#cfe1ef}.settings-family__tile:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}.settings-family__icon{width:3rem;height:3rem;flex:0 0 auto;border-radius:8px;box-shadow:inset 0 0 0 1px #0000000d;object-fit:cover}.settings-family__text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.settings-family__name{font-size:.95rem;font-weight:700;color:#222;line-height:1.2}.settings-family__tagline{font-size:.82rem;color:#555;line-height:1.35}@media (prefers-reduced-motion: reduce){.settings-panel{transition:none}html[data-settings-open] .app-root>:not(.settings-panel){transition:none}.settings-toggle__input[type=checkbox],.settings-toggle__input[type=checkbox]:after{transition:none}}
