[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page:pt:roadmap.html":3},{"id":4,"body":5,"extension":41,"meta":42,"slug":43,"stem":44,"__hash__":45},"content_pt\u002Fpt\u002Froadmap.json",{"template":6,"meta":7,"content":11},"page",{"title":8,"description":9,"keywords":10},"Roteiro de desenvolvimento do Bet in Box | História e Planos até 2030","Explore o roteiro de desenvolvimento do Bet in Box. Principais conquistas desde 2014, nossos lançamentos recentes (vídeo ao vivo e rastreadores 3D) e metas planejadas até 2030.","roteiro sportapi, historia de api desportiva, widget sportsbook release, api live odds websockets",{"blocks":12},[13,26,31,38],{"type":14,"center":15,"eyebrow":16,"titleHtml":17,"lead":18,"image":19,"ctas":21},"hero",true,"Nossa Jornada e Crescimento","Roteiro de desenvolvimento","Veja como evoluímos a nossa plataforma de dados desportivos desde 2014, o que lançámos este mês e os marcos tecnológicos que estamos a preparar até 2030.",{"src":20,"alt":17},"\u002Fassets\u002Fimg\u002Fcommercial\u002Froadmap-timeline.webp",[22],{"label":23,"variant":24,"icon":25,"order":15},"Contactar Programadores","accent","map",{"type":27,"title":28,"html":29,"band":30},"prose","Marcos da plataforma (2014 – 2030)","\n    \u003Cp class=\"mb-8\">Abaixo encontra-se um histórico detalhado dos nossos serviços lançados e planos futuros.\u003C\u002Fp>\n    \u003Cdiv style=\"position: relative; border-left: 2px solid var(--line, rgba(255,255,255,0.1)); padding-left: 1.5rem; margin-left: 0.5rem; display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 3rem;\">\n      \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2014\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Início do projeto e primeiro parser de futebol\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Lançamento do sistema de recolha de resultados de futebol em tempo real para as 5 principais ligas europeias.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2015\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Base de dados unificada de estatísticas desportivas\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Design e implementação de uma base de dados relacional para armazenar resultados desportivos históricos.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2015\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Integração de basquetebol e ténis\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Expansão da recolha de dados para partidas da NBA, Euroliga e torneios ATP\u002FWTA.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2016\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Lançamento da primeira versão do REST API Pre-match\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Lançamento da interface comercial para obter calendários de eventos e odds pré-jogo.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2016\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Integração de hóquei no gelo\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Ligação da recolha de dados e odds de hóquei (KHL, NHL e campeonatos mundiais).\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2017\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Migração para infraestrutura na nuvem\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Transferência de servidores de recolha para nuvens distribuídas para mitigar latências de rede.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2017\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Mapeamento automático de equipas\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Criação de um módulo inteligente de mapeamento de nomes de equipas e atletas em 5 idiomas.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2018\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Lançamento da transmissão de dados em direto (Live)\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Transmissão de partidas ao vivo com entrega de dados em menos de 5 segundos.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2018\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Suporte para eSports\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Adição de modalidades de eSports populares como CS:GO e Dota 2 à oferta de dados.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2019\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Widgets de Live Score\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Desenvolvimento dos primeiros widgets prontos a usar para mostrar resultados ao vivo em sites terceiros.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2019\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Expansão de ligas de futebol\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Escalabilidade do parser para abranger mais de 50 ligas juvenis, femininas e regionais.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2020\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Feeds de dados redundantes\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Integração de fluxos de dados de backup provenientes de serviços scouts alternativos para garantir uptime.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2020\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Optimização para altas cargas\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Actualização da API para suportar picos de até 5.000 requisições simultâneas por segundo.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2021\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Arquivo histórico de dados desportivos\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Acesso a base de dados de estatísticas e resultados históricos com profundidade superior a 5 anos.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2021\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Estatísticas detalhadas de partidas\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Inclusão de cantos, cartões amarelos\u002Fvermelhos, faltas, remates à baliza e posse de bola no live.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2022\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Integração de críquete e ténis de mesa\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Conexão de mercados populares asiáticos e europeus ao ecossistema global de distribuição.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2022\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Módulo de liquidação de apostas (Bet Settlement)\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Solução automática para determinar os resultados dos mercados de apostas concluídos.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2023\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Tradução multilíngue em tempo real\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Tradução automatizada dos nomes de eventos em 11 línguas em tempo real com zero impacto de latência.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2023\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Deduplicação de eventos por IA\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Algoritmos de machine learning para eliminar matches duplicados entre diferentes fluxos.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2024\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Lançamento de JSON:API estritamente tipada\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Actualização de protocolos e estandarização de esquemas para facilitar o trabalho dos developers.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2024\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Ligas juvenis e regionais adicionais\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Conexão de mais de 100 divisões secundárias para incrementar a profundidade da linha.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2025\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Programa de parcerias para startups\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Tarifas especiais e recursos gratuitos para criadores de novos projetos e programadores independentes.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2025\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Optimização da latência em direto\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Redução do atraso de eventos ao vivo para estáveis 1.5 segundos a partir da acção em campo.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #10b981; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  Junho 2026 (Este Mês)\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(16, 185, 129, 0.15); color: #10b981; letter-spacing: 0.05em;\">\n                  Done\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Transmissões de Vídeo e Rastreador 3D\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Lançamento com sucesso de streaming de vídeo via iframe e widget interativo 3D de partidas em tempo real.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #fbbf24; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  Julho – Agosto 2026\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(251, 191, 36, 0.15); color: #fbbf24; letter-spacing: 0.05em;\">\n                  In Progress\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                API de estatísticas completas de equipas e atletas\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Desenvolvimento activo da API: perfil dos atletas, escalações, transferências e histórico de temporadas.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #fbbf24; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  Août 2026\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(251, 191, 36, 0.15); color: #fbbf24; letter-spacing: 0.05em;\">\n                  In Progress\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Desenvolvimento de API Live Line por WebSockets\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Criação de canal WebSocket para transmitir variações de odds em tempo real com latência nula.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #fbbf24; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  Setembro 2026\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(251, 191, 36, 0.15); color: #fbbf24; letter-spacing: 0.05em;\">\n                  In Progress\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Lançamento de widget de Sportsbook\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Solução pronta: janela integrada com linha, boletim interactivo (Bet Slip) e contas de utilizador.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #6366f1; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2027\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #6366f1; letter-spacing: 0.05em;\">\n                  Planned\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Plataforma de analítica preditiva por IA\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Módulo de inteligência artificial para calcular probabilidades de resultados baseando-se em histórico.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #6366f1; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2027\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #6366f1; letter-spacing: 0.05em;\">\n                  Planned\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                SDK para plataformas móveis (iOS \u002F Android)\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Livrarias nativas para integrar com rapidez as odds e o tracker 3D em apps nativas.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #6366f1; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2028\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #6366f1; letter-spacing: 0.05em;\">\n                  Planned\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Transmissão de desportos virtuais (Virtual Sports API)\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Simuladores de eventos virtuais com render gráfico e modelo matemático integrados.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #6366f1; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2028\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #6366f1; letter-spacing: 0.05em;\">\n                  Planned\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Resultados descentralizados em Blockchain\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Oráculos blockchain para verificar e guardar de forma imutável os resultados de eventos desportivos.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #6366f1; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2029\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #6366f1; letter-spacing: 0.05em;\">\n                  Planned\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Integração VR\u002FAR para o Tracker 3D\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Visualização da simulação 3D interactiva da partida utilizando óculos de realidade virtual.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n          \u003Cdiv style=\"position: relative;\">\n            \u003C!-- dot -->\n            \u003Cdiv style=\"position: absolute; top: 1.5rem; left: -2.05rem; width: 14px; height: 14px; border-radius: 50%; background: #6366f1; border: 3px solid var(--bg, #0b0c10); z-index: 1;\">\u003C\u002Fdiv>\n            \n            \u003C!-- card -->\n            \u003Cdiv style=\"background: var(--panel, rgba(255,255,255,0.03)); border: 1px solid var(--line, rgba(255,255,255,0.07)); padding: 1.25rem; border-radius: 12px; transition: transform 0.2s ease, border-color 0.2s ease;\">\n              \u003Cdiv style=\"display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 0.5rem; flex-wrap: wrap;\">\n                \u003Cspan style=\"font-weight: bold; color: var(--accent, #3ecf8e); font-size: 0.95rem;\">\n                  2030\n                \u003C\u002Fspan>\n                \u003Cspan style=\"font-size: 0.75rem; font-weight: bold; text-transform: uppercase; padding: 0.15rem 0.5rem; border-radius: 6px; background: rgba(99, 102, 241, 0.15); color: #6366f1; letter-spacing: 0.05em;\">\n                  Planned\n                \u003C\u002Fspan>\n              \u003C\u002Fdiv>\n              \u003Ch4 style=\"margin: 0 0 0.5rem 0; font-size: 1.15rem; color: var(--fg, #fff); font-weight: 600;\">\n                Infraestrutura de Edge Nodes com latência zero\n              \u003C\u002Fh4>\n              \u003Cp style=\"margin: 0; font-size: 0.925rem; color: var(--fg-3, rgba(255,255,255,0.7)); line-height: 1.45;\">\n                Migração global para Edge nodes para servir feeds com zero ping em todo o planeta.\n              \u003C\u002Fp>\n            \u003C\u002Fdiv>\n          \u003C\u002Fdiv>\n        \n    \u003C\u002Fdiv>\n  ","tint",{"type":32,"label":33,"managerName":34,"title":35,"ctaLabel":36,"ctaHref":37},"managerCta","Contacto","CTO","Dúvidas sobre o nosso roteiro de desenvolvimento ou gostaria de sugerir prioridades? Fale connosco.","Discutir Roteiro","@telegram",{"type":27,"title":39,"html":40,"band":30},"Histórico e plano de desenvolvimento de API desportiva e produtos","\n    \u003Cp>Iniciado em 2014 como um parser de futebol, o Bet in Box cresceu para ser um fornecedor mundial de dados. Acrescentámos modalidades e otimizámos a velocidade. Em junho de 2026, demos um salto com o rastreador 3D e vídeo streaming.\u003C\u002Fp>\n    \u003Cp>Os nossos planos simplificam a integração para portais e operadores. A chegada do widget Sportsbook em setembro de 2026 poupa imenso trabalho de desenvolvimento. Até 2030, somaremos analítica de IA, SDKs móveis e distribuição Edge global.\u003C\u002Fp>\n  ","json",{},"roadmap.html","pt\u002Froadmap","jHp4AH39_6j1vGIdb3VmwavhxF4WKRNInLCiuFkIJgQ"]