// All deck content lives here so it's easy to edit.

const LADDER = [
  {
    id: 'case',
    num: '01',
    label: 'Foundation',
    title: 'Case',
    desc: 'Participants work through realistic, complex written cases to build judgement and decision quality in a controlled setting.',
    realism: 18,
    pressure: 'Controlled',
    artifact: 'Written client situation',
  },
  {
    id: 'sim',
    num: '02',
    label: 'Applied',
    title: 'Simulation & Gamification',
    desc: 'Participants apply thinking under time pressure and trade-offs through structured simulations that reward disciplined reasoning and penalize weak assumptions or overconfidence.',
    realism: 34,
    pressure: 'Timed',
    artifact: 'Game / simulation rounds',
  },
  {
    id: 'mimic',
    num: '03',
    label: 'Voice',
    title: 'Mimicking',
    desc: 'Participants roleplay realistic client conversations with clear client personalities and emotions to practice structure, language, and credibility in a safe environment.',
    realism: 52,
    pressure: 'Roleplay',
    artifact: 'Talk-track rehearsal',
  },
  {
    id: 'shadow',
    num: '04',
    label: 'Reflection',
    title: 'Shadow',
    desc: 'Participants review anonymized real calls, chats, and logs to spot what went wrong, identify what truly mattered, and rewrite what should be said with a clear next step.',
    realism: 68,
    pressure: 'Real evidence',
    artifact: 'Recording review',
  },
  {
    id: 'supervise',
    num: '05',
    label: 'Live',
    title: 'Supervise',
    desc: 'Advisors handle real client interactions with manager oversight and a short debrief checklist, ensuring quality, safety, and readiness before independence.',
    realism: 84,
    pressure: 'Mentored',
    artifact: 'Supervised session',
  },
  {
    id: 'independent',
    num: '06',
    label: 'Ready',
    title: 'Independent',
    desc: 'Advisors handle real clients independently with light spot checks while managers review to confirm consistent quality over time.',
    realism: 100,
    pressure: 'Full',
    artifact: 'Logged case + review',
  },
];

const CAPABILITIES = [
  {
    id: 'finance',
    name: 'Understanding Finance & Mechanics',
    short: 'Finance',
    angle: 0,
    color: '#0D903A',
    summary: 'Fluency in how value is earned, funded, and priced to support sound decisions.',
    skills: ['Financial statement linkage', 'Cash flow drivers', 'Risk-return & diversification', 'Valuation & pricing intuition'],
  },
  {
    id: 'business',
    name: 'Business & Management Evaluation',
    short: 'Business',
    angle: 45,
    color: '#0F8E42',
    summary: 'Assess business strength and leadership execution using an investor and lender mindset.',
    skills: ['Business model durability', 'Governance & incentives', 'Strategy clarity', 'Capital allocation', 'Practical red-flag patterns'],
  },
  {
    id: 'macro',
    name: 'Macroeconomic & External Forces',
    short: 'Macro',
    angle: 90,
    color: '#246BB2',
    summary: 'Link macro shifts and external events to client, portfolio, and credit impact with discipline.',
    skills: ['Rates, inflation, currency, liquidity', 'Cycles & catalysts', 'Policy & regulation shifts', 'Scenario thinking', 'Discussing macro responsibly'],
  },
  {
    id: 'products',
    name: 'Financial Products — Technical',
    short: 'Products',
    angle: 135,
    color: '#1A549F',
    summary: 'Use market signals to plan entry, exit, and risk limits based on evidence.',
    skills: ['Chart reading', 'Support & breakout logic', 'Candlestick interpretation', 'Basic indicators as confirmation', 'Risk control framing', 'Communicating technical views'],
  },
  {
    id: 'value',
    name: 'Value Creation in Wealth Advisory',
    short: 'Value',
    angle: 180,
    color: '#164A97',
    summary: 'Turn client insight and disciplined follow-through into lasting trust and long-term value.',
    skills: ['Identify client history & signals', 'Deepening relationships ethically', 'Next-best-action logic', 'Nurturing conversations', 'Service discipline'],
  },
  {
    id: 'acquisition',
    name: 'New Customer Acquisition',
    short: 'Acquisition',
    angle: 225,
    color: '#19519C',
    summary: 'Win new clients through focused targeting, strong discovery, and clear next steps.',
    skills: ['Targeting & qualification discipline', 'High-impact discovery questions', 'First-contact credibility', 'Handling early objections', 'Securing the next step'],
  },
  {
    id: 'dormant',
    name: 'Rapport & Reactivation',
    short: 'Reactivation',
    angle: 270,
    color: '#077934',
    summary: 'Rebuild trust and restart dormant relationships with mature communication and low-friction actions.',
    skills: ['Diagnosing why engagement dropped', 'Rebuilding credibility', 'Repair language & accountability', 'Safe re-entry steps', 'Managing sensitive conversations'],
  },
  {
    id: 'execution',
    name: 'Execution Discipline & Measurement',
    short: 'Execution',
    angle: 315,
    color: '#057430',
    summary: 'Run a planned and measurable advisory routine that drives repeatable, coachable results.',
    skills: ['Weekly/daily planning tied to targets', 'Tool discipline', 'Pipeline discipline & prioritization', 'Follow-up cadence & documentation', 'Measuring quality & conversion'],
  },
];

