- Dashboard auto-refresh rendered the full layout into its own
refresh container, producing a duplicate sidebar every 60s; it now
renders only the body partial.
- 'Run Now' runs synchronously with a bounded timeout and returns
refreshed results plus success/error feedback, instead of
firing-and-forgetting with no signal.
- Price-history chart data moved from a <script> block to a data-
attribute: templ does not interpolate expressions inside <script>
element content, so the JSON was emitted literally.
- The htmx indicator spinner was permanently visible due to CSS
source order; the indicator rules now follow .v-spinner.
Also refreshes README for this session's changes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Tailwind is now compiled from static/css/input.css into a committed static/css/tailwind.css by the standalone CLI, fetched on demand into bin/ (gitignored) so no Node toolchain is required. layout.templ loads the local stylesheet instead of cdn.tailwindcss.com. Adds a Makefile with generate/css/build/run/test/clean targets.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>