*{box-sizing:border-box}body{margin:0;background:#f9f5eb;color:#183d45;font:17px/1.55 Avenir,'Avenir Next',system-ui,sans-serif}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d36d36;outline-offset:4px}a{color:inherit}header.site-header{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1440px;margin:auto;padding:28px 36px}.brand{text-decoration:none;font-size:29px;font-weight:800;letter-spacing:-1px}.brand span{display:block;font-size:10px;letter-spacing:3px;font-weight:700;color:#688b89}nav{display:flex;align-items:center;gap:25px;font-size:14px}nav button,.secondary{padding:12px 20px;background:#e1ece5;color:#214747;border-radius:30px;font-weight:750}main{max-width:1440px;margin:auto;padding:0 28px}.intro{padding:25px 10px 30px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:3px;color:#567e79;margin:0 0 12px}h1{font:clamp(38px,5vw,65px)/1.1 Georgia,serif;letter-spacing:-1px;margin:0 0 15px}.intro>p:last-child{font-size:20px;margin:0;color:#5a7474}h2{font:32px/1.16 Georgia,serif;margin:0 0 15px}.settings{background:#fffefa;border:1px solid #e4dfd2;padding:30px 35px;border-radius:25px;margin-bottom:25px;box-shadow:0 16px 50px #173d3810}.settings-top{display:flex;justify-content:space-between;gap:20px;align-items:start}.pill{border-radius:20px;background:#f1ecdf;font-size:12px;padding:8px 12px;white-space:nowrap}.settings-columns{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:18px}.field-label,legend{display:block;font-weight:800;font-size:14px;margin:0 0 9px}select{display:block;width:100%;padding:12px 14px;background:#f7f8f3;color:#20474c;border:1px solid #c9d8cf;border-radius:12px;margin-bottom:20px}fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}.hint{font-size:12px;color:#647a76;line-height:1.5;margin:5px 0 12px}.number-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.number-picker button{border:1px solid #ccdad1;border-radius:11px;aspect-ratio:1;background:#f4f7f2;color:#315250;font-weight:800;font-size:15px;padding:2px}.number-picker button[aria-pressed=true]{background:#173e48;color:#fff3cf;border-color:#173e48;box-shadow:0 3px 0 #b9d7ca}.preset-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.small{border-radius:20px;background:#edf2e8;color:#365650;padding:7px 10px;font-size:11px}.speed-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.speed-picker button{border:1px solid #cbd7cd;background:#f6f8f2;color:#315650;padding:12px 5px;border-radius:12px;text-align:center}.speed-picker strong{display:block;font-size:14px}.speed-picker span{display:block;font-size:10px;margin-top:5px}.speed-picker button[aria-pressed=true]{background:#fff0c3;border:2px solid #d5b668;padding:11px 4px}.select-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sound-options{display:flex;gap:24px;font-size:13px}.sound-options input{accent-color:#235650;width:17px;height:17px;vertical-align:middle}.settings-bottom{display:flex;gap:15px;align-items:center;border-top:1px solid #e4e9dc;padding-top:20px}.settings-bottom p{flex:1;font-size:13px;max-width:420px}.primary{background:#173f49;color:#fff1cd;border-radius:30px;font-weight:800;padding:15px 26px;box-shadow:0 4px 0 #102d35;font-size:15px}#setup-message{font-size:13px;color:#567972;margin:12px 0 0}.activity{position:relative;isolation:isolate;overflow:hidden;min-height:760px;background:#163e53 url('/discover/assets/counting/valley.webp') center/cover;border-radius:28px;color:#fff7df;box-shadow:0 25px 70px #163d3a25;scroll-margin-top:20px}.activity[data-world=night]{background-color:#092a42;background-blend-mode:multiply}.activity[data-world=calm]{background-image:radial-gradient(ellipse at 50% 25%,#40798b,#183b51 80%)}.scene-shade{position:absolute;inset:0;background:linear-gradient(#0a2b4199,#0f374447 40%,#183f4344 70%,#0a3449bb);z-index:-1}.scene-top{position:relative;display:flex;justify-content:space-between;align-items:start;padding:30px 35px;gap:20px}.club{font-size:17px;line-height:1.3;letter-spacing:3px;font-weight:800}.club small{font-size:9px;letter-spacing:3px;font-weight:500;color:#c8ded8}.pace-badge{font-size:10px;letter-spacing:2px;font-weight:800;border:1px solid #f8efc65a;background:#173d4aaa;border-radius:22px;padding:9px 14px}.lesson-area{position:relative;width:64%;max-width:840px;margin:0 auto;text-align:center;z-index:2;padding-bottom:35px}.scene-kicker{font-size:10px;letter-spacing:3px;color:#e5dbc0;margin:0 0 8px}.lesson-area h2{font:700 clamp(26px,3.2vw,42px)/1.18 Avenir,'Avenir Next',system-ui;letter-spacing:-1px;min-height:50px}.lesson-area>p:not(.feedback){font-size:15px;color:#e5f1e9;margin:0 0 12px}.number-display{height:138px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:4px 0 15px;text-shadow:0 4px 20px #082e4c}.number-display strong{font-size:100px;font-weight:800;line-height:1;letter-spacing:-3px}.number-display span{font-size:13px;letter-spacing:4px;font-weight:800;color:#ffe4a4;margin-top:11px}.light-board{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;border-radius:25px;background:#143749c7;border:1px solid #b6dfd06b;backdrop-filter:blur(7px);box-shadow:0 12px 35px #08253633}.ten-frame{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.ten-frame.single{grid-column:1/-1;max-width:390px;width:100%;margin:auto}.lamp{aspect-ratio:1;border-radius:18px;background:#e3eee515;border:2px solid #bfd8d84d;display:flex;justify-content:center;align-items:center;font-size:clamp(16px,2vw,25px);font-weight:850;color:#143a46;transition:background .18s,transform .18s}.lamp.lit{background:radial-gradient(circle at 30% 25%,#fff8dc,var(--lamp));box-shadow:0 0 20px color-mix(in srgb,var(--lamp),transparent 70%),inset -4px -4px 6px #20445d1a;border-color:var(--lamp)}.lamp:nth-child(5n+1){--lamp:#ffa88a}.lamp:nth-child(5n+2){--lamp:#ffdc83}.lamp:nth-child(5n+3){--lamp:#a7e6ba}.lamp:nth-child(5n+4){--lamp:#8edce7}.lamp:nth-child(5n){--lamp:#c1b9fb}.lamp.current{transform:translateY(-5px) scale(1.04)}.lamp.missing{background:#fff2c4;border:3px dashed #fff8dd;color:#254553;animation:question-breathe 2s ease-in-out infinite}.question{background:#fff7e9;color:#244b50;border-radius:24px;padding:18px 25px;margin:18px auto 0;max-width:600px;box-shadow:0 10px 30px #15373833}.question h3{font-size:22px;margin:0 0 12px}.answer-options{display:flex;justify-content:center;gap:16px}.answer-options button{width:75px;min-height:65px;border-radius:17px;background:#d9e9dd;border:2px solid #a9cbb9;color:#21494f;font-size:31px;font-weight:800;box-shadow:0 4px 0 #b0c9b7}.answer-options button:active{transform:translateY(3px);box-shadow:none}.reveal{background:transparent;text-decoration:underline;font-size:12px;padding:14px 10px 0;color:#42685d}.feedback{min-height:28px;margin:10px 0;font-weight:700;font-size:15px;color:#fff1bf}.complete{background:#faf3e1;color:#264b4a;border-radius:25px;padding:22px;margin-top:20px}.complete h3{font:33px/1.1 Georgia,serif;margin:0 0 12px}.complete p{font-size:15px}.complete button{margin:5px;padding:12px 17px;font-size:13px}progress{width:100%;height:7px;appearance:none;border:0;border-radius:6px;display:block;overflow:hidden;background:#d8ede22a}progress::-webkit-progress-bar{background:#d8ede22a}progress::-webkit-progress-value{background:#ffdf96;border-radius:6px}progress::-moz-progress-bar{background:#ffdf96}.mascot{position:absolute;bottom:90px;max-width:24%;width:275px;z-index:1;filter:drop-shadow(0 15px 8px #123a4b44);pointer-events:none}.mascot img{width:100%;height:auto;max-height:340px;object-fit:contain;object-position:bottom}.mascot-pip{left:0;transform:rotate(-3deg)}.mascot-dot{right:0;transform:rotate(3deg)}.activity[data-characters=pip] .mascot-dot,.activity[data-characters=dot] .mascot-pip{display:none}.activity.is-thinking .mascot{animation:think-sway 3s ease-in-out infinite}.activity.is-complete .mascot{animation:celebrate 1.2s ease-in-out infinite}.scene-controls{display:flex;gap:12px;align-items:center;justify-content:center;position:relative;z-index:3;padding:5px 20px 25px;min-height:60px}.scene-controls button{border:1px solid #c0dbd799;background:#143a48dd;color:#fff1c8;border-radius:24px;padding:9px 18px;font-size:13px}.scene-controls span{font-size:11px;color:#d7ebe2;max-width:270px}.fireflies{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:0}.fireflies i{position:absolute;left:12%;top:46%;width:4px;height:4px;background:#ffe4a6;border-radius:50%;box-shadow:0 0 12px #ffe4a6;animation:drift 12s infinite ease-in-out}.fireflies i:nth-child(2){left:88%;top:34%;animation-delay:-3s}.fireflies i:nth-child(3){left:18%;top:78%;animation-delay:-7s}.fireflies i:nth-child(4){left:80%;top:72%;animation-delay:-9s}.fireflies i:nth-child(5){left:61%;top:15%;animation-delay:-5s}.notes{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:50px 15px}.notes p{font-size:14px;color:#506e6a}.notes summary{font-weight:800;cursor:pointer}.notes details{padding:20px;border:1px solid #dce1d3;border-radius:20px;align-self:start}footer{text-align:center;font-size:12px;padding:20px 20px 40px;color:#678079}body.is-playing .intro{display:none}body.is-playing .site-header{padding-top:15px;padding-bottom:15px}body.is-playing .activity{min-height:calc(100vh - 105px)}[hidden]{display:none!important}@keyframes question-breathe{50%{box-shadow:0 0 24px #fff5c333}}@keyframes think-sway{50%{transform:rotate(3deg)}}@keyframes celebrate{50%{transform:translateY(-13px) rotate(-2deg)}}@keyframes drift{50%{transform:translate(25px,-35px);opacity:.4}}@media(max-width:950px){.settings-columns{gap:24px}.settings{padding:25px}.settings-bottom{flex-wrap:wrap}.settings-bottom p{flex-basis:100%;max-width:none}.lesson-area{width:70%}.mascot{max-width:20%;bottom:100px}.number-picker{grid-template-columns:repeat(5,1fr)}.number-picker button{aspect-ratio:1.3}.speed-picker{grid-template-columns:1fr 1fr}}@media(max-width:650px){main{padding:0 12px}.site-header{padding:20px!important}.brand{font-size:25px}nav{gap:12px;font-size:11px}.brand span{font-size:8px}.intro{padding:20px 6px}.intro>p:last-child{font-size:16px}.settings{padding:20px}.settings-top{display:block}.pill{display:inline-block;margin-bottom:15px}.settings-columns{display:block}.number-picker{grid-template-columns:repeat(5,1fr);gap:6px}.number-picker button{font-size:11px;aspect-ratio:1}.settings-bottom .primary{width:100%}.settings-bottom .secondary{font-size:13px}.settings-top h2{font-size:27px}.activity{min-height:910px;border-radius:20px}.scene-top{padding:22px 20px}.club{font-size:13px}.club small{font-size:7px}.pace-badge{font-size:8px;padding:7px 9px}.lesson-area{width:94%;padding-bottom:155px}.lesson-area h2{font-size:27px;min-height:35px}.lesson-area>p:not(.feedback){font-size:12px}.number-display{height:116px}.number-display strong{font-size:85px}.light-board{padding:13px;gap:12px}.ten-frame{gap:6px}.lamp{border-radius:12px;font-size:16px}.question{padding:16px;margin-top:14px}.question h3{font-size:19px}.answer-options button{font-size:29px;min-height:57px;width:70px}.mascot{max-width:31%;bottom:76px;width:170px}.mascot img{max-height:150px}.mascot-pip{left:10px}.mascot-dot{right:10px}.scene-controls{padding-bottom:22px}.scene-controls span{max-width:135px;font-size:9px}.scene-controls button{font-size:11px;padding:9px 12px}.notes{display:block;padding:35px 8px}.notes details{margin-top:28px}.sound-options{font-size:12px;gap:15px}body.is-playing .activity{min-height:870px}.number-display span{font-size:11px;letter-spacing:3px}.complete h3{font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* A continuous numbered bridge: every hop lands on precisely one next plank. */
.bridge-dog,.bridge-water{display:none}.activity[data-characters=dogs] .mascot{display:none}.activity[data-characters=dogs] .lesson-area{width:92%;max-width:none}.activity[data-characters=dogs] .club{font-size:17px}.activity[data-characters=dogs] .club small{display:block}.activity[data-characters=dogs] .bridge-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#d7b576 #163f4f;border-radius:20px;background:#0e40555c}.activity[data-characters=dogs] .bridge-track{position:relative;height:225px;min-width:calc(var(--steps)*47px + 200px);isolation:isolate}.activity[data-characters=dogs] .light-board{position:absolute;left:70px;right:105px;bottom:35px;display:block;padding:0;background:none;box-shadow:none;border:0;backdrop-filter:none;z-index:1}.activity[data-characters=dogs] .ten-frame{display:grid;grid-template-columns:repeat(var(--steps),1fr);gap:5px;width:100%;max-width:none}.activity[data-characters=dogs] .lamp{height:42px;aspect-ratio:auto;border-radius:8px;background:#456975;border:2px solid #d7cbb480;color:#fff6df;font-size:20px;box-shadow:0 7px 0 #123743;transform:none}.activity[data-characters=dogs] .lamp.lit{background:var(--lamp);color:#173d45;border-color:#ffeac4;box-shadow:0 7px 0 #7a6650}.activity[data-characters=dogs] .lamp.missing{background:#fff4cf;color:#173d45;border:3px dashed #e6bc6a}.activity[data-characters=dogs] .bridge-water{display:block;position:absolute;left:50px;right:75px;bottom:5px;height:58px;border-radius:50%;background:repeating-linear-gradient(170deg,#68b5b128 0 2px,transparent 3px 12px);z-index:0}.activity[data-characters=dogs] .bridge-dog{display:block;position:absolute;bottom:46px;width:175px;z-index:2;pointer-events:none;transform:translateX(-50%);filter:drop-shadow(0 7px 4px #092c4266)}.bridge-dog img{display:block;width:100%;height:auto}.bridge-dog span{display:block;font-size:8px;letter-spacing:2px;font-weight:800;margin-top:-8px;color:#fff0c9}.activity[data-characters=dogs] .walker{left:35px;transition:left var(--hop-ms,650ms) cubic-bezier(.35,.05,.5,1)}.activity[data-characters=dogs] .waiting-twin{right:-42px;transform:none}.walker.is-hopping img{animation:bridge-hop var(--hop-ms,650ms) ease-in-out}.bridge-dog.has-arrived img{animation:twin-welcome 1.2s ease-in-out infinite}.activity[data-characters=dogs] .number-display{height:115px;margin-bottom:0}.activity[data-characters=dogs] .question,.activity[data-characters=dogs] .complete{max-width:600px}.activity[data-characters=dogs] .feedback,.activity[data-characters=dogs] progress{max-width:800px;margin-left:auto;margin-right:auto}.activity[data-characters=dogs] .lamp.current{box-shadow:0 7px 0 #7a6650,0 0 15px #ffe6a8a0}@keyframes bridge-hop{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-35px) rotate(-5deg)}75%{transform:translateY(-17px) rotate(3deg)}}@keyframes twin-welcome{50%{transform:translateY(-8px) rotate(2deg)}}@media(max-width:650px){.activity[data-characters=dogs]{min-height:900px}.activity[data-characters=dogs] .lesson-area{width:96%;padding-bottom:25px}.activity[data-characters=dogs] .club{font-size:12px}.activity[data-characters=dogs] .scene-top{padding:20px 14px}.activity[data-characters=dogs] .bridge-track{min-width:calc(var(--steps)*43px + 200px)}.activity[data-characters=dogs] .scene-controls{flex-wrap:wrap}.activity[data-characters=dogs] .scene-controls span{max-width:220px}}@media(prefers-reduced-motion:reduce){.walker,.bridge-dog img{animation:none!important;transition:none!important}}
.activity[data-characters=dogs] .bridge-dog{bottom:50px}.bridge-dog span{position:absolute;top:10px;width:100%;margin:0;text-shadow:0 1px 5px #103343}
