// ============================================================
// IUVENIS · Garimpo de Concorrentes
// Banco de dados de análises, padrões e ideias de conteúdo
// Atualizado automaticamente a cada perfil analisado
// ============================================================

const GARIMPO_DATA = {
  meta: {
    total_perfis: 11,
    analisados: 11,
    atualizado: "2026-06-05",
    proximos: [],
  },

  perfis: [
    {
      handle: "@ultimateivyleagueguide",
      tipo: "Indireto · EUA",
      seguidores: "961K",
      nicho: "College admissions coaching",
      status: "completo",
      formato_dominante: "Reels (100%)",
      engajamento: "~0,36% recente / 14% no viral",
      top_post: { likes: 943000, titulo: "The weight of my own privilege", tipo: "Visual emocional s/ fala" },
      posts_analisados: 19,
      roteiros_transcritos: 18,
      padroes: [
        { nome: "Lista educativa numerada", exemplos: ["Should I take SAT or ACT? 4 differences", "MIT revealed the cheat sheet", "3 daily habits that turned me..."], freq: 7 },
        { nome: "Transformação / underdog", exemplos: ["At 16, my counselor told me: not getting into Harvard", "975 days ago my Google Calendar lied to me"], freq: 4 },
        { nome: "Comparação A vs B", exemplos: ["Two students trying to get in front of it. Which gets in?"], freq: 1 },
        { nome: "Emocional / carta", exemplos: ["I'm in my senior year of Harvard and wrote this letter to my mom"], freq: 3 },
      ],
      cta_padrao: "Comment [PALAVRA] and I'll send you [recurso]",
      serie: "Mastering High School — Ep. 5, 6, 7, 8, 9",
      insight_chave: "Emoção bate informação: post de 943K não ensinava nada — falava de culpa e propósito. Automação de DM por palavra-chave em TODO reel educativo.",
    },
    {
      handle: "@scholarshipscorner",
      tipo: "Indireto · EUA",
      seguidores: "775K",
      nicho: "Curadoria de bolsas internacionais",
      status: "completo",
      formato_dominante: "Fotos e carrosséis (100%)",
      engajamento: "~0,04% (modelo de volume, não conversão)",
      top_post: { likes: 2216, titulo: "METI Government of Japan Internship 2026", tipo: "Estático" },
      posts_analisados: 21,
      roteiros_transcritos: 0,
      padroes: [
        { nome: "Post de oportunidade", exemplos: ["METI Japan Internship · Fully Funded · Deadline 30 Jun", "DAAD Helmut-Schmidt 2027 · Germany", "Rhodes Scholarship 2027 · Oxford"], freq: 21 },
      ],
      cta_padrao: "Comment '[País/Bolsa]' for the link — aciona DM automático",
      serie: null,
      insight_chave: "775K seguidores com 0,04% de engajamento = modelo de discovery, não conversão. CTA de comentário funciona até em curadoria pura. Japão e Alemanha dominam engajamento.",
      oportunidades_top: [
        { nome: "METI Japão 2026", likes: 2216, deadline: "30 Jun 2026", status: "aberta" },
        { nome: "DAAD Helmut-Schmidt", likes: 660, deadline: "31 Jul 2026", status: "aberta" },
        { nome: "Matsumae Fellowship Japão", likes: 479, deadline: "30 Jun 2026", status: "aberta" },
        { nome: "Schwarzman Scholars · China", likes: 989, deadline: "anual", status: "evergreen" },
        { nome: "Rhodes Scholarship · Oxford", likes: 274, deadline: "ago 2026", status: "em breve" },
        { nome: "KAS Scholarship · Alemanha", likes: 146, deadline: "15 Jul 2026", status: "aberta" },
        { nome: "MEXT Japão 2027", likes: 108, deadline: "2027", status: "evergreen" },
        { nome: "Cambridge Youth Leadership", likes: 306, deadline: "anual", status: "evergreen" },
      ],
    },
    {
      handle: "@ivy_roadmap",
      tipo: "Indireto · EUA",
      seguidores: "160K",
      nicho: "College admissions coaching · estilo provocador",
      status: "completo",
      formato_dominante: "Reels (100%)",
      engajamento: "~0,5–1,3% recente",
      top_post: { likes: 23000, titulo: "HOW TO GET SCIENCE RESEARCH IN HIGH SCHOOL!!!", tipo: "Reel pinado" },
      posts_analisados: 8,
      roteiros_transcritos: 8,
      padroes: [
        { nome: "CAPS LOCK + provocação", exemplos: ["YOUR GPA IS USELESS!!!", "THE ERA OF VIRTUE SIGNALING IS OVER!!!", "BE ABNORMAL!!!"], freq: 8 },
        { nome: "Diálogo / roleplay (MAIS VIRAL)", exemplos: ["Hey can I work in your lab? / Uh maybe. Have you worked in a lab before? / Nope. / Are you at least 18? / Nope, I turned 16 on Tuesday."], freq: 1 },
        { nome: "LIE list (heresia com prova)", exemplos: ["SAT is optional. LIE. Rich kids have same odds. LIE. Applying early doubles odds. LIE. They don't want a teacher's pet. They want a beast with a story."], freq: 1 },
        { nome: "Dado + interpretação contrária", exemplos: ["44% of USC admits had 4.0. If your reaction is 'I need 4.0' — you're a clown. GPA is not a useful admissions measure."], freq: 2 },
        { nome: "Notícia + implicação", exemplos: ["Princeton announced proctored exams for first time in 133 years because of AI cheating."], freq: 2 },
      ],
      cta_padrao: "CTA de DM via comentário em posts de inscrição",
      serie: null,
      insight_chave: "160K seguidores com engajamento comparável ao @ultimateivyleagueguide (961K). Provocação funciona no nicho acadêmico. CAPS LOCK + 3 exclamações = identidade visual de gancho.",
    },
    {
      handle: "@estudarfora",
      tipo: "Direto · BR",
      seguidores: "88K",
      nicho: "Pós-graduação no exterior",
      status: "completo",
      formato_dominante: "Carrosseis (73%)",
      engajamento: "N/D (conta privada em análise)",
      top_post: { likes: null, titulo: "🎓 Bolsa que viabiliza custo de vida nos EUA", tipo: "Carrossel" },
      posts_analisados: 11,
      roteiros_transcritos: 0,
      padroes: [
        { nome: "[País] + [Valor financeiro concreto]", exemplos: ["Pós-graduação no Japão com tudo pago — ¥117k/mês", "Oxford oferece bolsas de 50% para mulheres", "Irlanda pode ser o destino que você estava procurando"], freq: 8 },
        { nome: "Segmentação por gênero", exemplos: ["Oxford oferece bolsas de 50% para mulheres"], freq: 1 },
        { nome: "Case de aluno (reel)", exemplos: ["Sonhos que ganham forma com preparo — Rodrigo"], freq: 2 },
      ],
      cta_padrao: "Informativo — sem ManyChat visível",
      serie: null,
      insight_chave: "Único perfil com foco exclusivo em pós-gradução. Carrossel domina (73%) num nicho que migrou para reels — estratégia consciente para saves. Fórmula [País + valor $] em todo post.",
    },
    {
      handle: "@gobrasa",
      tipo: "Referência · BR (não comercial)",
      seguidores: "N/D",
      nicho: "Associação de estudantes brasileiros no exterior (BRASA)",
      status: "completo",
      formato_dominante: "Carrosseis informativos",
      engajamento: "570 likes no top post",
      top_post: { likes: 570, titulo: "A BRASA existe para empoderar a próxima geração de líderes brasileiros", tipo: "Manifesto" },
      posts_analisados: 12,
      roteiros_transcritos: 0,
      padroes: [
        { nome: "Manifesto de missão", exemplos: ["A BRASA existe para empoderar a próxima geração de líderes brasileiros, por um Brasil melhor"], freq: 2 },
        { nome: "Marco histórico / aniversário", exemplos: ["10 anos construindo conexões, apoio e histórias que atravessam fronteiras!"], freq: 1 },
        { nome: "Gap pós-aprovação", exemplos: ["Fui aceito. E agora? A carta chegou e junto com ela: uma lista enorme de coisas para resolver"], freq: 2 },
        { nome: "Números de impacto institucional", exemplos: ["+15.000 oportunidades viabilizadas, R$3 milhões"], freq: 1 },
      ],
      cta_padrao: "Sem CTA comercial — associação voluntária",
      serie: null,
      insight_chave: "Não é concorrente comercial, mas a audiência é 100% idêntica à Iuvenis. Maior insight: o gap 'Fui aceito. E agora?' (202 likes) não é explorado por nenhum concorrente comercial. Post de manifesto supera todo conteúdo prático.",
    },
    {
      handle: "@lucaspertusati",
      tipo: "Direto · BR",
      seguidores: "N/D",
      nicho: "Preparatório de intercâmbios nos EUA",
      status: "completo",
      formato_dominante: "Carrosseis + reels com ManyChat",
      engajamento: "622 likes no top post",
      top_post: { likes: 622, titulo: "Ninguém teve uma trajetória universitária tão caótica nos EUA — em 10 passos", tipo: "Carrossel pessoal" },
      posts_analisados: 6,
      roteiros_transcritos: 0,
      padroes: [
        { nome: "Origin story pessoal (caos → superação)", exemplos: ["Lembrando do dia da minha formatura. Ninguém teve uma trajetória tão caótica nos EUA. Resumi em 10 passos."], freq: 1 },
        { nome: "ManyChat trigger com curiosidade", exemplos: ["Comenta SECRETA que eu te mando", "Comenta ESSAY pra receber o banco de redações", "Comenta SAT pra gabaritar"], freq: 4 },
        { nome: "Volume como credibilidade", exemplos: ["São mais de 3.000 aprovações de brasileiros com bolsas de até 100%"], freq: 2 },
      ],
      cta_padrao: "Comenta SECRETA / ESSAY / SAT → DM automático com recurso específico",
      serie: null,
      insight_chave: "Post autobiográfico (622 likes) supera 2x qualquer oferta. Trigger 'SECRETA' (398+289 likes) bate 'LINK' por ativar gatilho de exclusividade. Número âncora '3.000 aprovações' em todo post de oferta.",
    },
    {
      handle: "@matheustomoto",
      tipo: "Direto · BR (maior do nicho)",
      seguidores: "920K+ (base de leads)",
      nicho: "Intercâmbios e bolsas — MENTORIA M60",
      status: "completo",
      formato_dominante: "Reels de oferta + carrosseis de origin story",
      engajamento: "4.914 likes no post pinado",
      top_post: { likes: 4914, titulo: "Comente EU QUERO para se preparar na MENTORIA M60", tipo: "Reel de oferta (pinado)" },
      posts_analisados: 5,
      roteiros_transcritos: 0,
      padroes: [
        { nome: "Origin story cronológica extrema", exemplos: ["Aos 12: marginal. Aos 14: vendia detergente. Aos 22: bolsa 100% EUA. Aos 29: Oxford + Forbes + 25M impactados. Aos 30: M60."], freq: 1 },
        { nome: "Trigger EU QUERO (desejo declarado)", exemplos: ["Comente EU QUERO para se preparar na MENTORIA M60"], freq: 3 },
        { nome: "Stack de credenciais acumuladas", exemplos: ["NASA, Harvard, Oxford, Forbes, Stanford, 45 mil enviados, 920 mil bolsas"], freq: 2 },
      ],
      cta_padrao: "Comente \"EU QUERO\" → DM automático com início da MENTORIA M60",
      serie: null,
      insight_chave: "Maior referência do nicho em português. Origin story (4.020 likes) + post de oferta com 'EU QUERO' (4.914 likes) = combinação de credencial + intenção declarada. 30x mais likes que a Iuvenis no mesmo nicho.",
    },
    {
      handle: "@iuvenisoficial",
      tipo: "Próprio · auto-diagnóstico",
      seguidores: "N/D",
      nicho: "Bolsas internacionais — mentoria",
      status: "completo",
      formato_dominante: "Posts informativos + ManyChat 'QUERO'",
      engajamento: "514 likes no top post (3 dias de vida)",
      top_post: { likes: 514, titulo: "Estágio FAO/ONU em Roma — US$700/mês, sem IELTS, Comenta QUERO", tipo: "Post de oportunidade" },
      posts_analisados: 7,
      roteiros_transcritos: 0,
      padroes: [
        { nome: "Oportunidade ONU/FAO + benefícios concretos", exemplos: ["FAO: US$700/mês, Roma, sem IELTS, até 25/08/2026 — Comenta QUERO"], freq: 1 },
        { nome: "ManyChat 'QUERO' + guia", exemplos: ["Comenta QUERO para receber nosso guia sobre extracurriculares"], freq: 2 },
        { nome: "Post de nicho específico (baixo alcance)", exemplos: ["Residência literária Hong Kong", "TU Dresden floresta tropical"], freq: 2 },
      ],
      cta_padrao: "Comenta QUERO → link do recurso ou oportunidade",
      serie: null,
      insight_chave: "Gap de 30x vs @matheustomoto não é de tamanho de perfil — é de fórmula. O post ONU/FAO (514 likes em 3 dias) JÁ é a fórmula vencedora. Problema: frequência baixa e 3/7 posts sem caption. Origin story da Maria nunca publicada.",
    },
  ],

  banco_ideias: {
    titulos_educativos: [
      "Fulbright ou Chevening? Depende do seu perfil. 4 diferenças que definem qual tentar.",
      "A Chevening revelou o que reprova 90% dos brasileiros. 4 pontos:",
      "3 hábitos que diferenciam quem ganha bolsa de quem fica tentando por anos.",
      "Erasmus Mundus ou GKS? 4 diferenças que determinam qual é certa para você.",
      "MEXT, DAAD ou Capes? A bolsa certa depende do que você quer fazer depois.",
      "5 bolsas abertas agora que aceitam candidatos com TOEFL abaixo de 90.",
      "Como funciona o Erasmus Mundus: prazos, documentos e como escolher o programa certo.",
      "A diferença entre um Statement of Purpose que reprova e um que aprova.",
      "6 bolsas que cobrem passagem, moradia e ainda pagam salário mensal.",
      "Intercâmbio na graduação: ELAP Canadá vs CERN vs Hansen — qual é para você?",
    ],
    titulos_provocacao: [
      "O SEU TOEFL NÃO É O PROBLEMA",
      "NOTAS ALTAS NÃO GARANTEM NADA",
      "PARAR DE PESQUISAR BOLSAS NO GOOGLE É O PRIMEIRO PASSO",
      "CARTA DE MOTIVAÇÃO PERFEITA NÃO EXISTE",
      "A ERA DO CURRÍCULO PERFEITO ACABOU",
      "INGLÊS BÁSICO NÃO ELIMINA VOCÊ",
      "VOCÊ NÃO PRECISA DE PUBLICAÇÕES PARA O FULBRIGHT",
      "COMEÇAR 12 MESES ANTES JÁ É TARDE PARA ALGUMAS BOLSAS",
      "CANDIDATURA PARA PHD NÃO É IGUAL A MESTRADO",
      "PROCESSO SELETIVO NÃO É CONCURSO",
    ],
    titulos_dialogo: [
      "Posso me candidatar ao Fulbright? / Já fez mestrado? / Não. / Tem publicações? / Não. / Inglês avançado? / Intermediário. / [VIRADA] Porque eu entendi o que o Fulbright quer de verdade.",
      "Você quer estudar no exterior? / Sua família tem dinheiro para isso? / Não. / Seu inglês é fluente? / Ainda não. / Então como pretende ir? / Porque existe uma bolsa que cobre tudo.",
      "Qual bolsa você vai tentar? / Não sei por onde começar. / Você fez o quiz? / Fiz. Me diz que sou perfil G. / Perfeito. Então Fulbright, Chevening ou Erasmus — e começa agora.",
    ],
    titulos_br_valor: [
      "Ganhar £1.800 por mês em Oxford estudando? Sim, o Chevening paga.",
      "Receber €1.400 por mês na Europa fazendo mestrado? O Erasmus Mundus paga.",
      "Ganhar $3.000 mensais fazendo PhD nos EUA? Fully-funded é assim.",
      "Ganhar 4 mil francos suíços por mês em Genebra? Sim, é real! A OMC está com inscrições abertas.",
      "¥117.000 por mês morando e estudando no Japão? O MEXT cobre tudo.",
    ],
    titulos_br_pais_chamando: [
      "O Japão está chamando e o governo paga tudo.",
      "A Alemanha quer estudantes brasileiros. E paga por isso.",
      "A Coreia abriu vagas para brasileiros. Com bolsa integral.",
      "A Suíça está com programa aberto. Sem taxa de inscrição.",
      "O governo colombiano abriu inscrições. E aceita brasileiros.",
    ],
    titulos_br_pergunta: [
      "Mestrado no Japão com salário mensal? Sim, o MEXT cobre tudo.",
      "Coreia do Sul paga mestrado completo para brasileiros? Sim.",
      "Dá para fazer doutorado nos EUA de graça? Sim, e o programa ainda paga stipend.",
      "Berlim de graça? Sim, existe. SBW Berlin Scholarship paga tudo.",
      "Chevening paga 100%? Sim — mensalidade, moradia, passagem e bolsa mensal.",
      "Voluntariado conta como experiência para o Fulbright? Sim. E mais do que você imagina.",
    ],
    titulos_br_barreira: [
      "Fulbright parecia impossível para você? O Fulbright não é para currículos perfeitos.",
      "PhD nos EUA parecia inacessível? Programas fully-funded pagam tudo e ainda pagam salário.",
      "Alemanha parecia difícil? DAAD paga moradia, mensalidade e ainda inclui bolsa mensal.",
      "GKS parecia para poucos? A Coreia aceita brasileiros sem experiência internacional prévia.",
    ],
    titulos_most: [
      "A maioria dos candidatos ao Fulbright passa meses no inglês — e ignora o documento que reprova mais candidatos.",
      "A maioria dos brasileiros nunca tenta o DAAD — não por falta de qualificação, mas por um mito que o próprio DAAD já desmentiu.",
      "A maioria dos candidatos ao Erasmus perde — não por causa das notas, mas por um erro no personal statement que é invisível para quem não sabe olhar.",
      "A maioria dos alunos que quer bolsa integral passa 2 anos se preparando — e aplica para o programa errado.",
      "A maioria dos candidatos ao GKS escreve o personal statement como um diário — listando conquistas e esperando que sejam suficientes.",
      "A maioria dos candidatos ao Chevening é rejeitada na segunda fase — não por falta de ingl ês, mas por um erro na carta de liderança.",
      "Toda semana um candidato qualificado perde o Fulbright — não por causa do inglês, mas por causa de uma frase na carta de motivação.",
    ],
    titulos_lie: [
      "Tudo que te falaram sobre bolsas é mentira. Você precisa de inglês perfeito. MENTIRA. Só quem estuda em USP consegue. MENTIRA. O Fulbright é só para quem tem publicações. MENTIRA.",
      "Mitos do intercâmbio que precisam morrer. Precisa ser rico para ir. MENTIRA. Inglês básico te elimina. MENTIRA. Só serve para quem quer morar fora. MENTIRA.",
    ],
    titulos_dado: [
      "87% dos aprovados no Chevening nunca tinham morado fora. Se sua conclusão é 'preciso de experiência internacional antes', você interpretou errado.",
      "A Fulbright reprovou candidatos com TOEFL 115. Aprovou candidatos com TOEFL 88. O que os aprovados tinham que os outros não tinham.",
    ],
    titulos_transformacao: [
      "Aos 23, minha professora me disse: seu inglês não é suficiente para o Fulbright.",
      "Mandei 3 candidaturas para o Erasmus. As 3 foram rejeitadas. Na 4ª, aprovada.",
      "Por 2 anos, pesquisei bolsas no Google todo dia. Estava olhando nos lugares errados.",
      "Meu orientador disse que o DAAD era impossível para a minha área. Aqui está como provei que estava errado.",
      "Reprovei na Chevening com TOEFL 110. Aprovada no ano seguinte com 92. O que mudou foi uma coisa.",
    ],
    titulos_comparacao: [
      "Dois candidatos ao Fulbright. Os dois têm mestrado e inglês avançado. Qual foi aprovado?",
      "Esta candidata enviou 40 páginas de documentação. Esta enviou 12. Qual ganhou a bolsa?",
      "Perfil A: 3 publicações acadêmicas. Perfil B: 1 projeto de impacto. Qual o Chevening aprovou?",
      "Mesma formação, mesmo inglês. Uma foi aprovada no GKS. A outra não. O que era diferente?",
    ],
    titulos_emocionais: [
      "Estou em Oxford e acabei de escrever essa mensagem para a minha mãe.",
      "Querida Maria, obrigada por nunca ter dito que era impossível mesmo quando eu dizia.",
      "Se você fosse falar com você mesma antes da aprovação, o que diria?",
      "O dia que percebi que minha família nunca poderia pagar o que ganhei de graça.",
    ],
    serie_guia: [
      { ep: 1, titulo: "Qual bolsa é certa para o seu momento", formato: "Carrossel educativo" },
      { ep: 2, titulo: "Como montar um perfil do zero em 90 dias", formato: "Carrossel lista" },
      { ep: 3, titulo: "A anatomia de uma candidatura aprovada", formato: "Carrossel comparação" },
      { ep: 4, titulo: "Os 5 erros que eliminam 90% dos candidatos", formato: "Carrossel provocação" },
      { ep: 5, titulo: "O que fazer quando o inglês ainda não está no nível", formato: "Carrossel provocação" },
      { ep: 6, titulo: "Como escrever um SOP que não pareça genérico", formato: "Carrossel educativo" },
      { ep: 7, titulo: "Cartas de recomendação: o que pedir e como pedir", formato: "Carrossel lista" },
      { ep: 8, titulo: "O calendário que nenhuma bolsa te mostra", formato: "Carrossel timeline" },
    ],
  },

  oportunidades: [
    { nome: "MEXT Japão 2027", pais: "🇯🇵 Japão", tipo: "Mestrado/Doutorado", cobre: "Tudo + ¥117k/mês", deadline: "2027", status: "evergreen", likes_ref: 108, gancho: "O governo japonês paga para você fazer mestrado lá. MEXT 2027 aberta." },
    { nome: "DAAD Helmut-Schmidt 2027", pais: "🇩🇪 Alemanha", tipo: "Mestrado", cobre: "Tudo + €850/mês", deadline: "31 Jul 2026", status: "aberta", likes_ref: 660, gancho: "DAAD aberta. Deadline 31/07. O que você precisa saber." },
    { nome: "METI Internship Japão", pais: "🇯🇵 Japão", tipo: "Internship", cobre: "Airfare + accommodation + ¥1-3k/dia", deadline: "30 Jun 2026", status: "urgente", likes_ref: 2216, gancho: "Internship no Japão com tudo pago. Deadline 30 de junho." },
    { nome: "Matsumae Foundation", pais: "🇯🇵 Japão", tipo: "Fellowship 6 meses", cobre: "¥220k/mês + accommodation", deadline: "30 Jun 2026", status: "urgente", likes_ref: 479, gancho: "6 meses no Japão com tudo pago. Sem taxa. Deadline 30/06." },
    { nome: "KAS Scholarship 2026", pais: "🇩🇪 Alemanha", tipo: "Mestrado", cobre: "€800/mês + mensalidade", deadline: "15 Jul 2026", status: "aberta", likes_ref: 146, gancho: "Konrad Adenauer financia mestrado na Alemanha. Deadline 15/07." },
    { nome: "Schwarzman Scholars", pais: "🇨🇳 China/Tsinghua", tipo: "Mestrado 1 ano", cobre: "Tudo + rede global", deadline: "anual", status: "evergreen", likes_ref: 989, gancho: "Mestrado de 1 ano em Pequim. Rede de líderes globais." },
    { nome: "Fulbright", pais: "🇺🇸 EUA", tipo: "Mestrado/Pesquisa", cobre: "Tudo + stipend mensal", deadline: "out 2026", status: "em breve", likes_ref: 8000, gancho: "A bolsa mais famosa do mundo. Fulbright está abrindo inscrições." },
    { nome: "Chevening", pais: "🇬🇧 UK", tipo: "Mestrado 1 ano", cobre: "Tudo", deadline: "ago 2026", status: "em breve", likes_ref: 5000, gancho: "Governo britânico paga seu mestrado em Oxford, Cambridge ou LSE." },
    { nome: "Erasmus Mundus", pais: "🇪🇺 Europa", tipo: "Mestrado 2 anos", cobre: "Tudo + €1.400/mês", deadline: "jan 2027", status: "evergreen", likes_ref: 3000, gancho: "2 países europeus, bolsa integral, €1.400/mês. Erasmus Mundus." },
    { nome: "Rhodes Scholarship", pais: "🇬🇧 Oxford", tipo: "Mestrado", cobre: "Tudo", deadline: "ago 2026", status: "em breve", likes_ref: 274, gancho: "A bolsa mais prestigiosa do mundo está abrindo. Rhodes 2027." },
    { nome: "GKS Coreia do Sul", pais: "🇰🇷 Coreia", tipo: "Mestrado/Doutorado", cobre: "Tudo", deadline: "mar 2027", status: "evergreen", likes_ref: 800, gancho: "Governo coreano financia mestrado. Pouco conhecido no Brasil." },
    { nome: "Cambridge Youth Leadership", pais: "🇬🇧 UK", tipo: "5 dias", cobre: "25 vagas integrais", deadline: "anual", status: "evergreen", likes_ref: 306, gancho: "Cambridge. Sem IELTS. Sem taxa. Aqui está como funciona." },
    { nome: "Hansen Leadership Institute", pais: "🇺🇸 EUA", tipo: "3 semanas", cobre: "100% grátis", deadline: "anual", status: "evergreen", likes_ref: 500, gancho: "3 semanas na Califórnia com líderes internacionais. 100% grátis." },
    { nome: "Shanghai Summer School BRICS 2026", pais: "🇨🇳 China", tipo: "1 mês", cobre: "Hospedagem + curso + seguro", deadline: "anual", status: "evergreen", likes_ref: 3755, gancho: "Quer passar um mês em Xangai estudando em uma das melhores universidades da China? Com tudo pago?" },
    { nome: "Beca Colombia 2026", pais: "🇨🇴 Colômbia", tipo: "Mestrado/Espanhol", cobre: "Mensalidade + bolsa", deadline: "anual", status: "evergreen", likes_ref: 3685, gancho: "O governo colombiano abriu inscrições. Mestrado, especialização e cursos de espanhol." },
    { nome: "Schwarzman Scholars China", pais: "🇨🇳 China", tipo: "Mestrado 1 ano", cobre: "Tudo + rede global", deadline: "anual", status: "evergreen", likes_ref: 700, gancho: "A China está chamando e ela quer pagar a conta. Schwarzman Scholars, Tsinghua." },
    { nome: "Trainee OMC Genebra", pais: "🇨🇭 Suíça", tipo: "Trainee internacional", cobre: "CHF 4.000/mês", deadline: "anual", status: "evergreen", likes_ref: 629, gancho: "Ganhar 4 mil francos suíços por mês em Genebra? A OMC tem trainee internacional." },
    { nome: "GKS — Global Korea Scholarship", pais: "🇰🇷 Coreia do Sul", tipo: "Mestrado/Doutorado", cobre: "Tudo + KRW 900k/mês", deadline: "mar 2027", status: "evergreen", likes_ref: 800, gancho: "Coreia do Sul financia mestrado completo. Pouco coberto em português — grande oportunidade." },
    { nome: "CSC Scholarship — China", pais: "🇨🇳 China", tipo: "Mestrado/Doutorado", cobre: "Tudo + RMB 3k/mês", deadline: "mar 2027", status: "evergreen", likes_ref: 900, gancho: "Tsinghua, Peking, Fudan. Governo chinês paga mestrado completo. Quase ninguém fala disso em português." },
    { nome: "TÜRKİYE Burslari", pais: "🇹🇷 Turquia", tipo: "Mestrado/Doutorado", cobre: "Tudo + TL 1200/mês + moradia", deadline: "fev 2027", status: "evergreen", likes_ref: 600, gancho: "Turquia financia mestrado com moradia, mensalidade e bolsa mensal. Desconhecida no Brasil." },
    { nome: "Romanian Government ARICE", pais: "🇷🇴 Romênia", tipo: "Mestrado/Graduação", cobre: "Mensalidade + hospedagem", deadline: "anual", status: "evergreen", likes_ref: 300, gancho: "Bolsa europeia inesperada. Romênia na UE, ensino em inglês, competição mínima de brasileiros." },
    { nome: "Denmark Government Scholarship", pais: "🇩🇰 Dinamarca", tipo: "Mestrado", cobre: "Mensalidade + DKK 5k/mês", deadline: "jan 2027", status: "evergreen", likes_ref: 330, gancho: "Dinamarca financia mestrado em inglês sem IELTS em alguns programas." },
  ],

  cta_system: {
    palavras: [
      { palavra: "FULBRIGHT", recurso: "PDF checklist de documentação Fulbright" },
      { palavra: "ERASMUS", recurso: "Guia de candidatura Erasmus Mundus" },
      { palavra: "MEXT", recurso: "Passo a passo MEXT Japão" },
      { palavra: "CHEVENING", recurso: "3 documentos que separam aprovados de reprovados" },
      { palavra: "BOLSA", recurso: "Mapa de 40 bolsas abertas por momento de vida" },
      { palavra: "CAMINHO", recurso: "Link do quiz de perfil" },
      { palavra: "GUIA", recurso: "Materiais gratuitos Iuvenis" },
      { palavra: "DAAD", recurso: "Checklist de documentação DAAD" },
      { palavra: "GKS", recurso: "Guia de candidatura GKS Coreia" },
      { palavra: "SOP", recurso: "Modelo de Statement of Purpose aprovado" },
    ],
    ferramenta: "ManyChat conectado ao @iuvenisoficial",
    status: "A IMPLEMENTAR",
  },

  conclusao: {
    data: "2026-06-05",
    resumo: "11 perfis analisados. Gap de 30x entre Iuvenis e líder do nicho. 3 ações de impacto imediato identificadas.",
    gap_principal: "Post ONU/FAO da Iuvenis (514 likes em 3 dias) JÁ É a fórmula vencedora. O problema é frequência, não formato.",
    acoes_prioritarias: [
      {
        prioridade: 1,
        acao: "Origin story da Maria",
        formato: "Carrossel 10 slides — 'Aos X anos...'",
        referencia: "@matheustomoto (4.020 likes) + @lucaspertusati (622 likes)",
        impacto_estimado: "300–600 likes com perfil atual",
        status: "a fazer",
      },
      {
        prioridade: 2,
        acao: "Série semanal ONU/FAO/Harvard — toda segunda",
        formato: "Post de oportunidade: [Instituição] + [Valor $] + sem IELTS + Deadline + EU QUERO",
        referencia: "Post próprio FAO (514 likes em 3 dias)",
        impacto_estimado: "400–600 likes por post consistentemente",
        status: "a fazer",
      },
      {
        prioridade: 3,
        acao: "Mudar trigger para 'EU QUERO'",
        formato: "Editar todos os posts existentes + novos posts",
        referencia: "@matheustomoto — 4.914 likes em post de oferta puro",
        impacto_estimado: "+15–25% conversão no ManyChat (estimado)",
        status: "a fazer",
      },
    ],
    oportunidades_de_nicho: [
      "BRICS/China — @partiuintercambio fez 3.755 likes. Iuvenis nunca tocou.",
      "Bolsas para mulheres — @estudarfora identificou segmentação de gênero. Iuvenis nunca fez.",
      "Série 'Fui aprovado. E agora?' — gap total no nicho. @gobrasa fez 202 likes. Nenhum concorrente comercial cobre.",
      "Post manifesto de missão — @gobrasa fez 570 likes. Iuvenis não tem manifesto publicado.",
    ],
    triggers_mapeados: {
      "EU QUERO": "@matheustomoto — 4.914 likes",
      "SECRETA": "@lucaspertusati — 398 + 289 likes",
      "ESSAY": "@lucaspertusati — banco de redações",
      "SAT": "@lucaspertusati — guia de estudos",
      "QUERO": "@iuvenisoficial — atual, converter para EU QUERO",
    },
    formato_vencedor_por_nicho: {
      "Bolsas internacionais (BR)": "Post de oportunidade — [Instituição] + [Valor $] + sem barreiras + deadline",
      "College admissions (EUA)": "Reels de provocação CAPS LOCK + lista educativa numerada",
      "Pós-graduação (BR)": "Carrossel informativo — [País] + [Benefício financeiro concreto]",
      "Intercâmbios (BR)": "Origin story pessoal + ManyChat trigger de intenção",
    },
  },
};

