@font-face { font-family: '365 Sans'; src: url('/wp-content/uploads/fonts/365-Sans-Regular.otf') format('opentype'); font-weight: 400; font-style: normal; font-display: swap; } @font-face { font-family: '365 Sans'; src: url('/wp-content/uploads/fonts/365-Sans-Bold.otf') format('opentype'); font-weight: 700; font-style: normal; font-display: swap; } #scores-article-template { --primary: #3B82F6; --primary-hover: #2563EB; --page-bg: #ffffff; --surface-bg: #ffffff; --card-bg: #ffffff; --border: #F3F4F6; --text: #111827; --muted: #4B5563; --soft: #F3F4F6; --soft-hover: #E5E7EB; --shadow: rgba(15, 23, 42, 0.12); --overlay: rgba(0, 0, 0, 0.52); font-family: '365 Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; background: var(--page-bg) !important; color: var(--text) !important; min-height: 100vh !important; scroll-behavior: smooth; position: relative; z-index: 1; line-height: 1.5; } #scores-article-template.scores-dark { --page-bg: #020617; --surface-bg: #0F172A; --card-bg: #111827; --border: #1F2937; --text: #F9FAFB; --muted: #D1D5DB; --soft: #1F2937; --soft-hover: #374151; --shadow: rgba(0, 0, 0, 0.42); --overlay: rgba(0, 0, 0, 0.75); } #scores-article-template * { box-sizing: border-box !important; } #scores-article-template .scores-header { position: fixed !important; top: 0 !important; left: 0 !important; right: 0 !important; z-index: 99999 !important; background: var(--surface-bg); border-bottom: 1px solid var(--border); box-shadow: 0 2px 10px var(--shadow); } button.scores-next-button { width: 145px; background-color: #3b82f6; color: white; border-radius: 15px; margin-top: 30px; min-height: 40px; } .scores-header-inner { max-width: 1280px; margin: 0 auto; padding: 14px 16px; display: flex; align-items: center; gap: 16px; } .scores-nav { display: flex; gap: 8px; overflow-x: auto; flex: 1; scrollbar-width: none; } .scores-nav::-webkit-scrollbar { display: none; } .scores-nav-button { min-width: 40px; height: 40px; padding: 0 13px; border-radius: 999px; background: var(--soft); color: var(--muted); font-weight: 600; border: none; cursor: pointer; white-space: nowrap; transition: none; } .scores-nav-button.is-active { background: var(--primary); color: #fff !important; } .scores-hero { min-height: 72vh; position: relative; display: flex; align-items: center; justify-content: center; padding: 112px 16px 52px; text-align: left; color: #fff !important; background-color: #020617; overflow: hidden; } .scores-hero::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(2, 6, 23, 0.50) 0%, rgba(2, 6, 23, 0.28) 46%, rgba(2, 6, 23, 0.58) 100%); } .scores-hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center 28%; z-index: 0; opacity: 1; transform: scale(1.02); overflow: hidden; } .scores-hero-bg-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; } .scores-hero-content { position: relative; z-index: 2; width: 100%; max-width: 1180px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr); gap: 34px; align-items: center; } .scores-hero-text { min-width: 0; } .scores-hero-kicker { display: inline-flex; align-items: center; width: max-content; max-width: 100%; margin-bottom: 14px; padding: 7px 12px; border-radius: 999px; background: rgba(59, 130, 246, 0.24); border: 1px solid rgba(147, 197, 253, 0.5); color: #DBEAFE !important; font-size: 12px; font-weight: 800; line-height: 1; letter-spacing: 0.08em; text-transform: uppercase; } .scores-hero-title { font-size: clamp(34px, 6.8vw, 68px) !important; font-weight: 800; margin: 0 0 14px; color: #fff !important; line-height: 1.05 !important; text-wrap: balance; } .scores-hero-subtitle { margin: 0 0 18px; font-size: clamp(18px, 2.3vw, 24px); font-weight: 700!important; color: #fff !important; text-shadow: 0 0 20px rgba(59, 130, 246, 0.85), 0 2px 10px rgba(0, 0, 0, 0.5); } .scores-hero-copy p { max-width: 720px; margin: 0; color: #E5E7EB !important; font-size: clamp(16px, 1.9vw, 19px); line-height: 1.65; } .scores-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; } .scores-start-button, .scores-hero-secondary-button { min-height: 46px; padding: 12px 24px; border-radius: 999px; border: 1px solid transparent; font-weight: 800; cursor: pointer; line-height: 1; } .scores-start-button { background: var(--primary); color: #fff !important; box-shadow: 0 12px 24px rgba(37, 99, 235, 0.32); } .scores-hero-secondary-button { background: rgba(255, 255, 255, 0.12); color: #fff !important; border-color: rgba(255, 255, 255, 0.26); } .scores-hero-preview { width: 100%; padding: 18px; border-radius: 24px; background: rgba(15, 23, 42, 0.72); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34); backdrop-filter: blur(12px); } .scores-hero-preview-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; color: #DBEAFE !important; } .scores-hero-preview-head span { font-size: 13px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .scores-hero-preview-head strong { color: #fff !important; font-size: 13px; font-weight: 800; white-space: nowrap; } .scores-hero-preview-list { display: grid; gap: 10px; } .scores-hero-preview-item { width: 100%; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 16px; background: rgba(2, 6, 23, 0.56); color: #fff !important; text-align: left; cursor: pointer; } .scores-hero-preview-item:hover { background: rgba(59, 130, 246, 0.22); } .scores-hero-preview-thumb, .scores-hero-preview-rank-chip { width: 58px; height: 48px; border-radius: 12px; overflow: hidden; background: rgba(59, 130, 246, 0.26); } .scores-hero-preview-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; display: block; } .scores-hero-preview-rank-chip { display: flex; align-items: center; justify-content: center; color: #fff !important; font-weight: 800; font-size: 18px; } .scores-hero-preview-text { min-width: 0; display: grid; gap: 3px; } .scores-hero-preview-rankline { color: #93C5FD !important; font-size: 12px; font-weight: 800; line-height: 1.1; } .scores-hero-preview-name { color: #fff !important; font-size: 15px; font-weight: 800; line-height: 1.2; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } @media (max-width: 760px) { .scores-hero { min-height: auto; padding: 96px 14px 34px; } .scores-hero::after { background: linear-gradient(180deg, rgba(2, 6, 23, 0.92) 0%, rgba(2, 6, 23, 0.84) 54%, rgba(2, 6, 23, 0.96) 100%); } .scores-hero-bg { opacity: 0.36; background-position: center top; } .scores-hero-content { grid-template-columns: 1fr; gap: 22px; } .scores-hero-title { font-size: clamp(30px, 9vw, 46px) !important; } .scores-hero-subtitle { font-size: 18px; margin-bottom: 14px; } .scores-hero-actions { gap: 10px; margin-top: 20px; } .scores-start-button, .scores-hero-secondary-button { flex: 1 1 150px; padding-left: 16px; padding-right: 16px; } .scores-hero-preview { padding: 14px; border-radius: 20px; } .scores-hero-preview-item { grid-template-columns: 52px minmax(0, 1fr); padding: 9px; } .scores-hero-preview-thumb, .scores-hero-preview-rank-chip { width: 52px; height: 44px; } .scores-hero-preview-name { font-size: 14px; } .scores-hero-preview-item:nth-child(n+4) { display: none; } } .scores-section-shell { min-height: 100vh; scroll-margin-top: 80px; } .scores-card { max-width: 800px; margin: 90px auto; background: var(--card-bg); border-radius: 24px; border: 1px solid var(--border); box-shadow: 0 10px 30px var(--shadow); overflow: hidden; } .scores-card-header { padding: 30px 30px 12px; border-bottom: 0; } .scores-card-header h2 { margin: 0; font-size: 28px; font-weight: 800; } .scores-card-body { padding: 10px 30px 30px; color: var(--muted); font-size: 18px; line-height: 1.7; } .scores-card-body > p:first-child { margin-top: 0; } .scores-image-wrap { width: 100%; height: 250px; background: #eee; margin: 20px 0; border-radius: 12px; overflow: hidden; } .scores-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center 22%); } .scores-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 25px; align-items: stretch; } .scores-stats-grid.is-empty { display: none; } .scores-stats-count-1 { grid-template-columns: minmax(0, 260px); justify-content: center; } .scores-stats-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .scores-stats-count-3 .scores-stat:last-child { grid-column: 1 / -1; justify-self: center; width: min(100%, 260px); } .scores-stat { min-width: 0; padding: 18px 12px; background: var(--soft); border-radius: 16px; text-align: center; border: 1px solid var(--border); display: flex; flex-direction: column; align-items: center; justify-content: center; } .scores-stat-icon { width: 32px; height: 32px; margin: 0 auto 10px; color: var(--primary); display: flex; align-items: center; justify-content: center; flex: 0 0 auto; } .scores-stat-icon img { width: 100%; height: 100%; object-fit: contain; } .scores-stat.no-icon .scores-stat-value { margin-top: 0; } .scores-stat-value { font-size: 24px; font-weight: 800; color: var(--text); line-height: 1.15; margin-bottom: 4px; overflow-wrap: anywhere; } .scores-stat-label { font-size: 11px; color: var(--muted); text-transform: uppercase; font-weight: 700; letter-spacing: 0.05em; line-height: 1.3; } @media (max-width: 599px) { .scores-card { margin: 56px 12px; border-radius: 20px; } .scores-card-header { padding: 22px 18px 14px; } .scores-card-header h2 { font-size: 24px; line-height: 1.2; } .scores-card-body { padding: 8px 18px 24px; font-size: 16px; line-height: 1.65; } .scores-image-wrap { height: 230px; margin: 18px 0; } .scores-stats-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; } .scores-stats-count-1 { grid-template-columns: minmax(0, 1fr); } .scores-stats-count-3 .scores-stat:last-child { grid-column: 1 / -1; justify-self: center; width: min(100%, 260px); } .scores-stat { min-height: 118px; padding: 14px 10px; } .scores-stat-icon { width: 28px; height: 28px; margin-bottom: 8px; } .scores-stat-value { font-size: 20px; line-height: 1.15; } .scores-stat-label { font-size: 10px; line-height: 1.3; } button.scores-next-button { width: 100%; margin-top: 24px; } } @media (min-width: 600px) { .scores-stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .scores-stats-count-1 { grid-template-columns: minmax(0, 260px); justify-content: center; } .scores-stats-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 520px; margin-left: auto; margin-right: auto; } .scores-stats-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 690px; margin-left: auto; margin-right: auto; } .scores-stats-count-3 .scores-stat:last-child { grid-column: auto; justify-self: stretch; width: auto; } .scores-stats-count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; } .scores-image-wrap { height: 400px; } } .scores-icon-button { background: var(--soft); border: none; width: 40px; height: 40px; border-radius: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--text); } .scores-toc-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: 300px; background: var(--surface-bg); z-index: 100000; transform: translateX(100%); transition: transform 0.3s ease; padding: 20px; box-shadow: -5px 0 15px var(--shadow); overflow-y: auto; } .scores-toc-drawer.is-open { transform: translateX(0); } .scores-toc-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 99999; display: none; } .scores-toc-overlay.is-open { display: block; } .scores-hero-first-item { width: 100%; padding: 18px; border-radius: 24px; background: rgba(15, 23, 42, 0.78); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.34); backdrop-filter: blur(12px); color: #fff !important; } .scores-hero-first-kicker { display: inline-flex; margin-bottom: 10px; padding: 6px 10px; border-radius: 999px; background: rgba(59, 130, 246, 0.26); color: #DBEAFE !important; font-size: 12px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; } .scores-hero-first-title { margin: 0 0 12px; color: #fff !important; font-size: clamp(22px, 3vw, 32px); font-weight: 800; line-height: 1.12; } .scores-hero-first-image { width: 100%; height: 230px; margin: 12px 0 14px; border-radius: 18px; overflow: hidden; background: rgba(255,255,255,0.1); } .scores-hero-first-image img { width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center 22%); display: block; } .scores-hero-first-copy { display: grid; gap: 10px; } .scores-hero-first-copy p { margin: 0; color: #E5E7EB !important; font-size: 15px; line-height: 1.55; } .scores-hero-first-copy p:nth-child(2) { color: #CBD5E1 !important; } .scores-hero-first-actions { margin-top: 16px; display: flex; gap: 10px; flex-wrap: wrap; } .scores-hero-first-actions .scores-next-button { margin-top: 0; } @media (max-width: 760px) { .scores-hero-first-item { padding: 14px; border-radius: 20px; } .scores-hero-first-image { height: 190px; border-radius: 16px; } .scores-hero-first-title { font-size: 23px; } .scores-hero-first-copy p { font-size: 14px; line-height: 1.5; } } /* Traditional first-item landing variant */ .scores-hero { min-height: auto; align-items: flex-start; justify-content: center; padding: 104px 16px 56px; text-align: center; } .scores-hero::after { background: linear-gradient(180deg, rgba(2, 6, 23, 0.38) 0%, rgba(2, 6, 23, 0.30) 45%, rgba(2, 6, 23, 0.48) 100%); } .scores-hero-bg { opacity: 1; background-position: center top; } .scores-hero-bg-img { opacity: 1; } .scores-hero-content { max-width: 860px; display: flex; flex-direction: column; gap: 20px; align-items: stretch; } .scores-hero-text { text-align: center; } .scores-hero-kicker { margin-left: auto; margin-right: auto; margin-bottom: 12px; } .scores-hero-title { max-width: 820px; margin: 0 auto 12px; font-size: clamp(30px, 5.2vw, 54px) !important; line-height: 1.08 !important; } .scores-hero-copy p { max-width: 760px; margin: 0 auto; font-size: clamp(15px, 1.7vw, 18px); line-height: 1.55; } .scores-hero-actions { justify-content: center; margin-top: 2px; } .scores-hero-first-item { width: 100%; padding: 0; border-radius: 24px; background: var(--card-bg); border: 1px solid var(--border); box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28); backdrop-filter: none; color: var(--text) !important; overflow: hidden; text-align: left; } .scores-hero-first-kicker { margin: 28px 30px 8px; background: rgba(59, 130, 246, 0.12); color: var(--primary) !important; } .scores-hero-first-title { margin: 0 30px 10px; color: var(--text) !important; font-size: clamp(23px, 3.2vw, 32px); line-height: 1.16; } .scores-hero-first-copy { display: block; padding: 0 30px; } .scores-hero-first-copy p { margin: 0 0 16px; color: var(--muted) !important; font-size: 17px; line-height: 1.65; } .scores-hero-first-copy p:nth-child(2) { color: var(--muted) !important; } .scores-hero-first-image { width: auto; height: 360px; margin: 16px 30px 18px; border-radius: 16px; background: #E5E7EB; } .scores-hero-first-actions { margin: 18px 30px 30px; } @media (max-width: 760px) { .scores-hero { padding: 88px 12px 34px; } .scores-hero-content { gap: 16px; } .scores-hero-title { font-size: clamp(28px, 8.4vw, 40px) !important; } .scores-hero-copy p { font-size: 15px; line-height: 1.5; } .scores-hero-first-item { border-radius: 20px; } .scores-hero-first-kicker { margin: 20px 18px 8px; } .scores-hero-first-title { margin: 0 18px 10px; font-size: 22px; line-height: 1.18; } .scores-hero-first-copy { padding: 0 18px; } .scores-hero-first-copy p { font-size: 15px; line-height: 1.55; margin-bottom: 14px; } .scores-hero-first-image { height: 210px; margin: 14px 18px 16px; border-radius: 14px; } .scores-hero-actions { display: grid; grid-template-columns: 1fr; width: 100%; } .scores-start-button, .scores-hero-secondary-button { width: 100%; } } /* Align the featured landing item title with the regular article-card layout */ .scores-hero-first-title { display: block !important; margin: 0 0 10px !important; padding: 0 30px !important; width: 100% !important; box-sizing: border-box !important; } .scores-hero-first-copy { padding-left: 30px !important; padding-right: 30px !important; } @media (max-width: 599px) { .scores-hero-first-kicker { margin: 22px 18px 8px !important; } .scores-hero-first-title { padding-left: 18px !important; padding-right: 18px !important; margin-bottom: 10px !important; font-size: 24px !important; line-height: 1.2 !important; } .scores-hero-first-copy { padding-left: 18px !important; padding-right: 18px !important; } } ☰ Continuar lendo Conteúdo × let scoresProgrammaticScroll = false; let scoresScrollSettleTimer = null; let scoresProgrammaticFallbackTimer = null; function setActiveNavButton(id) { const activeId = String(id); const nav = document.getElementById('js-nav'); if (!nav) return; nav.querySelectorAll('.scores-nav-button').forEach(button => { button.classList.toggle('is-active', button.dataset.articleId === activeId || button.textContent.trim() === activeId); }); } function finishProgrammaticScroll() { scoresProgrammaticScroll = false; if (scoresScrollSettleTimer) window.clearTimeout(scoresScrollSettleTimer); if (scoresProgrammaticFallbackTimer) window.clearTimeout(scoresProgrammaticFallbackTimer); scoresScrollSettleTimer = null; scoresProgrammaticFallbackTimer = null; } window.addEventListener('scroll', function() { if (!scoresProgrammaticScroll) return; if (scoresScrollSettleTimer) window.clearTimeout(scoresScrollSettleTimer); scoresScrollSettleTimer = window.setTimeout(finishProgrammaticScroll, 180); }, { passive: true }); function scrollToSection(id) { scoresProgrammaticScroll = true; setActiveNavButton(id); if (scoresProgrammaticFallbackTimer) window.clearTimeout(scoresProgrammaticFallbackTimer); scoresProgrammaticFallbackTimer = window.setTimeout(finishProgrammaticScroll, 2200); const el = document.getElementById(`article-item-${id}`); if (el) { const offset = 80; const bodyRect = document.body.getBoundingClientRect().top; const elementRect = el.getBoundingClientRect().top; const elementPosition = elementRect - bodyRect; const offsetPosition = elementPosition - offset; window.scrollTo({ top: offsetPosition, behavior: 'smooth' }); } } document.addEventListener('DOMContentLoaded', function() { const data = { "logo": "T", "hero": { "title": "Os 20 maiores momentos da 1ª rodada da Copa do Mundo de 2026", "subtitle": "", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/moments_hero", "copy": "De recordes individuais históricos a zebras surpreendentes de seleções estreantes, as primeiras 24 partidas do torneio entregaram um drama incrível. Veja os 20 momentos que definiram a competição até agora." }, "items": [ { "id": 20, "name": "O impacto imediato de Svanberg", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-svenberg", "imagePosition": "center 22%", "textTop": "O meio-campista sueco Mattias Svanberg proporcionou a demonstração definitiva de eficiência vinda do banco durante uma vitória dominante por 5 a 1 sobre a Tunísia em Monterrey. Entrando na partida aos 84 minutos, o meia mal teve tempo de correr para a área antes de receber um passe de Alexander Isak. Com seu primeiríssimo toque no jogo, Svanberg desviou a bola com precisão para o fundo da rede, selando uma exibição brilhante da Suécia.", "textBottom": "Este momento destaca a crescente dependência tática em uma rotação profunda do elenco sob a regra moderna de cinco substituições. Ao causar um impacto imediato, Svanberg demonstrou como pernas frescas podem desmantelar sistematicamente blocos defensivos cansados no fim das partidas. O gol ajudou a Suécia a garantir uma vitória contundente na estreia, provando que a profundidade do banco é uma arma fundamental neste extenuante torneio de quarenta e oito seleções.", "stats": [] }, { "id": 19, "name": "O gol histórico de Olwan", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-olwan", "imagePosition": "center 22%", "textTop": "O atacante jordaniano Ali Olwan levou sua nação ao delírio ao marcar o primeiríssimo gol de seu país no cenário mundial, contra a Áustria em Santa Clara. Aproveitando uma perda de bola boba dos austríacos, o meio-campista Noor Al-Rawabdeh deu um passe longo brilhante que rasgou a defesa. Olwan arrancou pela ponta esquerda, manteve a compostura sob pressão e desferiu um chute rasteiro e preciso que beijou a trave oposta antes de entrar.", "textBottom": "Este gol representa um divisor de águas para o futebol da Jordânia e valida a expansão do formato do torneio. Embora a Áustria tenha garantido uma vitória por 3 a 1 no final, a contribuição histórica de Olwan provou que as nações emergentes pertencem a este palco. O lance demonstrou que organização tática e transições rápidas podem desmantelar defesas europeias consolidadas, inspirando uma nova geração de torcedores de futebol por todo o Oriente Médio.", "stats": [] }, { "id": 18, "name": "O erro tardio de Muheim", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Muheim", "imagePosition": "center 22%", "textTop": "O defensor suíço Miro Muheim viveu um final de jogo de pesadelo em Santa Clara, quando seu gol contra nos acréscimos garantiu um empate dramático para o Catar. A Suíça havia dominado a partida e liderava graças a um pênalti no primeiro tempo, mas falhou em sacramentar o segundo gol. Aos 94 minutos, sob intensa pressão de Boualem Khoukhi, Muheim acidentalmente cabeceou um cruzamento de Homam Ahmed contra as próprias redes, superando o goleiro Gregor Kobel.", "textBottom": "A falha dramática evidencia a fragilidade psicológica de manter vantagens magras em confrontos internacionais de alto risco. Para a Suíça, o resultado foi uma amarga decepção depois de desferir vinte e seis finalizações contra o gol. Por outro lado, o momento deu ao Catar seu primeiríssimo ponto em solo estrangeiro, demonstrando como o desespero defensivo pode transformar uma estreia rotineira de fase de grupos em um marco histórico para uma seleção zebra.", "stats": [] }, { "id": 17, "name": "O gol de empate colocado de Vinícius", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Vin%C3%ADcius", "imagePosition": "center 22%", "textTop": "O ponta brasileiro Vinícius Júnior salvou um ponto para a sua seleção com uma jogada individual de tirar o fôlego contra o Marrocos em Nova Jersey. Depois que o Marrocos assumiu uma liderança surpreendente, Vinícius recebeu um passe de Bruno Guimarães pela ponta esquerda. Ele deixou o defensor sem rumo com um drible de corte brilhante antes de soltar um chute potente e colocado que venceu o goleiro Yassine Bounou para deixar tudo igual.", "textBottom": "Este gol exemplificou o brilho individual necessário para quebrar estruturas defensivas disciplinadas no futebol moderno. O bloco baixo e compacto do Marrocos vinha frustrando o meio-campista ofensivo do Brasil, mas Vinícius provou que um talento de classe mundial pode superar esquemas táticos em um único instante. O empate manteve a invencibilidade histórica do Brasil na fase de grupos e destacou o desafio formidável que o Marrocos apresenta como semifinalista da edição anterior.", "stats": [] }, { "id": 16, "name": "O cabeceio histórico de Fayzullaev", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Fayzullaev", "imagePosition": "center 22%", "textTop": "O promissor jovem atacante do Uzbequistão, Abbosbek Fayzullaev, garantiu o primeiro gol da história de seu país na competição mundial contra a Colômbia, na Cidade do México. Atrás no placar por um gol no segundo tempo, o Uzbequistão construiu uma jogada paciente pela lateral. Após um chute desviado carimbar a trave, Fayzullaev reagiu mais rápido na área, mergulhando para cabecear a bola para longe do alcance do goleiro colombiano Camilo Vargas e desencadear celebrações eufóricas no banco de reservas.", "textBottom": "O gol histórico ilustrou a evolução na qualidade do futebol asiático e o equilíbrio gerado pela expansão da estrutura do torneio. Embora a Colômbia tenha recuperado o controle no fim para vencer por 3 a 1, o cabeceio de Fayzullaev provou que os estreantes têm condições de competir fisicamente com os gigantes sul-americanos. O lance estabeleceu o Uzbequistão como uma equipe altamente competitiva, capaz de explorar falhas em defesas de primeiro escalão.", "stats": [] }, { "id": 15, "name": "O gol da virada de Oh", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Oh", "imagePosition": "center 22%", "textTop": "O reserva sul-coreano Oh Hyeon-gyu coroou uma virada extraordinária no segundo tempo ao marcar o gol da vitória decisiva contra a Tchéquia em Guadalajara. Depois de sair atrás com um gol de cabeça no primeiro tempo, a Coreia do Sul empatou antes de pressionar pelo triunfo. Aos 80 minutos, o armador Hwang In-beom cruzou rasteiro e forte pela ponta direita, permitindo que Oh se antecipasse ao marcador e empurrasse a bola para dentro do gol à queima-roupa.", "textBottom": "Este momento validou os ajustes táticos do técnico Hong Myung-bo e sua ênfase no jogo de transição de alta intensidade. Ao utilizar a presença física de Oh vindo do banco, a Coreia do Sul superou a linha defensiva compacta da Tchéquia para garantir três pontos vitais. A vitória de virada colocou a equipe em uma posição de destaque no Grupo A, demonstrando a maturidade tática necessária para superar adversários europeus fisicamente imponentes.", "stats": [] }, { "id": 14, "name": "O bloqueio em cima da linha de Kolašinac", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-kolasinac", "imagePosition": "center 22%", "textTop": "O veterano bósnio Sead Kolašinac operou um verdadeiro milagre defensivo para negar o gol de empate do Canadá em Toronto. Com o Canadá atrás por um gol, Richie Laryea encontrou espaço dentro da área e finalizou superando o goleiro. A bola parecia ter como destino certo a rede vazia, mas Kolašinac deu um carrinho desesperado e, de alguma forma, desviou a bola contra o travessão para preservar a vantagem bósnia.", "textBottom": "Este bloqueio representa uma das ações defensivas individuais mais bonitas da semana de abertura. Embora o Canadá tenha eventualmente encontrado o empate depois, a intervenção de Kolašinac em cima da linha demonstrou a antecipação e a entrega excepcionais exigidas em um torneio de futebol. Serviu como um lembrete tático de que uma defesa de elite tem tanto valor quanto um gol espetacular, calando temporariamente uma torcida local barulhenta.", "stats": [] }, { "id": 13, "name": "O gol da vitória tardio de Diallo", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Diallo", "imagePosition": "center 22%", "textTop": "O ponta marfinense Amad Diallo partiu os corações do Equador ao converter um gol de vitória sensacional nos acréscimos, em um confronto altamente físico na Filadélfia. A partida parecia caminhar para um empate sem gols até que o ala Wilfried Singo interceptou a bola no meio-campo. Singo arrancou com muita força e sem marcação antes de fazer um cruzamento alto que Diallo desviou lindamente para vencer o goleiro e garantir a vitória dramática.", "textBottom": "Este gol decisivo e dramático destacou o condicionamento atlético supremo e a disciplina tática dos campeões africanos. Ao manterem a intensidade até os últimos minutos dos acréscimos, a equipe explorou uma falha rara na estrutura defensiva do Equador. Os três pontos deram à Costa do Marfim uma vantagem vital no Grupo E, demonstrando que uma defesa paciente combinada com contra-ataques rápidos continua sendo uma fórmula letal em torneios.", "stats": [] }, { "id": 12, "name": "Comenencia choca a Alemanha", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Comenencia", "imagePosition": "center 22%", "textTop": "O jovem meio-campista de Curaçao, Livano Comenencia, escreveu um momento inesquecível de pura alegria ao empatar contra a Alemanha em Houston. Enfrentando os tetracampeões mundiais em sua estreia absoluta na competição, Curaçao saiu atrás no início. No entanto, aos 21 minutos, Comenencia aproveitou uma sobra de bola na entrada da área e desferiu um chute desviado que venceu o lendário goleiro Manuel Neuer, desencadeando comemorações ensandecidas no banco.", "textBottom": "Este gol histórico proporcionou a narrativa mais romântica do formato expandido do torneio. Embora uma implacável seleção alemã tenha garantido uma goleada massiva por 7 a 1 no final, o empate de Comenencia contra uma superpotência do futebol será lembrado por décadas. O lance simbolizou a magia da Copa do Mundo, permettant que uma pequena nação insular ficasse brevemente em pé de igualdade com a elite do esporte.", "stats": [] }, { "id": 11, "name": "Bouaddi assombra o Brasil", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Bouaddi", "imagePosition": "center 22%", "textTop": "O meio-campista marroquino de dezoito anos, Ayyoub Bouaddi, entregou uma atuação de estreia excepcionalmente madura em um empate suado por 1 a 1 contra o Brasil. O prodígio adolescente dominou o centro do campo, registrando oitenta e oito toques na bola e vencendo onze duelos físicos. Enfrentando um meio-campo brasileiro altamente experiente, Bouaddi mostrou uma compostura notável sob pressão, acertando sessenta passes com uma taxa de precisão de noventa e um por cento para ditar completamente a transição defensiva de sua equipe.", "textBottom": "Esta aula de maturidade consolidou o status de Bouaddi como um dos maiores talentos globais do momento, após ele escolher defender o Marrocos em vez da França pouco antes do torneio. O jogo lógico do estudante de matemática ofuscou veteranos consagrados, despertando forte interesse de transferência por parte de clubes de elite europeus, como o Arsenal. Sua atuação provou a crescente competitividade dos meios-campos africanos, destacando como jovens estrelas emergentes podem neutralizar superpotências tradicionais do futebol no maior palco de todos.", "stats": [] }, { "id": 10, "name": "O gol de homenagem de Irankunda", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Irankunda", "imagePosition": "center 22%", "textTop": "O jovem atacante Nestory Irankunda anunciou sua chegada ao cenário mundial ao marcar um golaço na abertura do placar contra a Turquia em Vancouver. Interceptando um lindo passe longo de Paul Okon-Engstler, o jovem de vinte anos superou três defensores na corrida e tocou rasteiro na saída do goleiro. Ele comemorou correndo para a bandeira de escanteio e imitando socos no ar, prestando uma homenagem à lenda australiana Tim Cahill.", "textBottom": "Este gol transformou Irankunda no artilheiro mais jovem da história de sua nação na competição. O momento simbolizou uma passagem de bastão no futebol australiano, conectando o passado de ouro da seleção com seu futuro promissor. Sua finalização cirúrgica e comemoração confiante contagiaram o elenco, fornecendo a fagulha ofensiva necessária para garantir uma vitória histórica na partida de estreia no Grupo D.", "stats": [] }, { "id": 9, "name": "O gol da vitória tardio de Yirenkyi", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Yirenkyi", "imagePosition": "center 22%", "textTop": "O reserva ganês Caleb Yirenkyi se tornou um herói nacional ao marcar um gol de vitória dramático aos 95 minutos contra o Panamá em Toronto. Em um confronto físico e debaixo de muita chuva, Brandon Thomas-Asante arrancou pela ala esquerda e fez um cruzamento preciso para dentro da área. Yirenkyi calibrou o tempo de corrida com perfeição para escorar a bola para o fundo do gol à queima-roupa, desencadeando comemorações selvagens que culminaram em uma confusão generalizada na beira do gramado.", "textBottom": "Este final dramático garantiu três pontos cruciais para Gana em um Grupo L altamente competitivo. Ao superar um bloco defensivo obstinado em condições climáticas difíceis, a equipe provou sua resiliência sob pressão. A catarse emocional do gol da vitória nos instantes finais ressaltou os riscos imensos da fase de grupos, destacando o intenso drama físico e psicológico do futebol de primeira rodada.", "stats": [] }, { "id": 8, "name": "O gol de empate relâmpago de Larin", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Larin", "imagePosition": "center 22%", "textTop": "O atacante canadense Cyle Larin causou um impacto imediato ao marcar um gol de empate histórico contra a Bósnia e Herzegovina em Toronto. Entrando na partida vindo do banco aos 76 minutos, Larin precisou de apenas dois minutos para escrever seu nome na história do esporte canadense. Ele aproveitou um belo desvio de Promise David, girou rapidamente e soltou um chute que garantiu um empate dramático.", "textBottom": "Esta finalização certeira garantiu o primeiríssimo ponto do Canadá em uma Copa do Mundo masculina, apagando décadas de frustração no torneio. Ao decidir o lance diante de uma torcida local inflamada, Larin provou o valor tático da profundidade de banco da equipe de Jesse Marsch. O gol deu um senso vital de pertencimento para os coanfitriões, demonstrando que eles têm totais condições de competir no cenário mundial.", "stats": [] }, { "id": 7, "name": "O cabeceio dramático de Wissa", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-wissa", "imagePosition": "center 22%", "textTop": "O atacante da RD do Congo, Yoane Wissa, garantiu um momento lendário ao marcar um cabeceio dramático de empate contra Portugal em Houston. Atrás no placar devido a um gol no início, a RD do Congo reagiu com uma intensidade física excepcional. Pouco antes do intervalo, Wissa subiu em um escanteio milimétrico cobrado por Arthur Masuaku e testou firme, sem chances para o goleiro Diogo Costa, iniciando comemorações inesquecíveis entre seus companheiros de equipe e a comissão técnica.", "textBottom": "Este cabeceio histórico deu à RD do Congo seu primeiríssimo ponto e gol no cenário mundial, encerrando um jejum de cinquenta e dois anos. Ao segurar o empate contra um dos favoritos ao título, a equipe provou que a disciplina tática pode neutralizar talentos ofensivos de classe mundial. O resultado validou o formato expandido do torneio, oferecendo uma vitrine espetacular da crescente competitividade do futebol africano.", "stats": [] }, { "id": 6, "name": "O gol de empate tardio de Kamada", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Kamada", "imagePosition": "center 22%", "textTop": "O Japão salvou um ponto dramático em Dallas por meio de um gol de empate aos 89 minutos contra a Holanda, anotado pelo meio-campista Daichi Kamada. Atrás no placar na reta final de um confronto eletrizante, os Samurais Azuis conseguiram um escanteio nos minutos derradeiros. O reserva Koki Ogawa subiu no primeiro pau e cabeceou; a bola desviou na cabeça de um Kamada desavisado e enganou o goleiro Bart Verbruggen antes de entrar.", "textBottom": "Este gol evidenciou a resiliência mental do Japão sob intensa pressão. Garantir um empate por 2 a 2 em um grupo altamente competitivo provou que a equipe tem condições de trocar golpes com nações europeia de elite. O gol de empate demonstrou como lances caóticos de bola parada no fim de um jogo podem mudar completamente a tabela de classificação do Grupo F.", "stats": [] }, { "id": 5, "name": "Os dois gols históricos de Balogun", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Balogun", "imagePosition": "center 22%", "textTop": "O atacante americano Folarin Balogun deu uma aula de finalização cirúrgica ao marcar dois belos gols no primeiro tempo contra o Paraguai, em Los Angeles. Diante de um público apaixonado de mais de setenta mil torcedores, Balogun comandou o ataque com uma movimentação excepcional. Ele aproveitou um passe preciso de Christian Pulisic antes de soltar uma bomba de pé esquerdo no ângulo, já nos acréscimos.", "textBottom": "Esta atuação transformou Balogun no primeiro jogador americano desde a edição inaugural do torneio em 1930 a marcar mais de um gol em uma única partida da Copa. Ao fornecer um ponto de referência letal no centro do ataque, ele resolveu a antiga carência da seleção por um centroavante de classe mundial. Seus dois gols ditaram um tom dominante para os coanfitriões, estabelecendo os Estados Unidos como uma séria ameaça para liderar o Grupo D.", "stats": [] }, { "id": 4, "name": "A estreia heroica de Vozinha", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Vozinha", "imagePosition": "center 22%", "textTop": "O goleiro de Cabo Verde, Vozinha, de quarenta anos de idade, operou uma exibição defensiva lendária para manter o placar zerado contra a atual campeã europeia, a Espanha, em Atlanta. Fazendo sua estreia na competição, o veterano arqueiro fez sete defesas espetaculares para frustrar o ataque repleto de estrelas da Espanha. Ele comandou sua retaguarda com extrema autoridade, segurando bolas aéreas e parando atacantes de classe mundial para garantir um empate sem gols histórico.", "textBottom": "Esta partida sem sofrer gols transformou Vozinha no goleiro mais velho a passar em branco em sua estreia na história do torneio. Sua atuação heroica guiou Cabo Verde a um resultado histórico, provando que a disciplina tática pode superar uma disparidade imensa de recursos. Incrivelmente, a equipe disciplinada cometeu apenas uma única falta durante o jogo inteiro, estabelecendo um recorde defensivo absoluto desde 1966.", "stats": [] }, { "id": 3, "name": "Kane iguala recorde", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Kane", "imagePosition": "center 22%", "textTop": "O capitão da Inglaterra, Harry Kane, iniciou sua campanha com grande estilo ao marcar dois belos gols na emocionante vitória sobre a Croácia em Dallas. Kane abriu o placar da marca da cal em sua segunda tentativa antes de testar para o chão, de forma característica, em uma cobrança de escanteio. Sua finalização cirúrgica provou ser decisiva em uma partida eletrizante e cheia de reviravoltas que terminou em 4 a 2 contra um adversário osso duro de roer.", "textBottom": "Esses dois gols elevaram a contagem de Kane em Copas do Mundo para dez gols, igualando o recorde histórico de Gary Lineker como o maior artilheiro da Inglaterra na competição. O feito solidificou sua reputação como um dos atacantes mais letais e confiáveis da história do futebol internacional. Além disso, o meio-campista Jude Bellingham quebrou um recorde europeu durante a partida, destacando a mistura formidável da Inglaterra de liderança veterana e genialidade jovem.", "stats": [] }, { "id": 2, "name": "Os dois gols históricos de Mbappé", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Mbapp%C3%A9", "imagePosition": "center 22%", "textTop": "O atacante francês Kylian Mbappé teve uma atuação histórica ao marcar dois belos gols no segundo tempo contra o Senegal, em East Rutherford. Mbappé quebrou o placar zerado com uma finalização cirúrgica antes de selar a vitória por 3 a 1 com uma pintura de fora da área, um chute cheio de efeito de longa distância. Ele comemorou seu primeiro gol imitando o gesto de tocar uma flauta, cumprindo uma promessa feita ao apresentador de televisão James Corden.", "textBottom": "Esses dois gols elevaram a contagem internacional de Mbappé para cinquenta e oito tentos, superando Olivier Giroud como o maior artilheiro da história da seleção da França. Sua exibição de tirar o fôlego demonstrou por que ele é considerado o jogador de ataque mais avassalador do planeta. Ao guiar a França além de um adversário africano altamente físico, ele credenciou a seleção como uma das principais candidatas a erguer a taça em julho.", "stats": [] }, { "id": 1, "name": "Messi se iguala a Klose", "img": "https://imagescache.365scores.com/image/upload/c_limit,q_auto:eco/Magazines/ENG-magazine/World_Cup_26/WC_MOMENTS_GW1/GettyImages-Messi", "imagePosition": "center 22%", "textTop": "A lenda argentina Lionel Messi entregou a exibição individual mais espetacular da semana de abertura ao anotar um hat-trick brilhante contra a Argélia em Kansas City. Diante de uma multidão barulhenta e apaixonada, Messi desmantelou a defesa argelina com a facilidade que lhe é característica. Ele converteu três finalizações cirúrgicas para garantir uma vitória dominante por 3 a 0 antes de ser substituído debaixo de uma ovação de pé estrondosa.", "textBottom": "Este hat-trick histórico marcou o décimo sexto gol da carreira de Messi na competição, igualando-o ao alemão Miroslav Klose como o maior artilheiro da história das Copas. Ao atingir este ápice monumental, Messi consolidou seu status como o maior jogador a pisar em um gramado. A aula de futebol ditou um tom triunfante para os atuais campeões, provando que eles continuam sendo a equipe a ser batida.", "stats": [] } ] }; const nav = document.getElementById('js-nav'); const sections = document.getElementById('js-sections'); const tocList = document.getElementById('js-toc-list'); // Init Hero document.getElementById('js-hero-title').textContent = data.hero.title; const heroBg = document.getElementById('js-hero-bg'); const heroImg = document.getElementById('js-hero-img'); if (heroBg) heroBg.style.backgroundImage = data.hero.img ? `url("${data.hero.img}")` : 'none'; if (heroImg) { if (data.hero.img) { heroImg.src = data.hero.img; heroImg.style.display = 'block'; } else { heroImg.removeAttribute('src'); heroImg.style.display = 'none'; } } document.getElementById('js-hero-copy').innerHTML = data.hero.copy ? `${data.hero.copy}` : ''; const heroSection = document.querySelector('.scores-hero'); const firstItem = data.items && data.items.length ? data.items[0] : null; if (heroSection && firstItem) heroSection.id = `article-item-${firstItem.id}`; const heroFirstItem = document.getElementById('js-hero-first-item'); if (heroFirstItem) { if (firstItem) { const secondItem = data.items[1] || null; const visibleStats = (firstItem.stats || []).filter(s => s && ( String(s.icon || '').trim() || String(s.value || '').trim() || String(s.label || '').trim() )); const statsHtml = visibleStats.map(s => { const hasIcon = Boolean(String(s.icon || '').trim()); const iconHtml = hasIcon ? `` : ''; return ` ${iconHtml} ${s.value || ''} ${s.label || ''} `; }).join(''); heroFirstItem.innerHTML = ` ${firstItem.id}. ${firstItem.name || ''} ${firstItem.textTop ? `${firstItem.textTop}` : ''} ${firstItem.img ? `` : ''} ${firstItem.textBottom ? `${firstItem.textBottom}` : ''} ${visibleStats.length ? `${statsHtml}` : ''} `; } else { heroFirstItem.style.display = 'none'; } } // Build article items data.items.forEach((d, index) => { const nextDriver = data.items[index + 1]; const nextId = nextDriver ? nextDriver.id : null; // Nav button const btn = document.createElement('button'); btn.className = 'scores-nav-button'; btn.textContent = d.id; btn.dataset.articleId = String(d.id); btn.onclick = () => scrollToSection(d.id); nav.appendChild(btn); // ToC entry const tocBtn = document.createElement('button'); tocBtn.style = 'display:block; width:100%; text-align:left; padding:12px; margin-bottom:8px; border:none; background:var(--soft); cursor:pointer; border-radius:12px; font-weight:700; color:var(--text);'; tocBtn.textContent = `${d.id}. ${d.name}`; tocBtn.onclick = () => { scrollToSection(d.id); toggleToC(false); }; tocList.appendChild(tocBtn); if (index === 0) return; // Stats HTML const visibleStats = (d.stats || []).filter(s => s && ( String(s.icon || '').trim() || String(s.value || '').trim() || String(s.label || '').trim() )); const statsHtml = visibleStats.map(s => { const hasIcon = Boolean(String(s.icon || '').trim()); const iconHtml = hasIcon ? `` : ''; return ` ${iconHtml} ${s.value || ''} ${s.label || ''} `; }).join(''); // Card const sect = document.createElement('section'); sect.className = 'scores-section-shell'; sect.id = `article-item-${d.id}`; sect.innerHTML = ` ${d.id}. ${d.name} ${d.textTop} ${d.img ? `` : ''} ${d.textBottom} ${visibleStats.length ? `${statsHtml}` : ''} ${nextId ? `Próximo ›` : ''} `; sections.appendChild(sect); }); // ToC controls function toggleToC(open) { document.getElementById('js-toc-drawer').classList.toggle('is-open', open); document.getElementById('js-toc-overlay').classList.toggle('is-open', open); } document.getElementById('js-toc-open').onclick = () => toggleToC(true); document.getElementById('js-toc-close').onclick = () => toggleToC(false); document.getElementById('js-toc-overlay').onclick = () => toggleToC(false); document.getElementById('js-start').onclick = () => { if (data.items.length > 1) scrollToSection(data.items[1].id); else if (data.items.length) scrollToSection(data.items[0].id); }; // Active nav highlight for manual scrolling only. Clicks set the active state immediately. const observer = new IntersectionObserver((entries) => { if (scoresProgrammaticScroll) return; entries.forEach(entry => { if (entry.isIntersecting) { const id = entry.target.id.replace('article-item-', ''); setActiveNavButton(id); } }); }, { rootMargin: '-20% 0px -70% 0px' }); const observedHero = document.querySelector('.scores-hero[id^="article-item-"]'); if (observedHero) observer.observe(observedHero); document.querySelectorAll('.scores-section-shell').forEach(s => observer.observe(s)); });