diff --git a/.Jules/palette.md b/.Jules/palette.md
index a237026..1bcb6b1 100644
--- a/.Jules/palette.md
+++ b/.Jules/palette.md
@@ -3,3 +3,7 @@
## 2025-05-20 - [Accessible Streamlit Inputs]
**Learning:** Streamlit `text_input` fields with empty strings for labels (`""`) are inaccessible to screen readers as they lack a programmatic label.
**Action:** Use `label_visibility="collapsed"` with a descriptive label string instead of an empty label to maintain visual design while ensuring accessibility.
+
+## 2025-05-21 - [Accessible HTML Images]
+**Learning:** Images injected via raw HTML (`st.markdown`) often lack `alt` attributes, defaulting to inaccessibility.
+**Action:** Always include `alt` attributes in `` tags within HTML blocks. Use `alt=""` for decorative images and descriptive text for informative ones.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a36e3bb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+__pycache__/
+*.pyc
+*.log
+.venv/
+streamlit.log
diff --git a/__pycache__/animated_earth.cpython-312.pyc b/__pycache__/animated_earth.cpython-312.pyc
new file mode 100644
index 0000000..def3a8f
Binary files /dev/null and b/__pycache__/animated_earth.cpython-312.pyc differ
diff --git a/__pycache__/climate_algorithms.cpython-312.pyc b/__pycache__/climate_algorithms.cpython-312.pyc
new file mode 100644
index 0000000..88fd39e
Binary files /dev/null and b/__pycache__/climate_algorithms.cpython-312.pyc differ
diff --git a/__pycache__/climate_resilience.cpython-312.pyc b/__pycache__/climate_resilience.cpython-312.pyc
new file mode 100644
index 0000000..3611d21
Binary files /dev/null and b/__pycache__/climate_resilience.cpython-312.pyc differ
diff --git a/__pycache__/embedded_earth_nullschool.cpython-312.pyc b/__pycache__/embedded_earth_nullschool.cpython-312.pyc
new file mode 100644
index 0000000..52e3208
Binary files /dev/null and b/__pycache__/embedded_earth_nullschool.cpython-312.pyc differ
diff --git a/__pycache__/embedded_felt_map.cpython-312.pyc b/__pycache__/embedded_felt_map.cpython-312.pyc
new file mode 100644
index 0000000..95ebc0d
Binary files /dev/null and b/__pycache__/embedded_felt_map.cpython-312.pyc differ
diff --git a/__pycache__/felt_inspired_maps.cpython-312.pyc b/__pycache__/felt_inspired_maps.cpython-312.pyc
new file mode 100644
index 0000000..18bfed2
Binary files /dev/null and b/__pycache__/felt_inspired_maps.cpython-312.pyc differ
diff --git a/__pycache__/felt_map_demo.cpython-312.pyc b/__pycache__/felt_map_demo.cpython-312.pyc
new file mode 100644
index 0000000..afe3e89
Binary files /dev/null and b/__pycache__/felt_map_demo.cpython-312.pyc differ
diff --git a/__pycache__/globe_map.cpython-312.pyc b/__pycache__/globe_map.cpython-312.pyc
new file mode 100644
index 0000000..b0b8be9
Binary files /dev/null and b/__pycache__/globe_map.cpython-312.pyc differ
diff --git a/__pycache__/interactive_contour_map.cpython-312.pyc b/__pycache__/interactive_contour_map.cpython-312.pyc
new file mode 100644
index 0000000..5e7bd6a
Binary files /dev/null and b/__pycache__/interactive_contour_map.cpython-312.pyc differ
diff --git a/__pycache__/load_docs.cpython-312.pyc b/__pycache__/load_docs.cpython-312.pyc
new file mode 100644
index 0000000..1cb93fa
Binary files /dev/null and b/__pycache__/load_docs.cpython-312.pyc differ
diff --git a/__pycache__/nasa_data.cpython-312.pyc b/__pycache__/nasa_data.cpython-312.pyc
index 5bf9b2e..fbb9407 100644
Binary files a/__pycache__/nasa_data.cpython-312.pyc and b/__pycache__/nasa_data.cpython-312.pyc differ
diff --git a/__pycache__/nasa_ee_elevation.cpython-312.pyc b/__pycache__/nasa_ee_elevation.cpython-312.pyc
new file mode 100644
index 0000000..3f8edd1
Binary files /dev/null and b/__pycache__/nasa_ee_elevation.cpython-312.pyc differ
diff --git a/__pycache__/noaa_nws.cpython-312.pyc b/__pycache__/noaa_nws.cpython-312.pyc
new file mode 100644
index 0000000..e1a56f9
Binary files /dev/null and b/__pycache__/noaa_nws.cpython-312.pyc differ
diff --git a/__pycache__/openai_helper.cpython-312.pyc b/__pycache__/openai_helper.cpython-312.pyc
new file mode 100644
index 0000000..849f30e
Binary files /dev/null and b/__pycache__/openai_helper.cpython-312.pyc differ
diff --git a/__pycache__/satellite_homepage.cpython-312.pyc b/__pycache__/satellite_homepage.cpython-312.pyc
new file mode 100644
index 0000000..3de9425
Binary files /dev/null and b/__pycache__/satellite_homepage.cpython-312.pyc differ
diff --git a/__pycache__/simple_artistic_map_demo.cpython-312.pyc b/__pycache__/simple_artistic_map_demo.cpython-312.pyc
new file mode 100644
index 0000000..58cee08
Binary files /dev/null and b/__pycache__/simple_artistic_map_demo.cpython-312.pyc differ
diff --git a/__pycache__/simple_artistic_maps.cpython-312.pyc b/__pycache__/simple_artistic_maps.cpython-312.pyc
new file mode 100644
index 0000000..5398059
Binary files /dev/null and b/__pycache__/simple_artistic_maps.cpython-312.pyc differ
diff --git a/__pycache__/srtm_elevation.cpython-312.pyc b/__pycache__/srtm_elevation.cpython-312.pyc
new file mode 100644
index 0000000..0b017b9
Binary files /dev/null and b/__pycache__/srtm_elevation.cpython-312.pyc differ
diff --git a/__pycache__/test_api_status.cpython-312.pyc b/__pycache__/test_api_status.cpython-312.pyc
new file mode 100644
index 0000000..a11c27a
Binary files /dev/null and b/__pycache__/test_api_status.cpython-312.pyc differ
diff --git a/app.py b/app.py
index 253b607..d1c5fb9 100644
--- a/app.py
+++ b/app.py
@@ -287,7 +287,7 @@
# Add topography decoration
st.markdown("""