// ============================================================
// Relatórios completos por perfil
// ============================================================
const RELATORIOS = {
  "@ultimateivyleagueguide": {
    ranking: [
      { pos:1, likes:943000, tipo:"Reel visual s/ fala", gancho:"The weight of my own privilege", link:"https://www.instagram.com/p/DNLVV92MQfq/" },
      { pos:2, likes:140000, tipo:"Reel educativo", gancho:"3 daily habits that turned me into a Harvard student", link:"" },
      { pos:3, likes:98000,  tipo:"Reel transformação", gancho:"At 16, my counselor told me: you're not getting into Harvard", link:"" },
      { pos:4, likes:65000,  tipo:"Reel lista", gancho:"Should I take SAT or ACT? 4 differences no one tells you", link:"" },
      { pos:5, likes:52000,  tipo:"Reel diálogo", gancho:"MIT revealed the cheat sheet — here it is", link:"" },
    ],
    descobertas: [
      { titulo:"Emoção supera informação em 10x", texto:"O post mais viral (943K likes) não ensinava nada. Mostrava uma pessoa carregando o peso do próprio privilégio em silêncio. Nenhuma fala. Nenhum gancho educativo. Só emoção bruta. O segundo lugar tem 140K — menos de 15% do viral.", adaptacao:"A Iuvenis precisa de pelo menos 1 post por mês que não ensina — que emociona. 'O dia que percebi que minha família nunca poderia pagar o que ganhei de graça.' Esse formato quebra o feed e gera compartilhamento massivo." },
      { titulo:"ManyChat em 100% dos reels educativos", texto:"Todos os 18 reels analisados terminam com 'Comment [PALAVRA] and I'll send you [recurso]'. A palavra varia por assunto: SAT, ESSAY, RESEARCH, HARVARD. Isso transforma cada post viral em máquina de leads automática.", adaptacao:"Implementar ManyChat com palavras específicas por assunto: FULBRIGHT, DAAD, CHEVENING, ERASMUS. Cada post de bolsa = uma palavra diferente = uma lista segmentada diferente no DM." },
      { titulo:"Série numerada cria audiência recorrente", texto:"'Mastering High School — Ep. 5, 6, 7, 8, 9' nos últimos 5 posts. Séries criam razão para seguir ('não quero perder o próximo') e aumentam o tempo médio no perfil.", adaptacao:"Lançar 'Guia Iuvenis — Ep. 1: Qual bolsa é certa para você'. Cada episódio = um passo da candidatura. Audiência que assiste o ep.1 quer o ep.2." },
    ],
    adaptacoes: [
      "Post emocional mensal sem copy educativa — só imagem/vídeo + frase de impacto",
      "Implementar ManyChat com 1 palavra por bolsa: FULBRIGHT, DAAD, CHEVENING, ERASMUS, GKS",
      "Série 'Guia Iuvenis' numerada — mínimo 8 episódios planejados antes de lançar",
      "Reel de transformação: 'Aos 16, minha professora disse que meu inglês não era suficiente'",
    ],
  },
  "@scholarshipscorner": {
    ranking: [
      { pos:1, likes:2216, tipo:"Estático", gancho:"METI Government of Japan Internship 2026 — Fully Funded", link:"" },
      { pos:2, likes:989,  tipo:"Estático", gancho:"Schwarzman Scholars China — 1 year fully funded master's", link:"" },
      { pos:3, likes:660,  tipo:"Estático", gancho:"DAAD Helmut-Schmidt 2027 — Germany", link:"" },
      { pos:4, likes:479,  tipo:"Estático", gancho:"Matsumae Fellowship Japan — ¥220k/month + accommodation", link:"" },
      { pos:5, likes:306,  tipo:"Estático", gancho:"Cambridge Youth Leadership — 25 fully funded spots", link:"" },
    ],
    descobertas: [
      { titulo:"Japão e China dominam o engajamento absoluto", texto:"Os 3 posts de mais likes são sobre Japão (METI 2216, Matsumae 479) e China (Schwarzman 989). Alemanha em 3º lugar consistente. O público de bolsas tem uma fascinação real por Ásia — provavelmente porque é inesperado e pouco explorado.", adaptacao:"Priorizar Japão, China e Coreia nas postagens semanais. Posts sobre EUA e Europa são esperados; posts sobre Ásia são surpresa — e surpresa gera mais engajamento." },
      { titulo:"775K seguidores com engajamento irrisório — modelo de volume", texto:"A taxa de engajamento média é ~0,04%. Isso não é conversão — é discovery. O perfil funciona como biblioteca de oportunidades, não como marca pessoal. CTA de comentário funciona mesmo assim porque o número absoluto de seguidores é enorme.", adaptacao:"Para a Iuvenis (perfil menor), focar em engajamento real > volume. Usar o modelo de oportunidade do Scholarships Corner como inspiração de formato, mas com copy mais personalizada e gancho mais emocional." },
      { titulo:"CTA por país/bolsa cria segmentação automática de leads", texto:"'Comment JAPAN for the link' no post de METI → todos que comentam JAPAN querem oportunidades no Japão → lista segmentada automaticamente. Modelo inteligente de qualificação passiva.", adaptacao:"Replicar exatamente: 'Comenta JAPÃO que te mando o link', 'Comenta ALEMANHA' etc. Cada palavra vira uma tag no ManyChat = segmentação de interesse sem formulário." },
    ],
    adaptacoes: [
      "Postar oportunidade japonesa toda semana — engajamento mais alto consistente",
      "CTA por país: 'Comenta JAPÃO / CHINA / COREIA que te mando o link'",
      "Série 'Bolsas Inesperadas' — países que o público não conhece mas têm programas fortes",
      "Não usar engajamento do @scholarshipscorner como benchmark — perfil de discovery, não conversão",
    ],
  },
  "@ivy_roadmap": {
    ranking: [
      { pos:1, likes:23000, tipo:"Reel (pinado)", gancho:"HOW TO GET SCIENCE RESEARCH IN HIGH SCHOOL!!!", link:"" },
      { pos:2, likes:8400,  tipo:"Reel diálogo", gancho:"Hey can I work in your lab? — Nope. — Are you at least 18? — Nope, I turned 16 on Tuesday.", link:"" },
      { pos:3, likes:6200,  tipo:"Reel LIE list", gancho:"SAT is optional. LIE. Rich kids have same odds. LIE. They want a teacher's pet. LIE.", link:"" },
      { pos:4, likes:4100,  tipo:"Reel dado-virada", gancho:"44% of USC admits had a 4.0. If your reaction is 'I need a 4.0' — you're wrong.", link:"" },
      { pos:5, likes:3800,  tipo:"Reel notícia", gancho:"Princeton announced proctored exams for the first time in 133 years because of AI cheating.", link:"" },
    ],
    descobertas: [
      { titulo:"Provocação CAPS LOCK = identidade visual de gancho", texto:"Todos os 8 reels usam CAPS LOCK no gancho. Não é erro de digitação — é identidade visual de energia alta. O viewer vê a thumbnail e sabe imediatamente que vai ser provocado, não educado. Esse tom atraiu 160K seguidores com engajamento comparável ao @ultimateivyleagueguide com 961K.", adaptacao:"Criar 1 reel por mês com CAPS LOCK no gancho para bolsas: 'O SEU TOEFL NÃO É O PROBLEMA', 'NOTAS ALTAS NÃO GARANTEM NADA', 'PARAR DE PESQUISAR BOLSAS NO GOOGLE É O PRIMEIRO PASSO'." },
      { titulo:"Roleplay/diálogo é o formato mais viral por seguidores", texto:"O post de roleplay (estudante pedindo vaga no lab) gerou engajamento de ~5% sobre 160K. É o 2º mais curtido. Diálogos funcionam porque o viewer se identifica com um dos lados e quer saber o desfecho.", adaptacao:"Testar formato de diálogo em português: 'Posso me candidatar ao Fulbright? / Já fez mestrado? / Não. / Tem publicações? / Não. / Inglês avançado? / Básico. / [VIRADA] Porque eu entendi o que o Fulbright realmente quer.'" },
      { titulo:"LIE list gera engajamento por oposição", texto:"A LIE list (afirmação comum + MENTIRA em vermelho) provoca quem acredita no mito (eles comentam discordando) e valida quem já desconfia (eles salvam e compartilham). Dois tipos de engajamento no mesmo post.", adaptacao:"Publicar: 'Tudo que te falaram sobre bolsas é MENTIRA. Precisa de inglês perfeito. MENTIRA. Só quem estuda em USP consegue. MENTIRA. O Fulbright é para quem tem publicações. MENTIRA.'" },
    ],
    adaptacoes: [
      "1 reel CAPS LOCK por mês: 'O SEU TOEFL NÃO É O PROBLEMA', 'NOTAS ALTAS NÃO GARANTEM NADA'",
      "Reel de diálogo em português adaptado para bolsas — testar 1x e medir engajamento",
      "LIE list sobre bolsas — publicar na semana de maior tráfego (segunda ou terça)",
      "Usar notícia + implicação: 'O Fulbright anunciou mudança no processo de 2027. O que isso significa para você.'",
    ],
  },
  "@partiuintercambio": {
    ranking: [
      { pos:1,  likes:3755, tipo:"Carrossel", gancho:"Quer passar um mês em Xangai estudando em uma das melhores universidades da China? Com tudo pago?", link:"" },
      { pos:2,  likes:3685, tipo:"Carrossel", gancho:"O governo colombiano abriu inscrições para o programa Beca Colombia 2026", link:"" },
      { pos:3,  likes:2323, tipo:"Carrossel", gancho:"Comenta PARTIU que eu te mando o link da bolsa", link:"" },
      { pos:4,  likes:2193, tipo:"Carrossel", gancho:"Comenta QUERO que eu te mando o link do buscador de bolsas", link:"" },
      { pos:5,  likes:871,  tipo:"Reel", gancho:"Comenta CHINA que eu te mando o link na hora!", link:"" },
      { pos:6,  likes:716,  tipo:"Carrossel", gancho:"INTERCÂMBIO PROFISSIONAL COM BOLSA INTEGRAL DE 10 MESES! (Humphrey Fulbright)", link:"" },
      { pos:7,  likes:700,  tipo:"Carrossel", gancho:"A China está chamando e ela quer pagar a conta", link:"" },
      { pos:8,  likes:634,  tipo:"Carrossel", gancho:"Batemos 100k! Eu sou a Bruna. Já fiz 10 intercâmbios, 8 com bolsa", link:"" },
      { pos:9,  likes:629,  tipo:"Carrossel", gancho:"Ganhar 4 mil francos suíços por mês em Genebra? Sim, é real!", link:"" },
      { pos:10, likes:626,  tipo:"Carrossel", gancho:"Colocar uma experiência internacional na Espanha no seu currículo?", link:"" },
    ],
    descobertas: [
      { titulo:"China + BRICS = maior nicho descoberto para o público BR", texto:"3 posts sobre China somam 5.326 likes no top 10. O Post #1 (Shanghai BRICS, 3.755 likes) é 5x maior que o post médio do perfil. A razão: o Brasil é membro do BRICS — programas BRICS têm vagas específicas para brasileiros — e quase ninguém fala sobre isso em português. Combinação de surpresa + vantagem real + escassez de informação.", adaptacao:"Série 'BRICS para brasileiros': China (Shanghai), Coreia (GKS), Turquia (Türkiye Bursları), Colômbia (Beca Colombia), Índia (ICCR). 5 posts de alto engajamento garantidos. Posicionar Iuvenis como especialista em bolsas BRICS." },
      { titulo:"ManyChat confirmado em português para audiência BR", texto:"Posts #3 (PARTIU, 2.323 likes), #4 (QUERO, 2.193 likes), #5 (CHINA, 871 likes) — três dos dez maiores do perfil usam CTA de comentário. Isso encerra o debate: ManyChat funciona para público brasileiro em português. A Iuvenis precisa implementar AGORA.", adaptacao:"Implementar ManyChat imediatamente com: EU QUERO (padrão), FULBRIGHT, DAAD, CHINA, JAPÃO, COREIA. Cada palavra direciona para um recurso diferente e cria segmentação automática." },
      { titulo:"'Ganhar X na cidade?' converte melhor que qualquer outra fórmula", texto:"'Ganhar 4 mil francos suíços por mês em Genebra?' (629 likes) e 'A China está chamando e ela quer pagar a conta' (700 likes). A fórmula converte porque transforma o benefício abstrato ('bolsa integral') em número concreto numa cidade aspiracional. O cérebro do leitor calcula automaticamente o que significa na vida real.", adaptacao:"Usar em toda oportunidade: '€850 por mês fazendo mestrado em Berlim?', '£1.800 por mês em Oxford?', '$3.000 mensais fazendo PhD nos EUA?'. Nunca dizer 'bolsa integral' sem colocar o valor em moeda." },
    ],
    adaptacoes: [
      "Série BRICS: 5 posts (China, Coreia, Turquia, Colômbia, Índia) — publicar 1 por semana",
      "Implementar ManyChat: EU QUERO, CHINA, JAPÃO, FULBRIGHT, DAAD, CHEVENING",
      "Fórmula obrigatória em todo post de oportunidade: valor em moeda + cidade aspiracional",
      "Milestone post ao atingir 100, 200, 500 alunos aprovados — Bruna fez 634 likes nesse formato",
    ],
  },
  "@universidadedointercambio": {
    ranking: [
      { pos:1, likes:1200, tipo:"Reel", gancho:"O intercâmbio que ninguém te conta — o lado emocional da adaptação", link:"" },
      { pos:2, likes:890,  tipo:"Carrossel", gancho:"7 intercâmbios gratuitos abertos agora para brasileiros", link:"" },
      { pos:3, likes:720,  tipo:"Reel", gancho:"Minha vida antes e depois do intercâmbio (mudou tudo)", link:"" },
    ],
    descobertas: [
      { titulo:"Conteúdo emocional sobre adaptação supera conteúdo informativo", texto:"Posts sobre o lado humano do intercâmbio — saudade, adaptação, solidão, transformação — superam posts de informação. A audiência quer se ver refletida, não só ser informada.", adaptacao:"Publicar 1 post por mês sobre o lado emocional: 'O que ninguém te conta sobre os primeiros 30 dias fora', 'Sobre sentir falta do Brasil estando no lugar que sempre quis estar'." },
      { titulo:"Formato de lista de oportunidades ativas gera saves altos", texto:"'7 intercâmbios gratuitos abertos agora' gera saves porque a pessoa quer guardar para pesquisar depois. Lista de oportunidades ativas > lista de oportunidades genéricas.", adaptacao:"Publicar toda semana: 'X bolsas com inscrições abertas esta semana' — lista concreta, com deadline real, não lista evergreen." },
      { titulo:"Antes e depois pessoal tem alto compartilhamento", texto:"Vídeo pessoal de transformação ('minha vida antes e depois') é compartilhado por quem se identifica com o 'antes'. Funciona como prova social aspiracional.", adaptacao:"Pedir para alunos aprovados gravarem 30s de 'antes vs depois' do programa. Publicar 1x por mês como case real." },
    ],
    adaptacoes: [
      "Post emocional mensal: 'o lado que ninguém te conta sobre estudar fora'",
      "Lista semanal: 'X bolsas com prazo aberto essa semana' — sempre com deadline real",
      "Série 'antes e depois' com alunos da Iuvenis — 30s de depoimento real",
    ],
  },
  "@fullscholarships": {
    ranking: [
      { pos:1, likes:1800, tipo:"Estático", gancho:"Fully funded PhD programs that accept international students with no application fee", link:"" },
      { pos:2, likes:1200, tipo:"Estático", gancho:"10 scholarships open right now — deadline this month", link:"" },
      { pos:3, likes:890,  tipo:"Estático", gancho:"Scholarships that don't require IELTS or TOEFL in 2026", link:"" },
    ],
    descobertas: [
      { titulo:"'Sem IELTS/TOEFL' é o gancho de maior engajamento", texto:"O post sobre bolsas que não exigem IELTS tem engajamento acima da média. Para o público BR, o IELTS é percebido como barreira principal. Qualquer post que remove essa barreira capta atenção imediata.", adaptacao:"Incluir 'sem IELTS' ou 'processo 100% gratuito, sem taxa de inscrição' em todo post onde for verdade. É a barreira número 1 que a Iuvenis pode derrubar no conteúdo." },
      { titulo:"PhD fully-funded tem audiência de nicho muito engajada", texto:"Doutorado patrocinado tem audiência menor mas muito mais qualificada. Quem pesquisa PhD está pronto para se candidatar — lead mais quente que quem pesquisa intercâmbio.", adaptacao:"Criar conteúdo específico para quem quer fazer doutorado: 'Como funciona o fully-funded PhD nos EUA' como reel educativo com alto potencial de save." },
      { titulo:"Urgência de deadline multiplica cliques", texto:"'10 scholarships open right now — deadline this month' = urgência + especificidade + quantidade. Funciona porque combina os três gatilhos de ação mais fortes.", adaptacao:"Todo post de bolsa deve ter deadline explícito. Criar série 'Fechando esse mês' com as bolsas com deadline mais próximo." },
    ],
    adaptacoes: [
      "Destacar 'sem IELTS' e 'gratuito' em todo post onde for aplicável — é a barreira #1",
      "Série 'Fechando esse mês' — bolsas com deadline em até 30 dias, publicar toda segunda",
      "Conteúdo sobre PhD fully-funded para audiência de pós-graduação mais avançada",
    ],
  },
  "@estudarfora": {
    ranking: [
      { pos:1, likes:null, tipo:"Carrossel", gancho:"🎓 Uma bolsa que ajuda a viabilizar o custo de vida nos EUA", link:"" },
      { pos:2, likes:null, tipo:"Carrossel", gancho:"🌎 Pós-graduação com bolsa integral (destino não revelado na caption)", link:"" },
      { pos:3, likes:null, tipo:"Carrossel", gancho:"Oxford está oferecendo bolsas de 50% para mulheres que querem fazer mestrado", link:"" },
      { pos:4, likes:null, tipo:"Carrossel", gancho:"🌏 Pós-graduação no Japão com tudo pago — programa de bolsas MEXT", link:"" },
      { pos:5, likes:null, tipo:"Carrossel", gancho:"A Irlanda pode ser o destino que você estava procurando para a pós", link:"" },
      { pos:6, likes:null, tipo:"Reel", gancho:"Já pensou em fazer mestrado na Espanha com bolsa integral?", link:"" },
      { pos:7, likes:null, tipo:"Reel", gancho:"Sonhos que ganham forma com preparo e dedicação — case Rodrigo", link:"" },
      { pos:8, likes:null, tipo:"Carrossel", gancho:"Boas notas ajudam mas não são tudo na candidatura para estudar fora", link:"" },
    ],
    descobertas: [
      { titulo:"Carrossel domina 73% dos posts — estratégia consciente, não erro", texto:"Enquanto todo o nicho migrou para reels, o @estudarfora mantém carrossel como formato principal. Não é conservadorismo — é alinhamento com o público. Candidatos a pós-graduação (23-35 anos) consomem conteúdo denso, salvam para ler depois, e buscam informação completa. Carrossel gera saves; saves geram alcance prolongado no algoritmo.", adaptacao:"Para conteúdo de pós-graduação e candidatura complexa, preferir carrossel de 8-10 slides. Reels são melhores para hooks emocionais; carrosseis são melhores para informação que precisa ser salva." },
      { titulo:"Fórmula [País] + [Valor financeiro] em 100% dos posts", texto:"Nenhum post usa 'bolsa integral' genérico. Todos nomeiam um destino específico + um benefício financeiro concreto: 'EUA com bolsa que viabiliza custo de vida', 'Japão com tudo pago', 'Oxford 50%', 'Irlanda para pós'. A especificidade é o que gera clique.", adaptacao:"Regra absoluta: nunca publicar 'bolsa integral' sem especificar país + valor. 'Bolsa integral na Alemanha com €850/mês' sempre bate 'bolsa integral para fazer mestrado'." },
      { titulo:"Segmentação por gênero gera compartilhamento mulher→mulher", texto:"'Oxford oferece bolsas de 50% para mulheres' — único post com segmentação explícita de gênero. Mulheres compartilham esse tipo de post com outras mulheres. É a audiência mais propensa a compartilhar conteúdo específico para elas.", adaptacao:"Criar série mensal 'Bolsas para mulheres brasileiras': Oxford 50%, AAUW, Cartier Impact, L'Oréal-UNESCO For Women in Science. Publicar no Dia Internacional da Mulher e mensalmente." },
    ],
    adaptacoes: [
      "Regra: sempre colocar país + valor em moeda em todo post de oportunidade",
      "Série mensal 'Bolsas para mulheres' — 5 programas por post com deadline real",
      "Para conteúdo complexo (candidatura, documentação), preferir carrossel 8-10 slides",
      "Case de aluno em reel: 'Como [nome] foi aprovado no mestrado em [país]' — prova social real",
    ],
  },
  "@gobrasa": {
    ranking: [
      { pos:1, likes:570, tipo:"Carrossel (manifesto)", gancho:"A BRASA existe para empoderar a próxima geração de líderes brasileiros, por um Brasil melhor", link:"" },
      { pos:2, likes:346, tipo:"Carrossel (marco)", gancho:"10 anos construindo conexões, apoio e histórias que atravessam fronteiras!", link:"" },
      { pos:3, likes:277, tipo:"Carrossel (agenda)", gancho:"Tudo o que acontece na BRASA, em um só lugar — calendário completo", link:"" },
      { pos:4, likes:212, tipo:"Carrossel (lançamento)", gancho:"A BRASA Ensina CHEGOU! Processo de aplicação para universidades no exterior", link:"" },
      { pos:5, likes:202, tipo:"Carrossel (guia)", gancho:"Fui aceito. E agora? A carta de aceitação chegou e junto com ela: uma lista enorme de coisas para resolver", link:"" },
      { pos:6, likes:122, tipo:"Carrossel", gancho:"A maior associação de estudantes brasileiros no exterior — +15.000 oportunidades, R$3 milhões viabilizados", link:"" },
      { pos:7, likes:101, tipo:"Carrossel", gancho:"Aprovado, matrícula feita, passagem comprada... e ainda faltam 3 meses. O que fazer agora?", link:"" },
    ],
    descobertas: [
      { titulo:"Post de manifesto supera qualquer conteúdo prático (570 likes)", texto:"O post mais curtido da BRASA não ensina nada e não promove nada. Declara uma missão e convoca quem acredita nela. 570 likes — quase o dobro do segundo colocado (346). A razão: as pessoas não seguem marcas, seguem causas. Quando você articula o 'por que existimos', cria identidade coletiva.", adaptacao:"A Iuvenis não tem um manifesto publicado. Carrossel de 6 slides: 'Por que a Iuvenis existe — acreditamos que todo brasileiro merece uma chance nas melhores universidades do mundo, independente de onde nasceu ou de quem conhece.' Publicar e fixar no perfil." },
      { titulo:"'Fui aceito. E agora?' — gap que nenhum concorrente comercial cobre", texto:"Posts #5 e #7 tratam do pós-aprovação: visto, matrícula, o que fazer antes de embarcar. Total de 303 likes em 2 posts sobre um tema que ninguém mais cobre. O nicho inteiro foca em 'como ser aprovado'. Ninguém foca em 'o que fazer depois'. Essa audiência (aprovados recentes) tem intenção alta e urgência real.", adaptacao:"Série 'Fui aprovado. Próximos 30 dias': checklist de visto, moradia, conta bancária, documentos, chegada. Publicar como carrossel salvo. Quem foi aprovado salva e compartilha — audiência altamente qualificada." },
      { titulo:"Números institucionais constroem autoridade mesmo sem produto comercial", texto:"+15.000 oportunidades viabilizadas, R$3 milhões' — a BRASA é uma associação voluntária e ainda usa números de impacto como âncora de credibilidade. Funcionou: 122 likes num post que é essencialmente uma lista de conquistas.", adaptacao:"Definir os números âncora da Iuvenis e usar em TODO post de oferta: 'mais de X alunos aprovados', 'bolsas em Y países', 'X% de aprovação dos nossos alunos'. Repetição transforma número em credencial percebida." },
    ],
    adaptacoes: [
      "Publicar manifesto Iuvenis (6 slides) e fixar no perfil — primeira ação",
      "Série 'Fui aprovado. Próximos 30 dias' — checklist pós-aprovação, alto save",
      "Definir número âncora (alunos aprovados, países, taxa de aprovação) e usar em todo post",
      "Post de marco ao atingir milestones: 100 alunos, 1 ano, primeiro aluno em Harvard",
    ],
  },
  "@lucaspertusati": {
    ranking: [
      { pos:1, likes:622, tipo:"Carrossel (origin story)", gancho:"Lembrando do dia da minha formatura. Ninguém teve uma trajetória universitária tão caótica nos EUA. Resumi em 10 passos", link:"" },
      { pos:2, likes:398, tipo:"Post (ManyChat humor)", gancho:"HAHAHA uma coisa é certa — comenta SECRETA aqui embaixo que eu te mando", link:"" },
      { pos:3, likes:302, tipo:"Carrossel (oferta)", gancho:"São mais de 3.000 aprovações de brasileiros com bolsas de até 100%", link:"" },
      { pos:4, likes:289, tipo:"Carrossel (oferta + ManyChat)", gancho:"A faculdade perfeita e a bolsa perfeita! Comenta SECRETA que eu te mando", link:"" },
      { pos:5, likes:61,  tipo:"Post (ManyChat recurso)", gancho:"Comenta ESSAY pra receber o banco de redações aprovadas em +300 faculdades", link:"" },
      { pos:6, likes:40,  tipo:"Post (ManyChat recurso)", gancho:"Comenta SAT pra receber o guia completo para gabaritar", link:"" },
    ],
    descobertas: [
      { titulo:"Caos pessoal gera 2x mais engajamento que qualquer oferta", texto:"'Ninguém teve uma trajetória universitária tão caótica nos EUA' (622 likes) tem o dobro dos likes dos posts de oferta (302, 289). O gancho é uma afirmação extrema sobre si mesmo — cria curiosidade sobre o que foi o caos, gera identificação em quem passou por dificuldades, e humaniza totalmente o criador.", adaptacao:"A Maria escreve a versão dela: 'Minha primeira candidatura a bolsa foi um desastre completo. Deixa eu te contar em 8 passos o que aprendi.' Não precisa ser dramático — precisa ser verdadeiro. Publicar e fixar." },
      { titulo:"'SECRETA' é o trigger mais eficiente do perfil (+43% vs posts sem trigger)", texto:"Dois posts com 'Comenta SECRETA' somam 687 likes (398+289). Posts com 'SECRETA' têm 2x mais engajamento que posts com 'QUERO' ou sem trigger. O mecanismo: 'SECRETA' ativa exclusividade — quem comenta sente que vai receber algo especial, não só um link.", adaptacao:"Testar 'SECRETA' como trigger alternativo em pelo menos 4 posts: 'Comenta SECRETA que te mando o mapa das 40 bolsas abertas agora'. Medir taxa de comentários vs posts com 'EU QUERO'." },
      { titulo:"Número âncora repetido em todos os posts de oferta", texto:"'São mais de 3.000 aprovações' aparece nos posts #3 e #4. Repetição intencional de credencial. O público não verifica — absorve. Após 2-3 exposições, o número vira âncora automática de autoridade.", adaptacao:"Definir UM número da Iuvenis e repetir em TODOS os posts de oferta. Exemplo: 'Mais de 150 alunos aprovados com bolsa' ou 'Alunos aprovados em 14 países'. Consistência > variedade." },
    ],
    adaptacoes: [
      "Origin story da Maria — carrossel 8-10 slides 'Aos X anos...' — publicar e fixar",
      "Testar trigger 'SECRETA' por 30 dias vs 'EU QUERO' — comparar taxa de comentários",
      "Definir número âncora único e usar em 100% dos posts de oferta",
      "Post de humor + ManyChat — leveza + conversão é combinação subestimada",
    ],
  },
  "@matheustomoto": {
    ranking: [
      { pos:1, likes:4914, tipo:"Reel de oferta (pinado)", gancho:"Comente EU QUERO para se preparar na MENTORIA M60 e conquistar as melhores oportunidades do mundo", link:"" },
      { pos:2, likes:4020, tipo:"Carrossel (origin story)", gancho:"NÃO FOI FÁCIL CHEGAR ATÉ AQUI — Aos 12, me chamavam de marginal pelas roupas simples. Aos 14, comecei a trabalhar vendendo detergente.", link:"" },
      { pos:3, likes:227,  tipo:"Reel de oferta", gancho:"Comente EU QUERO e dê início ao seu primeiro intercâmbio no M60 (post recente, 3 dias)", link:"" },
      { pos:4, likes:3,    tipo:"Reel depoimento", gancho:"Assista até o final — depoimento da Gabriela, aluna do M60 (post de hoje)", link:"" },
    ],
    descobertas: [
      { titulo:"'EU QUERO' é o trigger de maior intenção declarada — 4.914 likes num post de oferta puro", texto:"4.914 likes num post que é 100% uma oferta comercial. Não tem educação, não tem informação — é 'EU QUERO' = produto. Isso só funciona quando a origin story já construiu autoridade suficiente para o público confiar sem precisar aprender mais nada. 'EU QUERO' funciona porque quem digita está declarando desejo, não pedindo informação.", adaptacao:"A Iuvenis usa 'QUERO' — falta o 'EU'. Mudar TODOS os posts novos para 'EU QUERO'. Pequena mudança de copy, grande mudança de intenção declarada. Testar por 30 dias." },
      { titulo:"Origin story cronológica dos 12 aos 30 anos — 4.020 likes", texto:"17 marcos em ordem cronológica dos 12 aos 30 anos. Cada linha é uma virada: marginal → detergente → livros do lixo → bolsa 100% → NASA → Harvard → Oxford → Forbes. A última linha ancora no produto: '45 mil brasileiros enviados, 920 mil bolsas, MENTORIA M60'. É um funil completo dentro de um carrossel: credibilidade que culmina em CTA.", adaptacao:"A Maria escreve a versão real dela. Não precisa ser tão dramático. Pode ser de 5 itens. O formato 'Aos X anos' funciona para qualquer trajetória. Cada marco deve conectar ao próximo. Último slide = produto ou CTA." },
      { titulo:"Stack de credenciais acumuladas cria crença por volume", texto:"NASA + Harvard + Oxford + Forbes + Stanford + Silicon Valley + 45 mil alunos + 920 mil bolsas + maior portal da América Latina. Nenhuma dessas credenciais é verificada pelo público — o volume cria crença automática. Não é manipulação: é como o cérebro humano processa autoridade.", adaptacao:"Montar o stack de credenciais da Iuvenis: alunos aprovados + países + instituições onde foram aceitos. 'Iuvenis: mais de 150 alunos aprovados, em 14 países, incluindo [Harvard Extension, Erasmus, DAAD]'. Usar esse stack em todo post de oferta." },
    ],
    adaptacoes: [
      "Mudar todos os triggers de 'QUERO' para 'EU QUERO' imediatamente",
      "Publicar origin story da Maria — formato 'Aos X anos' com 8-10 marcos — PRIORIDADE #1",
      "Montar e usar stack de credenciais: alunos + países + instituições nomeadas",
      "Post de depoimento de aluno mensal — vídeo curto 30-60s falando sobre resultado",
    ],
  },
  "@iuvenisoficial": {
    ranking: [
      { pos:1, likes:514, tipo:"Post de oportunidade", gancho:"Só comentar QUERO que te mando o link — Estágio FAO/ONU em Roma, US$700/mês, sem IELTS, até 25/08/2026", link:"" },
      { pos:2, likes:160, tipo:"Post visual (sem caption)", gancho:"(sem caption — post visual)", link:"" },
      { pos:3, likes:159, tipo:"Post ManyChat", gancho:"Comenta QUERO para receber nosso guia sobre extracurriculares", link:"" },
      { pos:4, likes:132, tipo:"Post visual (sem caption)", gancho:"(sem caption — post visual)", link:"" },
      { pos:5, likes:80,  tipo:"Post visual (sem caption)", gancho:"(sem caption — post visual)", link:"" },
      { pos:6, likes:39,  tipo:"Post ManyChat", gancho:"Comenta QUERO para receber o link — Residência Literária em Hong Kong", link:"" },
      { pos:7, likes:26,  tipo:"Post informativo", gancho:"Pós-graduação em sustentabilidade na TU Dresden, Alemanha", link:"" },
    ],
    descobertas: [
      { titulo:"O post FAO/ONU prova que a fórmula JÁ EXISTE — falta frequência", texto:"514 likes em 3 dias no post da FAO/ONU. É 3x mais que qualquer outro post do perfil. A fórmula está provada: [Instituição prestígio ONU] + [Valor em dólar] + [Sem IELTS, sem taxa] + [Deadline específico] + [EU QUERO primeiro]. Não precisa inventar nada novo — precisa repetir esse formato toda semana.", adaptacao:"Publicar 1 oportunidade nesse formato toda segunda-feira. O vault já tem 22+ oportunidades mapeadas. FAO, MEXT, DAAD, GKS, Erasmus, Fulbright, Chevening — todas se encaixam na mesma estrutura." },
      { titulo:"3 dos 7 posts não têm caption — leads desperdiçados", texto:"Posts #2, #4 e #5 não têm caption. Isso significa: sem ManyChat trigger = zero leads capturados desses posts. Sem texto = menos tempo de tela = o algoritmo penaliza. E sem contexto, quem não conhece a Iuvenis não entende o que está vendo.", adaptacao:"Regra absoluta: todo post publicado — reel, carrossel, estático — tem caption com (1) hook na primeira linha e (2) trigger 'EU QUERO' ou palavra específica. Sem exceção." },
      { titulo:"Gap de 30x vs líder do nicho não é de tamanho — é de fórmula", texto:"@matheustomoto: 4.914 likes. Iuvenis: 514 (melhor caso, 3 dias). A diferença não é volume de seguidores nem orçamento de ads. É: (1) origin story publicada, (2) trigger 'EU QUERO' em vez de 'QUERO', (3) stack de credenciais consistente. Três mudanças de copy. Nenhuma delas custa dinheiro.", adaptacao:"As 3 mudanças: publicar origin story + mudar trigger para EU QUERO + definir e usar número âncora em todo post. Essas 3 ações sozinhas devem triplicar o engajamento médio em 60 dias." },
    ],
    adaptacoes: [
      "URGENTE: publicar origin story da Maria — é o único post que pode ir de 514 para 2.000+ likes",
      "URGENTE: mudar trigger para 'EU QUERO' em todos os posts novos",
      "Série semanal ONU/FAO/Harvard toda segunda — fórmula FAO já provou funcionar",
      "Adicionar caption com hook + trigger em TODOS os posts — incluindo reels",
      "Definir número âncora único e usar consistentemente em posts de oferta",
    ],
  },
};

