{"version":3,"file":"OwnableMathCompanion.CtbkGrBa.mjs","names":["React.useState","_Fragment","useState","useRef","React.useCallback","email","React.useMemo"],"sources":["https:/framerusercontent.com/modules/kS4Z0RM0UEX2t60SflVn/l4M79ydXqdumJ3oXGGzs/Curriculum.js","https:/framerusercontent.com/modules/Xvu5CBWiZwQ6iSljHuwk/6fLj7a7QTkUx789bBOOz/OwnableMathCompanion.js"],"sourcesContent":["// Helpers/Curriculum.ts\n// Cleaned for Framer (TypeScript).\n// Each unit is an array of lessons; each lesson has lessonNumber and title.\n// Get Started: https://www.framer.com/developers\n// curriculum.ts\n// Ownable™ Curriculum — Elementary - College\n// Each day is scoped to a 30-minute lesson (mini-lesson → Socratic → guided example → quick checks → wrap-up).\n// Elementary tone is playful (stories/games); strings hint when a small visual helps (number line, arrays, fraction bars, bar graphs).\n// curriculum.ts (extended)\n// Ownable™ Curriculum — Adds Grades 6–8 + HS (Alg I, Geometry) + College (Calc I, College Algebra)\n// All days scoped to a 30-minute lesson (mini-lesson → Socratic → guided example → quick checks → wrap-up).\n// Visual cues baked into topics (number lines, tables, simple graphs, fraction bars, coordinate grids, diagrams).\nexport const curriculumVersion=\"2025.09.17-e-g1to5-ms678-hs-college-v1\"// Not being used anymore, no local storage\n;export const curriculum={// Keys here must match your dropdown option VALUES (not labels)\n// e.g. you have \"intro_to_algebra\", \"statistics\", \"grade6\", etc.\n/* --------------------------- Elementary --------------------------- */grade1:{unit1:[{lessonNumber:1,title:\"Counting to 10\"},{lessonNumber:2,title:\"Counting to 20\"},{lessonNumber:3,title:\"Compare numbers (>, <, =)\"},{lessonNumber:4,title:\"Add within 10\"},{lessonNumber:5,title:\"Subtract within 10\"}],unit2:[{lessonNumber:1,title:\"Add/Sub word problems\"},{lessonNumber:2,title:\"Fact families\"},{lessonNumber:3,title:\"Place value to 20\"},{lessonNumber:4,title:\"Add strategies\"},{lessonNumber:5,title:\"Sub strategies\"}],unit3:[{lessonNumber:1,title:\"Add within 20\"},{lessonNumber:2,title:\"Sub within 20\"},{lessonNumber:3,title:\"Word problems (choose + or −)\"},{lessonNumber:4,title:\"Place value to 100\"},{lessonNumber:5,title:\"Number line order (0–100)\"}],unit4:[{lessonNumber:1,title:\"Skip count by 2s\"},{lessonNumber:2,title:\"Skip count by 5s\"},{lessonNumber:3,title:\"Skip count by 10s\"},{lessonNumber:4,title:\"Compare to 100\"},{lessonNumber:5,title:\"Even vs odd\"}],unit5:[{lessonNumber:1,title:\"Number patterns\"},{lessonNumber:2,title:\"Time: hour\"},{lessonNumber:3,title:\"Time: half-hour\"},{lessonNumber:4,title:\"Elapsed time (short tasks)\"},{lessonNumber:5,title:\"Coins: pennies/nickels\"}],unit6:[{lessonNumber:1,title:\"Coins: dimes/quarters\"},{lessonNumber:2,title:\"Count mixed coins\"},{lessonNumber:3,title:\"Money word problems\"},{lessonNumber:4,title:\"2D shapes (circle/square/triangle)\"},{lessonNumber:5,title:\"2D shapes (rectangle/hexagon)\"}],unit7:[{lessonNumber:1,title:\"3D shapes (cube/cone)\"},{lessonNumber:2,title:\"3D shapes (sphere/cylinder)\"},{lessonNumber:3,title:\"Fractions: halves\"},{lessonNumber:4,title:\"Fractions: quarters\"},{lessonNumber:5,title:\"Equal vs unequal parts\"}],unit8:[{lessonNumber:1,title:\"Fractions on shapes\"},{lessonNumber:2,title:\"Measure (nonstandard units)\"},{lessonNumber:3,title:\"Measure (inches)\"},{lessonNumber:4,title:\"Measure (centimeters)\"},{lessonNumber:5,title:\"Compare lengths\"}],unit9:[{lessonNumber:1,title:\"Picture graphs (read)\"},{lessonNumber:2,title:\"Picture graphs (make)\"},{lessonNumber:3,title:\"Bar graphs (read)\"},{lessonNumber:4,title:\"Bar graphs (make)\"},{lessonNumber:5,title:\"Add within 50\"}],unit10:[{lessonNumber:1,title:\"Sub within 50\"},{lessonNumber:2,title:\"Numbers 101–200 (read/write)\"},{lessonNumber:3,title:\"Place value (hundreds/tens/ones)\"},{lessonNumber:4,title:\"Compare 3-digit numbers\"},{lessonNumber:5,title:\"Tens/ones/hundreds review\"}]},grade2:{unit1:[{lessonNumber:1,title:\"Place value to 1,000\"},{lessonNumber:2,title:\"Skip counting & patterns\"},{lessonNumber:3,title:\"Compare 3-digit numbers\"},{lessonNumber:4,title:\"Number line to 1,000\"},{lessonNumber:5,title:\"Add within 100\"}],unit2:[{lessonNumber:1,title:\"Sub within 100\"},{lessonNumber:2,title:\"Add with regrouping\"},{lessonNumber:3,title:\"Sub with regrouping\"},{lessonNumber:4,title:\"Word problems\"},{lessonNumber:5,title:\"Estimate sums\"}],unit3:[{lessonNumber:1,title:\"Estimate differences\"},{lessonNumber:2,title:\"Expanded form\"},{lessonNumber:3,title:\"Standard form\"},{lessonNumber:4,title:\"Number patterns\"},{lessonNumber:5,title:\"Odd/even\"}],unit4:[{lessonNumber:1,title:\"Time: hour/half-hour\"},{lessonNumber:2,title:\"Elapsed time\"},{lessonNumber:3,title:\"Money: coins\"},{lessonNumber:4,title:\"Money: bills\"},{lessonNumber:5,title:\"Count mixed money\"}],unit5:[{lessonNumber:1,title:\"2D shapes\"},{lessonNumber:2,title:\"3D shapes\"},{lessonNumber:3,title:\"Fractions: halves/thirds\"},{lessonNumber:4,title:\"Fractions: quarters\"},{lessonNumber:5,title:\"Equal parts\"}],unit6:[{lessonNumber:1,title:\"Measure: inches\"},{lessonNumber:2,title:\"Measure: cm\"},{lessonNumber:3,title:\"Compare lengths\"},{lessonNumber:4,title:\"Graphing: picture\"},{lessonNumber:5,title:\"Graphing: bar\"}],unit7:[{lessonNumber:1,title:\"Add within 1,000\"},{lessonNumber:2,title:\"Sub within 1,000\"},{lessonNumber:3,title:\"Word problems (multi-step)\"},{lessonNumber:4,title:\"Place value review\"},{lessonNumber:5,title:\"Skip counting review\"}],unit8:[{lessonNumber:1,title:\"Time review\"},{lessonNumber:2,title:\"Money review\"},{lessonNumber:3,title:\"Shapes review\"},{lessonNumber:4,title:\"Fractions review\"},{lessonNumber:5,title:\"Measurement review\"}],unit9:[{lessonNumber:1,title:\"Graphing review\"},{lessonNumber:2,title:\"Addition strategies\"},{lessonNumber:3,title:\"Subtraction strategies\"},{lessonNumber:4,title:\"Estimation strategies\"},{lessonNumber:5,title:\"Problem-solving\"}],unit10:[{lessonNumber:1,title:\"Math vocabulary\"},{lessonNumber:2,title:\"Math symbols\"},{lessonNumber:3,title:\"Math tools\"},{lessonNumber:4,title:\"Math reasoning\"},{lessonNumber:5,title:\"Math fluency\"}]},grade3:{unit1:[{lessonNumber:1,title:\"Multiplication intro\"},{lessonNumber:2,title:\"Arrays\"},{lessonNumber:3,title:\"Skip counting\"},{lessonNumber:4,title:\"Fact families\"},{lessonNumber:5,title:\"Distributive property\"}],unit2:[{lessonNumber:1,title:\"Division intro\"},{lessonNumber:2,title:\"Sharing/grouping\"},{lessonNumber:3,title:\"Inverse operations\"},{lessonNumber:4,title:\"Division word problems\"},{lessonNumber:5,title:\"Area with unit squares\"}],unit3:[{lessonNumber:1,title:\"Area of rectangles\"},{lessonNumber:2,title:\"Perimeter\"},{lessonNumber:3,title:\"Multiplication strategies\"},{lessonNumber:4,title:\"Division strategies\"},{lessonNumber:5,title:\"Word problems\"}],unit4:[{lessonNumber:1,title:\"Place value to 10,000\"},{lessonNumber:2,title:\"Compare numbers\"},{lessonNumber:3,title:\"Round numbers\"},{lessonNumber:4,title:\"Add within 1,000\"},{lessonNumber:5,title:\"Sub within 1,000\"}],unit5:[{lessonNumber:1,title:\"Time: minutes\"},{lessonNumber:2,title:\"Elapsed time\"},{lessonNumber:3,title:\"Money: word problems\"},{lessonNumber:4,title:\"Measurement: inches/cm\"},{lessonNumber:5,title:\"Measurement: grams/liters\"}],unit6:[{lessonNumber:1,title:\"Unit fractions\"},{lessonNumber:2,title:\"Fractions on number line\"},{lessonNumber:3,title:\"Compare fractions\"},{lessonNumber:4,title:\"Equivalent fractions\"},{lessonNumber:5,title:\"Fraction word problems\"}],unit7:[{lessonNumber:1,title:\"2D shapes\"},{lessonNumber:2,title:\"Angles\"},{lessonNumber:3,title:\"Lines & segments\"},{lessonNumber:4,title:\"Symmetry\"},{lessonNumber:5,title:\"Classify shapes\"}],unit8:[{lessonNumber:1,title:\"Bar graphs\"},{lessonNumber:2,title:\"Line graphs\"},{lessonNumber:3,title:\"Data interpretation\"},{lessonNumber:4,title:\"Tally charts\"},{lessonNumber:5,title:\"Picture graphs\"}],unit9:[{lessonNumber:1,title:\"Multiplication fluency\"},{lessonNumber:2,title:\"Division fluency\"},{lessonNumber:3,title:\"Area/perimeter review\"},{lessonNumber:4,title:\"Fraction review\"},{lessonNumber:5,title:\"Measurement review\"}],unit10:[{lessonNumber:1,title:\"Problem-solving strategies\"},{lessonNumber:2,title:\"Math vocabulary\"},{lessonNumber:3,title:\"Math tools\"},{lessonNumber:4,title:\"Reasoning & logic\"},{lessonNumber:5,title:\"Math fluency\"}]},grade4:{unit1:[{lessonNumber:1,title:\"Place value to 1,000,000\"},{lessonNumber:2,title:\"Compare large numbers\"},{lessonNumber:3,title:\"Round large numbers\"},{lessonNumber:4,title:\"Add/sub large numbers\"},{lessonNumber:5,title:\"Estimation\"}],unit2:[{lessonNumber:1,title:\"Multi-digit multiplication\"},{lessonNumber:2,title:\"Multi-digit division\"},{lessonNumber:3,title:\"Word problems\"},{lessonNumber:4,title:\"Factors & multiples\"},{lessonNumber:5,title:\"Prime/composite numbers\"}],unit3:[{lessonNumber:1,title:\"Mixed numbers\"},{lessonNumber:2,title:\"Improper fractions\"},{lessonNumber:3,title:\"Add/sub fractions\"},{lessonNumber:4,title:\"Equivalent fractions\"},{lessonNumber:5,title:\"Compare fractions\"}],unit4:[{lessonNumber:1,title:\"Decimals: tenths\"},{lessonNumber:2,title:\"Decimals: hundredths\"},{lessonNumber:3,title:\"Compare decimals\"},{lessonNumber:4,title:\"Add/sub decimals\"},{lessonNumber:5,title:\"Decimal word problems\"}],unit5:[{lessonNumber:1,title:\"Length measurement\"},{lessonNumber:2,title:\"Weight measurement\"},{lessonNumber:3,title:\"Volume measurement\"},{lessonNumber:4,title:\"Convert units\"},{lessonNumber:5,title:\"Measurement word problems\"}],unit6:[{lessonNumber:1,title:\"Angles\"},{lessonNumber:2,title:\"Classify triangles\"},{lessonNumber:3,title:\"Lines & rays\"},{lessonNumber:4,title:\"Symmetry\"},{lessonNumber:5,title:\"Coordinate grid\"}],unit7:[{lessonNumber:1,title:\"Line plots\"},{lessonNumber:2,title:\"Bar graphs\"},{lessonNumber:3,title:\"Data analysis\"},{lessonNumber:4,title:\"Mean/median/mode\"},{lessonNumber:5,title:\"Probability basics\"}],unit8:[{lessonNumber:1,title:\"Elapsed time\"},{lessonNumber:2,title:\"Budgeting with money\"},{lessonNumber:3,title:\"Multi-step problems\"},{lessonNumber:4,title:\"Estimation strategies\"},{lessonNumber:5,title:\"Math vocabulary\"}],unit9:[{lessonNumber:1,title:\"Fraction fluency\"},{lessonNumber:2,title:\"Decimal fluency\"},{lessonNumber:3,title:\"Measurement fluency\"},{lessonNumber:4,title:\"Geometry fluency\"},{lessonNumber:5,title:\"Graphing fluency\"}],unit10:[{lessonNumber:1,title:\"Problem-solving\"},{lessonNumber:2,title:\"Math reasoning\"},{lessonNumber:3,title:\"Math tools\"},{lessonNumber:4,title:\"Math symbols\"},{lessonNumber:5,title:\"Math fluency\"}]},grade5:{unit1:[{lessonNumber:1,title:\"Place value to billions\"},{lessonNumber:2,title:\"Compare and round large numbers\"},{lessonNumber:3,title:\"Powers of ten and exponents\"},{lessonNumber:4,title:\"Read and write decimals\"},{lessonNumber:5,title:\"Decimal place value\"}],unit2:[{lessonNumber:1,title:\"Add decimals\"},{lessonNumber:2,title:\"Subtract decimals\"},{lessonNumber:3,title:\"Multiply decimals\"},{lessonNumber:4,title:\"Divide decimals\"},{lessonNumber:5,title:\"Decimal word problems\"}],unit3:[{lessonNumber:1,title:\"Add fractions with unlike denominators\"},{lessonNumber:2,title:\"Subtract fractions with unlike denominators\"},{lessonNumber:3,title:\"Multiply fractions\"},{lessonNumber:4,title:\"Divide fractions\"},{lessonNumber:5,title:\"Fraction word problems\"}],unit4:[{lessonNumber:1,title:\"Mixed numbers and improper fractions\"},{lessonNumber:2,title:\"Convert between mixed and improper\"},{lessonNumber:3,title:\"Add and subtract mixed numbers\"},{lessonNumber:4,title:\"Multiply mixed numbers\"},{lessonNumber:5,title:\"Divide mixed numbers\"}],unit5:[{lessonNumber:1,title:\"Coordinate plane basics\"},{lessonNumber:2,title:\"Graph points and patterns\"},{lessonNumber:3,title:\"Input-output tables\"},{lessonNumber:4,title:\"Graph relationships\"},{lessonNumber:5,title:\"Identify patterns and rules\"}],unit6:[{lessonNumber:1,title:\"Volume of rectangular prisms\"},{lessonNumber:2,title:\"Volume word problems\"},{lessonNumber:3,title:\"Decompose and compose solids\"},{lessonNumber:4,title:\"Surface area (intro)\"},{lessonNumber:5,title:\"Compare volume and surface area\"}],unit7:[{lessonNumber:1,title:\"Classify 2D shapes\"},{lessonNumber:2,title:\"Triangles by sides and angles\"},{lessonNumber:3,title:\"Quadrilaterals and polygons\"},{lessonNumber:4,title:\"Symmetry and transformations\"},{lessonNumber:5,title:\"Geometry word problems\"}],unit8:[{lessonNumber:1,title:\"Line plots with fractional data\"},{lessonNumber:2,title:\"Create and interpret graphs\"},{lessonNumber:3,title:\"Mean, median, mode, and range\"},{lessonNumber:4,title:\"Analyze variability\"},{lessonNumber:5,title:\"Tell a data story\"}],unit9:[{lessonNumber:1,title:\"Percents as fractions and decimals\"},{lessonNumber:2,title:\"Find percent of a quantity\"},{lessonNumber:3,title:\"Real-life percent problems\"},{lessonNumber:4,title:\"Compare percent values\"},{lessonNumber:5,title:\"Use percent in word problems\"}],unit10:[{lessonNumber:1,title:\"Multi-step word problems\"},{lessonNumber:2,title:\"Estimate and check answers\"},{lessonNumber:3,title:\"Choose operations based on context\"},{lessonNumber:4,title:\"Explain reasoning and steps\"},{lessonNumber:5,title:\"Solve problems with mixed operations\"}]},/* --------------------------- Middle School --------------------------- */grade6:{unit1:[{lessonNumber:1,title:\"Ratios and equivalent forms\"},{lessonNumber:2,title:\"Unit rates and comparisons\"},{lessonNumber:3,title:\"Ratio tables and graphs\"},{lessonNumber:4,title:\"Real-world ratio problems\"},{lessonNumber:5,title:\"Scaling and proportions\"}],unit2:[{lessonNumber:1,title:\"Fractions to decimals\"},{lessonNumber:2,title:\"Decimals to percents\"},{lessonNumber:3,title:\"Percent of a quantity\"},{lessonNumber:4,title:\"Percent increase and decrease\"},{lessonNumber:5,title:\"Real-life percent problems\"}],unit3:[{lessonNumber:1,title:\"Integers and opposites\"},{lessonNumber:2,title:\"Add and subtract integers\"},{lessonNumber:3,title:\"Multiply and divide integers\"},{lessonNumber:4,title:\"Absolute value and comparisons\"},{lessonNumber:5,title:\"Mixed integer operations\"}],unit4:[{lessonNumber:1,title:\"Expressions and variables\"},{lessonNumber:2,title:\"Simplify expressions\"},{lessonNumber:3,title:\"Distributive property\"},{lessonNumber:4,title:\"Evaluate expressions\"},{lessonNumber:5,title:\"Write expressions from context\"}],unit5:[{lessonNumber:1,title:\"One-step equations\"},{lessonNumber:2,title:\"Two-step equations\"},{lessonNumber:3,title:\"Equations with fractions\"},{lessonNumber:4,title:\"Equation word problems\"},{lessonNumber:5,title:\"Check and justify solutions\"}],unit6:[{lessonNumber:1,title:\"Inequality symbols and meaning\"},{lessonNumber:2,title:\"Graph inequalities on number line\"},{lessonNumber:3,title:\"Write and solve inequalities\"},{lessonNumber:4,title:\"Inequality word problems\"},{lessonNumber:5,title:\"Compare equations and inequalities\"}],unit7:[{lessonNumber:1,title:\"Coordinate plane basics\"},{lessonNumber:2,title:\"Plot points and identify quadrants\"},{lessonNumber:3,title:\"Graph simple relationships\"},{lessonNumber:4,title:\"Distance between points\"},{lessonNumber:5,title:\"Patterns in tables and graphs\"}],unit8:[{lessonNumber:1,title:\"Area of triangles and polygons\"},{lessonNumber:2,title:\"Surface area of prisms\"},{lessonNumber:3,title:\"Volume of rectangular prisms\"},{lessonNumber:4,title:\"Real-life geometry problems\"},{lessonNumber:5,title:\"Compare area and volume\"}],unit9:[{lessonNumber:1,title:\"Data displays: dot plots and histograms\"},{lessonNumber:2,title:\"Box plots and interpretation\"},{lessonNumber:3,title:\"Mean, median, mode, and range\"},{lessonNumber:4,title:\"Variability and spread\"},{lessonNumber:5,title:\"Tell a data story\"}],unit10:[{lessonNumber:1,title:\"Intro to probability\"},{lessonNumber:2,title:\"Theoretical vs experimental probability\"},{lessonNumber:3,title:\"Simple simulations\"},{lessonNumber:4,title:\"Compound events (intro)\"},{lessonNumber:5,title:\"Probability in real life\"}]},grade7:{unit1:[{lessonNumber:1,title:\"Rational numbers on number line\"},{lessonNumber:2,title:\"Add and subtract rational numbers\"},{lessonNumber:3,title:\"Multiply and divide rational numbers\"},{lessonNumber:4,title:\"Absolute value and comparisons\"},{lessonNumber:5,title:\"Mixed rational operations\"}],unit2:[{lessonNumber:1,title:\"Proportional relationships in tables\"},{lessonNumber:2,title:\"Graphs of proportionality\"},{lessonNumber:3,title:\"Unit rate as slope\"},{lessonNumber:4,title:\"Constant of proportionality\"},{lessonNumber:5,title:\"Real-world proportional problems\"}],unit3:[{lessonNumber:1,title:\"Percent problems: tax and tip\"},{lessonNumber:2,title:\"Percent increase and decrease\"},{lessonNumber:3,title:\"Multi-step percent problems\"},{lessonNumber:4,title:\"Markdowns and markups\"},{lessonNumber:5,title:\"Best buy comparisons\"}],unit4:[{lessonNumber:1,title:\"Expressions and properties\"},{lessonNumber:2,title:\"Combine like terms\"},{lessonNumber:3,title:\"Distribute with negatives\"},{lessonNumber:4,title:\"Simplify complex expressions\"},{lessonNumber:5,title:\"Write expressions from context\"}],unit5:[{lessonNumber:1,title:\"One-step equations with rational numbers\"},{lessonNumber:2,title:\"Two-step equations\"},{lessonNumber:3,title:\"Multi-step equations\"},{lessonNumber:4,title:\"Equation word problems\"},{lessonNumber:5,title:\"Check and justify solutions\"}],unit6:[{lessonNumber:1,title:\"Write and solve inequalities\"},{lessonNumber:2,title:\"Graph solutions on number line\"},{lessonNumber:3,title:\"Inequality word problems\"},{lessonNumber:4,title:\"Compound inequalities (intro)\"},{lessonNumber:5,title:\"Compare equations and inequalities\"}],unit7:[{lessonNumber:1,title:\"Angle relationships: complementary/supplementary\"},{lessonNumber:2,title:\"Vertical and adjacent angles\"},{lessonNumber:3,title:\"Angle equations and reasoning\"},{lessonNumber:4,title:\"Geometry word problems\"},{lessonNumber:5,title:\"Classify triangles and quadrilaterals\"}],unit8:[{lessonNumber:1,title:\"Area and perimeter review\"},{lessonNumber:2,title:\"Surface area of prisms and cylinders\"},{lessonNumber:3,title:\"Volume of prisms and cylinders\"},{lessonNumber:4,title:\"Geometry applications\"},{lessonNumber:5,title:\"Compare surface area and volume\"}],unit9:[{lessonNumber:1,title:\"Sampling and populations\"},{lessonNumber:2,title:\"Design a survey\"},{lessonNumber:3,title:\"Analyze sample data\"},{lessonNumber:4,title:\"Compare distributions\"},{lessonNumber:5,title:\"Tell a data story\"}],unit10:[{lessonNumber:1,title:\"Probability models and simulations\"},{lessonNumber:2,title:\"Compound events (tables and trees)\"},{lessonNumber:3,title:\"Design fair games\"},{lessonNumber:4,title:\"Real-life probability problems\"},{lessonNumber:5,title:\"Interpret and explain outcomes\"}]},grade8:{unit1:[{lessonNumber:1,title:\"Exponent rules: product and quotient\"},{lessonNumber:2,title:\"Zero and negative exponents\"},{lessonNumber:3,title:\"Scientific notation: read and write\"},{lessonNumber:4,title:\"Operations with scientific notation\"},{lessonNumber:5,title:\"Compare and order powers of ten\"}],unit2:[{lessonNumber:1,title:\"Square roots and cube roots\"},{lessonNumber:2,title:\"Estimate irrational roots\"},{lessonNumber:3,title:\"Classify rational and irrational numbers\"},{lessonNumber:4,title:\"Real number system overview\"},{lessonNumber:5,title:\"Compare real numbers on a number line\"}],unit3:[{lessonNumber:1,title:\"Solve multi-step equations\"},{lessonNumber:2,title:\"Equations with variables on both sides\"},{lessonNumber:3,title:\"Equations with fractions and decimals\"},{lessonNumber:4,title:\"Distribute and combine like terms\"},{lessonNumber:5,title:\"Equation word problems\"}],unit4:[{lessonNumber:1,title:\"Slope from graph and table\"},{lessonNumber:2,title:\"Slope from two points\"},{lessonNumber:3,title:\"Slope-intercept form: y = mx + b\"},{lessonNumber:4,title:\"Graph linear equations\"},{lessonNumber:5,title:\"Interpret slope and intercept in context\"}],unit5:[{lessonNumber:1,title:\"Systems of equations: graphing\"},{lessonNumber:2,title:\"Systems of equations: substitution\"},{lessonNumber:3,title:\"Systems of equations: elimination\"},{lessonNumber:4,title:\"Systems word problems\"},{lessonNumber:5,title:\"Check solutions to systems\"}],unit6:[{lessonNumber:1,title:\"Functions: definition and notation\"},{lessonNumber:2,title:\"Function vs non-function\"},{lessonNumber:3,title:\"Evaluate functions from tables and graphs\"},{lessonNumber:4,title:\"Compare linear functions\"},{lessonNumber:5,title:\"Function word problems\"}],unit7:[{lessonNumber:1,title:\"Transformations: translations\"},{lessonNumber:2,title:\"Transformations: reflections and rotations\"},{lessonNumber:3,title:\"Dilations and scale factor\"},{lessonNumber:4,title:\"Sequences of transformations\"},{lessonNumber:5,title:\"Transformations on the coordinate plane\"}],unit8:[{lessonNumber:1,title:\"Pythagorean theorem: concept\"},{lessonNumber:2,title:\"Find missing side lengths\"},{lessonNumber:3,title:\"Distance on the coordinate plane\"},{lessonNumber:4,title:\"Real-world applications of Pythagorean theorem\"},{lessonNumber:5,title:\"Use Pythagorean theorem to solve problems\"}],unit9:[{lessonNumber:1,title:\"Volume of cylinders\"},{lessonNumber:2,title:\"Volume of cones\"},{lessonNumber:3,title:\"Volume of spheres\"},{lessonNumber:4,title:\"Compare volumes of solids\"},{lessonNumber:5,title:\"Volume word problems\"}],unit10:[{lessonNumber:1,title:\"Scatter plots and associations\"},{lessonNumber:2,title:\"Line of best fit: concept\"},{lessonNumber:3,title:\"Interpret slope and intercept in context\"},{lessonNumber:4,title:\"Two-way tables: read and analyze\"},{lessonNumber:5,title:\"Use data to make predictions\"}]},/* --------------------------- High School --------------------------- */prealgebra:{unit1:[{lessonNumber:1,title:\"Whole numbers and place value\"},{lessonNumber:2,title:\"Order of operations\"},{lessonNumber:3,title:\"Factors and multiples\"},{lessonNumber:4,title:\"Prime factorization\"},{lessonNumber:5,title:\"Divisibility rules\"}],unit2:[{lessonNumber:1,title:\"Integers and absolute value\"},{lessonNumber:2,title:\"Add and subtract integers\"},{lessonNumber:3,title:\"Multiply and divide integers\"},{lessonNumber:4,title:\"Integer word problems\"},{lessonNumber:5,title:\"Order and compare integers\"}],unit3:[{lessonNumber:1,title:\"Fractions: simplify and compare\"},{lessonNumber:2,title:\"Add and subtract fractions\"},{lessonNumber:3,title:\"Multiply and divide fractions\"},{lessonNumber:4,title:\"Mixed numbers and improper fractions\"},{lessonNumber:5,title:\"Fraction word problems\"}],unit4:[{lessonNumber:1,title:\"Decimals: operations and rounding\"},{lessonNumber:2,title:\"Convert between decimals and fractions\"},{lessonNumber:3,title:\"Percent as decimal and fraction\"},{lessonNumber:4,title:\"Percent of a quantity\"},{lessonNumber:5,title:\"Real-world percent problems\"}],unit5:[{lessonNumber:1,title:\"Ratios and rates\"},{lessonNumber:2,title:\"Unit rates and comparisons\"},{lessonNumber:3,title:\"Proportions and cross-multiplication\"},{lessonNumber:4,title:\"Scale drawings and maps\"},{lessonNumber:5,title:\"Ratio word problems\"}],unit6:[{lessonNumber:1,title:\"Expressions and variables\"},{lessonNumber:2,title:\"Simplify expressions\"},{lessonNumber:3,title:\"Distributive property\"},{lessonNumber:4,title:\"Evaluate expressions\"},{lessonNumber:5,title:\"Write expressions from context\"}],unit7:[{lessonNumber:1,title:\"One-step equations\"},{lessonNumber:2,title:\"Two-step equations\"},{lessonNumber:3,title:\"Equations with fractions and decimals\"},{lessonNumber:4,title:\"Equation word problems\"},{lessonNumber:5,title:\"Check and justify solutions\"}],unit8:[{lessonNumber:1,title:\"Inequality symbols and meaning\"},{lessonNumber:2,title:\"Graph inequalities on number line\"},{lessonNumber:3,title:\"Write and solve inequalities\"},{lessonNumber:4,title:\"Inequality word problems\"},{lessonNumber:5,title:\"Compare equations and inequalities\"}],unit9:[{lessonNumber:1,title:\"Coordinate plane basics\"},{lessonNumber:2,title:\"Plot points and identify quadrants\"},{lessonNumber:3,title:\"Graph simple relationships\"},{lessonNumber:4,title:\"Distance between points\"},{lessonNumber:5,title:\"Patterns in tables and graphs\"}],unit10:[{lessonNumber:1,title:\"Intro to probability\"},{lessonNumber:2,title:\"Simple events and outcomes\"},{lessonNumber:3,title:\"Theoretical vs experimental probability\"},{lessonNumber:4,title:\"Basic statistics: mean, median, mode\"},{lessonNumber:5,title:\"Data displays and interpretation\"}]},algebra1:{unit1:[{lessonNumber:1,title:\"Variables and expressions\"},{lessonNumber:2,title:\"Order of operations with variables\"},{lessonNumber:3,title:\"Evaluate expressions\"},{lessonNumber:4,title:\"Translate verbal phrases to algebra\"},{lessonNumber:5,title:\"Simplify expressions with properties\"}],unit2:[{lessonNumber:1,title:\"Solving one-step equations\"},{lessonNumber:2,title:\"Solving two-step equations\"},{lessonNumber:3,title:\"Equations with variables on both sides\"},{lessonNumber:4,title:\"Solving equations with fractions and decimals\"},{lessonNumber:5,title:\"Equation word problems\"}],unit3:[{lessonNumber:1,title:\"Inequality symbols and meaning\"},{lessonNumber:2,title:\"Solving one-step inequalities\"},{lessonNumber:3,title:\"Solving multi-step inequalities\"},{lessonNumber:4,title:\"Graphing inequalities on a number line\"},{lessonNumber:5,title:\"Compound inequalities\"}],unit4:[{lessonNumber:1,title:\"Functions and relations\"},{lessonNumber:2,title:\"Function notation and evaluation\"},{lessonNumber:3,title:\"Identify functions from graphs and tables\"},{lessonNumber:4,title:\"Domain and range\"},{lessonNumber:5,title:\"Compare linear and nonlinear functions\"}],unit5:[{lessonNumber:1,title:\"Linear equations: slope and intercept\"},{lessonNumber:2,title:\"Graphing in slope-intercept form\"},{lessonNumber:3,title:\"Graphing in standard form\"},{lessonNumber:4,title:\"Writing equations from graphs\"},{lessonNumber:5,title:\"Real-world linear models\"}],unit6:[{lessonNumber:1,title:\"Systems of equations: graphing\"},{lessonNumber:2,title:\"Systems of equations: substitution\"},{lessonNumber:3,title:\"Systems of equations: elimination\"},{lessonNumber:4,title:\"Systems with no or infinite solutions\"},{lessonNumber:5,title:\"Systems word problems\"}],unit7:[{lessonNumber:1,title:\"Exponents: product and quotient rules\"},{lessonNumber:2,title:\"Zero and negative exponents\"},{lessonNumber:3,title:\"Scientific notation: operations\"},{lessonNumber:4,title:\"Exponential growth and decay\"},{lessonNumber:5,title:\"Compare linear and exponential models\"}],unit8:[{lessonNumber:1,title:\"Polynomials: classification and degree\"},{lessonNumber:2,title:\"Add and subtract polynomials\"},{lessonNumber:3,title:\"Multiply polynomials\"},{lessonNumber:4,title:\"Special products of binomials\"},{lessonNumber:5,title:\"Factor polynomials using GCF\"}],unit9:[{lessonNumber:1,title:\"Factoring trinomials\"},{lessonNumber:2,title:\"Factoring with grouping\"},{lessonNumber:3,title:\"Solving quadratic equations by factoring\"},{lessonNumber:4,title:\"Completing the square\"},{lessonNumber:5,title:\"Quadratic formula and discriminant\"}],unit10:[{lessonNumber:1,title:\"Graphing quadratic functions\"},{lessonNumber:2,title:\"Vertex form and transformations\"},{lessonNumber:3,title:\"Identify key features of parabolas\"},{lessonNumber:4,title:\"Compare linear, exponential, and quadratic\"},{lessonNumber:5,title:\"Quadratic word problems\"}]},geometry:{unit1:[{lessonNumber:1,title:\"Points, lines, and planes\"},{lessonNumber:2,title:\"Segments and rays\"},{lessonNumber:3,title:\"Angles and angle pairs\"},{lessonNumber:4,title:\"Measuring angles\"},{lessonNumber:5,title:\"Basic constructions\"}],unit2:[{lessonNumber:1,title:\"Properties of triangles\"},{lessonNumber:2,title:\"Classify triangles by sides and angles\"},{lessonNumber:3,title:\"Triangle angle sum theorem\"},{lessonNumber:4,title:\"Exterior angles of triangles\"},{lessonNumber:5,title:\"Triangle inequality theorem\"}],unit3:[{lessonNumber:1,title:\"Congruent triangles\"},{lessonNumber:2,title:\"SSS and SAS congruence\"},{lessonNumber:3,title:\"ASA and AAS congruence\"},{lessonNumber:4,title:\"CPCTC and triangle proofs\"},{lessonNumber:5,title:\"Isosceles and equilateral triangles\"}],unit4:[{lessonNumber:1,title:\"Parallel lines and transversals\"},{lessonNumber:2,title:\"Angle relationships with parallel lines\"},{lessonNumber:3,title:\"Proving lines parallel\"},{lessonNumber:4,title:\"Coordinate geometry with lines\"},{lessonNumber:5,title:\"Slopes of parallel and perpendicular lines\"}],unit5:[{lessonNumber:1,title:\"Quadrilaterals and polygons\"},{lessonNumber:2,title:\"Properties of parallelograms\"},{lessonNumber:3,title:\"Special quadrilaterals\"},{lessonNumber:4,title:\"Coordinate proofs with quadrilaterals\"},{lessonNumber:5,title:\"Polygon angle sums\"}],unit6:[{lessonNumber:1,title:\"Transformations: translations\"},{lessonNumber:2,title:\"Reflections and rotations\"},{lessonNumber:3,title:\"Dilations and scale factor\"},{lessonNumber:4,title:\"Compositions of transformations\"},{lessonNumber:5,title:\"Symmetry and congruence\"}],unit7:[{lessonNumber:1,title:\"Similarity and scale\"},{lessonNumber:2,title:\"Proving triangles similar\"},{lessonNumber:3,title:\"Similarity in right triangles\"},{lessonNumber:4,title:\"Applications of similarity\"},{lessonNumber:5,title:\"Indirect measurement\"}],unit8:[{lessonNumber:1,title:\"Right triangles and trigonometry\"},{lessonNumber:2,title:\"Sine, cosine, and tangent\"},{lessonNumber:3,title:\"Solving right triangles\"},{lessonNumber:4,title:\"Angles of elevation and depression\"},{lessonNumber:5,title:\"Trigonometric ratios in context\"}],unit9:[{lessonNumber:1,title:\"Circles and their parts\"},{lessonNumber:2,title:\"Arcs and central angles\"},{lessonNumber:3,title:\"Inscribed angles and chords\"},{lessonNumber:4,title:\"Tangents and secants\"},{lessonNumber:5,title:\"Circle equations and graphs\"}],unit10:[{lessonNumber:1,title:\"Area of polygons\"},{lessonNumber:2,title:\"Surface area of solids\"},{lessonNumber:3,title:\"Volume of prisms and cylinders\"},{lessonNumber:4,title:\"Volume of cones and spheres\"},{lessonNumber:5,title:\"Geometric modeling applications\"}]},algebra2:{unit1:[{lessonNumber:1,title:\"Review of linear equations\"},{lessonNumber:2,title:\"Systems of equations and inequalities\"},{lessonNumber:3,title:\"Absolute value equations\"},{lessonNumber:4,title:\"Piecewise functions\"},{lessonNumber:5,title:\"Linear modeling applications\"}],unit2:[{lessonNumber:1,title:\"Quadratic functions and graphs\"},{lessonNumber:2,title:\"Vertex form and transformations\"},{lessonNumber:3,title:\"Solving quadratics by factoring\"},{lessonNumber:4,title:\"Completing the square\"},{lessonNumber:5,title:\"Quadratic formula and discriminant\"}],unit3:[{lessonNumber:1,title:\"Complex numbers: intro and operations\"},{lessonNumber:2,title:\"Imaginary unit and powers of i\"},{lessonNumber:3,title:\"Solve quadratics with complex roots\"},{lessonNumber:4,title:\"Graphing complex solutions\"},{lessonNumber:5,title:\"Complex numbers in context\"}],unit4:[{lessonNumber:1,title:\"Polynomial functions and end behavior\"},{lessonNumber:2,title:\"Add, subtract, and multiply polynomials\"},{lessonNumber:3,title:\"Divide polynomials (long division)\"},{lessonNumber:4,title:\"Remainder and factor theorems\"},{lessonNumber:5,title:\"Graph polynomial functions\"}],unit5:[{lessonNumber:1,title:\"Rational expressions: simplify\"},{lessonNumber:2,title:\"Multiply and divide rational expressions\"},{lessonNumber:3,title:\"Add and subtract rational expressions\"},{lessonNumber:4,title:\"Rational equations and applications\"},{lessonNumber:5,title:\"Graph rational functions and asymptotes\"}],unit6:[{lessonNumber:1,title:\"Radical expressions and simplification\"},{lessonNumber:2,title:\"Add, subtract, multiply radicals\"},{lessonNumber:3,title:\"Solve radical equations\"},{lessonNumber:4,title:\"Rational exponents and properties\"},{lessonNumber:5,title:\"Graph radical functions\"}],unit7:[{lessonNumber:1,title:\"Exponential functions and growth\"},{lessonNumber:2,title:\"Logarithmic functions and inverses\"},{lessonNumber:3,title:\"Properties of logarithms\"},{lessonNumber:4,title:\"Solving exponential and log equations\"},{lessonNumber:5,title:\"Applications of exponential and log models\"}],unit8:[{lessonNumber:1,title:\"Sequences and series: arithmetic\"},{lessonNumber:2,title:\"Sequences and series: geometric\"},{lessonNumber:3,title:\"Recursive and explicit formulas\"},{lessonNumber:4,title:\"Sigma notation and summation\"},{lessonNumber:5,title:\"Applications of sequences and series\"}],unit9:[{lessonNumber:1,title:\"Probability rules and compound events\"},{lessonNumber:2,title:\"Permutations and combinations\"},{lessonNumber:3,title:\"Binomial theorem and expansion\"},{lessonNumber:4,title:\"Expected value and decision-making\"},{lessonNumber:5,title:\"Probability distributions\"}],unit10:[{lessonNumber:1,title:\"Matrices: operations and applications\"},{lessonNumber:2,title:\"Determinants and inverses\"},{lessonNumber:3,title:\"Solving systems with matrices\"},{lessonNumber:4,title:\"Matrix transformations\"},{lessonNumber:5,title:\"Modeling with matrices\"}]},trigonometry:{unit1:[{lessonNumber:1,title:\"Angles and their measures\"},{lessonNumber:2,title:\"Degrees and radians conversion\"},{lessonNumber:3,title:\"Arc length and sector area\"},{lessonNumber:4,title:\"Coterminal and reference angles\"},{lessonNumber:5,title:\"Unit circle basics\"}],unit2:[{lessonNumber:1,title:\"Sine, cosine, and tangent definitions\"},{lessonNumber:2,title:\"Evaluate trig functions using unit circle\"},{lessonNumber:3,title:\"Reciprocal trig functions\"},{lessonNumber:4,title:\"Trig functions of special angles\"},{lessonNumber:5,title:\"Trig functions with right triangles\"}],unit3:[{lessonNumber:1,title:\"Graphs of sine and cosine\"},{lessonNumber:2,title:\"Amplitude and period changes\"},{lessonNumber:3,title:\"Phase shift and vertical shift\"},{lessonNumber:4,title:\"Graphs of tangent and cotangent\"},{lessonNumber:5,title:\"Graphs of secant and cosecant\"}],unit4:[{lessonNumber:1,title:\"Inverse trig functions\"},{lessonNumber:2,title:\"Evaluate inverse trig expressions\"},{lessonNumber:3,title:\"Solve equations with inverse trig\"},{lessonNumber:4,title:\"Domain and range of inverse functions\"},{lessonNumber:5,title:\"Applications of inverse trig\"}],unit5:[{lessonNumber:1,title:\"Trig identities: reciprocal and quotient\"},{lessonNumber:2,title:\"Pythagorean identities\"},{lessonNumber:3,title:\"Even-odd and cofunction identities\"},{lessonNumber:4,title:\"Simplify trig expressions using identities\"},{lessonNumber:5,title:\"Verify trig identities\"}],unit6:[{lessonNumber:1,title:\"Solving basic trig equations\"},{lessonNumber:2,title:\"Solving multi-angle trig equations\"},{lessonNumber:3,title:\"General solutions for trig equations\"},{lessonNumber:4,title:\"Trig equations with identities\"},{lessonNumber:5,title:\"Applications of trig equations\"}],unit7:[{lessonNumber:1,title:\"Law of Sines\"},{lessonNumber:2,title:\"Law of Cosines\"},{lessonNumber:3,title:\"Solving non-right triangles\"},{lessonNumber:4,title:\"Area of oblique triangles\"},{lessonNumber:5,title:\"Ambiguous case of Law of Sines\"}],unit8:[{lessonNumber:1,title:\"Polar coordinates and graphs\"},{lessonNumber:2,title:\"Convert between polar and rectangular\"},{lessonNumber:3,title:\"Graph polar equations\"},{lessonNumber:4,title:\"Symmetry in polar graphs\"},{lessonNumber:5,title:\"Applications of polar coordinates\"}],unit9:[{lessonNumber:1,title:\"Vectors: magnitude and direction\"},{lessonNumber:2,title:\"Vector operations: add and subtract\"},{lessonNumber:3,title:\"Scalar multiplication\"},{lessonNumber:4,title:\"Dot product and applications\"},{lessonNumber:5,title:\"Vectors in physics and geometry\"}],unit10:[{lessonNumber:1,title:\"Parametric equations: intro\"},{lessonNumber:2,title:\"Graph parametric equations\"},{lessonNumber:3,title:\"Eliminate the parameter\"},{lessonNumber:4,title:\"Applications of parametric motion\"},{lessonNumber:5,title:\"Modeling with parametric equations\"}]},high_school_precalculus:{unit1:[{lessonNumber:1,title:\"Functions and their graphs\"},{lessonNumber:2,title:\"Domain and range\"},{lessonNumber:3,title:\"Function transformations\"},{lessonNumber:4,title:\"Even and odd functions\"},{lessonNumber:5,title:\"Piecewise-defined functions\"}],unit2:[{lessonNumber:1,title:\"Polynomial functions and graphs\"},{lessonNumber:2,title:\"Factoring and zeros of polynomials\"},{lessonNumber:3,title:\"End behavior and multiplicity\"},{lessonNumber:4,title:\"Rational root theorem\"},{lessonNumber:5,title:\"Graphing polynomial models\"}],unit3:[{lessonNumber:1,title:\"Rational functions and asymptotes\"},{lessonNumber:2,title:\"Simplify rational expressions\"},{lessonNumber:3,title:\"Graph rational functions\"},{lessonNumber:4,title:\"Solve rational equations\"},{lessonNumber:5,title:\"Applications of rational models\"}],unit4:[{lessonNumber:1,title:\"Exponential functions and growth\"},{lessonNumber:2,title:\"Logarithmic functions and inverses\"},{lessonNumber:3,title:\"Properties of logarithms\"},{lessonNumber:4,title:\"Solve exponential and log equations\"},{lessonNumber:5,title:\"Applications of exponential and log models\"}],unit5:[{lessonNumber:1,title:\"Trigonometric functions and unit circle\"},{lessonNumber:2,title:\"Graphs of sine and cosine\"},{lessonNumber:3,title:\"Amplitude, period, and phase shift\"},{lessonNumber:4,title:\"Inverse trig functions\"},{lessonNumber:5,title:\"Trig identities and simplification\"}],unit6:[{lessonNumber:1,title:\"Law of Sines and Law of Cosines\"},{lessonNumber:2,title:\"Solving triangles\"},{lessonNumber:3,title:\"Area of oblique triangles\"},{lessonNumber:4,title:\"Applications of triangle solving\"},{lessonNumber:5,title:\"Ambiguous case scenarios\"}],unit7:[{lessonNumber:1,title:\"Vectors: magnitude and direction\"},{lessonNumber:2,title:\"Vector operations\"},{lessonNumber:3,title:\"Dot product and applications\"},{lessonNumber:4,title:\"Vectors in physics and geometry\"},{lessonNumber:5,title:\"Modeling with vectors\"}],unit8:[{lessonNumber:1,title:\"Polar coordinates and graphs\"},{lessonNumber:2,title:\"Convert between polar and rectangular\"},{lessonNumber:3,title:\"Graph polar equations\"},{lessonNumber:4,title:\"Symmetry and transformations\"},{lessonNumber:5,title:\"Applications of polar systems\"}],unit9:[{lessonNumber:1,title:\"Parametric equations and graphs\"},{lessonNumber:2,title:\"Eliminate the parameter\"},{lessonNumber:3,title:\"Model motion with parametrics\"},{lessonNumber:4,title:\"Applications in physics\"},{lessonNumber:5,title:\"Analyze parametric behavior\"}],unit10:[{lessonNumber:1,title:\"Sequences and series: arithmetic\"},{lessonNumber:2,title:\"Sequences and series: geometric\"},{lessonNumber:3,title:\"Sigma notation and summation\"},{lessonNumber:4,title:\"Convergence and divergence\"},{lessonNumber:5,title:\"Applications of series in modeling\"}]},high_school_calculus:{unit1:[{lessonNumber:1,title:\"Limits and continuity: intro\"},{lessonNumber:2,title:\"Estimating limits from graphs\"},{lessonNumber:3,title:\"Limit laws and algebraic limits\"},{lessonNumber:4,title:\"One-sided limits and discontinuities\"},{lessonNumber:5,title:\"Formal definition of a limit\"}],unit2:[{lessonNumber:1,title:\"Definition of the derivative\"},{lessonNumber:2,title:\"Basic derivative rules\"},{lessonNumber:3,title:\"Product and quotient rules\"},{lessonNumber:4,title:\"Chain rule and composite functions\"},{lessonNumber:5,title:\"Higher-order derivatives\"}],unit3:[{lessonNumber:1,title:\"Implicit differentiation\"},{lessonNumber:2,title:\"Derivatives of exponential functions\"},{lessonNumber:3,title:\"Derivatives of logarithmic functions\"},{lessonNumber:4,title:\"Derivatives of trigonometric functions\"},{lessonNumber:5,title:\"Applications of derivatives\"}],unit4:[{lessonNumber:1,title:\"Critical points and extrema\"},{lessonNumber:2,title:\"Mean Value Theorem\"},{lessonNumber:3,title:\"Increasing/decreasing functions\"},{lessonNumber:4,title:\"Concavity and inflection points\"},{lessonNumber:5,title:\"Curve sketching with derivatives\"}],unit5:[{lessonNumber:1,title:\"Optimization problems\"},{lessonNumber:2,title:\"Related rates: concept and setup\"},{lessonNumber:3,title:\"Solving related rates problems\"},{lessonNumber:4,title:\"Applications in motion and geometry\"},{lessonNumber:5,title:\"Modeling with derivatives\"}],unit6:[{lessonNumber:1,title:\"Antiderivatives and indefinite integrals\"},{lessonNumber:2,title:\"Basic integration rules\"},{lessonNumber:3,title:\"u-substitution technique\"},{lessonNumber:4,title:\"Definite integrals and area under curve\"},{lessonNumber:5,title:\"Fundamental Theorem of Calculus\"}],unit7:[{lessonNumber:1,title:\"Area between curves\"},{lessonNumber:2,title:\"Volume using disks and washers\"},{lessonNumber:3,title:\"Volume using cylindrical shells\"},{lessonNumber:4,title:\"Applications of definite integrals\"},{lessonNumber:5,title:\"Average value of a function\"}],unit8:[{lessonNumber:1,title:\"Integration by parts (intro)\"},{lessonNumber:2,title:\"Trigonometric integrals\"},{lessonNumber:3,title:\"Partial fractions (basic)\"},{lessonNumber:4,title:\"Improper integrals (concept)\"},{lessonNumber:5,title:\"Numerical integration methods\"}],unit9:[{lessonNumber:1,title:\"Differential equations: intro\"},{lessonNumber:2,title:\"Separable differential equations\"},{lessonNumber:3,title:\"Slope fields and solutions\"},{lessonNumber:4,title:\"Exponential growth and decay models\"},{lessonNumber:5,title:\"Applications of differential equations\"}],unit10:[{lessonNumber:1,title:\"Sequences and limits of sequences\"},{lessonNumber:2,title:\"Series and convergence\"},{lessonNumber:3,title:\"Geometric series and p-series\"},{lessonNumber:4,title:\"Taylor polynomials (intro)\"},{lessonNumber:5,title:\"Applications of infinite series\"}]},high_school_statistics:{unit1:[{lessonNumber:1,title:\"Types of data: categorical vs quantitative\"},{lessonNumber:2,title:\"Levels of measurement\"},{lessonNumber:3,title:\"Populations and samples\"},{lessonNumber:4,title:\"Sampling methods\"},{lessonNumber:5,title:\"Bias and experimental design\"}],unit2:[{lessonNumber:1,title:\"Frequency tables and histograms\"},{lessonNumber:2,title:\"Dot plots and stem-and-leaf plots\"},{lessonNumber:3,title:\"Box plots and five-number summary\"},{lessonNumber:4,title:\"Shape of distributions\"},{lessonNumber:5,title:\"Comparing data displays\"}],unit3:[{lessonNumber:1,title:\"Mean, median, and mode\"},{lessonNumber:2,title:\"Range and interquartile range\"},{lessonNumber:3,title:\"Standard deviation and variance\"},{lessonNumber:4,title:\"Z-scores and outliers\"},{lessonNumber:5,title:\"Interpret measures of center and spread\"}],unit4:[{lessonNumber:1,title:\"Probability basics and rules\"},{lessonNumber:2,title:\"Compound events and independence\"},{lessonNumber:3,title:\"Conditional probability\"},{lessonNumber:4,title:\"Two-way tables and Venn diagrams\"},{lessonNumber:5,title:\"Simulations and modeling probability\"}],unit5:[{lessonNumber:1,title:\"Binomial probability distributions\"},{lessonNumber:2,title:\"Geometric distributions\"},{lessonNumber:3,title:\"Expected value\"},{lessonNumber:4,title:\"Probability distributions in context\"},{lessonNumber:5,title:\"Discrete vs continuous variables\"}],unit6:[{lessonNumber:1,title:\"Normal distribution and bell curve\"},{lessonNumber:2,title:\"Empirical rule (68-95-99.7)\"},{lessonNumber:3,title:\"Standard normal and z-scores\"},{lessonNumber:4,title:\"Applications of normal models\"},{lessonNumber:5,title:\"Assessing normality\"}],unit7:[{lessonNumber:1,title:\"Scatter plots and correlation\"},{lessonNumber:2,title:\"Line of best fit and regression\"},{lessonNumber:3,title:\"Residuals and interpretation\"},{lessonNumber:4,title:\"Causation vs correlation\"},{lessonNumber:5,title:\"Modeling with linear regression\"}],unit8:[{lessonNumber:1,title:\"Sampling distributions\"},{lessonNumber:2,title:\"Central Limit Theorem\"},{lessonNumber:3,title:\"Standard error and variability\"},{lessonNumber:4,title:\"Simulating sampling distributions\"},{lessonNumber:5,title:\"Applications of sampling models\"}],unit9:[{lessonNumber:1,title:\"Confidence intervals for proportions\"},{lessonNumber:2,title:\"Confidence intervals for means\"},{lessonNumber:3,title:\"Margin of error and interpretation\"},{lessonNumber:4,title:\"Choosing sample size\"},{lessonNumber:5,title:\"Applications of confidence intervals\"}],unit10:[{lessonNumber:1,title:\"Hypothesis testing: basics\"},{lessonNumber:2,title:\"p-values and significance levels\"},{lessonNumber:3,title:\"Tests for proportions\"},{lessonNumber:4,title:\"Tests for means\"},{lessonNumber:5,title:\"Interpreting statistical results\"}]},/* --------------------------- College --------------------------- */college_prealgebra:{unit1:[{lessonNumber:1,title:\"Whole numbers and operations\"},{lessonNumber:2,title:\"Place value and rounding\"},{lessonNumber:3,title:\"Order of operations\"},{lessonNumber:4,title:\"Factors and multiples\"},{lessonNumber:5,title:\"Prime factorization\"}],unit2:[{lessonNumber:1,title:\"Fractions: simplify and compare\"},{lessonNumber:2,title:\"Add and subtract fractions\"},{lessonNumber:3,title:\"Multiply and divide fractions\"},{lessonNumber:4,title:\"Mixed numbers and improper fractions\"},{lessonNumber:5,title:\"Fraction applications\"}],unit3:[{lessonNumber:1,title:\"Decimals: operations and rounding\"},{lessonNumber:2,title:\"Convert between decimals and fractions\"},{lessonNumber:3,title:\"Percent as decimal and fraction\"},{lessonNumber:4,title:\"Percent of a quantity\"},{lessonNumber:5,title:\"Real-world percent problems\"}],unit4:[{lessonNumber:1,title:\"Integers and absolute value\"},{lessonNumber:2,title:\"Operations with integers\"},{lessonNumber:3,title:\"Order and compare integers\"},{lessonNumber:4,title:\"Integer word problems\"},{lessonNumber:5,title:\"Properties of operations\"}],unit5:[{lessonNumber:1,title:\"Ratios and rates\"},{lessonNumber:2,title:\"Unit rates and comparisons\"},{lessonNumber:3,title:\"Proportions and cross-multiplication\"},{lessonNumber:4,title:\"Scale drawings and maps\"},{lessonNumber:5,title:\"Ratio word problems\"}],unit6:[{lessonNumber:1,title:\"Expressions and variables\"},{lessonNumber:2,title:\"Simplify expressions\"},{lessonNumber:3,title:\"Distributive property\"},{lessonNumber:4,title:\"Evaluate expressions\"},{lessonNumber:5,title:\"Write expressions from context\"}],unit7:[{lessonNumber:1,title:\"One-step equations\"},{lessonNumber:2,title:\"Two-step equations\"},{lessonNumber:3,title:\"Equations with fractions and decimals\"},{lessonNumber:4,title:\"Equation word problems\"},{lessonNumber:5,title:\"Check and justify solutions\"}],unit8:[{lessonNumber:1,title:\"Inequality symbols and meaning\"},{lessonNumber:2,title:\"Graph inequalities on number line\"},{lessonNumber:3,title:\"Write and solve inequalities\"},{lessonNumber:4,title:\"Inequality word problems\"},{lessonNumber:5,title:\"Compare equations and inequalities\"}],unit9:[{lessonNumber:1,title:\"Coordinate plane basics\"},{lessonNumber:2,title:\"Plot points and identify quadrants\"},{lessonNumber:3,title:\"Graph simple relationships\"},{lessonNumber:4,title:\"Distance between points\"},{lessonNumber:5,title:\"Patterns in tables and graphs\"}],unit10:[{lessonNumber:1,title:\"Intro to statistics: mean, median, mode\"},{lessonNumber:2,title:\"Simple probability\"},{lessonNumber:3,title:\"Data displays and interpretation\"},{lessonNumber:4,title:\"Basic geometry: area and perimeter\"},{lessonNumber:5,title:\"Measurement conversions\"}]},intro_to_algebra:{unit1:[{lessonNumber:1,title:\"Understanding variables and expressions\"},{lessonNumber:2,title:\"Order of operations with variables\"},{lessonNumber:3,title:\"Simplifying expressions\"},{lessonNumber:4,title:\"Evaluating expressions\"},{lessonNumber:5,title:\"Translating verbal phrases to algebra\"}],unit2:[{lessonNumber:1,title:\"Solving one-step equations\"},{lessonNumber:2,title:\"Solving two-step equations\"},{lessonNumber:3,title:\"Equations with fractions and decimals\"},{lessonNumber:4,title:\"Checking solutions\"},{lessonNumber:5,title:\"Equation word problems\"}],unit3:[{lessonNumber:1,title:\"Inequality symbols and meaning\"},{lessonNumber:2,title:\"Solving one-step inequalities\"},{lessonNumber:3,title:\"Graphing inequalities on a number line\"},{lessonNumber:4,title:\"Compound inequalities\"},{lessonNumber:5,title:\"Inequality word problems\"}],unit4:[{lessonNumber:1,title:\"Coordinate plane basics\"},{lessonNumber:2,title:\"Plotting points and quadrants\"},{lessonNumber:3,title:\"Graphing linear equations\"},{lessonNumber:4,title:\"Tables and patterns\"},{lessonNumber:5,title:\"Interpreting graphs\"}],unit5:[{lessonNumber:1,title:\"Slope and rate of change\"},{lessonNumber:2,title:\"Slope-intercept form\"},{lessonNumber:3,title:\"Graphing using slope and intercept\"},{lessonNumber:4,title:\"Writing equations from graphs\"},{lessonNumber:5,title:\"Linear models in context\"}],unit6:[{lessonNumber:1,title:\"Introduction to functions\"},{lessonNumber:2,title:\"Function notation and evaluation\"},{lessonNumber:3,title:\"Identifying functions from graphs\"},{lessonNumber:4,title:\"Domain and range\"},{lessonNumber:5,title:\"Function applications\"}],unit7:[{lessonNumber:1,title:\"Exponents and powers\"},{lessonNumber:2,title:\"Multiplication and division rules\"},{lessonNumber:3,title:\"Zero and negative exponents\"},{lessonNumber:4,title:\"Scientific notation\"},{lessonNumber:5,title:\"Exponential expressions\"}],unit8:[{lessonNumber:1,title:\"Polynomials: terms and degree\"},{lessonNumber:2,title:\"Add and subtract polynomials\"},{lessonNumber:3,title:\"Multiply polynomials\"},{lessonNumber:4,title:\"Special products\"},{lessonNumber:5,title:\"Polynomial applications\"}],unit9:[{lessonNumber:1,title:\"Factoring using GCF\"},{lessonNumber:2,title:\"Factoring trinomials\"},{lessonNumber:3,title:\"Solving equations by factoring\"},{lessonNumber:4,title:\"Quadratic equations intro\"},{lessonNumber:5,title:\"Graphing basic quadratics\"}],unit10:[{lessonNumber:1,title:\"Intro to radicals\"},{lessonNumber:2,title:\"Simplifying square roots\"},{lessonNumber:3,title:\"Operations with radicals\"},{lessonNumber:4,title:\"Solving radical equations\"},{lessonNumber:5,title:\"Radicals in context\"}]},intermediate_algebra:{unit1:[{lessonNumber:1,title:\"Review of linear equations\"},{lessonNumber:2,title:\"Absolute value equations\"},{lessonNumber:3,title:\"Piecewise-defined functions\"},{lessonNumber:4,title:\"Linear inequalities\"},{lessonNumber:5,title:\"Systems of linear equations\"}],unit2:[{lessonNumber:1,title:\"Quadratic functions and graphs\"},{lessonNumber:2,title:\"Factoring quadratics\"},{lessonNumber:3,title:\"Solving quadratics by factoring\"},{lessonNumber:4,title:\"Completing the square\"},{lessonNumber:5,title:\"Quadratic formula\"}],unit3:[{lessonNumber:1,title:\"Complex numbers: intro\"},{lessonNumber:2,title:\"Operations with complex numbers\"},{lessonNumber:3,title:\"Solving equations with complex roots\"},{lessonNumber:4,title:\"Graphing complex solutions\"},{lessonNumber:5,title:\"Applications of complex numbers\"}],unit4:[{lessonNumber:1,title:\"Polynomial functions and graphs\"},{lessonNumber:2,title:\"Factoring polynomials\"},{lessonNumber:3,title:\"Division of polynomials\"},{lessonNumber:4,title:\"Remainder and factor theorems\"},{lessonNumber:5,title:\"Graphing polynomial models\"}],unit5:[{lessonNumber:1,title:\"Rational expressions: simplify\"},{lessonNumber:2,title:\"Operations with rational expressions\"},{lessonNumber:3,title:\"Solving rational equations\"},{lessonNumber:4,title:\"Applications of rational models\"},{lessonNumber:5,title:\"Graphing rational functions\"}],unit6:[{lessonNumber:1,title:\"Radical expressions and simplification\"},{lessonNumber:2,title:\"Operations with radicals\"},{lessonNumber:3,title:\"Solving radical equations\"},{lessonNumber:4,title:\"Rational exponents\"},{lessonNumber:5,title:\"Graphing radical functions\"}],unit7:[{lessonNumber:1,title:\"Exponential functions and growth\"},{lessonNumber:2,title:\"Logarithmic functions and inverses\"},{lessonNumber:3,title:\"Properties of logarithms\"},{lessonNumber:4,title:\"Solving exponential and log equations\"},{lessonNumber:5,title:\"Applications of exponential models\"}],unit8:[{lessonNumber:1,title:\"Sequences and series: arithmetic\"},{lessonNumber:2,title:\"Sequences and series: geometric\"},{lessonNumber:3,title:\"Sigma notation and summation\"},{lessonNumber:4,title:\"Recursive and explicit formulas\"},{lessonNumber:5,title:\"Applications of sequences\"}],unit9:[{lessonNumber:1,title:\"Introduction to matrices\"},{lessonNumber:2,title:\"Matrix operations\"},{lessonNumber:3,title:\"Solving systems with matrices\"},{lessonNumber:4,title:\"Determinants and inverses\"},{lessonNumber:5,title:\"Applications of matrices\"}],unit10:[{lessonNumber:1,title:\"Modeling with functions\"},{lessonNumber:2,title:\"Function composition\"},{lessonNumber:3,title:\"Inverse functions\"},{lessonNumber:4,title:\"Piecewise and step functions\"},{lessonNumber:5,title:\"Function transformations\"}]},college_algebra:{unit1:[{lessonNumber:1,title:\"Functions and their representations\"},{lessonNumber:2,title:\"Domain and range\"},{lessonNumber:3,title:\"Function transformations\"},{lessonNumber:4,title:\"Function composition\"},{lessonNumber:5,title:\"Inverse functions\"}],unit2:[{lessonNumber:1,title:\"Linear functions and models\"},{lessonNumber:2,title:\"Slope and intercepts\"},{lessonNumber:3,title:\"Graphing linear equations\"},{lessonNumber:4,title:\"Solving linear equations and inequalities\"},{lessonNumber:5,title:\"Applications of linear models\"}],unit3:[{lessonNumber:1,title:\"Quadratic functions and graphs\"},{lessonNumber:2,title:\"Vertex form and transformations\"},{lessonNumber:3,title:\"Solving quadratics by factoring\"},{lessonNumber:4,title:\"Quadratic formula and discriminant\"},{lessonNumber:5,title:\"Applications of quadratic models\"}],unit4:[{lessonNumber:1,title:\"Polynomial functions and end behavior\"},{lessonNumber:2,title:\"Factoring and solving polynomial equations\"},{lessonNumber:3,title:\"Graphing polynomial functions\"},{lessonNumber:4,title:\"Rational root theorem and synthetic division\"},{lessonNumber:5,title:\"Applications of polynomial models\"}],unit5:[{lessonNumber:1,title:\"Rational expressions and equations\"},{lessonNumber:2,title:\"Simplifying and operations with rational expressions\"},{lessonNumber:3,title:\"Solving rational equations\"},{lessonNumber:4,title:\"Graphing rational functions and asymptotes\"},{lessonNumber:5,title:\"Applications of rational models\"}],unit6:[{lessonNumber:1,title:\"Radical expressions and equations\"},{lessonNumber:2,title:\"Simplifying radicals and rational exponents\"},{lessonNumber:3,title:\"Solving radical equations\"},{lessonNumber:4,title:\"Graphing radical functions\"},{lessonNumber:5,title:\"Applications of radical models\"}],unit7:[{lessonNumber:1,title:\"Exponential functions and growth\"},{lessonNumber:2,title:\"Logarithmic functions and inverses\"},{lessonNumber:3,title:\"Properties of logarithms\"},{lessonNumber:4,title:\"Solving exponential and logarithmic equations\"},{lessonNumber:5,title:\"Applications of exponential and log models\"}],unit8:[{lessonNumber:1,title:\"Systems of equations: substitution and elimination\"},{lessonNumber:2,title:\"Systems with three variables\"},{lessonNumber:3,title:\"Matrix representation of systems\"},{lessonNumber:4,title:\"Solving systems with matrices\"},{lessonNumber:5,title:\"Applications of systems in modeling\"}],unit9:[{lessonNumber:1,title:\"Sequences and series: arithmetic\"},{lessonNumber:2,title:\"Sequences and series: geometric\"},{lessonNumber:3,title:\"Sigma notation and summation\"},{lessonNumber:4,title:\"Recursive and explicit formulas\"},{lessonNumber:5,title:\"Applications of sequences and series\"}],unit10:[{lessonNumber:1,title:\"Inequalities and absolute value\"},{lessonNumber:2,title:\"Solving compound and quadratic inequalities\"},{lessonNumber:3,title:\"Graphical solutions to inequalities\"},{lessonNumber:4,title:\"Modeling with inequalities\"},{lessonNumber:5,title:\"Piecewise and step functions\"}]},quantitative_reasoning:{unit1:[{lessonNumber:1,title:\"Understanding numbers and estimation\"},{lessonNumber:2,title:\"Ratios, rates, and proportions\"},{lessonNumber:3,title:\"Percentages and comparisons\"},{lessonNumber:4,title:\"Units and conversions\"},{lessonNumber:5,title:\"Numerical reasoning in context\"}],unit2:[{lessonNumber:1,title:\"Descriptive statistics: mean, median, mode\"},{lessonNumber:2,title:\"Range, IQR, and standard deviation\"},{lessonNumber:3,title:\"Data displays and interpretation\"},{lessonNumber:4,title:\"Comparing data sets\"},{lessonNumber:5,title:\"Misleading statistics\"}],unit3:[{lessonNumber:1,title:\"Basic probability concepts\"},{lessonNumber:2,title:\"Compound events and independence\"},{lessonNumber:3,title:\"Expected value and decision-making\"},{lessonNumber:4,title:\"Risk and odds\"},{lessonNumber:5,title:\"Probability in real-world contexts\"}],unit4:[{lessonNumber:1,title:\"Linear relationships and graphs\"},{lessonNumber:2,title:\"Slope and rate of change\"},{lessonNumber:3,title:\"Interpreting linear models\"},{lessonNumber:4,title:\"Systems of linear equations\"},{lessonNumber:5,title:\"Applications in finance and science\"}],unit5:[{lessonNumber:1,title:\"Exponential growth and decay\"},{lessonNumber:2,title:\"Compound interest\"},{lessonNumber:3,title:\"Logarithmic relationships\"},{lessonNumber:4,title:\"Modeling with exponential functions\"},{lessonNumber:5,title:\"Applications in population and finance\"}],unit6:[{lessonNumber:1,title:\"Geometry basics: perimeter and area\"},{lessonNumber:2,title:\"Volume and surface area\"},{lessonNumber:3,title:\"Scale and similarity\"},{lessonNumber:4,title:\"Angles and polygons\"},{lessonNumber:5,title:\"Geometry in real life\"}],unit7:[{lessonNumber:1,title:\"Understanding graphs and charts\"},{lessonNumber:2,title:\"Reading tables and maps\"},{lessonNumber:3,title:\"Visualizing data trends\"},{lessonNumber:4,title:\"Infographics and interpretation\"},{lessonNumber:5,title:\"Critical thinking with visuals\"}],unit8:[{lessonNumber:1,title:\"Financial literacy: budgeting\"},{lessonNumber:2,title:\"Loans and interest rates\"},{lessonNumber:3,title:\"Credit cards and debt\"},{lessonNumber:4,title:\"Taxes and deductions\"},{lessonNumber:5,title:\"Making informed financial decisions\"}],unit9:[{lessonNumber:1,title:\"Voting methods and fairness\"},{lessonNumber:2,title:\"Apportionment and representation\"},{lessonNumber:3,title:\"Weighted voting systems\"},{lessonNumber:4,title:\"Power index and influence\"},{lessonNumber:5,title:\"Math in politics and policy\"}],unit10:[{lessonNumber:1,title:\"Critical thinking and logic\"},{lessonNumber:2,title:\"Truth tables and logical statements\"},{lessonNumber:3,title:\"Fallacies and flawed reasoning\"},{lessonNumber:4,title:\"Analyzing arguments\"},{lessonNumber:5,title:\"Quantitative reasoning in everyday life\"}]},math_for_liberal_arts:{unit1:[{lessonNumber:1,title:\"Patterns and sequences\"},{lessonNumber:2,title:\"Fibonacci and golden ratio\"},{lessonNumber:3,title:\"Mathematics in nature\"},{lessonNumber:4,title:\"Math in art and design\"},{lessonNumber:5,title:\"Math in music and rhythm\"}],unit2:[{lessonNumber:1,title:\"Logic and reasoning\"},{lessonNumber:2,title:\"Truth tables and logical connectives\"},{lessonNumber:3,title:\"Deductive and inductive reasoning\"},{lessonNumber:4,title:\"Common fallacies\"},{lessonNumber:5,title:\"Analyzing real-world arguments\"}],unit3:[{lessonNumber:1,title:\"Voting systems and fairness\"},{lessonNumber:2,title:\"Majority and plurality methods\"},{lessonNumber:3,title:\"Ranked choice and runoff voting\"},{lessonNumber:4,title:\"Apportionment methods\"},{lessonNumber:5,title:\"Math in democracy\"}],unit4:[{lessonNumber:1,title:\"Financial literacy: budgeting\"},{lessonNumber:2,title:\"Simple and compound interest\"},{lessonNumber:3,title:\"Loans and credit\"},{lessonNumber:4,title:\"Taxes and deductions\"},{lessonNumber:5,title:\"Making financial decisions\"}],unit5:[{lessonNumber:1,title:\"Statistics: mean, median, mode\"},{lessonNumber:2,title:\"Range and standard deviation\"},{lessonNumber:3,title:\"Data displays and interpretation\"},{lessonNumber:4,title:\"Correlation and causation\"},{lessonNumber:5,title:\"Misleading statistics\"}],unit6:[{lessonNumber:1,title:\"Probability basics\"},{lessonNumber:2,title:\"Compound events and independence\"},{lessonNumber:3,title:\"Expected value and risk\"},{lessonNumber:4,title:\"Probability in games and gambling\"},{lessonNumber:5,title:\"Probability in decision-making\"}],unit7:[{lessonNumber:1,title:\"Geometry in art and architecture\"},{lessonNumber:2,title:\"Symmetry and tessellations\"},{lessonNumber:3,title:\"Golden rectangles and spirals\"},{lessonNumber:4,title:\"Fractals and self-similarity\"},{lessonNumber:5,title:\"Visual math applications\"}],unit8:[{lessonNumber:1,title:\"Math in history and culture\"},{lessonNumber:2,title:\"Ancient number systems\"},{lessonNumber:3,title:\"Mathematical discoveries\"},{lessonNumber:4,title:\"Math in philosophy\"},{lessonNumber:5,title:\"Cultural perspectives on math\"}],unit9:[{lessonNumber:1,title:\"Math in media and advertising\"},{lessonNumber:2,title:\"Statistics in journalism\"},{lessonNumber:3,title:\"Graphs and visual persuasion\"},{lessonNumber:4,title:\"Critical analysis of data claims\"},{lessonNumber:5,title:\"Math literacy in society\"}],unit10:[{lessonNumber:1,title:\"Math and ethics\"},{lessonNumber:2,title:\"Data privacy and algorithms\"},{lessonNumber:3,title:\"Bias in statistical models\"},{lessonNumber:4,title:\"Ethical decision-making with data\"},{lessonNumber:5,title:\"Responsible use of mathematics\"}]},statistics:{unit1:[{lessonNumber:1,title:\"Types of data: categorical vs quantitative\"},{lessonNumber:2,title:\"Levels of measurement\"},{lessonNumber:3,title:\"Populations and samples\"},{lessonNumber:4,title:\"Sampling methods and bias\"},{lessonNumber:5,title:\"Experimental design basics\"}],unit2:[{lessonNumber:1,title:\"Frequency tables and histograms\"},{lessonNumber:2,title:\"Stem-and-leaf and dot plots\"},{lessonNumber:3,title:\"Box plots and five-number summary\"},{lessonNumber:4,title:\"Shape of distributions\"},{lessonNumber:5,title:\"Comparing data displays\"}],unit3:[{lessonNumber:1,title:\"Mean, median, and mode\"},{lessonNumber:2,title:\"Range and interquartile range\"},{lessonNumber:3,title:\"Standard deviation and variance\"},{lessonNumber:4,title:\"Z-scores and outliers\"},{lessonNumber:5,title:\"Interpret measures of center and spread\"}],unit4:[{lessonNumber:1,title:\"Basic probability rules\"},{lessonNumber:2,title:\"Compound events and independence\"},{lessonNumber:3,title:\"Conditional probability\"},{lessonNumber:4,title:\"Two-way tables and Venn diagrams\"},{lessonNumber:5,title:\"Simulations and modeling probability\"}],unit5:[{lessonNumber:1,title:\"Discrete probability distributions\"},{lessonNumber:2,title:\"Binomial distributions\"},{lessonNumber:3,title:\"Expected value and variance\"},{lessonNumber:4,title:\"Geometric and Poisson distributions\"},{lessonNumber:5,title:\"Applications of discrete models\"}],unit6:[{lessonNumber:1,title:\"Normal distribution and bell curve\"},{lessonNumber:2,title:\"Empirical rule (68-95-99.7)\"},{lessonNumber:3,title:\"Standard normal and z-scores\"},{lessonNumber:4,title:\"Assessing normality\"},{lessonNumber:5,title:\"Applications of normal models\"}],unit7:[{lessonNumber:1,title:\"Scatter plots and correlation\"},{lessonNumber:2,title:\"Linear regression and line of best fit\"},{lessonNumber:3,title:\"Residuals and interpretation\"},{lessonNumber:4,title:\"Causation vs correlation\"},{lessonNumber:5,title:\"Modeling with regression\"}],unit8:[{lessonNumber:1,title:\"Sampling distributions\"},{lessonNumber:2,title:\"Central Limit Theorem\"},{lessonNumber:3,title:\"Standard error and variability\"},{lessonNumber:4,title:\"Simulating sampling distributions\"},{lessonNumber:5,title:\"Applications of sampling models\"}],unit9:[{lessonNumber:1,title:\"Confidence intervals for proportions\"},{lessonNumber:2,title:\"Confidence intervals for means\"},{lessonNumber:3,title:\"Margin of error and interpretation\"},{lessonNumber:4,title:\"Choosing sample size\"},{lessonNumber:5,title:\"Applications of confidence intervals\"}],unit10:[{lessonNumber:1,title:\"Hypothesis testing: null and alternative\"},{lessonNumber:2,title:\"p-values and significance levels\"},{lessonNumber:3,title:\"Tests for proportions\"},{lessonNumber:4,title:\"Tests for means\"},{lessonNumber:5,title:\"Interpreting statistical results\"}]},precalculus:{unit1:[{lessonNumber:1,title:\"Functions and their graphs\"},{lessonNumber:2,title:\"Domain and range\"},{lessonNumber:3,title:\"Function transformations\"},{lessonNumber:4,title:\"Even and odd functions\"},{lessonNumber:5,title:\"Piecewise-defined functions\"}],unit2:[{lessonNumber:1,title:\"Polynomial functions and end behavior\"},{lessonNumber:2,title:\"Factoring and zeros of polynomials\"},{lessonNumber:3,title:\"Graphing polynomial models\"},{lessonNumber:4,title:\"Rational root theorem\"},{lessonNumber:5,title:\"Synthetic division\"}],unit3:[{lessonNumber:1,title:\"Rational functions and asymptotes\"},{lessonNumber:2,title:\"Simplifying and solving rational expressions\"},{lessonNumber:3,title:\"Graphing rational functions\"},{lessonNumber:4,title:\"Applications of rational models\"},{lessonNumber:5,title:\"Discontinuities and holes\"}],unit4:[{lessonNumber:1,title:\"Exponential functions and growth\"},{lessonNumber:2,title:\"Logarithmic functions and inverses\"},{lessonNumber:3,title:\"Properties of logarithms\"},{lessonNumber:4,title:\"Solving exponential and log equations\"},{lessonNumber:5,title:\"Applications in finance and science\"}],unit5:[{lessonNumber:1,title:\"Trigonometric functions and unit circle\"},{lessonNumber:2,title:\"Graphs of sine, cosine, and tangent\"},{lessonNumber:3,title:\"Amplitude, period, and phase shift\"},{lessonNumber:4,title:\"Inverse trig functions\"},{lessonNumber:5,title:\"Trig identities and simplification\"}],unit6:[{lessonNumber:1,title:\"Law of Sines and Law of Cosines\"},{lessonNumber:2,title:\"Solving oblique triangles\"},{lessonNumber:3,title:\"Area of triangles\"},{lessonNumber:4,title:\"Ambiguous case scenarios\"},{lessonNumber:5,title:\"Applications in navigation and physics\"}],unit7:[{lessonNumber:1,title:\"Vectors: magnitude and direction\"},{lessonNumber:2,title:\"Vector operations and dot product\"},{lessonNumber:3,title:\"Applications of vectors\"},{lessonNumber:4,title:\"Modeling with vectors\"},{lessonNumber:5,title:\"Vectors in physics and geometry\"}],unit8:[{lessonNumber:1,title:\"Polar coordinates and graphs\"},{lessonNumber:2,title:\"Convert between polar and rectangular\"},{lessonNumber:3,title:\"Graph polar equations\"},{lessonNumber:4,title:\"Symmetry and transformations\"},{lessonNumber:5,title:\"Applications of polar systems\"}],unit9:[{lessonNumber:1,title:\"Parametric equations and graphs\"},{lessonNumber:2,title:\"Eliminate the parameter\"},{lessonNumber:3,title:\"Model motion with parametrics\"},{lessonNumber:4,title:\"Applications in physics\"},{lessonNumber:5,title:\"Analyze parametric behavior\"}],unit10:[{lessonNumber:1,title:\"Sequences and series: arithmetic\"},{lessonNumber:2,title:\"Sequences and series: geometric\"},{lessonNumber:3,title:\"Sigma notation and summation\"},{lessonNumber:4,title:\"Convergence and divergence\"},{lessonNumber:5,title:\"Applications of series in modeling\"}]},calculus1:{unit1:[{lessonNumber:1,title:\"Limits and continuity\"},{lessonNumber:2,title:\"Estimating limits from graphs\"},{lessonNumber:3,title:\"Limit laws and algebraic limits\"},{lessonNumber:4,title:\"One-sided limits and discontinuities\"},{lessonNumber:5,title:\"Formal definition of a limit\"}],unit2:[{lessonNumber:1,title:\"Definition of the derivative\"},{lessonNumber:2,title:\"Basic derivative rules\"},{lessonNumber:3,title:\"Product and quotient rules\"},{lessonNumber:4,title:\"Chain rule and composite functions\"},{lessonNumber:5,title:\"Higher-order derivatives\"}],unit3:[{lessonNumber:1,title:\"Implicit differentiation\"},{lessonNumber:2,title:\"Derivatives of exponential functions\"},{lessonNumber:3,title:\"Derivatives of logarithmic functions\"},{lessonNumber:4,title:\"Derivatives of trigonometric functions\"},{lessonNumber:5,title:\"Applications of derivatives\"}],unit4:[{lessonNumber:1,title:\"Critical points and extrema\"},{lessonNumber:2,title:\"Mean Value Theorem\"},{lessonNumber:3,title:\"Increasing/decreasing functions\"},{lessonNumber:4,title:\"Concavity and inflection points\"},{lessonNumber:5,title:\"Curve sketching with derivatives\"}],unit5:[{lessonNumber:1,title:\"Optimization problems\"},{lessonNumber:2,title:\"Related rates: concept and setup\"},{lessonNumber:3,title:\"Solving related rates problems\"},{lessonNumber:4,title:\"Applications in motion and geometry\"},{lessonNumber:5,title:\"Modeling with derivatives\"}],unit6:[{lessonNumber:1,title:\"Antiderivatives and indefinite integrals\"},{lessonNumber:2,title:\"Basic integration rules\"},{lessonNumber:3,title:\"u-substitution technique\"},{lessonNumber:4,title:\"Definite integrals and area under curve\"},{lessonNumber:5,title:\"Fundamental Theorem of Calculus\"}],unit7:[{lessonNumber:1,title:\"Area between curves\"},{lessonNumber:2,title:\"Volume using disks and washers\"},{lessonNumber:3,title:\"Volume using cylindrical shells\"},{lessonNumber:4,title:\"Applications of definite integrals\"},{lessonNumber:5,title:\"Average value of a function\"}],unit8:[{lessonNumber:1,title:\"Integration by parts (intro)\"},{lessonNumber:2,title:\"Trigonometric integrals\"},{lessonNumber:3,title:\"Partial fractions (basic)\"},{lessonNumber:4,title:\"Improper integrals (concept)\"},{lessonNumber:5,title:\"Numerical integration methods\"}],unit9:[{lessonNumber:1,title:\"Differential equations: intro\"},{lessonNumber:2,title:\"Separable differential equations\"},{lessonNumber:3,title:\"Slope fields and solutions\"},{lessonNumber:4,title:\"Exponential growth and decay models\"},{lessonNumber:5,title:\"Applications of differential equations\"}],unit10:[{lessonNumber:1,title:\"Sequences and limits of sequences\"},{lessonNumber:2,title:\"Series and convergence\"},{lessonNumber:3,title:\"Geometric series and p-series\"},{lessonNumber:4,title:\"Taylor polynomials (intro)\"},{lessonNumber:5,title:\"Applications of infinite series\"}]},calculus2:{unit1:[{lessonNumber:1,title:\"Review of integration techniques\"},{lessonNumber:2,title:\"Integration by parts\"},{lessonNumber:3,title:\"Trigonometric integrals\"},{lessonNumber:4,title:\"Trigonometric substitution\"},{lessonNumber:5,title:\"Partial fractions\"}],unit2:[{lessonNumber:1,title:\"Improper integrals\"},{lessonNumber:2,title:\"Convergence and divergence\"},{lessonNumber:3,title:\"Comparison tests for integrals\"},{lessonNumber:4,title:\"Applications of improper integrals\"},{lessonNumber:5,title:\"Numerical integration methods\"}],unit3:[{lessonNumber:1,title:\"Sequences and their limits\"},{lessonNumber:2,title:\"Infinite series and convergence\"},{lessonNumber:3,title:\"Geometric and p-series\"},{lessonNumber:4,title:\"Alternating series and tests\"},{lessonNumber:5,title:\"Ratio and root tests\"}],unit4:[{lessonNumber:1,title:\"Power series and intervals of convergence\"},{lessonNumber:2,title:\"Taylor and Maclaurin series\"},{lessonNumber:3,title:\"Approximating functions with series\"},{lessonNumber:4,title:\"Operations on power series\"},{lessonNumber:5,title:\"Applications of series in modeling\"}],unit5:[{lessonNumber:1,title:\"Parametric equations and graphs\"},{lessonNumber:2,title:\"Calculus with parametric curves\"},{lessonNumber:3,title:\"Arc length and surface area\"},{lessonNumber:4,title:\"Applications of parametric motion\"},{lessonNumber:5,title:\"Modeling with parametric equations\"}],unit6:[{lessonNumber:1,title:\"Polar coordinates and graphs\"},{lessonNumber:2,title:\"Area in polar coordinates\"},{lessonNumber:3,title:\"Arc length in polar form\"},{lessonNumber:4,title:\"Applications of polar calculus\"},{lessonNumber:5,title:\"Convert between polar and Cartesian\"}],unit7:[{lessonNumber:1,title:\"Vectors in 2D and 3D\"},{lessonNumber:2,title:\"Dot product and cross product\"},{lessonNumber:3,title:\"Equations of lines and planes\"},{lessonNumber:4,title:\"Applications in physics and geometry\"},{lessonNumber:5,title:\"Vector-valued functions\"}],unit8:[{lessonNumber:1,title:\"Functions of several variables\"},{lessonNumber:2,title:\"Partial derivatives\"},{lessonNumber:3,title:\"Gradient and directional derivatives\"},{lessonNumber:4,title:\"Maxima, minima, and saddle points\"},{lessonNumber:5,title:\"Lagrange multipliers\"}],unit9:[{lessonNumber:1,title:\"Double integrals over rectangles\"},{lessonNumber:2,title:\"Double integrals over general regions\"},{lessonNumber:3,title:\"Applications of double integrals\"},{lessonNumber:4,title:\"Triple integrals and volume\"},{lessonNumber:5,title:\"Change of variables and Jacobians\"}],unit10:[{lessonNumber:1,title:\"Line integrals and vector fields\"},{lessonNumber:2,title:\"Green’s Theorem\"},{lessonNumber:3,title:\"Divergence and curl\"},{lessonNumber:4,title:\"Surface integrals\"},{lessonNumber:5,title:\"Stokes’ and Divergence Theorems\"}]},business_math:{unit1:[{lessonNumber:1,title:\"Whole numbers and decimals in business\"},{lessonNumber:2,title:\"Fractions and percentages\"},{lessonNumber:3,title:\"Ratios and proportions\"},{lessonNumber:4,title:\"Basic algebra in business contexts\"},{lessonNumber:5,title:\"Estimating and rounding in finance\"}],unit2:[{lessonNumber:1,title:\"Simple interest and principal\"},{lessonNumber:2,title:\"Compound interest and growth\"},{lessonNumber:3,title:\"Effective interest rates\"},{lessonNumber:4,title:\"Time value of money\"},{lessonNumber:5,title:\"Applications in savings and loans\"}],unit3:[{lessonNumber:1,title:\"Banking and checking accounts\"},{lessonNumber:2,title:\"Reconciling statements\"},{lessonNumber:3,title:\"Electronic banking and budgeting\"},{lessonNumber:4,title:\"Cash flow analysis\"},{lessonNumber:5,title:\"Personal finance tools\"}],unit4:[{lessonNumber:1,title:\"Payroll calculations\"},{lessonNumber:2,title:\"Gross and net pay\"},{lessonNumber:3,title:\"Deductions and taxes\"},{lessonNumber:4,title:\"Commission and bonuses\"},{lessonNumber:5,title:\"Payroll recordkeeping\"}],unit5:[{lessonNumber:1,title:\"Retail pricing and markup\"},{lessonNumber:2,title:\"Markdowns and discounts\"},{lessonNumber:3,title:\"Break-even analysis\"},{lessonNumber:4,title:\"Profit margins and cost analysis\"},{lessonNumber:5,title:\"Inventory turnover and valuation\"}],unit6:[{lessonNumber:1,title:\"Taxes: sales, income, property\"},{lessonNumber:2,title:\"Tax forms and filing basics\"},{lessonNumber:3,title:\"Business tax strategies\"},{lessonNumber:4,title:\"Depreciation methods\"},{lessonNumber:5,title:\"Tax planning and compliance\"}],unit7:[{lessonNumber:1,title:\"Loans and amortization schedules\"},{lessonNumber:2,title:\"Credit cards and interest\"},{lessonNumber:3,title:\"Mortgages and refinancing\"},{lessonNumber:4,title:\"Leasing vs buying decisions\"},{lessonNumber:5,title:\"Debt management strategies\"}],unit8:[{lessonNumber:1,title:\"Investments: stocks and bonds\"},{lessonNumber:2,title:\"Mutual funds and ETFs\"},{lessonNumber:3,title:\"Risk and return\"},{lessonNumber:4,title:\"Portfolio diversification\"},{lessonNumber:5,title:\"Retirement planning basics\"}],unit9:[{lessonNumber:1,title:\"Business statistics overview\"},{lessonNumber:2,title:\"Mean, median, mode in finance\"},{lessonNumber:3,title:\"Trend analysis and forecasting\"},{lessonNumber:4,title:\"Graphical data interpretation\"},{lessonNumber:5,title:\"Using spreadsheets for analysis\"}],unit10:[{lessonNumber:1,title:\"Entrepreneurial budgeting\"},{lessonNumber:2,title:\"Startup cost estimation\"},{lessonNumber:3,title:\"Revenue projections\"},{lessonNumber:4,title:\"Cash flow management\"},{lessonNumber:5,title:\"Financial decision-making tools\"}]},finite_math:{unit1:[{lessonNumber:1,title:\"Set theory and notation\"},{lessonNumber:2,title:\"Venn diagrams and set operations\"},{lessonNumber:3,title:\"Applications of sets in logic\"},{lessonNumber:4,title:\"Counting principles\"},{lessonNumber:5,title:\"Permutations and combinations\"}],unit2:[{lessonNumber:1,title:\"Basic probability concepts\"},{lessonNumber:2,title:\"Conditional probability and independence\"},{lessonNumber:3,title:\"Expected value and decision-making\"},{lessonNumber:4,title:\"Probability distributions\"},{lessonNumber:5,title:\"Applications in business and games\"}],unit3:[{lessonNumber:1,title:\"Linear equations and inequalities\"},{lessonNumber:2,title:\"Systems of linear equations\"},{lessonNumber:3,title:\"Matrix operations\"},{lessonNumber:4,title:\"Solving systems with matrices\"},{lessonNumber:5,title:\"Applications of linear systems\"}],unit4:[{lessonNumber:1,title:\"Linear programming: intro\"},{lessonNumber:2,title:\"Graphical method for optimization\"},{lessonNumber:3,title:\"Constraints and feasible regions\"},{lessonNumber:4,title:\"Objective functions and solutions\"},{lessonNumber:5,title:\"Real-world applications of linear programming\"}],unit5:[{lessonNumber:1,title:\"Finance: simple interest\"},{lessonNumber:2,title:\"Compound interest and future value\"},{lessonNumber:3,title:\"Present value and annuities\"},{lessonNumber:4,title:\"Loan amortization\"},{lessonNumber:5,title:\"Applications in personal finance\"}],unit6:[{lessonNumber:1,title:\"Markov chains: basics\"},{lessonNumber:2,title:\"Transition matrices\"},{lessonNumber:3,title:\"Long-term behavior and steady states\"},{lessonNumber:4,title:\"Applications in decision-making\"},{lessonNumber:5,title:\"Modeling with Markov processes\"}],unit7:[{lessonNumber:1,title:\"Game theory: intro and terminology\"},{lessonNumber:2,title:\"Two-player zero-sum games\"},{lessonNumber:3,title:\"Strategies and payoffs\"},{lessonNumber:4,title:\"Matrix games and saddle points\"},{lessonNumber:5,title:\"Applications in economics and politics\"}],unit8:[{lessonNumber:1,title:\"Logic and truth tables\"},{lessonNumber:2,title:\"Logical equivalence and implications\"},{lessonNumber:3,title:\"Quantifiers and arguments\"},{lessonNumber:4,title:\"Applications in reasoning and proofs\"},{lessonNumber:5,title:\"Analyzing real-world logic problems\"}],unit9:[{lessonNumber:1,title:\"Graphs and networks: intro\"},{lessonNumber:2,title:\"Euler paths and circuits\"},{lessonNumber:3,title:\"Hamiltonian paths and circuits\"},{lessonNumber:4,title:\"Applications in routing and scheduling\"},{lessonNumber:5,title:\"Graph coloring and optimization\"}],unit10:[{lessonNumber:1,title:\"Statistics: mean, median, mode\"},{lessonNumber:2,title:\"Standard deviation and variance\"},{lessonNumber:3,title:\"Data interpretation and graphs\"},{lessonNumber:4,title:\"Regression and correlation\"},{lessonNumber:5,title:\"Applications in business and social science\"}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"Curriculum\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Unit\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GradeCurriculum\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Lesson\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"curriculum\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"curriculumVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Curriculum.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";// To make sure I can add properties to reuse code in different pages for Elem, Middle, HS, College.\nimport*as React from\"react\";import{useState,useEffect,useRef}from\"react\";// Import curriculum data\nimport{curriculum}from\"https://framerusercontent.com/modules/kS4Z0RM0UEX2t60SflVn/l4M79ydXqdumJ3oXGGzs/Curriculum.js\";function getLessonTitleByKey(courseKey,unit,lesson){const course=curriculum[courseKey];const uk=`unit${unit}`;const lessons=course?.[uk];if(!Array.isArray(lessons))return null;const entry=lessons.find(x=>x.lessonNumber===lesson);return entry?entry.title:null;}// NEW: use the human-readable lesson title to guide the tutor\nfunction makeCourseLessonTitle(courseKey,unit,lesson){const t=getLessonTitleByKey(courseKey,unit,lesson);// Always return a label, even if a title isn't found\nreturn t?`Unit ${unit}, Lesson ${lesson} — ${t}`:`Unit ${unit}, Lesson ${lesson}`;}function MathText({text}){const[ready,setReady]=React.useState(!!(typeof window!==\"undefined\"&&window.katex));React.useEffect(()=>{if(typeof window===\"undefined\")return;if(window.katex){setReady(true);return;}// If you followed Step 1, KaTeX will load and set this flag automatically\nconst tick=setInterval(()=>{if(window.katex){setReady(true);clearInterval(tick);}},100);return()=>clearInterval(tick);},[]);if(!ready)return /*#__PURE__*/_jsx(_Fragment,{children:text});const katex=window.katex;// Split into display blocks first: $$ ... $$ (multiline allowed)\nconst displaySplit=text.split(/(\\$\\$[\\s\\S]*?\\$\\$)/g);const nodes=[];displaySplit.forEach((chunk,i)=>{const mDisplay=/^\\$\\$([\\s\\S]*?)\\$\\$$/.exec(chunk);if(mDisplay){const html=katex.renderToString(mDisplay[1],{displayMode:true,throwOnError:false});// The nodes.push keeps equations inside the bubble\nnodes.push(/*#__PURE__*/_jsx(\"div\",{style:{whiteSpace:\"normal\",overflowWrap:\"anywhere\",wordBreak:\"break-word\",maxWidth:\"100%\",margin:\"6px 0\",lineHeight:1.4},dangerouslySetInnerHTML:{__html:html}},`d${i}`));}else{// Inside non-display text, split inline: $ ... $ (no newlines)\nconst inlineSplit=chunk.split(/(\\$[^$\\n]+\\$)/g);inlineSplit.forEach((piece,j)=>{const mInline=/^\\$([^$\\n]+)\\$/.exec(piece);if(mInline){const html=katex.renderToString(mInline[1],{displayMode:false,throwOnError:false});nodes.push(/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"normal\",overflowWrap:\"anywhere\",wordBreak:\"break-word\",maxWidth:\"100%\",display:\"inline\"},dangerouslySetInnerHTML:{__html:html}},`i${i}-${j}`));}else{nodes.push(/*#__PURE__*/_jsx(\"span\",{children:piece},`t${i}-${j}`));}});}});return /*#__PURE__*/_jsx(_Fragment,{children:nodes});}// === Backend base (Railway in prod, localhost in dev) ===\nconst API_BASE=typeof window!==\"undefined\"&&window.location.hostname===\"localhost\"?\"http://localhost:8080\":\"https://ownable-math-api-staging-production-5222.up.railway.app\";// ↓↓↓ add this helper, a quick API ping so the Framer console tells us if the server is reachable\nasync function pingApi(base){try{const r=await fetch(`${base}/version`,{mode:\"cors\"});const t=await r.text();console.log(\"[pingApi] /version OK\",r.status,t);}catch(e){console.error(\"[pingApi] /version FAIL\",e);}}export default function OwnableMathCompanion({level=\"college\",style}){// Start safe, then resolve in the browser\nconst[resolvedLevel,setResolvedLevel]=React.useState(level&&typeof level===\"string\"?level.toLowerCase():\"college\");// Browser-only: read URL/localStorage and sync keys\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;// SSR guard\ntry{const params=new URLSearchParams(window.location?window.location.search||\"\":\"\");const qLevel=(params.get(\"level\")||\"\").toLowerCase().trim();const storedTutor=(localStorage.getItem(\"ownable_tutor_level\")||\"\").toLowerCase();const storedOwnable=(localStorage.getItem(\"ownable_level\")||\"\").toLowerCase();const base=level&&typeof level===\"string\"?level.toLowerCase():\"college\";const finalLevel=qLevel||storedTutor||storedOwnable||base;localStorage.setItem(\"ownable_tutor_level\",finalLevel);localStorage.setItem(\"ownable_level\",finalLevel);setResolvedLevel(finalLevel);}catch(e){console.warn(\"Level init failed; falling back to prop/default.\",e);setResolvedLevel(level&&typeof level===\"string\"?level.toLowerCase():\"college\");}},[level]);// ↓↓↓ existing effect stays ↓↓↓\nReact.useEffect(()=>{pingApi(API_BASE);},[]);// Safe debug: will log in the browser only\nReact.useEffect(()=>{if(typeof window===\"undefined\")return;console.log(\"🎓 Active level:\",resolvedLevel);},[resolvedLevel]);const levelLabels={elementary:\"Elementary School\",middle:\"Middle School\",high:\"High School\",college:\"College\"};const levelColors={elementary:\"#4CAF50\",middle:\"#2196F3\",high:\"#FF9800\",college:\"#3F51B5\"};const[session,setSession]=useState(null);const[followup,setFollowup]=useState(\"\");const[loading,setLoading]=useState(false)// ✅ ADD THIS\n;const chatEndRef=useRef(null);const[ended,setEnded]=useState(false);const[messages,setMessages]=useState([]);const user_id=localStorage.getItem(\"ownable-user\")||`guest-${Date.now()}`// 🧠 Persistent user ID for session memory Ensure that the same user_id is used for the entire chat session, stored in localStorage.\n;localStorage.setItem(\"ownable-user\",user_id);const[serverSecondsLeft,setServerSecondsLeft]=useState(null);// pull the login email saved during verify-login (or prompt once if missing)\nconst[email,setEmail]=useState(localStorage.getItem(\"ownable_email\")||\"\");async function ensureEmail(){if(email)return email;const entered=(window.prompt(\"Enter your email to save your 30-min daily time across chats:\",\"\")||\"\").trim();if(!entered)return\"\";localStorage.setItem(\"ownable_email\",entered);setEmail(entered);return entered;}// ⬇⬇⬇ ADD THIS BLOCK (heartbeat) ⬇⬇⬇ ping heartbeat during a session so time really ticks down\nconst HEARTBEAT_MS=45e3// 45s cadence\n;const heartbeatInFlight=useRef(false);const heartbeatTimer=useRef(null);const pingHeartbeat=React.useCallback(async()=>{if(!email||heartbeatInFlight.current)return;heartbeatInFlight.current=true;try{const r=await fetch(`${API_BASE}/heartbeat`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",\"X-User-Email\":email},body:JSON.stringify({email})});const data=await r.json().catch(()=>({}));if(typeof data.seconds_left===\"number\"){setServerSecondsLeft(data.seconds_left);}}catch(e){// swallow transient errors\n}finally{heartbeatInFlight.current=false;}},[email]);// Start/stop heartbeat when a session is active\nuseEffect(()=>{// only tick if we have a session, not ended, and have an email\nif(!session||ended||!email){if(heartbeatTimer.current){clearInterval(heartbeatTimer.current);heartbeatTimer.current=null;}return;}// ⬅ NEW: ping immediately so UI gets the true remaining time right away\npingHeartbeat();heartbeatTimer.current=window.setInterval(pingHeartbeat,HEARTBEAT_MS);return()=>{if(heartbeatTimer.current){clearInterval(heartbeatTimer.current);heartbeatTimer.current=null;}};},[session,ended,email,pingHeartbeat]);// Optional: refresh on tab focus to reduce drift\nuseEffect(()=>{const onFocus=()=>{if(session&&!ended)pingHeartbeat();};window.addEventListener(\"focus\",onFocus);return()=>window.removeEventListener(\"focus\",onFocus);},[session,ended,pingHeartbeat]);// ⬆⬆⬆ END ADD ⬆⬆⬆\nuseEffect(()=>{chatEndRef.current?.scrollIntoView({behavior:\"smooth\"});},[messages]);async function sendToGPT({user_id,message,mode,language,age_group,secret,email,topic,unit,lesson,course_lesson_title,silent=false}){if(ended){alert(\"This chat is ended. Start a new chat to continue.\");return;}setLoading(true)// ✅ show loading indicator\n;// Only enforce topic when in LEARNING mode\nif(mode===\"learning\"&&(!topic||typeof topic!==\"string\")){setLoading(false);alert(\"Please choose a topic (course) before starting Learning mode.\");return;}// User message accounts for topic selected and options offered for the topic\n// Build user-visible message list\nconst updatedMessages=!silent?[...messages,{role:\"user\",content:message}]:messages;// ✅ Show an assistant placeholder for every non-silent call\nif(!silent){setMessages([...updatedMessages,{role:\"assistant\",content:\"🟡 Thinking…\"}]);}try{const response=await fetch(`${API_BASE}/chat`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",\"X-User-Email\":email||\"\",\"X-User-Level\":level||\"college\",\"X-User-Language\":language||\"English\"},body:JSON.stringify({user_id,message,mode,language,age_group:resolvedLevel,secret,email,topic,unit,lesson,course_lesson_title})});const data=await response.json();if(typeof data.seconds_left===\"number\")setServerSecondsLeft(data.seconds_left);if(response.status===429){setServerSecondsLeft(0);alert(data.error||\"⏳ Daily limit reached.\");return;}if(!response.ok)throw new Error(data?.error||`HTTP ${response.status}`);if(data.reply){setMessages(m=>{const mm=m.slice();const last=mm[mm.length-1];const assistantMsg={role:\"assistant\",content:data.reply};// If the last bubble is our placeholder, replace it. Otherwise, append.\nif(last?.role===\"assistant\"&&String(last.content||\"\").startsWith(\"🟡\")){mm[mm.length-1]=assistantMsg;}else{mm.push(assistantMsg);}return mm;});return data.reply;}else{// No reply (rare) — replace placeholder with a small notice\nsetMessages(m=>{const mm=m.slice();const last=mm[mm.length-1];const msg=\"⚠️ I didn’t get a reply. Try again?\";if(last?.role===\"assistant\"&&String(last.content||\"\").startsWith(\"🟡\")){mm[mm.length-1]={role:\"assistant\",content:msg};}else{mm.push({role:\"assistant\",content:msg});}return mm;});return\"⚠️ GPT did not reply.\";}}catch(err){console.error(\"❌ Error:\",err);setMessages(m=>{const mm=m.slice();const last=mm[mm.length-1];const msg=\"⚠️ There was a problem reaching the tutor. Please try again.\";if(last?.role===\"assistant\"&&String(last.content||\"\").startsWith(\"🟡\")){mm[mm.length-1]={role:\"assistant\",content:msg};}else{mm.push({role:\"assistant\",content:msg});}return mm;});return\"Error calling GPT.\";}finally{setLoading(false);}}async function startCourseHelp({mode,topic,unit,lesson,language,customLang}){if(ended){alert(\"This chat is ended. Reset or start a new chat to continue.\");return;}// NEW: don’t proceed without an explicit course/topic\nif(!topic){alert(\"Please pick a topic (course) to learn first.\");return;}// ensure we have an email so time usage persists server-side\nconst okEmail=await ensureEmail();if(!okEmail){alert(\"We need an email to keep your daily minutes in sync.\");return;}// Use the chosen topic as the first-turn message label\nconst message=topic;// (later) call sendToGPT with the same topic you just checked\n// The next two lines help present choices to start with based on topic selected by the user in the session setup (Pre-Algebra, Statistics, etc.), and formats it into a natural opening prompt with choices. And the const secret acts as a lightweight security check to make sure: The request to the backend is coming from your frontend. The await sends the message as the first prompt to the GPT, This triggers a POST request to the backend URL https://your-backend-url/chat. Message is then received in the @app.route(\"/chat\", methods=[\"POST\"]) in GitHub.\nconst secret=\"ownable-7bq4k3\";setSession({mode,topic,language,customLang,level});// no saved/continue state; pass the title directly\nconst topicKey=topic;const courseLessonTitle=makeCourseLessonTitle(topicKey,unit,lesson);await sendToGPT({user_id,message,mode,language,age_group:level,secret,email,topic:topicKey,unit,lesson,course_lesson_title:courseLessonTitle,silent:true});}async function startHomeworkHelp(file,language,customLang,homeworkTopic=\"\"){if(ended){alert(\"This chat is ended. Reset or start a new chat to continue.\");return;}// ensure we have an email so time usage persists server-side\nconst okEmail=await ensureEmail();if(!okEmail){alert(\"We need an email to keep your daily minutes in sync.\");return;}if(!file)return;// 1) Turn on the global loader AND show a placeholder assistant bubble\nsetLoading(true);setMessages(m=>[...m,{role:\"assistant\",content:\"📎 Reading your file… analyzing and planning steps…\"}]);const formData=new FormData;formData.append(\"file\",file);try{const response=await fetch(`${API_BASE}/file-help`,{method:\"POST\",headers:{\"X-User-Email\":email||\"\",\"X-User-Level\":resolvedLevel||\"college\",\"X-User-Language\":language||\"English\",\"X-User-Custom-Lang\":customLang||\"\"},body:formData});const data=await response.json();if(typeof data.seconds_left===\"number\"){setServerSecondsLeft(data.seconds_left);}// Establish homework session mode (so follow-ups use the right tone)\nsetSession({mode:\"homework\",topic:\"homework\",language,customLang});// 2) Replace the placeholder bubble with the real reply (or a fallback)\nsetMessages(m=>{const mm=m.slice();const last=mm[mm.length-1];const fallback=\"⚠️ I couldn’t extract meaningful text from that file.\";if(last?.role===\"assistant\"&&String(last.content).startsWith(\"📎\")){mm[mm.length-1]={role:\"assistant\",content:data.reply||fallback};}else{// If for some reason the placeholder isn't last, just append\nmm.push({role:\"assistant\",content:data.reply||fallback});}return mm;});// 3) (Optional) continue the tutoring flow using the model’s summary.\n//    This keeps the chat going but avoids a long blank period.\nif(data.reply){await sendToGPT({user_id,message:data.reply,mode:\"homework\",language,age_group:level,secret:\"ownable-7bq4k3\",email,silent:true});}else{alert(\"⚠️ GPT could not process the file.\");}}catch(err){console.error(\"❌ File upload error:\",err);// Replace the placeholder with an error message so the UI never hangs\nsetMessages(m=>{const mm=m.slice();const last=mm[mm.length-1];const msg=\"⚠️ There was a problem reading that file. Try a smaller PDF or a .txt file.\";if(last?.role===\"assistant\"&&String(last.content).startsWith(\"📎\")){mm[mm.length-1]={role:\"assistant\",content:msg};}else{mm.push({role:\"assistant\",content:msg});}return mm;});}finally{// 4) Always turn off the loader\nsetLoading(false);}}// ⬇️ option to end chat\nasync function endChat(){if(!messages.length){setEnded(true);return;}const ok=confirm(\"End this chat? You won't be able to send more messages.\");if(!ok)return;// Notify backend to delete ephemeral files for this session\ntry{await fetch(`${API_BASE}/chat/end`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({user_id})});}catch(e){// best-effort; ignore network errors here\nconsole.warn(\"endChat notify failed\",e);}// Clear local session id and mark ended\ntry{localStorage.removeItem(\"ownable-user\");}catch{}setEnded(true);}// ⬇️ Your existing JSX starts here, the one that existed before adding the option to end chat\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{...style,fontFamily:\"'Segoe UI', sans-serif\",maxWidth:\"840px\",margin:\"0 auto\",padding:\"24px\",height:\"calc(100vh - 80px)\",overflowY:\"auto\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:\"24px\",fontSize:\"22px\",fontWeight:\"600\",color:levelColors[level]||\"#3F51B5\"},children:[\"Welcome to Your \",levelLabels[level]||\"\"]}),/*#__PURE__*/_jsx(\"div\",{style:{marginBottom:16,fontSize:\"20px\",fontWeight:\"bold\",color:\"#333\"},children:\"Ownable™ AI-Powered Math Companion!\"}),session&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:\"13px\",color:\"#777\",marginBottom:\"4px\"},children:[\"⏰ \",/*#__PURE__*/_jsx(\"strong\",{children:\"Session Limit:\"}),\" Each student may use the tutor for one\",/*#__PURE__*/_jsx(\"strong\",{children:\" 30-minute session per day\"}),\". Your time allowance resets daily.\"]}),/*#__PURE__*/_jsxs(\"p\",{style:{fontSize:\"13px\",color:\"#777\",marginBottom:\"16px\"},children:[\"📘 \",/*#__PURE__*/_jsx(\"strong\",{children:\"Disclaimer:\"}),\" This tool is designed to support students in their academic preparation. It is not affiliated with or endorsed by any exam provider, educational institution, or governing body.\"]})]}),!session&&/*#__PURE__*/_jsx(SessionSetup,{level:level,onStart:setSession,startCourseHelp:startCourseHelp,startHomeworkHelp:startHomeworkHelp}),messages.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"24px\",display:\"flex\",flexDirection:\"column\",gap:\"12px\"},children:[messages.map((msg,i)=>{const isUser=msg.role===\"user\";const full=String(msg.content||\"\");const lines=full.split(/\\r?\\n/);const PLOT_LINE=/^\\s*(\\/plots\\/[a-z0-9\\-]+\\.png)\\s*$/i;return /*#__PURE__*/_jsxs(\"div\",{style:{padding:\"14px 18px\",borderRadius:\"16px\",maxWidth:\"75%\",alignSelf:isUser?\"flex-end\":\"flex-start\",backgroundColor:isUser?\"#dcf8c6\":\"#fafafa\",border:!isUser?\"1px solid #eee\":\"none\",fontSize:\"16px\",lineHeight:\"1.6\",whiteSpace:\"normal\",overflowWrap:\"anywhere\",wordBreak:\"break-word\"},children:[/*#__PURE__*/_jsxs(\"strong\",{children:[isUser?\"You\":\"Tutor\",\":\"]}),lines.map((ln,j)=>{const m=ln.match(PLOT_LINE);if(m){const src=m[1];const absolute=src.startsWith(\"http\")?src:`${API_BASE}${src}`;return /*#__PURE__*/_jsx(\"div\",{style:{marginTop:8},children:/*#__PURE__*/_jsx(\"img\",{src:absolute,alt:\"diagram\",loading:\"lazy\",style:{maxWidth:\"100%\",borderRadius:8,border:\"1px solid #ccc\"}})},`img-${j}`);}return /*#__PURE__*/_jsx(\"div\",{style:{marginTop:j===0?0:6},children:/*#__PURE__*/_jsx(MathText,{text:ln})},`ln-${j}`);})]},i);}),/*#__PURE__*/_jsx(\"div\",{ref:chatEndRef})]}),session&&/*#__PURE__*/_jsxs(\"p\",{style:{marginTop:\"16px\",fontSize:\"13px\",color:\"#999\"},children:[\"⏱ Time left in today's session:\",\" \",serverSecondsLeft!=null?Math.max(0,Math.ceil(serverSecondsLeft/60)):\"—\",\" \",\"minutes\"]}),loading&&/*#__PURE__*/_jsx(\"div\",{style:{marginTop:\"16px\",fontStyle:\"italic\",color:\"#888\"},children:\"⏳ Thinking...\"}),messages.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"24px\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:followup,onChange:e=>setFollowup(e.target.value),placeholder:ended?\"Chat ended.\":\"Type your answer or next question here...\",disabled:ended,style:{width:\"100%\",padding:\"14px 16px\",borderRadius:\"8px\",border:\"1px solid #ddd\",marginBottom:\"8px\",backgroundColor:ended?\"#f5f5f5\":\"#fafafa\",color:\"#333\",fontSize:\"15px\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"12px\",flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsx(\"button\",{onClick:async()=>{const msg=(followup||\"\").trim();if(!msg||ended)return;await sendToGPT({user_id,message:msg,mode:session?.mode||\"learning\",language:session?.language||\"English\",age_group:level,secret:\"ownable-7bq4k3\",email,topic:session?.topic});setFollowup(\"\");},disabled:ended,style:{padding:\"12px 20px\",fontSize:\"15px\",borderRadius:\"8px\",backgroundColor:ended?\"#b0c4de\":\"#4a90e2\",color:\"white\",fontWeight:\"bold\",border:\"none\",cursor:ended?\"not-allowed\":\"pointer\"},children:\"➤ Send\"}),/*#__PURE__*/_jsx(\"button\",{onClick:endChat,style:{padding:\"12px 20px\",fontSize:\"15px\",borderRadius:\"8px\",backgroundColor:\"#e57373\",color:\"white\",fontWeight:\"bold\",border:\"none\",cursor:\"pointer\"},children:\"⛔ End Chat\"}),/*#__PURE__*/_jsx(\"button\",{onClick:async()=>{// Tell backend to clean up the current session first\ntry{await fetch(`${API_BASE}/chat/end`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({user_id})});}catch(e){console.warn(\"reset notify failed\",e);}// Now clear the UI and allow a fresh chat\nsetMessages([]);setSession(null);setFollowup(\"\");setEnded(false)// allow a fresh chat immediately\n;},style:{padding:\"12px 20px\",fontSize:\"15px\",backgroundColor:\"#ccc\",border:\"none\",borderRadius:\"8px\",color:\"#333\",fontWeight:\"bold\"},children:\"🔄 Reset Chat\"})]}),ended&&/*#__PURE__*/_jsx(\"div\",{style:{marginTop:\"12px\",fontSize:\"13px\",color:\"#aa0000\",background:\"#fff3f3\",border:\"1px solid #f0c4c4\",borderRadius:\"8px\",padding:\"10px 12px\"},children:\"Chat ended. Start a new chat to continue.\"})]})]});}function SessionSetup({onStart,startCourseHelp,startHomeworkHelp,level=\"college\"}){const[mode,setMode]=useState(\"learning\");const[topic,setTopic]=useState(\"\");const[unit,setUnit]=useState(1)// ← NEW\n;const[lesson,setLesson]=useState(1)// ← NEW\n;const[homeworkTopic,setHomeworkTopic]=useState(\"\")// NEW: optional\n;const[language,setLanguage]=useState(()=>{try{return sessionStorage.getItem(\"ownable-lang\")||\"English\";}catch{return\"English\";}});// ⬇︎ Add this effect near your other hooks\nuseEffect(()=>{try{sessionStorage.setItem(\"ownable-lang\",language);}catch{}},[language]);const[customLang,setCustomLang]=useState(\"\");const[uploadedFileName,setUploadedFileName]=useState(\"\");const[openPanel,setOpenPanel]=useState(null);// NEW: live preview of the selected lesson title\nconst lessonPreview=React.useMemo(()=>{if(!topic)return\"\";const course=curriculum[topic];const uk=`unit${unit}`;const arr=course?.[uk];if(!Array.isArray(arr))return`Unit ${unit}, Lesson ${lesson}`;const found=arr.find(x=>x.lessonNumber===lesson);return found?`Unit ${unit}, Lesson ${lesson}: ${found.title}`:`Unit ${unit}, Lesson ${lesson}`;},[topic,unit,lesson]);const togglePanel=panel=>{setOpenPanel(openPanel===panel?null:panel);};const collegeTopics={college_prealgebra:\"Pre-Algebra\",intro_to_algebra:\"Intro to Algebra\",intermediate_algebra:\"Intermediate Algebra\",college_algebra:\"College Algebra\",quantitative_reasoning:\"Quantitative Reasoning\",math_for_liberal_arts:\"Math for Liberal Arts\",statistics:\"Statistics\",precalculus:\"Precalculus\",calculus1:\"Calculus I\",calculus2:\"Calculus II\",business_math:\"Business Math\",finite_math:\"Finite Math\"}// default = college-level topic list\n;//✅ This sets \"Intro to Algebra\" instead of \"introalgebra\" into your message.\nconst elementaryTopics={grade1:\"Grade 1 – Math Foundations 1\",grade2:\"Grade 2 – Math Foundations 2\",grade3:\"Grade 3 – Multiplication / Division / Fractions\",grade4:\"Grade 4 – Whole Numbers / Geometry\",grade5:\"Grade 5 – Fractions / Decimals\"};const middleTopics={grade6:\"Grade 6 – Ratios / Early Algebra\",grade7:\"Grade 7 – Pre-Algebra / Proportional Reasoning\",grade8:\"Grade 8 – Intro to Algebra\"};const highSchoolTopics={prealgebra:\"Pre-Algebra\",algebra1:\"Algebra I\",geometry:\"Geometry\",algebra2:\"Algebra II\",trigonometry:\"Trigonometry\",high_school_precalculus:\"Pre-Calculus\",high_school_calculus:\"Calculus\",high_school_statistics:\"Statistics\"};const topicLabels=level===\"elementary\"?elementaryTopics:level===\"middle\"?middleTopics:level===\"high\"?highSchoolTopics:collegeTopics// ✅ Now clean and easy to maintain\n;const handleStart=()=>{if(!topic)return alert(\"Please choose a course.\");const topicKey=topic// cast because select stores a string\n;// Always start course help in learning mode, and pass the course KEY\nstartCourseHelp({mode:\"learning\",topic:topicKey,unit,lesson,language,customLang})//✅ Now GPT will say: “Let’s begin working on Intro Algebra” instead of “introalgebra”.\n;};const handleResumeLast=()=>{const last=localStorage.getItem(\"ownable-session-report\");if(!last)return alert(\"No saved session found.\");const parsed=JSON.parse(last);onStart({...parsed});};return /*#__PURE__*/_jsxs(\"div\",{style:{backgroundColor:\"#f9f9fb\",padding:\"24px\",borderRadius:\"12px\",boxShadow:\"0 2px 6px rgba(0,0,0,0.05)\",maxWidth:720,margin:\"0 auto 24px auto\"},children:[/*#__PURE__*/_jsx(\"h3\",{style:{fontSize:\"16px\",fontWeight:\"bold\",marginBottom:\"8px\"},children:\"Choose language\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",marginBottom:\"12px\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"20px\",marginRight:\"6px\"},children:\"🌐\"}),/*#__PURE__*/_jsxs(\"select\",{value:language,onChange:e=>setLanguage(e.target.value),style:{padding:\"8px 12px\",borderRadius:\"8px\",border:\"1px solid #ccc\",fontSize:\"15px\",flexGrow:1,cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"English\",children:\"English\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Spanish\",children:\"Spanish (Espa\\xf1ol)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Chinese\",children:\"Chinese(中文)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"French\",children:\"French (Fran\\xe7ais)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Vietnamese\",children:\"Vietnamese (日本語)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Japanese\",children:\"Japanese (日本語)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Korean\",children:\"Korean (한국어)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Portuguese\",children:\"Portuguese (Portugu\\xeas)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Hindi\",children:\"Hindi (हिन्दी)\"}),/*#__PURE__*/_jsx(\"option\",{value:\"Other\",children:\"Other Language...\"})]})]}),language===\"Other\"&&/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Enter your preferred language\",value:customLang,onChange:e=>setCustomLang(e.target.value),style:{marginTop:8,padding:\"8px 12px\",borderRadius:\"8px\",border:\"1px solid #ccc\",fontSize:\"15px\",width:\"100%\"}}),/*#__PURE__*/_jsx(\"hr\",{style:{margin:\"24px 0\",borderTop:\"1px solid #ddd\"}}),/*#__PURE__*/_jsx(\"h3\",{style:{fontSize:\"20px\",fontWeight:\"bold\",marginBottom:\"16px\"},children:\"How can I help you today?\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:12,marginBottom:12},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{setMode(\"learning\");setOpenPanel(\"course\")// reveal Learning setup\n;},style:{flex:1,padding:\"14px 16px\",borderRadius:\"10px\",border:\"1px solid #ccc\",backgroundColor:\"#4a90e2\",color:\"#fff\",fontWeight:\"bold\",cursor:\"pointer\",fontSize:\"16px\"},children:\"📘 Learning\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>{setMode(\"homework\");setOpenPanel(\"homework\")// reveal Homework upload\n;},style:{flex:1,padding:\"14px 16px\",borderRadius:\"10px\",border:\"1px solid #ccc\",backgroundColor:\"#4a90e2\",color:\"#fff\",fontWeight:\"bold\",cursor:\"pointer\",fontSize:\"16px\"},children:\"📎 Homework Help\"})]}),openPanel===\"course\"&&/*#__PURE__*/_jsxs(\"div\",{style:{background:\"#fff\",border:\"1px solid #ddd\",padding:16,borderRadius:8,marginTop:12},children:[/*#__PURE__*/_jsx(\"label\",{style:{fontWeight:\"bold\",display:\"block\",marginTop:0},children:level===\"college\"?\"College Course / Topic\":level===\"high\"?\"High School Math / Topic\":level===\"middle\"?\"Middle School Math / Topic\":\"Elementary Math / Topic\"}),/*#__PURE__*/_jsxs(\"select\",{value:topic,onChange:e=>setTopic(e.target.value),style:{padding:\"8px\",width:\"100%\",marginTop:\"8px\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"-- Select a math topic --\"}),Object.entries(topicLabels).map(([value,label])=>/*#__PURE__*/_jsx(\"option\",{value:value,children:label},value))]}),/*#__PURE__*/_jsx(\"label\",{style:{fontWeight:\"bold\",display:\"block\",marginTop:\"16px\"},children:\"Unit\"}),/*#__PURE__*/_jsx(\"select\",{value:unit,onChange:e=>setUnit(Number(e.target.value)),style:{padding:\"8px\",width:\"100%\",marginTop:\"8px\",borderRadius:\"8px\",border:\"1px solid #ccc\",fontSize:\"15px\"},children:[...Array(10)].map((_,i)=>/*#__PURE__*/_jsxs(\"option\",{value:i+1,children:[\"Unit \",i+1]},i+1))}),/*#__PURE__*/_jsx(\"label\",{style:{fontWeight:\"bold\",display:\"block\",marginTop:\"12px\"},children:\"Lesson\"}),/*#__PURE__*/_jsx(\"select\",{value:lesson,onChange:e=>setLesson(Number(e.target.value)),style:{padding:\"8px\",width:\"100%\",marginTop:\"8px\",borderRadius:\"8px\",border:\"1px solid #ccc\",fontSize:\"15px\"},children:[1,2,3,4,5].map(n=>/*#__PURE__*/_jsxs(\"option\",{value:n,children:[\"Lesson \",n]},n))}),topic&&/*#__PURE__*/_jsxs(\"div\",{style:{marginTop:\"12px\",padding:\"10px 12px\",borderRadius:\"8px\",border:\"1px solid \"+\"#e0e0e0\",backgroundColor:\"#fafafa\",fontSize:\"14px\",color:\"#444\"},children:[\"Selected: \",lessonPreview]}),/*#__PURE__*/_jsx(\"button\",{onClick:handleStart,style:{marginTop:\"16px\",padding:\"10px 20px\",background:\"#4a90e2\",color:\"#fff\",border:\"none\",borderRadius:\"8px\",fontWeight:\"bold\"},children:\"Start Learning\"})]}),openPanel===\"homework\"&&/*#__PURE__*/_jsxs(\"div\",{style:{background:\"#fff\",border:'1px solid \"#ddd',padding:16,borderRadius:8,marginTop:12},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:\"14px\",color:\"#444\",marginBottom:\"8px\"},children:\"Upload a photo (JPG/PNG/WEBP) or a one-page PDF/TXT (up to 5MB). I’ll guide you through the homework step-by-step.\"}),/*#__PURE__*/_jsx(\"label\",{style:{fontWeight:\"bold\",display:\"block\",marginTop:0},children:\"Topic/Course (optional)\"}),/*#__PURE__*/_jsxs(\"select\",{value:homeworkTopic,onChange:e=>setHomeworkTopic(e.target.value),style:{padding:\"8px\",width:\"100%\",marginTop:\"8px\"},children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"— None —\"}),Object.entries(topicLabels).map(([value,label])=>/*#__PURE__*/_jsx(\"option\",{value:value,children:label},value))]}),/*#__PURE__*/_jsx(\"input\",{type:\"file\",accept:\"image/*,.pdf,.txt\",onChange:async e=>{const file=e.target.files[0];if(!file)return;// Light, user-friendly client checks that match your backend policy:\nconst ext=(file.name.split(\".\").pop()||\"\").toLowerCase();const isImage=[\"jpg\",\"jpeg\",\"png\",\"webp\"].includes(ext);const isPdf=ext===\"pdf\";// PDFs: allow up to 5 MB (your backend enforces 5 MB per-type cap)\nif(isPdf&&file.size>5*1024*1024){alert(\"📄 PDF is too large. Max 5 MB. Try a photo instead.\");return;}// Images: no strict client cap (server auto-compresses), but warn on huge files\nif(isImage&&file.size>12*1024*1024){// helpful nudge for very large photos\nalert(\"🖼️ Photo is very large. If upload fails, try a new photo or reduce size.\");// continue anyway; backend will compress and global cap is 6 MB\n}setUploadedFileName(file.name);await startHomeworkHelp(file,language,customLang,homeworkTopic||\"\");},style:{marginTop:8,padding:\"8px 12px\",borderRadius:\"8px\",border:\"1px solid #ccc\",fontSize:\"15px\",width:\"100%\"}}),/*#__PURE__*/_jsx(\"div\",{style:{marginTop:\"16px\",fontSize:\"14px\",fontStyle:\"italic\",color:\"#444\",backgroundColor:\"#f5f5f5\",padding:\"12px\",borderRadius:\"8px\",whiteSpace:\"pre-wrap\"},children:uploadedFileName?`📄 File uploaded: ${uploadedFileName}`:\"No file uploaded yet.\"})]})]});}const panelButtonStyle={width:\"100%\",textAlign:\"left\",fontWeight:\"bold\",padding:\"12px\",borderRadius:\"8px\",border:\"1px solid #ccc\",backgroundColor:\"#eef2f6\",cursor:\"pointer\",marginBottom:\"4px\"};const panelContentStyle={backgroundColor:\"#fff\",border:\"1px solid #ddd\",padding:\"16px\",borderRadius:\"8px\",marginTop:\"8px\"};// the following section tells Framer that level is a prop that can be changed from the design panel\n// Enables the dropdown in the right sidebar when you drag the component into a Framer page\n// Lets you easily set \"elementary\", \"middle\", etc. per page\naddPropertyControls(OwnableMathCompanion,{level:{type:ControlType.Enum,title:\"Level\",options:[\"elementary\",\"middle\",\"high\",\"college\"],optionTitles:[\"Elementary\",\"Middle\",\"High\",\"College\"],defaultValue:\"college\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OwnableMathCompanion\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./OwnableMathCompanion.map"],"mappings":"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"}