@font-face{font-family:Nunito;src:url('fonts/nunito-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('fonts/nunito-800.woff2') format('woff2');font-weight:700 800;font-display:swap}
@font-face{font-family:Nunito;src:url('fonts/nunito-900.woff2') format('woff2');font-weight:900;font-display:swap}
:root{--ink:#34463f;--muted:#65736b;--green:#286957;--paper:#fffaf0;--line:#e5e5d8;--mint:#e1f1e6;--peach:#ffeadb;--butter:#fff0c2;--pink:#f9e3e7;--lavender:#ece6f8;--sky:#dfedf3}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button,a{color:inherit}button{cursor:pointer;border:0}a{text-decoration:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #1e7864;outline-offset:4px}h1,h2,h3,p{margin:0}button{user-select:none;-webkit-user-select:none}button,a{min-width:48px;min-height:48px}button svg{pointer-events:none}button:hover:not(:disabled),a:hover{filter:brightness(.985)}button:active:not(:disabled){transform:translateY(1px)}
.topbar{max-width:1224px;margin:auto;padding:24px 32px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:30px;letter-spacing:-1.5px}.brand>span>span:not(.brand-dot){color:var(--green)}.brand-dot{color:#bd7840}.brand-icon{height:46px;width:46px;border-radius:14px;background:#dcefe0;display:flex;justify-content:center;align-items:center;font-size:30px;letter-spacing:-5px;padding-right:6px;transform:rotate(-5deg)}.brand-icon span{font-size:25px;color:#b56d35!important;transform:translateY(3px)}.header-actions{display:flex;gap:12px}.quiet-button{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line);border-radius:50px;padding:10px 18px;font-size:14px;font-weight:800;min-height:48px}.quiet-button>span:first-child{font-size:21px}
main{max-width:1160px;margin:auto;padding:0 20px}main:focus,main:focus-visible{outline:none}.welcome{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:26px;padding:28px 10px 24px}.eyebrow{font-weight:800;letter-spacing:2px;font-size:11px;color:var(--green)}.eyebrow>span{font-size:16px;margin-right:6px}.welcome h1{font-size:clamp(40px,4.4vw,60px);line-height:1.08;letter-spacing:-2.6px;margin:14px 0 18px;font-weight:800}.welcome h1>span{color:var(--green);position:relative;display:inline-block}.welcome h1>span:after{content:'';position:absolute;bottom:-7px;left:0;width:97%;height:8px;border-top:3px solid #e6b45d;border-radius:50%;transform:rotate(-2deg)}.welcome-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--muted)}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;background:var(--green);color:white;border-radius:16px;padding:13px 22px;font-weight:800;box-shadow:0 4px 0 #1e5144;min-height:54px}.welcome .primary-button{margin-top:22px}.primary-button>span{font-size:23px}.welcome-note{display:block;margin-top:16px;font-size:12px;color:var(--muted)}.welcome-note>span{color:#a97743;font-size:18px;margin-right:5px}.bunny-button{background:transparent;display:flex;flex-direction:column;align-items:center;border-radius:80px;min-height:300px;padding:0}.bunny-art{width:100%;max-width:460px;overflow:visible}.bunny-label{margin-top:-20px;padding:7px 17px;border-radius:40px;background:#fff8e2;color:#74602f;border:1px solid #ebdfbd;font-size:13px;font-weight:800;transform:rotate(-4deg)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0 16px}.section-heading h2{font-size:24px;letter-spacing:-.5px}.section-heading p{font-size:12px;color:var(--muted)}.section-heading p>span{font-size:23px;padding-left:7px}.activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.activity-card{position:relative;display:block;border:1px solid #00000009;border-radius:24px;padding:16px 22px 19px;min-height:203px;box-shadow:0 4px 0 #3943350b;transition:transform .18s ease,box-shadow .18s ease}.activity-card:hover{transform:translateY(-3px);box-shadow:0 7px 0 #3943350b}.peach{--room-color:#b44f39;--room-bg:var(--peach)}.mint{--room-color:#286957;--room-bg:var(--mint)}.butter{--room-color:#8a601a;--room-bg:var(--butter)}.pink{--room-color:#8a4261;--room-bg:var(--pink)}.lavender{--room-color:#655395;--room-bg:var(--lavender)}.sky{--room-color:#326c86;--room-bg:var(--sky)}.activity-card{background:var(--room-bg)}.card-top{display:flex;align-items:center;justify-content:space-between}.card-icon{display:flex;align-items:center;justify-content:center;font-size:15px;letter-spacing:-1px;font-weight:800;color:var(--room-color);border:1px solid #0000000c;background:#ffffff70;border-radius:11px;padding:3px 9px;min-height:30px;min-width:34px}.card-arrow{font-size:21px;color:var(--room-color)}.card-preview{height:64px;display:flex;align-items:center;justify-content:center;gap:16px;position:relative;color:var(--room-color)}.card-preview svg{height:64px;width:155px}.activity-card h3{font-size:20px;letter-spacing:-.4px;margin-top:6px}.activity-card p{font-size:13px;margin-top:3px;color:#55665d}.mini-letter{font-size:60px;font-weight:800;line-height:1;transform:rotate(-6deg)}.mini-letter>span{font-size:45px;color:#c17b52}.mini-picture{font-size:37px;transform:rotate(12deg)}.mini-friends{font-size:29px;letter-spacing:4px}.mini-number{font-size:35px;font-weight:800;transform:rotate(10deg);background:#fff9e7;border-radius:12px;line-height:1.3;padding:0 12px}.mini-equation{display:flex;align-items:center;gap:10px;font-size:28px}.mini-equation b{font-size:18px}.mini-equation strong{font-size:36px}.mini-word{font-size:41px;letter-spacing:7px;position:relative;font-weight:800}.mini-word>span{color:#996054}.mini-word>i{position:absolute;bottom:0;left:7px;right:6px;height:4px;background:#baa9d5;border-radius:5px}.mini-word>i:after{content:'🍃';font-size:17px;position:absolute;bottom:-11px;left:36px;letter-spacing:0}.mini-cat{font-size:37px}.mini-bubble{width:55px;height:55px;border-radius:50%;border:2px solid #ffffffba;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;background:#ffffff4a;box-shadow:inset -4px -6px 0 #9fc5d226;position:relative}.mini-bubble:before{content:'';width:12px;height:5px;border-radius:50%;background:white;position:absolute;top:9px;left:9px;transform:rotate(-45deg)}.mini-bubble.small{width:47px;height:47px;margin-top:16px}.mini-bubble.tiny{width:38px;height:38px;font-size:20px;margin-top:-18px}footer{display:flex;align-items:center;justify-content:center;gap:9px;padding:25px 20px;font-size:12px;color:var(--muted)}footer>span{font-size:21px;color:#ae7b4c}
.room{padding-top:16px}.room-heading{display:grid;grid-template-columns:110px 1fr 110px;align-items:center;text-align:center}.room-heading h1{font-size:35px;font-weight:800;letter-spacing:-1px}.room-heading .eyebrow{color:var(--room-color);font-size:10px}.home-button{display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:16px;font-size:26px;background:#fffdf8;min-height:54px}.home-button span{font-size:14px;font-weight:800}.room-bloom{font-size:44px;color:#b9c9bb;text-align:right;padding-right:15px}.room-bloom.bloomed{color:#d5a13d;animation:bloom .6s ease}.room-hint{text-align:center;color:var(--muted);font-size:15px;margin:10px auto 16px;max-width:660px}.toolbar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.pill{padding:9px 18px;background:white;border:1px solid #d9dfd7;border-radius:15px;font-size:14px;font-weight:800;min-height:48px}.pill.active{background:var(--room-bg);border-color:var(--room-color);color:var(--room-color)}.stage{background:var(--room-bg);border:1px solid #0000000a;border-radius:30px;min-height:330px;padding:24px;position:relative}.room-message{min-height:30px;margin:16px auto 14px;text-align:center;font-size:15px;color:var(--muted)}.room-message.success{color:var(--green);font-weight:800}.room-nav{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--line)}.room-nav a{font-size:12px;padding:8px 11px;border:1px solid transparent;border-radius:12px;display:flex;align-items:center;gap:7px;min-height:48px}.room-nav a>span:first-child{font-weight:800;font-size:16px}.room-nav a.selected{background:var(--room-bg);border-color:#00000012}.little-label{font-size:12px;color:var(--muted);text-align:center;display:block}
.letter-explorer{display:flex;flex-direction:column;align-items:center}.letter-picture{font-size:48px;line-height:1.3}.big-letter{background:transparent;color:var(--letter-color);font-size:clamp(130px,17vw,190px);font-weight:800;line-height:1.05;min-width:250px;min-height:210px;border-radius:28px;text-shadow:0 4px 0 #00000008}.letter-explorer p{font-size:23px;font-weight:800;margin-bottom:6px}.pager{display:grid;grid-template-columns:54px 1fr 54px;gap:14px;align-items:center;margin-top:18px}.circle-button{height:54px;width:54px;font-size:27px;border-radius:50%;background:#ffffffba;border:1px solid #00000010}#rail-slot{min-width:0}.letter-rail{display:flex;gap:8px;overflow-x:auto;padding:7px 5px 11px;overscroll-behavior-x:contain;scrollbar-width:thin}.letter-chip{min-width:52px;height:54px;border:1px solid #ccd3cb;border-radius:13px;background:#fffdf9;font-size:22px;font-weight:800;flex-shrink:0;position:relative}.letter-chip.selected{background:var(--room-color);color:white;border-color:var(--room-color)}.letter-chip.traced:after{content:'★';position:absolute;top:-8px;right:-3px;font-size:17px;color:#8a601a;background:#fff0c2;width:20px;height:20px;border-radius:50%;line-height:20px}
.trace-layout{display:grid;grid-template-columns:180px minmax(0,440px);justify-content:center;gap:25px;align-items:center}.trace-sidebar{text-align:center}.trace-glyph{font-size:98px;color:var(--green);font-weight:800;line-height:1.2}.trace-picture{font-size:38px;display:block}.trace-sidebar p{font-size:14px;line-height:1.6;margin:12px 0}.trace-star{font-size:36px;color:#8a8f7e}.trace-star.earned{color:#987020}.trace-board{display:block;width:100%;height:auto;border-radius:24px;background:#fffcf6;touch-action:none;user-select:none}.writing-line{stroke:#e8e6d8;stroke-width:2;stroke-dasharray:5 7}.trace-track{fill:none;stroke:#e3ebdf;stroke-width:38;stroke-linecap:round;stroke-linejoin:round}.trace-dots{fill:none;stroke:#82957d;stroke-width:5;stroke-dasharray:1 14;stroke-linecap:round;stroke-linejoin:round}.stroke-markers circle{fill:#286957;stroke:#fffcf6;stroke-width:3}.stroke-markers text{fill:white;font-weight:800;font-size:15px}.paint-line{fill:none;stroke-width:21;stroke-linecap:round;stroke-linejoin:round;opacity:.72}.stroke-markers{pointer-events:none}#trace-rail{margin:16px auto 0;max-width:760px}.trace-access{padding-top:8px}
.count-stage{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px;max-width:780px;margin:auto;min-height:215px}.count-readout{text-align:center}.count-readout>span{font-size:94px;font-weight:800;line-height:1.1;color:var(--room-color)}.count-readout p{font-size:13px;max-width:110px;margin:auto}.friends{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:15px;max-width:540px}.friend{height:83px;width:83px;min-width:64px;background:#ffffff78;border-radius:24px;position:relative;border:2px solid transparent;flex-shrink:0;touch-action:none}.friend>span:first-child{font-size:43px;display:block}.friend.counted{border-color:var(--room-color);background:#fffaf0}.count-badge{position:absolute;right:-4px;top:-5px;height:28px;min-width:28px;border-radius:50%;background:var(--room-color);color:white;font-size:16px;font-weight:800;display:none;align-items:center;justify-content:center}.friend.counted .count-badge{display:flex}.answer-prompt{text-align:center;font-size:19px;font-weight:800;margin:20px 0 12px}.answers{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;max-width:900px;margin:auto}.answer{height:65px;min-width:65px;padding:0 16px;background:#ffffffd4;border:2px solid #00000012;border-radius:18px;font-size:29px;font-weight:800;color:var(--room-color)}.answer-success{background:#e7f2df;border-color:#52805b}.answer-success:after{content:' ✓';font-size:17px}.equation{display:flex;justify-content:center;gap:22px;align-items:center;font-size:48px;font-weight:800;color:var(--room-color);line-height:1.2;margin-bottom:24px}.equation>span:last-child{background:#ffffff82;border-radius:16px;min-width:68px;text-align:center}.math-garden{display:flex;justify-content:center;align-items:center;gap:18px;max-width:880px;margin:auto;min-height:90px}.flower-group{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.garden-plus{font-size:36px;font-weight:800}.friend.flower{height:74px;width:70px;border-radius:20px}.friend.taken{background:#ffffff22;border:2px dashed #bd9ba7;opacity:.6}.friend.taken>span:first-child{visibility:hidden}.take-away{display:flex;margin:22px auto 10px;background:#8a4261;box-shadow:0 4px 0 #663046;font-size:19px}.math-garden+.answer-prompt{margin-top:24px}
.reading-stage{max-width:900px;text-align:center;margin:auto;padding:4px 24px 14px;border-radius:22px}.reading-picture{font-size:57px}.read-units{font-size:clamp(65px,9vw,110px);font-weight:800;display:flex;justify-content:space-evenly;gap:14px;color:#4d4758;margin:12px 0 28px}.read-units span{padding:0 8px;line-height:1.35;border-bottom:4px solid transparent;border-radius:9px;transition:background .12s}.read-units span.read-lit{background:#ffffff78}.read-units span.current-sound{border-bottom-color:#786094}.word-colors .read-units span:nth-child(3n+1){color:#8b4434}.word-colors .read-units span:nth-child(3n+2){color:#326850}.word-colors .read-units span:nth-child(3n){color:#635090}.read-units.read-line{font-size:clamp(26px,4.7vw,48px);gap:8px;flex-wrap:wrap;justify-content:center;min-height:122px;align-items:center}.read-track{position:relative;height:20px;background:#cbbde1;border-radius:30px;margin:0 auto 33px;width:calc(100% - 70px);touch-action:none}.read-track:before{content:'';position:absolute;top:-24px;bottom:-24px;left:-20px;right:-20px}.read-fill{width:0;height:100%;background:#85709e;border-radius:30px;pointer-events:none}.read-handle{position:absolute;left:0;top:50%;transform:translate(-50%,-50%);width:65px;height:65px;background:#fffaf0;border:3px solid #88719e;box-shadow:0 3px 0 #73618a30;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;cursor:grab;user-select:none;touch-action:none}.read-handle:active{cursor:grabbing}.grownup-cue{font-size:13px;line-height:1.65;margin:22px auto 0;padding:12px 18px;border:1px solid #cbbde1;border-radius:16px;max-width:620px;color:#655476}.grownup-cue strong{font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.reading-dark{background:#34373c;color:#fff3df;padding-top:20px}.reading-dark .read-units span{color:#fff4e2}.reading-dark.word-colors .read-units span:nth-child(3n+1){color:#ffba9f}.reading-dark.word-colors .read-units span:nth-child(3n+2){color:#b3e0bd}.reading-dark.word-colors .read-units span:nth-child(3n){color:#d5c4ff}.reading-dark .read-units span.read-lit{background:#ffffff12}.reading-dark .little-label,.reading-dark .grownup-cue{color:#e4dbef}.reading-dark .read-units span.current-sound{border-color:#d4c0e8}
.bubble-target{display:flex;align-items:center;justify-content:center;gap:17px;font-weight:800;color:var(--room-color)}.bubble-target>span:first-child{font-size:20px}.bubble-target strong{font-size:58px;line-height:1.2}.bubble-target strong>span{margin-left:6px}.bubble-target>span:last-child{font-size:35px}.bubble-sky{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;max-width:810px;margin:25px auto 4px;align-items:center;justify-items:center;min-height:240px}.bubble{width:112px;height:112px;border-radius:50%;border:3px solid #ffffffc0;background:radial-gradient(circle at 30% 28%,#ffffffc9,#ffffff24 68%);box-shadow:inset -6px -7px 0 #92b8c61a,0 5px 0 #75a2b015;font-size:46px;font-weight:800;color:var(--bubble-color);position:relative;touch-action:none;transition:opacity .2s,transform .2s}.bubble:before{content:'';width:23px;height:8px;border-radius:50%;background:white;position:absolute;top:18px;left:17px;transform:rotate(-45deg)}.bubble.popped{opacity:0;pointer-events:none;transform:scale(.6)}.floating .bubble:not(.popped){animation:float 4s ease-in-out infinite;animation-delay:var(--bubble-delay)}
dialog{width:min(590px,calc(100% - 28px));padding:32px;border:1px solid #d6dfd3;border-radius:28px;background:#fffaf0;color:var(--ink);max-height:calc(100dvh - 40px);box-shadow:0 24px 80px #1e3f3540}dialog::backdrop{background:#233f3955;backdrop-filter:blur(4px)}dialog h2{font-size:29px;letter-spacing:-.6px;margin:10px 0}dialog>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:12px 0}.dialog-close{position:absolute;right:12px;top:10px;height:48px;width:48px;border-radius:50%;font-size:29px;background:transparent}.parent-hold{display:flex;position:relative;overflow:hidden;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--mint);border:1px solid #b9d4bf;border-radius:24px;width:180px;height:156px;margin:24px auto;font-weight:800;touch-action:none}.parent-hold>span:first-child{font-size:44px}#hold-progress{height:8px;position:absolute;bottom:0;left:0;background:var(--green);width:0}.setting{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:82px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}.setting>span{max-width:330px}.setting strong{display:block;font-size:15px}.setting small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.setting input[type=checkbox]{appearance:none;width:54px;height:32px;border-radius:30px;background:#cacfc7;flex-shrink:0;position:relative;cursor:pointer;margin:8px}.setting input[type=checkbox]:before{content:'';position:absolute;left:4px;top:4px;width:24px;height:24px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002}.setting input[type=checkbox]:checked{background:var(--green)}.setting input[type=checkbox]:checked:before{left:26px}.setting select{max-width:160px;background:white;border:1px solid #ccd3cb;border-radius:12px;padding:10px 8px;font-size:13px;min-height:48px}.parent-note{padding:16px 0;font-size:13px;color:var(--muted)}#settings-form>.primary-button{float:right;margin-bottom:6px}#settings-form:after{content:'';display:block;clear:both}
#main:focus,#main:focus-visible{outline:none}.jiggle{animation:jiggle .34s ease}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:12px;left:20px;z-index:50;background:white;padding:12px;border:2px solid var(--green);border-radius:10px}
@keyframes jiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}65%{transform:rotate(3deg)}}@keyframes bloom{0%{transform:scale(.6) rotate(-12deg)}70%{transform:scale(1.1) rotate(6deg)}100%{transform:scale(1)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.quiet-feedback .room-bloom{visibility:hidden}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:1300px){.welcome{padding-top:34px}.activity-card{min-height:214px}.card-preview{height:72px}}
@media(min-width:801px) and (max-height:820px){.topbar{padding-top:16px;padding-bottom:10px}.welcome{padding:10px 10px 16px}.welcome h1{font-size:44px;margin:9px 0 12px;letter-spacing:-1.9px}.welcome-copy>p:not(.eyebrow){font-size:14px;line-height:1.5}.welcome .primary-button{margin-top:13px;min-height:48px;padding:8px 19px;font-size:14px}.welcome-note{display:none}.bunny-button{min-height:225px}.bunny-art{max-width:330px}.bunny-label{font-size:11px;margin-top:-15px}.section-heading{padding:5px 0 11px}.section-heading h2{font-size:22px}.activity-card{min-height:154px;padding:10px 20px 12px;border-radius:21px}.card-top{height:27px}.card-icon{min-height:25px;font-size:12px}.card-preview{height:45px}.card-preview svg{height:43px}.mini-letter{font-size:45px}.mini-letter>span{font-size:34px}.mini-picture,.mini-cat{font-size:29px}.mini-friends{font-size:25px}.mini-number{font-size:28px}.mini-bubble{width:43px;height:43px;font-size:23px}.mini-bubble.small{width:37px;height:37px;font-size:21px}.mini-bubble.tiny{width:29px;height:29px;font-size:16px}.mini-word{font-size:31px}.activity-card h3{font-size:18px;margin-top:4px}.activity-card p{font-size:12px}.activity-grid{gap:14px}.stage{padding:18px;min-height:280px}.count-stage{min-height:145px}.big-letter{font-size:140px;min-height:155px}.letter-picture{font-size:35px}.letter-explorer p{font-size:21px}.letter-explorer .little-label{font-size:11px}.letter-chip{height:48px;min-width:48px}.pager{margin-top:12px}.trace-layout{grid-template-columns:160px minmax(0,340px)}.bubble-sky{min-height:190px;gap:17px}.bubble{height:92px;width:92px}.reading-picture{font-size:40px}.read-units{font-size:76px;margin:6px 0 25px}.read-units.read-line{font-size:39px;min-height:95px}.grownup-cue{margin-top:15px;padding:8px 18px}.room-hint{margin-bottom:12px}.toolbar{margin-bottom:13px}.room-heading h1{font-size:31px}.room{padding-top:8px}.room-message{margin-top:12px;margin-bottom:9px}.room-nav{padding-top:9px}}
@media(max-width:800px){.topbar{padding:18px 24px}.welcome{gap:15px;padding-top:24px}.welcome h1{font-size:45px}.welcome-copy>p:not(.eyebrow){font-size:15px}.eyebrow{font-size:9px;letter-spacing:1.5px}.welcome .eyebrow{max-width:250px}.bunny-button{min-height:230px}.activity-grid{grid-template-columns:repeat(3,1fr);gap:12px}.activity-card{padding:14px;min-height:202px}.activity-card h3{font-size:17px}.activity-card p{font-size:12px}.mini-friends{font-size:24px;letter-spacing:0}.card-preview{gap:8px}.room-nav a{font-size:10px;padding:7px;gap:4px}.bubble-sky{grid-template-columns:repeat(4,1fr);gap:16px}.bubble{width:95px;height:95px;font-size:39px}.trace-layout{grid-template-columns:140px minmax(0,400px)}.friend{width:74px;height:74px}.math-garden{gap:10px}.flower-group{gap:8px}.friend.flower{width:62px;min-width:62px;height:68px}.count-stage{grid-template-columns:110px 1fr;gap:16px}.friends{gap:12px}}
@media(max-width:600px){.topbar{padding:14px 17px;gap:8px}.brand{font-size:24px;gap:8px}.brand-icon{width:38px;height:38px;font-size:25px;border-radius:11px}.brand-icon span{font-size:22px}.header-actions{gap:6px}.quiet-button{font-size:12px;padding:7px 10px;gap:5px;min-width:48px}.quiet-button>span:first-child{font-size:17px}#sound-label{display:none}main{padding:0 15px}.welcome{grid-template-columns:1fr;gap:8px;padding:22px 5px 8px;position:relative}.welcome h1{font-size:44px;letter-spacing:-2px;margin-top:13px}.welcome-copy>p:not(.eyebrow){font-size:14px}.welcome-copy .eyebrow{max-width:100%;font-size:9px}.welcome .primary-button{margin-top:18px;padding:11px 18px;font-size:14px;gap:28px}.welcome-note{font-size:11px;margin-top:14px}.bunny-button{position:absolute;right:-8px;bottom:2px;min-height:0;width:185px;height:139px}.bunny-label{display:none}.welcome-copy{padding-bottom:14px}.section-heading{padding:18px 3px 12px}.section-heading h2{font-size:20px}.section-heading p{display:none}.activity-grid{grid-template-columns:repeat(2,1fr);gap:12px}.activity-card{min-height:186px;padding:13px 14px 15px;border-radius:21px}.card-icon{font-size:12px;min-height:26px}.card-preview{height:60px}.activity-card h3{font-size:17px;margin-top:7px}.activity-card p{font-size:11px;line-height:1.45;max-width:150px}.mini-letter{font-size:50px}.mini-letter>span{font-size:38px}.mini-picture,.mini-cat{font-size:30px}.mini-friends{font-size:23px}.mini-number{font-size:29px;padding:0 8px}.mini-equation{font-size:23px;gap:6px}.mini-equation strong{font-size:30px}.mini-word{font-size:34px;letter-spacing:4px}.mini-bubble{width:44px;height:44px;font-size:23px}.mini-bubble.small{width:36px;height:36px;font-size:21px}.mini-bubble.tiny{width:30px;height:30px;font-size:16px}.room{padding-top:8px}.room-heading{grid-template-columns:70px 1fr 40px;gap:7px}.room-heading h1{font-size:25px}.room-heading .eyebrow{font-size:8px}.home-button{font-size:22px;gap:4px;min-height:48px;border-radius:13px}.home-button span{font-size:11px}.room-bloom{font-size:30px;padding-right:0}.room-hint{font-size:13px;line-height:1.6;margin:12px 6px}.toolbar{gap:7px;margin-bottom:14px}.pill{font-size:12px;padding:9px 12px;border-radius:12px}.stage{padding:16px 12px;border-radius:23px;min-height:300px}.room-message{font-size:13px;min-height:42px;margin:13px 8px 5px}.room-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding-top:9px}.room-nav a{display:flex;flex-direction:column;gap:2px;justify-content:center;font-size:10px;text-align:center}.letter-picture{font-size:42px}.big-letter{font-size:150px;min-width:190px;min-height:180px}.letter-explorer p{font-size:21px}.pager{grid-template-columns:48px minmax(0,1fr) 48px;gap:7px;margin-top:12px}.circle-button{width:48px;height:48px;font-size:25px}.letter-chip{min-width:48px;height:50px;font-size:21px}.trace-layout{display:flex;flex-direction:column;gap:8px}.trace-sidebar{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}.trace-glyph{font-size:37px}.trace-picture{font-size:25px}.trace-sidebar p{font-size:11px;line-height:1.4;margin:0;text-align:left}.trace-star{font-size:28px;margin-left:4px}.trace-board{max-width:420px}.trace-access{font-size:10px}#trace-rail{margin-top:7px}.count-stage{display:flex;flex-direction:column;gap:16px;min-height:200px}.count-readout{display:flex;align-items:center;gap:10px}.count-readout>span{font-size:45px}.count-readout p{font-size:12px;max-width:150px}.friends{gap:12px}.friend{width:68px;height:68px;border-radius:19px}.friend>span:first-child{font-size:37px}.count-badge{font-size:14px;height:25px;min-width:25px}.answer-prompt{font-size:17px;margin-top:19px}.answers{gap:7px}.answer{height:54px;min-width:49px;padding:0 10px;font-size:24px;border-radius:14px}.equation{font-size:36px;gap:13px;margin:5px 0 19px}.equation>span:last-child{min-width:54px}.math-garden{gap:10px}.flower-group{max-width:135px;gap:8px}.friend.flower{width:58px;min-width:58px;height:62px;border-radius:16px}.take-away{font-size:16px;min-height:52px;margin-top:18px}.garden-plus{font-size:25px}.reading-stage{padding:5px 6px 12px}.reading-picture{font-size:44px}.read-units{font-size:65px;gap:6px;margin:12px 0 27px}.read-units span{padding:0 4px}.read-units.read-line{font-size:30px;gap:7px;min-height:135px}.read-track{width:calc(100% - 56px)}.read-handle{height:56px;width:56px;font-size:27px}.reading-stage>.little-label{font-size:10px}.grownup-cue{font-size:12px;padding:12px 10px;margin-top:18px}.reading-dark{padding:14px 8px}.bubble-target strong{font-size:46px}.bubble-target{gap:10px}.bubble-sky{grid-template-columns:repeat(3,1fr);gap:18px 8px;margin-top:20px}.bubble{width:85px;height:85px;font-size:35px}.bubble:before{width:18px;height:6px;top:14px;left:13px}.bubble-sky{min-height:285px}footer{font-size:10px;padding:19px 10px;gap:6px}dialog{padding:28px 20px;max-height:calc(100dvh - 24px)}dialog h2{font-size:25px}.setting{gap:10px}.setting strong{font-size:13px}.setting small{font-size:11px}.setting select{max-width:136px}.setting input[type=checkbox]{margin:4px}#settings-form>.primary-button{float:none;display:flex;margin-top:13px;width:100%}}
@media(max-width:360px){.brand{font-size:22px}.brand-icon{display:none}.bunny-button{width:140px;right:-5px;bottom:9px}.welcome h1{font-size:39px}.welcome-note{font-size:10px}.activity-card{padding:12px;min-height:185px}.activity-card h3{font-size:15px}.card-preview{gap:4px}.mini-friends{font-size:20px}.bubble{width:76px;height:76px}.bubble-sky{gap:15px 5px}.room-heading h1{font-size:22px}.read-units{font-size:59px}}
/* Painting keeps a fixed coordinate space; resizing never clears the artwork. */
.paint-tools{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:12px;flex-wrap:wrap}.rainbow-meter{display:flex;align-items:center;gap:7px;font-size:24px;font-weight:800;color:#788676}.rainbow-slot{font-size:30px;color:#bdc6b8;line-height:1.3}.rainbow-slot.filled{color:#d49720;text-shadow:0 2px 0 #ffe0a3}.brush-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.paint-brush{padding:8px 14px;border-radius:16px;background:#fff9ee;border:2px solid #e1dcc9;font-size:13px;font-weight:800}.paint-brush[aria-pressed=true]{border-color:#286957;background:#e3f2e6}.rainbow-brush{background:linear-gradient(110deg,#fff0f0,#fff4ce,#e3f6de,#e4edff,#f0e3fa)}.rainbow-brush:disabled{color:#707567;border-style:dashed;opacity:.8}.rainbow-brush[aria-pressed=true]{background:linear-gradient(110deg,#ffe0e0,#ffedb6,#d3f0ca,#d2e5ff,#e8d5fa);border-color:#9a6dd0}.trace-layout{grid-template-columns:145px minmax(0,480px);gap:20px}.trace-board{position:relative;aspect-ratio:480/420;border:2px solid #eee8db;overflow:hidden;background:#fffdf8;isolation:isolate}.trace-board canvas,.trace-board svg{display:block;width:100%;height:100%;position:absolute;inset:0;pointer-events:none}.trace-board svg{overflow:visible}.trace-board.rainbow-painting{border-color:#c9acd9;box-shadow:0 0 0 4px #e5d5f040}.trace-sidebar .trace-picture{font-size:48px}.trace-sidebar p{font-size:13px}.trace-direction{fill:none;stroke:#6188bc;stroke-width:3;stroke-dasharray:3 12;stroke-linecap:round;opacity:.4}.stroke-guide.active .trace-direction{stroke:#47955b;stroke-width:5;opacity:.65}.stroke-markers .marker-leader{fill:none;stroke:#51836a;stroke-width:2}.stroke-markers text{text-anchor:middle}.stroke-guide.painted circle{fill:#327a5b}.stroke-guide.painted .trace-direction{opacity:0}.stroke-markers .guide-dot{fill:#fff;stroke:#55ad70;stroke-width:8;filter:drop-shadow(0 1px 3px #4c78584d)}.stroke-markers.finished{opacity:0;transition:opacity .25s}.trace-board[data-ready]:not([data-ready=true]):after{content:'⋯'}.trace-board:not([data-ready]):after{content:'⋯';position:absolute;top:45%;width:100%;text-align:center;color:#768173}#trace-celebration{position:absolute;inset:0;pointer-events:none}#trace-celebration span{position:absolute;left:var(--x);top:var(--y);font-size:30px;opacity:0;text-shadow:0 2px 2px #ffffff90}#trace-celebration.celebrating span{animation:paint-stars 1.4s var(--delay) both}.rainbow-reveal{animation:rainbow-reveal 1.2s .65s both}@keyframes paint-stars{0%{opacity:0;transform:scale(.3) translateY(25px) rotate(-20deg)}20%{opacity:1;transform:scale(1.15) translateY(-5px) rotate(5deg)}60%{opacity:1}100%{opacity:0;transform:scale(.9) translateY(-65px) rotate(20deg)}}@keyframes rainbow-reveal{0%{filter:hue-rotate(0)}100%{filter:hue-rotate(360deg)}}.reduce-motion #trace-celebration.celebrating span{animation:none;opacity:1;font-size:22px}.reduce-motion .rainbow-reveal{animation:none}.quiet-feedback #trace-celebration{display:none}
@media(min-width:801px) and (max-height:820px){.trace-layout{grid-template-columns:130px minmax(0,430px)}.paint-tools{margin-bottom:5px;gap:20px}.trace-sidebar .trace-picture{font-size:38px}}
@media(max-width:800px){.trace-layout{grid-template-columns:125px minmax(0,460px);gap:14px}}
@media(max-width:600px){.paint-tools{gap:5px;margin-bottom:12px}.rainbow-meter{font-size:19px;gap:6px}.rainbow-slot{font-size:26px}.paint-brush{font-size:11px;padding:6px 10px;min-height:48px}.trace-layout{display:flex;gap:8px}.trace-sidebar .trace-picture{font-size:27px}.trace-sidebar p{font-size:11px;line-height:1.3}.trace-board{width:100%;max-width:480px}.trace-access{line-height:1.5}}
.paint-praise{position:absolute;left:50%;top:3%;transform:translateX(-50%);background:#ffffffed;border-radius:40px;padding:9px 24px;color:#34463f;font-size:24px;font-weight:900;white-space:nowrap;max-width:96%;box-shadow:0 5px 24px #59635120;pointer-events:none;opacity:0}.paint-praise.show-praise{animation:paint-praise 2.5s both}.rainbow-slot.next-up{animation:rainbow-next 1.8s ease-in-out infinite}@keyframes paint-praise{0%{opacity:0;transform:translateX(-50%) scale(.85)}12%,75%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(1)}}@keyframes rainbow-next{50%{color:#d49720;transform:scale(1.15)}}.reduce-motion .paint-praise.show-praise{animation:none;opacity:1}.reduce-motion .rainbow-slot.next-up{animation:none;color:#d49720}.quiet-feedback .paint-praise{display:none}@media(max-width:600px){.paint-praise{font-size:17px;padding:7px 16px}}

/* Child-facing surface: objects, symbols, and direct controls. */
.topbar{padding:10px 20px;min-height:68px;max-width:1280px}.brand{font-size:26px}.brand-icon{width:42px;height:42px}.header-actions{gap:8px}.quiet-button{width:48px;height:48px;padding:0;justify-content:center;border-radius:15px;background:#ffffffa0}.quiet-button[aria-pressed=false]{background:#ecebe3}.quiet-button>span:first-child{font-size:25px}main{max-width:1280px;padding:0 16px}.toy-home{padding:15px 10px 25px}.activity-grid{gap:18px}.activity-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:230px;padding:22px;border-radius:30px;box-shadow:0 6px 0 #39433515}.activity-card h2{font-size:25px;font-weight:900;color:var(--room-color);line-height:1.2}.activity-card:active{transform:translateY(3px);box-shadow:0 2px 0 #39433515}.card-preview{height:120px;gap:18px}.card-preview svg{width:210px;height:120px}.mini-letter{font-size:112px}.mini-letter>span{font-size:78px}.mini-picture,.mini-cat{font-size:57px}.mini-friends{font-size:39px;letter-spacing:0}.mini-number{font-size:57px}.mini-equation{font-size:45px;gap:13px}.mini-equation b{font-size:35px}.mini-equation strong{font-size:62px}.mini-word{font-size:74px;letter-spacing:9px}.mini-bubble{width:86px;height:86px;font-size:47px}.mini-bubble.small{width:72px;height:72px;font-size:38px}.mini-bubble.tiny{width:58px;height:58px;font-size:30px}.room{padding:0 10px 16px}.room-heading{display:grid;grid-template-columns:56px 1fr 56px;gap:10px;margin-bottom:10px;min-height:58px}.home-button{width:56px;height:56px;min-height:56px;font-size:33px;background:white}.room-heading>.toolbar{margin:0;gap:9px}.pill{min-width:56px;height:56px;min-height:56px;padding:6px 14px;font-size:25px;border-radius:17px}.toolbar.segmented .pill{padding:6px 15px}.room-bloom{font-size:35px;padding:0;text-align:center}.stage{padding:14px 18px;min-height:350px;border-radius:27px}.paint-tools{max-width:540px;margin:0 auto 8px;justify-content:space-between;gap:8px;flex-wrap:nowrap}.rainbow-meter{gap:5px;font-size:22px}.rainbow-slot{font-size:30px}.brush-tools{gap:7px;flex-wrap:nowrap}.paint-brush{position:relative;font-size:26px;padding:5px;width:56px;height:52px;min-width:52px;min-height:52px}.rainbow-brush:disabled:after{content:'🔒';font-size:13px;position:absolute;right:0;bottom:0}.trace-layout{display:block}.trace-board{width:min(100%,max(360px,calc((100dvh - 320px)*8/7)),700px);max-width:100%;margin:auto;border-radius:22px}.trace-sidebar{display:none}#trace-rail{max-width:900px;margin:9px auto 0}.letter-chip{width:54px;min-width:54px;height:54px;font-size:25px}.letter-rail{gap:8px;padding-bottom:8px}.letter-explorer{padding:8px}.letter-picture{font-size:65px}.big-letter{font-size:clamp(160px,24vh,260px);min-height:215px;min-width:240px}.letter-explorer p{font-size:27px}.count-stage{min-height:260px}.count-readout>span{font-size:110px}.friends{gap:18px}.friend{width:92px;height:92px}.friend>span:first-child{font-size:49px}.answer-prompt{font-size:30px;margin:15px 0 12px}.answers{margin-top:20px}.answer{min-width:66px;height:66px;font-size:32px}.equation{font-size:60px;margin:16px 0 28px}.math-garden{margin-bottom:25px}.friend.flower{width:78px;min-width:78px;height:83px}.take-away{font-size:27px;padding:10px 22px;min-height:60px;margin:20px auto 10px}.reading-picture{font-size:69px}.reading-stage{padding-top:15px;padding-bottom:35px}.read-units{margin-top:12px;margin-bottom:35px}.read-track{margin-bottom:8px}.grownup-cue{padding:4px 10px;margin:30px auto 0;font-size:16px}.bubble-target>span:first-child{font-size:38px}.bubble-sky{min-height:290px}.helping{animation:help-ring 1.1s ease-in-out 2}@keyframes help-ring{50%{box-shadow:0 0 0 8px #eac365aa;border-color:#d6a129}}.reduce-motion .helping{animation:none;box-shadow:0 0 0 5px #eac365aa}
@media(max-width:800px){.toy-home{padding:12px 3px 20px}.activity-grid{grid-template-columns:repeat(2,1fr);gap:16px}.activity-card{min-height:235px}.trace-board{width:min(100%,max(360px,calc((100dvh - 320px)*8/7)),700px)}}
@media(max-width:600px){.topbar{padding:8px 16px;min-height:64px}.brand{font-size:24px}.brand-icon{display:none}.header-actions{gap:7px}.quiet-button{width:48px;height:48px}.quiet-button>span:first-child{font-size:22px}main{padding:0 10px}.toy-home{padding:10px 2px 18px}.activity-grid{gap:13px}.activity-card{min-height:190px;padding:13px 7px;gap:12px;border-radius:25px}.activity-card h2{font-size:21px}.card-preview{height:110px;gap:8px}.card-preview svg{height:105px;width:145px}.mini-letter{font-size:72px}.mini-letter>span{font-size:49px}.mini-picture,.mini-cat{font-size:37px}.mini-friends{font-size:26px;letter-spacing:0;max-width:86px}.mini-number{font-size:40px;padding:0 6px}.mini-equation{font-size:27px;gap:5px}.mini-equation b{font-size:23px}.mini-equation strong{font-size:40px}.mini-word{font-size:46px;letter-spacing:5px}.mini-bubble{width:54px;height:54px;font-size:31px}.mini-bubble.small{width:45px;height:45px;font-size:27px}.mini-bubble.tiny{width:35px;height:35px;font-size:23px}.room{padding:0 2px 12px}.room-heading{grid-template-columns:48px minmax(0,1fr);gap:6px;margin:3px 0 8px;min-height:52px}.room-heading>.toolbar{gap:6px;justify-content:flex-end;flex-wrap:nowrap}.room-bloom{display:none}.home-button{width:48px;height:48px;min-height:48px;border-radius:15px;font-size:29px}.pill,.toolbar.segmented .pill{width:48px;min-width:48px;height:48px;min-height:48px;padding:5px;font-size:24px;border-radius:14px}.stage{padding:12px;min-height:300px;border-radius:24px}.paint-tools{margin-bottom:10px;gap:6px}.rainbow-meter{font-size:19px;gap:3px}.rainbow-slot{font-size:26px}.brush-tools{gap:6px}.paint-brush{width:48px;height:48px;min-width:48px;min-height:48px;font-size:24px;border-radius:14px}.trace-board{width:100%;max-width:480px;border-radius:18px}#trace-rail{margin-top:6px}.letter-chip{width:48px;min-width:48px;height:50px;font-size:25px}.letter-rail{gap:7px}.letter-picture{font-size:55px}.big-letter{font-size:190px;min-height:220px;min-width:220px}.letter-explorer p{font-size:26px}.count-stage{min-height:240px;gap:22px}.count-readout>span{font-size:62px}.friends{gap:15px}.friend{width:78px;height:78px}.friend>span:first-child{font-size:44px}.answer-prompt{font-size:27px;margin:20px 0 12px}.answers{gap:8px;margin-top:19px}.answer{height:58px;min-width:54px;padding:0 10px;font-size:29px}.equation{font-size:43px;margin:12px 0 27px;gap:13px}.math-garden{gap:9px;margin-bottom:20px}.friend.flower{width:58px;min-width:58px;height:68px}.friend.flower>span:first-child{font-size:37px}.take-away{font-size:26px;margin-top:20px;min-height:56px}.reading-stage{padding:12px 6px 32px}.reading-picture{font-size:59px}.read-units{font-size:76px;margin-top:14px;margin-bottom:35px;gap:6px}.read-units.read-line{font-size:32px;min-height:125px}.grownup-cue{font-size:14px}.bubble-target strong{font-size:58px}.bubble-sky{min-height:290px;gap:17px 9px}.bubble{width:85px;height:85px;font-size:39px}}
@media(max-width:350px){.activity-card{min-height:165px;gap:7px}.card-preview{height:90px;gap:5px}.card-preview svg{width:126px;height:90px}.mini-letter{font-size:64px}.mini-letter>span{font-size:41px}.mini-picture,.mini-cat{font-size:30px}.mini-friends{font-size:23px;max-width:68px}.mini-number{font-size:35px}.mini-equation{font-size:23px;gap:3px}.mini-equation b{font-size:21px}.mini-equation strong{font-size:32px}.mini-word{font-size:40px;letter-spacing:2px}.mini-bubble{width:46px;height:46px;font-size:27px}.mini-bubble.small{width:39px;height:39px;font-size:23px}.mini-bubble.tiny{width:29px;height:29px;font-size:18px}.activity-card h2{font-size:20px}.bubble{width:77px;height:77px}.read-units{font-size:66px}}
@media(min-width:801px) and (max-height:500px){.toy-home{padding-top:6px;padding-bottom:12px}.activity-grid{gap:12px}.activity-card{min-height:132px;padding:10px;gap:6px;border-radius:24px}.card-preview{height:75px}.card-preview svg{height:75px;width:155px}.activity-card h2{font-size:20px}.mini-letter{font-size:68px}.mini-letter>span{font-size:46px}.mini-picture,.mini-cat{font-size:38px}.mini-friends{font-size:28px}.mini-number{font-size:41px}.mini-equation{font-size:31px;gap:8px}.mini-equation b{font-size:24px}.mini-equation strong{font-size:44px}.mini-word{font-size:47px}.mini-bubble{width:60px;height:60px;font-size:33px}.mini-bubble.small{width:51px;height:51px;font-size:29px}.mini-bubble.tiny{width:40px;height:40px;font-size:22px}}
.stage.toy-win:after{content:'★ ★ ★';position:absolute;left:50%;top:16px;transform:translateX(-50%);font-size:34px;color:#d8a329;letter-spacing:7px;text-shadow:0 2px 0 white;pointer-events:none;animation:toy-stars 1.25s both;z-index:2}@keyframes toy-stars{0%{opacity:0;transform:translateX(-50%) scale(.6)}20%,65%{opacity:1;transform:translateX(-50%) scale(1.1)}100%{opacity:0;transform:translateX(-50%) translateY(-20px)}}.reduce-motion .stage.toy-win:after{animation:none;opacity:1;font-size:24px;left:auto;right:12px;transform:none}.quiet-feedback .stage.toy-win:after{display:none}

/* Restore the original rooms' bright, tactile toy language. */
.room.peach { --room-bg:#FFF5F7; }
.room.butter { --room-bg:#FFF9DB; }
.room.pink { --room-bg:#FFF1DE; }
.room.lavender { --room-bg:#EAF4E8; }
.room.sky { --room-bg:#E9F7FF; }
.letter-explorer { display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:32px; }
.big-letter { font-size:clamp(240px,33vh,350px);font-weight:900;line-height:1;min-height:290px;min-width:260px; }
.letter-picture { background:transparent;font-size:clamp(85px,15vh,130px);line-height:1.3;min-width:140px;min-height:150px;border-radius:30px; }
.letter-explorer p { grid-column:1/-1;text-align:center;font-weight:900; }
.rainbow-rail .letter-chip { color:var(--chip-color);border:0;font-weight:900;background:#fff;box-shadow:0 3px 0 #00000012; }
.rainbow-rail .letter-chip.selected { background:var(--chip-color);color:#fff;text-shadow:0 1px 2px #0006; }
.mini-letter { color:#FF5959; }.mini-letter>span { color:#FF9F1C; }
.friend, .friend.flower { background:transparent;border:0;touch-action:manipulation; }
.friend.counted { background:transparent;border:0; }
.friend.counted>span:first-child { transform:scale(.88); }
.friend .count-badge { top:-7px;right:auto;left:50%;transform:translateX(-50%);background:var(--number-color);border-radius:30px;min-width:30px;height:30px;font-weight:900;text-shadow:0 1px 3px #0009;box-shadow:0 2px 5px #0002; }
.friend.counted .count-badge { animation:stamp .3s ease-out; }
.answer { background:var(--number-color);color:white;border:0;text-shadow:0 1px 3px #0009;box-shadow:0 5px 0 #00000018;font-weight:900;width:70px;min-width:60px; }
.answer:active { transform:scale(.94); }
.answer-success { background:var(--number-color);outline:4px solid #fff;box-shadow:0 0 0 7px #43a46c66; }
.answer-success:after { content:''; }
.count-objects { display:grid;grid-template-columns:repeat(5,92px);justify-content:center;gap:18px;min-height:260px;align-content:center;width:100%;max-width:550px; }
.count-objects[data-layout='1'] { grid-template-columns:repeat(2,92px); }
.count-objects[data-layout='2'] { grid-template-columns:repeat(3,92px);gap:25px; }
.count-objects[data-layout='2'] .friend:nth-child(2n) { align-self:end; }
.number-garden .equation { font-size:34px;gap:14px;margin:4px 0 30px; }
.number-garden .equation>span:last-child { background:transparent;min-width:24px; }
.math-garden { display:grid;grid-template-columns:minmax(0,1fr) 35px minmax(0,1fr) 35px 68px;gap:14px;max-width:750px;min-height:180px; }
.math-garden.take-garden { grid-template-columns:minmax(0,1fr) 35px 68px;max-width:560px; }
.flower-group { min-width:0;max-width:100%;gap:12px;padding:20px 8px;border-radius:22px;background:#ffffff80;box-shadow:inset 0 0 0 2px #e8a67840; }
#object-result { font-size:68px;font-weight:900;color:#c66b28;text-align:center; }
.take-away { color:#af5625;background:#fffaf0;border:2px solid #efbd81;box-shadow:0 4px 0 #e8a67830; }
.friend.flower.taken { opacity:.3;filter:grayscale(.65);transform:scale(.82);animation:take-hop .55s ease-out; }
.friend.flower.taken .count-badge { opacity:.35; }
.reading-stage { padding-bottom:15px; }
.read-units { font-weight:900; }
.read-units.stretch-word { justify-content:center;gap:12px;font-size:clamp(64px,9vw,98px);margin:15px 0 45px; }
.read-units.stretch-word>span { background:#fffdf7;border:3px solid #e2ead9;border-radius:20px;padding:4px 16px;color:#2b2b2b!important;box-shadow:0 3px 8px #00000010; }
.read-units.stretch-word>span.current-sound { border-color:#4F9D5B;background:white;box-shadow:0 0 0 4px #4f9d5b35; }
.read-units.stretch-word>span.read-lit { background:#d7efd2;border-color:#7FBF6E;color:#2f5e34!important; }
.read-units.stretch-word.blended { gap:0; }
.read-units.stretch-word.blended>span { border-color:transparent;box-shadow:none;border-radius:0;padding-left:3px;padding-right:3px;background:transparent; }
.read-units.stretch-word.blended>span:first-child { border-radius:20px 0 0 20px; }
.read-units.stretch-word.blended>span:last-child { border-radius:0 20px 20px 0; }
.read-units.read-line { display:flex;flex-wrap:nowrap;gap:8px;min-height:110px;font-size:clamp(25px,4.5vw,48px); }
.read-units.read-line>span { padding:3px;border:0;white-space:nowrap;color:#232323; }
.word-colors .read-units.read-line>span { color:#1763B6; }
.word-colors .read-units.read-line>.glue-word { color:#232323; }
.read-units.read-line>span.current-sound { box-shadow:0 0 0 3px #4f9d5b45; }
.read-units.read-line>span.read-lit { opacity:.45;background:transparent; }
.read-units.read-line.blended>span { opacity:1; }
.read-track { height:16px;background:#d8e9d2;box-shadow:inset 0 1px 3px #0002;margin-bottom:50px; }
.read-fill { background:linear-gradient(90deg,#7FBF6E,#4F9D5B); }
.read-handle { border:4px solid #4F9D5B;box-shadow:0 4px 12px #0002;background:white; }
#read-invite { position:absolute;left:0;top:calc(100% + 15px);transform:translateX(-50%);font-size:30px;line-height:1;pointer-events:none;animation:invite-finger 1.8s ease-in-out infinite; }
.reading-garden { display:flex;flex-wrap:wrap;justify-content:center;gap:6px;min-height:38px;margin:18px auto 0;max-width:500px;font-size:27px; }
.reading-dark { background:#16211b; }.reading-dark .read-units.read-line>span { color:#ecece2; }.reading-dark.word-colors .read-units.read-line>span { color:#6FB4F2; }.reading-dark.word-colors .read-units.read-line>.glue-word { color:#ecece2; }
.reading-dark .read-units.stretch-word>span { color:#ecece2!important;background:#26392a;border-color:#63865c; }.reading-dark .read-units.stretch-word>span.read-lit { color:#d7efd2!important;background:#305437; }.reading-dark .read-units.stretch-word.blended>span { background:transparent; }
.bubble-sky { grid-template-columns:repeat(5,1fr);max-width:750px;gap:24px; }
.bubble { color:white;background:radial-gradient(circle at 28% 23%,#ffffffa0 0,#ffffff30 17%,transparent 58%),var(--bubble-color);border:2px solid #ffffffaa;font-weight:900;text-shadow:0 2px 3px #0005;box-shadow:inset -8px -9px 0 #0000000b,0 5px 10px #40799622; }
.bubble.popped { animation:bubble-burst .3s ease-out forwards; }
.bubble.rainbow-bubble { background:linear-gradient(135deg,#ff6868,#ffc348 23%,#66c782 48%,#589eed 73%,#b478da); }
.floating .bubble:not(.popped) { animation:buoyant-bubble 8s ease-in-out infinite;animation-delay:var(--bubble-delay); }
.mini-bubble { background:#FF5959;color:white;text-shadow:0 1px 3px #0005; }.mini-bubble.small { background:#69A226; }.mini-bubble.tiny { background:#6195E1; }
.toy-sparks { position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:4; }
.toy-spark { position:absolute;width:9px;height:9px;border-radius:50%;background:var(--spark-color);animation:toy-burst .8s ease-out forwards; }
.toy-spark.star-spark { width:auto;height:auto;background:none;color:var(--spark-color);font-size:23px;font-style:normal; }
@keyframes toy-burst { 0% { opacity:1;transform:translate(-50%,-50%) scale(.5); } 45% { opacity:1; } 100% { opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spark-turn)) scale(.8); } }
@keyframes stamp { 0% { transform:translateX(-50%) scale(.3); } 60% { transform:translateX(-50%) scale(1.2); } 100% { transform:translateX(-50%) scale(1); } }
@keyframes take-hop { 0% { opacity:1;transform:scale(1); } 40% { opacity:.8;transform:translateY(-16px) rotate(-8deg); } 100% { opacity:.3;transform:scale(.82); } }
@keyframes bubble-burst { 0% { opacity:1;transform:scale(1); } 50% { opacity:.75;transform:scale(1.25); } 100% { opacity:0;transform:scale(1.5); } }
@keyframes invite-finger { 50% { transform:translateX(-50%) translateY(-5px); } }
@keyframes buoyant-bubble { 0%,100% { transform:translateY(8px) rotate(-2deg); } 50% { transform:translateY(-12px) rotate(2deg); } }
.reduce-motion .toy-spark { animation:none;opacity:.7;transform:translate(var(--dx),var(--dy)); }
.reduce-motion .bubble.popped { animation:none;opacity:0; }
.quiet-feedback .toy-sparks { display:none; }
@media(max-width:800px) { .count-stage { display:flex;flex-direction:column;gap:12px; }.count-readout>span { font-size:65px; }.count-objects { grid-template-columns:repeat(3,78px);gap:14px;min-height:225px; }.count-objects[data-layout='1'] { grid-template-columns:repeat(2,78px); }.count-objects[data-layout='2'] { grid-template-columns:repeat(3,78px);gap:22px 14px; }.count-objects .friend { width:78px;height:78px;min-width:78px; } }
@media(max-width:600px) {
  .letter-explorer { column-gap:8px; }.big-letter { font-size:210px;min-width:150px;min-height:230px; }.letter-picture { font-size:80px;min-width:90px;min-height:110px; }.letter-explorer p { font-size:26px; }
  .answers { gap:10px; }.answer { width:58px;height:62px;min-width:54px;font-size:31px; }
  .number-garden .equation { font-size:30px;gap:10px;margin-bottom:25px; }
  .math-garden { grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px 40px;gap:5px;min-height:160px; }
  .math-garden.take-garden { grid-template-columns:minmax(0,1fr) 24px 40px; }
  .flower-group { padding:18px 3px;gap:10px 5px; }.friend.flower { width:54px;min-width:54px;height:65px; }.friend.flower>span:first-child { font-size:40px; }.garden-plus { font-size:27px; }#object-result { font-size:44px; }
  .read-units.stretch-word { font-size:64px;gap:9px; }.read-units.stretch-word>span { padding:3px 9px; }.reading-garden { font-size:23px; }
  .bubble-sky { grid-template-columns:repeat(3,1fr);gap:24px 9px; }
}
@media(max-width:350px) { .count-objects { grid-template-columns:repeat(3,70px);gap:12px; }.count-objects[data-layout='1'] { grid-template-columns:repeat(2,70px); }.count-objects[data-layout='2'] { grid-template-columns:repeat(3,70px);gap:21px 12px; }.count-objects .friend { width:70px;height:70px;min-width:70px; }.big-letter { font-size:190px;min-width:140px; }.letter-picture { font-size:70px;min-width:75px; }.read-units.stretch-word { font-size:59px;gap:6px; }.read-units.stretch-word>span { padding:3px 7px; } }
