8cfc9e4e27
Ctrl+Shift+C (and window.__creditsDemo()) steps the full credit-notice lifecycle (usage 50->75->90, grant-spent, depleted/restored) through the real gateway event fan-out via a new emitLocalGatewayEvent, so the toast/native/ billing-invalidation paths are testable without hitting real usage bands. Installed only under import.meta.env.DEV, so it's tree-shaken from production.