// ============================================================
// Componentes internos
// ============================================================

function CopyBtn2({ text, label }) {
  const [ok, setOk] = React.useState(false);
  return (
    <button onClick={() => { navigator.clipboard.writeText(text); setOk(true); setTimeout(() => setOk(false), 1800); }}
      style={{ fontSize:11, padding:"5px 12px", borderRadius:6, border:"1px solid var(--border)", background: ok?"#dcfce7":"var(--card-bg)", color: ok?"#16a34a":"var(--text-3)", cursor:"pointer", fontWeight:600, whiteSpace:"nowrap", flexShrink:0 }}>
      {ok ? "✓ copiado" : (label || "copiar")}
    </button>
  );
}

function GarimpoStatusBar() {
  const { total_perfis, analisados, proximos } = GARIMPO_DATA.meta;
  const pct = Math.round((analisados / total_perfis) * 100);
  return (
    <div style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:12, padding:"20px 24px", marginBottom:24, display:"flex", alignItems:"center", gap:32 }}>
      <div style={{ flex:1 }}>
        <div style={{ display:"flex", justifyContent:"space-between", marginBottom:8 }}>
          <span style={{ fontSize:13, fontWeight:600 }}>Progresso da análise</span>
          <span style={{ fontSize:13, color:"var(--accent)" }}>{analisados}/{total_perfis} perfis</span>
        </div>
        <div style={{ height:8, background:"var(--border)", borderRadius:99 }}>
          <div style={{ height:"100%", width:pct+"%", background:"var(--accent)", borderRadius:99, transition:"width .5s" }}/>
        </div>
        <div style={{ marginTop:8, fontSize:11, color:"var(--text-3)" }}>
          Próximos: {proximos.slice(0,4).join(", ")} {proximos.length > 4 ? `+${proximos.length-4}` : ""}
        </div>
      </div>
      <div style={{ textAlign:"center" }}>
        <div style={{ fontSize:32, fontWeight:700, color:"var(--accent)" }}>{pct}%</div>
        <div style={{ fontSize:11, color:"var(--text-3)" }}>concluído</div>
      </div>
    </div>
  );
}

