CHANGELOG
- Contract override — +/− buttons to manually set contract count, updates actual risk live
- MANUAL indicator — blinking label in the result header when override is active
- Double-tap to reset — double-tap the contracts display to return to auto-calculated value
- Nearest contract — switched from floor() to round() for closest-to-target calculation
- Levels screen sync — wheel animates to reflect contract override
- VOID palette only — removed palette switcher, hardcoded VOID as the single theme
- iOS persistence fix — replaced shared_preferences with dart:io JSON storage
- Windows fix — corrected ICO format for RC compiler compatibility
- UI polish — adaptive Android icon, row height adjustments, nav CSS cleanup
- Levels screen — uniform hero numbers, consistent font sizes, progressive row fade
- App icon — updated Q logo across all platforms
- Desktop fixes — balance/risk comma formatting, centered README header
- Lightbox — click screenshots to expand with left/right navigation
- Dark/light website — theme toggle with theme-aware screenshots
- Scroll animations — fade-in on scroll for screenshot and feature cards
- Color palettes — VOID, MATRIX, EMBER, ARCTIC themes
- Smooth theme transition — animated palette switching
- Stop loss reset fix — SL no longer clears on tab navigation
- Odometer display — slot-machine style contracts number with direction animation
- First release — Calculator, Levels, Markets, and Settings screens
- Multi-platform — macOS, Windows, iOS, Android
- Levels wheel — scrollable risk ladder at fixed stop loss
- Instrument favorites — reorderable watchlist with quick instrument switching
- Risk modes — fixed dollar or percentage of account balance