⛰️ Luna's Math Quest
Multiplication Mountain
Long multiplication and long division, plus multi-step puzzles.
Multiply ×1 Digit
How this station is declared (YAML)
id: mm-mul1 title: Multiply ×1 Digit icon: ✖️ board: long-mul bands: - 0 - 1 lesson: long-multiply concept: multiply
Lesson: Multiply ×1 Digit — 4 steps
Set it up
Introduce the idea. Luna opens with the column visual — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, across 1 narrated beat, so the concept is seen before it is ever practised.
What Luna says
- To multiply a big number, we go column by column. Let's do twenty-three times four.
In the open config
id: setup
label: Set it up
beats:
- say: llm-1
caption: To multiply a big number, we go column by column. Let's do twenty-three times four.
view:
kind: column
key: m1
op: ×
result: ""
carry: {}
active: null
top: 23
bottom: 4Preview

Ones
Worked example. Luna walks one case step by step with the column view — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, turning the idea into a procedure a child can repeat.
What Luna says
- Start with the ones: four times three is twelve. Write the two, carry the one.
In the open config
id: ones
label: Ones
beats:
- say: llm-2
caption: "Start with the ones: four times three is twelve. Write the two, carry the one."
view:
kind: column
key: m1
op: ×
result: "2"
carry:
"1": "1"
active: 0
top: 23
bottom: 4Preview

Tens
Worked example. Luna walks one case step by step with the column view — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, turning the idea into a procedure a child can repeat.
What Luna says
- Now the tens: four times two is eight, plus the carried one makes nine.
- Twenty-three times four is ninety-two!
In the open config
id: tens
label: Tens
beats:
- say: llm-3
caption: "Now the tens: four times two is eight, plus the carried one makes nine."
view:
kind: column
key: m1
op: ×
result: "92"
carry:
"1": "1"
active: 1
top: 23
bottom: 4
- say: llm-4
caption: Twenty-three times four is ninety-two!
view:
kind: column
key: m1
op: ×
result: "92"
carry:
"1": "1"
active: null
top: 23
bottom: 4Preview
Your turn
Your turn. The lesson hands off to the practice board: the child now answers, applying what the column visual — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column just showed.
What Luna says
- Always multiply the ones first, then the tens, carrying when you go over nine. You try!
In the open config
id: go
label: Your turn
beats:
- say: llm-5
caption: Always multiply the ones first, then the tens, carrying when you go over nine. You try!
view:
kind: column
key: m1
op: ×
result: "92"
carry:
"1": "1"
active: null
top: 23
bottom: 4Preview

Multiply ×2 Digits
How this station is declared (YAML)
id: mm-mul2 title: Multiply ×2 Digits icon: 🧮 board: long-mul bands: - 2 - 2 lesson: long-multiply2 concept: multiply
Lesson: Multiply ×2 Digits — 4 steps
Split it
Introduce the idea. Luna opens with the big visual — a single big numeral or label, for emphasis / answer-reveal beats, across 1 narrated beat, so the concept is seen before it is ever practised.
What Luna says
- For two big numbers, we split the job in two. Let's do twenty-three times fourteen.
In the open config
id: split
label: Split it
beats:
- say: llm2-1
caption: For two big numbers, we split the job in two. Let's do twenty-three times fourteen.
view:
kind: big
key: s
text: 23 × 14
color: "#a78bfa"Preview

× 4
Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.
What Luna says
- Fourteen is ten and four. First multiply by the four: twenty-three times four is ninety-two.
In the open config
id: byfour
label: × 4
beats:
- say: llm2-2
caption: "Fourteen is ten and four. First multiply by the four: twenty-three times four is ninety-two."
view:
kind: big
key: p1
text: 23 × 4 = 92
color: "#22d3ee"Preview

× 10
Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.
What Luna says
- Then multiply by the ten: twenty-three times ten is two hundred thirty.
In the open config
id: byten
label: × 10
beats:
- say: llm2-3
caption: "Then multiply by the ten: twenty-three times ten is two hundred thirty."
view:
kind: big
key: p2
text: 23 × 10 = 230
color: "#22d3ee"Preview