// Ladder rung IDs (column keys for matrix)
const RUNGS = [
  { id: 'preread',  label: 'Pre-Read',      sub: 'Foundation',   color: '#94a3b8' },
  { id: 'case',     label: 'Case',          sub: '01 Case',      color: '#0D903A' },
  { id: 'sim',      label: 'Simulation',    sub: '02 Sim/Game',  color: '#0F8E42' },
  { id: 'mimic',    label: 'Mimicking',     sub: '03 Voice',     color: '#246BB2' },
  { id: 'shadow',   label: 'Shadow',        sub: '04 Reflection',color: '#1A549F' },
  { id: 'supervise',label: 'Supervise',     sub: '05 Live',      color: '#19519C' },
  { id: 'indep',    label: 'Independent',   sub: '06 Ready',     color: '#057430' },
];

// Practice matrix — filled cells (capability x rung). Empty = "embedded in scoring lens".
// Values from slide 5.
const MATRIX = {
  finance: {
    preread:'A simple 3-statement story — profit, cash flow, balance sheet — and the basic drivers behind them.',
    case:'3 cases: cash vs profit, balance sheet, valuation drivers.',
    sim:'Embedded scoring lens.',
    mimic:'Embedded in scoring lens.',
    shadow:'2 shadowings: call or chat reviews.',
    supervise:'Embedded in scoring lens.',
    indep:'Embedded in scoring lens — evidence attached.',
  },
  business: {
    preread:'A business-quality checklist — model, competition, management, governance, capital allocation.',
    case:'3 cases: management quality, capital allocation, red flags.',
    sim:'1 simulation: client plan builder.',
    mimic:'Embedded in scoring lens.',
    shadow:'2 shadowings: business quality reviews.',
    supervise:'Embedded in scoring lens.',
    indep:'Embedded in scoring lens — evidence attached.',
  },
  macro: {
    preread:'A macro-to-client impact map — rates, inflation, currency, liquidity, policy and what they affect.',
    case:'3 cases: rates inflation, policy shock, scenario impact.',
    sim:'Embedded scoring lens.',
    mimic:'Embedded in scoring lens.',
    shadow:'2 shadowings: macro framing reviews.',
    supervise:'Embedded in scoring lens.',
    indep:'Embedded in scoring lens — evidence attached.',
  },
  products: {
    preread:'Basic chart language — trend, range, key levels — with a simple setup checklist and risk limits.',
    case:'3 cases: chart read, setup compare, risk invalidation.',
    sim:'1 gamification: Sales Gamification.',
    mimic:'Embedded in scoring lens.',
    shadow:'2 shadowings: chart-note reviews.',
    supervise:'Embedded in scoring lens.',
    indep:'Embedded in scoring lens — evidence attached.',
  },
  value: {
    preread:'A client value loop — goals, context, next-best action, follow-through without hard selling.',
    case:'3 cases: next-best action, upgrade or protect, rebalance plan.',
    sim:'1 simulation: client plan builder.',
    mimic:'3 roleplays: deepen value. Hard mimicking: 2 roleplays with high-trust client pressure.',
    shadow:'3 shadowings: existing client reviews.',
    supervise:'2 supervised existing-client sessions.',
    indep:'4–5 logged key existing-client cases — manager review.',
  },
  acquisition: {
    preread:'A basic acquisition flow — target, qualify, discover, agree next step, follow up.',
    case:'2 cases: qualify, first meeting plan.',
    sim:'1 simulation: new client.',
    mimic:'3 roleplays: first contact to next step. Hard mimicking: prospect refusal, battle with competitor.',
    shadow:'3 shadowings: first-contact reviews.',
    supervise:'2 supervised first-contact sessions.',
    indep:'2–3 logged key acquisition client cases — manager review.',
  },
  dormant: {
    preread:'A trust-repair script — diagnose, acknowledge, reset expectations, propose a safe next step.',
    case:'2 cases: repair language, safe re-entry.',
    sim:'',
    mimic:'3 roleplays: repair & reactivation. Hard mimicking: 2 roleplays with angry dormant clients.',
    shadow:'3 shadowings: reactivation reviews.',
    supervise:'2 supervised reactivation sessions.',
    indep:'2–3 logged key dormant & reactivation cases — manager review.',
  },
  execution: {
    preread:'A simple operating rhythm — plan, execute, track, review — focused on quality and conversion.',
    case:'1 case: execution breakdown.',
    sim:'',
    mimic:'Best practice in mimicking.',
    shadow:'2 shadowings: activity log reviews.',
    supervise:'Embedded in scoring lens.',
    indep:'Embedded in scoring lens — evidence attached.',
  },
};