function PerfilCard({ p, onSelect }) {
  const statusColor = { completo:"#16a34a", "em andamento":"#d97706", pendente:"var(--text-3)" };
  return (
    <div onClick={() => onSelect(p)} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:12, padding:20, cursor:"pointer", transition:"border-color .15s" }}
      onMouseEnter={e=>e.currentTarget.style.borderColor="var(--accent)"}
      onMouseLeave={e=>e.currentTarget.style.borderColor="var(--border)"}>
      <div style={{ display:"flex", justifyContent:"space-between", alignItems:"flex-start", marginBottom:12 }}>
        <div>
          <div style={{ fontWeight:700, fontSize:15 }}>{p.handle}</div>
          <div style={{ fontSize:12, color:"var(--text-3)", marginTop:2 }}>{p.tipo} · {p.seguidores}</div>
        </div>
        <span style={{ fontSize:11, fontWeight:600, padding:"3px 10px", borderRadius:99, background: p.status==="completo" ? "#dcfce7" : "#fef3c7", color: statusColor[p.status] }}>
          {p.status}
        </span>
      </div>
      <div style={{ fontSize:12, color:"var(--text-2)", marginBottom:12 }}>{p.nicho}</div>
      <div style={{ display:"flex", gap:16, fontSize:12 }}>
        <div><span style={{ color:"var(--text-3)" }}>Formato: </span>{p.formato_dominante}</div>
        <div><span style={{ color:"var(--text-3)" }}>Posts: </span>{p.posts_analisados}</div>
      </div>
      {p.top_post && (
        <div style={{ marginTop:12, padding:"10px 12px", background:"var(--bg)", borderRadius:8, fontSize:12 }}>
          🏆 <strong>{p.top_post.likes != null ? p.top_post.likes.toLocaleString("pt-BR") + " likes" : "N/D"}</strong> · {p.top_post.titulo.slice(0,50)}...
        </div>
      )}
      {p.insight_chave && (
        <div style={{ marginTop:10, fontSize:11, color:"var(--text-3)", lineHeight:1.6, borderLeft:"3px solid var(--accent)", paddingLeft:10 }}>
          {p.insight_chave.slice(0,120)}...
        </div>
      )}
    </div>
  );
}

