mapdash/frontend
aaverbitskiy 17c54db501 design: adopt Open Props tokens, indigo accent + IBM Plex Sans, collision colour
- Add Open Props as the token foundation (@import "open-props/style"). Our
  semantic tokens (--bg/--surface/--border/--text/--shadow-*/--transition) are
  now backed by its gray ramp, shadows and easing; the rest of the CSS is
  untouched since it already references var(--…).
- Accent → indigo #4f46e5 (--accent + derived rings / month-hover), and the
  timeline bar default colours (appearance.ts) move to the same indigo so the
  content and UI share one palette.
- Font → IBM Plex Sans, self-hosted via @fontsource (latin + cyrillic, weights
  400/500/600/700) so there is no runtime Google Fonts dependency. Backed into
  --font-sans (overrides Open Props' :where() default). Tabular figures on the
  counters and map legend.
- Collision default colour → warm amber-orange #e8590c: distinct from the indigo
  bars and from the green/red map status, reads as a conflict warning.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 21:15:50 +00:00
..
src design: adopt Open Props tokens, indigo accent + IBM Plex Sans, collision colour 2026-08-06 21:15:50 +00:00
index.html map: donut clusters, occupancy legend/search/no-coords, styled balloon; header polish 2026-08-06 09:39:11 +00:00
package-lock.json design: adopt Open Props tokens, indigo accent + IBM Plex Sans, collision colour 2026-08-06 21:15:50 +00:00
package.json design: adopt Open Props tokens, indigo accent + IBM Plex Sans, collision colour 2026-08-06 21:15:50 +00:00
tsconfig.json frontend: Vite+TypeScript scaffold (types, api) — not wired to static yet 2026-07-17 15:41:13 +00:00
vite.config.ts frontend: full modular migration (collisions/dropdown/timeline/styles), staged at /next/, prod unchanged 2026-07-17 16:17:00 +00:00