:root{
  --blue:#0b75ff;--blue2:#00a8ff;--ink:#070b10;--panel:#0b1017;--panel2:#10161d;--line:#303840;
  --white:#f4f7fb;--muted:#aab4c0;--green:#20d55d;--red:#ff3545;--yellow:#ffd21f
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:transparent;font-family:"Arial Narrow","Roboto Condensed",Arial,sans-serif;color:var(--white)}
.overlay-stage{position:relative;width:1920px;height:1080px;transform-origin:top left;background:transparent}
.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
.transition{transition:opacity .18s ease,transform .24s cubic-bezier(.2,.8,.2,1)}

.pixel{position:absolute;inset:0;opacity:.6;pointer-events:none;background-image:radial-gradient(circle,var(--blue) 1.2px,transparent 1.55px);background-size:7px 7px;mask-image:linear-gradient(90deg,#000,transparent 20%,transparent 80%,#000);-webkit-mask-image:linear-gradient(90deg,#000,transparent 20%,transparent 80%,#000)}
.brand-tab{position:absolute;left:50%;transform:translateX(-50%);top:-15px;z-index:8;min-width:122px;height:24px;padding:3px 13px;text-align:center;background:#0d131a;border:0;box-shadow:none;clip-path:polygon(9% 100%,0 38%,8% 0,92% 0,100% 38%,91% 100%);font-weight:900;font-style:italic;font-size:16px;line-height:18px;letter-spacing:.3px;white-space:nowrap}
.brand-tab b,.lineup-brand b,.match-brand b{color:var(--blue)}

/* PLACAR PRINCIPAL — compacto para Browser Source 1920×1080 */
.scoreboard{position:absolute;left:510px;top:38px;width:900px;height:72px;display:grid;grid-template-columns:minmax(0,1fr) 128px minmax(0,1fr) 108px;border:1px solid #303840;border-radius:10px;background:linear-gradient(180deg,#10161d,#090d12);box-shadow:0 7px 16px #0005;overflow:visible}
.scoreboard::after{content:"";position:absolute;inset:0;border-radius:9px;box-shadow:inset 0 -1px 0 #0a274b,inset 0 1px 0 #ffffff0c;pointer-events:none}
.team{position:relative;display:flex;align-items:center;justify-content:center;padding:0 16px;font-weight:900;font-size:21px;letter-spacing:.25px;white-space:nowrap;overflow:hidden;min-width:0}
.team span{position:relative;z-index:2;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.team.home{border-right:1px solid #242a31}.team.away{border-left:1px solid #242a31}
.scorebox{display:flex;align-items:center;justify-content:center;font-size:37px;font-weight:900;letter-spacing:4px;background:linear-gradient(180deg,#15191f,#0d0f12);border-left:1px solid #2c333a;border-right:1px solid #2c333a;white-space:nowrap}
.clockbox{display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:2px solid #1e6ee6;background:linear-gradient(180deg,#10151c,#080c11);border-radius:0 9px 9px 0;padding:0 5px;overflow:hidden;min-width:0}
.clock{font-size:21px;font-weight:900;line-height:1;white-space:nowrap}.clock-meta{display:flex;gap:5px;align-items:center;justify-content:center;margin-top:6px;max-width:100%}.period{font-size:12px;font-weight:900;color:var(--blue);line-height:1;white-space:nowrap;max-width:75px;overflow:hidden}.added-time{font-size:11px;font-weight:900;background:#0b75ff;color:#fff;border-radius:3px;padding:2px 4px;line-height:1;white-space:nowrap}

/* PÊNALTIS — faixa própria, abaixo do placar */
.penalties{position:absolute;left:655px;top:117px;width:610px;height:34px;display:grid;grid-template-columns:94px 1fr 92px 1fr;align-items:center;border:1px solid #2d3742;border-top:2px solid var(--blue);border-radius:0 0 8px 8px;background:linear-gradient(180deg,#0d141c,#080c11);box-shadow:0 6px 14px #0005;overflow:hidden;font-size:13px;font-weight:900;text-align:center}
.penalties>span{color:var(--blue);font-size:11px;letter-spacing:.8px}.penalties strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px}.penalties b{font-size:19px;background:#121820;height:100%;display:flex;align-items:center;justify-content:center;letter-spacing:2px}

/* GOL assume exatamente a área do placar */
.goal{position:absolute;left:510px;top:38px;width:900px;height:72px;border:1px solid #303840;border-radius:10px;background:linear-gradient(90deg,#08101b,#0b2447 50%,#08101b);box-shadow:0 7px 18px #0006;overflow:visible;display:flex;align-items:center;justify-content:center}
.goal .pixel{opacity:.55}.goal-word{position:relative;z-index:2;font-size:43px;font-weight:900;font-style:italic;letter-spacing:2px;text-shadow:0 0 15px #0b75ff80;white-space:nowrap}
.goal.flash{animation:goalPulse .55s cubic-bezier(.2,.85,.25,1) both}.goal.flash .goal-word{animation:goalWord .55s cubic-bezier(.2,.85,.25,1) both}
@keyframes goalPulse{0%{transform:scale(.96);filter:brightness(.8)}48%{transform:scale(1.025);filter:brightness(1.55)}100%{transform:scale(1);filter:brightness(1)}}
@keyframes goalWord{0%{transform:translateX(-24px) scale(.92);opacity:0}55%{transform:translateX(5px) scale(1.04);opacity:1}100%{transform:none;opacity:1}}

/* EVENTO DE JOGADOR — aparece logo abaixo do placar */
.player-event{position:absolute;left:700px;top:125px;width:520px;height:72px;display:grid;grid-template-columns:92px 82px 1fr;align-items:stretch;border:1px solid #313a43;border-radius:9px;background:linear-gradient(180deg,#10161d,#090d12);box-shadow:0 8px 18px #0006;overflow:hidden}
.event-badge{display:flex;align-items:center;justify-content:center;font-weight:900;font-size:15px;letter-spacing:.5px;background:#0b67df}.event-number{display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;border-right:1px solid #303840;background:#111820}.event-copy{display:flex;flex-direction:column;justify-content:center;padding:0 18px;min-width:0}.event-copy strong{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-copy span{font-size:12px;color:#aab4c0;font-weight:800;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-event.yellow .event-badge{background:var(--yellow);color:#151515}.player-event.red .event-badge{background:var(--red)}.player-event.goal-event .event-badge{background:var(--blue)}
.player-event.event-in{animation:eventIn .42s cubic-bezier(.18,.9,.28,1) both}@keyframes eventIn{0%{transform:translateY(-10px) scale(.98);opacity:0}100%{transform:none;opacity:1}}

/* LOWER THIRDS */
.lower-card{position:absolute;left:62px;bottom:62px;border:1px solid #343d46;border-radius:10px;background:linear-gradient(180deg,#10161d,#080c11);box-shadow:0 8px 18px #0007;overflow:visible}
.lower-card .brand-tab{top:-17px}
.substitution{width:560px;height:126px}.substitution .pixel{opacity:.55}.sub-row{height:62px;display:grid;grid-template-columns:54px 88px 68px 1fr;align-items:center;border-bottom:1px solid #303840;position:relative;z-index:2}.sub-row:last-child{border-bottom:0}.arrow{font-size:31px;text-align:center;font-weight:900}.arrow.in{color:var(--green)}.arrow.out{color:var(--red)}.sub-label{font-size:16px;font-weight:900}.sub-number{font-size:28px;font-weight:900;text-align:center;border-left:1px solid #3b434b;border-right:1px solid #3b434b}.sub-name{font-size:19px;font-weight:900;padding-left:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-team{position:absolute;right:13px;top:-16px;font-size:11px;color:#a8b2bd;font-weight:800;max-width:235px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.referee{height:190px;width:620px}.official-head{height:48px;display:flex;align-items:center;padding:0 20px;font-size:22px;font-weight:900;border-bottom:1px solid #303840;position:relative;z-index:2}.official-grid{display:grid;grid-template-columns:1fr 1fr;height:140px;position:relative;z-index:2}.official{padding:12px 18px;border-right:1px solid #2b3239;border-bottom:1px solid #2b3239;min-width:0}.official:nth-child(2n){border-right:0}.official:nth-child(n+3){border-bottom:0}.official small{display:block;color:var(--blue);font-size:11px;font-weight:900;margin-bottom:4px}.official strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.gc{height:100px;width:600px;padding:16px 25px 13px 29px}.gc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--blue2),var(--blue));border-radius:9px 0 0 9px}.gc-kicker{font-size:12px;color:var(--blue);font-weight:900;letter-spacing:1px}.gc-name{font-size:27px;font-weight:900;line-height:1.02;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-role{font-size:14px;color:#c0c8d1;margin-top:4px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* JOGOS: largura responde à quantidade preenchida */
.fixtures{position:absolute;left:62px;bottom:62px;height:172px;border:1px solid #343d46;border-radius:10px;background:linear-gradient(180deg,#10161d,#080c11);box-shadow:0 8px 18px #0007;overflow:visible;transition:width .2s ease,opacity .18s ease;width:1020px}.fixtures .brand-tab{top:-17px}.fixtures.count-0{display:none!important}.fixtures.count-1{width:370px}.fixtures.count-2{width:695px}.fixtures.count-3{width:1020px}.fixtures-title{position:absolute;left:18px;top:13px;font-size:14px;font-weight:900;color:var(--blue);letter-spacing:.6px}.fixture-list{position:absolute;left:16px;right:16px;top:42px;bottom:13px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.fixtures.count-1 .fixture-list{grid-template-columns:1fr}.fixtures.count-2 .fixture-list{grid-template-columns:repeat(2,minmax(0,1fr))}.fixture{position:relative;border:1px solid #303840;border-radius:7px;background:#0a0f15;padding:10px 13px;overflow:hidden;min-width:0}.fixture::after{content:"";position:absolute;right:-6px;top:0;width:82px;height:100%;background-image:radial-gradient(circle,var(--blue) 1.2px,transparent 1.55px);background-size:7px 7px;opacity:.23;mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000)}.fixture-when{position:relative;z-index:2;color:var(--blue);font-weight:900;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:15px}.fixture-row{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:7px;align-items:center;margin-top:7px;font-size:14px;font-weight:900}.fixture-row>div:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fixture-score{text-align:right;font-size:16px}

/* ESCALAÇÃO — mesma estrutura editorial, animação refinada e suporte a banco */
.lineup{position:absolute;left:270px;top:150px;width:1380px;height:730px;border:1px solid #343d46;border-radius:16px;background:linear-gradient(180deg,#11171ff5,#080c11f7);box-shadow:0 18px 48px #000b;overflow:hidden}.lineup-top{height:88px;border-bottom:1px solid #343b43;display:flex;align-items:center;justify-content:space-between;padding:0 38px}.lineup-title{font-size:34px;font-weight:900}.lineup-team{color:var(--blue);font-size:22px;font-weight:900;margin-top:3px}.formation{font-size:25px;color:var(--blue);font-weight:900}.lineup-body{display:grid;grid-template-columns:405px 1fr;height:642px}.list-pane{padding:26px 34px;border-right:1px solid #333b44;position:relative}.list-pane .pixel{opacity:.25}.player-list{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.player-list div{font-size:17px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0}.player-list span{color:var(--blue);display:inline-block;width:34px}.bench-list{position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:8px}.bench-list div{font-size:18px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0}.bench-list span{color:var(--blue);display:inline-block;width:40px}.coach{position:absolute;left:34px;right:34px;bottom:26px;padding-top:15px;border-top:1px solid #343b43}.coach small{display:block;color:var(--blue);font-size:13px;font-weight:900}.coach strong{font-size:18px}.pitch{position:relative;margin:26px 34px 34px;border:2px solid #ffffff27;border-radius:7px;background:linear-gradient(180deg,#0b1117dd,#080c11dd);overflow:hidden}.pitch::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #ffffff1d}.pitch::after{content:"";position:absolute;left:50%;top:50%;width:120px;height:120px;border:2px solid #ffffff1d;border-radius:50%;transform:translate(-50%,-50%)}.player-marker{position:absolute;transform:translate(-50%,-50%) scale(.86);min-width:75px;text-align:center;background:#0b1017;border:1px solid #34404b;border-radius:7px;padding:5px 7px;box-shadow:0 7px 14px #0008;z-index:2;opacity:0}.player-marker b{display:block;font-size:22px}.player-marker small{display:block;max-width:102px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#d3d9df}.lineup-brand{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:28px;min-width:180px;padding:4px 20px;text-align:center;background:#0d131a;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);font-weight:900;font-style:italic;font-size:17px}.lineup.lineup-in{animation:lineupFrame .55s cubic-bezier(.16,.9,.25,1) both}.lineup.lineup-in .lineup-top{animation:lineupTop .55s .08s both}.lineup.lineup-in .player-list div,.lineup.lineup-in .bench-list div{animation:listItem .34s cubic-bezier(.2,.8,.2,1) both}.lineup.lineup-in .player-marker{animation:markerIn .42s cubic-bezier(.2,.9,.25,1) both}@keyframes lineupFrame{0%{opacity:0;transform:translateY(30px) scale(.985)}100%{opacity:1;transform:none}}@keyframes lineupTop{0%{opacity:0;transform:translateX(-22px)}100%{opacity:1;transform:none}}@keyframes listItem{0%{opacity:0;transform:translateX(-14px)}100%{opacity:1;transform:none}}@keyframes markerIn{0%{opacity:0;transform:translate(-50%,-35%) scale(.72)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* PATROCINADOR */
.sponsor{position:absolute;right:62px;bottom:62px;min-width:280px;max-width:520px;height:86px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:24px 1fr;column-gap:16px;align-items:center;padding:10px 20px;border:1px solid #343d46;border-radius:9px;background:linear-gradient(180deg,#10161d,#080c11);box-shadow:0 8px 18px #0007}.sponsor span{grid-column:1/-1;color:var(--blue);font-size:11px;font-weight:900;letter-spacing:1px}.sponsor img{max-width:150px;max-height:42px;object-fit:contain;display:none}.sponsor strong{font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sponsor.has-logo img{display:block}

/* PRÉ-JOGO / INTERVALO / FINAL */
.match-state{position:absolute;left:410px;top:340px;width:1100px;height:360px;border:1px solid #343d46;border-radius:16px;background:linear-gradient(180deg,#101821f5,#070b10f8);box-shadow:0 22px 60px #000b;overflow:hidden;text-align:center;padding:54px 70px 40px}.match-state::before,.match-state::after{content:"";position:absolute;top:0;bottom:0;width:260px;background-image:radial-gradient(circle,var(--blue) 1.2px,transparent 1.55px);background-size:8px 8px;opacity:.32}.match-state::before{left:0;mask-image:linear-gradient(90deg,#000,transparent);-webkit-mask-image:linear-gradient(90deg,#000,transparent)}.match-state::after{right:0;mask-image:linear-gradient(90deg,transparent,#000);-webkit-mask-image:linear-gradient(90deg,transparent,#000)}.match-brand{position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:18px;font-weight:900;font-style:italic;z-index:2}.match-kicker{position:relative;z-index:2;color:var(--blue);font-size:17px;font-weight:900;letter-spacing:1.8px}.match-competition{position:relative;z-index:2;color:#aab4c0;font-size:15px;font-weight:800;margin-top:7px}.match-versus{position:relative;z-index:2;margin-top:34px;display:grid;grid-template-columns:1fr 145px 1fr;align-items:center;gap:18px;font-size:31px;font-weight:900}.match-versus>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-versus strong{font-size:54px;letter-spacing:4px}.match-meta{position:relative;z-index:2;margin-top:34px;font-size:15px;font-weight:800;color:#c3ccd6}.match-state.state-in{animation:stateIn .55s cubic-bezier(.16,.9,.25,1) both}@keyframes stateIn{0%{opacity:0;transform:scale(.97) translateY(18px)}100%{opacity:1;transform:none}}