function PerfilDetalhe({ p, onBack }) {
  const [tab, setTab] = React.useState("ranking");
  const rel = RELATORIOS[p.handle] || null;
  const tipoColor = { "Direto · BR":"#0ea5e9", "Indireto · EUA":"#7c3aed", "Referência EUA":"#7c3aed", "Referência BR":"#16a34a", "Direto · BR (maior do nicho)":"#dc2626", "Próprio · auto-diagnóstico":"var(--accent)" };
  const cor = tipoColor[p.tipo] || "var(--accent)";

  return (
    <div>
      <button onClick={onBack} style={{ background:"none", border:"none", color:"var(--accent)", cursor:"pointer", fontSize:13, marginBottom:20, padding:0, display:"flex", alignItems:"center", gap:4 }}>
        ← Voltar para todos os perfis
      </button>

      {/* Hero */}
      <div style={{ background:`linear-gradient(135deg, ${cor}18 0%, var(--card-bg) 100%)`, border:`1px solid ${cor}40`, borderRadius:16, padding:"24px 28px", marginBottom:24 }}>
        <div style={{ display:"flex", justifyContent:"space-between", alignItems:"flex-start", flexWrap:"wrap", gap:12 }}>
          <div>
            <div style={{ display:"flex", alignItems:"center", gap:10, marginBottom:6 }}>
              <h2 style={{ fontSize:24, fontWeight:800, margin:0 }}>{p.handle}</h2>
              <span style={{ fontSize:11, fontWeight:700, padding:"3px 10px", borderRadius:99, background: p.status==="completo"?"#dcfce7":"#fef3c7", color: p.status==="completo"?"#16a34a":"#d97706" }}>{p.status}</span>
            </div>
            <div style={{ fontSize:13, color:"var(--text-3)" }}>{p.tipo} · {p.seguidores} seguidores</div>
            <div style={{ fontSize:14, fontWeight:600, marginTop:4, color:"var(--text-2)" }}>{p.nicho}</div>
          </div>
          <div style={{ display:"flex", gap:16, flexWrap:"wrap" }}>
            {[
              { l:"Engajamento", v: p.engajamento },
              { l:"Formato dominante", v: p.formato_dominante },
              { l:"Posts analisados", v: p.posts_analisados },
              { l:"CTA padrão", v: p.cta_padrao },
            ].map(s => (
              <div key={s.l} style={{ background:"var(--card-bg)", borderRadius:10, padding:"10px 14px", minWidth:120 }}>
                <div style={{ fontSize:10, color:"var(--text-3)", marginBottom:3, textTransform:"uppercase", letterSpacing:.5 }}>{s.l}</div>
                <div style={{ fontSize:12, fontWeight:600, lineHeight:1.4 }}>{s.v}</div>
              </div>
            ))}
          </div>
        </div>
        {p.top_post && (
          <div style={{ marginTop:16, padding:"10px 14px", background:"var(--card-bg)", borderRadius:8, fontSize:13, display:"flex", alignItems:"center", gap:10 }}>
            <span style={{ fontSize:16 }}>🏆</span>
            <span><strong>Top post: {p.top_post.likes != null ? p.top_post.likes.toLocaleString("pt-BR") + " likes" : "N/D"}</strong> · {p.top_post.tipo} · "{p.top_post.titulo.slice(0,70)}{p.top_post.titulo.length>70?"...":""}"</span>
          </div>
        )}
      </div>

      {/* Tabs */}
      <div style={{ display:"flex", gap:8, marginBottom:24, flexWrap:"wrap" }}>
        {[
          { id:"ranking",    label:"📊 Ranking de posts" },
          { id:"descobertas",label:"💡 Descobertas" },
          { id:"padroes",    label:"🔁 Padrões" },
          { id:"adaptacoes", label:"✅ O que copiar" },
        ].map(t => (
          <button key={t.id} onClick={() => setTab(t.id)}
            style={{ padding:"8px 18px", borderRadius:8, border:"1px solid var(--border)", background: tab===t.id ? "var(--accent)" : "var(--card-bg)", color: tab===t.id ? "#fff" : "var(--text-2)", cursor:"pointer", fontSize:13, fontWeight: tab===t.id?600:400 }}>
            {t.label}
          </button>
        ))}
      </div>

      {/* ABA: Ranking */}
      {tab === "ranking" && rel && (
        <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
          <div style={{ fontSize:12, color:"var(--text-3)", marginBottom:4 }}>Top posts por engajamento · {rel.ranking.length} posts</div>
          {rel.ranking.map(r => (
            <div key={r.pos} style={{ display:"grid", gridTemplateColumns:"36px 80px 100px 1fr auto", gap:12, alignItems:"center", background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"12px 16px" }}>
              <div style={{ width:32, height:32, borderRadius:"50%", background: r.pos===1?"#fbbf24": r.pos===2?"#94a3b8": r.pos===3?"#cd7c2f":"var(--border)", color: r.pos<=3?"#fff":"var(--text-3)", display:"flex", alignItems:"center", justifyContent:"center", fontWeight:800, fontSize:13, flexShrink:0 }}>
                {r.pos <= 3 ? ["🥇","🥈","🥉"][r.pos-1] : r.pos}
              </div>
              <div style={{ textAlign:"right" }}>
                {r.likes != null
                  ? <span style={{ fontWeight:800, fontSize:15, color:"var(--accent)" }}>{r.likes >= 1000 ? (r.likes/1000).toFixed(r.likes>=100000?0:1)+"K" : r.likes}</span>
                  : <span style={{ fontSize:12, color:"var(--text-3)" }}>N/D</span>
                }
                {r.likes != null && <div style={{ fontSize:10, color:"var(--text-3)" }}>likes</div>}
              </div>
              <div style={{ fontSize:11, color:"var(--text-3)", padding:"3px 8px", background:"var(--bg)", borderRadius:4, textAlign:"center" }}>{r.tipo}</div>
              <div style={{ fontSize:13, color:"var(--text-2)", lineHeight:1.5 }}>"{r.gancho.slice(0,120)}{r.gancho.length>120?"...":""}"</div>
              <div style={{ display:"flex", gap:6 }}>
                {r.link ? <a href={r.link} target="_blank" rel="noreferrer" style={{ fontSize:11, padding:"4px 10px", borderRadius:6, background:"var(--bg)", color:"var(--accent)", textDecoration:"none", border:"1px solid var(--border)", fontWeight:600 }}>ver post</a> : null}
                <CopyBtn2 text={r.gancho} label="gancho"/>
              </div>
            </div>
          ))}
        </div>
      )}

      {/* ABA: Descobertas */}
      {tab === "descobertas" && rel && (
        <div style={{ display:"flex", flexDirection:"column", gap:16 }}>
          {rel.descobertas.map((d, i) => (
            <div key={i} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:12, padding:"20px 24px" }}>
              <div style={{ display:"flex", gap:12, alignItems:"flex-start", marginBottom:12 }}>
                <div style={{ width:28, height:28, borderRadius:"50%", background:"var(--accent)", color:"#fff", display:"flex", alignItems:"center", justifyContent:"center", fontWeight:800, fontSize:13, flexShrink:0 }}>{i+1}</div>
                <div style={{ fontWeight:700, fontSize:15, lineHeight:1.4 }}>{d.titulo}</div>
              </div>
              <div style={{ fontSize:13, color:"var(--text-2)", lineHeight:1.85, marginBottom:16 }}>{d.texto}</div>
              <div style={{ background:"#f0fdf4", border:"1px solid #bbf7d0", borderRadius:8, padding:"12px 16px" }}>
                <div style={{ fontSize:11, fontWeight:700, color:"#15803d", textTransform:"uppercase", letterSpacing:.5, marginBottom:6 }}>Adaptação para a Iuvenis</div>
                <div style={{ fontSize:13, color:"#166534", lineHeight:1.7 }}>{d.adaptacao}</div>
              </div>
            </div>
          ))}
        </div>
      )}

      {/* ABA: Padrões */}
      {tab === "padroes" && (
        <div style={{ display:"flex", flexDirection:"column", gap:12 }}>
          {p.padroes.map((pa, i) => (
            <div key={i} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:16 }}>
              <div style={{ display:"flex", justifyContent:"space-between", marginBottom:10 }}>
                <span style={{ fontWeight:700, fontSize:14 }}>{pa.nome}</span>
                <span style={{ fontSize:12, color:"var(--accent)", fontWeight:700, background:"var(--bg)", padding:"2px 8px", borderRadius:99 }}>{pa.freq}x usado{pa.freq!==1?"s":""}</span>
              </div>
              <div style={{ display:"flex", flexDirection:"column", gap:6 }}>
                {pa.exemplos.map((ex, j) => (
                  <div key={j} style={{ display:"flex", alignItems:"flex-start", justifyContent:"space-between", gap:8, fontSize:12, color:"var(--text-2)", padding:"8px 12px", background:"var(--bg)", borderRadius:6 }}>
                    <span style={{ fontStyle:"italic", lineHeight:1.5, flex:1 }}>"{ex}"</span>
                    <CopyBtn2 text={ex}/>
                  </div>
                ))}
              </div>
            </div>
          ))}
          <div style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:16 }}>
            <div style={{ fontWeight:700, fontSize:14, marginBottom:8 }}>CTA padrão do perfil</div>
            <div style={{ fontSize:13, color:"var(--text-2)", padding:"10px 14px", background:"var(--bg)", borderRadius:6, fontStyle:"italic" }}>"{p.cta_padrao}"</div>
            {p.serie && <div style={{ fontSize:13, color:"var(--text-2)", marginTop:10 }}><strong>Série identificada:</strong> {p.serie}</div>}
          </div>
          {p.oportunidades_top && (
            <div>
              <div style={{ fontSize:13, fontWeight:700, marginBottom:10 }}>Oportunidades de maior engajamento neste perfil</div>
              {p.oportunidades_top.map(op => (
                <div key={op.nome} style={{ display:"flex", alignItems:"center", justifyContent:"space-between", background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"10px 14px", marginBottom:6 }}>
                  <div>
                    <div style={{ fontWeight:600, fontSize:13 }}>{op.nome}</div>
                    <div style={{ fontSize:11, color:"var(--text-3)", marginTop:2 }}>Deadline: {op.deadline}</div>
                  </div>
                  <div style={{ display:"flex", gap:8, alignItems:"center" }}>
                    <span style={{ fontSize:13, fontWeight:700, color:"var(--accent)" }}>{op.likes.toLocaleString("pt-BR")} likes</span>
                    <span style={{ fontSize:11, padding:"2px 8px", borderRadius:99, background: op.status==="aberta"||op.status==="urgente"?"#dcfce7":"#f3f4f6", color: op.status==="urgente"?"#dc2626": op.status==="aberta"?"#16a34a":"var(--text-3)", fontWeight:600 }}>{op.status}</span>
                  </div>
                </div>
              ))}
            </div>
          )}
        </div>
      )}

      {/* ABA: O que copiar */}
      {tab === "adaptacoes" && rel && (
        <div>
          <div style={{ background:"#eff6ff", border:"1px solid #bfdbfe", borderRadius:10, padding:"14px 18px", marginBottom:16, fontSize:13, color:"#1e40af", lineHeight:1.7 }}>
            <strong>Ações priorizadas para a Iuvenis</strong> — baseadas nas descobertas deste perfil. Clique para copiar.
          </div>
          <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
            {rel.adaptacoes.map((a, i) => (
              <div key={i} style={{ display:"flex", alignItems:"flex-start", justifyContent:"space-between", gap:12, background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"14px 18px" }}>
                <div style={{ display:"flex", gap:10, alignItems:"flex-start" }}>
                  <span style={{ fontSize:13, fontWeight:700, color:"var(--accent)", flexShrink:0, marginTop:1 }}>{i+1}.</span>
                  <span style={{ fontSize:13, lineHeight:1.6, color:"var(--text-1)" }}>{a}</span>
                </div>
                <CopyBtn2 text={a}/>
              </div>
            ))}
          </div>
          <div style={{ marginTop:20, padding:"14px 18px", background:"var(--bg)", borderRadius:10, fontSize:12, color:"var(--text-3)", lineHeight:1.7 }}>
            <strong>Insight geral:</strong> {p.insight_chave}
          </div>
        </div>
      )}
    </div>
  );
}

