Subject: [SUBJECT AND TOPIC]. 
Materials: attached (photos, PDFs, tests) or described below.

Act as a teacher and builder. Make a bilingual (English/Polish) interactive study "video" for my daughter Hanna (15, Pre-IB at school taught in English; Polish is her native language).

0. ASK FIRST (multiple choice) about:
- scope: only the materials, or also related textbook pages visible in the photos;
- length
- whether to solve tasks from an attached test or worksheet step by step;
- number of labs
If a graded test is attached, quietly target its mistakes; never mention the score or the name on it.

1. CONTENT
- Pre-IB level, plain English, short sentences. Use outside knowledge where it helps; correct errors in the materials and say so.
- Key terms in captions show their translation. Use correct Polish school terminology.
- Worked examples come from the materials, with every step and unit.
- Per chapter: a 3-question multiple-choice quiz with explanations.
- 3–4 labs (interactive simulation or task generator with checking and worked solutions). Each runs after its chapter, before the quiz, and can be reopened from the chapter list.
- Final test: 15 questions, multiple choice plus typed numbers (accept comma or dot). Each has a worked solution; show the score and save the best score.
- Tabs: Video, Glossary (~40 terms, EN+PL definitions, listen buttons), one-page Summary (rules/formulas, tables, definitions, exam traps), Final test.

2. PAGE: one self-contained HTML file, React 18 UMD (cdnjs)
- 960×540 SVG stage with one animated scene per chapter. Every beat gets a matching visual; nothing overlaps or runs off the stage in either language.
- Captions with an optional translation line.
- EN/PL switch in the header and on the title screen.
- Keyboard (Space, ←/→, L), speed 0.75–1.25×.
- Settings: narration, quizzes/labs, translation.
- Chapter list with progress; end card with "Take the final test".
- Light and dark themes; works at phone width; progress saved in localStorage.
- A beat advances when its audio ends + 0.55 s. If audio can't play, a timer of the clip's length runs instead.

3. NARRATION: recorded, never browser TTS
- EN: Kokoro (kokoro-onnx, af_heart, speed 1.0).
- PL: Piper "Gosia" (pl_PL-gosia-medium via sherpa-onnx, speed 0.88, noise_scale 0.5, noise_scale_w 0.6).
- Keep spoken text separate from captions; write all numbers, symbols, units and abbreviations out in words (Polish: comma decimals, correct cases, "es i" for SI).
- Trim silence, add a 150 ms lead-in, export MP3 mono 48 kbps, one clip per beat and per glossary term.
- Spot-check with Whisper and fix misheard words.

4. QA
- Screenshot every beat at the end of its timing in EN/PL and light/dark, plus labs, test and summary on desktop and phone. Fix overlaps, clipped text and animations that finish after the narration.
- Test audio sync, pause, language switch, speed and voice-off.

5. DELIVERY
- Publish as an artifact with the MP3s as separate files (max 255 files per publish, so split into two publishes).
- Send a 2-page A4 summary PDF (page 1 EN, page 2 PL).
- Send an offline HTML with the audio embedded that shows a bilingual "open in a browser" note when JavaScript can't run (iPhone preview).
- Report the running time and any Polish pronunciation issues.