@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+307-308,U+590-5FF,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+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-vietnamese-wght-normal-RvljkFvg.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-latin-ext-wght-normal-B6JQhE1e.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-latin-wght-normal-ci0D1wrL.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-cyrillic-ext-400-normal-VNDy5CZS.woff2)format("woff2"),url(/assets/andika-cyrillic-ext-400-normal-BJwze9_g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-cyrillic-400-normal-DYbdP60f.woff2)format("woff2"),url(/assets/andika-cyrillic-400-normal-CIdpN1kB.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-vietnamese-400-normal-afg23LQ3.woff2)format("woff2"),url(/assets/andika-vietnamese-400-normal-Bw99zChb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-ext-400-normal-D580Nkki.woff2)format("woff2"),url(/assets/andika-latin-ext-400-normal-NXfvB_tZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-400-normal-BTFTIZb-.woff2)format("woff2"),url(/assets/andika-latin-400-normal-BK42By1L.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-cyrillic-ext-700-normal-DvCsrHON.woff2)format("woff2"),url(/assets/andika-cyrillic-ext-700-normal-BdIUMeTx.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-cyrillic-700-normal-D404ywHU.woff2)format("woff2"),url(/assets/andika-cyrillic-700-normal-Bzg0mZT8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-vietnamese-700-normal-CS3rZngu.woff2)format("woff2"),url(/assets/andika-vietnamese-700-normal-CZOGxJjV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-ext-700-normal-Ch3SGZaH.woff2)format("woff2"),url(/assets/andika-latin-ext-700-normal-DBt0PRsd.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-700-normal-Dk95f5lc.woff2)format("woff2"),url(/assets/andika-latin-700-normal-CAUSQC6x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#fbf8f3;--surface:#fff;--surface-2:#f4efe7;--ink:#1d2b2f;--ink-soft:#52636a;--line:#e3dbcf;--primary:#1f6f78;--primary-strong:#175860;--primary-ink:#fff;--primary-soft:#dcefee;--accent:#e8893a;--accent-soft:#fdebd8;--good:#2c7a4b;--good-soft:#e0f2e7;--warn:#a9502a;--warn-soft:#fbe6dc;--group-a:#1f6f78;--group-b:#e8893a;--focus:#2b59c3;--font-display:"Fredoka Variable", "Nunito Variable", system-ui, sans-serif;--font-text:"Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-read:"Andika", "Nunito Variable", system-ui, sans-serif;--font-child:var(--font-text);--font-ui:var(--font-text);--pip:var(--primary);--star:#f2b33d;--tile-math:#fde3cf;--tile-reading:#d8ecf7;--tile-writing:#fbdbe5;--tile-ink:var(--ink);--art-1:#e8893a;--art-2:#1f6f78;--art-3:#c2255c;--card-border:2px solid var(--line);--card-shadow:none;--tile-shadow:none;--btn-border:2px solid var(--line);--btn-shadow:none;--big-btn-shadow:0 4px 0 var(--primary-strong);--radius-card:var(--r-lg);--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.375rem;--text-xl:1.875rem;--text-2xl:2.5rem;--text-hero:clamp(2.5rem, 7vw, 4.25rem);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r-sm:10px;--r-md:16px;--r-lg:24px;--r-pill:999px;--shadow:0 1px 2px #1d2b2f0f, 0 6px 20px #1d2b2f12;--touch-child:68px;--touch-ui:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12191b;--surface:#1a2427;--surface-2:#213034;--ink:#edf2f1;--ink-soft:#a9b8bb;--line:#2f4045;--primary:#5fb7bf;--primary-strong:#7cc8cf;--primary-ink:#0d1a1c;--primary-soft:#1d3a3e;--accent:#f0a160;--accent-soft:#3d2c1d;--good:#6cc792;--good-soft:#1a3526;--warn:#f09a73;--warn-soft:#3e2419;--group-a:#5fb7bf;--group-b:#f0a160;--focus:#8fb0ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#12191b;--surface:#1a2427;--surface-2:#213034;--ink:#edf2f1;--ink-soft:#a9b8bb;--line:#2f4045;--primary:#5fb7bf;--primary-strong:#7cc8cf;--primary-ink:#0d1a1c;--primary-soft:#1d3a3e;--accent:#f0a160;--accent-soft:#3d2c1d;--good:#6cc792;--good-soft:#1a3526;--warn:#f09a73;--warn-soft:#3e2419;--group-a:#5fb7bf;--group-b:#f0a160;--focus:#8fb0ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--text-md);margin:0;line-height:1.5}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}h1,h2,h3{margin:0 0 var(--s3);line-height:1.2}h1{font-size:var(--text-xl)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0 0 var(--s3)}a{color:var(--primary)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.page{max-width:1040px;padding:var(--s5) var(--s4) var(--s7);margin:0 auto}.narrow{max-width:480px}.row{gap:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.spread{justify-content:space-between}.stack>*+*{margin-top:var(--s4)}.grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.topbar{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);background:var(--surface);z-index:5;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--s2);color:var(--primary-strong);font-weight:700;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s5);box-shadow:var(--shadow)}.muted{color:var(--ink-soft)}.small{font-size:var(--text-sm)}.btn{min-height:var(--touch-ui);padding:0 var(--s5);border-radius:var(--r-pill);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);border:1px solid #0000;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--primary-ink)}.btn-primary:hover{background:var(--primary-strong)}.btn-ghost{border-color:var(--line);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{border-color:var(--warn);color:var(--warn);background:0 0}.btn[disabled]{opacity:.55;cursor:not-allowed}.field{gap:var(--s1);display:grid}.field label{font-weight:600;font-size:var(--text-sm)}.input{min-height:var(--touch-ui);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}.check{gap:var(--s3);align-items:flex-start;display:flex}.check input{width:22px;height:22px;accent-color:var(--primary);margin-top:2px}.error{background:var(--warn-soft);color:var(--warn);padding:var(--s3) var(--s4);border-radius:var(--r-sm)}.notice{background:var(--primary-soft);padding:var(--s4);border-radius:var(--r-sm)}.chip{border-radius:var(--r-pill);font-size:var(--text-xs);background:var(--surface-2);color:var(--ink-soft);white-space:nowrap;align-items:center;gap:6px;padding:2px 10px;font-weight:600;display:inline-flex}.chip-good{background:var(--good-soft);color:var(--good)}.chip-learning{background:var(--accent-soft);color:#8a4a12}.chip-likely{background:var(--primary-soft);color:var(--primary-strong)}.chip-review{background:var(--warn-soft);color:var(--warn)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .chip-learning{color:var(--accent)}}.tabs{gap:var(--s2);border-bottom:1px solid var(--line);margin-bottom:var(--s5);display:flex;overflow-x:auto}.tab{padding:var(--s3) var(--s4);cursor:pointer;color:var(--ink-soft);min-height:var(--touch-ui);background:0 0;border:0;border-bottom:3px solid #0000;font-weight:600}.tab[aria-selected=true]{color:var(--primary-strong);border-bottom-color:var(--primary)}.skill-row{gap:var(--s2) var(--s4);padding:var(--s4) 0;border-top:1px solid var(--line);grid-template-columns:1fr auto;display:grid}.skill-row:first-child{border-top:0}.meter{border-radius:var(--r-pill);background:var(--surface-2);height:8px;overflow:hidden}.meter>span{background:var(--primary);height:100%;display:block}details>summary{cursor:pointer;color:var(--primary);font-weight:600;font-size:var(--text-sm);min-height:32px}.log{font-size:var(--text-sm);border-left:3px solid var(--line);padding-left:var(--s3);margin:var(--s2) 0}.empty{text-align:center;padding:var(--s7) var(--s4);color:var(--ink-soft)}.spinner{border:3px solid var(--primary-soft);border-top-color:var(--primary);width:28px;height:28px;margin:var(--s6) auto;border-radius:50%;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{text-align:left;padding:var(--s2) var(--s2);border-top:1px solid var(--line)}.table-wrap{overflow-x:auto}.child{font-family:var(--font-child);background:var(--bg);flex-direction:column;min-height:100dvh;display:flex}.child-top{padding:var(--s3) var(--s4);justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.child-main{width:100%;max-width:860px;padding:0 var(--s4) var(--s6);gap:var(--s5);flex-direction:column;flex:1;margin:0 auto;display:flex}.icon-btn{min-width:var(--touch-child);min-height:var(--touch-child);border-radius:var(--r-pill);border:var(--btn-border);background:var(--surface);box-shadow:var(--btn-shadow);color:var(--ink);font-family:var(--font-display);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);padding:0 var(--s4);font-size:1.6rem;display:inline-flex}.icon-btn .lbl{font-size:var(--text-md);font-weight:700}.big-btn{min-height:var(--touch-child);padding:0 var(--s6);border-radius:var(--r-pill);background:var(--primary);color:var(--primary-ink);font-family:var(--font-display);font-size:var(--text-lg);cursor:pointer;box-shadow:var(--big-btn-shadow);border:0;font-weight:700}.big-btn:active{box-shadow:none;transform:translateY(3px)}.big-btn.secondary{background:var(--surface);color:var(--ink);border:2px solid var(--line);box-shadow:none}.tutor{gap:var(--s4);align-items:flex-start;display:flex}.bubble{font-family:var(--font-display);background:var(--surface);border:var(--card-border);box-shadow:var(--card-shadow);border-radius:var(--r-lg);padding:var(--s4) var(--s5);font-weight:500;font-size:var(--text-lg);flex:1;line-height:1.45;position:relative}.bubble p:last-child{margin:0}.ai-label{font-family:var(--font-ui);font-size:var(--text-xs);color:var(--ink-soft)}.stage{background:var(--surface);border-radius:var(--radius-card);border:var(--card-border);box-shadow:var(--card-shadow);padding:var(--s5);align-items:center;gap:var(--s4);text-align:center;flex-direction:column;display:flex}.prompt{font-family:var(--font-display);font-size:var(--text-xl);font-weight:600}.options{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));width:100%;max-width:560px;display:grid}.option{border-radius:var(--r-md);border:var(--btn-border);min-height:92px;box-shadow:var(--btn-shadow);background:var(--surface);color:var(--ink);font-family:var(--font-read);font-size:var(--text-2xl);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);padding:var(--s2);flex-wrap:wrap;font-weight:700;display:flex}.option:hover{border-color:var(--primary)}.option[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft)}.option.small-objs{font-size:1.3rem}.numpad{gap:var(--s3);grid-template-columns:repeat(4,minmax(64px,1fr));width:100%;max-width:420px;display:grid}.numpad button{min-height:var(--touch-child);border-radius:var(--r-md);border:var(--btn-border);box-shadow:var(--btn-shadow);background:var(--surface);color:var(--ink);font-family:var(--font-read);font-size:var(--text-xl);cursor:pointer;font-weight:700}.numpad button[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary)}.feedback{border-radius:var(--radius-card);padding:var(--s5);font-size:var(--text-lg);font-family:var(--font-display)}.feedback.good{background:var(--good-soft);border:2px solid var(--good)}.feedback.try{background:var(--accent-soft);border:2px solid var(--accent)}.feedback ol{margin:var(--s2) 0 0;padding-left:1.4em}.hint{background:var(--accent-soft);border-radius:var(--r-md);padding:var(--s3) var(--s4);font-size:var(--text-lg);gap:var(--s3);align-items:center;display:flex}.dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.dots span{background:var(--line);border-radius:50%;width:12px;height:12px}.dots span.done{background:var(--primary)}.actions{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.domain-cards{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.domain-card{border-radius:var(--r-lg);border:3px solid var(--line);background:var(--surface);cursor:pointer;min-height:170px;font-size:var(--text-xl);justify-content:center;align-items:center;gap:var(--s3);flex-direction:column;font-weight:700;display:flex}.domain-card:hover{border-color:var(--primary)}.domain-card .ico{font-size:3.5rem}.path{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.path .step{font-size:var(--text-sm);text-align:center;flex-direction:column;align-items:center;gap:4px;width:92px;display:flex}.path .badge{border:3px solid var(--line);background:var(--surface);border-radius:50%;place-items:center;width:52px;height:52px;font-size:1.5rem;display:grid}.path .badge.learning{border-color:var(--accent)}.path .badge.got_it,.path .badge.remembered{border-color:var(--good);background:var(--good-soft)}.objs{flex-wrap:wrap;justify-content:center;gap:6px;max-width:520px;font-size:2.6rem;line-height:1;display:flex}.objs.group-b{border-radius:var(--r-md);background:var(--accent-soft);padding:6px 10px}.objs.group-a{border-radius:var(--r-md);background:var(--primary-soft);padding:6px 10px}.plus{color:var(--ink-soft);font-size:2.6rem;font-weight:700}.scatter{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--surface-2);width:min(100%,420px);position:relative}.scatter span{font-size:2.3rem;position:absolute;transform:translate(-50%,-50%)}.tenframe{background:var(--ink);border-radius:var(--r-sm);grid-template-columns:repeat(5,1fr);gap:6px;width:min(100%,360px);padding:8px;display:grid}.tenframe .cell{aspect-ratio:1;background:var(--surface);border-radius:6px;place-items:center;display:grid}.tenframe .dot{border-radius:50%;width:70%;height:70%}.tenframe .dot.a{background:var(--group-a)}.tenframe .dot.b{background:var(--group-b)}.tenframe .cell.target{outline:3px dashed var(--accent);outline-offset:-6px}.symbolic{font-family:var(--font-read);font-size:var(--text-hero);letter-spacing:.04em;font-weight:700}.bigletter{font-family:var(--font-read);font-size:6rem;font-weight:700;line-height:1}.bigemoji{font-size:5.5rem;line-height:1}.word{font-family:var(--font-read);letter-spacing:.12em;gap:var(--s3);font-size:4rem;font-weight:700;display:flex}.word .sb{flex-direction:column;align-items:center;display:flex}.tiles{gap:var(--s2);display:flex}.tiles span{font-family:var(--font-read);border-radius:var(--r-sm);border:3px solid var(--line);background:var(--surface);place-items:center;width:76px;height:86px;font-size:3rem;font-weight:700;display:grid}.tiles span.blank{border-style:dashed;border-color:var(--accent);background:var(--accent-soft)}.partwhole{gap:var(--s4) var(--s6);grid-template-columns:1fr 1fr;justify-items:center;width:min(100%,320px);display:grid;position:relative}.partwhole .whole{grid-column:1/-1}.partwhole .node{font-family:var(--font-read);border:4px solid var(--primary);background:var(--surface);border-radius:50%;place-items:center;width:104px;height:104px;font-size:2.6rem;font-weight:700;display:grid}.partwhole .node.q{border-style:dashed;border-color:var(--accent);color:var(--accent)}.numberline{width:100%;max-width:640px}.steps{text-align:left;font-size:var(--text-lg);margin:0;padding-left:1.4em}.steps li+li{margin-top:var(--s2)}.pip{flex:none}@media (width<=560px){.bubble{font-size:var(--text-md)}.prompt{font-size:var(--text-lg)}.objs{font-size:2.1rem}.option{min-height:80px;font-size:var(--text-xl)}.word{font-size:3rem}.tiles span{width:60px;height:72px;font-size:2.4rem}.bigletter{font-size:4.5rem}.pip svg{width:56px;height:56px}}.ev-overview{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.ev-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3) var(--s4);flex-direction:column;gap:2px;display:flex}.ev-tile b{font-size:1.8rem;line-height:1.1}.ev-tile span{font-weight:700}.ev-tile small{color:var(--ink-soft);font-size:var(--text-xs)}.ev-tile.ev-good b{color:var(--good)}.ev-tile.ev-learning b{color:#8a4a12}.ev-tile.ev-review b{color:var(--warn)}.ev-tile.ev-likely b{color:var(--primary-strong)}.ev-next{background:var(--primary-soft);border-radius:var(--r-sm);padding:var(--s2) var(--s3);margin:var(--s3) 0}.ev-table{margin-top:var(--s3);display:grid}.ev-row{gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);grid-template-columns:2.4fr 1fr .8fr 1.2fr 1.3fr;align-items:start;display:grid}.ev-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border-top:0;padding-top:0;font-weight:700}.ev-row small{color:var(--ink-soft);font-size:var(--text-xs);margin-top:2px;display:block}.ev-skill b{margin-left:4px}.ret-confirmed{color:var(--good);font-weight:700}.ret-slipped{color:var(--warn);font-weight:700}@media (width<=720px){.ev-head{display:none}.ev-row{grid-template-columns:1fr 1fr}.ev-row .ev-skill{grid-column:1/-1}.ev-row [data-label]:before{content:attr(data-label);font-size:var(--text-xs);color:var(--ink-soft);font-weight:700;display:block}}.admin .tabs{flex-wrap:wrap}.review-list{margin-top:var(--s3);display:grid}.review-item{justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.metric-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.metric-table th,.metric-table td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:8px 6px}.metric-table thead th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border-top:0}.metric-table th[scope=row] small{color:var(--ink-soft);font-weight:400;font-size:var(--text-xs);margin-top:2px;display:block}.metric-table tr.thin td,.metric-table tr.thin th{color:var(--ink-soft)}.stat-row{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3) var(--s4);gap:2px;display:grid}.stat b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2rem;line-height:1.1}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-weight:700}.day-chart{gap:2px var(--s2);margin:var(--s2) 0 var(--s3);grid-template-columns:auto 1fr;display:grid}.day-chart-max{font-variant-numeric:tabular-nums;align-self:start;line-height:1}.day-bars{border-top:1px dashed var(--line);border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;height:140px;display:flex}.day-col{border-radius:4px 4px 0 0;flex:1;align-items:flex-end;min-width:0;height:100%;display:flex}.day-col.on,.day-col:focus-visible{background:var(--primary-soft);outline:none}.day-bar{background:var(--primary);border-radius:4px 4px 0 0;width:100%;min-height:3px;display:block}.day-axis{grid-column:2;justify-content:space-between;display:flex}.pill{border-radius:var(--r-pill);background:var(--surface-2);font-size:var(--text-xs);padding:2px 10px;font-weight:700;display:inline-block}.pill.good{background:var(--good-soft);color:var(--good)}.book-grid{gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.book-card{text-align:left;cursor:pointer;font:inherit;color:inherit;flex-direction:column;gap:6px;display:flex}.book-card:hover,.book-card:focus-visible{border-color:var(--primary)}.book-cover{letter-spacing:4px;font-size:2rem}.reader{text-align:center}.reader-emoji{margin:var(--s3) 0;font-size:4.5rem;line-height:1.2}.reader-text{letter-spacing:.02em;margin:var(--s4) 0 var(--s5);font-size:clamp(1.6rem,6vw,2.4rem);font-weight:600;line-height:1.5}.print-book{display:none}@media print{body *{visibility:hidden}.print-book,.print-book *{visibility:visible}.print-book{color:#000;background:#fff;width:100%;display:block;position:absolute;inset:0 auto auto 0}.print-page{break-after:page;text-align:center;padding-top:18vh}.print-page .reader-text{font-size:32pt}.print-book h1{text-align:center;break-after:page;margin-top:30vh;font-size:30pt}}.coach h3{font-size:var(--text-sm,1rem);margin:0 0 6px}.coach-block{border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s3)}.coach-quote{border-left:3px solid var(--primary);margin:4px 0;padding-left:12px}.coach-pattern{background:var(--warn-soft);border-radius:var(--r-md);padding:var(--s3);border-top:0}.coach-cols{gap:var(--s4);border-top:1px solid var(--line);padding-top:var(--s3);margin-top:var(--s3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.coach-cols ul,.coach ul{margin:0;padding-left:20px}.sound-btn{min-width:64px}.row.wrap{flex-wrap:wrap}.tabs .tab{white-space:nowrap;flex-shrink:0}.band-pick{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.band-opt{padding:var(--s3) var(--s4);border:2px solid var(--line);border-radius:var(--r-md);cursor:pointer;flex-direction:column;gap:2px;display:flex}.band-opt.on{border-color:var(--primary);background:var(--primary-soft)}.band-opt input{opacity:0;pointer-events:none;position:absolute}.band-opt:focus-within{outline:3px solid var(--primary);outline-offset:2px}.digitpad{flex-direction:column;align-items:center;gap:12px;width:min(320px,100%);margin:0 auto;display:flex}.digit-display{min-width:140px;min-height:64px;font:700 2.4rem var(--font-display,inherit);border:3px solid var(--line);background:var(--surface);border-radius:18px;place-items:center;padding:0 16px;display:grid}.digit-keys{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.digit-keys button{min-height:64px;font:700 1.6rem var(--font-display,inherit);border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:16px}.digit-keys button:disabled{opacity:.45;cursor:default}.digit-keys .digit-ok{background:var(--good);color:#fff;border-color:var(--good)}.check-card{text-align:left;border:3px solid var(--ink,#1d2b2f);color:#1d2b2f;width:100%;box-shadow:0 4px 0 var(--ink,#1d2b2f);cursor:pointer;font:inherit;background:#fff6d6;border-radius:20px;align-items:center;gap:14px;margin:14px 0;padding:14px 18px;display:flex}.check-card strong{font-size:1.15rem;display:block}.check-card small{opacity:.8;display:block}.check-card>span:nth-child(2){flex:1}.check-ico{font-size:2rem}.tcheck{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-top:24px;display:flex}.tcheck-rules{text-align:left;font-size:1.1rem;line-height:1.6}.tcheck-count{font:800 6rem var(--font-display,inherit);margin:20vh 0 0}.tcheck-top{justify-content:space-between;align-items:center;width:min(360px,100%);display:flex}.tcheck-q{font:800 3rem var(--font-display,inherit);min-height:1.2em;margin:8px 0}.tcheck-timer{background:#0000001a;border-radius:99px;width:min(360px,100%);height:12px;overflow:hidden}.tcheck-timer span{background:var(--good,#2c7a4b);transform-origin:0;width:100%;height:100%;display:block}.tcheck-timer span.run{animation:linear forwards tcheck-drain}@keyframes tcheck-drain{0%{transform:scaleX(1)}to{background:#e8893a;transform:scaleX(0)}}.tcheck-score{font-size:1.4rem}.tcheck-score strong{font-size:3rem;display:block}.link-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px;font-weight:700;text-decoration:underline}.tt-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;max-width:520px;font-size:.75rem;display:grid}.tt-grid>span{aspect-ratio:1;background:var(--surface-2,#eee);border-radius:5px;place-items:center;font-weight:700;display:grid}.tt-grid>.tt-head{color:var(--ink-soft);background:0 0}.tt-grid>.quick{background:var(--good-soft);color:var(--good)}.tt-grid>.timed_out{background:var(--warn-soft);color:var(--warn)}.tt-grid>.not_yet{color:#9b2c2c;background:#f7d4d4}.tt-legend{font-size:var(--text-sm);flex-wrap:wrap;gap:8px 16px;display:flex}.tt-legend i{vertical-align:-2px;background:var(--surface-2,#eee);border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.tt-legend i.quick{background:var(--good-soft);border:1px solid var(--good)}.tt-legend i.timed_out{background:var(--warn-soft);border:1px solid var(--warn)}.tt-legend i.not_yet{background:#f7d4d4;border:1px solid #9b2c2c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tt-grid>.not_yet{color:#f3b5b5;background:#4a2323}}.tt-grid>span:not(.tt-head):not(.quick):not(.timed_out):not(.not_yet){border:1px solid var(--line);color:var(--ink-soft);background:0 0;font-weight:500}.tt-legend i:not(.quick):not(.timed_out):not(.not_yet){border:1px solid var(--line);background:0 0}.tt-grid>.timed_out{color:#8a4a12;background:#fde3c4}.tt-legend i.timed_out{background:#fde3c4}.spell-card{background:#e6f4ff}.spell-say{margin:0;font-size:1.2rem;font-weight:700}.spell-word{font:800 clamp(2.4rem, 11vw, 3.6rem) var(--font-display,inherit);letter-spacing:.06em;margin:8px 0}.spell-word.good{color:var(--good,#2c7a4b)}.spell-typed{min-width:200px;min-height:64px;font:700 2.2rem var(--font-display,inherit);letter-spacing:.08em;border:3px solid var(--line);background:var(--surface);border-radius:18px;place-items:center;padding:0 16px;display:grid}.spell-keys{grid-template-columns:repeat(7,1fr);gap:6px;width:min(420px,100%);display:grid}.spell-keys button{min-height:52px;font:700 1.4rem var(--font-display,inherit);border:2px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:12px}.spell-keys button:disabled{opacity:.45;cursor:default}.spell-keys .spell-del{grid-column:span 2}.spell-keys .spell-ok{background:var(--good);color:#fff;border-color:var(--good);grid-column:span 2}.spell-compare{text-align:left;grid-template-columns:auto auto;align-items:center;gap:8px 16px;display:grid}.spell-letters{font:700 2rem var(--font-display,inherit);letter-spacing:.1em}.spell-letters .diff{color:#c2255c;text-decoration:underline;text-decoration-thickness:3px}.skill-row .chip{white-space:nowrap;flex-shrink:0;align-self:center}.spell .row{justify-content:center}.child{position:relative;overflow-x:hidden}.world-jungle{--world:#e7f3e2}.world-space{--world:#e8e9f7}.world-ocean{--world:#e1f1f7}.world-dinosaurs{--world:#f6efe1}.child[class*=world-]{background:linear-gradient(180deg, var(--world,var(--bg)) 0%, var(--bg) 70%)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .child[class*=world-]{background:var(--bg)}}.child-top,.child-main{z-index:1;position:relative}.section-title{font-size:var(--text-lg);margin:0}.pip svg{overflow:visible}.pip-lids{transform-box:fill-box;transform-origin:50%;animation:5s infinite blink;transform:scaleY(0)}@keyframes blink{0%,94%,to{transform:scaleY(0)}96%{transform:scaleY(1)}}.pip-happy .pip-body,.pip-cheer .pip-body{transform-box:fill-box;transform-origin:bottom;animation:.7s ease-out bounce}.pip-cheer .pip-wing-l{transform-box:fill-box;transform-origin:100% 0;animation:.5s ease-in-out 2 flapL}.pip-cheer .pip-wing-r{transform-box:fill-box;transform-origin:0 0;animation:.5s ease-in-out 2 flapR}.pip-thinking .pip-body{transform-box:fill-box;transform-origin:bottom;transition:transform .3s;transform:rotate(-8deg)}@keyframes bounce{0%{transform:translateY(0)}35%{transform:translateY(-9px)scale(1.04)}65%{transform:translateY(0)scale(.98)}to{transform:none}}@keyframes flapL{50%{transform:rotate(-35deg)}}@keyframes flapR{50%{transform:rotate(35deg)}}.pop-in{animation:.35s ease-out both popIn}@keyframes popIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.countable{cursor:pointer;min-width:52px;min-height:52px;font-size:inherit;color:inherit;background:0 0;border:0;border-radius:14px;place-items:center;padding:4px;display:inline-grid;position:relative}button.countable:hover{background:#fff9}.countable .obj{transition:transform .2s,filter .2s;display:inline-block}.countable .obj.counted{filter:drop-shadow(0 3px #00000026);transform:scale(1.12)rotate(-6deg)}.badge-count{background:var(--accent);color:#fff;min-width:26px;height:26px;font:700 16px/26px var(--font-child);text-align:center;border-radius:13px;padding:0 6px;animation:.25s ease-out both popIn;position:absolute;top:-4px;right:-4px;box-shadow:0 2px #00000026}.tap-hint{font-size:var(--text-md);color:var(--ink-soft);animation:1.6s ease-in-out 2 nudge}@keyframes nudge{50%{transform:translateY(-4px)}}.tenframe .cell{cursor:default;border:0;padding:0;position:relative}.tenframe button.cell{cursor:pointer}.tenframe .dot.counted{outline:3px solid var(--accent);outline-offset:2px}.tenframe .badge-count{min-width:22px;height:22px;font-size:13px;line-height:22px;top:2px;right:2px}.scatter-pos{position:absolute;transform:translate(-50%,-50%)}.numberline-wrap{gap:var(--s3);flex-direction:column;width:100%;max-width:640px;display:flex}.nl-stage{position:relative}.walker{font-size:2.3rem;transition:left .45s cubic-bezier(.3,1.6,.5,1);position:absolute;top:20%;transform:translate(-50%,-50%)}.hop-btn{min-height:var(--touch-child);padding:0 var(--s5);border-radius:var(--r-pill);border:3px solid var(--group-b);background:var(--accent-soft);font:700 var(--text-lg) var(--font-child);color:var(--ink);cursor:pointer}.hop-btn:active{transform:translateY(2px)}.hop-reset{border-radius:var(--r-pill);border:2px solid var(--line);background:var(--surface);min-height:48px;font:600 var(--text-md) var(--font-child);color:var(--ink);padding:0 var(--s4);cursor:pointer}.hop-count{font-size:var(--text-lg);color:var(--ink-soft);font-weight:700}.partwhole .pw-lines{z-index:0;width:100%;height:100%;position:absolute;inset:0}.partwhole .pw-lines line{stroke:var(--primary);stroke-width:3px;vector-effect:non-scaling-stroke}.partwhole .node{z-index:1;position:relative}.talk{cursor:pointer;border-radius:var(--r-lg);padding:var(--s2) var(--s4);background:0 0;border:0;position:relative}.talk:hover{background:#fff9}.talk-icon{font-size:1.4rem;position:absolute;bottom:0;right:-6px}.word .sb{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;align-items:center;padding:0 4px;display:flex}.word .sb:after{content:"";background:var(--ink-soft);opacity:.35;border-radius:3px;width:80%;height:6px;margin-top:8px}.word .sb.lit{color:var(--accent);transition:transform .15s;transform:translateY(-6px)}.word .sb.lit:after{background:var(--accent);opacity:1}.story-art{letter-spacing:4px;font-size:2.4rem}.adventure{max-width:520px;height:48px;margin:0 var(--s3);flex:1;position:relative}.adventure .track{background:repeating-linear-gradient(90deg, var(--line) 0 10px, transparent 10px 18px);border-radius:5px;height:10px;position:absolute;top:50%;left:0;right:28px;transform:translateY(-50%)}.adventure .trail{background:var(--group-b);opacity:.55;border-radius:5px;height:100%;transition:width .6s ease-out}.adventure .walker-run{font-size:2rem;transition:left .6s cubic-bezier(.3,1.5,.5,1);position:absolute;top:50%;transform:translate(-50%,-60%)}.adventure .goal{font-size:1.9rem;position:absolute;top:50%;right:0;transform:translateY(-50%)}.goal-reached{text-align:center;font-size:var(--text-xl);font-weight:700}.confetti{pointer-events:none;z-index:20;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:3px;width:12px;height:18px;animation:1.3s ease-in forwards fall;position:absolute;top:-30px}.confetti .c0{background:var(--art-1)}.confetti .c1{background:var(--art-2)}.confetti .c2{background:var(--star);border-radius:50%;width:14px;height:14px}.confetti .c3{background:var(--art-3)}@keyframes fall{to{opacity:0;transform:translateY(70vh)rotate(260deg)}}.fb-text{font-size:var(--text-xl);font-weight:700}.sticker-book{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.sticker{background:var(--surface);border:3px solid var(--good);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:96px;height:104px;font-size:2.6rem;display:flex;transform:rotate(-3deg);box-shadow:0 3px #00000014}.sticker:nth-child(2n){transform:rotate(3deg)}.sticker small{font-size:12px;font-family:var(--font-child);text-align:center;padding:0 4px;line-height:1.2}.sticker.empty{border:3px dashed var(--line);color:var(--line);box-shadow:none;background:0 0}.sticker.new{animation:.7s cubic-bezier(.3,1.6,.5,1) both stickerIn}@keyframes stickerIn{0%{transform:scale(0)rotate(-40deg)}to{transform:scale(1)rotate(-3deg)}}@media (width<=560px){.adventure{height:40px;margin:0 var(--s1)}.adventure .walker-run{font-size:1.6rem}.adventure .goal{font-size:1.5rem}.child-top .icon-btn{min-width:56px;min-height:56px;padding:0 var(--s2);font-size:1.3rem}.child-top .icon-btn .lbl{display:none}.sticker{width:80px;height:90px;font-size:2.2rem}}.pip-calm .pip-body{transform-box:fill-box;transform-origin:bottom;animation:3.2s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-5px)}}.pip-cheer .pip-body{transform-box:fill-box;transform-origin:50%;animation:.9s cubic-bezier(.3,1.4,.5,1) flipJump}@keyframes flipJump{0%{transform:none}30%{transform:translateY(-14px)rotate(-10deg)scale(1.08)}60%{transform:translateY(-6px)rotate(370deg)}to{transform:rotate(360deg)}}.pip-sparkles path{transform-box:fill-box;transform-origin:50%;animation:.9s ease-out both sparkle}.pip-sparkles path:nth-child(2){animation-delay:.15s}.pip-sparkles path:nth-child(3){animation-delay:.3s}@keyframes sparkle{0%{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1.3)rotate(90deg)}to{opacity:.9;transform:scale(1)rotate(180deg)}}.pip-thinking .pip-body{animation:.8s ease-in-out wobble}@keyframes wobble{0%,to{transform:rotate(-8deg)}30%{transform:rotate(6deg)}60%{transform:rotate(-12deg)}}.pip-trick-spin .pip-body{transform-box:fill-box;transform-origin:50%;animation:.8s ease-in-out spin!important}.pip-trick-jump .pip-body{transform-box:fill-box;transform-origin:bottom;animation:.8s cubic-bezier(.3,1.6,.5,1) bigJump!important}@keyframes bigJump{40%{transform:translateY(-18px)scale(1.1,.92)}70%{transform:translateY(0)scale(.92,1.08)}}.pip-trick-wiggle .pip-body{transform-box:fill-box;transform-origin:bottom;animation:.5s ease-in-out 2 wiggle!important}@keyframes wiggle{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}.pip-trick-spin .pip-wing-l,.pip-trick-jump .pip-wing-l,.pip-trick-wiggle .pip-wing-l{transform-box:fill-box;transform-origin:100% 0;animation:.3s ease-in-out 3 flapL}.pip-trick-spin .pip-wing-r,.pip-trick-jump .pip-wing-r,.pip-trick-wiggle .pip-wing-r{transform-box:fill-box;transform-origin:0 0;animation:.3s ease-in-out 3 flapR}.pip-tickle{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;line-height:0}.pip-tickle:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.look-first{text-align:center;font:700 var(--text-lg) var(--font-child);color:var(--ink-soft);margin:var(--s2) 0;animation:1.2s ease-in-out 2 nudge}.pet-card{align-items:center;gap:var(--s3);background:var(--surface);border:3px solid var(--accent-soft);border-radius:var(--r-lg);padding:var(--s3) var(--s4);max-width:420px;margin:var(--s3) auto;display:flex;box-shadow:0 3px #0000000f}.pet-card.compact{box-shadow:none;background:0 0;border:0;margin:0;padding:0}.pet{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:4px;font-size:3.2rem;line-height:1;animation:2.6s ease-in-out infinite petIdle}.pet-egg{animation:2.4s ease-in-out infinite eggRock}@keyframes petIdle{50%{transform:translateY(-5px)rotate(-4deg)}}@keyframes eggRock{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-12deg)}86%{transform:rotate(10deg)}94%{transform:rotate(-5deg)}}.pet:active{transform:scale(1.2)}.pet-info{font-family:var(--font-child);flex-direction:column;flex:1;gap:6px;display:flex}.pet-info b{font-size:var(--text-lg)}.pet-bar{background:var(--line);border-radius:6px;height:12px;display:block;overflow:hidden}.pet-bar span{background:linear-gradient(90deg, var(--good), var(--star));border-radius:6px;height:100%;transition:width .8s ease-out;display:block}.pet-pill{cursor:pointer;border:0;font-size:1.4rem}.pet-end{text-align:center;font:700 var(--text-lg) var(--font-child)}.pet-end .pet-big{font-size:4rem;animation:2.6s ease-in-out infinite petIdle;display:inline-block}.pet-end.grew .pet-big{animation:1.1s cubic-bezier(.3,1.6,.5,1) both hatch}@keyframes hatch{0%{transform:scale(.2)rotate(-30deg)}60%{transform:scale(1.35)rotate(10deg)}to{transform:scale(1)}}.pet-end p{margin:var(--s2) 0 0}.together{background:var(--accent-soft);border-radius:var(--r-lg);padding:var(--s4);margin:var(--s3) auto;text-align:left;border:3px dashed var(--accent);max-width:520px;font-family:var(--font-child)}.together h2{margin:0 0 var(--s2);font-size:var(--text-lg)}.together p{margin:0 0 var(--s2);font-size:var(--text-md);color:var(--ink)}.together small{color:var(--ink-soft)}.latest .eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);margin:0;font-weight:700}.latest-summary{font-size:var(--text-lg);margin:var(--s2) 0 var(--s3)}.together-parent{background:var(--accent-soft);border-radius:var(--r-md);padding:var(--s3) var(--s4);margin-bottom:var(--s3)}.together-parent p{margin:6px 0 0}.changes h3{font-size:var(--text-md);margin:var(--s3) 0 var(--s2)}.changes ul{gap:6px;margin:0;padding-left:1.2em;display:grid}.objs.takeaway .obj.gone,.tenframe .dot.gone{opacity:.35;filter:grayscale();position:relative}.objs.takeaway .countable:has(.gone):after{content:"✕";color:var(--warn);font:800 2rem/1 var(--font-display);pointer-events:none;place-items:center;animation:.25s ease-out both popIn;display:grid;position:absolute;inset:0}.tenframe .cell:has(.dot.gone):after{content:"✕";color:var(--warn);font:800 2rem/1 var(--font-display);pointer-events:none;place-items:center;animation:.25s ease-out both popIn;display:grid;position:absolute;inset:0}.tenframe .cell{position:relative}.frames{gap:var(--s3);flex-wrap:wrap;justify-content:center;width:100%;display:flex}.frames .tenframe{flex:0 280px;width:280px;max-width:100%}.track-row{gap:var(--s4);flex-wrap:wrap;justify-content:center;padding-top:22px;display:flex}.track-box{border-radius:var(--r-md);background:var(--surface);border:3px solid var(--line);min-width:72px;height:72px;font:700 2rem var(--font-read);place-items:center;padding:0 10px;display:grid;position:relative}.track-box.missing{border-style:dashed;border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.track-jump{font:700 .95rem var(--font-child);color:var(--group-b);position:absolute;top:-22px;right:-24px}.plates{gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.plate{background:var(--surface);border:4px solid var(--line);min-width:96px;min-height:96px;font:inherit;color:inherit;border-radius:50%;place-items:center;padding:12px;display:grid;position:relative;box-shadow:inset 0 -6px #0000000d}button.plate,button.arow{cursor:pointer}.plate.next,.arow.next{border-color:var(--accent);animation:1.6s ease-in-out 2 nudge}.plate.done,.arow.done{border-color:var(--good);background:var(--good-soft)}.plate.next-plate{border-color:var(--accent)}.plate-objs{flex-wrap:wrap;justify-content:center;gap:2px;max-width:120px;font-size:1.7rem;line-height:1.1;display:flex}.plate-objs.many{max-width:110px;font-size:1.1rem}.plate .badge-count,.arow .badge-count{top:-6px;right:-6px}.array{flex-direction:column;align-items:center;gap:8px;display:flex}.arow{border-radius:var(--r-pill);border:3px solid var(--line);background:var(--surface);font:inherit;padding:8px 14px;display:flex;position:relative}.arow .plate-objs{flex-wrap:nowrap;gap:8px;max-width:none}.adot{background:var(--group-a);border-radius:50%;width:26px;height:26px;display:inline-block}.deal{gap:var(--s4);flex-direction:column;align-items:center;width:100%;display:flex}.pile{flex-wrap:wrap;justify-content:center;gap:4px;max-width:420px;min-height:2.2rem;font-size:1.8rem;display:flex}.pile-empty{font:700 var(--text-md) var(--font-child);color:var(--good)}.halving{align-items:center;gap:var(--s3);flex-direction:column;display:flex}.symbolic.small-sym{font-size:clamp(2rem,6vw,3.2rem)}.hear-word{align-items:center;gap:var(--s2);min-height:var(--touch-child);padding:0 var(--s5);border-radius:var(--r-pill);border:3px solid var(--primary);background:var(--primary-soft);color:var(--primary-strong);font:700 var(--text-lg) var(--font-child);cursor:pointer;display:inline-flex}.word-opt{font-family:var(--font-read);font-size:2.2rem;font-weight:700}.sentence{font-family:var(--font-read);text-align:center;margin:0;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:600}.sentence .gap{border-bottom:4px dashed var(--accent);min-width:3.5em;color:var(--accent);text-align:center;margin:0 .2em;display:inline-block}.word .sb.pair{padding:0 8px}.word .sb.pair:after{background:var(--group-b);opacity:.8;width:90%}.tiles span.wide{width:104px}.numpad.pad-20{gap:var(--s2);grid-template-columns:repeat(auto-fill,minmax(66px,1fr));max-width:600px}.numpad.pad-20 button{min-height:var(--touch-child);min-width:64px;font-size:var(--text-lg)}@media (width<=560px){.plate{min-width:80px;min-height:80px}.track-box{min-width:56px;height:60px;font-size:1.6rem}.tiles span.wide{width:84px}}.tensones{gap:var(--s4);flex-wrap:wrap;justify-content:center;align-items:flex-end;display:flex}.tensones .rods{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.tensones .cubes{flex-wrap:wrap;gap:6px;max-width:140px;display:flex}.blk{font:inherit;color:inherit;background:0 0;border:0;border-radius:6px;padding:2px;position:relative}button.blk{cursor:pointer;outline:3px dashed var(--accent);outline-offset:2px}.rod{background:var(--group-a);border-radius:4px;flex-direction:column;gap:1px;padding:2px;display:flex}.rod i{background:color-mix(in srgb, var(--group-a) 70%, white);border-radius:2px;width:20px;height:15px}.cube{background:var(--group-b);border-radius:4px;width:22px;height:22px;display:block;box-shadow:inset 0 -3px #00000026}.blk.done .rod,.blk.done .cube{filter:saturate(1.3)brightness(1.05)}.blk .badge-count{top:-10px;right:-10px}.tensones.small .rod i{width:8px;height:6px}.tensones.small .cube{width:9px;height:9px}.tensones.small{gap:6px}.tensones.small .rods,.tensones.small .cubes{gap:2px}.hsquare{background:var(--ink);border-radius:var(--r-sm);grid-template-columns:repeat(3,76px);gap:4px;padding:6px;display:grid}.hsquare span{background:var(--surface);height:64px;font:700 1.7rem var(--font-read);border-radius:6px;place-items:center;display:grid}.hsquare span.gap{background:var(--accent-soft);color:var(--accent);outline:3px dashed var(--accent);outline-offset:-6px}.more-less{align-items:center;gap:var(--s3);flex-wrap:wrap;justify-content:center;display:flex}.ml-box{border-radius:var(--r-md);border:3px solid var(--line);background:var(--surface);min-width:96px;height:84px;font:700 2.6rem var(--font-read);place-items:center;padding:0 12px;display:grid}.ml-box.q{border-style:dashed;border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ml-arrow{font:800 1.5rem var(--font-child);color:var(--group-b)}.compare-row{gap:var(--s5);flex-wrap:wrap;justify-content:center;display:flex}.compare-card{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface);border:3px solid var(--line);flex-direction:column;display:flex}.compare-card b{font:700 2.6rem var(--font-read)}.read-sentence{flex-wrap:wrap;justify-content:center;gap:4px 10px;max-width:640px;margin:0;display:flex}.read-sentence .rw{font:600 clamp(1.7rem, 5vw, 2.5rem) var(--font-read);color:var(--ink);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;border-radius:8px;padding:2px 4px}.read-sentence .rw:hover,.read-sentence .rw:focus-visible{border-bottom-color:var(--accent)}.scene{letter-spacing:2px;white-space:nowrap;font-size:2.2rem}.yes-no{font:700 1.8rem var(--font-child);align-items:center;gap:8px;display:inline-flex}@media (width<=560px){.hsquare{grid-template-columns:repeat(3,64px)}.hsquare span{height:56px;font-size:1.4rem}.ml-box{min-width:76px;height:70px;font-size:2rem}.scene{font-size:1.7rem}}.clock{max-width:100%;height:auto}.clock .clock-face{fill:var(--surface);stroke:var(--ink);stroke-width:6px}.clock .tick{stroke:var(--ink-soft);stroke-width:1.5px}.clock .tick.long{stroke:var(--ink);stroke-width:3px}.clock .clock-num{font:700 20px var(--font-read);fill:var(--ink)}.clock .hand{stroke-linecap:round}.clock .hand.hour{stroke:var(--group-b);stroke-width:9px}.clock .hand.minute{stroke:var(--group-a);stroke-width:6px}.clock .clock-pin{fill:var(--ink)}.time-opt{font:700 var(--text-lg) var(--font-child)}.options button:has(.clock){padding:6px}.coin-row{gap:var(--s3);flex-wrap:wrap;justify-content:center;align-items:center;font-size:3rem;display:flex}.coin{font-family:var(--font-read);color:#3b2a12;border-radius:50%;place-items:center;font-weight:800;display:inline-grid;box-shadow:inset 0 -4px #0000002e,inset 0 3px #ffffff73,0 2px 4px #0003}.coin.copper{background:radial-gradient(circle at 35% 30%,#f0b27a,#b86a2c 70%)}.coin.silver{color:#2c3338;background:radial-gradient(circle at 35% 30%,#fff,#b9bec4 70%)}.coin.hept{clip-path:polygon(50% 0%,90% 19%,100% 61%,72% 95%,28% 95%,0% 61%,10% 19%);border-radius:0}.part{fill:var(--surface);stroke:var(--ink);stroke-width:3px}.part.on{fill:var(--group-b)}.frac{font:800 1.9rem/1 var(--font-read);flex-direction:column;align-items:center;display:inline-flex}.frac sup,.frac sub{font-size:inherit;vertical-align:baseline;line-height:1}.frac .bar{background:currentColor;border-radius:2px;width:1.1em;height:3px;margin:2px 0}.magic-word .sb.magic{color:var(--group-b)}.magic-word .sb.silent-e{position:relative}.magic-word .sb.silent-e:before{content:"✨";font-size:.45em;position:absolute;top:-.9em;right:-.3em}.parent-btn .lbl{white-space:nowrap}.q-parents{font:700 .9rem var(--font-child);align-items:center;gap:4px;padding:0 10px;display:inline-flex;width:auto!important}@media (width<=560px){.child-top .parent-btn .lbl{font-size:.8rem;display:inline}}.parent-btn .lbl-short{display:none}@media (width<=1100px){.in-lesson .parent-btn .lbl-long{display:none}.in-lesson .parent-btn .lbl-short{display:inline}}@media (width<=560px){.parent-btn .lbl-long{display:none}.parent-btn .lbl-short{display:inline}.child-top,.chat-head{flex-wrap:wrap;row-gap:6px}.child-top .top-actions,.chat-head .top-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}}.flat-shape g>*{fill:var(--accent-soft);stroke:var(--group-b);stroke-width:6px;stroke-linejoin:round}.strips{width:min(100%,460px);height:auto}.grid-line{stroke:var(--line);stroke-width:1.5px}.strip-a{fill:var(--group-a)}.strip-b{fill:var(--group-b)}.strip-label{font:800 18px var(--font-child);fill:var(--ink)}.balance,.containers{width:min(100%,320px);height:auto}.balance-stand{fill:var(--ink-soft)}.balance-beam{fill:var(--ink)}.container{fill:var(--surface);stroke:var(--ink);stroke-width:3px}.water{fill:#9fd3f0}.cube-ruler{flex-direction:column;align-items:flex-start;gap:6px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.ruler-thing{background:var(--accent-soft);border-radius:23px;align-items:center;height:46px;padding:0 10px;font-size:1.8rem;display:flex}.ruler-cubes{display:flex}.mcube{background:var(--group-a);border:2px solid #fff;border-radius:4px;width:34px;height:34px}.chart-card{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-md);min-width:min(100%,360px);margin:0;padding:10px 14px}.chart-card figcaption{font:700 var(--text-md) var(--font-child);margin-bottom:6px}.chart-table{border-collapse:collapse;width:100%}.chart-table th{text-align:left;font:700 1rem var(--font-child);white-space:nowrap;padding:6px 10px 6px 0}.chart-table td{border-left:2px solid var(--line);padding:6px 0 6px 10px}.picto{letter-spacing:2px;font-size:1.5rem}.chart-key{font-size:var(--text-xs);color:var(--ink-soft);margin:6px 0 0}.tally{align-items:center;gap:12px;display:inline-flex}.gate{gap:5px;display:inline-flex;position:relative}.gate i{background:var(--ink);border-radius:2px;width:4px;height:30px;display:inline-block}.gate b{background:var(--group-b);border-radius:2px;height:4px;position:absolute;top:13px;left:-4px;right:-4px;transform:rotate(-28deg)}.bigemoji.plural{letter-spacing:6px;font-size:3.4rem}.ab-opt{font:800 2rem var(--font-child)}.sent-opt{font:600 1.2rem var(--font-read);text-transform:none}.word-opt.small-word{font-size:1.4rem}.ico-svg{flex:none;display:block}.child-top{z-index:2;position:relative}.top-actions{gap:var(--s2);flex-wrap:nowrap}.icon-btn.listen{background:var(--primary);color:var(--primary-ink);border-color:#0000}.ai-label{margin-top:var(--s2);padding-left:4px;display:block}.section-title{font-family:var(--font-display);font-weight:700}.world-chip{align-items:center;gap:var(--s2);border-radius:var(--r-pill);border:var(--btn-border);background:var(--surface);min-height:56px;box-shadow:var(--btn-shadow);color:var(--ink);cursor:pointer;font:700 var(--text-md) var(--font-display);padding:4px 18px 4px 6px;display:inline-flex}.world-chip .world-art{border-radius:50%}.domain-tiles{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.domain-tile{align-items:center;gap:var(--s4);min-height:104px;padding:var(--s4) var(--s5);text-align:left;cursor:pointer;border-radius:var(--radius-card);border:var(--card-border);box-shadow:var(--tile-shadow);background:var(--tile-bg);color:var(--tile-ink);transition:transform .15s;display:flex}.domain-tile:hover{transform:translateY(-2px)}.domain-tile:active{box-shadow:none;transform:translateY(3px)}.dom-math{--tile-bg:var(--tile-math)}.dom-reading{--tile-bg:var(--tile-reading)}.dom-writing{--tile-bg:var(--tile-writing)}.domain-tile .domain-art{filter:drop-shadow(0 2px #00000014);flex:none}.dt-text{flex-direction:column;flex:1;min-width:0;display:flex}.dt-label{font:700 1.75rem/1.1 var(--font-display)}.dt-sub{font-size:var(--text-md);opacity:.85;font-weight:700}.dt-go{background:var(--tile-go,#ffffff8c);border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.path-card{text-align:left;--art-1:var(--group-b);--art-2:var(--group-a);--art-3:#d6336c;--art-num:#fff;align-items:stretch}.skill-path+.skill-path{border-top:2px dashed var(--line);padding-top:var(--s4)}.sp-head{align-items:center;gap:var(--s2);font:700 var(--text-lg) var(--font-display);display:flex}ol.path{margin:var(--s3) 0 0;flex-wrap:wrap;justify-content:flex-start;gap:0;padding:0;list-style:none;display:flex}ol.path .step{flex:1 1 0;width:auto;min-width:84px;max-width:140px;position:relative}ol.path .step+.step:before{content:"";background:var(--line);border-radius:2px;width:calc(100% - 60px);height:4px;position:absolute;top:28px;left:calc(30px - 50%)}ol.path .step.done+.step:before{background:var(--star)}.step-btn{all:unset;box-sizing:border-box;text-align:center;flex-direction:column;align-items:center;gap:6px;width:100%;padding:0 4px;display:flex}button.step-btn{cursor:pointer}button.step-btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:12px}.node{background:var(--surface);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid}.node.done{background:var(--star);color:#fff;box-shadow:0 3px #0000001f}.node.now{background:var(--primary);color:var(--primary-ink);box-shadow:0 0 0 6px color-mix(in srgb, var(--primary) 22%, transparent);animation:2.2s ease-in-out infinite nodePulse}.node.learning{border:3px solid var(--accent);color:var(--accent)}.node.later{border:3px dashed color-mix(in srgb, var(--ink-soft) 45%, transparent);color:var(--ink-soft)}.node .num{font:700 1.2rem var(--font-read)}.end .node,.stage .row>.node{width:36px;height:36px}@keyframes nodePulse{0%{box-shadow:0 0 #c85a328c}to{box-shadow:0 0 0 14px #c85a3200}}.node-label{font-size:var(--text-sm);font-weight:700;line-height:1.2}.node-tag{border-radius:var(--r-pill);background:var(--primary);color:var(--primary-ink);padding:2px 10px;font-size:12px;font-weight:800}.world-cards{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.world-card{justify-content:center;align-items:center;gap:var(--s3);border-radius:var(--radius-card);border:var(--card-border);min-height:190px;box-shadow:var(--tile-shadow);background:var(--surface);color:var(--ink);cursor:pointer;font:700 var(--text-xl) var(--font-display);flex-direction:column;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s;display:flex;position:relative}.world-card:hover{transform:translateY(-6px)rotate(-1deg);box-shadow:0 12px 24px #1d2b2f24}.world-card:active{box-shadow:none;transition-duration:80ms;transform:translateY(1px)scale(.97)}.world-card:focus-visible{box-shadow:0 0 0 4px var(--surface), 0 0 0 8px var(--focus), 0 0 22px 6px color-mix(in srgb, var(--focus) 45%, transparent);outline:none}.world-card:hover svg,.world-card:focus-visible svg{animation:.6s ease-out bounce}.world-card[aria-pressed=true]{outline:4px solid var(--primary);outline-offset:3px}.wc-tag{border-radius:var(--r-pill);background:var(--primary);color:var(--primary-ink);align-items:center;gap:4px;padding:2px 10px;font-size:13px;display:inline-flex;position:absolute;top:10px;right:10px}.word-wrap{align-items:center;gap:var(--s3);flex-direction:column;display:flex}.tap-hint{align-items:center;gap:6px;font-weight:700;display:inline-flex}.hint .ico-svg{color:var(--accent)}.review{z-index:60;color:#f4f3fa;background:#1d1b2e;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;position:relative}.review-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:6px 12px;display:flex}.review-title{align-items:center;gap:6px;font-weight:700;display:inline-flex}.review-seg{background:#ffffff1a;border-radius:10px;grid-template-columns:repeat(4,auto);gap:3px;padding:3px;display:grid}.review-seg.two{grid-template-columns:repeat(2,auto)}.review-seg button{min-width:44px;min-height:34px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 10px;font-weight:700}.review-seg button[aria-checked=true]{color:#1d1b2e;background:#fff}.review-voice{min-height:34px;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex}.review-panel{background:#1d1b2e;border-radius:0 0 16px 16px;flex-direction:column;gap:10px;width:min(360px,100vw - 16px);padding:12px 14px 14px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 14px 30px #0000004d}.review-blurb,.review-note{color:#c9c6dc;margin:0;line-height:1.35}.review-note{color:#ffe19a;background:#ffc4001f;border-radius:10px;padding:8px 10px}.review-voices{flex-direction:column;gap:4px;display:flex}.review-voices button{min-height:44px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff1f;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;font-weight:600;display:flex}.review-voices button small{color:#a9a5c2;font-weight:400}.review-voices button[aria-checked=true]{color:#1d1b2e;background:#fff}.review-voices button[aria-checked=true] small{color:#5d5878}.review-voices button:disabled{opacity:.45;cursor:not-allowed}.review-row{gap:8px;display:flex}.review-sample,.review-done{cursor:pointer;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:42px;font-weight:700;display:inline-flex}.review-sample{color:#fff;background:#7c6bff}.review-done{color:#fff;background:#ffffff1f}.hero .pip svg{width:88px;height:88px}@media (width<=560px){.dt-label{font-size:1.5rem}.domain-tile{min-height:92px;padding:var(--s3) var(--s4)}.domain-tile .domain-art{width:52px;height:52px}.world-chip{min-height:52px;font-size:var(--text-sm)}ol.path .step{min-width:70px}.node{width:50px;height:50px}ol.path .step+.step:before{top:25px}.hero .pip svg{width:72px;height:72px}.sticker-book{gap:var(--s2)}.sticker{width:64px;height:80px;font-size:1.9rem}.review-title{display:none}.review-bar{flex-wrap:nowrap;gap:6px;padding:5px 8px}.review-seg button{min-width:38px;padding:0 6px}}.gate-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1412238c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.gate-card{width:min(440px,100%);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.as-in{min-height:1.6em;font:600 var(--text-lg) var(--font-display);color:var(--ink-soft)}.as-in b{color:var(--primary-strong);font-family:var(--font-read)}.logout-btn{color:var(--ink-soft)}@media (width<=700px){.in-lesson .hide-sm,.chat-head .hide-sm{display:none}.in-lesson .logout-btn,.chat-head .logout-btn{min-width:52px;padding:0}}@media (width<=560px){.child:not(.in-lesson) .child-top .logout-btn .lbl{display:inline}.child:not(.in-lesson) .child-top{flex-wrap:wrap}.child:not(.in-lesson) .child-top .top-actions{margin-left:auto}}.dev-tab{z-index:80;color:#f4f3fa;cursor:pointer;opacity:.75;background:#1d1b2ee0;border:1px dashed #8a86a3;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font:600 12px system-ui,sans-serif;display:inline-flex;position:fixed;bottom:12px;left:12px}.dev-tab:hover,.dev-tab:focus-visible{opacity:1}.review.dev-drawer{z-index:80;border-radius:14px;max-width:760px;margin:0 auto;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 10px 30px #00000059}.dev-label{text-transform:uppercase;letter-spacing:.06em;color:#f2b33d;font-size:11px;font-weight:800}.dev-drawer .review-panel{top:auto;bottom:calc(100% + 8px)}button.countable,.tenframe button.cell,button.plate.next,button.arow.next,button.blk.next{outline:2px dashed color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}button.countable:has(.counted){outline-color:#0000}button.countable:after,.tenframe button.cell:after,button.plate.next:after,button.blk.next:after{content:"";border-radius:inherit;pointer-events:none;animation:1.4s ease-out 3 tapRing;position:absolute;inset:-2px}button.countable:nth-child(3n+2):after{animation-delay:.25s}button.countable:nth-child(3n):after{animation-delay:.5s}:is(.objs,.tenframe,.scatter,.plates,.blocks):has(.counted):after{animation:none}:is(.objs,.tenframe):has(.counted) button:after{animation:none}@keyframes tapRing{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 60%, transparent)}to{box-shadow:0 0 0 12px #0000}}.hop-btn{animation:1.4s ease-out 3 tapRing}.top-left{gap:var(--s2);flex-wrap:nowrap}.media-group{gap:var(--s2);padding-left:var(--s2);border-left:2px solid color-mix(in srgb, var(--line) 80%, transparent);display:inline-flex}.parent-corner{border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 70%, transparent);border:1.5px dashed color-mix(in srgb, var(--ink-soft) 40%, transparent);gap:6px;padding:4px;display:inline-flex}.parent-corner .icon-btn{box-shadow:none}@media (width<=560px){.media-group{border-left:0;padding-left:0}.parent-corner{background:0 0;border:0;gap:4px;padding:0}.top-left{flex-wrap:wrap}}.page{max-width:1200px}.topbar{padding-inline:max(var(--s4), calc((100% - 1200px) / 2 + var(--s4)))}.child-cards{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));display:grid}.child-card{gap:var(--s4);flex-direction:column;display:flex}.cc-head{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.cc-avatar{font-size:44px;line-height:1}.cc-start{min-height:52px;font-size:var(--text-md);padding-inline:var(--s5)}.cc-actions{gap:var(--s2);padding-top:var(--s4);border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.cc-action{min-height:84px;padding:var(--s2);border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface-2);color:var(--ink);font:600 var(--text-sm) var(--font-text);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.cc-action>span[aria-hidden]{font-size:1.5rem;line-height:1}.cc-action:hover{border-color:var(--primary);background:var(--primary-soft)}.cc-action:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.cc-action .chip{padding:0 8px;font-size:.75rem}@media (width<=480px){.cc-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-start{width:100%}}.privacy-box{background:var(--primary-soft);padding:var(--s3) var(--s4);border-radius:var(--r-sm);gap:var(--s3);display:grid}.privacy-details summary{cursor:pointer;color:var(--primary-strong);align-items:center;gap:6px;min-height:32px;font-weight:700;display:flex}.privacy-details ul{margin:8px 0;padding-left:1.2em}button.blk.next{position:relative}:root[data-ui=a]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1e2c8;--surface:#fffdf8;--surface-2:#fbecd6;--ink:#2b2340;--ink-soft:#66596e;--line:#e7d6bd;--primary:#c24d29;--primary-strong:#8f3519;--primary-ink:#fff;--primary-soft:#fde1d6;--accent:#c27a00;--accent-soft:#fdeccb;--good:#2e7d4f;--good-soft:#dff1e5;--warn:#a3471f;--warn-soft:#fbe3d7;--group-a:#2e8c83;--group-b:#e58a2b;--focus:#2b59c3;--font-display:"Fraunces Variable", Georgia, serif;--font-text:"Nunito Variable", system-ui, sans-serif;--pip:#2e8c83;--star:#f2a93b;--tile-math:#ffd9a8;--tile-reading:#bfe3f5;--tile-writing:#ffc9d6;--tile-ink:#2b2340;--art-1:#c24d29;--art-2:#2e8c83;--art-3:#e2588a;--card-border:2.5px solid #2b2340;--card-shadow:4px 4px 0 #2b2340;--tile-shadow:4px 4px 0 #2b2340;--btn-border:2.5px solid #2b2340;--btn-shadow:3px 3px 0 #2b2340;--big-btn-shadow:4px 4px 0 #2b2340;--radius-card:22px}[data-ui=a] .child{background-color:var(--bg);background-image:radial-gradient(#2b234012 1.2px,#0000 1.4px);background-size:18px 18px}[data-ui=a] .big-btn{border:2.5px solid #2b2340}[data-ui=a] .bubble{border-radius:24px 24px 24px 6px}[data-ui=a] .node.done,[data-ui=a] .node.now{border:2.5px solid #2b2340}[data-ui=a] .tenframe{background:#2b2340}:root[data-ui=b]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2eeff;--surface:#fff;--surface-2:#ebe6ff;--ink:#1e1b3a;--ink-soft:#5d5878;--line:#ddd6fb;--primary:#6b4eff;--primary-strong:#4a31d6;--primary-ink:#fff;--primary-soft:#e6e0ff;--accent:#e8590c;--accent-soft:#ffe8d6;--good:#1f8a4c;--good-soft:#dcf5e6;--warn:#c2410c;--warn-soft:#ffe4d4;--group-a:#6b4eff;--group-b:#ff8a3d;--focus:#1d4ed8;--font-display:"Baloo 2 Variable", system-ui, sans-serif;--font-text:"Baloo 2 Variable", system-ui, sans-serif;--pip:#6b4eff;--star:#ffb020;--tile-math:#c2410c;--tile-reading:#0277a8;--tile-writing:#c2255c;--tile-ink:#fff;--art-1:#fff;--art-2:#ffe08a;--art-3:#ffc2d6;--art-num:#1e1b3a;--card-border:0;--card-shadow:0 6px 0 #1e1b3a14;--tile-shadow:0 7px 0 #1e1b3a38;--btn-border:0;--btn-shadow:0 5px 0 #d6cff7;--big-btn-shadow:0 6px 0 var(--primary-strong);--radius-card:28px}[data-ui=b] .child{background:var(--bg)}[data-ui=b] .domain-tile{--tile-go:#ffffff40}[data-ui=b] .dt-label{font-size:1.9rem;font-weight:800}[data-ui=b] .option[aria-pressed=true],[data-ui=b] .numpad button[aria-pressed=true]{background:var(--primary);color:#fff;box-shadow:0 5px 0 var(--primary-strong)}[data-ui=b] .icon-btn:active,[data-ui=b] .option:active,[data-ui=b] .numpad button:active{box-shadow:none;transform:translateY(4px)}[data-ui=b] .bubble{border-radius:28px 28px 28px 8px}[data-ui=b] .world-card{color:#fff}[data-ui=b] .world-card.world-jungle{background:#2f7d4f}[data-ui=b] .world-card.world-space{background:#3b3f99}[data-ui=b] .world-card.world-ocean{background:#0277a8}[data-ui=b] .world-card.world-dinosaurs{background:#9a5b1e}:root[data-ui=c]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5ef;--surface:#fff;--surface-2:#eaeee5;--ink:#26332e;--ink-soft:#5e6e67;--line:#dfe5da;--primary:#3f7a64;--primary-strong:#2c5a49;--primary-ink:#fff;--primary-soft:#e0eee7;--accent:#b7791f;--accent-soft:#f7edd9;--good:#2f7a52;--good-soft:#e1f0e6;--warn:#a65a35;--warn-soft:#f6e5dc;--group-a:#5b8db8;--group-b:#d9a441;--focus:#2b59c3;--font-display:"Lexend Variable", system-ui, sans-serif;--font-text:"Lexend Variable", system-ui, sans-serif;--pip:#3f7a64;--star:#d9a441;--tile-math:#f6e7d6;--tile-reading:#e0eaf4;--tile-writing:#f2e4ea;--tile-ink:#26332e;--art-1:#d08a4a;--art-2:#5b8db8;--art-3:#b8708b;--card-border:0;--card-shadow:0 8px 24px #26332e0f;--tile-shadow:0 8px 24px #26332e0f;--btn-border:0;--btn-shadow:0 4px 14px #26332e14;--big-btn-shadow:none;--radius-card:20px}[data-ui=c] .child{background:var(--bg)}[data-ui=c] .child-main{gap:var(--s6)}[data-ui=c] .dt-label{font-size:1.55rem;font-weight:600}[data-ui=c] .prompt,[data-ui=c] .bubble{font-weight:400}[data-ui=c] .node.now{animation:none}[data-ui=c] .domain-tile:hover,[data-ui=c] .world-card:hover{transform:none}[data-ui=c] .tenframe{background:#4d5c56}:root[data-ui=mix]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff8ee;--surface:#fff;--surface-2:#fbefdd;--ink:#23233f;--ink-soft:#5f5c75;--line:#ede1cf;--primary:#5b4bdb;--primary-strong:#3e30b0;--primary-ink:#fff;--primary-soft:#e8e5fb;--accent:#d9480f;--accent-soft:#ffe9d9;--good:#1f8a4c;--good-soft:#dcf5e6;--warn:#b4410c;--warn-soft:#ffe4d4;--group-a:#1a9bd0;--group-b:#ff7a2f;--focus:#1d4ed8;--font-display:"Fredoka Variable", system-ui, sans-serif;--font-text:"Nunito Variable", system-ui, sans-serif;--pip:#2e8c83;--star:#ffb020;--tile-math:#c2410c;--tile-reading:#0277a8;--tile-writing:#c2255c;--tile-ink:#fff;--art-1:#fff;--art-2:#ffe08a;--art-3:#ffc2d6;--art-num:#1e1b3a;--card-border:0;--card-shadow:0 5px 0 #23233f0f;--tile-shadow:0 6px 0 #23233f33;--btn-border:2px solid #ede1cf;--btn-shadow:0 4px 0 #ede1cf;--big-btn-shadow:0 5px 0 var(--primary-strong);--radius-card:26px}[data-ui=mix] .child{background:var(--bg)}[data-ui=mix] .child-main{gap:var(--s5)}[data-ui=mix] .domain-tile{--tile-go:#ffffff40}[data-ui=mix] .bubble{border-radius:26px 26px 26px 8px}[data-ui=mix] .option[aria-pressed=true],[data-ui=mix] .numpad button[aria-pressed=true]{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 0 var(--primary-strong)}[data-ui=mix] .icon-btn:active,[data-ui=mix] .option:active,[data-ui=mix] .numpad button:active{box-shadow:none;transform:translateY(3px)}[data-ui] .child.world-jungle{background-image:linear-gradient(#3c9d6b1f,#0000 260px)}[data-ui] .child.world-space{background-image:linear-gradient(#3b3f991f,#0000 260px)}[data-ui] .child.world-ocean{background-image:linear-gradient(#1a9bd01f,#0000 260px)}[data-ui] .child.world-dinosaurs{background-image:linear-gradient(#c9894a24,#0000 260px)}[data-ui=a] .child[class*=world-]{background-image:radial-gradient(#5a37191a 1.2px,#0000 1.4px);background-size:18px 18px}[data-ui=b] .child[class*=world-]{background-image:radial-gradient(#6b4eff21 1.6px,#0000 2px);background-size:22px 22px}[data-ui=c] .child[class*=world-]{background-image:none}.icon-btn.compact{min-width:52px;min-height:52px;padding:0}.summary-list{font-size:var(--text-lg);flex-direction:column;align-items:flex-start;gap:8px;margin:0;padding:0;list-style:none;display:flex}.summary-list li{align-items:center;gap:10px;display:flex}.summary-list .node{width:36px;height:36px}.design-a{--paper:#fffaf0;--cover:#8e3b2c;--cover-ink:#fbe3a7}.book-top .ribbon{background:var(--primary);color:#fff;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);font:700 1.1rem var(--font-display);letter-spacing:.02em;align-self:flex-start;margin-top:-12px;padding:14px 20px 22px}.book{background:var(--cover);perspective:1800px;border-radius:26px;grid-template-columns:1fr 1fr;width:min(1120px,100% - 32px);margin:0 auto 32px;padding:12px;display:grid;box-shadow:0 22px 40px #46230f47}.page{background:var(--paper);min-height:600px;color:var(--ink);padding:40px 44px 56px;position:relative}.page-left{background:linear-gradient(to left, #50321424, transparent 46px), var(--paper);border-radius:16px 4px 4px 16px;flex-direction:column;align-items:center;gap:24px;display:flex}.page-right{text-align:center;background:linear-gradient(to right, #50321424, transparent 46px), var(--paper);border-radius:4px 16px 16px 4px;flex-direction:column;align-items:center;gap:20px;display:flex}.narrator{background:radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--pip) 18%, var(--paper)) 0 60%, transparent 61%);border-radius:50%;place-items:center;width:190px;height:190px;display:grid}.narrator .pip svg{width:132px;height:132px}.story-text{font:500 1.65rem/1.55 var(--font-display);max-width:30ch;animation:.6s ease-out both inkIn}.story-text p{margin:0 0 .6em}.story-text p.first{min-height:3.1em;display:flow-root}.older .story-text p.first{min-height:0}.story-text p.first:first-letter{float:left;color:var(--primary);padding:6px 10px 0 0;font-size:3.3em;font-weight:700;line-height:.82}@supports (initial-letter:2) or (-webkit-initial-letter:2){.story-text p.first:first-letter{float:none;font-size:inherit;line-height:inherit;-webkit-initial-letter:2;initial-letter:2;margin-right:.06em;padding:0}}@keyframes inkIn{0%{opacity:0;filter:blur(2px)}}.folio{font:italic 600 1rem var(--font-display);color:var(--ink-soft);position:absolute;bottom:16px}.page-left .folio{left:28px}.page-right .folio{right:28px}.turn-in{transform-origin:0;animation:.6s cubic-bezier(.3,.7,.3,1) both pageTurn}@keyframes pageTurn{0%{opacity:.2;transform:rotateY(-80deg);box-shadow:-30px 0 40px #00000040}}.page-prompt{font:600 clamp(1.6rem, 3.6vw, 2.2rem)/1.25 var(--font-display);margin:0}.book-options.options .option{border:2.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff}.book-options.options .option[aria-pressed=true]{background:var(--primary-soft)}.margin-note{font-size:var(--text-lg);background:#fff3c4;border-radius:6px;align-items:center;gap:8px;margin:0;padding:10px 16px;display:flex;transform:rotate(-1deg);box-shadow:0 3px 8px #00000014}.page-links{flex-wrap:wrap;justify-content:center;gap:8px 22px;display:flex}.page-links button{all:unset;cursor:pointer;min-height:48px;font:600 1.1rem var(--font-display);color:var(--primary-strong);text-underline-offset:5px;align-items:center;gap:6px;padding:0 6px;text-decoration:underline;text-decoration-thickness:2px;display:inline-flex}.page-links button:focus-visible{outline:3px solid var(--focus);border-radius:6px}.page-links button:disabled{opacity:.5;cursor:default}.turn-btn{align-items:center;gap:10px;margin-top:auto;display:inline-flex}.stamp{width:168px;height:168px;font:700 1.7rem var(--font-display);border:6px double;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;animation:.45s cubic-bezier(.2,1.4,.4,1) both stampIn;display:flex;transform:rotate(-9deg)}.stamp.good{color:var(--good);background:color-mix(in srgb, var(--good) 8%, transparent)}.stamp.try{color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, transparent)}@keyframes stampIn{0%{opacity:0;transform:rotate(-9deg)scale(1.7)}}.book-choices{flex-direction:column;gap:14px;margin:auto 0;display:flex}.the-end{font:italic 700 clamp(2.6rem, 7vw, 3.6rem) var(--font-display);color:var(--primary-strong);margin:0}.book-home{max-width:980px}.cover{text-align:center;color:var(--cover-ink);background:radial-gradient(circle at 70% 20%, #ffffff1f, transparent 55%), var(--cover);border-radius:10px 28px 28px 10px;padding:36px 28px 32px 48px;position:relative;box-shadow:inset 22px 0 #0000002e,inset 26px 0 #ffffff14,0 18px 34px #46230f47}.cover:after{content:"";pointer-events:none;border:2px solid #fbe3a78c;border-radius:6px 18px 18px 6px;position:absolute;inset:14px 14px 14px 38px}.cover-art{justify-content:center;align-items:flex-end;gap:0;margin-bottom:8px;display:flex}.cover-art .world-art{border:4px solid var(--cover-ink);border-radius:50%}.cover-art .pip{margin-left:-34px}.cover-kicker{font:italic 500 1.2rem var(--font-display);opacity:.9;margin:0}.cover-title{font:700 clamp(2.8rem, 9vw, 4.6rem)/1 var(--font-display);color:#fff4d6;letter-spacing:.01em;margin:4px 0 6px}.cover-sub{font:italic 400 1.05rem var(--font-display);opacity:.85}.cover-actions{z-index:1;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:14px;display:flex;position:relative}.cover .big-btn{background:var(--cover-ink);color:#4a1f14;border:0;align-items:center;gap:10px;display:inline-flex;box-shadow:0 5px #c9a55a}.toc,.sticker-page{background:var(--paper);border-radius:18px;padding:28px 30px;box-shadow:0 10px 26px #46230f1f}.toc h2,.sticker-page h2{font:italic 700 1.9rem var(--font-display);text-align:center;margin-bottom:18px}.toc-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.toc-row{all:unset;box-sizing:border-box;cursor:pointer;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:64px;padding:6px 10px;display:flex}.toc-row:hover{background:#c24d2912}.toc-row:focus-visible{outline:3px solid var(--focus)}.toc-ch{font:600 .95rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);white-space:nowrap}.toc-title{font:700 1.6rem var(--font-display);white-space:nowrap}.toc-dots{border-bottom:3px dotted color-mix(in srgb, var(--ink) 35%, transparent);flex:1;min-width:20px;transform:translateY(6px)}.toc-pg{font:700 1.3rem var(--font-read)}.toc-skills{flex-wrap:wrap;gap:6px 18px;margin:4px 0 0 66px;padding:0;list-style:none;display:flex}.toc-skills li{color:var(--ink-soft);align-items:center;gap:6px;font-weight:600;display:inline-flex}.toc-skills li.done{color:var(--ink)}.toc-skills li.done svg{color:var(--star)}.toc-skills li.now{color:var(--primary-strong)}.toc-skills li.now svg{color:var(--primary)}.toc-skills li.learning svg{color:var(--good)}.toc-skills em{font:italic 600 .85rem var(--font-display);background:var(--primary-soft);border-radius:99px;padding:1px 8px}.sticker-page{background:repeating-linear-gradient(var(--paper) 0 34px, #f0e3cc 34px 36px)}.design-b{background:radial-gradient(circle at 1px 1px, #6b4eff1f 1.5px, transparent 2px) 0 0 / 22px 22px, var(--bg)}.quest-home{flex-direction:column;min-height:100dvh;display:flex}.q-top{gap:10px}.q-pill{color:#b26b00;font:800 1.3rem var(--font-display);background:#fff;border-radius:99px;align-items:center;gap:6px;margin-left:auto;padding:6px 16px;display:inline-flex;box-shadow:0 4px #e6dfff}.q-pill svg,.q-stars svg{color:var(--star)}.map-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:4px 16px 130px}.unit-banner{z-index:3;color:#fff;background:var(--tile-bg);--art-1:#fff;--art-2:#ffe08a;--art-3:#ffc2d6;--art-num:#1e1b3a;border-radius:24px;align-items:center;gap:14px;padding:14px 16px 14px 18px;display:flex;position:sticky;top:8px;box-shadow:0 6px #0000002e}.unit-banner b{font:800 1.7rem/1.1 var(--font-display);display:block}.unit-banner span{opacity:.92;font-weight:700}.unit-banner>div{flex:1}.banner-play{color:#fff;cursor:pointer;background:#ffffff40;border:0;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.map{flex-direction:column;align-items:center;gap:30px;margin:0;padding:34px 0 10px;list-style:none;display:flex}.lvl{transform:translateX(var(--x,0));flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.lvl-btn{cursor:pointer;color:#fff;background:var(--lvl,#d9d4ef);width:82px;height:76px;box-shadow:0 8px 0 var(--lvl-edge,#bcb5dd);border:0;border-radius:50%;place-items:center;transition:transform .1s;display:grid}.lvl-btn:active:not(:disabled){box-shadow:0 2px 0 var(--lvl-edge);transform:translateY(6px)}.lvl.done{--lvl:#ffb020;--lvl-edge:#d68a00}.lvl.now{--lvl:var(--primary);--lvl-edge:var(--primary-strong)}.lvl.now .lvl-btn{width:96px;height:88px;box-shadow:0 8px 0 var(--lvl-edge), 0 0 0 10px color-mix(in srgb, var(--primary) 18%, transparent)}.lvl.learning{--lvl:#22a06b;--lvl-edge:#157a50}.lvl.later .lvl-btn{color:#8d86ad;cursor:not-allowed}.lvl.chest .lvl-btn{--lvl:#ffd36b;--lvl-edge:#d9a53a;color:#8a5a00;cursor:default;width:96px;height:88px}.lvl-name{font:700 .98rem/1.2 var(--font-display);text-align:center;background:#fff;border-radius:99px;max-width:160px;padding:3px 12px;box-shadow:0 3px #e6dfff}.lvl-pip{animation:2.2s ease-in-out infinite bob;position:absolute;top:4px;right:calc(100% + 10px)}.lvl.now.right .lvl-pip{left:calc(100% + 10px);right:auto}.lvl-start{z-index:1;color:var(--primary-strong);font:800 1rem var(--font-display);text-transform:uppercase;letter-spacing:.06em;background:#fff;border:2px solid #e6dfff;border-radius:12px;padding:4px 14px;animation:1.4s ease-in-out infinite bob;position:absolute;top:-34px}.lvl-start:after{content:"";border:7px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.q-stickers{text-align:center;padding-top:12px}.tabbar{z-index:20;padding:8px 8px calc(8px + env(safe-area-inset-bottom));--art-1:var(--group-b);--art-2:var(--primary);--art-3:#d6336c;--art-num:#fff;background:#fff;border-top:2px solid #e6dfff;justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{cursor:pointer;max-width:150px;min-height:64px;font:700 .95rem var(--font-display);color:var(--ink-soft);filter:grayscale(.7);opacity:.8;background:0 0;border:2px solid #0000;border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;display:flex}.tabbar button[aria-current=page]{background:var(--primary-soft);color:var(--primary-strong);filter:none;opacity:1;border-color:#cfc4ff}.tab-ico{color:var(--star)}.q-hud{align-items:center;gap:14px;width:100%;max-width:760px;margin:0 auto;padding:14px 16px 6px;display:flex}.q-close{width:52px;height:52px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.q-close:hover{background:#0000000d}.q-bar{background:#e2dcff;border-radius:99px;flex:1;height:22px;overflow:hidden}.q-bar span{background:linear-gradient(#9b88ff, var(--primary));border-radius:99px;min-width:22px;height:100%;transition:width .5s cubic-bezier(.3,1.3,.5,1);display:block;box-shadow:inset 0 -5px #0000001f,inset 0 5px #ffffff4d}.q-stars{font:800 1.35rem var(--font-display);color:#b26b00;align-items:center;gap:4px;display:inline-flex}.q-main{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:760px;margin:0 auto;padding:10px 16px 36px;display:flex}.q-main.has-sheet{padding-bottom:320px}.q-coach{align-items:center;gap:10px;width:100%;display:flex}.q-say{border:2px solid var(--line);font:600 1.2rem/1.4 var(--font-display);background:#fff;border-radius:20px;flex:1;padding:10px 16px;position:relative}.q-say p{margin:0}.q-say:before{content:"";border-left:2px solid var(--line);border-bottom:2px solid var(--line);background:#fff;width:16px;height:16px;position:absolute;top:50%;left:-10px;transform:translateY(-50%)rotate(45deg)}.q-prompt{font:800 clamp(1.6rem, 4.6vw, 2.25rem)/1.2 var(--font-display);text-align:center;margin:4px 0 0}.q-card{text-align:center;background:#fff;border-radius:28px;flex-direction:column;align-items:center;gap:14px;width:100%;padding:22px 18px;display:flex;box-shadow:0 6px #1e1b3a14}.q-choices.options{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));max-width:640px}.q-choices .option{border:3px solid #ddd6fb;border-radius:22px;min-height:108px;box-shadow:0 6px #ddd6fb}.q-choices.numpad button{border:3px solid #ddd6fb;border-radius:18px;box-shadow:0 5px #ddd6fb}.q-tools{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.q-tools .icon-btn{min-height:56px;font-size:1.2rem}.q-tag{color:#6b4a00;font:800 .9rem var(--font-display);text-transform:uppercase;letter-spacing:.08em;background:#ffe08a;border-radius:8px;align-self:flex-start;padding:4px 12px}.q-actions{flex-direction:column;gap:12px;width:100%;max-width:420px;display:flex}.q-panel{flex-direction:column;align-items:center;gap:22px;width:100%;padding-top:30px;display:flex}.q-sheet{z-index:30;padding:22px max(16px, calc(50vw - 380px)) calc(22px + env(safe-area-inset-bottom));font:600 1.25rem/1.4 var(--font-display);border-radius:28px 28px 0 0;animation:.38s cubic-bezier(.2,1.1,.3,1) both sheetUp;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0000001f}.q-sheet.good{color:#24560a;background:#dcffc4}.q-sheet.try{color:#8a2f0b;background:#ffe3d2}.q-sheet p{margin:0 0 6px}.q-sheet-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.q-sheet-head b{font:800 1.9rem var(--font-display)}.q-badge{background:#fff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.q-solution{margin:4px 0 10px;padding-left:1.3em;font-size:1.1rem}.q-continue{width:100%;margin-top:10px}.q-sheet.good .q-continue{background:#2f8a00;box-shadow:0 5px #1f5c00}.q-sheet.try .q-continue{background:#c2410c;box-shadow:0 5px #8a2f0b}@keyframes sheetUp{0%{transform:translateY(100%)}}.q-end{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:520px;padding-top:18px;display:flex}.q-end h1{font:800 2.4rem var(--font-display);color:var(--primary-strong);margin:0}.q-end-say{margin:0;font-size:1.2rem}.trophy{color:#8a5a00;background:radial-gradient(circle, #ffe08a 0 55%, transparent 56%), repeating-conic-gradient(#ffd36b 0 12deg, transparent 12deg 24deg);border-radius:50%;place-items:center;width:150px;height:150px;animation:.5s cubic-bezier(.2,1.4,.4,1) both stampIn;display:grid}.q-stats{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.q-stats div{background:#fff;border:3px solid #e6dfff;border-radius:18px;flex-direction:column;padding:10px 6px;display:flex}.q-stats b{font:800 2rem var(--font-display);color:var(--primary-strong)}.q-stats span{color:var(--ink-soft);font-weight:700}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-head{z-index:5;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px max(16px,50vw - 380px);display:flex;position:sticky;top:0}.chat-who{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.chat-who>div{min-width:0}.chat-who b{font:600 1.2rem var(--font-display);display:block}.chat-who small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;display:block;overflow:hidden}.chat-head .pip svg{width:46px;height:46px}.chat-log{flex-direction:column;flex:1;gap:10px;width:100%;max-width:760px;margin:0 auto;padding:20px 16px 24px;display:flex}.msg{max-width:min(580px,86%);font:400 1.3rem/1.45 var(--font-display);border-radius:24px;padding:12px 18px;animation:.4s ease-out both msgIn}.msg p{margin:0}.msg p+p{margin-top:6px}.msg.pip{background:var(--surface);border-bottom-left-radius:8px;align-self:flex-start;box-shadow:0 2px 10px #26332e0f}.msg.me{background:var(--primary);color:var(--primary-ink);font:700 1.6rem var(--font-read);border-bottom-right-radius:8px;align-self:flex-end;padding:10px 22px}.msg.pip.good{background:var(--good-soft)}.msg.pip.try{background:var(--accent-soft)}.msg.card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:min(580px,100%);max-width:100%;padding:20px 16px;display:flex}.msg.card .prompt{font-size:var(--text-xl);margin:0}@keyframes msgIn{0%{opacity:0;transform:translateY(10px)}}.chat-replies{z-index:5;padding:14px max(16px, calc(50vw - 380px)) calc(14px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:10px;display:flex;position:sticky;bottom:0}.reply-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.reply{border:2px solid var(--primary);background:var(--surface);min-height:60px;color:var(--primary-strong);font:600 1.2rem var(--font-display);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;display:inline-flex}.reply.main{background:var(--primary);color:var(--primary-ink)}.reply.with-art{--art-1:#fff;--art-2:#ffe08a;--art-3:#ffc2d6;--art-num:#26332e;padding-left:14px}.reply.small{border-color:var(--line);min-height:50px;color:var(--ink-soft);font-size:1.05rem}.reply:disabled{opacity:.5}.reply-choices.options{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;max-width:720px}.reply-choices .option{border:2px solid var(--primary);background:var(--surface);min-height:76px;color:var(--primary-strong);box-shadow:none;font-size:var(--text-xl);border-radius:999px}.reply-choices .option.small-objs{border-radius:28px}.reply-choices .option[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.reply-choices.numpad{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:8px;max-width:720px}.reply-choices.numpad button{border:2px solid var(--primary);background:var(--surface);min-height:64px;color:var(--primary-strong);box-shadow:none;border-radius:999px;font-size:1.5rem}.msg.garden{text-align:left;align-items:stretch}.bed{flex-direction:column;gap:6px;display:flex}.bed-name{font:600 1.05rem var(--font-display);--art-1:var(--group-b);--art-2:var(--group-a);--art-3:#b8708b;--art-num:#fff;align-items:center;gap:8px;display:inline-flex}.bed-row{background:linear-gradient(#0000 70%,#e3d5bf 70%),#f6f0e4;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:4px;min-height:46px;padding:6px 12px;display:flex}.plant{place-items:end center;height:34px;display:inline-grid}.plant.done{color:#c2557d}.plant.now,.plant.learning{color:#3f7a64}.plant.later{color:#b7a385}.plant.now svg{transform-origin:bottom;animation:2.6s ease-in-out infinite sway}@keyframes sway{50%{transform:rotate(6deg)}}@media (width<=860px){.book{grid-template-columns:1fr;width:calc(100% - 16px);padding:8px}.page{min-height:0;padding:22px 18px 40px}.page-left{background:linear-gradient(to top, #5032141f, transparent 30px), var(--paper);border-radius:16px 16px 4px 4px;flex-direction:row;align-items:center;gap:12px;padding-bottom:22px}.page-left .folio{display:none}.narrator{flex:none;width:86px;height:86px}.narrator .pip svg{width:72px;height:72px}.story-text{max-width:none;font-size:1.25rem}@supports not (initial-letter:2){.story-text p.first:first-letter{font-size:2.4em}}.page-right{background:linear-gradient(to bottom, #5032141f, transparent 30px), var(--paper);border-radius:4px 4px 16px 16px;min-height:380px}.turn-in{transform-origin:top;animation-name:pageFlipUp}@keyframes pageFlipUp{0%{opacity:.2;transform:rotateX(70deg)}}.toc{padding:20px 14px}.toc-row{flex-wrap:wrap;gap:4px 10px}.toc-ch{order:-1;width:100%;margin-bottom:-10px;padding-left:56px}.toc-title{font-size:1.35rem}.toc-skills{margin-left:10px}.cover{padding:28px 18px 26px 36px}}@media (width<=560px){.lvl{transform:translateX(calc(var(--x,0) * .6))}.unit-banner b{font-size:1.35rem}.q-hud{gap:8px;padding:10px 10px 4px}.q-choices .option{min-height:88px}.msg{font-size:1.15rem}.reply{min-height:54px;padding:0 18px;font-size:1.05rem}.chat-head .top-actions .icon-btn.compact{min-width:46px;min-height:46px}.tabbar button span:last-child{font-size:.8rem}}.map-home{max-width:1000px}.world-jungle{--hero:#2f8a5b}.world-space{--hero:#4b50b8}.world-ocean{--hero:#1583b5}.world-dinosaurs{--hero:#b8743a}.welcome-card{--h:var(--hero,#c85a32);background:linear-gradient(135deg, color-mix(in srgb, var(--h) 32%, #fff) 0%, color-mix(in srgb, var(--h) 12%, #fff) 100%);border:2px solid color-mix(in srgb, var(--h) 40%, #fff);box-shadow:0 8px 24px color-mix(in srgb, var(--h) 18%, transparent);color:var(--ink);border-radius:24px;flex-direction:column;gap:16px;padding:24px;display:flex}.wc-row{align-items:center;gap:18px;display:flex}.wc-pip{flex:none;display:flex}.wc-bubble{border:2px solid color-mix(in srgb, var(--h) 30%, #fff);box-shadow:0 3px 0 color-mix(in srgb, var(--h) 22%, #fff);text-align:left;background:#fff;border-radius:20px;flex:1;padding:16px 20px;position:relative}.wc-bubble:before{content:"";border-left:2px solid color-mix(in srgb, var(--h) 30%, #fff);border-bottom:2px solid color-mix(in srgb, var(--h) 30%, #fff);background:#fff;width:18px;height:18px;position:absolute;top:50%;left:-11px;transform:translateY(-50%)rotate(45deg)}.welcome-card h1{color:var(--ink);margin:0 0 4px;font-size:clamp(1.4rem,3.6vw,1.9rem);line-height:1.2}.welcome-card p{color:#3a4a50;margin:0;font-size:1.1rem}.welcome-card .cover-actions{flex-wrap:nowrap;align-items:center;gap:12px;margin-top:0}.welcome-card .cover-actions .big-btn{text-align:left;flex:0 auto;align-items:center;gap:10px;min-width:0;min-height:64px;padding:10px 28px;line-height:1.15;display:inline-flex}.welcome-card .cover-actions .big-btn svg{flex:none}.welcome-card .cover-actions .icon-btn{flex:none;width:64px;min-width:64px;height:64px;min-height:64px;padding:0}.welcome-card .big-btn{color:#fff;background:#9c3f1e;border-color:#9c3f1e;box-shadow:0 5px #6a2812}.welcome-card .big-btn:hover{background:#87361a}.welcome-card .icon-btn{color:#9c3f1e;border-color:color-mix(in srgb, var(--h) 40%, #fff);background:#fff}@media (width<=560px){.wc-row{flex-direction:column;gap:14px}.wc-bubble{text-align:center}.welcome-card{padding:18px 16px}.welcome-card .cover-actions .big-btn{padding:0 18px;font-size:1.1rem}.wc-bubble:before{top:-11px;left:50%;transform:translate(-50%)rotate(135deg)}}.map-title{margin:8px 0 12px;font-size:1.5rem}.chapter-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:16px;padding:20px}.chapter-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chapter-header h3{margin:0;font-size:1.25rem}.chapter-badge{text-transform:uppercase;letter-spacing:.06em;color:#c85a32;font-size:.8rem;font-weight:800}.progress-pill{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:700}.skill-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-rows:1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}.skill-item{display:flex}.skill-item .skill-btn{background:var(--bg);width:100%;height:100%;min-height:84px;font:inherit;color:inherit;text-align:left;border:2px solid #0000;border-radius:14px;grid-template-columns:12px 1fr;align-content:center;align-items:center;gap:8px 12px;padding:14px 16px;display:grid}.skill-item button.skill-btn{cursor:pointer;background:#fff4ee;border-color:#c85a32}.skill-item button.skill-btn:hover{background:#ffe8dc}.sk-label{font-weight:600;line-height:1.25}.skill-btn .sk-badge{grid-column:2;justify-self:start}.status-dot{background:#bdbdbd;border-radius:50%;flex:none;width:12px;height:12px}.status-dot.mastered{background:#3f9b47}.status-dot.learning{background:#e88a1a}.status-dot.likely{background:#6b9bd1}.sk-badge{color:#3d3d3d;white-space:nowrap;background:#f1f1f1;border:1.5px solid #c9c9c9;border-radius:999px;padding:4px 10px;font-size:.875rem;font-weight:800}.sk-badge.mastered{color:#1e4d26;background:#dff0d8;border-color:#7fb98a}.sk-badge.learning{color:#6e3a0c;background:#ffe9cc;border-color:#e9a95c}.sk-badge.likely{color:#1f4268;background:#e3edf8;border-color:#8fb1d8}.skill-item.now .sk-badge,.sk-badge.next{color:#fff;background:#9c3f1e;border-color:#9c3f1e}.chapter-go{color:#a84622;min-height:60px;font:700 1rem var(--font-child);cursor:pointer;background:#fff;border:2px solid #c85a32;border-radius:999px;align-items:center;gap:8px;margin-top:18px;padding:0 24px;display:inline-flex}@media (width<=560px){.skill-grid{grid-template-columns:1fr}}.trail{--gap:32px;--link:#d6c9b8;--link-done:#3f9b47;gap:var(--gap);grid-auto-rows:1fr;margin:0;padding:4px 0;list-style:none;display:grid}.trail-stop{display:flex;position:relative}.trail-stop:after{content:"";pointer-events:none;position:absolute}.trail-stop.to-r:after,.trail-stop.to-l:after{width:var(--gap);border-top:4px dashed var(--link);top:50%;transform:translateY(-50%)}.trail-stop.to-r:after{left:100%}.trail-stop.to-l:after{right:100%}.trail-stop.to-d:after{height:var(--gap);border-left:4px dashed var(--link);top:100%;left:50%;transform:translate(-50%)}.trail-stop.link-done:after{border-style:solid;border-color:var(--link-done)}.stop-card{background:var(--bg);border:2px solid var(--line);width:100%;min-height:108px;font:inherit;color:inherit;text-align:left;border-radius:18px;grid-template-rows:auto auto;grid-template-columns:40px 1fr;align-content:center;align-items:center;gap:8px 12px;padding:14px 16px;display:grid}.stop-card .trail-node{grid-row:1/span 2}.stop-card .sk-badge{grid-column:2;justify-self:start}.trail-node{width:40px;height:40px;font:800 1.05rem var(--font-display);color:#6b6b6b;background:#fff;border:3px solid #cfc3b3;border-radius:50%;place-items:center;display:grid}.trail-node.done{color:#fff;background:#3f9b47;border-color:#3f9b47}.trail-node.learning{color:#6e3a0c;background:#ffe9cc;border-color:#e88a1a}.trail-node.now{color:#fff;background:#9c3f1e;border-color:#9c3f1e}.trail-stop.done .stop-card{background:#f1f8ee;border-color:#b9dcb9}.trail-stop.now .stop-card{cursor:pointer;background:#fff4ee;border:3px solid #c85a32;transition:transform .15s,box-shadow .15s;box-shadow:0 4px #e3b9a4}.trail-stop.now .stop-card:hover{transform:translateY(-3px);box-shadow:0 7px #e3b9a4}.trail-stop.now .stop-card:active{transform:translateY(2px);box-shadow:0 2px #e3b9a4}.trail-stop.now .trail-node{animation:1.6s ease-out 3 nodePulse}@media (width<=560px){.trail{--gap:22px}.stop-card{min-height:88px}}.older{--font-display:"Lexend Variable", "Nunito Variable", system-ui, sans-serif}.older .story-text{font-size:1.3rem;font-weight:400}.older .story-text p.first:first-letter{float:none;font-size:inherit;color:inherit;font-weight:inherit;-webkit-initial-letter:normal;initial-letter:normal;margin:0;padding:0}.older .book-top .ribbon{display:none}.older .folio{font-size:.85rem;font-style:normal}.older .page-prompt{font-weight:500}.older .big-btn,.older .check-card,.older .chapter-card,.older .welcome-card,.older .sticker-page{box-shadow:0 1px 3px #0000001f}.older .big-btn,.older .check-card{border-width:2px}.older .welcome-card h1{letter-spacing:0;font-weight:600}.older .toc h2,.older .sticker-page h2{font-style:normal;font-weight:600}.older .the-end{font-style:normal}.choose{margin:16px 0}.choose-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.choose-btn{text-align:left;border:2px solid var(--line);background:var(--surface,#fff);min-height:64px;color:var(--ink);cursor:pointer;font:inherit;border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.choose-btn strong{font-size:1.05rem}.choose-btn small{color:var(--ink-soft)}.choose-btn:hover,.choose-btn:focus-visible{border-color:var(--primary)}.passage{text-align:left;color:#1d2b2f;border:1px solid var(--line);background:#fffdf8;border-radius:14px;width:min(36rem,100%);max-height:46vh;padding:14px 18px;overflow-y:auto;box-shadow:inset 0 -8px 8px -8px #00000014}.passage h3{font:700 1.15rem var(--font-display);margin:0 0 6px}.passage p{font:400 1.12rem/1.65 var(--font-read,var(--font-text));margin:0}.landing{--l-max:1200px;overflow-x:hidden}.l-nav{max-width:var(--l-max);padding:var(--s4) var(--s4) 0;z-index:2;justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:relative}.l-brand{align-items:center;gap:var(--s2);font:700 var(--text-lg) var(--font-display);display:inline-flex}.l-hero{padding:var(--s6) var(--s4) var(--s7);position:relative}.l-hero:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 70% at 85% 30%, var(--primary-soft), transparent 70%), radial-gradient(45% 60% at 10% 80%, var(--accent-soft), transparent 70%);position:absolute;inset:0}.l-hero-in{z-index:1;max-width:var(--l-max);gap:var(--s7);grid-template-columns:1.1fr .9fr;align-items:center;margin:0 auto;display:grid;position:relative}.l-kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:var(--text-xs);margin-bottom:var(--s3)}.l-hero h1{font:700 var(--text-hero)/1.05 var(--font-display);letter-spacing:-.02em;margin-bottom:var(--s4)}.l-why{z-index:0;color:var(--primary);white-space:nowrap;position:relative}.l-why:after{content:"";background:var(--accent);opacity:.45;z-index:-1;transform-origin:0;border-radius:99px;height:.22em;animation:1s ease-out .4s both underline;position:absolute;bottom:.04em;left:-2%;right:-2%}@keyframes underline{0%{transform:scaleX(0)}}.l-sub{font-size:var(--text-lg);color:var(--ink-soft);max-width:36ch}.l-ctas{gap:var(--s3);margin:var(--s5) 0 var(--s4);flex-wrap:wrap;display:flex}.l-big{min-height:56px;padding:0 var(--s5);font-size:var(--text-md);border-radius:var(--r-pill);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.l-ticks{gap:var(--s2) var(--s4);color:var(--ink-soft);flex-wrap:wrap;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.l-ticks li:before{content:"✓ ";color:var(--good);font-weight:800}.l-demo{align-items:center;gap:var(--s3);flex-direction:column;display:flex}.l-phone{background:#1d2b2f;border-radius:36px;width:min(340px,100%);padding:12px;transform:rotate(2deg);box-shadow:0 24px 60px #1d2b2f40}.l-screen{min-height:380px;padding:var(--s5) var(--s4);align-items:center;gap:var(--s4);color:#1d2b2f;background:linear-gradient(#e7f3e2,#fff);border-radius:26px;flex-direction:column;display:flex;position:relative}.l-q{font:700 1.6rem var(--font-display);margin:var(--s3) 0 0;text-align:center}.l-tap{min-width:96px;min-height:80px;font:700 2.2rem var(--font-display);background:#fff;border:3px solid #e3dbcf;border-radius:22px;place-items:center;transition:transform .2s,background .3s,border-color .3s;display:grid;position:relative}.l-tap.on{transform:scale(.94)}.l-tap.good{background:#e0f2e7;border-color:#2c7a4b;transform:scale(1.05)}.l-tap.try{background:#fdebd8;border-color:#e8893a;animation:.4s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.l-finger{font-size:2rem;animation:.4s ease-out press;position:absolute;bottom:-22px;right:-18px}@keyframes press{0%{opacity:0;transform:translate(20px,20px)}}.l-speed{color:#fff;background:#c2255c;border-radius:99px;padding:2px 10px;font-size:.85rem;font-weight:800;animation:.3s both popIn;position:absolute;top:96px;right:24px}.l-pip{align-items:flex-end;gap:var(--s2);--pip:#1f6f78;width:100%;margin-top:auto;display:flex}.l-bubble{padding:var(--s3);font:600 1rem/1.35 var(--font-text);background:#fff;border-radius:18px 18px 18px 4px;flex:1;margin:0;box-shadow:0 2px 8px #00000014}.l-pip.show .l-bubble{animation:.35s ease-out both popIn}.l-tag{text-align:center;max-width:30ch;min-height:2.6em;margin:0;font-weight:700;animation:.4s ease-out both popIn}.l-dots{gap:var(--s2);display:flex}.l-dots button{background:var(--line);cursor:pointer;border:0;border-radius:6px;width:12px;height:12px;padding:0;transition:width .2s}.l-dots button[aria-selected=true]{background:var(--primary);width:28px}.l-section{max-width:var(--l-max);padding:var(--s7) var(--s4);margin:0 auto}.l-eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:var(--text-xs);margin:0 0 var(--s2)}.l-section h2{font:700 clamp(1.8rem, 4vw, 2.6rem)/1.15 var(--font-display);max-width:26ch}.l-lead{color:var(--ink-soft);font-size:var(--text-lg);max-width:60ch}.l-pains{gap:var(--s5);margin-top:var(--s6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.l-pain{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-lg);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.l-pain:hover{box-shadow:var(--shadow);transform:translateY(-4px)rotate(-.4deg)}.l-pain-top{gap:var(--s3);padding:var(--s5) var(--s5) var(--s4);flex:1;display:flex}.l-ico{background:var(--warn-soft);border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:1.7rem;display:grid}.l-pain h3{font:700 var(--text-lg) var(--font-display);margin-bottom:var(--s2)}.l-detail{color:var(--ink-soft);margin-bottom:var(--s2)}.l-src{font-size:var(--text-xs);color:var(--ink-soft);margin:0;font-style:italic}.l-fix{background:var(--good-soft);padding:var(--s4) var(--s5);border-top:2px dashed var(--line)}.l-fix strong{color:var(--good);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.05em}.l-fix p{margin:var(--s1) 0 0;font-weight:600}.l-steps{margin:var(--s6) 0;gap:var(--s5);grid-template-columns:repeat(3,1fr);padding:0;list-style:none;display:grid}.l-steps li{background:var(--surface);border-radius:var(--r-lg);padding:var(--s5);border:2px solid var(--line)}.l-num{background:var(--primary);width:44px;height:44px;color:var(--primary-ink);font:700 1.3rem var(--font-display);margin-bottom:var(--s3);border-radius:50%;place-items:center;display:grid}.l-steps p{color:var(--ink-soft);margin:0}.l-fun{gap:var(--s4);grid-template-columns:repeat(4,1fr);display:grid}.l-fun>div{padding:var(--s4);border-radius:var(--r-lg);background:var(--accent-soft);flex-direction:column;gap:4px;display:flex}.l-fun span{font-size:2.2rem;display:inline-block}.l-fun small{color:var(--ink-soft)}.l-fun>div:nth-child(2) span{transform-origin:bottom;width:fit-content;animation:2.4s ease-in-out infinite eggRock}.l-join{gap:var(--s7);grid-template-columns:.9fr 1.1fr;align-items:start;display:grid}.l-join-copy{top:var(--s5);position:sticky}.l-form{width:100%;max-width:520px}.l-foot{max-width:var(--l-max);padding:var(--s5) var(--s4) var(--s7);border-top:1px solid var(--line);margin:0 auto}@media (width<=900px){.l-hero-in,.l-join{gap:var(--s6);grid-template-columns:1fr}.l-steps,.l-fun{grid-template-columns:1fr 1fr}.l-join-copy{position:static}}@media (width<=560px){.l-hero{padding-top:var(--s4)}.l-steps,.l-fun,.l-pains{grid-template-columns:1fr}.l-phone{transform:none}}@media (width>=900px){.l-pains{grid-template-columns:repeat(3,1fr)}.l-pain:last-child:nth-child(3n+1){flex-direction:row;grid-column:1/-1}.l-pain:last-child:nth-child(3n+1)>*{flex:1}.l-pain:last-child:nth-child(3n+1) .l-fix{border-top:0;border-left:2px dashed var(--line);flex-direction:column;justify-content:center;display:flex}}.l-hero{padding:var(--s4) var(--s4) var(--s6)}.l-hero-in{gap:var(--s6);align-items:start}.l-hero h1{margin-bottom:var(--s2);font-size:clamp(2.1rem,4.2vw,3.3rem)}.l-sub{font-size:var(--text-md);max-width:48ch;margin-bottom:var(--s4)}.l-kicker{margin-bottom:var(--s2)}.l-vs{border-radius:var(--r-lg);border:2px solid var(--line);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.l-vs-head,.l-vs-row{grid-template-columns:1fr 1.25fr;display:grid}.l-vs-head span{padding:var(--s2) var(--s4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.l-vs-head span:first-child{color:var(--warn);background:var(--warn-soft)}.l-vs-head span:last-child{color:var(--good);background:var(--good-soft)}.l-vs-row{color:inherit;border-top:1px solid var(--line);text-decoration:none;transition:background .15s;animation:.45s ease-out both rowIn}.l-vs-row:hover{background:var(--surface-2)}.l-vs-row>span{padding:9px var(--s4);font-size:var(--text-sm);line-height:1.35}.l-them{color:var(--ink-soft)}.l-them>span{color:var(--warn);margin-right:4px;font-weight:800}.l-us{background:color-mix(in srgb, var(--good-soft) 45%, transparent);font-weight:700}.l-us>span{color:var(--good);margin-right:4px;font-weight:900}@keyframes rowIn{0%{opacity:0;transform:translate(-10px)}}.l-ctas{margin:var(--s4) 0 0}.l-big{min-height:52px}.l-demo{padding-top:var(--s5)}.l-screen{min-height:330px}.l-pain{scroll-margin-top:var(--s5)}.l-pain:target{outline:3px solid var(--primary);outline-offset:3px}@media (width<=560px){.l-vs-head,.l-vs-row{grid-template-columns:1fr}.l-vs-head span:first-child{display:none}.l-vs-head span:last-child:before{content:"Most kids' apps ✕ → ";color:var(--warn)}.l-vs-row>span{padding:4px var(--s3)}.l-vs-row .l-them{text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--warn) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--warn) 60%, transparent);padding-top:10px}.l-vs-row .l-us{background:0 0;padding-bottom:10px}}@media (width>=901px){.l-hero-in{grid-template-columns:1.35fr .65fr}.l-vs-head,.l-vs-row{grid-template-columns:.85fr 1.15fr}.l-vs-row>span{padding:7px var(--s4)}}.l-demo-note{font-size:var(--text-xs);color:var(--ink-soft);text-align:center;max-width:32ch;margin:0}.l-after{gap:var(--s6);grid-template-columns:1fr 1fr;padding-top:0;display:grid}.l-after-list{margin:var(--s3) 0 0;gap:var(--s3);font-size:var(--text-md);padding-left:1.3em;display:grid}.l-meaning{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}.l-meaning ul{margin:var(--s3) 0;gap:var(--s2);padding-left:1.2em;display:grid}@media (width<=900px){.l-after{grid-template-columns:1fr}}.l-parents{padding-top:var(--s5)}.l-two{gap:var(--s5);margin:var(--s5) 0 var(--s3);grid-template-columns:1fr 1fr;display:grid}.l-feature{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);gap:var(--s3);flex-direction:column;display:flex}.l-feature h3{font:700 var(--text-lg) var(--font-display);margin:0}.l-feature>p{color:var(--ink-soft);margin:0}.l-book{color:#1d2b2f;padding:var(--s4);text-align:center;background:#fffdf7;border-radius:14px;margin-top:auto;transform:rotate(-1deg);box-shadow:0 1px #e3dbcf,0 6px 0 -2px #f1e9dc,0 8px 18px #1d2b2f1f}.l-book-emoji{font-size:3rem;display:block}.l-book-text{font:700 1.6rem/1.3 var(--font-display);margin:var(--s2) 0}.l-book-meta{font-size:var(--text-xs);color:#5b6b6e;margin:0}.l-coach{padding:var(--s4);background:var(--surface-2,var(--surface));border:1px solid var(--line);border-radius:14px;margin-top:auto}.l-coach-h{margin:0 0 var(--s2);font-weight:800}.l-coach-h span{color:var(--ink-soft);font-weight:600}.l-coach-q{margin:0 0 var(--s3);border-left:3px solid var(--primary);padding-left:12px}.l-coach-n{padding:var(--s3);background:var(--warn-soft);font-size:var(--text-sm);border-radius:10px;margin:0}@media (width<=760px){.l-two{grid-template-columns:1fr}}.l-hero h1{font-size:clamp(2.3rem,5vw,3.8rem)}.l-sub{font-size:var(--text-lg);max-width:40ch}.l-trust{margin:var(--s4) 0 0;gap:var(--s2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.l-trust li{border-radius:var(--r-pill);background:var(--good-soft);color:var(--good);font-weight:700;font-size:var(--text-sm);padding:4px 12px}.l-trust li:before{content:"✓ "}.l-benefits{gap:var(--s4);grid-template-columns:repeat(4,1fr);padding-top:0;display:grid}.l-benefit{background:var(--surface);border:2px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}.l-benefit-ico{background:var(--accent-soft);width:56px;height:56px;margin-bottom:var(--s3);border-radius:18px;place-items:center;font-size:1.8rem;display:grid}.l-benefit h3{font:700 var(--text-lg) var(--font-display);margin:0 0 var(--s1)}.l-benefit p{color:var(--ink-soft);margin:0}.l-how{padding-top:var(--s5)}.l-how .l-steps{margin-bottom:0}.l-research details{border-top:1px solid var(--line);padding-top:var(--s4)}.l-research summary{cursor:pointer;color:var(--primary);font-weight:700;font-size:var(--text-md)}.l-research .l-meaning{margin-top:var(--s5)}@media (width<=900px){.l-benefits{grid-template-columns:1fr 1fr}}@media (width<=560px){.l-benefits{grid-template-columns:1fr}.l-sub{font-size:var(--text-md)}}