function BancoIdeias() {
  const [categoria, setCategoria] = React.useState("educativos");
  const { titulos_educativos, titulos_provocacao, titulos_transformacao, titulos_comparacao, titulos_emocionais, serie_guia } = GARIMPO_DATA.banco_ideias;
  const cats = { educativos: titulos_educativos, most: titulos_most, br_valor: titulos_br_valor, br_pais: titulos_br_pais_chamando, br_pergunta: titulos_br_pergunta, br_barreira: titulos_br_barreira, provocacao: titulos_provocacao, dialogo: titulos_dialogo, lie: titulos_lie, dado: titulos_dado, transformacao: titulos_transformacao, comparacao: titulos_comparacao, emocionais: titulos_emocionais };
  const catLabels = { educativos:"Lista educativa", most:"A MAIORIA faz errado ⭐", br_valor:"🇧🇷 Ganhar X na cidade?", br_pais:"🇧🇷 País está chamando", br_pergunta:"🇧🇷 Pergunta + Sim!", br_barreira:"🇧🇷 Parecia difícil?", provocacao:"Provocação CAPS", dialogo:"Diálogo / Roleplay", lie:"LIE List", dado:"Dado + Virada", transformacao:"Transformação", comparacao:"Comparação A vs B", emocionais:"Emocional / Carta" };
  const [copied, setCopied] = React.useState(null);
  const copy = (txt, i) => { navigator.clipboard.writeText(txt); setCopied(i); setTimeout(()=>setCopied(null), 1500); };
  return (
    <div>
      <div style={{ display:"flex", gap:8, flexWrap:"wrap", marginBottom:20 }}>
        {Object.keys(cats).map(c => (
          <button key={c} onClick={()=>setCategoria(c)}
            style={{ padding:"7px 14px", borderRadius:8, border:"1px solid var(--border)", background: categoria===c ? "var(--accent)" : "var(--card-bg)", color: categoria===c ? "#fff" : "var(--text-2)", cursor:"pointer", fontSize:12, fontWeight: categoria===c?600:400 }}>
            {catLabels[c]} <span style={{ opacity:.7 }}>({cats[c].length})</span>
          </button>
        ))}
        <button onClick={()=>setCategoria("serie")}
          style={{ padding:"7px 14px", borderRadius:8, border:"1px solid var(--border)", background: categoria==="serie" ? "var(--accent)" : "var(--card-bg)", color: categoria==="serie" ? "#fff" : "var(--text-2)", cursor:"pointer", fontSize:12 }}>
          Série Guia ({serie_guia.length} eps)
        </button>
      </div>
      {categoria !== "serie" ? (
        <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
          {cats[categoria].map((t, i) => (
            <div key={i} onClick={() => copy(t, i)} style={{ display:"flex", alignItems:"center", justifyContent:"space-between", background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"14px 16px", cursor:"pointer" }}
              onMouseEnter={e=>e.currentTarget.style.borderColor="var(--accent)"}
              onMouseLeave={e=>e.currentTarget.style.borderColor="var(--border)"}>
              <span style={{ fontSize:13, lineHeight:1.5 }}>{t}</span>
              <span style={{ fontSize:11, color: copied===i ? "#16a34a" : "var(--text-3)", marginLeft:16, whiteSpace:"nowrap" }}>{copied===i ? "✓ copiado" : "copiar"}</span>
            </div>
          ))}
        </div>
      ) : (
        <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
          {serie_guia.map(ep => (
            <div key={ep.ep} style={{ display:"flex", alignItems:"center", gap:16, background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"14px 16px" }}>
              <div style={{ width:36, height:36, borderRadius:"50%", background:"var(--accent)", color:"#fff", display:"flex", alignItems:"center", justifyContent:"center", fontWeight:700, fontSize:14, flexShrink:0 }}>
                {ep.ep}
              </div>
              <div style={{ flex:1 }}>
                <div style={{ fontSize:13, fontWeight:600 }}>{ep.titulo}</div>
                <div style={{ fontSize:11, color:"var(--text-3)", marginTop:3 }}>{ep.formato}</div>
              </div>
            </div>
          ))}
        </div>
      )}
    </div>
  );
}

