Replace toy-like sliders (rent/m², exit multiple) with more intuitive
inputs (build cost per court, equity %). Replace outputs (annual revenue,
equity IRR) with payback period and cash-on-cash return. Show model
assumptions inline. Remove "free" messaging from all CTAs and meta tags,
focus on the plan→suppliers→financing value chain instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The variable-based overrides (--pico-h1-color, --pico-color) weren't
reliably winning against Pico's multi-layer cascade of theme selectors,
prefers-color-scheme media queries, and variable indirection. Headings
were rendering near-white (#f0f1f3) on dark-OS systems despite
data-theme="light". Using !important on color is the pragmatic fix.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The heading color override (bare h1 selector, specificity 0,0,1) was
losing to Pico's theme-scoped heading rules ([data-theme=light] h1,
specificity 0,1,1). On systems with prefers-color-scheme: dark, Pico's
dark heading colors (#f0f1f3 — near white) leaked through, making
headings invisible on the light background.
Fix: scope heading overrides under [data-theme="light"] to match Pico's
specificity. Also bump nav logo from 24px to 32px, footer to 24px.
Visual tests now run with color_scheme="dark" to catch this class of bug.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Playwright visual tests need browser binaries (playwright install
chromium) which CI doesn't have. Mark them with pytest.mark.visual
and add addopts = "-m 'not visual'" so they're skipped by default.
Run locally with: uv run pytest -m visual tests/test_visual.py -v
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Trim logo background to transparent, use inline style height to
override Pico's img { height: auto } — nav 24px, footer 20px
- Fix heading colors by setting --pico-h1-color through --pico-h6-color
variables and --pico-color override on heading elements
- Add white-space:nowrap on nav CTA button to prevent wrapping
- Add Playwright visual test suite (11 tests): screenshots of landing,
login, signup, mobile; assertions for light background, dark headings,
logo presence, nav layout, no dark remnants
- Screenshots saved to tests/screenshots/ for manual review
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace dark navy backgrounds with soft white, update all CSS variables,
Chart.js colors, and inline styles across the app. Add logo to nav and
footer. Landing page teaser calculator, planner, and all inherited pages
now use the light theme with deep navy headings and electric blue accents.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
docker compose --profile stop also stops non-profiled services (router,
litestream), causing 502. Now explicitly names only slot services to stop.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitLab CI runs pytest + ruff on master/MRs, then auto-deploys via SSH.
Blue-green strategy using Docker Compose profiles with an nginx router
on port 5000 for zero-downtime switching between slots.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move planner financial model from client-side JS to server-side Python
(calculator.py + /planner/calculate endpoint). Add full test coverage:
227 calculator tests and 371 billing tests covering SQL helpers,
webhooks, routes, and subscription gating with Hypothesis fuzzing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Switch from Outfit/red accent to Inter/Electric Blue (Court Tech Proposal 1).
Updates Pico CSS overrides, planner CSS variables, Chart.js colors, and
Google Fonts. Deep Navy #0F172A backgrounds, Electric Blue #3B82F6 accent,
Vibrant Green #10B981 success, Soft White #F8FAFC headings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update from materia_saas_boilerplate template with payment_provider=lemonsqueezy.
Adds full LemonSqueezy billing routes (checkout, webhooks, subscription management),
HMAC webhook verification, subscriptions/API keys schema, and removes Caddy in favor
of Nginx Proxy Manager.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>