/* ── OddsIQ V2 · tracker (E8) ─────────────────────────────────────────────────────────────────────────────────────────
   O campo é uma das poucas caixas permitidas (ficha DESIGN_BET365: campinho r8, --sur só onde a caixa foi pedida).
   O gramado é verde nos dois temas (--campo/--campo2/--campo-linha não mudam no claro). As duas cores de time só existem
   DENTRO do campo (a fonte não manda a cor da camisa): casa = branco, visitante = azul-claro — as mesmas do campinho.js
   quando a camisa não vinha. Prefixo tk-. ── */
/* tokens LOCAIS do campo (caixa permitida, não muda com o tema): o gramado é escuro nos dois temas */
.tk{--tk-casa:#FFFFFF;--tk-fora:#8EC5FF;--tk-perigo:#FF5A5A;--tk-ink:#FFFFFF;--tk-ink2:rgba(255,255,255,.8);--tk-ink3:rgba(255,255,255,.6);
  --tk-preco:var(--amarelo);--tk-relogio:#FF8A8A;--tk-fonte:#3FD08C;--tk-fonte-ink:#BFF3D9;--tk-cartao:var(--cartao-am);--tk-veu:#0B1410;
  position:relative;background:var(--campo2);border-radius:8px;overflow:hidden;color:var(--tk-ink);font-variant-numeric:tabular-nums}