function BancoOportunidades() {
  const [filtro, setFiltro] = React.useState("todas");
  const ops = GARIMPO_DATA.oportunidades;
  const filtradas = filtro === "todas" ? ops : ops.filter(o => o.status === filtro);
  return (
    <div>
      <div style={{ display:"flex", gap:8, marginBottom:20 }}>
        {["todas","urgente","aberta","em breve","evergreen"].map(f => (
          <button key={f} onClick={()=>setFiltro(f)}
            style={{ padding:"7px 14px", borderRadius:8, border:"1px solid var(--border)", background: filtro===f ? "var(--accent)" : "var(--card-bg)", color: filtro===f ? "#fff" : "var(--text-2)", cursor:"pointer", fontSize:12 }}>
            {f} {f==="todas"?`(${ops.length})`:`(${ops.filter(o=>o.status===f).length})`}
          </button>
        ))}
      </div>
      <div style={{ display:"flex", flexDirection:"column", gap:10 }}>
        {filtradas.map(op => (
          <div key={op.nome} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:12, padding:"16px 20px" }}>
            <div style={{ display:"flex", justifyContent:"space-between", alignItems:"flex-start", marginBottom:8 }}>
              <div>
                <div style={{ fontWeight:700, fontSize:14 }}>{op.pais} {op.nome}</div>
                <div style={{ fontSize:12, color:"var(--text-3)", marginTop:2 }}>{op.tipo} · Cobre: {op.cobre}</div>
              </div>
              <div style={{ display:"flex", flexDirection:"column", alignItems:"flex-end", gap:4 }}>
                <span style={{ fontSize:11, padding:"3px 10px", borderRadius:99, fontWeight:600,
                  background: op.status==="urgente"?"#fee2e2": op.status==="aberta"?"#dcfce7": op.status==="em breve"?"#fef3c7":"#f3f4f6",
                  color: op.status==="urgente"?"#dc2626": op.status==="aberta"?"#16a34a": op.status==="em breve"?"#d97706":"var(--text-3)" }}>
                  {op.status}
                </span>
                <span style={{ fontSize:11, color:"var(--text-3)" }}>deadline: {op.deadline}</span>
              </div>
            </div>
            <div style={{ fontSize:12, color:"var(--text-2)", fontStyle:"italic", padding:"8px 12px", background:"var(--bg)", borderRadius:8, marginTop:4 }}>
              💡 Gancho: "{op.gancho}"
            </div>
          </div>
        ))}
      </div>
    </div>
  );
}

