<!DOCTYPE html>
<html><head><meta charset="utf-8">
<style>

@page { size: 8.5in 11in; margin: 0.5in; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Helvetica Neue', Arial, sans-serif; color: #222; font-size: 14px; line-height: 1.7; }
page { width: 7.5in; }
page + page { page-break-before: always; }

/* โ”€โ”€ Header โ”€โ”€ */
.head { display: flex; align-items: baseline; gap: 10px; padding-bottom: 4px; border-bottom: 3px solid #3f51b5; margin-bottom: 6px; }
.head .week { font-size: 18px; font-weight: 700; color: #3f51b5; letter-spacing: -0.5px; }
.head .day { font-size: 14px; font-weight: 600; color: #3f51b5; background: #e8eaf6; padding: 2px 10px; border-radius: 3px; }
.head .topic { font-size: 12px; color: #888; margin-left: auto; font-style: italic; }

/* โ”€โ”€ Section โ”€โ”€ */
.sec { margin-bottom: 8px; }
.sec.pb { break-after: avoid; page-break-after: avoid; }
.sec-head { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.sec-n { font-size: 9px; font-weight: 700; color: #fff; background: #3f51b5; width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 3px; flex-shrink: 0; }
.sec-t { font-size: 13px; font-weight: 600; color: #333; }
.note { font-size: 10.5px; color: #999; font-style: italic; margin-bottom: 4px; }

/* โ”€โ”€ Math grid โ”€โ”€ */
.mgrid { display: grid; gap: 8px 0; }
.mgrid.c2 { grid-template-columns: 1fr 1fr; }
.mgrid.c3 { grid-template-columns: 1fr 1fr 1fr; }
.mgrid.c4 { grid-template-columns: 1fr 1fr 1fr 1fr; }

/* โ”€โ”€ Blanks โ”€โ”€ */
.b { display: inline-block; border-bottom: 1.5px solid #333; min-width: 8em; text-align: center; }
.bw { display: inline-block; border-bottom: 1.5px solid #333; min-width: 18em; text-align: center; }
.bl { display: inline-block; border-bottom: 1.5px solid #333; min-width: 22em; text-align: center; }

/* โ”€โ”€ Boxes โ”€โ”€ */
.abox { border: 1.5px solid #e0e0e0; border-radius: 4px; padding: 8px 10px; margin-bottom: 5px; }
.dbox { border: 1.5px dashed #ccc; border-radius: 4px; min-height: 80px; background: #fafafa; margin-bottom: 8px; }
.draw-box { border: 1.5px dashed #bbb; border-radius: 6px; min-height: 80px; background: #fafafa; margin: 8px 0; }
.starbox { border: 2px solid #ffc107; border-radius: 6px; padding: 10px 12px; margin-bottom: 8px; background: #fffde7; }
.selfcheck { border: 1.5px solid #4caf50; border-radius: 4px; padding: 6px 10px; margin-bottom: 5px; background: #f1f8e9; }

/* โ”€โ”€ Table โ”€โ”€ */
.tbl { width: 100%; border-collapse: collapse; margin-bottom: 8px; font-size: 12px; }
.tbl th { background: #f5f5f5; color: #333; padding: 5px 8px; text-align: center; border-bottom: 2px solid #3f51b5; font-weight: 600; font-size: 11.5px; }
.tbl td { padding: 5px 8px; border-bottom: 1px solid #eee; text-align: center; }

/* โ”€โ”€ Word problem โ”€โ”€ */
.wp { border-left: 3px solid #3f51b5; padding-left: 8px; margin-bottom: 8px; }

/* โ”€โ”€ Number chart โ”€โ”€ */
.chart { display: grid; grid-template-columns: repeat(10, 1fr); font-family: 'Courier New', monospace; font-size: 11px; text-align: center; line-height: 1; }
.chart .c { border: 1px solid #ddd; padding: 3px 1px; }
.chart .c.hl { background: #f5f5f5; }
.chart .c.miss { border: 1.5px dashed #3f51b5; min-height: 16px; background: #fafafa; }
.chart .c.hdr { background: #3f51b5; color: #fff; font-weight: 600; border-color: #3f51b5; }

/* โ”€โ”€ Ordering boxes โ”€โ”€ */
.orow { display: flex; gap: 3px; align-items: center; margin-bottom: 3px; font-family: 'Courier New', monospace; font-size: 14px; }
.obox { border: 1.5px solid #333; min-width: 2.2em; min-height: 1.4em; text-align: center; display: inline-block; }

/* โ”€โ”€ Number bonds โ”€โ”€ */
.bond { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-family: 'Courier New', monospace; font-size: 14px; }
.bcirc { border: 2px solid #3f51b5; border-radius: 50%; width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; }

/* โ”€โ”€ Skip counting โ”€โ”€ */
.skrow { font-family: 'Courier New', monospace; font-size: 16px; display: flex; gap: 3px; align-items: center; flex-wrap: wrap; margin-bottom: 4px; }
.skn { display: inline-block; min-width: 2.5em; text-align: center; }
.skip-num { display: inline-block; width: 34px; height: 34px; line-height: 34px; text-align: center; border: 1.5px solid #3f51b5; border-radius: 50%; font-size: 14px; font-weight: 600; margin: 2px; }
.skip-blank { display: inline-block; width: 34px; height: 34px; line-height: 34px; text-align: center; border: 1.5px dashed #333; border-radius: 50%; font-size: 14px; margin: 2px; background: #fafafa; }

/* โ”€โ”€ Star self-check โ”€โ”€ */
.star-row { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; font-size: 13px; }
.stars { letter-spacing: 2px; color: #ccc; font-size: 16px; }

/* โ”€โ”€ Ruler โ”€โ”€ */
.ruler-container { position: relative; margin: 6px 0; }
.ruler { border: 1px solid #333; border-top: none; height: 28px; position: relative; background: #fffef0; }
.ruler-label { font-size: 9px; color: #666; text-align: center; margin-top: 2px; }
.ruler-marks { position: relative; height: 28px; }
.ruler-mark { position: absolute; bottom: 0; width: 1px; background: #333; }
.ruler-mark.major { height: 16px; }
.ruler-mark.mid { height: 12px; }
.ruler-mark.minor { height: 8px; }
.ruler-num { position: absolute; font-size: 9px; color: #333; transform: translateX(-50%); }
.measure-line { border-bottom: 2px solid #333; margin: 8px 0; position: relative; }
.obj-label { font-size: 11px; font-weight: 600; color: #333; display: inline-block; margin-bottom: 2px; }
.comparison { display: flex; align-items: center; gap: 6px; margin-bottom: 4px; }
.comparison .val { font-family: 'Courier New', monospace; font-size: 13px; font-weight: 600; }

/* โ”€โ”€ Multiplication โ”€โ”€ */
.group-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 4px 0; }
.group-circle { width: 12px; height: 12px; display: inline-block; vertical-align: middle; }
.array-svg { width: 120px; height: auto; margin: 4px 0; }
.eqgroup-box { border: 2px solid #e0e0e0; border-radius: 8px; padding: 6px; display: inline-flex; gap: 3px; align-items: center; margin: 4px; min-width: 60px; justify-content: center; background: #fafafa; }
.mult-sign { font-size: 16px; font-weight: 700; color: #3f51b5; }
.div-sign { font-size: 16px; font-weight: 700; color: #3f51b5; }
.highlight { color: #3f51b5; font-weight: 700; }
.times-table { border: 2px solid #3f51b5; border-radius: 8px; padding: 8px; margin: 4px 0; background: #f5f5f5; }
.times-table h4 { font-size: 14px; color: #3f51b5; margin-bottom: 4px; }
.times-row { display: flex; align-items: center; gap: 6px; padding: 2px 0; font-size: 13px; }
.times-row .eq { color: #999; }
.chart-cell { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 28px; font-size: 11px; text-align: center; }
.chart-cell.header { font-weight: 700; background: #3f51b5; color: #fff; border-radius: 3px; }
.chart-cell.data { border: 1px solid #e0e0e0; }
.chart-cell.data.filled { background: #e8eaf6; font-weight: 600; color: #3f51b5; }
.chart-cell.data.empty { background: #fafafa; color: #ccc; }

/* โ”€โ”€ Fluency grids โ”€โ”€ */
.fluency-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.fluency-item { border: 1.5px solid #e0e0e0; border-radius: 4px; padding: 4px; text-align: center; font-size: 12px; }
.fluency-item .answer { margin-top: 2px; }

/* โ”€โ”€ Scavenger / certificates โ”€โ”€ */
.scavenger-card { border: 2px solid #ff9800; border-radius: 8px; padding: 8px 10px; margin-bottom: 6px; background: #fff3e0; }
.scavenger-card .clue { font-size: 11px; color: #e65100; font-weight: 600; }
.scavenger-card .answer-line { margin-top: 4px; }
.cert-border { border: 4px double #3f51b5; border-radius: 12px; padding: 20px; text-align: center; background: linear-gradient(to bottom, #fffde7, #fff); }
.cert-title { font-size: 24px; font-weight: 700; color: #3f51b5; margin-bottom: 4px; }
.cert-subtitle { font-size: 14px; color: #555; margin-bottom: 8px; }
.cert-name { font-size: 18px; border-bottom: 2px solid #333; display: inline-block; min-width: 200px; margin: 8px 0; }
.cert-body { font-size: 12px; color: #555; margin: 8px 0; line-height: 1.6; }
.mixed-problem { border: 1.5px solid #e0e0e0; border-radius: 4px; padding: 6px 10px; margin-bottom: 4px; }
.badge-row { display: flex; gap: 8px; flex-wrap: wrap; }
.badge { border: 2px solid; border-radius: 6px; padding: 4px 8px; font-size: 10px; font-weight: 600; }
.cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.cat-item { border: 1.5px solid #e0e0e0; border-radius: 4px; padding: 5px; text-align: center; font-size: 11px; }
.cat-svg { width: 100px; height: 100px; }

/* โ”€โ”€ Work line โ”€โ”€ */
.work-line { border-bottom: 1px solid #ddd; height: 24px; margin-bottom: 3px; }

/* Teacher guide overrides */
.tg-head { display: flex; align-items: baseline; gap: 10px; padding-bottom: 4px; border-bottom: 3px solid #4caf50; margin-bottom: 6px; }
.tg-head .week { font-size: 18px; font-weight: 700; color: #4caf50; letter-spacing: -0.5px; }
.tg-head .day { font-size: 13px; font-weight: 600; color: #4caf50; background: #e8f5e9; padding: 2px 10px; border-radius: 3px; }
.tg-head .topic { font-size: 11.5px; color: #888; margin-left: auto; font-style: italic; }

.tg-sec { margin-bottom: 5px; }
.tg-sec-head { display: flex; align-items: center; gap: 6px; margin-bottom: 3px; }
.tg-sec-n { font-size: 10px; font-weight: 700; color: #fff; background: #4caf50; width: 20px; height: 20px; display: inline-flex; align-items: center; justify-content: center; border-radius: 3px; flex-shrink: 0; }
.tg-sec-t { font-size: 12.5px; font-weight: 600; color: #333; }

.tg-answer { color: #4caf50; font-weight: 700; font-size: 13px; }
.tg-label { font-size: 10px; color: #999; }
.tg-note { font-size: 10.5px; color: #999; font-style: italic; margin-bottom: 4px; }

.tg-mgrid { display: grid; gap: 3px 0; }
.tg-mgrid.c2 { grid-template-columns: 1fr 1fr; }
.tg-mgrid.c3 { grid-template-columns: 1fr 1fr 1fr; }
.tg-mgrid.c4 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.tg-mgrid.c5 { grid-template-columns: repeat(5, 1fr); }

.tg-problem { font-family: 'Courier New', monospace; font-size: 12px; margin-bottom: 2px; }
.tg-problem .ans { color: #4caf50; font-weight: 700; }

.tg-box { border: 1px solid #c8e6c9; border-radius: 4px; padding: 4px 8px; margin-bottom: 3px; background: #f9fbe7; }

.tg-section-title { font-size: 14px; font-weight: 700; color: #4caf50; margin-bottom: 4px; margin-top: 6px; }
</style></head><body>

<page>
<div class="tg-head"><span class="week">Teacher Guide</span><span class="day">Week 31</span><span class="topic">Final Review โ€” Teacher Guide</span></div>

<div class="tg-section-title">Monday: Place Value & Number Sense</div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">1</span><span class="tg-sec-t">Warm-up</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">16, 9, 16, 9</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">2</span><span class="tg-sec-t">Place Value</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">8 means 8 tens (80); 300+10+6; 749; 438 < 483</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">3</span><span class="tg-sec-t">Number Talk</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">410 is bigger (399+10=409); Marisol is wrong โ€” compare tens first, 250 has 5 tens vs 0 tens</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">4</span><span class="tg-sec-t">Skip Counting</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">237, 257; 345, 445; 490, 500</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">5</span><span class="tg-sec-t">Word Problem</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">Chapter books 364; total 264+364 = 628</span></div>
</div></div><p class="tg-note">Page break</p>

</page><page>


<div class="tg-section-title">Tuesday: Addition & Subtraction</div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">1</span><span class="tg-sec-t">Warm-up</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">14, 5, 16, 9</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">2</span><span class="tg-sec-t">Estimate First</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">48+34: est 50+30=80, exact 82; 72โˆ’29: est 70โˆ’30=40, exact 43</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">3</span><span class="tg-sec-t">Mixed +/โˆ’</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">57+26=83 (regroup); 83โˆ’45=38 (regroup); 38+41=79 (no); 60โˆ’27=33 (regroup)</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">4</span><span class="tg-sec-t">Two Ways</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">46+39=85; friendly number: 46+40โˆ’1=85; break apart: 40+30=70, 6+9=15, 70+15=85</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">5</span><span class="tg-sec-t">Word Problems</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">92โˆ’58+25 = 59 muffins; Jo is wrong โ€” Kim needs 70โˆ’35 = 35 more</span></div>
</div></div><p class="tg-note">Page break</p>

</page><page>


<div class="tg-section-title">Wednesday: Measurement, Time & Money</div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">1</span><span class="tg-sec-t">Warm-up</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">50, 16, 25, 25</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">2</span><span class="tg-sec-t">Time</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">3:15, 7:40, 11:05</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">3</span><span class="tg-sec-t">Money</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">61ยข, 51ยข, 80ยข</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">4</span><span class="tg-sec-t">Estimate First</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">A = 6 cm, B = 9 cm (printed scale)</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">5</span><span class="tg-sec-t">Number Talk</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">Ava: 9 dimes = 90ยข vs 4 quarters = 100ยข โ†’ Ben has more; count by 25s vs 10s</span></div>
</div></div><p class="tg-note">Page break</p>

</page><page>


<div class="tg-section-title">Thursday: Geometry & Arrays</div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">1</span><span class="tg-sec-t">Warm-up</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">9, 15, 8, 8</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">2</span><span class="tg-sec-t">Shapes</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">triangle 3/3; square 4/4; rectangle 4/4; star 10/10 (accept 5 points)</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">3</span><span class="tg-sec-t">Arrays</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">8, 9, 20</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">4</span><span class="tg-sec-t">Word Problems</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">3 rows of 6 = 18 muffins; ate 1/4, left 3/4; 17 is odd โ€” one kid left over</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">5</span><span class="tg-sec-t">Create Own</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">Any equal-row array with matching addition sentence</span></div>
</div></div><p class="tg-note">Page break</p>

</page><page>


<div class="tg-section-title">Friday: Big Review & Self-Check</div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">1</span><span class="tg-sec-t">Warm-up</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">15, 8, 14, 7</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">2</span><span class="tg-sec-t">Estimate First</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">63โˆ’28: est ~35, exact 35; 37+45: est ~80, exact 82</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">3</span><span class="tg-sec-t">Year in 6 Problems</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">562; 35; 80ยข; 4:30; odd; 12</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">4</span><span class="tg-sec-t">Number Talk</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">50+50 is bigger by 4 (each 48 is 2 less than 50)</span></div>
</div></div><div class="tg-sec"><div class="tg-sec-head"><span class="tg-sec-n">5</span><span class="tg-sec-t">Self-Check</span></div><div class="tg-box"><div class="tg-problem">1. <span class="ans">Accept student self-assessment; discuss summer practice plans</span></div>
</div></div>

</page>
</body></html>