:root{font-family:ui-rounded,'Arial Rounded MT Bold', 'Trebuchet MS',sans-serif;color:#243b36;background:#faf9f4;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:4px solid #214fc9;outline-offset:5px}button:disabled{cursor:default}header{max-width:1200px;margin:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;border:0;background:none;text-align:left;color:#246048;font-weight:900;font-size:25px;letter-spacing:-1px}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:5px}.brandmark{display:grid;place-items:center;background:#246048;border-radius:17px;width:49px;height:49px;font-size:43px;color:#daed9a}.quiet,.back,.listen{border:1px solid #d8dfd4;background:#fffdf9;border-radius:30px;padding:13px 20px;min-height:48px;font-size:15px;color:#344e45;font-weight:700}.quiet span{margin-left:10px}main{max-width:1120px;margin:auto;padding:24px 32px 40px;min-height:74vh}.welcome{display:flex;align-items:center;justify-content:center;gap:30px;margin:0 auto 36px}.mascot{width:165px;height:165px;object-fit:cover;mix-blend-mode:multiply;border-radius:50%}.eyebrow{font-size:12px;letter-spacing:2.5px;font-weight:800;color:#44745d;margin:0 0 12px}h1{font-size:clamp(32px,4.5vw,51px);letter-spacing:-2px;margin:0 0 12px;line-height:1.13}p{font-size:18px;line-height:1.5}.welcome p{color:#64766d;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.activity{position:relative;border:0;border-radius:30px;padding:30px 26px 25px;text-align:left;color:#233d34;box-shadow:0 7px 0 var(--shadow);background:var(--bg);transition:transform .15s;min-height:330px;overflow:hidden}.activity:hover{transform:translateY(-5px)}.letters{--bg:#e4ecff;--shadow:#c2cfef;--ink:#3354a6}.numbers{--bg:#ffedb9;--shadow:#ebd499;--ink:#98610e}.shapes{--bg:#f9dcd2;--shadow:#e9b9a8;--ink:#a34f35}.card-top{display:flex;justify-content:space-between;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:1.5px}.art{height:142px;display:flex;justify-content:center;align-items:center;gap:8px;color:var(--ink);font-size:95px;font-weight:900;letter-spacing:-7px}.art span:nth-child(2){transform:rotate(10deg);font-size:76px}.art span:first-child{transform:rotate(-10deg)}.activity h2{font-size:29px;margin:12px 0 7px;letter-spacing:-.8px}.activity p{font-size:16px;margin:0;color:#4b5d54}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px;font-weight:800;color:var(--ink)}.play{background:#fff9;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font-size:18px}.note{text-align:center;font-size:14px;color:#6a7b70;margin:33px 0 0}.note b{color:#37664f}footer{max-width:1120px;margin:auto;border-top:1px solid #e4e8df;padding:23px 32px;display:flex;justify-content:space-between;font-size:12px;color:#748276}footer span span{margin-left:7px;color:#4f7951}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:12px}.pill{font-size:14px;font-weight:800;color:#46624f;background:#e9efdf;padding:10px 17px;border-radius:25px}.game{text-align:center}.game h1{font-size:40px;margin:15px 0}.game .subtitle{color:#657368;margin:8px 0 25px}.mode-row{display:flex;justify-content:center;gap:10px;margin:20px 0 26px;flex-wrap:wrap}.mode{padding:14px 24px;border:1px solid #d9dfd2;border-radius:24px;background:white;font-weight:700;color:#435c4c}.mode.active{background:#246048;color:white;border-color:#246048}.alphabet{display:grid;grid-template-columns:repeat(7,1fr);gap:13px;max-width:850px;margin:20px auto}.tile{border:2px solid transparent;border-radius:22px;background:#e4ecff;color:#304f9e;min-height:82px;font-size:38px;font-weight:800;box-shadow:0 4px 0 #c8d4ef}.tile:nth-child(3n+2){background:#ffedba;color:#8d5b14;box-shadow:0 4px 0 #e8d196}.tile:nth-child(3n){background:#f9ddd2;color:#984a37;box-shadow:0 4px 0 #e6bfb0}.tile.selected{border-color:#246048;background:#e1edcc;color:#246048}.feedback{font-size:22px;font-weight:700;min-height:42px;line-height:1.4;margin:24px 0 14px;color:#246048}.choices{display:flex;justify-content:center;gap:24px;margin:40px 0 24px;flex-wrap:wrap}.choice{height:165px;min-width:170px;font-size:80px}.choice small{display:block;font-size:16px;margin-top:13px;letter-spacing:0}.shape{width:82px;height:82px;display:inline-block;vertical-align:middle;background:currentColor}.circle{border-radius:50%}.triangle{clip-path:polygon(50% 0,100% 100%,0 100%)}.square{border-radius:6px}.art .shape{width:61px;height:61px}.art .circle{color:#d96c48}.art .triangle{color:#467754}.art .square{color:#dc9b32}.primary{background:#246048;color:#fff;border:0;border-radius:28px;padding:17px 30px;font-weight:800;font-size:18px;min-height:56px}.primary:disabled{opacity:.5}.counting{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin:28px auto;max-width:720px}.animal{position:relative;width:135px;height:135px;border-radius:28px;border:3px solid #eedda9;background:#fff0c6;font-size:68px;box-shadow:0 5px 0 #e6d59f}.animal.counted{background:#e0eccd;border-color:#8cad6e;box-shadow:0 5px 0 #b6cf9b}.badge{position:absolute;right:5px;top:5px;font-size:19px;background:#246048;color:white;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.dots{display:flex;justify-content:center;gap:10px;margin:24px}.dot{width:11px;height:11px;border-radius:50%;background:#dce3d4}.dot.done{background:#508557}.match-target{width:145px;height:145px;border:3px dashed #9aae9a;border-radius:25px;display:grid;place-items:center;margin:25px auto;background:#edf2e6;color:#a6b59a}.match-target.success{color:#367755;border-style:solid}.celebrate{font-size:78px;margin:30px}dialog{border:0;border-radius:27px;padding:30px;max-width:430px;width:calc(100% - 32px);color:#243b36;box-shadow:0 15px 90px #18382d44}dialog::backdrop{background:#233d3666}.close{float:right;border:0;background:#eef1e8;border-radius:50%;width:40px;height:40px}dialog h2{margin:18px 0}dialog input{font:inherit;padding:14px;border:2px solid #c5d1bd;border-radius:12px;width:100%;margin:10px 0 15px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.setting input{width:27px;height:27px;margin:0;accent-color:#246048}.fine{font-size:14px;color:#62736a}.empty-sound{font-size:14px;color:#70694a}.success-pop{animation:pop .35s ease-out}@keyframes pop{50%{transform:scale(1.08)}}@media(max-width:760px){header{padding:20px}.brand{font-size:21px}.brand small{font-size:8px}.brandmark{width:40px;height:40px;font-size:35px}main{padding:16px 20px 30px}.welcome{gap:10px;margin-bottom:25px}.mascot{width:110px;height:110px}h1{letter-spacing:-1px}.welcome p{font-size:16px}.cards{gap:14px}.activity{padding:22px 18px;min-height:290px}.art{font-size:66px;height:117px;gap:4px}.art span:nth-child(2){font-size:57px}.art .shape{width:40px;height:40px}.activity h2{font-size:25px}.activity p{font-size:14px}.alphabet{grid-template-columns:repeat(6,1fr)}footer{font-size:12px;gap:15px}.choice{min-width:130px;height:145px}.choices{gap:15px}}@media(max-width:540px){.cards{grid-template-columns:1fr}.activity{min-height:0;padding:22px}.art{height:95px;float:left;width:120px;margin-right:16px;font-size:64px}.card-top{font-size:10px}.activity h2{margin-top:19px}.activity p{font-size:15px}.card-bottom{margin:19px 0 0}.welcome{justify-content:flex-start}.mascot{width:85px;height:85px}.eyebrow{font-size:10px}.welcome h1{font-size:29px}.welcome p{font-size:15px}.alphabet{grid-template-columns:repeat(4,1fr);gap:12px}.tile{min-height:72px}.choice{min-width:95px;height:125px;font-size:55px}.choice .shape{width:55px;height:55px}.choice small{font-size:14px}.game h1{font-size:30px}.listen,.back{padding:12px 14px}.animal{width:100px;height:100px;font-size:52px}.quiet{font-size:14px;padding:11px 14px}.toolbar .pill{display:none}footer span:last-child{display:none}.feedback{font-size:19px}.brand small{letter-spacing:1.2px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Little Fox brand */
.brandmark{object-fit:cover;background:#fff0d9}.brand small{font-size:12px;letter-spacing:3px}.brand{letter-spacing:-.5px}

.voice-settings{border-top:1px solid #d8dfd4;padding-top:20px}.voice-settings label{display:block;font-weight:700;margin-bottom:10px}.voice-settings select{font:inherit;width:100%;padding:13px;border:1px solid #b8c9b6;border-radius:12px;background:white;color:#243b36;margin-bottom:14px;min-height:48px}.voice-settings select:focus-visible{outline:3px solid #214fc9;outline-offset:3px}

.sorting-tray{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;background:#eff1e5;border-radius:25px;padding:20px;max-width:800px;margin:20px auto 28px}.piece-slot{display:grid;place-items:center;min-height:96px}.sort-piece{display:grid;place-items:center;width:96px;height:96px;border:3px solid transparent;border-radius:20px;background:#fff;box-shadow:0 4px 0 #d4ddce;touch-action:none;user-select:none;-webkit-user-select:none}.sort-piece .shape{width:58px;height:58px;pointer-events:none}.sort-piece.picked{border-color:#246048;outline:3px solid #c1d998;outline-offset:3px}.sorted-check{font-size:34px;color:#42724a}.baskets{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:800px;margin:auto}.basket{min-height:180px;border:3px dashed #91a988;border-radius:20px 20px 35px 35px;background:#edf2df;color:#345b43;display:flex;align-items:center;flex-direction:column;padding:18px 10px;gap:12px}.basket-sign .shape{width:43px;height:43px}.basket strong{font-size:20px}.basket-pieces{display:flex;gap:9px;min-height:30px}.basket-pieces .shape{width:28px;height:28px}.basket.drop-hover{background:#d4e9b0;border-style:solid;transform:scale(1.025)}.drag-ghost{position:fixed;z-index:1000;pointer-events:none;transform:translate(-50%,-50%) rotate(5deg);opacity:.95;box-shadow:0 10px 25px #20382f40}.drag-origin{opacity:.25}@media(max-width:760px){.sorting-tray{grid-template-columns:repeat(3,1fr);max-width:520px}.piece-slot{min-height:80px}.sort-piece{width:80px;height:80px}.sort-piece .shape{width:48px;height:48px}.baskets{gap:10px}.basket{min-height:155px;padding:15px 5px}.basket strong{font-size:16px}}

.number-ranges{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 0 22px}.number-ranges>span{font-size:15px;color:#536c5a}.number-ranges .mode{padding:12px 18px;min-height:48px}.counting-many{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;max-width:630px}.counting-many .animal{width:100%;height:96px;font-size:49px;border-radius:20px}.counting-many .badge{font-size:16px;width:25px;height:25px}@media(max-width:540px){.counting-many{gap:9px}.counting-many .animal{height:68px;font-size:32px;border-width:2px;border-radius:15px}.counting-many .badge{width:21px;height:21px;right:1px;top:1px;font-size:13px}.number-ranges .mode{padding:12px 14px}}