const TIMELINE = [
  { rung: 'Pre-Read',     dur: '2–3 days',  pos: 'front' },
  { rung: 'Case',         dur: '3–4 days',  pos: 'front' },
  { rung: 'Simulation',   dur: '1 day',     pos: 'front' },
  { rung: 'Mimicking',    dur: '1–2 days',  pos: 'mid' },
  { rung: 'Shadow',       dur: '1 week',    pos: 'back' },
  { rung: 'Supervise',    dur: '2 weeks',   pos: 'back' },
  { rung: 'Independent',  dur: '3 weeks',   pos: 'back' },
];

const QUOTES = [
  { text: 'The session was very helpful and gave me a clearer starting point to understand the capital market.', who: 'Participant 01' },
  { text: 'It will help me to explain to future clients.', who: 'Participant 06' },
  { text: 'Materials are full of basic knowledge for beginners to understand this industry.', who: 'Participant 02' },
  { text: 'Gained more knowledge on being a partner and on the capital market.', who: 'Participant 05' },
  { text: 'Sangat membantu untuk orang yang belum pernah menganalisis sebuah emiten secara komprehensif.', who: 'Participant 03' },
  { text: 'The roleplay made me realise where my talk-track was weak — I would not have caught it in slides.', who: 'Participant 09' },
  { text: 'Supervised sessions changed how I open conversations with dormant clients.', who: 'Participant 14' },
];

const DELIVERABLES = [
  { name: 'Program Playbook',            desc: 'A clear guide on how to run the program, roles, and weekly routines.', flags: [1,1,1] },
  { name: 'Assessment (Pre & Post)',     desc: 'A quick baseline and endline check to measure learning progress.',     flags: [1,1,0] },
  { name: 'Assessment Result Workshop',  desc: 'A short session to review results and align next development actions.', flags: [1,1,0] },
  { name: 'Learning Materials',          desc: 'Ready-to-use modules and references that build core wealth advisory skills.', flags: [1,1,1] },
  { name: 'Learning Dashboard',          desc: 'A simple view to track learner activity, completion, and progress.',  flags: [1,1,1] },
  { name: 'Individual Report',           desc: 'A personal summary of strengths, gaps, and recommended focus areas.', flags: [1,1,1] },
  { name: 'Development Strategy',        desc: 'A practical development plan based on results and observed progress.', flags: [1,1,1] },
  { name: 'Master Dashboard',            desc: 'A full program overview for People & Culture to monitor progress and quality.', flags: [0,0,1] },
  { name: 'Master Dashboard Training',   desc: 'A short onboarding so admins can run the system confidently.',         flags: [0,0,1] },
  { name: 'Technical Support',           desc: 'Ongoing support to keep the platform and access running smoothly.',     flags: [1,1,1] },
];

Object.assign(window, {
  LADDER, CAPABILITIES, RUNGS, MATRIX, TIMELINE, QUOTES, DELIVERABLES,
});
