// Course catalog data — synthesized to be representative of a 369-course UC A-G catalog
// Areas: A History/Social, B English, C Math, D Lab Science, E Lang Other than Eng, F Visual/Perf Arts, G College-Prep
// Types: Regular, Honors, AP, Dual Enrollment

const AREAS = {
  A: { name: 'History / Social Science', color: '#FFB48A' },
  B: { name: 'English', color: '#A78BFA' },
  C: { name: 'Math', color: '#7DFFC4' },
  D: { name: 'Lab Science', color: '#60E1E0' },
  E: { name: 'Language Other than English', color: '#F472B6' },
  F: { name: 'Visual & Performing Arts', color: '#FCD34D' },
  G: { name: 'College-Prep Elective', color: '#94A3B8' },
};

// Featured (marquee) AI courses
const FEATURED = [
  { name: 'Generative AI Foundations', area: 'G', level: 'Honors', desc: 'Diffusion, transformers, and Gaussian splatting from first principles. Build a model, train it on your own data, present in-world.', grades: '10-12', dur: 'Year', world: 'Future City' },
  { name: 'AI Design & Development', area: 'G', level: 'Honors', desc: 'Ship a working AI product in twelve weeks. Cohorts pitch to Stanford-affiliated mentors at the end of term.', grades: '11-12', dur: 'Year', world: 'Future City' },
  { name: 'AI & Machine Learning', area: 'C', level: 'AP / Honors', desc: 'College-level ML, taught inside the Mathematical Universe. Vectors are roads. Loss landscapes are landscapes.', grades: '11-12', dur: 'Year', world: 'Math. Universe' },
];