Add parts
Worked example. Luna walks one case step by step with the column view — vertical column arithmetic (add/sub/mul). The author sets each beat's state to walk a worked example column by column, turning the idea into a procedure a child can repeat.
What Luna says
- Last, add the two parts together: ninety-two plus two hundred thirty.
- Twenty-three times fourteen is three hundred twenty-two! Split, multiply each part, then add. You try!
In the open config
id: add
label: Add parts
beats:
- say: llm2-4
caption: "Last, add the two parts together: ninety-two plus two hundred thirty."
view:
kind: column
key: addp
op: +
top: 92
bottom: 230
result: ""
active: null
- say: llm2-5
caption: Twenty-three times fourteen is three hundred twenty-two! Split, multiply each part, then add. You try!
view:
kind: column
key: addp
op: +
top: 92
bottom: 230
result: "322"Preview
Long Division
How this station is declared (YAML)
id: mm-div title: Long Division icon: ➗ board: long-div bands: - 0 - 2 lesson: long-division concept: division
Lesson: Long Division — 7 steps
Set it up
Introduce the idea. Luna opens with the longdiv visual — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), across 1 narrated beat, so the concept is seen before it is ever practised.
What Luna says
- Long division shares a big number step by step. Let's do eighty-four divided by four.
In the open config
id: setup
label: Set it up
beats:
- say: lld-1
caption: Long division shares a big number step by step. Let's do eighty-four divided by four.
view:
kind: longdiv
key: d84
step: 0
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Divide
Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.
What Luna says
- Divide: how many fours fit in eight? Two. We write the two up on top.
In the open config
id: d1
label: Divide
beats:
- say: lld-2
caption: "Divide: how many fours fit in eight? Two. We write the two up on top."
view:
kind: longdiv
key: d84
step: 1
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Multiply
Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.
What Luna says
- Multiply: two times four is eight, and we write it underneath.
In the open config
id: m1
label: Multiply
beats:
- say: lld-3
caption: "Multiply: two times four is eight, and we write it underneath."
view:
kind: longdiv
key: d84
step: 2
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Subtract & bring
Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.
What Luna says
- Subtract: eight minus eight is zero. Then bring down the next digit, the four.
In the open config
id: s1
label: Subtract & bring
beats:
- say: lld-4
caption: "Subtract: eight minus eight is zero. Then bring down the next digit, the four."
view:
kind: longdiv
key: d84
step: 4
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Divide again
Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.
What Luna says
- Divide again: how many fours fit in four? One. Write it on top.
In the open config
id: d2
label: Divide again
beats:
- say: lld-5
caption: "Divide again: how many fours fit in four? One. Write it on top."
view:
kind: longdiv
key: d84
step: 5
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Finish
Worked example. Luna walks one case step by step with the longdiv view — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down), turning the idea into a procedure a child can repeat.
What Luna says
- Multiply one by four, subtract, and nothing is left. Eighty-four divided by four is twenty-one!
In the open config
id: finish
label: Finish
beats:
- say: lld-6
caption: Multiply one by four, subtract, and nothing is left. Eighty-four divided by four is twenty-one!
view:
kind: longdiv
key: d84
step: 8
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Your turn
Your turn. The lesson hands off to the practice board: the child now answers, applying what the longdiv visual — a long-division bracket walked step by step (Divide–Multiply–Subtract–Bring down) just showed.
What Luna says
- Just repeat the steps: Divide, Multiply, Subtract, Bring down. You try!
In the open config
id: go
label: Your turn
beats:
- say: lld-7
caption: "Just repeat the steps: Divide, Multiply, Subtract, Bring down. You try!"
view:
kind: longdiv
key: d84
step: 8
divisor: "4"
dividend: "84"
quotient: "21"
quoSteps:
- 1
- 5
rows:
- s: "-8"
step: 2
c: rose
- s: "--"
step: 3
c: line
- s: "04"
step: 4
- s: "-4"
step: 6
c: rose
- s: "--"
step: 7
c: line
- s: " 0"
step: 8Preview
Multi-Step Puzzles
How this station is declared (YAML)
id: mm-multi title: Multi-Step Puzzles icon: 🧩 board: word-2step bands: - 0 - 2 lesson: word-problems concept: word-problems
Lesson: Story Problems — 5 steps
Read it
Introduce the idea. Luna opens with the story visual — a word problem read aloud; words reveal as Luna reads, with numbers and action words colour-coded, across 3 narrated beats, so the concept is seen before it is ever practised.
What Luna says
- Story problems hide math inside words. Maya has three apples.
- She gets five more.
- How many apples does she have now?
In the open config
id: readA
label: Read it
beats:
- say: lwp-1
caption: Story problems hide math inside words. Maya has three apples.
view:
kind: story
key: wA
words:
- t: Maya
- t: has
- t: "3"
kind: num
- t: apples.
- t: She
- t: gets
- t: "5"
kind: num
- t: more.
kind: add
- t: How
- t: many
- t: now?
revealed: 4
- say: lwp-2
caption: She gets five more.
view:
kind: story
key: wA
words:
- t: Maya
- t: has
- t: "3"
kind: num
- t: apples.
- t: She
- t: gets
- t: "5"
kind: num
- t: more.
kind: add
- t: How
- t: many
- t: now?
revealed: 8
- say: lwp-3
caption: How many apples does she have now?
view:
kind: story
key: wA
words:
- t: Maya
- t: has
- t: "3"
kind: num
- t: apples.
- t: She
- t: gets
- t: "5"
kind: num
- t: more.
kind: add
- t: How
- t: many
- t: now?
revealed: 11Preview
Find the math
Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.
What Luna says
- The word 'more' tells us to add. So we add three and five.
- Three plus five is eight apples!
In the open config
id: solveA
label: Find the math
beats:
- say: lwp-4
caption: The word 'more' tells us to add. So we add three and five.
view:
kind: big
key: eqA
text: 3 + 5 = 8
color: "#4ade80"
- say: lwp-5
caption: Three plus five is eight apples!
view:
kind: big
key: eqA
text: 3 + 5 = 8
color: "#4ade80"Preview

