# ── Node / npm ───────────────────────────────────────────────
node_modules/
npm-debug.log*
*.log

# ── Secrets ──────────────────────────────────────────────────
.env
.env.local
.env.*.local

# ── Runtime state (SQLite + backups) ─────────────────────────
data/*.sqlite
data/*.sqlite-journal
data/*.sqlite-shm
data/*.sqlite-wal
data/backup-*.sqlite

# ── OS junk ──────────────────────────────────────────────────
.DS_Store
Thumbs.db
desktop.ini

# ── Editor ───────────────────────────────────────────────────
.vscode/
.idea/
*.swp
*.swo

# ── Build / temp ─────────────────────────────────────────────
*.tmp
.cache/

# ── NOTE ─────────────────────────────────────────────────────
# Intentionally committed (not gitignored):
#   protected/vendor/        d3 + topojson + countries-110m.json
#   protected/fenja/fonts/   Manrope + Newsreader TTFs
# Keeping these in git means: clone → npm install → it just works.
