# scripts/make_title_globe.R
library(ggplot2)
library(sf)
library(dplyr)
library(maps)

# 1. Setup Data
states_sf <- sf::st_as_sf(maps::map("state", plot = FALSE, fill = TRUE))

# 2. Colors
wa_color <- "#D95F0E" 
ga_color <- "#00A88F" 
bg_fill  <- "#f0f0f0"
borders  <- "#ffffff"
ocean_col <- "#ffffff"

# 3. Create the Plot
p <- ggplot() +
  # Graticules
  geom_sf(data = sf::st_graticule(lat = seq(-90, 90, 10), lon = seq(-180, 180, 10)),
          color = "#e0e0e0", linewidth = 0.1) +
  
  # Background States
  geom_sf(data = states_sf, 
          fill = bg_fill, color = borders, linewidth = 0.3) +
  
  # Highlights
  geom_sf(data = states_sf %>% filter(ID == "washington"), 
          fill = wa_color, color = borders, linewidth = 0.3) +
  geom_sf(data = states_sf %>% filter(ID == "georgia"), 
          fill = ga_color, color = borders, linewidth = 0.3) +
  
  # --- THE FIX ---
  # -102 was Center. -72 was too far Left.
  # -87 is the magic number (15 degrees East).
  coord_sf(crs = "+proj=ortho +lat_0=40 +lon_0=-102") +
  
  # Theme
  theme_void() +
  theme(
    panel.background = element_rect(fill = ocean_col, color = NA),
    plot.background = element_rect(fill = ocean_col, color = NA)
  )

# 4. Save
if(!dir.exists("assets")) dir.create("assets")
ggsave("assets/study_sites_globe.png", plot = p, width = 10, height = 10, dpi = 300)

message("Success! Globe rotated 15 degrees.")