.tk-topo{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 12px;background:rgba(0,0,0,.22);font-size:13px;font-weight:700}
.tk-pl{display:none;align-items:center;gap:6px;flex:none;font-weight:900}
.tk-pl b{color:var(--tk-preco);font-size:15px}
.tk-pl .tk-pl-x{color:var(--tk-ink3)}
.tk-pl .tk-pl-r{margin-left:4px;color:var(--tk-relogio);font-size:12px}
.tk-ln{display:flex;align-items:center;gap:8px;min-width:0;flex:1 1 auto}
.tk-tx{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tk-cor{flex:none;width:4px;height:18px;border-radius:2px;background:rgba(255,255,255,.35)}
.tk-cor[data-lado="casa"]{background:var(--tk-casa)}
.tk-cor[data-lado="fora"]{background:var(--tk-fora)}
.tk-ac{flex:none;margin-left:auto}
/* o campo fica contido (bet365: ~200–240 px no celular, contando o topo); a sobra dos lados é a moldura do gramado */
.tk-campo{position:relative;background:var(--campo2)}
.tk-campo svg{display:block;width:100%;height:auto;max-height:300px}
@media (max-width:600px){.tk-campo svg{max-height:184px}}
.tk-fundo{fill:var(--campo2)}
.tk-gr{fill:var(--campo)}
.tk-gr2{fill:var(--campo2)}
.tk-faixa{fill:var(--tk-ink);fill-opacity:.03}
.tk-lin{fill:none;stroke:var(--campo-linha);stroke-width:2.4}
.tk-lin .tk-ponto{fill:var(--campo-linha);stroke:none}
.tk-lin .tk-rede{stroke:rgba(255,255,255,.85);stroke-width:5}
.tk-lin .tk-grossa{stroke-width:6;stroke-opacity:.8}
.tk-st-casa{stop-color:var(--tk-casa)}
.tk-st-fora{stop-color:var(--tk-fora)}
.tk-st-perigo{stop-color:var(--tk-perigo)}
.tk-zona,.tk-perigo-g{transition:opacity .6s}
.tk-perigo{animation:tk-pulso 1.6s ease-in-out infinite}
.tk-rastro{fill:none;stroke:var(--tk-ink);stroke-width:3;stroke-linecap:round;stroke-opacity:.28}
.tk-bola{fill:var(--tk-ink);stroke:rgba(0,0,0,.55);stroke-width:2}
.tk-anel{fill:none;stroke:var(--tk-ink);stroke-width:2}
.tk-veu{fill:var(--tk-veu);transition:opacity .6s}
.tk-onda{fill:none;stroke:var(--tk-ink);stroke-width:3;opacity:0;animation:tk-onda 1.5s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes tk-onda{0%{opacity:.9;transform:scale(.3)}100%{opacity:0;transform:scale(2.4)}}
@keyframes tk-pulso{0%,100%{opacity:.55}50%{opacity:1}}
/* pausa (intervalo, suspenso, fim) */
.tk-pausa{position:absolute;inset:0;display:grid;place-items:center;font-size:20px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.9);pointer-events:none}
.tk-pausa[hidden]{display:none}
/* GOL */
.tk-gol{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;pointer-events:none;opacity:0}
.tk-gol b{font-size:clamp(34px,8vw,64px);font-weight:900;letter-spacing:.08em;color:var(--tk-preco);line-height:1}
.tk-gol span{font-size:15px;font-weight:900;color:var(--tk-ink);max-width:90%;text-align:center}
.tk-gol.on{animation:tk-gol 2.6s ease-out}
@keyframes tk-gol{0%{opacity:0;transform:scale(.6)}12%{opacity:1;transform:scale(1.08)}22%{transform:scale(1)}80%{opacity:1}100%{opacity:0}}
/* avisos curtos (escanteio, chute, cartão) — no canto de baixo do campo */
.tk-toasts{position:absolute;left:10px;bottom:10px;display:grid;gap:6px;pointer-events:none;max-width:calc(100% - 20px)}
.tk-toast{display:flex;align-items:center;gap:8px;height:28px;padding:0 10px;border-radius:4px;background:rgba(0,0,0,.55);font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:tk-entra .3s ease-out}
.tk-toast span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tk-toast i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--tk-ink)}
.tk-toast[data-tipo="gol"] i{background:var(--tk-preco)}
.tk-toast[data-tipo="escanteio"] i{border-radius:1px;background:var(--tk-ink);clip-path:polygon(0 0,100% 30%,0 60%)}
.tk-toast[data-tipo="amarelo"] i{width:8px;height:11px;border-radius:1px;background:var(--tk-cartao)}
.tk-toast[data-tipo="vermelho"] i{width:8px;height:11px;border-radius:1px;background:var(--tk-perigo)}
.tk-toast[data-tipo="chute"] i{background:transparent;box-shadow:inset 0 0 0 2px var(--tk-ink)}
@keyframes tk-entra{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
/* placar da quadra (basquete, tênis, hóquei) */
.tk-qd{padding:8px 12px 10px;background:rgba(0,0,0,.22);overflow-x:auto}
.tk-qd[hidden]{display:none}
.tk-qd table{width:100%;border-collapse:collapse;font-size:13px}
.tk-qd th,.tk-qd td{height:30px;padding:0 6px;text-align:center;font-weight:700;color:var(--tk-ink2);white-space:nowrap}
.tk-qd thead th{height:24px;font-size:11.5px;color:var(--tk-ink3)}
.tk-qd tbody th{text-align:left;color:var(--tk-ink);max-width:0;width:46%}
.tk-qd tbody th span{display:inline-block;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.tk-qd td.cur{color:var(--tk-ink)}
.tk-qd td.t,.tk-qd td.pt{color:var(--tk-preco);font-weight:900}
.tk-sac{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tk-preco);margin-right:7px;vertical-align:middle}
.tk-sac.off{background:transparent}
/* no painel à direita dos mercados (≥1240) o tracker mostra o placar no topo — embaixo do cabeçalho da página já mostra */
.mio-lat .tk-pl{display:inline-flex}
.mio-lat .tk-topo{flex-wrap:wrap;row-gap:4px}
.mio-lat .tk-ln{order:3;flex-basis:100%}
@media (max-width:420px){
  .tk-topo{flex-wrap:wrap;row-gap:4px;padding:6px 10px}
  .tk-ln{flex-basis:calc(100% - 120px)}
  .tk-qd tbody th{width:40%}
}
@media (prefers-reduced-motion:reduce){.tk-gol.on{animation:none}.tk-perigo{animation:none}.tk-onda{animation:none;opacity:.6}}

/* ── página do jogo ao vivo #/vivo/<id> (v2_vivo.js, prefixo vv-) — sem caixa: tudo pousa no chão; só o tracker é caixa ── */
.vv-jg{margin:8px var(--mg) 0}
.vv-volta{display:flex;align-items:center;gap:6px;min-height:44px}
.vv-volta>a:first-child{width:44px;height:44px;display:grid;place-items:center;margin-left:-10px;color:var(--ink2)}
.vv-lg{display:inline-flex;align-items:center;gap:6px;padding:13px 0;margin:-13px 0;font-size:13.5px;font-weight:700;color:var(--ink3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vv-lg:hover{color:var(--ink)}
.vv-lg>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vv-cab{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:10px;row-gap:6px;padding:8px 0 14px;border-bottom:1px solid var(--fil)}
.vv-tm{display:grid;justify-items:center;gap:6px;min-width:0;text-align:center}
.vv-tm .nm{font-size:15px;font-weight:700;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
.vv-pl{display:flex;align-items:center;gap:10px;font-size:34px;font-weight:900;line-height:1}
.vv-pl b{color:var(--preco);min-width:.6em;text-align:center}
.vv-pl .x{color:var(--ink4);font-size:22px}
.vv-sc.gol{animation:vv-gol 1.2s ease-out}
@keyframes vv-gol{0%{transform:scale(1)}25%{transform:scale(1.25);color:var(--amarelo)}100%{transform:scale(1)}}
.vv-rel{grid-column:1/-1;display:flex;justify-content:center}
.vv-rel .clk{font-size:13.5px}
/* controle "Demonstração" (canto do campo, recolhido; abre um painel pequeno sobre o gramado) */
.vv-demo{position:relative}
.vv-demo-bt{position:relative;height:24px;padding:0 10px;border-radius:12px;background:rgba(255,255,255,.1);color:var(--tk-ink2);font-size:11.5px;font-weight:700;white-space:nowrap}
.vv-demo-bt::after{content:"";position:absolute;inset:-10px -4px}
.vv-demo-bt:hover,.vv-demo-bt[aria-expanded="true"]{background:rgba(255,255,255,.2);color:var(--tk-ink)}
.vv-demo-p{position:absolute;right:-4px;top:calc(100% + 8px);z-index:3;width:min(300px,calc(100vw - 48px));padding:8px 10px 6px;border-radius:8px;background:var(--sur);color:var(--ink);box-shadow:0 8px 24px rgba(0,0,0,.4)}
.vv-demo-p[hidden]{display:none}
.vv-demo-n{font-size:12px;font-weight:400;color:var(--ink3);padding:2px 2px 4px}
.vv-rp{display:flex;align-items:center;gap:6px}
.vv-bt{min-width:44px;height:44px;padding:0 12px;border-radius:22px;background:var(--veu);color:var(--ink);font-size:14px;font-weight:700;display:inline-grid;place-items:center}
.vv-bt:hover{background:var(--veu2)}
.vv-bt[aria-pressed="true"]{background:var(--esc);color:var(--esc-ink)}
.vv-play .ic svg{width:18px;height:18px}
.vv-play .pl{display:none;fill:currentColor;stroke:none}
.vv-play.pausado .pl{display:block}
.vv-play.pausado .pa{display:none}
.vv-bar{display:block;width:100%;height:44px;accent-color:var(--acc)}
.vv-tempo{margin-left:auto;font-size:12.5px;font-weight:700;color:var(--ink3);white-space:nowrap}
.vv-slot-tk:not(:empty){margin:4px 0 0}
.vv-tk .vz{padding:28px 12px}
.vv-sec{padding:18px 0 4px}
.vv-h{font-size:17px;font-weight:900;padding:0 0 8px;border-bottom:1px solid var(--fil)}
/* estatísticas: valor | rótulo | valor, e a barra dos dois lados */
.vv-st-tm{display:flex;justify-content:space-between;gap:10px;padding:10px 0 4px;font-size:12.5px;font-weight:700;color:var(--ink3)}
.vv-st-tm span{display:inline-flex;align-items:center;gap:6px;min-width:0}
.vv-st-tm i{width:10px;height:10px;border-radius:2px;flex:none}
.vv-st-tm i.c,.vv-br .tr.c i{background:var(--ink)}
.vv-st-tm i.f,.vv-br .tr.f i{background:var(--acc)}
.vv-br{display:grid;grid-template-columns:minmax(3ch,auto) 1fr minmax(3ch,auto);column-gap:8px;row-gap:6px;align-items:center;padding:9px 0;border-bottom:1px solid var(--fil2);font-size:13.5px}
.vv-br>b{font-weight:900}
.vv-br>b.d{text-align:right}
.vv-br .r{text-align:center;color:var(--ink2);font-weight:700;font-size:13px}
.vv-br .trs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.vv-br .tr{height:4px;border-radius:2px;background:var(--veu);overflow:hidden;display:flex}
.vv-br .tr.c{justify-content:flex-end}
.vv-br .tr i{display:block;height:100%;border-radius:2px;transition:width .6s}
.vv-br.muda>b{animation:vv-muda 1.4s ease-out}
@keyframes vv-muda{0%{color:var(--acc)}100%{color:inherit}}
.vv-br.nd{grid-template-columns:1fr auto}
.vv-br.nd .r{grid-column:1;text-align:left}
.vv-br.nd .nd{grid-column:2;grid-row:1;font-size:12.5px;color:var(--ink4);font-style:italic}
/* linha do tempo */
.vv-tl{display:grid}
.vv-li{display:grid;grid-template-columns:minmax(44px,auto) 18px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:6px 0;border-bottom:1px solid var(--fil2);font-size:13.5px}
.vv-li .mn{font-weight:900;color:var(--ink2);text-align:right;line-height:1.15;white-space:nowrap}
.vv-li .mn small{display:block;font-size:11px;font-weight:700;color:var(--ink4)}
.vv-li .tx{min-width:0;color:var(--ink2)}
.vv-li .tx b{color:var(--ink)}
.vv-li .est{font-size:11.5px;font-weight:700;color:var(--ink4);font-style:italic}
.vv-li .ico{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--ink3);justify-self:center}
.vv-li[data-tipo="gol"] .ico{background:var(--preco);box-shadow:none}
.vv-li[data-tipo="gol"] .tx b{color:var(--preco)}
.vv-li[data-tipo="cesta"] .ico{background:var(--ink3);box-shadow:none}
.vv-li[data-tipo="amarelo"] .ico{width:9px;height:12px;border-radius:1px;background:var(--cartao-am);box-shadow:none}
.vv-li[data-tipo="vermelho"] .ico{width:9px;height:12px;border-radius:1px;background:var(--live2);box-shadow:none}
.vv-li[data-tipo="escanteio"] .ico{border-radius:1px;width:10px;background:var(--ink3);clip-path:polygon(0 0,100% 30%,0 60%);box-shadow:none}
/* mercados ao vivo em abas-pílula (.abp); o desenho é o da página do jogo: .mk .gd .tb */
.vv-abp{margin:6px calc(var(--mg) * -1) 0;padding-left:var(--mg);padding-right:var(--mg)}
.vv-abp .cn{margin-left:6px;font-size:12px;color:var(--ink4);font-weight:700}
.vv-abp button[aria-selected="true"] .cn{color:inherit;opacity:.75}
.vv-fechado{padding:18px 0}
.vv-sem-mk{padding:14px 0 0}
/* 3 opções no celular: nome em cima (até 2 linhas), preço embaixo — sem cortar "Time ou Empate" */
@media (max-width:600px){
  .vv-mk .vv-g3 .op{flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:58px;padding:6px 4px;text-align:center}
  .vv-mk .vv-g3 .op .n{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2;font-size:13px}
  .vv-mk .vv-g3 .op.sus::after{margin-top:2px}
}
.vv-mk .mk-h{cursor:default}
.vv-mk .mk-h .cadeado{margin-left:auto}
/* preço mudou: véu verde/vermelho e seta por 4 s (como .odd.sobe/.desce da lista) */
.vv-mk .op.sobe,.vv-mk .tb button.sobe{background:var(--veu-up)}
.vv-mk .op.desce,.vv-mk .tb button.desce{background:var(--veu-dn)}
.vv-mk .op.sobe .v,.vv-mk .tb button.sobe,.vv-mk .tb button.sobe .o{color:var(--up)}
.vv-mk .op.desce .v,.vv-mk .tb button.desce,.vv-mk .tb button.desce .o{color:var(--dn)}
.vv-mk .op.sobe .v::after,.vv-mk .tb button.sobe:not(.vv-cl)::after,.vv-mk .vv-cl.sobe .o::after{content:" ▲";font-size:10px}
.vv-mk .op.desce .v::after,.vv-mk .tb button.desce:not(.vv-cl)::after,.vv-mk .vv-cl.desce .o::after{content:" ▼";font-size:10px}
/* handicap: Casa | Fora, a linha junto do preço */
.vv-hd th{width:50%!important;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:0}
.vv-hd td+td{border-left:1px solid var(--fil2)}
.vv-cl{display:flex!important;align-items:center;justify-content:space-between;gap:8px;padding:0 12px}
.vv-cl .l{color:var(--opc);font-weight:400}
.vv-cl:disabled .l{color:var(--opc-sus)}
.vv-mais{display:flex;align-items:center;justify-content:center;gap:4px;min-height:48px;margin-top:12px;font-weight:700;color:var(--acc);border-top:1px solid var(--fil)}
.vv-mais .ic svg{width:16px;height:16px}
/* coluna direita (≥1241): tracker em cima, estatísticas embaixo */
.vv-lat{padding:14px 0 4px}
.vv-lat .vv-st{padding-top:14px}
@media (min-width:901px){
  .vv-pl{font-size:42px}
  .vv-tm .nm{font-size:16px}
  .vv-cab{padding:10px 0 16px}
}
@media (prefers-reduced-motion:reduce){.vv-sc.gol,.vv-br.muda>b{animation:none}}
/* ≥1241 o painel das estatísticas mora na coluna direita: o miolo fica com placar → abas → mercados → lances */
@media (min-width:1241px){.vv-abp{margin-top:10px}}
/* (v2-vivo-futebol-americano, 25/10) placar por quarto embaixo do placar (esporte sem campo: futebol americano) */
.vv-slot-par:empty{display:none}
.vv-par{width:100%;margin:10px 0 2px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.vv-par th,.vv-par td{padding:5px 4px;text-align:center;border-bottom:1px solid var(--fil);color:var(--ink2);font-weight:600}
.vv-par thead th{font-size:11.5px;color:var(--ink3);font-weight:700}
.vv-par tbody th{text-align:left;max-width:0;width:44%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:700}
.vv-par .t{color:var(--preco);font-weight:900}
.vv-par .ag{color:var(--ink);background:var(--sur2,rgba(127,127,127,.12))}
/* (v2-vivo-outros-esportes, 25/10) beisebol tem 9+ entradas e o críquete/eSports vários períodos: a tabela rola no celular */
.vv-slot-par{overflow-x:auto}
.vv-par.longa tbody th{width:auto;max-width:120px}