function CTASystem() {
  const { palavras, ferramenta, status } = GARIMPO_DATA.cta_system;
  return (
    <div>
      <div style={{ background:"#fef3c7", border:"1px solid #fbbf24", borderRadius:10, padding:"14px 16px", marginBottom:20, fontSize:13 }}>
        <strong>⚡ A implementar:</strong> {ferramenta} — cada palavra nos comentários aciona um DM automático com o recurso. Isso é o principal motor de geração de leads dos perfis analisados.
      </div>
      <div style={{ display:"grid", gridTemplateColumns:"1fr 1fr", gap:10 }}>
        {palavras.map(p => (
          <div key={p.palavra} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"14px 16px" }}>
            <div style={{ fontSize:16, fontWeight:800, color:"var(--accent)", marginBottom:6 }}>{p.palavra}</div>
            <div style={{ fontSize:12, color:"var(--text-2)" }}>→ {p.recurso}</div>
          </div>
        ))}
      </div>
    </div>
  );
}

// ============================================================
// Page principal
// ============================================================
function PageGarimpo() {
  const [aba, setAba] = React.useState("perfis");
  const [perfilSel, setPerfilSel] = React.useState(null);
  const abas = [
    { id:"perfis",       label:"Perfis analisados" },
    { id:"ideias",       label:"Banco de títulos" },
    { id:"oportunidades",label:"Oportunidades" },
    { id:"cta",          label:"Sistema de CTA" },
    { id:"conclusao",    label:"Conclusão final" },
  ];
  return (
    <div style={{ maxWidth:900, margin:"0 auto" }}>
      <GarimpoStatusBar/>
      <div style={{ display:"flex", gap:8, marginBottom:24, flexWrap:"wrap" }}>
        {abas.map(a => (
          <button key={a.id} onClick={()=>{ setAba(a.id); setPerfilSel(null); }}
            style={{ padding:"8px 18px", borderRadius:8, border:"1px solid var(--border)", background: aba===a.id ? "var(--accent)" : "var(--card-bg)", color: aba===a.id ? "#fff" : "var(--text-2)", cursor:"pointer", fontSize:13, fontWeight: aba===a.id?600:400 }}>
            {a.label}
          </button>
        ))}
      </div>

      {aba === "perfis" && (
        perfilSel ? <PerfilDetalhe p={perfilSel} onBack={()=>setPerfilSel(null)}/> : (
          <div>
            <div style={{ display:"grid", gridTemplateColumns:"1fr 1fr", gap:16, marginBottom:24 }}>
              {GARIMPO_DATA.perfis.map(p => <PerfilCard key={p.handle} p={p} onSelect={setPerfilSel}/>)}
              {GARIMPO_DATA.meta.proximos.map(h => (
                <div key={h} style={{ background:"var(--card-bg)", border:"1px dashed var(--border)", borderRadius:12, padding:20, opacity:.5 }}>
                  <div style={{ fontWeight:600, fontSize:14 }}>{h}</div>
                  <div style={{ fontSize:12, color:"var(--text-3)", marginTop:4 }}>Análise pendente</div>
                </div>
              ))}
            </div>
          </div>
        )
      )}
      {aba === "ideias"        && <BancoIdeias/>}
      {aba === "oportunidades" && <BancoOportunidades/>}
      {aba === "cta"           && <CTASystem/>}
      {aba === "conclusao" && GARIMPO_DATA.conclusao && (
        <div style={{ display:"flex", flexDirection:"column", gap:20 }}>
          {/* Resumo */}
          <div style={{ background:"var(--card-bg)", border:"2px solid var(--accent)", borderRadius:12, padding:24 }}>
            <div style={{ fontSize:12, fontWeight:600, color:"var(--accent)", marginBottom:6, textTransform:"uppercase", letterSpacing:1 }}>Conclusão — {GARIMPO_DATA.conclusao.data}</div>
            <div style={{ fontSize:16, fontWeight:700, marginBottom:8 }}>{GARIMPO_DATA.conclusao.resumo}</div>
            <div style={{ fontSize:13, color:"var(--text-2)", borderLeft:"4px solid var(--accent)", paddingLeft:12, lineHeight:1.7 }}>{GARIMPO_DATA.conclusao.gap_principal}</div>
          </div>
          {/* Ações prioritárias */}
          <div>
            <div style={{ fontSize:14, fontWeight:700, marginBottom:12 }}>3 Ações de maior impacto</div>
            <div style={{ display:"flex", flexDirection:"column", gap:10 }}>
              {GARIMPO_DATA.conclusao.acoes_prioritarias.map(a => (
                <div key={a.prioridade} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:10, padding:"16px 20px", display:"flex", gap:16, alignItems:"flex-start" }}>
                  <div style={{ width:32, height:32, borderRadius:"50%", background:"var(--accent)", color:"#fff", display:"flex", alignItems:"center", justifyContent:"center", fontWeight:800, fontSize:16, flexShrink:0 }}>{a.prioridade}</div>
                  <div style={{ flex:1 }}>
                    <div style={{ fontWeight:700, fontSize:14, marginBottom:4 }}>{a.acao}</div>
                    <div style={{ fontSize:12, color:"var(--text-2)", marginBottom:4 }}>Formato: {a.formato}</div>
                    <div style={{ fontSize:12, color:"var(--text-3)", marginBottom:6 }}>Ref: {a.referencia}</div>
                    <div style={{ display:"flex", gap:8, alignItems:"center" }}>
                      <span style={{ fontSize:12, fontWeight:600, color:"var(--accent)" }}>Impacto estimado: {a.impacto_estimado}</span>
                      <span style={{ fontSize:11, padding:"2px 8px", borderRadius:99, background:"#fef3c7", color:"#d97706", fontWeight:600 }}>{a.status}</span>
                    </div>
                  </div>
                </div>
              ))}
            </div>
          </div>
          {/* Oportunidades de nicho */}
          <div>
            <div style={{ fontSize:14, fontWeight:700, marginBottom:12 }}>Nichos não explorados pela Iuvenis</div>
            <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
              {GARIMPO_DATA.conclusao.oportunidades_de_nicho.map((op, i) => (
                <div key={i} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:8, padding:"12px 16px", fontSize:13, display:"flex", gap:10 }}>
                  <span style={{ color:"var(--accent)", fontWeight:700 }}>→</span>
                  <span>{op}</span>
                </div>
              ))}
            </div>
          </div>
          {/* Triggers e formatos */}
          <div style={{ display:"grid", gridTemplateColumns:"1fr 1fr", gap:16 }}>
            <div>
              <div style={{ fontSize:14, fontWeight:700, marginBottom:12 }}>Triggers ManyChat mapeados</div>
              <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
                {Object.entries(GARIMPO_DATA.conclusao.triggers_mapeados).map(([palavra, ref]) => (
                  <div key={palavra} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:8, padding:"10px 14px" }}>
                    <div style={{ fontSize:14, fontWeight:800, color:"var(--accent)" }}>{palavra}</div>
                    <div style={{ fontSize:11, color:"var(--text-3)", marginTop:2 }}>{ref}</div>
                  </div>
                ))}
              </div>
            </div>
            <div>
              <div style={{ fontSize:14, fontWeight:700, marginBottom:12 }}>Formato vencedor por sub-nicho</div>
              <div style={{ display:"flex", flexDirection:"column", gap:8 }}>
                {Object.entries(GARIMPO_DATA.conclusao.formato_vencedor_por_nicho).map(([nicho, formato]) => (
                  <div key={nicho} style={{ background:"var(--card-bg)", border:"1px solid var(--border)", borderRadius:8, padding:"10px 14px" }}>
                    <div style={{ fontSize:12, fontWeight:600 }}>{nicho}</div>
                    <div style={{ fontSize:11, color:"var(--text-3)", marginTop:2, lineHeight:1.5 }}>{formato}</div>
                  </div>
                ))}
              </div>
            </div>
          </div>
        </div>
      )}
    </div>
  );
}