Another
Worked example. Luna walks one case step by step with the story view — a word problem read aloud; words reveal as Luna reads, with numbers and action words colour-coded, turning the idea into a procedure a child can repeat.
What Luna says
- Here is a different one. Sam had eight stickers.
- He gave away three.
- How many stickers are left?
In the open config
id: readB
label: Another
beats:
- say: lwp-6
caption: Here is a different one. Sam had eight stickers.
view:
kind: story
key: wB
words:
- t: Sam
- t: had
- t: "8"
kind: num
- t: stickers.
- t: He
- t: gave
kind: sub
- t: away
kind: sub
- t: "3."
kind: num
- t: How
- t: many
- t: left?
kind: sub
revealed: 4
- say: lwp-7
caption: He gave away three.
view:
kind: story
key: wB
words:
- t: Sam
- t: had
- t: "8"
kind: num
- t: stickers.
- t: He
- t: gave
kind: sub
- t: away
kind: sub
- t: "3."
kind: num
- t: How
- t: many
- t: left?
kind: sub
revealed: 8
- say: lwp-8
caption: How many stickers are left?
view:
kind: story
key: wB
words:
- t: Sam
- t: had
- t: "8"
kind: num
- t: stickers.
- t: He
- t: gave
kind: sub
- t: away
kind: sub
- t: "3."
kind: num
- t: How
- t: many
- t: left?
kind: sub
revealed: 11Preview
Subtract
Worked example. Luna walks one case step by step with the big view — a single big numeral or label, for emphasis / answer-reveal beats, turning the idea into a procedure a child can repeat.
What Luna says
- 'Gave away' and 'left' tell us to subtract. Eight minus three is five.
In the open config
id: solveB
label: Subtract
beats:
- say: lwp-9
caption: "'Gave away' and 'left' tell us to subtract. Eight minus three is five."
view:
kind: big
key: eqB
text: 8 − 3 = 5
color: "#fb923c"Preview

Your turn
Your turn. The lesson hands off to the practice board: the child now answers, applying what the story visual — a word problem read aloud; words reveal as Luna reads, with numbers and action words colour-coded just showed.
What Luna says
- Read slowly, find the numbers, and look for the action word. You try!
In the open config
id: go
label: Your turn
beats:
- say: lwp-10
caption: Read slowly, find the numbers, and look for the action word. You try!
view:
kind: story
key: wB
words:
- t: Sam
- t: had
- t: "8"
kind: num
- t: stickers.
- t: He
- t: gave
kind: sub
- t: away
kind: sub
- t: "3."
kind: num
- t: How
- t: many
- t: left?
kind: sub
revealed: 11Preview
