bf8de6a09b
AiPinnedForecastView still owns the city-card data assembly, but its header, decision band, and AI evidence rendering now live in focused presentational sections. This keeps the next decision-state refactor smaller while preserving the current UI and interaction behavior. Constraint: Keep weather, market, and AI evidence calculations unchanged in this pass. Rejected: Move business-state construction at the same time | mixing behavior extraction with view extraction would make regressions harder to isolate. Confidence: high Scope-risk: moderate Reversibility: clean Tested: npm run build Not-tested: Browser manual regression on mobile expand/collapse states.