{
  "id": "clube-tda-app",
  "titulo": "Pode ir descansar",
  "categoria": "saas",
  "resumo": "animação vertical de 20 s, sem narração, que mostra um agente de IA atendendo uma clínica fora do horário. Começa no escuro, com o relógio passando das 19h e as mensagens chegando; um círculo claro vira a tela, e o celular entra mostrando o app tela por tela: o resumo da manhã, a conversa no WhatsApp com o repasse para a dona, a agenda preenchida e 47 agendamentos em 7 dias contando na tela. Fecha com a marca, um botão e o cursor clicando. As telas são capturas reais do protótipo do app, com os destaques refeitos por cima em camadas editáveis do After Effects. A clínica, as clientes e os números são de demonstração. Feito pelo Clube do Motion.",
  "indicado": "empresa que vende um app, um agente de IA ou um sistema e quer mostrar o produto resolvendo um problema do dia a dia do cliente, do problema ao resultado, num Reel ou anúncio curto.",
  "estilo": [
    "animação SaaS",
    "app no celular",
    "câmera que segue a tela",
    "problema no escuro e virada para o claro",
    "destaque em lime",
    "contador animado",
    "trilha neo-soul"
  ],
  "ficha": {
    "formato": "1080×1920, 30 qps, 9:16; H.264 a 40 Mbps",
    "duracao": "20 s (600 quadros), sem narração",
    "motor": "ae",
    "voz": "ver o guia de estilo",
    "musica": "ver o guia de estilo",
    "fontes": "ver o guia de estilo"
  },
  "ferramentas": [
    "Claude Code",
    "After Effects",
    "ElevenLabs"
  ],
  "ficha_tecnica": {
    "Duração": "20 s (600 quadros), sem narração",
    "Formato": "1080×1920, 30 qps, 9:16; H.264 a 40 Mbps",
    "Ferramenta": "After Effects, montado por operações da ponte MCP, com o Claude Code: comp principal `MAIN_TDA_App_20s` e as precomps `TELA_Hoje`, `TELA_Conversa`, `TELA_Agenda`, `TELA_Resultados`, `TELAS_sequencia`, `CELULAR` e `MARCA_TDA_DIGITAL`",
    "Telas": "6 capturas do protótipo do app em 3x (1170×2532), feitas com o Chrome sem janela, com os destaques refeitos por cima como camadas nativas",
    "Marca": "TDA Digital v2: preto `#0A0A0A`, lime `#A3E635`, off-white `#F4F4F2`",
    "Trilha": "composta na ElevenLabs Music (v2.5): neo-soul brasileiro com toque de bossa, 100 BPM, em 5 seções (noite, manhã, groove, subida e final)",
    "Som": "29 efeitos da biblioteca nivelada, um por ação, alinhados pelo pico; final a −14 LUFS (medido −13,9 no MP4) e pico de −1,3 dBFS",
    "Tempo de produção": "cerca de 1 h de montagem e 15 min de som",
    "Arquivo final": "MP4 com áudio AAC, 57,3 MB"
  },
  "etapas": [
    {
      "titulo": "O roteiro",
      "texto": "**Resumo:** o vídeo não tem narração; o roteiro é a sequência de telas, com a legenda que aparece no topo e o que acontece em cada cena. A ordem segue a promessa do produto: o alívio do dono, o atendimento fora do horário, a conversa no WhatsApp, a agenda preenchida, o resultado e a marca. Os tempos são os do vídeo final.\n\n## De onde veio a estrutura\n\nO fecho segue o estilo de um exemplo de animação SaaS: celular inclinado de um lado, marca e botão do outro, fundo claro e cursor clicando. Antes dele, a história vai do problema (a clínica fechada e as mensagens chegando) à solução, com uma tela do app por ideia. As telas são do protótipo do app, com a Clínica Lumière, a dona Mariana e a agente Lu.\n\n## Cenas por tempo\n\n | \n\n | #\n | Tempo (s)\n | Legenda no topo\n | O que acontece\n\n | 1\n | 0–3\n | \"A clínica fechou às 19h.\" → \"As mensagens continuaram chegando.\"\n | fundo escuro; o relógio corre de 19:00 até perto da meia-noite e as notificações de clientes chegam uma a uma, cada uma com o horário em que aparece\n\n | 2\n | 3–5\n | \"Pode ir descansar.\"\n | um círculo claro cresce do centro e vira a tela\n\n | 3\n | 5–8\n | \"De manhã, o resumo: 9 conversas e 3 horários marcados.\"\n | o celular entra girando com a tela **Hoje** (\"Bom dia, Mariana\"); a câmera aproxima o cartão \"Lu está trabalhando\" e o contorno lime acende\n\n | 4\n | 8–12\n | \"Ela responde do jeito da clínica.\" → \"E passa pra você o que foge da regra.\"\n | a tela **Conversa** com a cliente Carla Mendes; as bolhas entram uma a uma e o aviso de repasse acende em lime\n\n | 5\n | 12–15\n | \"O horário já cai na agenda.\"\n | a tela **Agenda**; os selos \"Marcado pela Lu\" acendem um a um\n\n | 6\n | 15–18\n | \"47 agendamentos em 7 dias, sem a equipe parar.\"\n | a tela **Resultados**; a câmera aproxima o cartão em gradiente e o número conta de 0 a 47\n\n | 7\n | 18–20\n | —\n | o celular se inclina para a direita; à esquerda entram o logo TDA DIGITAL, o selo \"TDA Agent\", \"IA que trabalha do jeito da sua empresa.\" e o botão lime \"Quero isso na minha empresa\", que o cursor clica; embaixo, \"Demonstração com dados ilustrativos.\"\n\n## Momentos para a trilha\n\n- 0–3 s: \"Late night\", Rhodes menor sozinho, com o tique-taque do relógio e as notificações.\n\n- 3,30 s: whoosh longo na virada; entra \"Morning light\", o primeiro acorde maior.\n\n- 6–15 s: \"Groove\", com as trocas de tela marcadas por whooshes curtos, pops nas bolhas e cliques nos selos.\n\n- 15–18 s: \"Lift\", com o contador rolando e um pop quando o 47 chega.\n\n- 18–20 s: \"Ending\", acorde maior final, com whoosh no celular que vai para o lado, pops na marca e o clique do cursor no botão.\n\nA lista dos 29 efeitos, com evento, arquivo, pico e volume, está em `audio/mapa-cues.json`."
    },
    {
      "titulo": "A identidade visual",
      "texto": "**Resumo:** noite azul-escura no começo, off-white `#F4F4F2` depois da virada, o app com a paleta creme, azul-marinho e lime do site e o fecho na marca preta e lime. Celular nativo com sombra suave, câmera num null, legendas grandes no topo, suavização com velocidade 0 e influência de 70% em todas as chaves e desfoque de movimento baixo. Números tirados do projeto do After Effects, do `mixar.py` e da receita técnica.\n\n## Palco e cores\n\n | \n\n | Peça\n | Como é\n\n | Noite\n | sólido `#0A0A0A` com \"Gradient Ramp\" radial, do centro alto `#0b1726` ao preto\n\n | Virada\n | elipse de 3.900 px na cor `#F4F4F2`, de 0 a 100% em 0,6 s, grande o bastante para cobrir os cantos\n\n | Dia\n | fundo `#F4F4F2`\n\n | Marca no fecho\n | preto `#0A0A0A`, lime `#A3E635`, off-white `#F4F4F2` (TDA Digital v2)\n\n | Notificações\n | cartão escuro de 920×168, `#1c1e22`, raio 44, contorno de 2 px, ícone verde arredondado com balão branco, nome, mensagem e hora; entram de 70 px acima, com escala 94 → 100\n\n | Destaques do app\n | contorno lime de 7 px que acende; selo que passa de cinza para lime com um anel que cresce (100 → 113/160) e some; cartão do 47 com gradiente de 4 cores tiradas da captura\n\n## Celular\n\n | \n\n | Peça\n | Valor\n\n | Corpo\n | 1230×2592, arredondamento 186, `#111418`, contorno `#2a2f36` de 6 px; botões laterais de 16×150 e 16×250\n\n | Tela\n | 1170×2532, arredondamento 150, como máscara das telas\n\n | Sombra\n | Drop Shadow com opacidade 70 (de 255), direção 180, distância 60 e suavidade 160\n\n | Troca de tela\n | empurrão de 0,45 s: a tela que entra vai de x 1755 para 585 e a que sai de 585 para 235, com 0,5 s de sobreposição\n\n## Câmera (null `RIG Celular (camera)`)\n\n | \n\n | Momento\n | Posição\n | Escala\n\n | Entrada\n | de (540, 2750), girando 12° → 0 em 0,8 s\n | —\n\n | Repouso\n | (540, 1180)\n | 53%\n\n | Zoom no cartão \"Lu está trabalhando\"\n | (540, 1601)\n | 85%\n\n | Zoom no cartão do 47\n | (540, 1215)\n | 62%\n\n | Fecho\n | (930, 1120), girado 12°\n | 46%\n\nPara centralizar um elemento da tela: deslocamento `d = (x_tela + 60, y_tela + 60) − (645, 1326)` e `posição = alvo − escala × d`.\n\n## Texto\n\n- **Legendas:** Segoe UI Variable Bold Display, 60 px, entrelinha 72, tracking −15, centralizadas em x 540, primeira linha de base entre y 220 e 250, quebra antes de 1.000 px. Entram com opacidade de 0 a 100 e 30 px de subida em 0,35 s e saem em 0,25 s subindo 20 px.\n\n- **Relógio:** texto por expressão lendo o slider de minutos depois das 19h; as chaves do slider são lineares, para os horários das notificações baterem com o relógio quando aparecem.\n\n- **Fecho (coluna esquerda, x 80):** logo SVG com cerca de 440 px de largura, selo em pílula preta de 236×66 com texto lime, frase de 66 px em 3 linhas, botão lime de 480×108 com texto de 31 px e rodapé de 28 px em cinza (y 1850); entradas escalonadas de 0,15 s.\n\n## Movimento\n\n- **Suavização em todas as chaves:** velocidade 0 e influência de 70% na entrada e na saída. Cores ficam lineares.\n\n- **Contador:** influência de saída 10 e de chegada 85: começa rápido e freia no número.\n\n- **Desfoque de movimento:** obturador de 70° na comp principal e 40° nas telas; mais que isso borra tela de app.\n\n- **Cursor:** seta preta com contorno branco de 4 px, a 130%, com sombra curta; vem de baixo, à direita, em 0,5 s e clica (130 → 112 → 130%), enquanto o botão afunda (100 → 94 → 100%) e solta um anel lime.\n\n## Trilha\n\n | \n\n | Item\n | Valor\n\n | Composição\n | ElevenLabs Music v2.5, instrumental, neo-soul brasileiro com toque de bossa: Rhodes, violão de náilon, 100 BPM\n\n | Seções\n | \"Late night\" 3 s (Rhodes menor sozinho, sem bateria), \"Morning light\" 3 s (acorde maior no primeiro tempo, arpejo de violão, shaker), \"Groove\" 9 s (bossa-soul com escovinha e baixo redondo), \"Lift\" 3 s (palmas, acordes mais cheios) e \"Ending\" 3 s (acorde maior final)\n\n | Na mix\n | ganho de 0,45 (de cerca de −13 para −20 LUFS antes da normalização) e fade nos últimos 0,4 s\n\n## Efeitos\n\n | \n\n | Momento\n | Efeito\n | Volume\n\n | noite (0 s)\n | `relogio-tiquetaque-2`, em cama com fade\n | 0,40\n\n | notificações (0,70 · 1,15 · 1,60 · 2,05 s)\n | `notificacao-1` e `notificacao-3`\n | 0,35 a 0,50\n\n | virada (3,30 s)\n | `whoosh-longo-1`\n | 0,50\n\n | celular entra (5,40 s)\n | `whoosh-grave-2`\n | 0,45\n\n | zoom e contorno lime (6,60 · 6,75 s)\n | `whoosh-curto-3` + `clique-3`\n | 0,40 / 0,60\n\n | trocas de tela (8,20 · 12,20 · 15,25 s)\n | `whoosh-curto-1`, `-2` e `-4`\n | 0,45\n\n | bolhas (8,39 a 10,14 s)\n | `pop-2` e `pop-1`, alternados entre cliente e Lu\n | 0,35\n\n | repasse (10,79 · 11,35 s)\n | `pop-4` + `clique-3` no destaque\n | 0,70 / 0,90\n\n | selos da agenda (12,60 · 13,00 · 13,40 s)\n | `clique-2`\n | 0,90\n\n | 47 contando e chegando (15,45 · 16,85 s)\n | `contador-rolar-1` + `pop-4`\n | 0,70\n\n | fecho (18,15 a 19,48 s)\n | `whoosh-longo-1`, `pop-1`, `pop-3`, `pop-2`, `clique-mouse-1` e `sucesso-1`\n | 0,35 a 0,60\n\n- Cada efeito entra em `evento − pico do arquivo`.\n\n- Sem voz, os acentos curtos sob o groove (a partir de cerca de 9 s) subiram até ficar de 7 a 11 dB abaixo da trilha; nenhum efeito passa dela.\n\n- **Final:** −14 LUFS, pico de −1,3 dBFS e atraso do AAC medido em zero.\n\n## O que é \"humano\" neste vídeo\n\n- As notificações chegam com o relógio andando, e cada uma traz o horário em que aparece.\n\n- O celular entra girando, aproxima o que importa, volta e se inclina no fecho, sempre com a mesma suavização.\n\n- O botão afunda no clique e solta um anel; o número freia antes de parar."
    },
    {
      "titulo": "A montagem no After Effects",
      "texto": "| \n\n | Peça\n | O que faz\n\n | `TELA_<nome>` (1170×2532)\n | a captura como base e, por cima, os destaques nativos nas coordenadas da captura: cartão \"Lu está trabalhando\", as 4 bolhas e o aviso de repasse, os selos \"Marcado pela Lu\" e o cartão do 47 com gradiente de 4 cores\n\n | `TELAS_sequencia`\n | as telas em sequência, com o empurrão do iOS de 0,45 s entre elas\n\n | `CELULAR` (1290×2652)\n | corpo preto com botões laterais e as telas recortadas por uma máscara arredondada\n\n | `RIG Celular (camera)`\n | null pai do celular que faz a entrada, os zooms e a inclinação final; nada é animado camada por camada\n\n | `CONTROLES`\n | slider \"Relogio - minutos apos 19h\": o relógio da noite lê esse valor por expressão\n\n | `CTRL Contador 47`\n | sliders \"Valor final\" e \"Progresso %\": o número é `Math.round(final × progresso / 100)`\n\n | `mixar.py`\n | lê a lista de efeitos (evento, arquivo, pico, volume), põe cada um em `evento − pico`, soma a trilha com ganho de 0,45 e fade nos últimos 0,4 s, normaliza para −14 LUFS e cola o som no vídeo sem recomprimir\n\n- **Fontes:** o projeto usa Segoe UI Variable (do Windows) no lugar de Inter e Space Grotesk. Para trocar, instale as duas e substitua a fonte em todo o projeto.\n\n- **Abra o `.aep`** no After Effects mantendo `assets/` ao lado. Se faltar mídia, use File › Dependencies › Find Missing Footage e aponte para `projeto/assets`. As camadas \"SOM Trilha\" e \"SOM Efeitos\" apontam para os arquivos de som: reaponte para `audio/stem-efeitos.wav` e para a sua trilha.\n\n- **Edite pelos controles:** o relógio no `CONTROLES`, o número final no `CTRL Contador 47`, os textos das legendas e da marca direto nas camadas, e a câmera no null `RIG Celular (camera)`.\n\n- **Troque as telas:** capture o seu app em 3x (Chrome sem janela, `deviceScaleFactor: 3`, recorte no elemento do aparelho), substitua as capturas e refaça os destaques medindo na imagem. Confira o encaixe com `scripts/comparar_captura.py`.\n\n- **Suavização:** depois de criar chaves novas, gere a lista de `keyframe.set_easing` com `scripts/gerar_easing.py` (velocidade 0 e influência de 70%). Cores não aceitam suavização: deixe lineares.\n\n- **Render:** prefira o aerender em trechos, com prioridade baixa e memória limitada. Na origem, este vídeo saiu pela fila do AE (Best Settings + H.264 a 40 Mbps) em 162 s, mas a fila quase travou o PC num projeto maior.\n\n- **Som:** no topo do `mixar.py`, aponte `SFX` para `audio/sfx/nivelados`, `TRILHA` para a sua trilha e `VIDEO` e `SAIDA` para o render e o arquivo final, e rode `python mixar.py`.\n\n**Pegadinhas:** opacidade não passa do pai para o filho, então os textos das notificações usam `parent.transform.opacity`. SVG importado vira comp de 1 quadro: aumente a duração da comp e o fim da camada. Paradas de gradiente de forma não aceitam script: o cartão do 47 usa um sólido com \"4-Color Gradient\" recortado por uma forma arredondada. A Segoe UI Variable precisa de cerca de 5% a mais de tamanho para ocupar a largura da Inter."
    },
    {
      "titulo": "As decisões de direção",
      "texto": "- **Problema no escuro, solução no claro.** Dois a três segundos de noite, relógio e mensagens acumulando, e um círculo claro que cresce de 0 a 100% em 0,6 s e vira a tela.\n\n- **Uma ideia por tela.** Cada tela do app sustenta uma legenda curta no topo, com no máximo três linhas.\n\n- **Captura real e destaques nativos.** A tela é o app de verdade; só o que se mexe (cartões, bolhas, selos, número) foi refeito por cima, no pixel, e continua editável.\n\n- **A câmera segue o que importa.** Um null leva o celular para o zoom no cartão da Lu (85%) e no cartão do 47 (62%), volta ao repouso (53%) entre eles e depois inclina o celular para o fecho.\n\n- **O destaque acende em lime:** o contorno do cartão, o aviso de repasse e os selos da agenda passam de cinza para a cor da marca no tempo da legenda.\n\n- **O número roda.** O 47 conta de 0 a 47, começa rápido e freia no número (influência de saída 10 e de chegada 85).\n\n- **O fecho mostra o próximo passo:** celular inclinado a 12° à direita, marca, selo \"TDA Agent\", frase e botão lime à esquerda, com o cursor clicando e um anel no clique.\n\n- **Um som por ação, abaixo da trilha:** relógio e notificações na noite, whooshes nas viradas e trocas de tela, pops nas bolhas, cliques nos selos, contador no 47 e clique de mouse no botão.\n\nDetalhes de cores, números e som: estilo.md. Cenas por tempo e texto na tela: roteiro.md. Para fazer um vídeo no mesmo método com o seu app: PROMPT.md."
    },
    {
      "titulo": "As versões até o final",
      "texto": "| \n\n | Versão\n | O que mudou\n\n | **v1**\n | aprovada: vídeo, som e método. Depois serviu de base para uma versão narrada de 51 s, com telas redesenhadas em HTML, que é outro projeto do catálogo (\"A clínica fecha às 7\")"
    }
  ],
  "pacote": [
    {
      "pasta": "projeto/",
      "conteudo": "`tda-app-animacao.aep` (o projeto editável), `assets/telas/` (as 6 capturas: Hoje, Conversas, Agenda, Resultados, Agente e a conversa com a Carla), `assets/marca/` (logo, ícone e símbolo em SVG e PNG) e `scripts/` (`gerar_easing.py`, que gera as chaves de suavização, e `comparar_captura.py`, que põe o render ao lado da captura para conferir o encaixe)"
    },
    {
      "pasta": "audio/",
      "conteudo": "`mixar.py` (o som inteiro por script), `mapa-cues.json` (os 29 efeitos com evento, pico e volume), `trilha-plano.json` (o plano de composição da trilha, seção por seção), `mix.wav` (o mix final), `stem-efeitos.wav` (só os efeitos) e `sfx/nivelados/` (os 18 arquivos de efeito usados)"
    },
    {
      "pasta": "referencias/",
      "conteudo": "`quadros/` (um quadro por cena, de 2,6 s a 19,9 s), `receita-tecnica.md` (as operações, as comps, o celular, a câmera e as legendas com todos os valores), `receita-do-som.md`, `links.md` e `fora-do-pacote.md`"
    },
    {
      "pasta": "render.mp4",
      "conteudo": "o vídeo final (v1)"
    },
    {
      "pasta": "TELAS_sequencia",
      "conteudo": "as telas em sequência, com o empurrão do iOS de 0,45 s entre elas"
    },
    {
      "pasta": "RIG Celular (camera)",
      "conteudo": "null pai do celular que faz a entrada, os zooms e a inclinação final; nada é animado camada por camada"
    },
    {
      "pasta": "CONTROLES",
      "conteudo": "slider \"Relogio - minutos apos 19h\": o relógio da noite lê esse valor por expressão"
    },
    {
      "pasta": "CTRL Contador 47",
      "conteudo": "sliders \"Valor final\" e \"Progresso %\": o número é `Math.round(final × progresso / 100)`"
    },
    {
      "pasta": "mixar.py",
      "conteudo": "lê a lista de efeitos (evento, arquivo, pico, volume), põe cada um em `evento − pico`, soma a trilha com ganho de 0,45 e fade nos últimos 0,4 s, normaliza para −14 LUFS e cola o som no vídeo sem recomprimir"
    }
  ],
  "prompt": "Quero um vídeo de app no mesmo método do projeto \"Pode ir descansar\", que está em 07-videos/projetos/tda-app/, com o meu produto.\n\nApp ou sistema: {{APP}}\nEndereço do app ou do protótipo (para capturar as telas): {{ENDERECO}}\nO problema que o vídeo mostra no começo, no escuro: {{PROBLEMA}}\nAs telas que entram, na ordem, com a ideia de cada uma: {{TELAS}}\nO número ou resultado que conta na tela: {{RESULTADO}}\nMarca, frase e texto do botão no fecho: {{FECHO}}\nOs números são reais ou de demonstração? {{DADOS}}\nMúsica (de preferência com seções que mudam junto com a história): {{MUSICA}}\nDuração: {{DURACAO}} (a referência tem 20 s) · Formato: {{FORMATO}} (a referência é 1080×1920, 30 qps)\n(Se algum desses estiver vazio ou com as chaves, me pergunte antes de começar.)\n\n1. Estude o projeto antes de propor qualquer coisa. Leia LEIA-ME.md, estilo.md e roteiro.md e depois referencias/receita-tecnica.md e referencias/receita-do-som.md. Abra uma cópia do tda-app-animacao.aep e veja a comp principal, as precomps TELA_*, TELAS_sequencia e CELULAR, o null RIG Celular (camera), o CONTROLES do relógio e o CTRL Contador 47. Leia também audio/mixar.py e audio/mapa-cues.json. Me explique em poucas linhas o que você vai reaproveitar.\n\n2. Escreva o roteiro de telas numa tabela tempo × cena × legenda: problema no escuro (2 a 3 s), virada para o claro, uma tela por ideia com uma legenda curta de até 3 linhas, o resultado contando e o fecho de marca. Se os números forem de demonstração, o fecho leva o rodapé \"Demonstração com dados ilustrativos.\". Me mostre e espere meu ok.\n\n3. Capture as telas do meu app em 3x (Chrome sem janela, deviceScaleFactor 3, recorte no elemento do aparelho). Use a captura como base de cada TELA e refaça por cima, como camadas nativas, só o que vai se mexer (cartões, bolhas, selos, números), medindo na imagem e conferindo com scripts/comparar_captura.py antes de animar.\n\n4. Monte a sequência no molde do projeto: telas com o empurrão do iOS, o celular com corpo e máscara arredondada e um null de câmera que faz a entrada, os zooms no elemento-chave e a inclinação do fecho. Nada de animar camada por camada.\n\n5. Cena do problema: fundo escuro com gradiente radial, relógio por slider e notificações com o horário batendo com o relógio. Virada: um círculo claro que cresce e cobre os cantos.\n\n6. Destaques que acendem na cor da minha marca, um número que conta por slider (começa rápido e freia no valor) e o fecho com o celular inclinado, a marca, a frase e o botão com o cursor clicando.\n\n7. Suavização em todas as chaves (velocidade 0, influência de 70%, gerada com scripts/gerar_easing.py), mola nas entradas de cartão, bolha e botão e desfoque de movimento baixo (70° na principal, 40° nas telas).\n\n8. Som em paralelo: um efeito por ação (relógio e notificações na noite, whoosh nas viradas e trocas de tela, pop nas bolhas, clique nos destaques, contador no número, clique no botão), cada um em evento − pico, sempre abaixo da trilha, mixado por script no molde do mixar.py, final a −14 LUFS.\n\n9. Confira um quadro no meio de cada movimento (entrada, empurrão, zoom, saída) e uma folha de contato do MP4. Teste a edição: mude o valor final do contador e confira o texto. Renderize em trechos com o aerender, com prioridade baixa, e entregue o MP4, o .aep e uma anotação do que mudou em relação à referência.",
  "campos": [
    "APP",
    "DADOS",
    "DURACAO",
    "ENDERECO",
    "FECHO",
    "FORMATO",
    "MUSICA",
    "PROBLEMA",
    "RESULTADO",
    "TELAS"
  ],
  "fonte": {
    "nome": "Clube do Motion",
    "url": "https://clubedomotion.com/projeto/?id=tda-app",
    "uso": "liberado pelo dono do Clube do Motion em 18/10/2026 (docs/permissoes/clube-do-motion.md)"
  }
}