// Build a catalog. We list ~60 representative courses across areas — enough to show filtering.
const CATALOG = [
  // A — History
  { name: 'World History', area: 'A', level: 'Regular', grades: '10', dur: 'Year', world: 'Ancient Civ.', desc: 'Survey from antiquity to modernity. Half the units are lived from inside the period.' },
  { name: 'World History, Honors', area: 'A', level: 'Honors', grades: '10', dur: 'Year', world: 'Ancient Civ.', desc: 'Same survey, denser primary-source work and a research paper in term 3.' },
  { name: 'AP World History', area: 'A', level: 'AP', grades: '10-11', dur: 'Year', world: 'Ancient Civ.', desc: 'College Board-aligned. Six historical thinking skills, four historical periods.' },
  { name: 'U.S. History', area: 'A', level: 'Regular', grades: '11', dur: 'Year', world: null, desc: 'Pre-Columbian to present. Field worlds: Independence Hall, Selma, Apollo.' },
  { name: 'AP U.S. History', area: 'A', level: 'AP', grades: '11', dur: 'Year', world: null, desc: 'College Board-aligned. Heavy reading. Document-based questions weekly.' },
  { name: 'Government & Civics', area: 'A', level: 'Regular', grades: '12', dur: 'Semester', world: null, desc: 'Federal, state, local. Required for graduation.' },
  { name: 'Economics', area: 'A', level: 'Regular', grades: '12', dur: 'Semester', world: null, desc: 'Micro and macro. Required for graduation.' },
  { name: 'AP Macroeconomics', area: 'A', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Models, graphs, and policy.' },
  { name: 'Ancient World Studies', area: 'A', level: 'Honors', grades: '9-10', dur: 'Year', world: 'Ancient Civ.', desc: 'Bronze Age to Late Antiquity. Half the year is lived inside the period.' },
  { name: 'Cold War, A History', area: 'A', level: 'Regular', grades: '11-12', dur: 'Semester', world: null, desc: 'From Yalta to Berlin Wall. Primary documents, declassified.' },
  { name: 'Comparative Government', area: 'A', level: 'AP', grades: '12', dur: 'Year', world: null, desc: 'Six country case studies. UK, Russia, China, Iran, Mexico, Nigeria.' },

  // B — English
  { name: 'English 9', area: 'B', level: 'Regular', grades: '9', dur: 'Year', world: 'Story Library', desc: 'Foundations. Five novels, weekly writing, peer workshops.' },
  { name: 'English 9, Honors', area: 'B', level: 'Honors', grades: '9', dur: 'Year', world: 'Story Library', desc: 'Same canon, two added titles, a research-paper option in term 3.' },
  { name: 'English 10', area: 'B', level: 'Regular', grades: '10', dur: 'Year', world: 'Story Library', desc: 'World literature. Step inside each setting in the Library.' },
  { name: 'English 10, Honors', area: 'B', level: 'Honors', grades: '10', dur: 'Year', world: 'Story Library', desc: 'World lit, plus a comparative criticism unit.' },
  { name: 'AP English Language', area: 'B', level: 'AP', grades: '11', dur: 'Year', world: null, desc: 'College Board-aligned. Rhetoric, argument, synthesis essays.' },
  { name: 'AP English Literature', area: 'B', level: 'AP', grades: '12', dur: 'Year', world: 'Story Library', desc: 'College Board-aligned. Six novels, three plays, a poetry portfolio.' },
  { name: 'Creative Writing', area: 'B', level: 'Regular', grades: '10-12', dur: 'Semester', world: 'Story Library', desc: 'Workshop format. Short fiction, poetry, one CNF piece.' },
  { name: 'Speech & Debate', area: 'B', level: 'Honors', grades: '10-12', dur: 'Year', world: null, desc: 'Lincoln-Douglas and Public Forum. Tournament-track for advanced cohort.' },
  { name: 'Journalism', area: 'B', level: 'Regular', grades: '10-12', dur: 'Year', world: null, desc: 'Produce the school paper. Reporting, editing, layout.' },

  // C — Math
  { name: 'Algebra I', area: 'C', level: 'Regular', grades: '8-9', dur: 'Year', world: 'Math. Universe', desc: 'Linear, quadratic, exponential. Walk a function as a road.' },
  { name: 'Geometry', area: 'C', level: 'Regular', grades: '9-10', dur: 'Year', world: 'Math. Universe', desc: 'Euclidean and a glimpse of hyperbolic. Proofs as paths.' },
  { name: 'Geometry, Honors', area: 'C', level: 'Honors', grades: '9-10', dur: 'Year', world: 'Math. Universe', desc: 'Adds projective and transformation geometry units.' },
  { name: 'Algebra II', area: 'C', level: 'Regular', grades: '10-11', dur: 'Year', world: 'Math. Universe', desc: 'Polynomial, rational, exponential, logarithmic.' },
  { name: 'Algebra II, Honors', area: 'C', level: 'Honors', grades: '10-11', dur: 'Year', world: 'Math. Universe', desc: 'Adds matrices and an intro to complex numbers.' },
  { name: 'Precalculus', area: 'C', level: 'Regular', grades: '11', dur: 'Year', world: 'Math. Universe', desc: 'Trig, series, conics. Bridge into calculus.' },
  { name: 'AP Calculus AB', area: 'C', level: 'AP', grades: '11-12', dur: 'Year', world: 'Math. Universe', desc: 'College Board-aligned. Single-variable. Calculus is a landscape here.' },
  { name: 'AP Calculus BC', area: 'C', level: 'AP', grades: '12', dur: 'Year', world: 'Math. Universe', desc: 'College Board-aligned. Series, polar, parametric.' },
  { name: 'AP Statistics', area: 'C', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Probability, inference, experimental design.' },
  { name: 'Multivariable Calculus', area: 'C', level: 'Dual Enrollment', grades: '12', dur: 'Year', world: 'Math. Universe', desc: 'CVC dual enrollment. Foothill College. Five units transferable.' },
  { name: 'Linear Algebra', area: 'C', level: 'Dual Enrollment', grades: '12', dur: 'Semester', world: 'Math. Universe', desc: 'CVC dual enrollment. Matrices as buildings, vectors as roads.' },

  // D — Lab Science
  { name: 'Biology', area: 'D', level: 'Regular', grades: '9-10', dur: 'Year', world: 'Inside the Cell', desc: 'Cell, molecule, organism, ecosystem. Walk a protein from ribosome to membrane.' },
  { name: 'Biology, Honors', area: 'D', level: 'Honors', grades: '9-10', dur: 'Year', world: 'Inside the Cell', desc: 'Adds molecular genetics depth and an inquiry project.' },
  { name: 'AP Biology', area: 'D', level: 'AP', grades: '11-12', dur: 'Year', world: 'Inside the Cell', desc: 'College Board-aligned. Eight big ideas. Twelve lab investigations.' },
  { name: 'Chemistry', area: 'D', level: 'Regular', grades: '10-11', dur: 'Year', world: null, desc: 'Atoms, bonding, reactions, stoichiometry. Wet labs at home kits.' },
  { name: 'Chemistry, Honors', area: 'D', level: 'Honors', grades: '10-11', dur: 'Year', world: null, desc: 'Adds organic and a thermodynamics unit.' },
  { name: 'AP Chemistry', area: 'D', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Atomic, molecular, bonding, kinetics, equilibrium.' },
  { name: 'Physics', area: 'D', level: 'Regular', grades: '11-12', dur: 'Year', world: 'Deep Space', desc: 'Conceptual and algebra-based. Experiments in Deep Space when gravity helps.' },
  { name: 'AP Physics 1', area: 'D', level: 'AP', grades: '11-12', dur: 'Year', world: 'Deep Space', desc: 'College Board-aligned. Algebra-based mechanics.' },
  { name: 'AP Physics C: Mechanics', area: 'D', level: 'AP', grades: '12', dur: 'Year', world: 'Deep Space', desc: 'College Board-aligned. Calculus-based. Pair with AP Calc BC.' },
  { name: 'Earth & Space Science', area: 'D', level: 'Regular', grades: '9', dur: 'Year', world: 'Deep Space', desc: 'Geology, atmosphere, oceanography, astronomy. Stand on Olympus Mons.' },
  { name: 'Environmental Science', area: 'D', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Ecosystems, populations, sustainability.' },

  // E — Language
  { name: 'Spanish I', area: 'E', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Novice. Cohorts of 8. Conversational from week 1.' },
  { name: 'Spanish II', area: 'E', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Intermediate. Read short fiction in Spanish.' },
  { name: 'Spanish III, Honors', area: 'E', level: 'Honors', grades: '10-12', dur: 'Year', world: null, desc: 'Cultural deep-dive: Mexico, Spain, Argentina, Colombia.' },
  { name: 'AP Spanish Language', area: 'E', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Conversation, presentational writing.' },
  { name: 'Mandarin I', area: 'E', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Novice. Hanyu Pinyin foundations. Daily speech practice.' },
  { name: 'Mandarin II', area: 'E', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Intermediate. Reading and writing 600+ characters.' },
  { name: 'AP Chinese Language', area: 'E', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Cultural and linguistic competence.' },
  { name: 'French I', area: 'E', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Novice. Pronunciation, conversation, reading.' },
  { name: 'AP French Language', area: 'E', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Six themes, all four skills.' },
  { name: 'Latin I', area: 'E', level: 'Honors', grades: '9-12', dur: 'Year', world: 'Ancient Civ.', desc: 'Read Caesar in his Forum. Foundations of Latin grammar.' },
  { name: 'Japanese I', area: 'E', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Novice. Hiragana, katakana, ~200 kanji.' },

  // F — Arts
  { name: 'Visual Art Foundations', area: 'F', level: 'Regular', grades: '9-12', dur: 'Year', world: null, desc: 'Drawing, painting, basic design. Portfolio at year-end.' },
  { name: 'Digital Photography', area: 'F', level: 'Regular', grades: '10-12', dur: 'Semester', world: null, desc: 'Composition, light, post. Submit weekly.' },
  { name: 'Studio Art, Honors', area: 'F', level: 'Honors', grades: '11-12', dur: 'Year', world: null, desc: 'Portfolio-driven. Critique-heavy. AP-readable portfolio at end of year.' },
  { name: 'AP Studio Art: 2D', area: 'F', level: 'AP', grades: '12', dur: 'Year', world: null, desc: 'College Board-aligned. Sustained investigation + selected works.' },
  { name: 'Music Theory', area: 'F', level: 'Honors', grades: '10-12', dur: 'Year', world: null, desc: 'Harmony, ear-training, composition.' },
  { name: 'AP Music Theory', area: 'F', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Aural and written.' },
  { name: 'Film & Video', area: 'F', level: 'Regular', grades: '10-12', dur: 'Semester', world: null, desc: 'Short-form storytelling. Ship a 5-minute film.' },
  { name: 'Theater', area: 'F', level: 'Regular', grades: '9-12', dur: 'Year', world: 'Story Library', desc: 'Acting, scene work, monologue showcase.' },

  // G — College-Prep Electives
  { name: 'AP Computer Science A', area: 'G', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Java, OOP, data structures.' },
  { name: 'AP Computer Science Principles', area: 'G', level: 'AP', grades: '10-12', dur: 'Year', world: null, desc: 'College Board-aligned. Broad CS literacy + a Create task.' },
  { name: 'Web Development', area: 'G', level: 'Regular', grades: '9-12', dur: 'Semester', world: null, desc: 'HTML, CSS, JavaScript. Ship a site that loads on a phone.' },
  { name: 'Data Science', area: 'G', level: 'Honors', grades: '11-12', dur: 'Year', world: null, desc: 'Python, pandas, visualization, intro stats.' },
  { name: 'Psychology', area: 'G', level: 'Regular', grades: '11-12', dur: 'Semester', world: null, desc: 'Survey of the field. Required-elective.' },
  { name: 'AP Psychology', area: 'G', level: 'AP', grades: '11-12', dur: 'Year', world: null, desc: 'College Board-aligned. Fourteen content units.' },
  { name: 'Robotics & Engineering', area: 'G', level: 'Honors', grades: '10-12', dur: 'Year', world: 'Future City', desc: 'Mechatronics fundamentals. Test in the Future City sandbox.' },
  { name: 'Entrepreneurship', area: 'G', level: 'Regular', grades: '11-12', dur: 'Semester', world: 'Future City', desc: 'Ship a venture. Pitch at end of term. Mentors from Stanford GSB.' },
  { name: 'Philosophy', area: 'G', level: 'Honors', grades: '11-12', dur: 'Semester', world: null, desc: 'Plato to Parfit. Discussion-driven.' },
];

Object.assign(window, { AREAS, FEATURED, CATALOG });
