@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/dm-sans.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url('./fonts/nunito.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#344c3e;--muted:#788071;--green:#577959;--deep:#456b4c;--cream:#f7f8f2;--border:#e6e9dc;--round:22px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none;font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{transition:transform .18s,background .18s,box-shadow .18s}button:hover{transform:translateY(-2px)}button:active{transform:translateY(0)}button:disabled{cursor:default;opacity:.5;transform:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #c58239;outline-offset:4px}button[hidden],[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.table-number,.quiz-fact,.large-fact{font-family:'Nunito',sans-serif}h1{font-size:42px;line-height:1.16;letter-spacing:-1.2px;font-weight:900}h1:focus{outline:none}h2{font-size:24px;line-height:1.3;font-weight:800;letter-spacing:-.5px}h3{font-size:18px;font-weight:800}p{color:var(--muted)}a{color:inherit;text-decoration:none}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}#app{display:flex;min-height:100vh}.sidebar{width:240px;position:fixed;inset:0 auto 0 0;background:#fbfcf7;border-right:1px solid var(--border);padding:38px 23px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-weight:900;font-size:21px;line-height:1.1}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:4px;margin-top:7px;font-weight:700}.brand-icon{display:grid;place-items:center;background:#e0e9ca;color:#678459;width:43px;height:48px;border-radius:15px;transform:rotate(-5deg)}.brand-icon .icon{width:29px;height:29px}.sidebar-label{font-size:8px;letter-spacing:1.4px;color:#929889;margin:49px 10px 17px;white-space:nowrap}.sidebar nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;border-radius:12px;width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:15px 14px;font-size:12px;font-weight:600;color:#7b8375;min-height:49px}.nav-item .icon{width:19px;height:19px}.nav-item:hover{background:#f0f3e7}.nav-item.active{background:#eaf0db;color:#526d44;font-weight:700}.nav-dot{background:#779b64;width:6px;height:6px;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:80px}.finn-note{position:relative;padding:75px 18px 20px;border-radius:17px;background:#f1f4e8;text-align:center}.mini-fox{width:100px;height:107px;position:absolute;top:-36px;left:50%;transform:translateX(-50%)}.mini-fox .fox{width:100%;height:100%}.finn-note strong{font-family:'Nunito';font-size:17px;line-height:1.4}.finn-note p{font-size:10px;margin-top:8px}.parent-link{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:22px 4px 16px;font-size:11px;color:#747e6a}.parent-link .icon{width:17px;height:17px}.parent-link .icon:last-child{margin-left:auto;width:14px}.local-note{display:block;text-align:center;font-size:9px;color:#a5aa9b}.main-shell{width:calc(100% - 240px);margin-left:240px}.topbar{height:87px;border-bottom:1px solid var(--border);padding:0 43px;display:flex;align-items:center;justify-content:space-between;background:#fafbf6}.breadcrumb{color:#929889;font-size:11px}.breadcrumb span{margin:0 11px;color:#c2c7b8}.breadcrumb strong{color:#616e5b;font-weight:500}.top-actions{display:flex;gap:17px;align-items:center}.star-counter{font-size:11px;color:#777c69;display:flex;gap:5px;align-items:center}.star-counter .icon{width:17px;color:#bc9b4d;fill:#f7e7b0;margin-right:4px}.icon-button{display:inline-flex;justify-content:center;align-items:center;width:42px;height:42px;min-width:42px;border-radius:50%;background:#fffdf8;border:1px solid var(--border);font-size:25px}.icon-button .icon{width:19px;height:19px}.avatar{width:38px;height:38px;border-radius:50%;border:3px solid #fffdf8;box-shadow:0 0 0 1px var(--border);display:grid;place-items:center;background:#e7edda;color:#67835d}.avatar .icon{width:19px}main{max-width:1440px;margin:auto;padding:31px 43px 38px;min-height:calc(100vh - 158px)}footer{display:flex;justify-content:space-between;gap:20px;padding:22px 43px;border-top:1px solid var(--border);font-size:10px;color:#8b927f}footer span:first-child{display:flex;align-items:center;gap:7px}footer .icon{width:13px;height:13px;color:#a7b18f}.eyebrow{display:block;font-size:9px;font-weight:700;letter-spacing:1.8px;color:#7d8a69;margin-bottom:13px}.welcome{position:relative;display:grid;grid-template-columns:1fr 1.04fr;align-items:center;min-height:325px;margin-top:6px}.welcome h1{font-size:clamp(33px,3.3vw,50px);line-height:1.18;letter-spacing:-1.5px}.welcome h1 span{color:#6a8557}.welcome p{font-size:13px;line-height:1.8;margin-top:17px}.hero-actions{display:flex;align-items:center;gap:17px;margin-top:25px}.button{border:1px solid transparent;border-radius:10px;padding:13px 20px;display:inline-flex;gap:14px;align-items:center;justify-content:center;font-weight:700;font-size:12px;min-height:46px;line-height:1.5;white-space:normal}.button .icon{width:17px;height:17px}.button.primary{background:var(--green);color:#fffdf5;box-shadow:0 3px 0 #3b5b3d}.button.primary:hover{background:#496d4e;box-shadow:0 4px 0 #3b5b3d}.button.outline{background:transparent;border-color:#d9dfcd}.button.light{background:#fffdf6;color:#5b714e;border-color:#e5e9d9}.full{width:100%}.time-note{font-size:9px;color:#8e9581;display:flex;gap:5px;align-items:center;white-space:nowrap}.time-note .icon{width:15px;height:15px;color:#b1a16a}.hero-scene{position:relative;width:100%;height:330px;align-self:end;overflow:hidden}.landscape{position:absolute;inset:0;width:100%;height:100%}.scene-fox{position:absolute;left:26%;bottom:10px;width:48%;height:88%}.fox{width:100%;height:100%;overflow:visible}.fox-body{animation:breathe 4s ease-in-out infinite;transform-origin:150px 300px}.fox-head{animation:headTilt 6s ease-in-out infinite;transform-origin:150px 190px}.fox-arm{animation:wave 3s ease-in-out infinite;transform-origin:193px 210px}.fox-tail{animation:tailWag 3.4s ease-in-out infinite;transform-origin:192px 244px}.fox-eyes{animation:blink 6s infinite;transform-origin:150px 122px}.cloud-one{animation:drift 9s ease-in-out infinite}.cloud-two{animation:drift 12s ease-in-out infinite reverse}.butterfly{animation:butterflyFloat 5s ease-in-out infinite}.speech-bubble{position:absolute;right:2%;top:20%;background:#fffdf7;border:1px solid #e2e7d2;box-shadow:0 4px 0 #e0e7d2;border-radius:16px 16px 16px 3px;font-size:11px;padding:13px 18px;color:#7d886e;transform:rotate(4deg);animation:bubbleFloat 5s ease-in-out infinite}.speech-bubble b{color:#526c46;font-weight:700}.speech-bubble>span{position:absolute;right:-10px;top:-15px;color:#c2a65f;font-size:22px}.scene-number{position:absolute;background:#fffaf0d9;color:#b0955b;box-shadow:0 3px 0 #d9dfc7;padding:9px 12px;border-radius:12px;font-family:'Nunito';font-weight:900;animation:bubbleFloat 4s ease-in-out infinite}.n-one{left:15%;top:23%;transform:rotate(-12deg);font-size:21px}.n-two{right:15%;bottom:14%;font-size:25px;transform:rotate(12deg);animation-delay:-2s}.scene-spark{position:absolute;left:33%;top:5%;color:#bba65f;font-size:25px;animation:twinkle 3s infinite}.journey-stats{margin-top:27px;padding:22px 25px;border:1px solid var(--border);background:#fbfcf6;border-radius:15px;display:grid;grid-template-columns:1fr 1.1fr 1fr 1.05fr;gap:20px;align-items:center}.journey-stats>div{display:flex;gap:12px;align-items:center}.stat-icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;flex-shrink:0}.stat-icon .icon{width:21px;height:21px}.green{--card:#eef3e5;--accent:#718e59;--accent-light:#dde9c7}.peach{--card:#fcf1e6;--accent:#bf9066;--accent-light:#f3dcc0}.purple{--card:#f0edf6;--accent:#9b88ae;--accent-light:#e2daed}.blue{--card:#eaf1f3;--accent:#7a9da5;--accent-light:#d4e6e9}.yellow{--card:#f9f4df;--accent:#b7a059;--accent-light:#f3e8b6}.pink{--card:#f7edec;--accent:#b98780;--accent-light:#edd8d3}.stat-icon{background:var(--accent-light,#e4ecd6);color:var(--accent,#668653)}.journey-stats b{font-family:'Nunito';font-size:22px;font-weight:800;line-height:1.1}.journey-stats b em{font-size:13px;font-style:normal;font-weight:500;color:#a4a992}.journey-stats small{display:block;font-size:9px;color:#8a917f;margin-top:6px}.journey-stats>p{font-size:11px;border-left:1px dashed #dce2d0;padding-left:22px;position:relative;line-height:1.9}.journey-stats>p b{font-size:12px;font-weight:700;color:#6c7b5c}.journey-stats>p .icon{position:absolute;right:0;top:5px;width:17px;color:#c0ac69}.home-lower{display:grid;grid-template-columns:1fr 225px;gap:27px;margin-top:35px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:19px}.section-heading .eyebrow{font-size:8px;margin-bottom:6px}.section-heading h2{font-size:22px}.gentle-tag{font-size:9px;color:#849376;display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.gentle-tag .icon{width:13px;height:13px}.table-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.table-card{background:var(--card);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:15px;text-align:left;padding:17px 18px 14px;position:relative;overflow:hidden;min-width:0}.table-card:hover{transform:translateY(-4px);box-shadow:0 7px 18px #5268450c}.table-top{display:flex;align-items:center;justify-content:space-between}.table-top>.icon{color:var(--accent);width:22px;height:22px;opacity:.6}.table-number{font-size:34px;font-weight:900;line-height:1;color:var(--accent)}.table-number small{font-size:19px;margin-left:6px;font-weight:600;vertical-align:middle}.table-card h3{font-size:14px;margin-top:13px;color:#5a6751}.table-card p{font-size:9px;color:#909480;margin-top:3px}.table-bottom{margin-top:19px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#8b947d}.table-bottom .icon{width:15px;height:15px;color:var(--accent)}.table-meter{height:3px;background:#ffffff88;position:absolute;bottom:0;left:0;right:0}.table-meter span{display:block;height:100%;background:var(--accent);opacity:.7}.home-aside{padding-top:8px}.daily-card{border:1px solid #e7e2c6;background:#f5f0dc;border-radius:17px;padding:23px 21px;text-align:center}.pill{display:inline-flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.2px;background:#fffdf68c;border-radius:6px;padding:6px 8px;color:#9e9569;font-weight:700}.pill .icon{width:13px;height:13px}.challenge-art{display:grid;place-items:center;margin:21px auto 15px;width:77px;height:77px;border:1px dashed #cfbf86;border-radius:50%;background:#faf5df;transform:rotate(-9deg)}.challenge-art .icon{width:42px;height:42px;color:#c1a457;fill:#ebd99c;stroke-width:1}.daily-card h3{font-size:24px;color:#786b42}.daily-card p{font-size:11px;line-height:1.9;margin:12px 0 22px;color:#9c9472}.daily-card .button{width:100%;font-size:10px;padding:11px 10px;gap:7px}.no-timer{display:block;color:#b1a580;font-size:8px;margin-top:13px}.tip-card{display:flex;gap:12px;margin:24px 2px;color:#82916f}.tip-card>.icon{width:20px;margin-top:1px}.tip-card b{font-size:11px}.tip-card p{font-size:10px;line-height:1.8;margin-top:5px;color:#959c89}
/* Activity screens */
.page-head{padding:7px 0 27px}.page-head h1{font-size:36px;margin-bottom:12px}.page-head p{font-size:13px;line-height:1.8}.table-picker{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 26px}.table-picker button{border:1px solid #dfe5d5;background:#fcfdf8;border-radius:12px;min-width:48px;height:48px;font-family:'Nunito';font-weight:800;font-size:18px;flex:1}.table-picker small{font-size:11px;margin-left:3px;opacity:.65}.table-picker button.selected{background:#5c7d57;color:#fff;border-color:#5c7d57;box-shadow:0 3px 0 #3b5b3d}.learn-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:25px;align-items:start}.lesson-card,.quiz-card,.practice-setup,.progress-table,.recent-card{background:#fffef9;border:1px solid var(--border);border-radius:22px;padding:28px}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:15px}.card-heading h2{font-size:22px}.card-heading .eyebrow{margin-bottom:5px}.card-heading .pill{background:#f1f4e7;white-space:nowrap}.fact-controls{display:flex;align-items:center;justify-content:center;gap:28px;margin:32px 0 22px}.large-fact{font-size:42px;font-weight:900;word-spacing:5px;white-space:nowrap}.large-fact span{color:#a8b196;font-weight:600}.large-fact b{color:#72925d}.lesson-stage{padding:24px 15px;background:#f4f6e9;min-height:230px;border-radius:17px;border:1px dashed #d6dfbf;display:grid;align-items:center;overflow:hidden}.groups{display:grid;grid-template-columns:repeat(var(--groups),minmax(0,1fr));gap:10px;align-items:stretch}.object-group{padding:10px 7px;border:1px dashed #ccd7b9;border-radius:13px;background:#fffdf780;opacity:.16;transform:scale(.9);transition:opacity .35s,transform .45s,background .4s;min-width:0}.object-group.revealed{opacity:1;transform:scale(1);background:#fffdf7}.object-group.revealed .acorn{animation:acornPop .5s both}.object-group .acorn:nth-child(2n){animation-delay:.08s}.object-group .acorn:nth-child(3n){animation-delay:.15s}.group-objects{display:grid;grid-template-columns:repeat(var(--columns),minmax(0,1fr));justify-items:center;align-items:center;gap:2px;min-height:60px;align-content:center}.acorn{width:100%;max-width:36px;max-height:40px;aspect-ratio:40/42;overflow:visible}.group-label{font-size:9px;color:#859273;display:block;text-align:center;margin-top:11px;white-space:nowrap}.many-groups .group-label{font-size:8px}.many-groups{gap:7px}.many-groups .object-group{padding:8px 4px}.lesson-caption{text-align:center;min-height:49px;margin:22px 0 10px;font-size:13px;color:#7b8a6e}.lesson-caption b{color:#5e7e4d}.lesson-controls{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.lesson-controls .button{font-size:10px;padding:12px 15px}.guide-card{background:#edf2df;border:1px solid #dfe6d0;border-radius:22px;text-align:center;padding:17px 20px 23px;margin-bottom:18px}.guide-fox{height:192px;width:180px;margin:0 auto 5px}.guide-card h3{font-size:18px}.guide-card p{font-size:12px;line-height:1.8;margin-top:8px}.addition{font-family:'Nunito';color:#8d9e74;font-size:15px;line-height:2.2;margin:18px 0;overflow-wrap:anywhere}.addition b{font-size:24px;color:#5e7b4e}.aside-note{font-size:10px;text-align:center;margin-top:15px;line-height:1.8}.practice-setup{display:grid;grid-template-columns:1.2fr .8fr;padding:35px;gap:25px;align-items:center}.setup-main h2{font-size:23px;margin-bottom:23px}.setup-main .table-picker{display:grid;grid-template-columns:repeat(6,1fr);max-width:460px}.mix-option{display:flex;align-items:center;gap:9px;margin:18px 0 30px;color:#68785c;font-size:12px}.mix-option input,input[type=checkbox],input[type=radio]{accent-color:#577959;width:18px;height:18px;flex-shrink:0}.setup-main h3{font-size:18px;margin-bottom:17px}.length-options{display:flex;gap:15px;margin-bottom:28px}.length-options label{display:flex;gap:10px;border:1px solid #dce3cf;border-radius:13px;padding:15px;align-items:center;cursor:pointer;flex:1;max-width:225px}.length-options label:has(input:checked){background:#eef3e1;border-color:#a8bc8d}.length-options span{font-weight:700;font-size:12px}.length-options small{font-size:10px;color:#8c957d;display:block;margin-top:4px;font-weight:400}.setup-note{margin-top:18px;font-size:10px;line-height:1.8}.setup-fox{position:relative;padding:35px 15px 0;height:340px}.setup-fox .fox{filter:drop-shadow(0 12px 13px #9dac7314)}.setup-fox .speech-bubble{top:0;right:0}.text-button{border:0;background:transparent;font-size:12px;display:inline-flex;gap:8px;align-items:center;color:#718164;padding:12px 0;min-height:44px}.text-button .icon{width:17px}.practice-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#8c947e;margin-bottom:20px}.question-track{display:flex;gap:8px;margin-bottom:33px}.question-track>span{height:8px;border-radius:10px;flex:1;background:#e6ebdb}.question-track>span.complete{background:#96ad75}.question-track>span.current{background:#d4b574}.question-track .icon{display:none}.quiz-layout{display:grid;grid-template-columns:1fr 235px;gap:30px;align-items:center;max-width:1030px;margin:auto}.quiz-card{text-align:center;padding:37px 35px}.quiz-card h1{font-size:27px;font-weight:800;letter-spacing:-.5px;color:#7a866c}.quiz-fact{font-size:76px;font-weight:900;line-height:1.7;word-spacing:6px;color:#4e6c45;white-space:nowrap}.quiz-fact span{color:#a8b38f;font-weight:600}.quiz-fact b{color:#bc9659}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:15px auto 20px;max-width:450px}.answer{position:relative;background:#f6f5e9;border:1px solid #dedfc7;border-bottom:4px solid #d8dbc0;border-radius:16px;font-family:'Nunito';font-size:31px;font-weight:800;padding:15px;min-height:79px;color:#70815b}.answer:nth-child(2){background:#f9eee4;border-color:#e8d6c3;color:#ae825a}.answer:nth-child(3){background:#edf1f6;border-color:#d6e0e7;color:#7898a6}.answer:nth-child(4){background:#f3edf5;border-color:#e4d7e9;color:#a188af}.answer small{position:absolute;font-size:10px;left:12px;top:9px;opacity:.5;font-family:'DM Sans'}.answer:hover{box-shadow:0 3px 12px #6f805519}.answer.correct{background:#deedcd;color:#4e743e;border-color:#8eae72;opacity:1}.answer.wrong{background:#f4e1d9;border-color:#d3a792;color:#ac7967;text-decoration:line-through;opacity:.65}.quiz-feedback{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}.quiz-feedback .icon{width:18px}.quiz-feedback.positive{color:#66834f}.quiz-feedback.helpful{color:#ad8a59}.quiz-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:450px;margin:auto}.quiz-bottom .button{font-size:11px;padding:12px 16px}.quiz-guide{text-align:center}.quiz-fox{height:235px}.guide-speech{background:#edf1df;padding:18px 12px;border:1px solid #e0e6cc;border-radius:15px;font-size:12px;color:#8b9874;line-height:1.9}.guide-speech b{color:#6e845b}.quiz-guide>p{font-size:10px;margin-top:18px;line-height:1.8}.hint-heading{display:flex;gap:10px;justify-content:space-between;font-size:11px;margin-bottom:15px;color:#7d8b6b}.hint-heading span{font-size:10px}#hint-area{border-top:1px dashed #dde3cd;padding-top:25px;margin-top:25px;text-align:left}#hint-area>p{text-align:center;font-size:12px;margin-top:18px}.hint-groups .group-label{display:none}.hint-groups .object-group{padding:7px}.hint-groups .acorn{max-width:26px}.result-page{max-width:750px;margin:25px auto;text-align:center}.result-page h1{font-size:39px}.result-page>p{margin-top:15px;font-size:13px}.result-medal{border:9px solid #f9f2d9;outline:1px dashed #d8c780;display:grid;place-items:center;border-radius:50%;background:#f2e7b9;width:130px;height:130px;margin:30px auto;animation:bubbleFloat 5s infinite}.result-medal>.icon{width:66px;height:66px;color:#b29a4d;stroke-width:1.2;fill:#f8f0d0}.result-stats{display:flex;justify-content:center;gap:70px}.result-stats b{display:block;font-family:'Nunito';font-size:46px;font-weight:900;color:#72915c}.result-stats b small{font-size:21px;font-weight:500;color:#abb79c}.result-stats span{font-size:11px;color:#8b967e}.result-page .score-note{font-size:10px;color:#97a18c}.new-rewards{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:22px 0}.new-rewards span{display:flex;gap:8px;align-items:center;padding:10px 14px;background:#f3ecd0;border-radius:10px;font-size:11px;color:#9c894f}.new-rewards .icon{width:18px}.review-facts{background:#fbfcf5;border:1px solid var(--border);padding:21px;border-radius:15px;margin:25px 0}.review-facts h3{font-size:15px;margin-bottom:15px}.review-facts>span{display:inline-block;border:1px solid #e4e8d8;background:#f0f4e6;padding:6px 10px;border-radius:7px;margin:4px;font-size:12px;color:#7f906c}.result-actions{display:flex;justify-content:center;gap:13px;margin-top:27px;flex-wrap:wrap}
/* Progress and collection */
.progress-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px}.progress-overview>div{background:#fdfdf7;border:1px solid var(--border);border-radius:18px;padding:24px}.progress-overview b{display:block;font-size:35px;font-family:'Nunito';font-weight:900;margin-top:12px}.progress-overview b small{font-size:17px;color:#a6af97;font-weight:500}.progress-overview p{font-size:11px;margin-top:3px}.progress-overview p small{display:block;font-size:10px;margin-top:5px}.progress-layout{display:grid;grid-template-columns:1fr 285px;gap:24px;align-items:start}.progress-table h2,.recent-card h2{font-size:21px}.muted{font-size:11px;color:#939c86;line-height:1.8}.progress-table>.muted{margin:8px 0 22px}.trail-row{width:100%;border:0;border-top:1px solid #edf0e3;display:flex;gap:16px;align-items:center;padding:17px 0;background:transparent;text-align:left}.trail-number{width:41px;height:41px;flex-shrink:0;border-radius:12px;background:#edf2e0;color:#7e965f;display:grid;place-items:center;font-family:'Nunito';font-weight:900;font-size:20px}.trail-row b{font-size:12px}.trail-row>span:nth-last-child(2){margin-left:auto;text-align:right;font-size:10px;color:#879573}.trail-row>span:nth-last-child(2) small{display:block;color:#a2ab94;font-size:8px;margin-top:3px}.trail-row>.icon{width:15px;color:#9aa88a}.trail-dots{display:flex;gap:4px;margin-top:7px;flex-wrap:wrap}.trail-dots>span,.dot-legend i{display:block;width:8px;height:8px;border-radius:50%;background:#e6eada}.trail-dots .grown,.dot-legend .grown{background:#8ea979}.trail-dots .growing,.dot-legend .growing{background:#d6bc8a}.dot-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:9px;color:#929c83;border-top:1px solid var(--border);padding-top:18px}.dot-legend span{display:flex;align-items:center;gap:6px}.recent-card{padding:24px}.recent-card h2{margin-bottom:23px}.recent-session{display:flex;gap:10px;align-items:center;margin-bottom:20px}.recent-session .stat-icon{width:34px;height:34px;border-radius:11px}.recent-session .stat-icon .icon{width:17px}.recent-session b{font-size:11px}.recent-session small{display:block;font-size:9px;color:#99a18c;margin-top:4px}.empty-state{text-align:center;padding:20px 0 30px}.empty-state>.icon{width:46px;height:46px;color:#b7c5a0;margin-bottom:16px}.empty-state h3{font-size:17px}.empty-state p{font-size:11px;line-height:1.9;margin-top:10px}.collection-summary{display:flex;align-items:center;gap:12px;padding:18px 22px;background:#f3efd9;border:1px solid #e8dfba;border-radius:13px;margin:0 0 30px;color:#aa9456;font-size:12px}.collection-summary span{margin-left:auto;color:#aaa181;font-size:11px}.collection-summary .icon{width:20px}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.badge-card{border:1px solid var(--border);border-radius:20px;text-align:center;padding:25px 15px;background:#fffdf7}.badge-card .eyebrow{font-size:7px;letter-spacing:1.2px;margin-top:24px;color:#b3b8a7}.badge-card h2{font-size:18px;letter-spacing:-.2px}.badge-card p{font-size:10px;line-height:1.8;margin-top:10px}.badge-sticker{position:relative;margin:auto;display:grid;place-items:center;width:102px;height:102px;border-radius:35% 45% 40% 50%;background:var(--accent-light);color:var(--accent);border:6px solid #fffdf7;outline:1px dashed var(--accent)}.badge-sticker>.icon{width:48px;height:48px;stroke-width:1.3;fill:var(--card)}.badge-card.locked .badge-sticker{filter:grayscale(.65);opacity:.38}.badge-card.locked h2{color:#9da48f}.badge-card.earned{background:var(--card);border-color:var(--accent-light)}.badge-card.earned .eyebrow{color:var(--accent)}.earned-check{display:grid;place-items:center;width:25px;height:25px;position:absolute;bottom:-5px;right:-5px;background:#6d8e56;border:3px solid #fffdf7;color:#fff;border-radius:50%}.earned-check .icon{width:13px}.collection-footer{display:flex;gap:25px;align-items:center;justify-content:center;margin:38px 0 0;padding:20px;background:#eef3e3;border-radius:24px}.collection-footer>.fox{width:160px;height:170px}.collection-footer h2{font-size:25px}.collection-footer p{font-size:12px;margin:10px 0 20px}
/* Settings and effects */
dialog{border:1px solid #dce3cf;border-radius:23px;background:#fffef8;color:var(--ink);max-width:535px;width:calc(100% - 32px);max-height:90vh;padding:29px;box-shadow:0 25px 100px #344c3e30}dialog::backdrop{background:#35463170;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:15px}.dialog-heading h2{font-size:25px}.dialog-heading .eyebrow{margin-bottom:7px}dialog form>p{font-size:12px;margin:19px 0;line-height:1.8}.setting-row{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--border)}.setting-row b{font-size:12px}.setting-row small{font-size:10px;display:block;color:#919a84;margin-top:5px}.setting-row input{width:22px;height:22px;cursor:pointer}.local-explanation{background:#f2f5e9;border-radius:12px;padding:17px;font-size:11px;margin:20px 0}.local-explanation p{font-size:10px;line-height:1.9;margin-top:7px}.settings-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.danger{color:#b47867}.danger-button{background:#b47867;color:#fff}.settings-actions .button{font-size:11px}#reset-confirm{margin-top:22px;padding-top:18px;border-top:1px solid #e9d9cd;font-size:12px}#reset-confirm p{margin-bottom:15px}#reset-confirm .button{font-size:10px;padding:10px;margin:4px}.storage-notice{background:#f4e8c5;padding:12px 30px;color:#8f7844;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 30px);background:#415d3f;color:#fffbed;font-size:12px;padding:14px 24px;border-radius:12px;box-shadow:0 7px 30px #344c3e26;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}.celebration{position:fixed;inset:0;pointer-events:none;z-index:99;overflow:hidden}.celebration i{position:absolute;left:50%;top:45%;font-size:20px;font-style:normal;color:var(--color);--angle:calc(var(--i) * 20deg);animation:confetti 1.6s ease-out both;animation-delay:calc(var(--i) * 15ms)}
@keyframes breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-3px) scaleY(1.012)}}@keyframes headTilt{0%,35%,100%{transform:rotate(0)}50%,65%{transform:rotate(-4deg)}}@keyframes wave{0%,30%,100%{transform:rotate(0)}42%,60%{transform:rotate(-13deg)}50%,70%{transform:rotate(7deg)}}@keyframes tailWag{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(9deg)}}@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes drift{0%,100%{translate:0 0}50%{translate:15px 0}}@keyframes butterflyFloat{0%,100%{translate:0 0;scale:1}50%{translate:10px -12px;scale:.9 1}}@keyframes bubbleFloat{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes twinkle{0%,100%{opacity:.5;scale:.85}50%{opacity:1;scale:1.1}}@keyframes acornPop{from{opacity:0;transform:translateY(-14px) scale(.6)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confetti{0%{transform:rotate(var(--angle)) translateX(0) rotate(0);opacity:1}80%{opacity:1}100%{transform:rotate(var(--angle)) translateX(min(40vw,400px)) rotate(240deg);opacity:0}}
.lesson-card,.lesson-aside,.quiz-card,.setup-main,.progress-table{min-width:0}
.still *,.still *::before,.still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1600px){.welcome{min-height:385px}.hero-scene{height:380px}.table-card{padding:22px}.table-card h3{font-size:17px}.table-card p,.table-bottom{font-size:11px}.home-lower{grid-template-columns:1fr 270px}.table-grid{gap:18px}.daily-card{padding:30px 25px}.daily-card p{font-size:13px}.time-note{font-size:11px}}
@media(max-width:1200px){.sidebar{width:210px;padding-left:18px;padding-right:18px}.brand{font-size:19px}.sidebar-label{font-size:7px;margin-left:5px;letter-spacing:1px}.main-shell{margin-left:210px;width:calc(100% - 210px)}main{padding:27px}.topbar{padding:0 27px}footer{padding:20px 27px}.welcome h1{font-size:37px}.welcome .eyebrow{font-size:7px}.hero-actions{gap:13px}.time-note{display:none}.home-lower{grid-template-columns:1fr 200px;gap:20px}.section-heading h2{font-size:20px}.section-heading>.gentle-tag{display:none}.table-card{padding:15px}.table-number{font-size:29px}.journey-stats{padding:20px;gap:12px;grid-template-columns:repeat(3,1fr)}.journey-stats>p{display:none}.journey-stats>div{gap:10px}.journey-stats small{font-size:8px}.learn-layout{grid-template-columns:minmax(0,1fr) 210px;gap:18px}.lesson-card{padding:23px 18px}.card-heading .pill{display:none}.lesson-stage{padding:20px 10px}.large-fact{font-size:35px}.fact-controls{gap:18px}.guide-fox{width:155px}.groups{gap:6px}.group-label{font-size:8px}.quiz-layout{grid-template-columns:minmax(0,1fr) 200px;gap:20px}.quiz-card{padding:30px 24px}.quiz-fact{font-size:62px}.quiz-bottom{flex-wrap:wrap}.progress-layout{grid-template-columns:1fr 230px;gap:18px}.progress-table{padding:22px}.trail-row{gap:10px}.trail-row>span:nth-last-child(2){font-size:8px}.trail-row>span:nth-last-child(2) small{font-size:7px}.badge-grid{gap:14px}.badge-card{padding:20px 10px}.badge-card h2{font-size:16px}.badge-sticker{width:85px;height:85px}.badge-sticker>.icon{width:40px;height:40px}.badge-card .eyebrow{font-size:6px}.card-heading h2{font-size:20px}.practice-setup{padding:25px}.length-options{gap:10px}.length-options label{padding:13px 10px}}
@media(max-width:980px){.sidebar{width:185px;padding:30px 14px 15px}.brand{font-size:17px;gap:8px}.brand small{font-size:8px;letter-spacing:3px}.brand-icon{width:36px;height:42px}.sidebar-label{font-size:6px}.nav-item{font-size:11px;padding:13px 10px;gap:9px}.main-shell{margin-left:185px;width:calc(100% - 185px)}.topbar{height:73px}main{padding:24px}.welcome{min-height:300px;grid-template-columns:1fr .85fr}.welcome h1{font-size:31px}.hero-scene{height:290px}.speech-bubble{font-size:9px;padding:10px 13px;right:0;top:13%}.scene-fox{width:66%;left:12%}.n-one{font-size:14px;left:2%;top:24%}.n-two{font-size:17px;right:8%}.scene-spark{font-size:18px}.welcome p{font-size:11px}.home-lower{grid-template-columns:1fr}.home-aside{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:0}.daily-card{text-align:left;position:relative;padding:20px}.daily-card .challenge-art{display:none}.daily-card h3{margin-top:10px}.daily-card p{font-size:10px;margin:8px 0 14px}.daily-card p br{display:none}.daily-card .button{width:auto}.no-timer{margin-top:10px}.tip-card{margin:15px}.learn-layout{grid-template-columns:1fr}.lesson-aside{display:flex;gap:20px;align-items:center;justify-content:center}.guide-card{display:none}.lesson-aside>.button{width:auto}.lesson-stage{min-height:240px}.group-label{font-size:10px}.many-groups .group-label{font-size:9px}.quiz-layout{grid-template-columns:1fr}.quiz-guide{display:flex;gap:20px;align-items:center;justify-content:center}.quiz-fox{width:120px;height:130px}.quiz-guide>p{display:none}.quiz-guide .guide-speech{font-size:11px;padding:12px 20px}.quiz-fact{font-size:72px}.progress-layout{grid-template-columns:1fr}.recent-card .recent-session{display:inline-flex;min-width:190px;margin-right:15px}.recent-card>.button{max-width:250px}.progress-overview{gap:12px}.progress-overview>div{padding:18px}.progress-overview p{font-size:10px}.badge-grid{grid-template-columns:repeat(2,1fr)}.badge-card h2{font-size:19px}.badge-card .eyebrow{font-size:7px}.badge-sticker{width:100px;height:100px}.setup-fox{height:280px}.practice-setup{grid-template-columns:1fr}.setup-fox{display:none}.setup-main .table-picker{max-width:none}.length-options label{max-width:none}.trail-row>span:nth-last-child(2){font-size:10px}.trail-row>span:nth-last-child(2) small{font-size:9px}.group-objects{min-height:55px}}
@media(max-width:700px){.sidebar{inset:auto 0 0;width:100%;height:74px;background:#fbfcf9f5;backdrop-filter:blur(12px);border-right:0;border-top:1px solid #e0e5d4;padding:7px 5px 8px;display:block}.sidebar>.brand,.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.nav-item{padding:7px 3px;font-size:8px;flex-direction:column;gap:4px;min-height:57px;border-radius:10px;text-align:center;line-height:1.4}.nav-item .icon{width:20px;height:20px}.nav-dot{display:none}.main-shell{margin:0;width:100%;padding-bottom:74px}.topbar{height:66px;padding:0 21px}.breadcrumb{font-family:'Nunito';font-size:15px;font-weight:900;color:#57704b}.breadcrumb span,.breadcrumb strong{display:none}.breadcrumb:before{content:'✦';font-size:22px;margin-right:8px;color:#92a46d}.top-actions{gap:10px}.top-actions .icon-button{width:35px;height:35px;min-width:35px}.star-counter{font-size:10px}.star-counter>span{display:none}.avatar{height:34px;width:34px}main{padding:22px 20px 28px;min-height:calc(100vh - 200px)}.welcome{display:flex;flex-direction:column;min-height:0;text-align:center;margin:0}.welcome .eyebrow{font-size:7px;margin-top:7px;margin-bottom:12px;letter-spacing:1.4px}.welcome h1{font-size:38px;line-height:1.17}.welcome p{font-size:12px;margin-top:14px;line-height:1.9}.hero-actions{justify-content:center;margin-top:20px}.hero-actions .button{padding:12px 23px}.hero-scene{height:260px;width:min(100%,430px);align-self:center;margin-top:9px}.scene-fox{width:48%;left:26%;height:95%;bottom:0}.speech-bubble{top:17%;right:3%;font-size:10px}.n-one{left:14%;top:23%;font-size:18px}.n-two{right:15%;bottom:12%;font-size:20px}.journey-stats{margin-top:10px;padding:17px 10px;border-radius:13px;gap:4px}.journey-stats>div{gap:7px;justify-content:center}.stat-icon{height:32px;width:32px;border-radius:10px}.stat-icon .icon{width:17px}.journey-stats b{font-size:20px}.journey-stats b em{font-size:11px}.journey-stats small{font-size:7px;margin-top:3px}.home-lower{margin-top:27px}.section-heading{margin-bottom:17px}.section-heading .eyebrow{font-size:7px;letter-spacing:1.4px}.section-heading h2{font-size:23px}.table-grid{grid-template-columns:repeat(2,1fr);gap:13px}.table-card{padding:18px 17px 16px}.table-number{font-size:33px}.table-card h3{font-size:15px}.table-card p{font-size:10px}.table-bottom{font-size:9px;margin-top:20px}.table-top>.icon{width:23px;height:23px}.home-aside{gap:14px;grid-template-columns:1fr}.daily-card{text-align:center}.daily-card .challenge-art{display:grid;position:absolute;right:20px;top:21px;margin:0;width:61px;height:61px}.daily-card .challenge-art .icon{width:33px;height:33px}.daily-card{text-align:left}.daily-card h3{font-size:25px}.daily-card p{font-size:12px;max-width:75%}.daily-card .button{font-size:11px}.tip-card{margin:8px 4px}.tip-card p{font-size:11px}.tip-card b{font-size:12px}footer{padding:22px 20px;display:block;font-size:9px;text-align:center}footer span:first-child{justify-content:center}footer span:last-child{display:block;font-size:8px;margin-top:9px}.page-head{padding:6px 0 23px}.page-head .eyebrow{font-size:8px}.page-head h1{font-size:32px}.page-head p{font-size:12px}.table-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:23px}.table-picker button{height:44px;min-width:0;border-radius:10px;font-size:17px}.table-picker small{font-size:9px}.lesson-card{padding:23px 15px;border-radius:17px}.card-heading h2{font-size:21px}.card-heading .eyebrow{font-size:8px}.fact-controls{margin:28px 0 22px;gap:18px}.large-fact{font-size:36px;word-spacing:2px}.fact-controls .icon-button{width:35px;height:35px;min-width:35px}.lesson-stage{padding:18px 9px;min-height:220px;overflow-x:auto}.groups{grid-template-columns:repeat(min(var(--groups),3),minmax(0,1fr));gap:10px;width:100%}.group-label{font-size:9px}.many-groups .group-label{font-size:9px}.group-objects{min-height:50px;gap:1px}.acorn{max-width:30px}.object-group{padding:10px 6px}.lesson-caption{font-size:12px;line-height:1.8}.lesson-controls{gap:8px}.lesson-controls .button{padding:10px 11px;font-size:9px;gap:6px}.lesson-controls>.icon-button{width:36px;min-width:36px;height:36px}.lesson-aside{flex-direction:column;gap:0}.lesson-aside .aside-note{margin-top:12px}.practice-setup{padding:25px 18px;border-radius:17px}.setup-main h2{font-size:21px}.setup-main h3{font-size:18px}.mix-option{font-size:11px;gap:6px}.length-options{gap:10px}.length-options label{padding:12px 9px;gap:5px}.length-options input{width:16px;height:16px}.length-options span{font-size:11px}.length-options small{font-size:9px}.setup-main>.button{width:100%}.setup-note{text-align:center;font-size:9px}.practice-top{font-size:10px;margin-bottom:12px}.practice-top .text-button{font-size:10px}.practice-top .gentle-tag{display:none}.question-track{gap:5px;margin-bottom:22px}.question-track>span{height:6px}.quiz-card{padding:27px 19px;border-radius:19px}.quiz-card .eyebrow{font-size:7px;letter-spacing:1.5px}.quiz-card h1{font-size:25px}.quiz-fact{font-size:58px;word-spacing:1px;line-height:1.9}.answer-grid{gap:12px;margin:10px auto 13px}.answer{font-size:30px;min-height:77px;border-radius:13px;padding:16px}.quiz-feedback{font-size:11px;line-height:1.9;margin:10px 0}.quiz-bottom{gap:5px}.quiz-bottom>.text-button{font-size:10px}.quiz-bottom .button{font-size:10px;padding:10px 12px;gap:7px}.quiz-layout{gap:16px}.quiz-fox{height:115px;width:100px}.quiz-guide{gap:15px}.quiz-guide .guide-speech{font-size:10px;padding:12px 16px}.hint-heading{flex-direction:column;gap:4px}.hint-groups{gap:6px}.hint-groups .acorn{max-width:26px}.result-page{margin-top:18px}.result-page h1{font-size:31px}.result-page .eyebrow{font-size:7px}.result-page>p{font-size:12px;line-height:1.8}.result-stats{gap:43px}.result-stats b{font-size:40px}.result-stats span{font-size:10px}.result-actions .button{font-size:11px;padding:11px 16px}.progress-overview{gap:8px;margin-bottom:23px}.progress-overview>div{padding:15px 11px;border-radius:14px}.progress-overview .stat-icon{width:31px;height:31px}.progress-overview b{font-size:28px;margin-top:10px}.progress-overview b small{font-size:12px}.progress-overview p{font-size:9px}.progress-overview p small{font-size:8px}.progress-table,.recent-card{padding:22px 17px;border-radius:17px}.progress-table h2{font-size:23px}.progress-table>.muted{font-size:10px}.trail-row{gap:9px;padding:17px 0}.trail-number{width:35px;height:35px;font-size:17px}.trail-row b{font-size:11px}.trail-row>span:nth-last-child(2){font-size:9px}.trail-row>span:nth-last-child(2) small{font-size:7px}.trail-row>.icon{width:12px}.trail-dots{gap:3px}.trail-dots>span{width:6px;height:6px}.dot-legend{font-size:8px;gap:11px}.recent-card .recent-session{min-width:150px}.collection-summary{gap:9px;padding:15px;font-size:11px;margin-bottom:23px}.collection-summary>span{display:none}.badge-grid{gap:12px}.badge-card{padding:23px 12px}.badge-sticker{width:86px;height:86px}.badge-card h2{font-size:17px}.badge-card p{font-size:10px}.badge-card .eyebrow{font-size:6px;letter-spacing:.6px;margin-top:21px}.collection-footer{padding:23px 15px;gap:12px}.collection-footer>.fox{height:145px;width:110px;flex-shrink:0}.collection-footer h2{font-size:20px}.collection-footer p{font-size:10px}.collection-footer .button{font-size:10px;padding:10px 13px}.collection-footer .icon{width:13px}dialog{padding:24px 21px}.dialog-heading h2{font-size:23px}.settings-actions .button{font-size:10px;padding:11px}#toast{bottom:91px;width:max-content;text-align:center;font-size:11px}}
@media(max-width:370px){main{padding:18px 14px 24px}.welcome h1{font-size:33px}.topbar{padding:0 15px}.breadcrumb{font-size:13px}.top-actions{gap:7px}.journey-stats{padding:15px 7px}.journey-stats .stat-icon{width:26px;height:28px}.journey-stats>div{gap:5px}.journey-stats small{font-size:6px}.table-card{padding:16px 13px}.table-card h3{font-size:14px}.table-card p{font-size:9px}.quiz-fact{font-size:48px}.quiz-card{padding:24px 14px}.large-fact{font-size:31px}.fact-controls{gap:13px}.lesson-controls .button{font-size:8px;padding:10px 8px}.badge-card h2{font-size:15px}.trail-dots{gap:2px}.trail-row>span:nth-last-child(2){font-size:8px}.trail-row>span:nth-last-child(2) small{font-size:6px}.collection-footer>.fox{width:90px}.collection-footer h2{font-size:18px}}

@media(max-width:700px){.learn-layout,.quiz-layout,.progress-layout{grid-template-columns:minmax(0,1fr)}.fact-controls{gap:8px}.large-fact{font-size:clamp(23px,7.7vw,36px);word-spacing:0}}

/* Explore the same fact in several ways. */
.path-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #dfe6d0;border-radius:18px;background:#eef3e3;padding:23px 26px;margin-top:27px}.path-banner .eyebrow{font-size:8px;margin-bottom:6px}.path-banner h2{font-size:22px}.path-banner p{font-size:11px;margin-top:7px}.path-stones{display:flex;gap:10px;align-items:center;flex-shrink:0}.path-stones button{width:46px;height:46px;border-radius:15px;background:#fffef6;border:1px solid #d2debd;color:#7a955b;font-family:'Nunito';font-size:24px;font-weight:900;box-shadow:0 3px 0 #d7e0c7}.path-stones small{font-size:12px}.path-stones>.icon{width:14px;color:#a3b18c}.learning-modes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.learning-modes button{background:#fffdf7;border:1px solid #dfe5d4;border-radius:10px;padding:12px 17px;font-size:11px;font-weight:600;min-height:44px}.learning-modes button.selected{background:#e8efd9;border-color:#a8bb8c;color:#627b4c;box-shadow:0 2px 0 #d3dec1}.array-explorer,.count-explorer,.strategy-explorer{text-align:center;width:100%;min-width:0}.array-explorer>p,.count-explorer>p{font-size:12px;line-height:1.9}.acorn-array{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));width:min(100%,400px);gap:5px;margin:20px auto;padding:17px;border-radius:16px;border:1px dashed #bdcca4;background:#fffdf5;animation:arraySettle .45s ease-out}.array-acorn{display:grid;place-items:center;opacity:.2;transition:opacity .4s,transform .4s;transform:scale(.85)}.array-acorn.shown{opacity:1;transform:scale(1)}.array-acorn .acorn{max-width:30px}.array-equivalence{font-family:'Nunito';font-size:22px;font-weight:800;color:#79935f;line-height:1.8;margin:10px 0 18px}.array-equivalence>span{color:#aab799;margin:0 6px}.array-explorer .button{margin-bottom:12px;font-size:11px}.array-explorer>.muted{font-size:10px}.count-hops{display:flex;flex-wrap:wrap;justify-content:center;align-items:end;gap:10px;margin:32px 0 28px}.count-start{font-family:'Nunito';font-size:22px;font-weight:800;padding:10px 8px;color:#93a47b}.count-hop{display:block;min-width:48px;position:relative}.count-hop small{font-size:10px;color:#a1ad8a;display:block;margin-bottom:9px}.count-hop b{display:grid;place-items:center;background:#e8edda;border:1px dashed #cbd7b4;border-radius:50%;height:47px;width:47px;font-family:'Nunito';font-size:21px;color:#b7c1a8;transition:background .3s,color .3s}.count-hop.counted b{background:#f6e9bd;border-color:#d4bd73;color:#9a8143;animation:acornPop .35s both}.clap-cue{display:flex;justify-content:center;align-items:center;gap:8px;color:#899d6b;font-weight:600;font-size:13px;min-height:48px;margin:15px 0}.clap-cue>.icon{width:27px;height:27px}.clap-cue.clapped>.icon{animation:clapPulse .4s ease-out}.strategy-explorer{padding:20px 6px}.strategy-explorer>.stat-icon{margin-bottom:17px;width:52px;height:52px;border-radius:18px}.strategy-explorer h3{font-size:23px}.strategy-explorer>p{font-size:12px;line-height:1.9;margin:12px auto;max-width:380px}.strategy-equation{font-family:'Nunito';font-size:clamp(23px,3.1vw,37px);font-weight:900;letter-spacing:1px;color:#78915b;margin:25px 0}.strategy-equation>span{color:#acb797}.strategy-counts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:20px 0}.strategy-counts span{padding:5px 10px;border-radius:7px;background:#fffdf4;color:#aa9354;font-family:'Nunito';font-weight:800}.think-prompt{margin-top:22px;background:#e8efd9;border-radius:12px;padding:17px;color:#83956d;font-size:11px;line-height:1.9}.pattern-card{border:1px solid var(--border);border-radius:22px;padding:28px;background:#fffef8;min-width:0}.pattern-card>.card-heading{margin-bottom:13px}.pattern-card>p{font-size:12px;line-height:1.8}.chart-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:23px 0}.chart-toolbar .button{font-size:11px;padding:11px 15px}.chart-toolbar .text-button{font-size:10px}.chart-scroll{overflow:auto;max-width:100%;border:1px solid #e4e9d8;border-radius:14px;background:#f9fbf2}.multiplication-chart{border-collapse:separate;border-spacing:4px;min-width:575px;width:100%;table-layout:fixed;padding:10px}.multiplication-chart caption{text-align:left;caption-side:bottom;font-size:10px;color:#99a488;padding:14px}.multiplication-chart th{font-size:12px;color:#81966b;padding:9px 0;font-weight:700}.multiplication-chart td{padding:0}.multiplication-chart td button{width:100%;aspect-ratio:1.15;min-height:35px;border-radius:7px;background:#eef2e5;border:1px solid #e7ecdc;color:#bcc6ac;font-family:'Nunito';font-size:14px;font-weight:800}.multiplication-chart td button.chart-open{color:#78935b;background:#e5eed5;border-color:#dce7c8}.multiplication-chart td button.chart-square{background:#f0e4b6;border-color:#dfcf94;color:#a18a48}.multiplication-chart td button.chart-chosen{background:#b1c690;border:2px solid #78945a;color:#fffdf5}.chart-discovery{margin-top:20px;background:#edf3df;border-radius:14px;padding:18px;display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:12px;color:#82986b}.chart-discovery>b{font-family:'Nunito';font-size:23px;color:#69864e}.chart-discovery>span{font-size:11px;flex:1;min-width:180px}.chart-discovery .button{font-size:10px;padding:10px 13px}.chart-noticing{display:flex;flex-wrap:wrap;gap:22px;margin-top:20px;font-size:10px;color:#97a089}.chart-noticing b{color:#7d9167;margin-right:5px}.story-option{margin-top:-15px}.story-question{font-family:'Nunito';font-size:18px;color:#7e8f69;line-height:1.8;max-width:500px;margin:18px auto 3px}.hint-strategy{text-align:left;border:1px solid #dde7cd;background:#f0f5e5;border-radius:12px;padding:18px;margin-top:20px;font-size:11px;color:#7f9468}.hint-strategy p{font-size:19px;font-family:'Nunito';font-weight:800;color:#72905a;margin-top:10px}.hint-strategy span{display:block;font-size:10px;margin-top:12px;line-height:1.8}.reflection-card{padding:19px;background:#eef3e1;border:1px solid #dfe8cd;border-radius:15px;margin:25px auto 0;text-align:left;max-width:580px}.reflection-card>b{font-size:13px;color:#79915e}.reflection-card p{font-size:11px;line-height:1.8;margin-top:8px}.teaching-credit{font-size:10px!important;line-height:1.8}.teaching-credit a{color:#65824d;text-decoration:underline;text-underline-offset:3px}
@keyframes arraySettle{from{transform:rotate(-3deg) scale(.96);opacity:.5}to{transform:rotate(0) scale(1);opacity:1}}@keyframes clapPulse{0%{transform:scale(.7)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
@media(max-width:1100px){.path-banner{flex-wrap:wrap;gap:20px}.path-stones{margin-left:auto}.learning-modes button{padding:11px 13px}.pattern-card{padding:24px}.chart-discovery{gap:12px}.path-banner h2{font-size:20px}}
@media(max-width:700px){.path-banner{margin-top:22px;padding:20px;gap:19px}.path-banner h2{font-size:21px}.path-banner p{font-size:11px;line-height:1.8}.path-stones{margin:0;gap:12px}.path-stones button{width:44px;height:44px;font-size:23px}.path-stones>.icon{width:13px}.learning-modes{gap:7px;margin-bottom:22px}.learning-modes button{padding:10px 12px;font-size:10px;flex:1;white-space:nowrap}.array-explorer>p,.count-explorer>p{font-size:11px}.acorn-array{padding:10px;gap:2px;margin:17px auto;max-width:320px}.array-equivalence{font-size:20px}.array-equivalence>span{margin:0 3px}.array-explorer .button{font-size:10px}.count-hops{gap:8px;margin:22px 0}.count-hop{min-width:39px}.count-hop b{width:39px;height:39px;font-size:18px}.count-hop small{font-size:9px}.count-start{font-size:19px;padding:8px}.clap-cue{font-size:12px}.strategy-explorer{padding:12px 4px}.strategy-explorer h3{font-size:22px}.strategy-explorer>p{font-size:11px}.strategy-equation{font-size:27px;letter-spacing:0}.think-prompt{padding:14px;font-size:10px}.pattern-card{padding:22px 15px;border-radius:17px}.pattern-card .card-heading h2{font-size:22px}.pattern-card>.card-heading>.pill{display:none}.pattern-card>p{font-size:11px}.chart-toolbar{gap:9px;margin:20px 0}.chart-toolbar .button{padding:10px 12px;font-size:10px}.chart-toolbar .text-button{min-height:35px}.chart-discovery{padding:15px}.chart-discovery>b{font-size:22px}.chart-discovery>span{font-size:10px}.chart-noticing{gap:10px;font-size:9px}.chart-scroll:after{content:'Swipe to explore more columns →';display:block;position:sticky;left:0;padding:7px 13px;font-size:9px;color:#97a386}.story-question{font-size:16px;line-height:1.8;margin-top:17px}.story-option{font-size:10px;line-height:1.8}.hint-strategy{padding:14px}.hint-strategy p{font-size:17px}.reflection-card{padding:17px}.reflection-card p{font-size:10px}}

/* Narrated guides: the audio completion event controls each visual step. */
.guide-chooser{padding:22px 25px;border:1px solid #e1e7d4;border-radius:18px;background:#fffdf7;display:flex;gap:24px;align-items:center;justify-content:space-between;margin:23px 0}.guide-chooser .eyebrow{font-size:8px;margin-bottom:7px}.guide-chooser h2{font-size:20px}.guide-options{display:flex;gap:12px}.guide-choice{display:flex;align-items:center;gap:8px;min-height:78px;padding:8px 15px 8px 7px;background:var(--card);border:1px solid var(--accent-light);border-radius:15px;position:relative;min-width:125px}.guide-choice>span{width:56px;height:65px}.guide-choice>b{font-family:'Nunito';font-size:17px;color:var(--accent);text-align:left}.guide-choice small{display:block;font-family:'DM Sans';font-weight:400;font-size:9px;margin-top:3px}.guide-choice>.icon{height:14px;width:14px;position:absolute;right:7px;top:7px}.guide-choice.chosen{border:2px solid var(--accent);box-shadow:0 3px 0 var(--accent-light)}.voice-coach{display:flex;gap:24px;border:1px solid #d5e1c4;border-radius:20px;background:#edf3df;padding:22px 25px;margin-bottom:24px;box-shadow:0 3px 0 #e2e9d7;position:relative}.coach-portrait{width:120px;min-width:120px;text-align:center;align-self:start}.coach-portrait>.fox{height:137px;display:block}.coach-portrait>span{display:block;font-size:10px;color:#8b9c76;margin-top:3px}.coach-content{flex:1;min-width:0}.coach-heading{display:flex;justify-content:space-between;align-items:start;gap:14px}.coach-heading h2{font-size:23px}.coach-heading .eyebrow{font-size:8px;margin-bottom:6px}.voice-speed{display:flex;gap:7px;align-items:center;color:#94a37d;font-size:10px;white-space:nowrap}.voice-speed select{font:inherit;font-size:11px;background:#fffdf6;color:#71875a;border:1px solid #d7e2c4;border-radius:8px;padding:8px;min-height:38px}.spoken-caption{font-family:'Nunito';font-size:17px;font-weight:700;line-height:1.7;color:#6c8551;margin:15px 0;min-height:48px}.voice-start{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.voice-start .button{font-size:11px;padding:11px 15px}.voice-start .text-button{font-size:10px}.voice-transport{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:15px}.voice-transport .button{font-size:10px;padding:9px 12px;min-height:40px}.voice-transport .icon-button{width:38px;height:38px;min-width:38px}.voice-transport>span{font-size:10px;color:#889d6c;margin-left:6px}.voice-status{font-size:10px;color:#9aa889;margin-top:12px;line-height:1.8}.guide-details{font-size:10px;color:#879b6a;margin-top:13px}.guide-details>summary{cursor:pointer;min-height:28px;padding:5px 0;max-width:max-content}.guide-details .guide-chooser{margin:12px 0 0;padding:16px;background:#f9fbf2;display:block}.guide-details .guide-chooser h2{font-size:17px;margin-bottom:14px}.guide-details .guide-options{flex-wrap:wrap}.guide-details .guide-choice{flex:1}.talk-mouth{opacity:0;transform-box:fill-box;transform-origin:center}.guide-talking[data-active-guide="finn"] [data-character="finn"] .talk-mouth,.guide-talking[data-active-guide="luna"] [data-character="luna"] .talk-mouth,.guide-talking[data-active-guide="pip"] [data-character="pip"] .talk-mouth{opacity:1;animation:talkMouth .23s ease-in-out infinite alternate}.owl-body{transform-origin:150px 300px;animation:breathe 4s infinite ease-in-out}.owl-wing{transform-origin:83px 166px;animation:owlFlap 5s ease-in-out infinite}.owl-wing.right{transform-origin:218px 166px;animation-direction:reverse}.owl-eyes{transform-origin:150px 129px;animation:blink 7s infinite}.rabbit-body{transform-origin:150px 300px;animation:rabbitBounce 4s ease-in-out infinite}.rabbit-ear{transform-origin:111px 100px;animation:earTwitch 5s infinite ease-in-out}.rabbit-ear.right{transform-origin:184px 100px;animation-delay:-2s}.rabbit-paw{transform-origin:217px 220px;animation:wave 4s infinite ease-in-out}.speaking-group{outline:3px solid #d7b873;outline-offset:2px;box-shadow:0 0 0 6px #f8ecc652}.speaking-acorn{background:#f5df98;border-radius:7px}.narration-active .voice-coach{position:sticky;top:8px;z-index:25;padding:14px 20px;box-shadow:0 6px 24px #60784a16}.narration-active .coach-heading,.narration-active .voice-start{display:none}.narration-active .coach-portrait{width:77px;min-width:77px}.narration-active .coach-portrait>.fox{height:90px}.narration-active .spoken-caption{margin:0 0 8px;font-size:15px;min-height:0}.narration-active .voice-transport{margin-top:8px}.narration-active .voice-status{margin-top:8px}.narration-active .guide-details{margin-top:4px}.lesson-card{scroll-margin-top:230px}
@keyframes talkMouth{from{transform:scaleY(.4)}to{transform:scaleY(1.3)}}@keyframes owlFlap{0%,65%,100%{transform:rotate(0)}75%,85%{transform:rotate(9deg)}}@keyframes earTwitch{0%,65%,100%{transform:rotate(0)}73%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}@keyframes rabbitBounce{0%,15%,45%,100%{transform:translateY(0)}28%{transform:translateY(-6px)}}
@media(max-width:1150px){.guide-chooser{flex-wrap:wrap;gap:18px}.guide-options{flex:1;justify-content:end}.voice-coach{gap:18px;padding:20px}.coach-portrait{width:95px;min-width:95px}.coach-portrait>.fox{height:115px}.coach-heading h2{font-size:21px}.spoken-caption{font-size:15px}.voice-start{gap:8px}.voice-start .button{font-size:10px;padding:10px 12px}.voice-speed{flex-direction:column;align-items:end;gap:2px}}
@media(max-width:700px){.guide-chooser{padding:20px 15px;margin:20px 0;gap:16px}.guide-chooser h2{font-size:21px}.guide-options{gap:8px;width:100%;justify-content:center}.guide-choice{min-width:0;flex:1;flex-direction:column;padding:9px 8px;gap:3px;min-height:110px}.guide-choice>span{width:57px;height:62px}.guide-choice>b{text-align:center;font-size:16px}.guide-choice small{font-size:8px;margin-top:1px}.voice-coach{padding:18px 14px;gap:11px;border-radius:17px;align-items:start}.coach-portrait{width:65px;min-width:65px}.coach-portrait>.fox{height:80px}.coach-portrait>span{font-size:8px;line-height:1.8}.coach-heading{display:block}.coach-heading h2{font-size:21px}.coach-heading .eyebrow{font-size:6px;letter-spacing:1.1px}.voice-speed{flex-direction:row;justify-content:start;align-items:center;margin-top:12px;font-size:9px}.voice-speed select{font-size:10px;padding:6px;min-height:34px}.spoken-caption{font-size:14px;line-height:1.8;margin:13px 0;min-height:0}.voice-start{display:grid;gap:9px}.voice-start .button{padding:10px;font-size:10px;gap:6px}.voice-start .text-button{justify-content:center;font-size:9px;min-height:28px;padding:3px}.voice-transport{gap:6px}.voice-transport .button{font-size:9px;padding:8px;gap:4px;min-height:36px}.voice-transport .icon-button{width:32px;min-width:32px;height:36px;font-size:21px}.voice-transport>span{width:100%;font-size:8px;margin-left:0}.voice-status{font-size:8px}.guide-details{font-size:9px}.guide-details .guide-chooser{padding:12px;margin-left:-76px}.guide-details .guide-chooser h2{font-size:16px}.guide-details .guide-choice{min-height:105px}.guide-details .guide-options{flex-wrap:nowrap}.narration-active .voice-coach{top:4px;gap:8px;padding:10px 12px}.narration-active .coach-portrait{width:53px;min-width:53px}.narration-active .coach-portrait>.fox{height:67px}.narration-active .coach-portrait>span{font-size:7px}.narration-active .spoken-caption{font-size:12px;line-height:1.8}.narration-active .voice-transport .button{font-size:8px;padding:7px}.narration-active .voice-transport{gap:5px}.narration-active .voice-status{font-size:7px;margin-top:5px}.narration-active .guide-details{font-size:8px;margin-top:0}.narration-active .guide-details .guide-chooser{margin-left:-61px}.lesson-card{scroll-margin-top:230px}}
.narration-active main>.page-head,.narration-active .learning-modes,.narration-active main>.table-picker,.narration-active .lesson-controls{display:none}.narration-active .lesson-aside{display:none}.narration-active .learn-layout{grid-template-columns:minmax(0,1fr)}.narration-active .voice-coach{margin-top:6px}.narration-active .lesson-card{scroll-margin-top:240px}.voice-transport [data-action="voice-stop"]>.icon{width:15px;height:15px}
.narration-active .spoken-caption{font-size:17px}@media(max-width:700px){.narration-active .spoken-caption{font-size:14px;line-height:1.75}}

/* The direct Android download is kept outside the game and never cached as media. */
.android-download{display:flex;gap:20px;align-items:flex-start;margin:24px 0 32px;padding:25px;border:1px solid #d4dfcb;border-radius:22px;background:#edf4e7}
.android-mark{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:17px;background:#d8e7cd;color:#456b4c}
.android-mark .icon{width:27px;height:27px}.android-copy{min-width:0;flex:1}.android-download h2{font-size:23px;margin:3px 0 8px}.android-download p{font-size:13px;line-height:1.7;color:#586b51}
.android-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:16px 0 12px}.android-actions .button{display:inline-flex;align-items:center;gap:9px;min-height:48px}.android-actions>span{font-size:11px;color:#64765d}
.android-download summary{cursor:pointer;font-size:12px;font-weight:700;color:#456b4c;padding:5px 0}.android-download ol{padding-left:20px;font-size:12px;line-height:1.9;color:#45583e}.android-download details p{font-size:11px;margin:10px 0}.apk-checksum code{overflow-wrap:anywhere;font-size:10px}.native-android .android-download{display:none}
dialog .android-download{padding:17px;gap:12px;margin-top:20px}dialog .android-mark{display:none}dialog .android-download h2{font-size:20px}
@media(max-width:600px){.android-download{gap:12px;padding:19px}.android-mark{flex-basis:36px;height:36px;border-radius:12px}.android-mark .icon{width:22px;height:22px}.android-download h2{font-size:21px}.android-actions{gap:10px}.android-actions .button{font-size:12px}.android-download .eyebrow{font-size:8px;letter-spacing:1px}}

/* A little more life: decorative movement never moves a learning control. */
.guide-hello{border:0;background:transparent;padding:0;display:block;color:var(--deep)}
.guide-hello:hover,.guide-hello:active{transform:none}.guide-hello>.fox{width:100%;height:100%}
.hello-hint{position:absolute;bottom:1px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 9px 'DM Sans',sans-serif;padding:5px 10px;border-radius:20px;background:#fffaf0e8;box-shadow:0 2px 7px #53674514;color:#627b50}
.forest-mote{animation:forestMote 7s ease-in-out infinite;animation-delay:var(--drift-delay)}
.forest-leaf{transform-box:fill-box;transform-origin:center;animation:forestLeaf 9s ease-in-out infinite;animation-delay:var(--drift-delay)}
.landscape .tree{transform-box:fill-box;transform-origin:50% 100%;animation:forestSway 7s ease-in-out infinite}.landscape .tree:nth-of-type(2n){animation-delay:-3s}
.butterfly ellipse{transform-box:fill-box;transform-origin:center;animation:butterflyWings .9s ease-in-out infinite alternate}
.forest-sun{transform-box:fill-box;transform-origin:center;animation:sunnyBreathe 8s ease-in-out infinite}
.guide-cheer>.fox,.guide-cheer .coach-portrait>.fox{animation:friendCheer 1s ease-in-out both;transform-origin:50% 90%}
.guide-cheer .fox-arm,.guide-cheer .rabbit-paw{animation:happyWave .28s ease-in-out 3 alternate}
.guide-cheer .owl-wing{animation:owlFlap .3s ease-in-out 3 alternate}
.answer.correct{animation:answerBloom .55s ease-out}.quiz-feedback.positive .icon{animation:happyCheck .5s ease-out}
#answer-value:not(:empty){display:inline-block}.quiz-feedback.positive~.quiz-bottom #next-question{animation:nextStepIn .3s ease-out}
@keyframes forestMote{0%,100%{translate:0 4px;opacity:.3}50%{translate:10px -12px;opacity:.85}}
@keyframes forestLeaf{0%,100%{translate:0 0;rotate:-15deg;opacity:.5}50%{translate:18px 32px;rotate:40deg;opacity:.9}}
@keyframes forestSway{0%,100%{rotate:-1.5deg}50%{rotate:1.5deg}}
@keyframes butterflyWings{from{scale:1 1}to{scale:.4 1}}
@keyframes sunnyBreathe{0%,100%{scale:1;opacity:.85}50%{scale:1.06;opacity:1}}
@keyframes friendCheer{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-5deg)}48%{transform:translateY(0) rotate(3deg)}70%{transform:translateY(-8px) rotate(-2deg)}}
@keyframes happyWave{from{rotate:-9deg}to{rotate:14deg}}
@keyframes answerBloom{0%{scale:.96;box-shadow:0 0 0 0 #8eae7240}60%{scale:1.04;box-shadow:0 0 0 10px #8eae7200}100%{scale:1;box-shadow:0 0 0 0 #8eae7200}}
@keyframes happyCheck{from{scale:.6;rotate:-20deg}60%{scale:1.25;rotate:8deg}to{scale:1;rotate:0deg}}
@keyframes nextStepIn{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.forest-mote,.forest-leaf,.landscape .tree,.butterfly ellipse,.forest-sun,.guide-cheer>.fox,.guide-cheer .fox-arm,.guide-cheer .rabbit-paw,.guide-cheer .owl-wing,.answer.correct,.quiz-feedback.positive .icon,#next-question{animation:none!important}}
