diff --git a/html/live/index.html b/html/live/index.html
index 83d9e74..efe93f3 100644
--- a/html/live/index.html
+++ b/html/live/index.html
@@ -205,7 +205,7 @@ let activeMember = 'all';
// ══════════════════════════════════════════
// DISPLAY MAP — visitor-friendly
// ══════════════════════════════════════════
-const DISPLAY={229:{p:'quikcue',t:'Live build log polish — team filtering, project discovery, and onboarding',s:'Team member filter bar, capitalised names, project auto-detection, and system prompt guidance for consistent entries.'},228:{p:'quikcue',t:'Team activity tracking on the live build log',s:'Each team member\'s work is now individually tracked and filterable. Auto-detects who you are from your machine.'},100:{p:'quikcue',t:'Live build log — UI overhaul and visitor-friendly entries'},99:{p:'quikcue',t:'Build log page added to quikcue.com',s:'Full shipping history with filters, stats, and incident log — all pulled live.'},98:{p:'charityright',t:'Automated milestone emails for 40,000+ supporters',s:'Recognises donation milestones (first gift through to £1,000) and sends personalised emails via Mailchimp — fully automated.'},97:{p:'quikcue',t:'QuikCue site deployed to production pipeline',s:'Source code version-controlled, automatic SSL across 3 domains.'},96:{p:'quikcue',t:'QuikCue company homepage launched',s:'Full company site with live engineering feed, client showcase, and dark premium design.'},95:{p:'pnpl',t:'Dashboard redesign — header, sidebar, and onboarding',s:'New layout with contextual upsell prompts and a lead capture flow.'},94:{p:'pnpl',t:'Embeddable mini widget for charity websites',s:'Compact 160px widget that expands on click — charities embed on any page.'},93:{p:'pnpl',t:'WhatsApp notification redesign + quick-add appeal picker'},92:{p:'pnpl',t:'Conditional and match funding pledges',s:'Supporters can pledge conditionally or match others — tracked across the entire product.'},91:{p:'charityright',t:'Seasonal giving data audit and dashboard overhaul',s:'Audited all giving data. Built seasonal view with Ramadan 2026 campaign performance.'},90:{p:'pnpl',t:'Complete redesign of fundraiser link creation',s:'3-step wizard: choose fundraiser → payment method → name your link.'},89:{p:'infra',t:'Git organisation cleanup across platforms'},88:{p:'pnpl',t:'Full-width landing page design across all dashboard pages'},87:{p:'charityright',t:'Seasonal giving dashboard with campaign analytics',s:'Per-campaign analytics, seasonal vs daily navigation, subscriber progress tracking.'},86:{p:'pnpl',t:'Education-first UX overhaul for automation and collection pages'},85:{p:'pnpl',t:'Every dashboard page redesigned as a landing page',s:'7 pages overhauled with brand photography and human language.'},84:{p:'charityright',t:'Full supporter care — refunds, cancellations, and edits',s:'Admins can refund, cancel, or edit any donation with Stripe sync.'},83:{p:'pnpl',t:'World-class WhatsApp message templates with A/B testing'},82:{p:'pnpl',t:'Universal payment call-to-action system',s:'Smart CTAs that adapt based on payment method.'},81:{p:'pnpl',t:'AI message generation with quality enforcement'},80:{p:'pnpl',t:'Brand photography integrated into the dashboard'},79:{p:'pnpl',t:'AI-powered message optimisation — fully automated',s:'One button starts AI optimisation. Generates challengers, tests, picks winners.'},78:{p:'pnpl',t:'Automation page rebuilt as a single conversation view',s:'Removed 15 UI panels. Now one WhatsApp conversation thread.'},77:{p:'pnpl',t:'Switched AI model — costs reduced to ~£0.08/1M messages'},76:{p:'pnpl',t:'AI provider switch to Gemini Flash (free tier)'},75:{p:'pnpl',t:'AI-native A/B testing — messages that improve themselves',s:'One-click AI challengers. Statistical winner detection. Continuous improvement.'},74:{p:'pnpl',t:'Message design studio with WhatsApp preview',s:'Phone mockup previews for WhatsApp, email, and SMS with A/B tracking.'},73:{p:'pnpl',t:'Multi-channel messaging engine — WhatsApp, SMS, email',s:'Waterfall delivery: WhatsApp → SMS → email. Channel status dashboard.'},72:{p:'pnpl',t:'Settings page redesigned as a guided checklist'},71:{p:'charityright',t:'Admin panel v4 — command centre redesign',s:'Sidebar reorganised. Every page uses tabs with live counts.'},70:{p:'pnpl',t:'Stripe integration — charities connect their own account',s:'Each charity pastes their Stripe key. Webhook auto-confirms payments.'},69:{p:'pnpl',t:'Removed 716 lines of dead payment code'},68:{p:'pnpl',t:'Settings page redesign with readiness tracking'},67:{p:'pnpl',t:'Team management with role-based access control'},66:{p:'pnpl',t:'Payment reconciliation embedded in the Money page'},65:{p:'pnpl',t:'Context-aware Money and Reports pages'},64:{p:'pnpl',t:'Fundraiser collection page — flattened, zero extra clicks'},63:{p:'charityright',t:'Admin panel v3 — persona-driven operational design',s:'Donor lookup in one search. Major donor identification. Payment investigation.'},62:{p:'charityright',t:'Admin panel v2 — AI-powered approval engine',s:'AI auto-approved 44% of stale reviews. Queue reduced from 151 to 84.'},61:{p:'pnpl',t:'Complete dashboard UX overhaul — welcome flow to sharing',s:'Signup to shareable link in 90 seconds.'},60:{p:'pnpl',t:'Smart timing, duplicate detection, and bank presets'},59:{p:'charityright',t:'Admin panel — full audit and major rebuild',s:'Dashboard widgets, global search, internal notes, sidebar navigation.'},58:{p:'pnpl',t:'36 product improvements deployed in one sprint'},57:{p:'pnpl',t:'Product gap analysis v2 — revised for WhatsApp-first reality'},56:{p:'pnpl',t:'Product gap analysis — landing pages vs actual product',s:'43 gaps identified. 28 hidden needs. 10 AI features specced.'},55:{p:'charityright',t:'Stacking card scroll effect on the marketing site'},53:{p:'charityright',t:'Persona section rebuilt with editorial photography grid'},52:{p:'charityright',t:'Fixed 7 conversion killers across in-app browsers',s:'Session handling, bot protection, 3D Secure, form UX — all fixed.'},51:{p:'charityright',t:'Hero image + full site image optimisation',s:'Images cut 85% (13.6MB → 2.1MB). 10x faster loads.'},50:{p:'charityright',t:'New cinematic hero section'},49:{p:'charityright',t:'Brand identity applied across every page'},48:{p:'charityright',t:'Complete brand identity system generated in 116 seconds',s:'1 brand doc + 32 visual assets via 8 parallel AI sessions.'},47:{p:'charityright',t:'AI-generated photography for all landing pages'},46:{p:'charityright',t:'All landing pages redesigned with sharp flat typography'},45:{p:'charityright',t:'4 persona landing pages + main page rewrite',s:'5 pages total — every section earns its place.'},44:{p:'charityright',t:'Bulletproof consent system — Gift Aid, email, WhatsApp',s:'HMRC-compliant declarations with immutable audit trail.'},43:{p:'pnpl',t:'Replaced internal abbreviations with full product name'},42:{p:'pnpl',t:'Simplified fund types + external payment tracking'},41:{p:'pnpl',t:'Terminology overhaul — clearer language throughout'},40:{p:'pnpl',t:'Zakat fund types and campaign fund allocation'},39:{p:'pnpl',t:'Fundraiser mode — role-aware onboarding',s:'2 user types, 5 platforms, dashboard never blocks access.'},38:{p:'pnpl',t:'Social login — Google, Apple, passwordless auth'},37:{p:'pnpl',t:'Onboarding cut from 8 screens to 2'},36:{p:'pnpl',t:'Demo login, admin view, and password recovery'},35:{p:'charityright',t:'Last 10 Nights campaign + Zakat toggle live'},31:{p:'pnpl',t:'Production launch — auth, multi-tenant, signup',s:'Auth + signup live. Dashboard protected. WhatsApp QR in settings.'},30:{p:'pnpl',t:'Landing page v2 with updated design language'},29:{p:'pnpl',t:'Automated reminder system + dashboard rebuild',s:'Reminder cron running every 15 minutes.'},28:{p:'pnpl',t:'Deferred payments and instalment plans',s:'A pledge is a promise to pay on a date. 2–12 month plans.'},27:{p:'pnpl',t:'Premium UI + AI messaging + WhatsApp integration',s:'Live at pledge.quikcue.com.'},26:{p:'charityright',t:'Match funding donation widget for Last 10 Nights'},25:{p:'pnpl',t:'Persona-driven features for UK charity market'},24:{p:'justvitamin',t:'Board decision summary layout fix'},23:{p:'pnpl',t:'Pledge Now Pay Later deployed to production',s:'Modern web stack with 10 database tables. Seeded with demo org.'},22:{p:'justvitamin',t:'Dynamic analytics dashboard with API-driven charts',s:'7 insights that recalculate per date range — all live data.'},21:{p:'justvitamin',t:'Conversion audit — 23 data claims verified',s:'Every number checked against raw database. 10 fixes applied.'},20:{p:'justvitamin',t:'AI image generation + product page builder',s:'3 live AI demos. Image-to-image from real product photos.'},19:{p:'justvitamin',t:'Analytics backend',s:'17 tables, 20,735 rows from 728K orders. Dashboard loads in 0.2 seconds.'},17:{p:'justvitamin',t:'Password-protected analytics site'},15:{p:'comms',t:'WhatsApp gateway upgraded — multi-session support',s:'Upgraded tier. Multiple WhatsApp sessions restored.'},14:{p:'comms',t:'Live chat system restored after restart loop'},13:{p:'infra',t:'Database-backed build log with live API',s:'This page. Database + API serving data in real time.'},12:{p:'infra',t:'Staging health check — WordPress + Laravel'},11:{p:'justvitamin',t:'Analytics app deployed to production'},10:{p:'infra',t:'Separate Git servers per organisation'},9:{p:'quikcue',t:'QuikCue live feed microsite launched'},8:{p:'quikcue',t:'QuikCue operations hub deployed'},7:{p:'comms',t:'Full communications stack deployed',s:'Live chat, workflow automation, and WhatsApp gateway.'},6:{p:'charityright',t:'Laravel admin staging environment'},5:{p:'charityright',t:'Analytics dashboard deployed'},4:{p:'charityright',t:'Checkout flow v2 deployed'},3:{p:'charityright',t:'WordPress marketing site (staging)'},2:{p:'charityright',t:'Data analytics dashboard with Metabase'},1:{p:'infra',t:'Full server migration — 14 databases, zero downtime',s:'Complete infrastructure migration. 14 databases moved with zero downtime.'}};
+const DISPLAY={230:{p:'quikcue',t:'Live build log hardening — security, data integrity, and UX polish',s:'25-point audit: SQL injection protection, API auth, XSS prevention, filter bug fixes, loading states, and dead code cleanup.'},229:{p:'quikcue',t:'Live build log polish — team filtering, project discovery, and onboarding',s:'Team member filter bar, capitalised names, project auto-detection, and system prompt guidance for consistent entries.'},228:{p:'quikcue',t:'Team activity tracking on the live build log',s:'Each team member\'s work is now individually tracked and filterable. Auto-detects who you are from your machine.'},100:{p:'quikcue',t:'Live build log — UI overhaul and visitor-friendly entries'},99:{p:'quikcue',t:'Build log page added to quikcue.com',s:'Full shipping history with filters, stats, and incident log — all pulled live.'},98:{p:'charityright',t:'Automated milestone emails for 40,000+ supporters',s:'Recognises donation milestones (first gift through to £1,000) and sends personalised emails via Mailchimp — fully automated.'},97:{p:'quikcue',t:'QuikCue site deployed to production pipeline',s:'Source code version-controlled, automatic SSL across 3 domains.'},96:{p:'quikcue',t:'QuikCue company homepage launched',s:'Full company site with live engineering feed, client showcase, and dark premium design.'},95:{p:'pnpl',t:'Dashboard redesign — header, sidebar, and onboarding',s:'New layout with contextual upsell prompts and a lead capture flow.'},94:{p:'pnpl',t:'Embeddable mini widget for charity websites',s:'Compact 160px widget that expands on click — charities embed on any page.'},93:{p:'pnpl',t:'WhatsApp notification redesign + quick-add appeal picker'},92:{p:'pnpl',t:'Conditional and match funding pledges',s:'Supporters can pledge conditionally or match others — tracked across the entire product.'},91:{p:'charityright',t:'Seasonal giving data audit and dashboard overhaul',s:'Audited all giving data. Built seasonal view with Ramadan 2026 campaign performance.'},90:{p:'pnpl',t:'Complete redesign of fundraiser link creation',s:'3-step wizard: choose fundraiser → payment method → name your link.'},89:{p:'infra',t:'Git organisation cleanup across platforms'},88:{p:'pnpl',t:'Full-width landing page design across all dashboard pages'},87:{p:'charityright',t:'Seasonal giving dashboard with campaign analytics',s:'Per-campaign analytics, seasonal vs daily navigation, subscriber progress tracking.'},86:{p:'pnpl',t:'Education-first UX overhaul for automation and collection pages'},85:{p:'pnpl',t:'Every dashboard page redesigned as a landing page',s:'7 pages overhauled with brand photography and human language.'},84:{p:'charityright',t:'Full supporter care — refunds, cancellations, and edits',s:'Admins can refund, cancel, or edit any donation with Stripe sync.'},83:{p:'pnpl',t:'World-class WhatsApp message templates with A/B testing'},82:{p:'pnpl',t:'Universal payment call-to-action system',s:'Smart CTAs that adapt based on payment method.'},81:{p:'pnpl',t:'AI message generation with quality enforcement'},80:{p:'pnpl',t:'Brand photography integrated into the dashboard'},79:{p:'pnpl',t:'AI-powered message optimisation — fully automated',s:'One button starts AI optimisation. Generates challengers, tests, picks winners.'},78:{p:'pnpl',t:'Automation page rebuilt as a single conversation view',s:'Removed 15 UI panels. Now one WhatsApp conversation thread.'},77:{p:'pnpl',t:'Switched AI model — costs reduced to ~£0.08/1M messages'},76:{p:'pnpl',t:'AI provider switch to Gemini Flash (free tier)'},75:{p:'pnpl',t:'AI-native A/B testing — messages that improve themselves',s:'One-click AI challengers. Statistical winner detection. Continuous improvement.'},74:{p:'pnpl',t:'Message design studio with WhatsApp preview',s:'Phone mockup previews for WhatsApp, email, and SMS with A/B tracking.'},73:{p:'pnpl',t:'Multi-channel messaging engine — WhatsApp, SMS, email',s:'Waterfall delivery: WhatsApp → SMS → email. Channel status dashboard.'},72:{p:'pnpl',t:'Settings page redesigned as a guided checklist'},71:{p:'charityright',t:'Admin panel v4 — command centre redesign',s:'Sidebar reorganised. Every page uses tabs with live counts.'},70:{p:'pnpl',t:'Stripe integration — charities connect their own account',s:'Each charity pastes their Stripe key. Webhook auto-confirms payments.'},69:{p:'pnpl',t:'Removed 716 lines of dead payment code'},68:{p:'pnpl',t:'Settings page redesign with readiness tracking'},67:{p:'pnpl',t:'Team management with role-based access control'},66:{p:'pnpl',t:'Payment reconciliation embedded in the Money page'},65:{p:'pnpl',t:'Context-aware Money and Reports pages'},64:{p:'pnpl',t:'Fundraiser collection page — flattened, zero extra clicks'},63:{p:'charityright',t:'Admin panel v3 — persona-driven operational design',s:'Donor lookup in one search. Major donor identification. Payment investigation.'},62:{p:'charityright',t:'Admin panel v2 — AI-powered approval engine',s:'AI auto-approved 44% of stale reviews. Queue reduced from 151 to 84.'},61:{p:'pnpl',t:'Complete dashboard UX overhaul — welcome flow to sharing',s:'Signup to shareable link in 90 seconds.'},60:{p:'pnpl',t:'Smart timing, duplicate detection, and bank presets'},59:{p:'charityright',t:'Admin panel — full audit and major rebuild',s:'Dashboard widgets, global search, internal notes, sidebar navigation.'},58:{p:'pnpl',t:'36 product improvements deployed in one sprint'},57:{p:'pnpl',t:'Product gap analysis v2 — revised for WhatsApp-first reality'},56:{p:'pnpl',t:'Product gap analysis — landing pages vs actual product',s:'43 gaps identified. 28 hidden needs. 10 AI features specced.'},55:{p:'charityright',t:'Stacking card scroll effect on the marketing site'},53:{p:'charityright',t:'Persona section rebuilt with editorial photography grid'},52:{p:'charityright',t:'Fixed 7 conversion killers across in-app browsers',s:'Session handling, bot protection, 3D Secure, form UX — all fixed.'},51:{p:'charityright',t:'Hero image + full site image optimisation',s:'Images cut 85% (13.6MB → 2.1MB). 10x faster loads.'},50:{p:'charityright',t:'New cinematic hero section'},49:{p:'charityright',t:'Brand identity applied across every page'},48:{p:'charityright',t:'Complete brand identity system generated in 116 seconds',s:'1 brand doc + 32 visual assets via 8 parallel AI sessions.'},47:{p:'charityright',t:'AI-generated photography for all landing pages'},46:{p:'charityright',t:'All landing pages redesigned with sharp flat typography'},45:{p:'charityright',t:'4 persona landing pages + main page rewrite',s:'5 pages total — every section earns its place.'},44:{p:'charityright',t:'Bulletproof consent system — Gift Aid, email, WhatsApp',s:'HMRC-compliant declarations with immutable audit trail.'},43:{p:'pnpl',t:'Replaced internal abbreviations with full product name'},42:{p:'pnpl',t:'Simplified fund types + external payment tracking'},41:{p:'pnpl',t:'Terminology overhaul — clearer language throughout'},40:{p:'pnpl',t:'Zakat fund types and campaign fund allocation'},39:{p:'pnpl',t:'Fundraiser mode — role-aware onboarding',s:'2 user types, 5 platforms, dashboard never blocks access.'},38:{p:'pnpl',t:'Social login — Google, Apple, passwordless auth'},37:{p:'pnpl',t:'Onboarding cut from 8 screens to 2'},36:{p:'pnpl',t:'Demo login, admin view, and password recovery'},35:{p:'charityright',t:'Last 10 Nights campaign + Zakat toggle live'},31:{p:'pnpl',t:'Production launch — auth, multi-tenant, signup',s:'Auth + signup live. Dashboard protected. WhatsApp QR in settings.'},30:{p:'pnpl',t:'Landing page v2 with updated design language'},29:{p:'pnpl',t:'Automated reminder system + dashboard rebuild',s:'Reminder cron running every 15 minutes.'},28:{p:'pnpl',t:'Deferred payments and instalment plans',s:'A pledge is a promise to pay on a date. 2–12 month plans.'},27:{p:'pnpl',t:'Premium UI + AI messaging + WhatsApp integration',s:'Live at pledge.quikcue.com.'},26:{p:'charityright',t:'Match funding donation widget for Last 10 Nights'},25:{p:'pnpl',t:'Persona-driven features for UK charity market'},24:{p:'justvitamin',t:'Board decision summary layout fix'},23:{p:'pnpl',t:'Pledge Now Pay Later deployed to production',s:'Modern web stack with 10 database tables. Seeded with demo org.'},22:{p:'justvitamin',t:'Dynamic analytics dashboard with API-driven charts',s:'7 insights that recalculate per date range — all live data.'},21:{p:'justvitamin',t:'Conversion audit — 23 data claims verified',s:'Every number checked against raw database. 10 fixes applied.'},20:{p:'justvitamin',t:'AI image generation + product page builder',s:'3 live AI demos. Image-to-image from real product photos.'},19:{p:'justvitamin',t:'Analytics backend',s:'17 tables, 20,735 rows from 728K orders. Dashboard loads in 0.2 seconds.'},17:{p:'justvitamin',t:'Password-protected analytics site'},15:{p:'comms',t:'WhatsApp gateway upgraded — multi-session support',s:'Upgraded tier. Multiple WhatsApp sessions restored.'},14:{p:'comms',t:'Live chat system restored after restart loop'},13:{p:'infra',t:'Database-backed build log with live API',s:'This page. Database + API serving data in real time.'},12:{p:'infra',t:'Staging health check — WordPress + Laravel'},11:{p:'justvitamin',t:'Analytics app deployed to production'},10:{p:'infra',t:'Separate Git servers per organisation'},9:{p:'quikcue',t:'QuikCue live feed microsite launched'},8:{p:'quikcue',t:'QuikCue operations hub deployed'},7:{p:'comms',t:'Full communications stack deployed',s:'Live chat, workflow automation, and WhatsApp gateway.'},6:{p:'charityright',t:'Laravel admin staging environment'},5:{p:'charityright',t:'Analytics dashboard deployed'},4:{p:'charityright',t:'Checkout flow v2 deployed'},3:{p:'charityright',t:'WordPress marketing site (staging)'},2:{p:'charityright',t:'Data analytics dashboard with Metabase'},1:{p:'infra',t:'Full server migration — 14 databases, zero downtime',s:'Complete infrastructure migration. 14 databases moved with zero downtime.'}};
const OOPS_DISPLAY={19:{t:'Deployment script overwrote API server config',f:'Restored in 3 min'},18:{t:'Routing config couldn\'t reach application container',f:'Fixed in 15 min'},17:{t:'Database data lost during deployment path change',f:'Restored in 4 min'},16:{t:'Admin panel crashed after deploy — null references',f:'Fixed in 8 min'},15:{t:'Navigation group name collision in admin panel',f:'Fixed in 5 min'},14:{t:'Deploy script missed a required variable',f:'Fixed in 12 min'},13:{t:'Admin filter crashed before data was ready',f:'Fixed in 25 min'},12:{t:'Wrong database syntax + missing code import',f:'Fixed in 6 min'},11:{t:'Dashboard widgets invisible — registration issue',f:'Fixed in 5 min'},10:{t:'AI review failed — messages too long for column',f:'Fixed in 3 min'},9:{t:'Widget property incompatible with framework',f:'Fixed in 2 min'},8:{t:'Deploy script corrupted files with dollar signs',f:'Fixed in 8 min'},7:{t:'Product scraper broken — garbled server responses',f:'Fixed in 8 min'},6:{t:'Analytics claim unverifiable — 97.4% had no source',f:'Fixed in 5 min'},5:{t:'Email buttons had no email address',f:'Fixed in 3 min'},4:{t:'WhatsApp gateway only supported 1 session',f:'Fixed in 25 min'},3:{t:'Log file permissions broken after debugging',f:'Fixed'},2:{t:'App errors on every page — 59 pending DB updates',f:'Fixed'},1:{t:'WordPress hacked via malicious plugin',f:'Malware removed, vector blocked'}};