# Science Worksheet Audit โ€” Formatting & Style Reference

## File Structure

- **Base directory:** `~/Home_School/2nd_Grade/Science/`
- **Week directories:** `Week01/`, `Week02/`, etc.
- **File naming:** `W[NN]_[Day]_[Topic].pdf`
- **Days per week:** Monday, Wednesday, Friday (3 lessons)
- **Pages per lesson:** 3 pages (consistent)
- **Conversion:** `weasyprint` (NOT xhtml2pdf) โ€” matches original styling

---

## Page Setup

```css
@page { size: 8.5in 11in; margin: 0.5in; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Georgia', serif; color: #333; font-size: 11pt; line-height: 1.5; }
```

- **Paper:** US Letter (8.5 x 11in), 0.5in margins all sides
- **Font:** Georgia, serif, 11pt body, dark gray (#333)
- **Line height:** 1.5

---

## Color Palettes (Two Schemes)

### Legacy Scheme (Weeks 1-5)

| Element | Color | Hex |
|---------|-------|-----|
| Primary headings | Blue | `#4a6fa5` |
| Sub headings | Light blue | `#6a8fb5` |
| Reading box background | Cream | `#faf8f0` |
| Reading box border | Tan | `#c9b99a` |
| Table header background | Light blue | `#e8edf5` |
| Table borders | Blue | `#4a6fa5` |
| Body text | Dark gray | `#333` |

### Green Scheme (Weeks 6+)

| Element | Color | Hex |
|---------|-------|-----|
| H1/H3 headings | Dark green | `#2e7d32` |
| H2 subtitle | Gray | `#555` |
| Reading box background | Light green | `#e8f5e9` |
| Reading box left border | Medium green | `#43a047` |
| Table header background | Light green | `#e8f5e9` |
| Table header text | Dark green | `#2e7d32` |
| Table borders | Light green | `#c8e6c9` |
| Activity boxes | Blue | `#42a5f5` |
| Draw boxes | Blue dashed | `#42a5f5` |
| Answer lines | Light blue-gray | `#b0bec5` |
| Even table rows | Light yellow-green | `#f9fbe7` |
| Body text | Near black | `#1a1a1a` |

---

## Typography

### Legacy (W1-5)

| Element | Size | Style | Color |
|---------|------|-------|-------|
| H1 | 18pt | Bold, centered | `#4a6fa5` |
| H2 | 13pt | Italic, centered | `#6a8fb5` |
| H3 | 12pt | Bold, underline border | `#4a6fa5` |
| Body | 11pt | Normal | `#333` |

### Green Scheme (W6+)

| Element | Size | Style | Color |
|---------|------|-------|-------|
| H1 | 22px | Bold, left | `#2e7d32` |
| H2 | 13px | Italic, normal weight, left | `#555` |
| H3 | 14px | Bold, no underline | `#2e7d32` |
| Body | 12px | Normal | `#1a1a1a` |

---

## CSS Classes โ€” Complete Reference

### Headings

```css
/* Green scheme (W6+) */
h1 { font-size: 22px; color: #2e7d32; margin-bottom: 2px; }
h2 { font-size: 13px; color: #555; font-weight: normal; font-style: italic; margin-bottom: 6px; }
h3 { font-size: 14px; color: #2e7d32; margin: 6px 0 3px; page-break-after: avoid; }
```

### Reading Box

```css
.reading-box {
  /* Green scheme (W6+) */
  background: #e8f5e9;
  border-left: 5px solid #43a047;
  border-radius: 0 8px 8px 0;
  padding: 8px 12px;
  margin-bottom: 6px;
  font-size: 11.5px;
  line-height: 1.35;
}
.reading-box p { margin-bottom: 3px; text-indent: 1em; }
.reading-box p:last-child { margin-bottom: 0; }
```

- Green left-accent bar (NOT full border)
- Paragraphs indented like a real reading passage
- `#e8f5e9` background, `#43a047` accent

### Answer Lines

```css
.answer-line { border-bottom: 1px solid #b0bec5; height: 22px; }
.answer-lines-triple .line-row { border-bottom: 1px solid #b0bec5; height: 18px; }
```

**Usage rule:**
- Questions 1-3 (short answers) โ†’ single `.answer-line`
- Question 4 (extended/essay) โ†’ `.answer-lines-triple` with 3 `.line-row` divs
- Hypothesis/explanation questions โ†’ `.answer-lines-triple`

### Vocabulary Grid (CSS Grid โ€” W6+)

```css
.vocab-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 6px;
  /* NOTE: Do NOT use page-break-after: always โ€” use explicit .page divs instead */
}
.vocab-card {
  border: 2px solid #42a5f5;
  border-radius: 6px;
  padding: 4px 7px;
}
.vocab-card strong {
  display: block;
  color: #1565c0;
  font-size: 12px;
  margin-bottom: 2px;
}
.vocab-card .line-row {
  border-bottom: 1px solid #b0bec5;
  height: 16px;
}
```

- 2-column CSS grid (NOT table-based)
- Each card: term on top (bold, blue), 3 definition lines below
- **Do NOT use `page-break-after: always`** โ€” it isolates vocab on its own page and pushes Reading Time to page 2. Use explicit `<div class="page">` wrappers for page control instead. Vocab grid + Reading Time belong together on page 1.

### Tables (Sort, Chart, Compare)

```css
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 6px;
  font-size: 11px;
  page-break-inside: avoid;  /* CRITICAL: prevents table splitting across pages */
}
th {
  background: #e8f5e9;
  color: #2e7d32;
  padding: 3px 5px;
  text-align: left;
  font-size: 10.5px;
  border: 1px solid #c8e6c9;
}
td { padding: 3px 5px; border: 1px solid #e0e0e0; }
tr:nth-child(even) { background: #f9fbe7; }
```

- **ALWAYS use `page-break-inside: avoid`** on tables โ€” without this, sort tables split across pages causing orphaned rows

### Activity Box

```css
.activity-box {
  border: 2px solid #42a5f5;
  border-radius: 6px;
  padding: 7px 10px;
  margin-bottom: 6px;
}
```

- Blue bordered container for experiments, hunts, and multi-step activities

### Draw Box

```css
.draw-box {
  border: 2px dashed #42a5f5;
  border-radius: 6px;
  height: 70px;
  background: #fafafa;
  margin-bottom: 6px;
}
```

- Dashed blue border, light gray fill
- Use 3-column grid for side-by-side draw boxes

### True/False (Circle Style โ€” W6+)

```css
.circle-box {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid #42a5f5;
  border-radius: 50%;
  margin-right: 3px;
  vertical-align: middle;
}
```

- Each statement gets its own line with a circle for checking
- Format: `<span class="circle-box"></span> <strong>N.</strong> Statement`

### Word Bank (Fill-in-blank โ€” W6+)

```css
.wordbank span {
  background: #e3f2fd;
  border: 1px solid #42a5f5;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 10.5px;
  margin-right: 2px;
  display: inline-block;
  margin-bottom: 2px;
}
```

- Blue-tinted pill-shaped tags for word bank words

### Legacy Classes (W1-5 reference)

```css
/* Legacy chart table */
.chart-table td { border: 2px solid #4a6fa5; padding: 6px; }
.chart-table td:first-child { width: 12%; font-weight: bold; text-align: center; background: #e8edf5; }

/* Legacy box container (scavenger hunt) */
.box-container { display: flex; flex-wrap: wrap; gap: 5px; justify-content: center; }
.box { border: 2px solid #4a6fa5; border-radius: 8px; padding: 8px; width: 31%; min-height: 80px; }

/* Legacy check line (inline fill-in) */
.check-line { border-bottom: 1px solid #999; display: inline-block; width: 80px; }

/* Legacy T/F table */
.tf-table td:first-child { width: 25%; text-align: center; font-weight: bold; background: #e8edf5; }

/* Legacy journal box */
.journal-box { border: 2px solid #c9b99a; border-radius: 8px; padding: 12px; min-height: 120px; }
.journal-line { border-bottom: 1px solid #ccc; height: 26px; }
```

### Page Control

```css
/* Method 1: Explicit page divs (W6+ preferred) */
.page { width: 7.5in; min-height: 10in; position: relative; }
.page + .page { page-break-before: always; }

/* Method 2: Page break divs (legacy W1-5) */
.page-break { page-break-before: always; }
.page + .page { page-break-before: always; }
/* Critical rules โ€” apply to both schemes */
.no-break { page-break-inside: avoid; }
h3 { page-break-after: avoid; }
table { page-break-inside: avoid; }  /* Prevents sort/chart tables from splitting */
/* REMOVED: .vocab-grid { page-break-after: always; } โ€” pushes Reading Time to page 2. Use .page divs instead. */
```

---

## Lesson Structure by Day

### MONDAY โ€” Introduction / Reading Focus

**Legacy (W1-5) โ€” 3 pages:**
1. **H1 Title** + **H2 Week/Day subtitle**
2. **H3 "๐Ÿ“– Reading Time"** โ†’ `.reading-box` passage
3. **H3 "โœ๏ธ Reading Questions"** โ†’ 4 questions (Q1-3 single line, Q4 triple lines)
4. **[PAGE BREAK]**
5. **H3 "๐Ÿ“ Vocabulary Grid"** โ†’ `.vocab-grid` (6 terms)
6. **H3 Activity chart** โ†’ `.chart-table` or `.sort-table`
7. **[PAGE BREAK]**
8. **H3 Hunt activity** โ†’ `.check-line` inline answers
9. **H3 Sort activity** โ†’ `.sort-table`

**Green Scheme (W6+) โ€” 3 pages, explicit `<div class="page">` wrappers:**
1. **Page 1:** H1 + H2 โ†’ Reading โ†’ Questions (4) โ†’ Vocabulary Grid (6 cards)
2. **Page 2:** Sort Table โ†’ True/False (circles) โ†’ Draw boxes (3 columns) โ†’ Compare chart โ†’ Think questions
3. **Page 3:** Fill-in-blanks (word bank) โ†’ Matter Hunt table โ†’ Experiment โ†’ Review table

**Monday structure (correct โ€” W13+):**
1. **Page 1:** H1 + H2 โ†’ Vocabulary Grid (6 cards) โ†’ Reading Time โ†’ Reading Questions
2. **Page 2:** Remaining activities (matching, draw, etc.)
3. **Page 3:** Fill-in-blanks โ†’ True/False โ†’ Observe โ†’ Think About It

**Page overflow troubleshooting (learned W13):**
- If a page renders to 4+ pages: check total content height. Draw boxes (160px+) and large tables are the usual culprits.
- Reduce draw-box `height` inline style or merge adjacent activity sections.
- Always verify with `pdfinfo file.pdf | grep Pages` after changes.

### WEDNESDAY โ€” Hands-On / Experiment

1. **H1 Title** + **H2 subtitle**
2. **H3 Reading section** โ†’ `.reading-box` passage
3. **H3 Short questions** โ†’ answer lines
4. **H3 Activity** โ†’ `.box-container` scavenger hunt or experiment chart
5. **[PAGE BREAK]**
6. **H3 Sort activity** โ†’ `.sort-table`
7. **H3 Test/observation chart** โ†’ `.chart-table` with answer lines
8. **[PAGE BREAK]**
9. **H3 Drawing/creative activity** โ†’ empty bordered box
10. **H3 Extended writing** โ†’ `.answer-lines-triple`

### FRIDAY โ€” Review / Application

1. **H1 Title** + **H2 subtitle**
2. **H3 Reading section** โ†’ `.reading-box` passage
3. **H3 Reading Questions** โ†’ Q1-3 single, Q4 triple lines
4. **[PAGE BREAK]**
5. **H3 "๐Ÿ”ง Best Material for the Job"** or similar chart โ†’ `.chart-table`
6. **H3 "โœ… True or False"** โ†’ `.tf-table` (6 items, italic True/False)
7. **[PAGE BREAK]**
8. **H3 Design/Creative challenge** โ†’ bordered draw box + `.answer-lines-triple`
9. **H3 "๐Ÿ““ Science Journal"** โ†’ `.journal-box` with 3 prompts, 3 lines each
10. **H3 Week Review** โ†’ `.check-line` inline answers

---

## Emojis Used (Section Headers)

| Emoji | Context |
|-------|---------|
| ๐Ÿ”ฌ | Scientific observation, experiments |
| ๐Ÿ” | Investigation, sorting |
| ๐Ÿงฑ | Materials, building |
| ๐ŸŒณ | Nature, textures |
| ๐Ÿ—๏ธ | Engineering, construction |
| ๐Ÿ“– | Reading time |
| โœ๏ธ | Written questions |
| ๐Ÿ“ | Vocabulary, writing |
| ๐Ÿงช | Experiments |
| ๐Ÿ“Š | Data/results |
| ๐Ÿ“š | Review |
| โœ… | True/False |
| ๐Ÿ”— | Matching |
| ๐Ÿง  | Challenge questions |
| ๐Ÿ““ | Journal |
| โญ | Review/checklist |
| ๐ŸŽจ | Drawing/design |
| ๐ŸŽฏ | Target/goal activities |
| ๐Ÿ™ˆ | Blind/sensory tests |
| ๐ŸŒฟ | Nature sorting |
| ๐Ÿ  | Home-based activities |

---

## HTML Structure Template

```html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <!-- CSS inserted here -->
</head>
<body>
  <h1>[Emoji] Lesson Title</h1>
  <h2>Week [N] โ€” [Day] | [Topic]</h2>

  <h3>[Emoji] Section Title</h3>
  <div class="reading-box">
    <p>Reading passage with <strong>key terms</strong>...</p>
  </div>

  <h3>โœ๏ธ Reading Questions</h3>
  <p><strong>1. Question text?</strong></p>
  <div class="answer-line"></div>

  <p><strong>4. Extended question?</strong></p>
  <div class="answer-lines-triple">
    <div class="line"></div>
    <div class="line"></div>
    <div class="line"></div>
  </div>

  <div class="page-break"></div>

  <!-- Page 2 content -->

  <div class="page-break"></div>

  <!-- Page 3 content -->
</body>
</html>
```

---

## Rules & Constraints
1. **Reading Time comes first** โ€” When a lesson has a Reading Time section and Reading Questions, they MUST appear before anything else (including Vocabulary Grid). Structure: H1 โ†’ H2 โ†’ ๐Ÿ“– Reading Time โ†’ โœ๏ธ Reading Questions โ†’ then all other sections.
2. **3 pages per lesson** โ€” enforce with explicit `<div class="page">` wrappers (NOT `.page-break` divs or `page-break-after`)
3. **No emojis in output text** โ€” only in section headers
4. **No code blocks** in the rendered PDFs
5. **Words 3+ letters only** โ€” no single/double letter words
6. **No Rainbow Writing** โ€” plain text formatting
7. **Answer line spacing:** single lines for short answers, triple lines for extended/essay questions (especially Q4)
8. **Consistent 3-lesson week structure:** Monday (intro), Wednesday (hands-on), Friday (review)
9. **Vocabulary Grid belongs on page 1 but after Reading Questions** โ€” never before Reading Time
10. **Verify page counts** โ€” always run `pdfinfo file.pdf` after HTML changes to confirm 3 pages