/* ────────────────────────────────────────────── data.jsx — energy configs, demo data, helpers ────────────────────────────────────────────── */ const ENERGY = { cansada: { id: 'cansada', label: 'Cansada', emoji: '🌙', desc: 'Modo suave. Só o essencial.', color: 'var(--e-cansada)', light: true, show_heavy: false }, criativa: { id: 'criativa', label: 'Criativa', emoji: '🌸', desc: 'Modo expansão. Criar sem limites.', color: 'var(--e-criativa)', light: false, show_heavy: true }, operacional: { id: 'operacional', label: 'Operacional', emoji: '🪡', desc: 'Modo execução. Fazer acontecer.', color: 'var(--e-operacional)', light: false, show_heavy: true }, foco: { id: 'foco', label: 'Foco Profundo', emoji: '🎯', desc: 'Modo profundo. Sem distração.', color: 'var(--e-foco)', light: false, show_heavy: true }, social: { id: 'social', label: 'Social', emoji: '💌', desc: 'Modo conexão. Engajar e crescer.', color: 'var(--e-social)', light: true, show_heavy: false }, maternidade: { id: 'maternidade', label: 'Maternidade', emoji: '🎀', desc: 'Modo presença. Família primeiro.', color: 'var(--e-maternidade)', light: true, show_heavy: false }, gravacao: { id: 'gravacao', label: 'Gravação', emoji: '🎬', desc: 'Modo câmera. Criar em vídeo.', color: 'var(--e-gravacao)', light: false, show_heavy: false }, }; const ENERGY_LIST = Object.values(ENERGY); const ESTUDIO = encodeURI('Estúdio — OS de Criação.html'); const NAV = [ { href: '/', icon: 'home', label: 'Dashboard' }, { href: '/captura', icon: 'zap', label: 'Baú de Ideias' }, { href: '/tarefas', icon: 'check', label: 'Tarefas' }, { href: '/agenda', icon: 'calendar', label: 'Agenda' }, { href: '/saude', icon: 'heart', label: 'Saúde' }, { href: '/terapia', icon: 'brain', label: 'Diário de terapia' }, { href: '/estudio', icon: 'doc', label: 'Conteúdo', ext: ESTUDIO + '#dashboard' }, { href: '/sobre', icon: 'flower', label: 'Sobre' }, { href: '/deploy', icon: 'cog', label: 'Como pôr no ar' }, ]; const CATEGORY_LABELS = { branding: 'Branding', analise_marcas: 'Análise de Marcas', mulheres_incriveis: 'Mulheres Incríveis', livros_infantis: 'Livros Infantis', maternidade: 'Maternidade', lifestyle: 'Lifestyle', criatividade: 'Criatividade', inteligencia_artificial: 'Inteligência Artificial', design: 'Design', marketing: 'Marketing', rotina: 'Rotina', blogosfera: 'Blogosfera', bastidores: 'Bastidores Criativos', }; const PLATFORM_LABELS = { instagram: 'Instagram', youtube: 'YouTube', tiktok: 'TikTok', blog: 'Blog', newsletter: 'Newsletter', linkedin: 'LinkedIn', collab: 'Collab', pinterest: 'Pinterest', }; const PLATFORM_COLORS = { instagram: '#E8538D', youtube: '#C44878', tiktok: '#2A2222', blog: '#A89AC9', newsletter: '#E8A87C', linkedin: '#5A6F9C', collab: '#7FB68C', pinterest: '#C44878', }; const STATUS_IDEIA = { bruta: { label: 'Bruta', variant: 'default' }, desenvolvendo: { label: 'Desenvolvendo', variant: 'yellow' }, pronta: { label: 'Pronta', variant: 'green' }, aplicada: { label: 'Aplicada', variant: 'pink' }, }; const STATUS_CONTEUDO = { ideia: { label: 'Ideia', color: '#A89B97' }, rascunho: { label: 'Rascunho', color: '#E89B4C' }, filmando: { label: 'Filmando', color: '#C44878' }, editando: { label: 'Editando', color: '#A89AC9' }, revisao: { label: 'Revisão', color: '#5A6F9C' }, agendado: { label: 'Agendado', color: '#E8538D' }, publicado: { label: 'Publicado', color: '#7FB68C' }, }; const TYPE_EMOJI = { reel: '🎬', youtube: '▶️', blog: '✍️', newsletter: '💌', tiktok: '🎵', shorts: '⚡', carrossel: '🖼', }; /* ── Lembretes recorrentes (família) ── */ const RECURRENCES = [ { texto: 'Tarefas escolares Mateus & Murilo', icon: '📚', hora: 'Antes das 10h30', cor: 'var(--e-maternidade)' }, { texto: 'Brincadeira Miguel (1a10m)', icon: '🐣', hora: 'Bloco 9h e 14h', cor: 'var(--pink)' }, { texto: 'Futebol Mateus & Murilo', icon: '⚽', hora: 'Qua e Sex às 8h20', cor: 'var(--e-operacional)' }, ]; /* ── Tarefas demo ── */ const DEMO_TASKS = [ { id: 't1', titulo: 'Criar roteiro do reel sobre branding feminino', desc: 'Reel de 60s sobre como construir uma marca com voz autoral', status: 'pendente', prioridade: 'alta', energia: ['criativa'], categoria: 'conteudo', recorrente: false, micro: [ { id: 'm1', desc: 'Definir gancho principal', done: true, min: 5 }, { id: 'm2', desc: 'Escrever script de 60s', done: false, min: 15 }, { id: 'm3', desc: 'Revisar e ajustar ritmo', done: false, min: 10 }, ], }, { id: 't2', titulo: 'Entregar posts semana Pratique Academia', status: 'em_progresso', prioridade: 'urgente', energia: ['operacional'], categoria: 'cliente', cliente: 'Pratique Academia', recorrente: true, micro: [ { id: 'm4', desc: 'Criar 3 artes no Canva', done: true, min: 20 }, { id: 'm5', desc: 'Escrever 3 legendas', done: false, min: 15 }, { id: 'm6', desc: 'Agendar no Meta Business Suite', done: false, min: 10 }, ], }, { id: 't3', titulo: 'Escrever newsletter semanal', status: 'pendente', prioridade: 'alta', energia: ['criativa', 'foco'], categoria: 'conteudo', recorrente: true, micro: [ { id: 'm7', desc: 'Definir tema da semana', done: false, min: 5 }, { id: 'm8', desc: 'Escrever rascunho com IA', done: false, min: 20 }, { id: 'm9', desc: 'Revisar e personalizar', done: false, min: 15 }, { id: 'm10', desc: 'Programar envio no Mailchimp', done: false, min: 5 }, ], }, { id: 't4', titulo: 'Responder e-mails pendentes', status: 'pendente', prioridade: 'media', energia: ['operacional', 'social', 'cansada'], categoria: 'admin', recorrente: false, micro: [], }, { id: 't5', titulo: 'Post para o blog Papel da Lola', status: 'pendente', prioridade: 'media', energia: ['criativa', 'foco'], categoria: 'conteudo', recorrente: false, micro: [ { id: 'm11', desc: 'Escolher tema com alto potencial SEO', done: false, min: 10 }, { id: 'm12', desc: 'Estruturar o artigo', done: false, min: 10 }, { id: 'm13', desc: 'Escrever com apoio de IA', done: false, min: 30 }, { id: 'm14', desc: 'Otimizar SEO e publicar', done: false, min: 15 }, ], }, ]; /* ── Ideias demo ── */ const DEMO_IDEAS = [ { id: 'i1', titulo: '"Domingo é o único dia em que tenho 47 ideias criativas e zero energia pra executar."', desc: 'Frase perfeita pra reel de bastidores. Alta ressonância com criadores.', categoria: 'bastidores', plataformas: ['instagram', 'tiktok'], status: 'pronta', tags: ['humor', 'relatable', 'bastidores'], conexoes: 2 }, { id: 'i2', titulo: 'Série "Mulheres que viraram marca" — análise de posicionamento', desc: 'Episódio 1: Luisa Sonza. Ep. 2: Kylie Jenner. Ep. 3: Anitta.', categoria: 'mulheres_incriveis', plataformas: ['youtube', 'blog', 'newsletter'], status: 'desenvolvendo', tags: ['série', 'branding', 'mulheres'], conexoes: 1 }, { id: 'i3', titulo: 'Por que a Duolingo domina o TikTok (e o que você pode copiar)', desc: 'Análise profunda da estratégia. Tom irreverente + consistência radical.', categoria: 'analise_marcas', plataformas: ['blog', 'youtube', 'newsletter'], status: 'bruta', tags: ['análise', 'tiktok', 'branding'], conexoes: 0 }, { id: 'i4', titulo: '5 ferramentas de IA que uso todo dia (sem complicar)', desc: 'Claude, Midjourney, Whisper, Canva AI, ChatGPT. Como uso cada um na prática.', categoria: 'inteligencia_artificial', plataformas: ['instagram', 'youtube', 'blog'], status: 'pronta', tags: ['IA', 'ferramentas', 'produtividade'], conexoes: 0 }, { id: 'i5', titulo: 'Como me organizo sendo mãe, criadora e dona de agência', desc: 'O método real — sem glamour, sem mentira.', categoria: 'maternidade', plataformas: ['instagram', 'blog', 'newsletter'], status: 'desenvolvendo', tags: ['maternidade', 'rotina', 'autoral'], conexoes: 3 }, { id: 'i6', titulo: 'Carrossel: anatomia de um livro infantil que vende', desc: 'Capa, paleta, virada de página, tipografia. Estrutura visual.', categoria: 'livros_infantis', plataformas: ['instagram', 'pinterest'], status: 'bruta', tags: ['livros', 'visual', 'editorial'], conexoes: 0 }, ]; /* ── Conteúdo demo ── */ const DEMO_CONTENT = [ { id: 'c1', titulo: 'Como organizo minha semana sendo mãe e criadora', tipo: 'blog', plataformas: ['blog', 'newsletter'], status: 'publicado', categoria: 'rotina', data: 'Há 7 dias' }, { id: 'c2', titulo: 'Reel: Por que sua marca precisa de uma voz única', tipo: 'reel', plataformas: ['instagram', 'tiktok'], status: 'editando', categoria: 'branding', data: 'Em 2 dias' }, { id: 'c3', titulo: 'Newsletter: 5 ferramentas de IA que mudaram minha produtividade', tipo: 'newsletter', plataformas: ['newsletter'], status: 'rascunho', categoria: 'inteligencia_artificial', data: 'Em 3 dias' }, { id: 'c4', titulo: 'Análise de marca: Duolingo e o poder do caos controlado', tipo: 'youtube', plataformas: ['youtube', 'blog'], status: 'ideia', categoria: 'analise_marcas', data: '' }, { id: 'c5', titulo: 'Série Mulheres Incríveis — Ep. 01: Luisa Sonza como marca', tipo: 'youtube', plataformas: ['youtube'], status: 'rascunho', categoria: 'mulheres_incriveis', data: 'Em 5 dias' }, { id: 'c6', titulo: 'Reel bastidores: minha rotina de criação de conteúdo', tipo: 'reel', plataformas: ['instagram'], status: 'agendado', categoria: 'bastidores', data: 'Em 1 dia' }, { id: 'c7', titulo: 'Carrossel: 7 erros de branding que destroem marcas pequenas', tipo: 'carrossel', plataformas: ['instagram', 'linkedin'], status: 'revisao', categoria: 'branding', data: 'Em 4 dias' }, { id: 'c8', titulo: 'Anatomia visual de "O Pequeno Príncipe"', tipo: 'carrossel', plataformas: ['instagram', 'pinterest'], status: 'ideia', categoria: 'livros_infantis', data: '' }, ]; /* ── Clientes (Agência Logue) ── */ const DEMO_CLIENTS = [ { id: 'cl1', nome: 'Conexão Pilates e Fisioterapia', setor: 'Pilates · Fisioterapia · Estúdio', cor: 'var(--e-operacional)', receita: 1200, custo_cog: 2, alinhamento: 4, esforco: 3, satisfacao: 4, pendentes: 3, inicio: 'Mai 2026', contato: 'Maykeane e Augusto', whatsapp: '(31) 9 0000-0000', pacote: '6 vídeos/mês · captação e edição', contrato: { valor: 1200, prazo: 'Mensal recorrente', ajustes: '1 rodada por peça', assinado: '05/2026' }, pagamento: { dia: 10, forma: 'PIX', status_mes: 'pago', historico: [ { mes: 'Jul/2026', status: 'pago', valor: 1200, data: '10/07/2026' }, { mes: 'Jun/2026', status: 'pago', valor: 1200, data: '10/06/2026' }, { mes: 'Mai/2026', status: 'pago', valor: 1200, data: '12/05/2026' }, ]}, proximas: [ 'Roteirizar reel de exercício da semana', 'Captar stories de aula', 'Aprovar calendário do mês', ], tarefas: [ { id: 'cp1', titulo: 'Reel: exercício da semana', status: 'em_progresso', deadline: '22/07', prioridade: 'alta' }, { id: 'cp2', titulo: 'Carrossel: benefícios do pilates', status: 'pendente', deadline: '25/07', prioridade: 'media' }, { id: 'cp3', titulo: 'Stories da semana — bastidores', status: 'pendente', deadline: '28/07', prioridade: 'media' }, ], insights: [ { titulo: 'Série "1 exercício por semana"', custo: 'Custo zero', ideia: 'Um reel curto por semana com 1 movimento e o benefício dele. Vira coleção salvável e posiciona o estúdio como referência técnica.' }, { titulo: 'Depoimento de aluno em vídeo', custo: 'Apenas tempo', ideia: 'Gravar 20s de aluno contando a dor que resolveu no pilates. Prova social forte e converte quem está na dúvida.' }, ], }, { id: 'cl2', nome: 'Mariana Cabral', setor: 'Psicologia · Consultório', cor: 'var(--info)', receita: 1200, custo_cog: 2, alinhamento: 5, esforco: 2, satisfacao: 5, pendentes: 2, inicio: 'Jun 2026', contato: 'Mariana Cabral (psicóloga)', whatsapp: '(31) 9 0000-0000', pacote: '6 vídeos/mês · captação e edição', contrato: { valor: 1200, prazo: 'Mensal recorrente', ajustes: '1 rodada por peça', assinado: '06/2026' }, pagamento: { dia: 28, forma: 'PIX', status_mes: 'pendente', historico: [ { mes: 'Jun/2026', status: 'pago', valor: 1200, data: '28/06/2026' }, ]}, proximas: [ 'Entregar calendário editorial do mês', 'Roteirizar carrossel educativo', ], tarefas: [ { id: 'mc1', titulo: 'Carrossel: sinais de ansiedade', status: 'em_progresso', deadline: '23/07', prioridade: 'alta' }, { id: 'mc2', titulo: 'Calendário editorial de agosto', status: 'pendente', deadline: '30/07', prioridade: 'media' }, ], insights: [ { titulo: 'Carrossel educativo semanal', custo: 'Custo zero', ideia: 'Um tema de saúde mental por semana em 5 slides. Constrói autoridade e alimenta o feed sem depender da agenda dela aparecer.' }, { titulo: 'Frases-âncora nos stories', custo: 'Custo zero', ideia: 'Card diário com uma reflexão curta. Baixo esforço, alto engajamento em compartilhamentos — e leva gente ao perfil.' }, ], }, { id: 'cl3', nome: 'Espaço Criar', setor: 'Educação infantil', cor: 'var(--e-cansada)', receita: 600, custo_cog: 1, alinhamento: 5, esforco: 2, satisfacao: 5, pendentes: 2, inicio: 'Jan 2026', contato: 'Espaço Criar', whatsapp: '(31) 9 0000-0000', pacote: '6 vídeos/mês · captação e edição', contrato: { valor: 600, prazo: 'Mensal recorrente', ajustes: '1 rodada por peça', assinado: '02/01/2026' }, pagamento: { dia: 10, forma: 'PIX', status_mes: 'pago', historico: [ { mes: 'Jul/2026', status: 'pago', valor: 600, data: '10/07/2026' }, { mes: 'Jun/2026', status: 'pago', valor: 600, data: '10/06/2026' }, { mes: 'Mai/2026', status: 'pago', valor: 600, data: '09/05/2026' }, ]}, proximas: [ 'Entregar calendário editorial do mês', 'Criar stories da semana', ], tarefas: [ { id: 'ec1', titulo: 'Stories da semana — rotina das crianças', status: 'em_progresso', deadline: '22/07', prioridade: 'media' }, { id: 'ec2', titulo: 'Calendário editorial de agosto', status: 'pendente', deadline: '30/07', prioridade: 'alta' }, ], insights: [ { titulo: 'Carrossel "anatomia de uma atividade"', custo: 'Custo zero', ideia: 'Pegar 1 atividade que fizeram e desmontar em 5 slides: objetivo pedagógico, materiais, fotos, fala da educadora, resultado. Posiciona o Espaço como referência técnica, não só fofo.' }, { titulo: 'Newsletter mensal pros pais', custo: 'R$ 0 (Substack/Beehiiv free)', ideia: 'Carta curta no final do mês: 3 momentos da turma + 1 indicação de livro. Cria sensação de pertencimento e justifica a mensalidade.' }, ], }, { id: 'cl4', nome: 'Luar Azul', setor: 'Parceria · Permuta', cor: 'var(--e-social)', receita: 0, custo_cog: 2, alinhamento: 4, esforco: 2, satisfacao: 4, pendentes: 1, inicio: '2026', contato: 'Luar Azul', whatsapp: '(31) 9 0000-0000', pacote: '6 vídeos/mês · captação e edição · 100% permuta', contrato: { valor: 0, prazo: 'Permuta', ajustes: '1 rodada por peça', assinado: '2026' }, pagamento: { dia: 1, forma: 'Permuta', status_mes: 'permuta', historico: [ { mes: 'Jul/2026', status: 'permuta', valor: 0, data: 'permuta' }, { mes: 'Jun/2026', status: 'permuta', valor: 0, data: 'permuta' }, ]}, proximas: [ 'Alinhar o que entra na permuta este mês', 'Roteirizar conteúdo de divulgação', ], tarefas: [ { id: 'la1', titulo: 'Definir escopo da permuta do mês', status: 'em_progresso', deadline: '24/07', prioridade: 'media' }, ], insights: [ { titulo: 'Deixar o valor da permuta claro no contrato', custo: 'Renegociação', ideia: 'Registrar quanto vale (em R$) o que a Luar Azul entrega em troca. Isso protege a agência e cria base pra migrar pra um plano pago no futuro.' }, { titulo: 'Permuta como vitrine', custo: 'Custo zero', ideia: 'Usar o conteúdo feito pra Luar Azul como case/portfólio. Mesmo sem receita direta, gera prova de trabalho pra atrair clientes pagos.' }, ], }, { id: 'cl5', nome: 'Sanvi Actiwear', setor: 'Moda fitness · Actiwear', cor: 'var(--e-gravacao)', receita: 0, custo_cog: 2, alinhamento: 4, esforco: 2, satisfacao: 4, pendentes: 2, inicio: '2026', contato: 'Sanvi Actiwear', whatsapp: '(31) 9 0000-0000', pacote: '6 vídeos/mês · captação e edição · 100% permuta', contrato: { valor: 0, prazo: 'Permuta', ajustes: '1 rodada por peça', assinado: '2026' }, pagamento: { dia: 1, forma: 'Permuta', status_mes: 'permuta', historico: [ { mes: 'Jul/2026', status: 'permuta', valor: 0, data: 'permuta' }, { mes: 'Jun/2026', status: 'permuta', valor: 0, data: 'permuta' }, ]}, proximas: [ 'Alinhar peças da permuta do mês', 'Roteirizar vídeos de look/treino', ], tarefas: [ { id: 'sv1', titulo: 'Reel: look de treino da semana', status: 'em_progresso', deadline: '23/07', prioridade: 'media' }, { id: 'sv2', titulo: 'Vídeo: peça em movimento (caimento)', status: 'pendente', deadline: '28/07', prioridade: 'media' }, ], insights: [ { titulo: 'Vídeo "peça em movimento"', custo: 'Custo zero', ideia: 'Mostrar o caimento da roupa em treino real (agachamento, corrida). Vende o produto muito melhor que foto parada e rende vários cortes.' }, { titulo: 'Permuta como vitrine de portfólio', custo: 'Custo zero', ideia: 'Usar os vídeos da Sanvi como case de moda fitness pra atrair marcas pagas do mesmo nicho.' }, ], }, { id: 'cl6', nome: 'Nayara Prime Ótica', setor: 'Ótica · Varejo', cor: 'var(--e-social)', receita: 1200, custo_cog: 2, alinhamento: 4, esforco: 3, satisfacao: 4, pendentes: 2, inicio: 'Jul 2026', contato: 'Nayara Prime Ótica', whatsapp: '(31) 9 0000-0000', pacote: '5 vídeos/mês + 1 arte para outdoor · captação e edição', contrato: { valor: 1200, prazo: 'Mensal recorrente', ajustes: '1 rodada por peça', assinado: '07/2026' }, pagamento: { dia: 10, forma: 'PIX', status_mes: 'pendente', historico: [] }, proximas: [ 'Definir conceito da arte de outdoor do mês', 'Roteirizar vídeos de novos modelos de óculos', 'Alinhar calendário editorial', ], tarefas: [ { id: 'np1', titulo: 'Arte para outdoor — campanha do mês', status: 'em_progresso', deadline: '25/07', prioridade: 'alta' }, { id: 'np2', titulo: 'Reel: novos modelos de óculos de sol', status: 'pendente', deadline: '28/07', prioridade: 'media' }, ], insights: [ { titulo: 'Série "qual armação pro seu rosto"', custo: 'Custo zero', ideia: 'Vídeos curtos indicando armação por formato de rosto. Conteúdo salvável que posiciona a ótica como consultora, não só loja.' }, { titulo: 'Outdoor que puxa pro Instagram', custo: 'Apenas planejamento', ideia: 'Fechar a arte do outdoor com um gancho/QR que leve ao perfil. Une mídia física e digital e mede o retorno.' }, ], }, ]; /* ── CRM demo ── */ const DEMO_CRM = [ { id: 'crm2', nome: 'Diana Dafne', tipo: 'marca', status: 'negociando', plataforma: 'instagram', proposta: 'Conteúdo de moda íntima e pijamas — vídeos e campanhas', valor: 1200, proxima: 'Aguardar contraproposta da Diana', followup: 'amanhã', notas: 'Ficou de fazer contraproposta. Manter aquecido.' }, { id: 'crm3', nome: 'Clube de assinatura de ovos', tipo: 'marca', status: 'em_contato', plataforma: 'landing', proposta: 'Landing page + conteúdo de lançamento do clube de assinatura', valor: 1500, proxima: 'Enviar orçamento', followup: 'hoje', notas: 'Preciso mandar o orçamento. Escopo pontual (landing) + possível recorrência.' }, { id: 'crm4', nome: 'Pendurricalhos', tipo: 'marca', status: 'potencial', plataforma: 'instagram', proposta: 'Conteúdo de moda — 6 vídeos/mês', valor: 1200, proxima: 'Reativar contato / follow-up', followup: 'reativar', notas: 'Não respondeu mais. Tentar retomar em alguns dias.' }, { id: 'crm5', nome: 'Homelook', tipo: 'marca', status: 'potencial', plataforma: 'instagram', proposta: 'Gestão de conteúdo — loja de joias e moda', valor: 1200, proxima: 'Nutrir e reabordar mais pra frente', followup: '', notas: 'Não pareceu interessada no primeiro contato. Guardar pra reabordagem.' }, { id: 'crm6', nome: 'Pousada Serra dos Alves', tipo: 'marca', status: 'em_contato', plataforma: 'instagram', proposta: 'Gestão de conteúdo — 6 vídeos/mês, captação e edição', valor: 1200, proxima: 'Marcar reunião', followup: 'esta semana', notas: 'Contato é a mãe da Mariana (dona do Espaço Criar). Está pra marcar reunião.' }, ]; /* ── Prompts — baseados nos pilares Papel da Lola ── */ const DEMO_PROMPTS = [ { id: 'p1', titulo: 'Análise estratégica de marca — estilo Papel da Lola', cat: 'branding', desc: 'Disseca uma marca com olhar de diretora criativa. Output pronto pra virar carrossel ou vídeo.', ia: 'claude', tool: 'Claude + Perplexity (pesquisa)', etapas: ['Pesquisa', 'Análise', 'Insights', 'Roteiro'], checklist: [ 'Pesquisar a marca: site, redes, manchetes recentes', 'Coletar 5 prints de presença digital', 'Rodar o prompt no Claude', 'Marcar 3 insights mais fortes pra virar conteúdo', 'Transformar em carrossel ou roteiro de vídeo', ], texto: `Você é uma estrategista de marca brasileira com visão de diretora criativa. Sua referência é o trabalho da Papel da Lola — análise sofística, com afeto e linguagem autônica. Faça uma análise profunda de: [NOME DA MARCA] Estrutura obrigatória: 1. POSICIONAMENTO REAL - O que essa marca diz que é? - O que ela mostra ser de verdade? - Onde os dois batem? Onde não? 2. IDENTIDADE VISUAL - Paleta + tipografia + texturas - O que essa estética fala antes da palavra? - Emoções que transmite 3. PRESENÇA DIGITAL - Tom de voz (3 adjetivos) - Formatos que dominam vs. abandonam - Consistência 4. O QUE ME ENCANTA (3 pontos específicos) 5. O QUE EU TROCARIA (3 sugestões honestas) 6. INSIGHT TRANSFERÍVEL - Uma coisa que qualquer marca pequena pode aplicar amanhã Tom: inteligente, afetuosa, direta. Sem jargão. Idioma: pt-BR.`, }, { id: 'p2', titulo: 'Série "Mulheres que viraram marca" — roteiro do episódio', cat: 'roteiro', desc: 'Roteiro pra vídeo de 8-12min ou carrossel de 10 slides sobre uma mulher de referência.', ia: 'claude', tool: 'Claude + Notion (banco de mulheres)', etapas: ['Pesquisa', 'História', 'Análise', 'Gancho', 'Roteiro'], checklist: [ 'Listar 3 momentos-chave dela', 'Encontrar a virada de chave', 'Conectar com o público da Papel da Lola', 'Validar a linguagem (sem clichê de empreendedorismo)', 'Gravar ou editar em carrossel', ], texto: `Você é roteirista da série "Mulheres que viraram marca" do canal Papel da Lola. Público: mulheres 25-40 anos, criativas, mães e não-mães, interessadas em branding com profundidade. Mulher escolhida: [NOME] Estrutura do episódio: GANCHO (0-15s) [Fato pouco contado sobre ela que para o scroll] QUEM ELA É ANTES DE TUDO [3 parágrafos. Não começar pela carreira.] A VIRADA [O momento específico em que ela deixou de ser "pessoa que faz X" e virou marca] A ESTRATÉGIA INVISÍVEL [O que ela faz que ninguém comenta: roupas, fala, escolha de palco, estética] 3 LIÇÕES TRANSFERÍVEIS [Para qualquer mulher construíndo marca própria] FECHAMENTO [Pergunta pra comércio] Tom: admirativa sem ser bajuladora. Crítica sem ser ranzinza. Idioma: pt-BR. Tamanho: [carrossel 10 slides / vídeo 10min].`, }, { id: 'p3', titulo: 'Newsletter semanal — Carta da Lola', cat: 'newsletter', desc: 'Carta semanal íntima e estratégica. Abertura alta, vibe diaristica.', ia: 'claude', tool: 'Claude + Beehiiv/Substack', etapas: ['Tema da semana', 'Abertura', 'Corpo', 'PS', 'Envio'], checklist: [ 'Escolher o tema (uma observação real da semana)', 'Escrever a abertura íntima primeiro', 'Conectar com a referência da semana (marca, livro, ideia)', 'Revisar tom: nem motivacional, nem ranzinza', 'Programar terapia segunda 8h', ], texto: `Você escreve a newsletter semanal "Carta da Lola" — newsletter íntima da Papel da Lola. Público: 2.300 assinantes engajados. Abertura média histórica: 48%. Tema da semana: [TEMA] Uma coisa real que aconteceu comigo: [ACONTECIMENTO] Reflexão que essa coisa abriu: [REFLEXÃO] Estrutura obrigatória: 3 OPÇÕES DE ASSUNTO (curto, sem clickbait): 1. 2. 3. ABERTURA ("Oi,") [2-3 parágrafos. Começar pela cena concreta, não pela ideia.] CORPO [Desenvolvimento da reflexão + exemplo concreto + uma referência (marca, livro, autor, frase)] FECHAMENTO [Não motivacional. Pergunta aberta que abre conversa.] PS [Algo pessoal e inesperado: livro lendo, música, mood] Tom: íntimo, inteligente, sem jargão de coaching. Tamanho: 450-650 palavras. Idioma: pt-BR.`, }, { id: 'p4', titulo: 'Carrossel de análise visual de livro infantil', cat: 'design', desc: 'Anatomia editorial de um livro infantil: capa, tipografia, paleta, virada de página.', ia: 'claude', tool: 'Claude + ChatGPT (visão) + Canva', etapas: ['Seleção', 'Foto', 'Análise', 'Carrossel'], checklist: [ 'Escolher livro com identidade visual forte', 'Fotografar páginas-chave (4-6 fotos)', 'Rodar análise visual', 'Estruturar carrossel de 8-10 slides', 'Postar no @papeldalola', ], texto: `Você é designer editorial e análise livros infantis pra Papel da Lola. Público: mães criativas, designers, professoras, ilustradoras. Livro analisado: [TÍTULO] — [AUTOR/ILUSTRADOR] Editora: [EDITORA] Estrutura do carrossel (8-10 slides): SLIDE 1 — CAPA + UMA FRASE QUE PARA O SCROLL SLIDE 2 — POR QUE ESSE LIVRO IMPORTA SLIDE 3 — PALETA: 3 cores que dominam + por que SLIDE 4 — TIPOGRAFIA: fonte do título, corpo, decisões editoriais SLIDE 5 — RITMO VISUAL: como as páginas conversam SLIDE 6 — MOMENTO DE VIRADA: a página mais bonita SLIDE 7 — O QUE EU APRENDO PRA DESIGN GERAL SLIDE 8 — PRA QUEM INDICO SLIDE 9 — ONDE COMPRAR (sem afiliado se não for) Tom: técnico mas afetuoso. Falar de design como quem fala de família. Idioma: pt-BR.`, }, { id: 'p5', titulo: 'Pauta de Reel — Bastidores da criadora-mãe', cat: 'roteiro', desc: 'Reel de 45-60s sobre rotina criativa + maternidade. Sem glamour, com humor.', ia: 'claude', tool: 'Claude + CapCut', etapas: ['Cena real', 'Gancho', 'Roteiro', 'Gravação', 'Legenda'], checklist: [ 'Anotar a cena real do dia', 'Validar: "isso fala com mãe criativa?"', 'Escolher 3 opções de gancho', 'Gravar em fundo neutro', 'Postar entre 19h-21h', ], texto: `Você cria reels da Papel da Lola. Público: mães criativas (25-40 anos), criadoras, donas de pequenos negócios criativos. Tom da marca: humor inteligente, vulnerabilidade controlada, beleza no caos. Cena real que vivi essa semana: [DESCREVER] O que essa cena revelou: [REFLEXÃO] Formato: reel de [45/60]s GANCHO (0-3s) — 3 opções: 1. 2. 3. DESENVOLVIMENTO (4-40s): [Fala em tópicos curtos. Pode ter b-roll de mim trabalhando, dos meninos, da mesa, do livro, etc.] VIRADA (40-50s): [Onde o reel sai do "é difícil" pro "e mesmo assim…"] FECHAMENTO (50-60s): [Frase que cabe em print + CTA suave] LEGENDA (200-300 caracteres): [Estende o reel com uma reflexão, sem repetir o roteiro] HASHTAGS (8-12): mix de nicho + amplas Regras: - Não usar "meu amor", "minha gente", "galera" - Não terminar com pergunta clichê ("e você?") - Não romantizar o caos`, }, { id: 'p6', titulo: 'IA como copiloto criativo (não como atalho)', cat: 'estrategia', desc: 'Fluxo pra usar IA mantendo voz autoral. Anti-slop.', ia: 'claude', tool: 'Claude + Notion (banco de voz)', etapas: ['Voz', 'Brief', 'Co-criação', 'Refino', 'Toque final'], checklist: [ 'Atualizar banco de voz (textos já escritos que amo)', 'Brief específico antes de pedir', 'Sempre 3 versões, nunca a primeira', 'Reescrever 30% à mão', 'Ler em voz alta antes de publicar', ], texto: `Você é minha copiloto criativa. Não me dê texto pronto — me dê opções que eu refino. MINHA VOZ (Papel da Lola): - Frases curtas misturadas com algumas longas com ritmo - Sem jargão corporativo ("mindset", "empoderar", "hack", "jornada") - Sem clichê de criador ("meu amor", "galera", "minha gente") - Vulnerabilidade controlada — abre mas não derrama - Humor seco — nunca exclamativo demais - Referências culturais reais (livros, filmes, marcas específicas) - Metáforas de papelaria, doméstico, infantil quando couber O QUE PRECISO AGORA: [descrever peça] FORMATO: [reel/post/blog/newsletter/legenda] ME ENTREGUE: 1. Três versões bem diferentes entre si 2. Para cada uma, marque o que é "meu" e o que você inventou 3. Liste 3 frases-chiclete que deveríamos remover (clichê ou IA-óbvio) 4. Sugira 1 referência cultural que pode entrar NÃO FAÇA: - Emoji enfileirado - Listas com bullets quando o ritmo pede parágrafo - Adjetivo triplo ("único, especial, transformador") - Metáfora de jornada/caminho`, }, { id: 'p7', titulo: 'Proposta comercial — social media local', cat: 'cliente', desc: 'Proposta editorial pra cliente da região (academia, varejo, serviço). Modelo Papel da Lola.', ia: 'claude', tool: 'Claude + Canva (template visual)', etapas: ['Diagnóstico', 'Estratégia', 'Pacote', 'Valor', 'Apresentação'], checklist: [ 'Visitar redes do cliente', 'Listar 3 pontos fortes e 3 oportunidades', 'Definir pacote: posts + stories + reels', 'Calcular valor por hora real', 'Mandar em PDF + apresentar por vídeo', ], texto: `Você é estrategista de conteúdo da Papel da Lola e está montando proposta pra: CLIENTE: [NOME + SEGMENTO + CIDADE] REDES ATUAIS: [LINKS] ORCAMENTO PROVÁVEL: R$ [VALOR]/mês Estrutura da proposta (PDF de 8-10 páginas): PÁG 1 — CAPA: nome do cliente, mês, "Papel da Lola apresenta" PÁG 2 — ONDE VOCÊS ESTÃO [Diagnóstico honesto em 4 tópicos. Não dourar.] PÁG 3 — ONDE VOCÊS PODEM CHEGAR [3 objetivos concretos pra 6 meses] PÁG 4 — NOSSA ESTRATÉGIA [3 pilares de conteúdo específicos pro negócio. Não genérico.] PÁG 5 — PACOTE MENSAL [Entregáveis claros: X posts + Y stories + Z reels + relatório] PÁG 6 — NOSSO PROCESSO [Como trabalhamos: briefing > pauta > aprovação > entrega > relatório] PÁG 7 — INVESTIMENTO [Três opções: enxuto / completo / premium. Sempre três.] PÁG 8 — POR QUE A GENTE [3 motivos específicos. Nada de "somos apaixonados".] PÁG 9 — PRÓXIMO PASSO [CTA direto: "se você topar, mando contrato em 24h"] Tom: profissional sem ser engessado. Confiante sem ser arrogante.`, }, { id: 'p8', titulo: 'Plano semanal adaptativo (TDAH + AHSD)', cat: 'estrategia', desc: 'Plano da semana que respeita energia variada, hiperfoco e drenagem.', ia: 'claude', tool: 'Claude + Lorenna OS', etapas: ['Dump', 'Diagnóstico', 'Plano', 'Revisão', 'Execução'], checklist: [ 'Dump mental de tudo (sem filtro)', 'Marcar urgente vs importante', 'Identificar horário de pico criativo', 'Reservar 30% de buffer pra imprevistos', 'Revisão diária às 13h', ], texto: `Você é minha copiloto executiva pra produtividade adaptativa. Perfil: TDAH + TEA nível 1 + altas habilidades. Negócio: agência (Logue) + criadora de conteúdo autoral + mãe do Mateus & Murilo (7) e do Miguel (1a10m). INPUT DA SEMANA: - Energia base atual: [nível/modo] - Horários fixos imexiveis: [LISTAR] - Tarefas urgentes (com prazo): [LISTAR] - Tarefas importantes sem prazo: [LISTAR] - O que está me drenando: [DESCREVER] - O que está me energizando: [DESCREVER] ME ENTREGUE: 1. DIAGNÓSTICO RÁPIDO (3 linhas) - Qual é o gargalo real essa semana? 2. CORTES SUGERIDOS - O que eu posso NÃO fazer essa semana? - O que pode virar a semana que vem sem custo? 3. PLANO DIA-A-DIA Segunda — Modo [X] manhã: [1-2 microações] tarde (13h-17h pico): [1 tarefa pesada quebrada em micro] noite: livre [Repetir pra cada dia] 4. ÂNCORAS COGNITIVAS - 1 ritual de começo de dia (5min) - 1 ritual de fechamento (5min) 5. PLANO B - Se eu acordar exausta: [protocolo] - Se entrar em hiperfoco: [como sair sem culpa] NÃO FAÇA: - Não sobrecarregue - Não use linguagem de produtividade tóxica - Não ignore que tem uma criança no meio disso`, }, { id: 'p9', titulo: 'Briefing de cliente — onboarding express', cat: 'cliente', desc: 'Roteiro de 20 perguntas pra extrair tudo de um cliente novo em 1 reunião.', ia: 'claude', tool: 'Claude + Google Forms + Notion', etapas: ['Pergunta', 'Reunião', 'Síntese', 'Persona', 'Pilares'], checklist: [ 'Enviar pré-briefing antes da reunião', 'Reunião de 60min gravada (com permissão)', 'Resumir em uma página do Notion', 'Validar pilares de conteúdo com cliente', 'Marcar próxima reunião quinzenal', ], texto: `Você é estrategista de marca da Papel da Lola fazendo onboarding de um cliente novo. Objetivo: extrair em 60min tudo que precisa pra montar 3 meses de conteúdo. Cliente: [NOME + SEGMENTO] Gere as 20 perguntas certas em 4 blocos: BLOCO 1 — O NEGÓCIO (5 perguntas) O que vocês vendem de verdade (não o produto, o que muda na vida de quem compra)? Quem é o cliente ideal (não demográfico — contexto e dor)? […] BLOCO 2 — A MARCA (5 perguntas) 3 marcas que vocês admiram e por quê 3 marcas com que vocês NÃO querem se parecer […] BLOCO 3 — O CONTEÚDO (5 perguntas) Maior sucesso de conteúdo até hoje? (anexá-lo) Maior fracasso? […] BLOCO 4 — O OPERACIONAL (5 perguntas) Quem aprova final? Quanto tempo entre pedido e liberação? […] Para cada pergunta, escreva também: - O que essa pergunta revela - Sinal vermelho se a resposta vier "de placa" - Pergunta de follow-up`, }, { id: 'p10', titulo: 'Reescrita autoral — destilação de texto bruto', cat: 'conteudo', desc: 'Pega audio transcrito ou despejo mental e devolve texto com sua voz.', ia: 'claude', tool: 'Claude + Whisper (transcrição)', etapas: ['Transcrição', 'Destilação', 'Voz', 'Forma', 'Acabamento'], checklist: [ 'Transcrever áudio com Whisper', 'Limpar metadados ("hmm", repetições)', 'Rodar prompt', 'Comparar com voz original', 'Acabamento manual', ], texto: `Você recebe um texto cru, transcrito de áudio ou escrito de cabeça. Sua missão é destilá-lo na voz de Lorenna / Papel da Lola. TEXTO BRUTO: [colar] DESTINO: [reel / legenda / post de blog / newsletter / story] FAÇA: 1. Identifique a ideia central em 1 frase 2. Identifique 2-3 imagens concretas no texto 3. Identifique o ritmo natural (curto-curto-longo? sempre-longo?) 4. Reescreva mantendo a voz, removendo: - Repetições - Hesitações de fala - Adjetivos genericos - Cliches 5. Devolva 2 versões: A) Fiel — mantém o máximo do original B) Solta — estiliza pra ficar publicavel PRESERVE SEMPRE: - Metáforas específicas (mesmo que estranhas) - Palavras que ela usa muito ("acervo", "papel", "isso aqui…") - Quebras de linha que dao ritmo REMOVA SEMPRE: - "Tipo", "sabe", "então" - Adjetivo + adjetivo + adjetivo - Pergunta retórica que repete o que acabou de dizer`, }, ]; const PROMPT_CATS = { conteudo: 'Conteúdo', roteiro: 'Roteiro', blog: 'Blog', newsletter: 'Newsletter', branding: 'Branding', cliente: 'Cliente', ugc: 'UGC', design: 'Design', pesquisa: 'Pesquisa', estrategia: 'Estratégia', }; const IA_COLORS = { claude: '#E8538D', chatgpt: '#7FB68C', gemini: '#A89AC9', perplexity: '#E89B4C', }; /* ── Mapa mental ── estrutura real Papel da Lola */ const MAP_NODES = [ /* CENTRO — a marca */ { id: 'core', label: 'Papel da Lola', x: 480, y: 290, type: 'core' }, /* CLUSTERS — 4 domínios */ { id: 'cluster-pilares', label: 'Pilares de conteúdo', x: 60, y: 40, type: 'cluster' }, { id: 'cluster-clientes', label: 'Clientes', x: 760, y: 40, type: 'cluster' }, { id: 'cluster-formatos', label: 'Formatos', x: 60, y: 510, type: 'cluster' }, { id: 'cluster-sistema', label: 'Sistema operacional', x: 760, y: 510, type: 'cluster' }, /* PILARES (6) */ { id: 'p-branding', label: 'Análise de marcas', x: 40, y: 120, parent: 'cluster-pilares', type: 'pilar' }, { id: 'p-mulheres', label: 'Mulheres incríveis', x: 200, y: 175, parent: 'cluster-pilares', type: 'pilar' }, { id: 'p-livros', label: 'Livros infantis', x: 40, y: 240, parent: 'cluster-pilares', type: 'pilar' }, { id: 'p-mae', label: 'Maternidade criativa', x: 220, y: 290, parent: 'cluster-pilares', type: 'pilar' }, { id: 'p-ia', label: 'IA com afeto', x: 40, y: 350, parent: 'cluster-pilares', type: 'pilar' }, { id: 'p-bastidor', label: 'Bastidores criativos', x: 200, y: 410, parent: 'cluster-pilares', type: 'pilar' }, /* CLIENTES (4) */ { id: 'c-pratique', label: 'Academia Itabira Fit', x: 800, y: 120, parent: 'cluster-clientes', type: 'client' }, { id: 'c-criar', label: 'Espaço Criar', x: 960, y: 175, parent: 'cluster-clientes', type: 'client' }, { id: 'c-otica', label: 'Óptica Igor Giordano', x: 780, y: 230, parent: 'cluster-clientes', type: 'client' }, { id: 'c-jornal', label: 'Jornal Cidades Minerais', x: 950, y: 290, parent: 'cluster-clientes', type: 'client-warn' }, { id: 'c-prospect', label: 'Prospecção (Reserva, iFood)',x: 800, y: 360, parent: 'cluster-clientes', type: 'prospect' }, /* FORMATOS (5) */ { id: 'f-reel', label: 'Reels @papeldalola', x: 40, y: 590, parent: 'cluster-formatos', type: 'format' }, { id: 'f-carrossel', label: 'Carrosséis IG', x: 220, y: 590, parent: 'cluster-formatos', type: 'format' }, { id: 'f-yt', label: 'YouTube (série)', x: 40, y: 660, parent: 'cluster-formatos', type: 'format' }, { id: 'f-news', label: 'Carta da Lola', x: 220, y: 660, parent: 'cluster-formatos', type: 'format' }, { id: 'f-blog', label: 'Blog Papel da Lola', x: 130, y: 730, parent: 'cluster-formatos', type: 'format' }, /* SISTEMA (5) */ { id: 's-os', label: 'Lorenna OS', x: 800, y: 590, parent: 'cluster-sistema', type: 'system-core' }, { id: 's-notion', label: 'Notion (criativo)', x: 970, y: 600, parent: 'cluster-sistema', type: 'system' }, { id: 's-supabase', label: 'Supabase (invisível)', x: 970, y: 670, parent: 'cluster-sistema', type: 'system' }, { id: 's-claude', label: 'Claude (copiloto)', x: 800, y: 670, parent: 'cluster-sistema', type: 'system' }, { id: 's-davi', label: 'Davi (rotina familiar)',x: 880, y: 740, parent: 'cluster-sistema', type: 'pessoal' }, ]; const MAP_EDGES = [ /* core → clusters */ { from: 'core', to: 'cluster-pilares' }, { from: 'core', to: 'cluster-clientes' }, { from: 'core', to: 'cluster-formatos' }, { from: 'core', to: 'cluster-sistema' }, /* pilares → formatos (qual pilar vira qual formato) */ { from: 'p-branding', to: 'f-carrossel' }, { from: 'p-branding', to: 'f-yt' }, { from: 'p-mulheres', to: 'f-yt' }, { from: 'p-mulheres', to: 'f-blog' }, { from: 'p-livros', to: 'f-carrossel' }, { from: 'p-livros', to: 'f-blog' }, { from: 'p-mae', to: 'f-reel' }, { from: 'p-mae', to: 'f-news' }, { from: 'p-ia', to: 'f-news' }, { from: 'p-ia', to: 'f-blog' }, { from: 'p-bastidor', to: 'f-reel' }, /* clientes → formatos (entregáveis) */ { from: 'c-pratique', to: 'f-reel' }, { from: 'c-pratique', to: 'f-carrossel' }, { from: 'c-criar', to: 'f-carrossel' }, { from: 'c-otica', to: 'f-reel' }, { from: 'c-jornal', to: 'f-yt' }, /* sistema sustenta tudo */ { from: 's-os', to: 'core' }, { from: 's-claude', to: 'p-ia' }, { from: 's-claude', to: 'f-news' }, { from: 's-claude', to: 'f-blog' }, { from: 's-notion', to: 'cluster-pilares' }, { from: 's-supabase', to: 'cluster-clientes' }, { from: 's-davi', to: 'p-mae' }, { from: 's-davi', to: 'p-bastidor' }, ]; /* ── Rotinas (manhã / trabalho / noite) ── */ const ROUTINES = [ { id: 'manha', titulo: 'Rotina da Manhã · Papel da Lola CEO', icone: '🌅', horario: 'Início do dia', cor: 'var(--pink)', prompt: `Use a skill papel-da-lola-ceo. Hoje é {{data}}. Considere as metas mensais de tráfego e renda do blog e Instagram. Me entregue: — 1 prioridade principal de hoje — 3 tarefas de maior impacto — 1 oportunidade de conteúdo ideal — 1 oportunidade rápida de monetização — 1 coisa para ignorar — 3 tarefas super rápidas que posso fazer pra aumentar minha lista de tarefas feitas no dia Use meu Notion E MINHA AGENDA DO GOOGLE para adicionar o que for necessário da sessão MY TASKS e nas abas Pautas do blog e Calendário editorial, preenchendo todos os campos. Use LOLA AGENDA EXECUTIVA. Revise agenda de hoje. Mostre horários livres. Sugira melhor bloco para conteúdo. Avise compromissos importantes. VOCÊ TEM PERMISSÃO PARA ACESSAR MEU NOTION.`, passos: [ { id: 'r1', desc: 'Rodar o prompt CEO da Lola no Claude', min: 3 }, { id: 'r2', desc: 'Definir prioridade principal', min: 1 }, { id: 'r3', desc: 'Mateus e Murilo — organizar pra escola', min: 30 }, { id: 'r4', desc: 'Miguel — café + presença', min: 20 }, { id: 'r5', desc: 'Sentar na mesa · abrir Lorenna OS', min: 5 }, { id: 'r6', desc: 'Captura mental do dia', min: 5 }, ], }, { id: 'inicio-trabalho', titulo: 'Início do trabalho', icone: '🧠', horario: 'Pós café', cor: 'var(--e-criativa)', passos: [ { id: 'rt1', desc: 'Conferir foco do dia no OS', min: 2 }, { id: 'rt2', desc: 'Definir energia atual (sem julgar)', min: 1 }, { id: 'rt3', desc: 'Atacar a tarefa-âncora antes do e-mail', min: 50 }, ], }, { id: 'fim-trabalho', titulo: 'Fechamento do dia', icone: '🌙', horario: 'Antes de buscar os meninos', cor: 'var(--e-cansada)', passos: [ { id: 'rf1', desc: 'Revisar o que foi feito (sem cobrar)', min: 5 }, { id: 'rf2', desc: 'Capturar pendências pra amanhã', min: 5 }, { id: 'rf3', desc: 'Fechar abas — ritual simbólico', min: 2 }, ], }, ]; Object.assign(window, { ENERGY, ENERGY_LIST, NAV, CATEGORY_LABELS, PLATFORM_LABELS, PLATFORM_COLORS, STATUS_IDEIA, STATUS_CONTEUDO, TYPE_EMOJI, RECURRENCES, DEMO_TASKS, DEMO_IDEAS, DEMO_CONTENT, DEMO_CLIENTS, DEMO_CRM, DEMO_PROMPTS, PROMPT_CATS, IA_COLORS, MAP_NODES, MAP_EDGES, ROUTINES, });