/* ============================================================
   REPO SPORTS WORLD CUP — AUTOMATED QUIDDITCH BROADCAST V1
   Isolated from the standard RepoSports Quidditch mode.
   ============================================================ */
#wcWorldCupBroadcast{
  position:fixed;inset:0;z-index:2147483300;display:none;place-items:center;
  background:
    linear-gradient(180deg,rgba(1,6,13,.72),rgba(1,4,10,.90)),
    url('assets/world-cup-game-v1/world-cup-broadcast-backdrop.png') center center / cover no-repeat,
    radial-gradient(circle at 50% 45%,#0c1828 0,#02060b 68%,#000 100%);
  color:#f8e8b2;font-family:Georgia,'Times New Roman',serif;overflow:hidden;
}
#wcWorldCupBroadcast::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(7,18,30,.10) 0,rgba(2,6,12,.44) 58%,rgba(0,0,0,.76) 100%);pointer-events:none}
#wcWorldCupBroadcast.is-open{display:grid}
#wcWorldCupBroadcast *{box-sizing:border-box}
.wcg-shell{
  position:relative;width:min(98vw,1672px);aspect-ratio:1672/941;max-height:96vh;
  overflow:hidden;background:#06101b;box-shadow:0 24px 90px #000,0 0 0 2px #000;
  isolation:isolate;
}
.wcg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:#071426;image-rendering:auto}
.wcg-tv-frame{position:absolute;inset:0;z-index:90;width:100%;height:100%;pointer-events:none;image-rendering:pixelated;filter:drop-shadow(0 3px 5px #000)}
.wcg-screen-effects{position:absolute;inset:0;z-index:75;pointer-events:none;border:1px solid #000}
.wcg-screen-effects::before{content:'';position:absolute;inset:1.7% 2.1% 5.2%;background:repeating-linear-gradient(180deg,rgba(255,255,255,.016) 0 1px,rgba(0,0,0,.035) 1px 3px);mix-blend-mode:overlay;opacity:.45}
.wcg-screen-effects::after{content:'';position:absolute;inset:1.7% 2.1% 5.2%;box-shadow:inset 0 0 34px rgba(0,0,0,.72),inset 0 0 5px rgba(116,190,255,.15);border-radius:5px}
.wcg-snow{position:absolute;inset:0;z-index:44;pointer-events:none;overflow:hidden}
.wcg-snow i{position:absolute;top:-8%;width:2px;height:2px;border-radius:50%;background:#dff5ff;opacity:.55;filter:drop-shadow(0 0 2px #b9e9ff);animation:wcgSnowFall linear infinite}
@keyframes wcgSnowFall{to{transform:translate3d(var(--drift),118vh,0)}}

.wcg-scorebar{
  position:absolute;z-index:100;left:50%;top:2.8%;transform:translateX(-50%);width:min(760px,64%);
  min-height:78px;display:grid;grid-template-columns:1fr 126px 1fr;align-items:stretch;
  border:2px solid #c99738;outline:2px solid rgba(3,8,15,.92);outline-offset:-6px;
  background:linear-gradient(180deg,rgba(15,31,48,.97),rgba(3,10,17,.96));
  box-shadow:0 8px 20px #000b,inset 0 0 28px rgba(55,110,163,.16);text-shadow:0 2px #000;
}
.wcg-team-score{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 14px;min-width:0}
.wcg-team-score:first-child{border-right:1px solid rgba(213,167,75,.35)}
.wcg-team-score:last-child{border-left:1px solid rgba(213,167,75,.35)}
.wcg-team-badge{width:36px;height:36px;display:grid;place-items:center;border:2px solid #d9ac4d;transform:rotate(45deg);background:#240b08;box-shadow:0 0 10px #000}
.wcg-team-score:last-child .wcg-team-badge{background:#332606}
.wcg-team-badge span{transform:rotate(-45deg);font:900 11px/1 monospace;color:#fff4c2}
.wcg-team-copy{min-width:0}.wcg-team-copy b{display:block;font-size:19px;letter-spacing:.08em;color:#ffe3a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wcg-team-copy small{display:block;margin-top:3px;font:800 7px/1.1 monospace;letter-spacing:.11em;color:#90b5d1}.wcg-team-lineup{opacity:.9}.wcg-team-scorers{margin-top:4px;font:900 6px/1.12 monospace;letter-spacing:.08em;color:#f0d27a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.wcg-team-goals{font:900 35px/1 Georgia,serif;color:#fff3c3;min-width:36px;text-align:center}
.wcg-clock{display:grid;place-content:center;text-align:center;padding:5px;background:linear-gradient(#091521,#020609)}
.wcg-clock b{font:900 23px/1 monospace;color:#fff0ae}.wcg-clock span{margin-top:4px;font:900 7px/1 monospace;letter-spacing:.16em;color:#e3be67}.wcg-clock em{margin-top:4px;font:800 6px/1 monospace;color:#78c9a0;font-style:normal}

.wcg-live-chip{position:absolute;z-index:101;right:3.4%;top:3.6%;display:flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #b27b32;background:rgba(3,9,15,.86);font:900 8px/1 monospace;letter-spacing:.12em;color:#f5d991;box-shadow:0 4px 12px #0009}
.wcg-live-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:#e33b2f;box-shadow:0 0 8px #ff4e40;animation:wcgLivePulse 1.25s ease-in-out infinite}
@keyframes wcgLivePulse{50%{opacity:.35}}

.wcg-event-banner{position:absolute;z-index:105;left:50%;top:15.4%;transform:translate(-50%,-10px) scale(.96);min-width:260px;max-width:72%;padding:8px 18px;border:1px solid #c89b47;background:linear-gradient(180deg,rgba(36,24,10,.94),rgba(8,8,7,.94));color:#ffe09a;font:900 15px/1.15 Georgia,serif;letter-spacing:.08em;text-align:center;text-shadow:0 2px #000;box-shadow:0 8px 20px #000a,0 0 14px rgba(240,183,67,.16);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}
.wcg-event-banner.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.wcg-event-banner.is-danger{border-color:#d8573f;color:#ffd1b3;box-shadow:0 8px 20px #000a,0 0 18px rgba(255,69,37,.23)}
.wcg-event-banner.is-var{border-color:#6eb6ed;color:#d9f2ff;box-shadow:0 8px 20px #000a,0 0 18px rgba(64,174,255,.27)}

.wcg-commentator{
  position:absolute;z-index:110;left:2.25%;bottom:5.2%;width:min(520px,42%);height:116px;display:grid;grid-template-columns:100px minmax(0,1fr);align-items:end;pointer-events:none;
}
.wcg-barry{align-self:end;width:106px;max-height:112px;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 5px 4px #000);transform-origin:50% 100%}
.wcg-commentator.is-speaking .wcg-barry{animation:wcgBarryTalk .38s ease-in-out 2}
@keyframes wcgBarryTalk{50%{transform:translateY(-2px) rotate(-.8deg)}}
.wcg-comment-box{align-self:end;min-height:76px;padding:9px 12px 8px 14px;border:2px solid #bd8731;background:linear-gradient(180deg,rgba(14,26,38,.96),rgba(4,9,14,.97));box-shadow:0 8px 18px #000c,inset 0 0 16px rgba(67,123,165,.12)}
.wcg-comment-box b{display:block;margin-bottom:5px;color:#f5cf68;font:900 10px/1 monospace;letter-spacing:.08em}.wcg-comment-box p{margin:0;color:#f4ecd5;font:700 12px/1.35 Georgia,serif;text-shadow:0 1px #000}

.wcg-mini-stats{position:absolute;z-index:99;right:3.3%;bottom:6.2%;width:245px;padding:8px 10px;border:1px solid rgba(197,153,68,.75);background:rgba(3,10,16,.82);box-shadow:0 6px 18px #000a;color:#cbd9e4;font:800 7px/1.25 monospace;letter-spacing:.04em;pointer-events:none}
.wcg-mini-stats header{display:flex;justify-content:space-between;margin-bottom:6px;color:#f3d37e;font:900 8px/1 monospace}.wcg-stat-row{display:grid;grid-template-columns:42px 1fr 42px;gap:5px;align-items:center;margin:3px 0}.wcg-stat-row span:first-child{text-align:right;color:#ebc360}.wcg-stat-row span:last-child{text-align:left;color:#e7d18c}.wcg-stat-row b{text-align:center;color:#a8c2d6;font-weight:800}

.wcg-overlay-card{position:absolute;z-index:140;inset:0;display:none;place-items:center;background:rgba(0,6,12,.58);backdrop-filter:blur(2px)}
.wcg-overlay-card.is-open{display:grid}
.wcg-panel{width:min(720px,83%);max-height:76%;overflow:auto;padding:20px 22px;border:3px solid #c9983e;outline:2px solid #07111c;outline-offset:-8px;background:radial-gradient(circle at 50% -10%,rgba(39,93,133,.24),transparent 38%),linear-gradient(180deg,#132437,#050c13 68%);box-shadow:0 22px 60px #000,inset 0 0 34px rgba(83,147,191,.10);text-align:center}
.wcg-panel h2{margin:0;color:#ffe29a;font:900 clamp(24px,3vw,42px)/1 Georgia,serif;letter-spacing:.07em;text-shadow:0 3px #000}.wcg-panel h3{margin:9px 0 0;color:#9fc5df;font:900 11px/1 monospace;letter-spacing:.12em}.wcg-panel p{max-width:610px;margin:13px auto 0;color:#e7dfca;font:700 13px/1.45 Georgia,serif}
.wcg-panel button{margin-top:16px;min-width:210px;padding:10px 18px;border:2px solid #c6983e;background:linear-gradient(#5d421d,#241507);color:#ffe4a1;font:900 12px/1 Georgia,serif;letter-spacing:.08em;cursor:pointer;box-shadow:inset 0 0 9px #000,0 5px 14px #0009}.wcg-panel button:hover{filter:brightness(1.18)}
.wcg-panel button[hidden]{display:none!important}
.wcg-halftime-stats{display:grid;grid-template-columns:1fr 130px 1fr;gap:12px;margin:16px auto 0;max-width:610px}.wcg-half-team{padding:12px;border:1px solid rgba(198,151,61,.48);background:#050c13aa}.wcg-half-team b{display:block;color:#f1d282;font-size:15px}.wcg-half-team strong{display:block;margin-top:5px;color:#fff4bf;font-size:36px}.wcg-half-centre{display:grid;place-content:center;color:#9db7c9;font:800 9px/1.4 monospace}

.wcg-var-box{position:absolute;z-index:145;inset:0;display:none;place-items:center;background:rgba(1,6,11,.34);pointer-events:none}.wcg-var-box.is-open{display:grid}.wcg-var-card{min-width:340px;padding:16px 25px;border:3px solid #66b9f2;background:rgba(4,13,21,.94);box-shadow:0 0 0 2px #05101a,0 12px 36px #000d,0 0 28px rgba(77,183,255,.28);text-align:center}.wcg-var-card b{display:block;color:#d7f2ff;font:900 29px/1 monospace;letter-spacing:.1em}.wcg-var-card span{display:block;margin-top:8px;color:#98cbe9;font:800 10px/1.3 monospace;letter-spacing:.08em}.wcg-var-box.is-decision .wcg-var-card{border-color:#e5b85b;box-shadow:0 0 0 2px #05101a,0 12px 36px #000d,0 0 28px rgba(233,181,71,.25)}.wcg-var-box.is-decision .wcg-var-card b{color:#ffe4a4}

.wcg-fulltime-grid{display:grid;grid-template-columns:1fr 90px 1fr;gap:7px 12px;margin:18px auto 0;max-width:620px;text-align:center;font:800 9px/1.2 monospace}.wcg-fulltime-grid .h{color:#f5d67f;font:900 12px/1.2 Georgia,serif}.wcg-fulltime-grid .label{color:#8fb1c8}.wcg-fulltime-grid .val{color:#e9dfc2}

.wcg-controls{position:absolute;z-index:115;left:50%;bottom:5.55%;transform:translateX(-50%);display:flex;gap:7px;align-items:center}.wcg-control{padding:6px 9px;border:1px solid #9d7331;background:rgba(5,11,17,.88);color:#d9c38b;font:900 7px/1 monospace;letter-spacing:.08em;cursor:pointer}.wcg-control:hover{filter:brightness(1.18)}.wcg-control[hidden]{display:none!important}

.wcg-player-label{position:absolute;z-index:60;transform:translate(-50%,-50%);padding:3px 5px;border:1px solid rgba(211,169,78,.6);background:rgba(2,8,13,.72);color:#fff2bd;font:900 7px/1 monospace;letter-spacing:.03em;pointer-events:none;white-space:nowrap;text-shadow:0 1px #000;opacity:.9}

@media(max-width:900px){
  .wcg-scorebar{width:74%;grid-template-columns:1fr 94px 1fr;min-height:64px}.wcg-team-score{gap:5px;padding:6px 8px}.wcg-team-badge{width:27px;height:27px}.wcg-team-copy b{font-size:12px}.wcg-team-copy small{font-size:5px}.wcg-team-goals{font-size:26px}.wcg-clock b{font-size:17px}.wcg-commentator{width:50%;height:90px;grid-template-columns:72px 1fr}.wcg-barry{width:76px;max-height:86px}.wcg-comment-box{min-height:58px;padding:7px 8px}.wcg-comment-box p{font-size:9px}.wcg-mini-stats{display:none}.wcg-live-chip{font-size:6px}.wcg-event-banner{font-size:11px}.wcg-panel{width:89%;padding:15px}.wcg-halftime-stats{grid-template-columns:1fr 85px 1fr}.wcg-controls{bottom:5.2%}
}
@media(prefers-reduced-motion:reduce){.wcg-snow{display:none}.wcg-live-chip::before,.wcg-commentator.is-speaking .wcg-barry{animation:none!important}}

.wcg-admin-panel{position:absolute;z-index:118;right:2.4%;bottom:10.5%;width:min(390px,34%);padding:9px;border:2px solid #c5963e;background:linear-gradient(180deg,rgba(9,20,30,.97),rgba(2,7,12,.98));box-shadow:0 10px 26px #000c,inset 0 0 18px rgba(64,121,164,.12)}
.wcg-admin-panel[hidden]{display:none!important}.wcg-admin-title{margin-bottom:7px;color:#f4d178;font:900 8px/1 monospace;letter-spacing:.1em;text-align:center}.wcg-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.wcg-admin-grid button{padding:6px 4px;border:1px solid #9f7431;background:#0b1620;color:#e9d18c;font:900 7px/1 monospace;cursor:pointer}.wcg-admin-grid button:hover{filter:brightness(1.2);border-color:#e4b85d}.wcg-admin-only[hidden]{display:none!important}
.wcg-canvas{image-rendering:pixelated}
@media(max-width:900px){.wcg-admin-panel{right:2%;bottom:13%;width:60%}.wcg-admin-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   WORLD CUP BROADCAST FLAVOUR PACKAGE — V3
   ============================================================ */
.wcg-presentation{position:absolute;z-index:132;inset:10.8% 8% 15%;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease}
.wcg-presentation.is-open{opacity:1;transform:none}
.wcg-presentation::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(7,18,28,.72),rgba(1,5,10,.16) 58%,transparent 78%);filter:blur(1px)}
.wcg-presentation-panel{position:relative;width:min(850px,78%);padding:18px 28px 20px;border:2px solid rgba(211,166,73,.78);outline:1px solid rgba(3,8,14,.95);outline-offset:-7px;background:linear-gradient(180deg,rgba(10,25,39,.94),rgba(3,9,15,.91));box-shadow:0 18px 50px #000c,inset 0 0 38px rgba(76,139,184,.10);text-align:center;text-shadow:0 2px #000;overflow:hidden}
.wcg-presentation-panel::after{content:'';position:absolute;left:12%;right:12%;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#d2a54c,transparent);opacity:.65}
.wcg-presentation-panel>small{display:block;color:#82b9d9;font:900 9px/1 monospace;letter-spacing:.2em;text-transform:uppercase}
.wcg-presentation-panel>h1{margin:7px 0 10px;color:#ffe6a0;font:900 clamp(24px,3.4vw,52px)/.96 Georgia,serif;letter-spacing:.06em;text-transform:uppercase}
.wcg-presentation-body{color:#e9e1cd;font:700 12px/1.4 Georgia,serif}.wcg-presentation-panel>footer{display:block!important;margin:11px auto 0!important;padding:0!important;min-height:0!important;border:0!important;outline:0!important;background:none!important;box-shadow:none!important;color:#8fb8d2!important;font:900 8px/1.2 monospace!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.wcg-presentation-panel.is-countdown{width:min(420px,45%);padding:16px 22px}.wcg-presentation-panel.is-countdown>h1{font-size:clamp(58px,8vw,105px);line-height:.82;color:#fff0b2}.wcg-count-copy{font:900 9px/1.2 monospace;letter-spacing:.14em;color:#9cc9e2}
.wcg-versus{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:12px auto 2px}.wcg-versus b{font-size:25px;color:#fff1bd}.wcg-versus span{padding:6px 9px;border:1px solid rgba(205,159,70,.5);font:900 8px/1 monospace;color:#c7a85e;letter-spacing:.12em}
.wcg-lineups{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wcg-lineup-side{padding:9px 10px;border:1px solid rgba(199,154,68,.33);background:rgba(2,8,13,.36)}.wcg-lineup-side h3{margin:0 0 8px;color:#f0c86b;font:900 12px/1 monospace;letter-spacing:.14em}.wcg-lineup-players{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.wcg-lineup-players article{min-width:0}.wcg-lineup-players img{display:block;width:64px;height:72px;max-width:100%;margin:0 auto 4px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #000);transform:scaleX(var(--wcg-intro-face,1)) scale(var(--wcg-intro-scale,1));transform-origin:50% 78%}.wcg-lineup-players b{display:block;color:#fff0bb;font:900 9px/1.1 monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wcg-lineup-players span{display:block;margin-top:3px;color:#80aecb;font:800 6px/1 monospace;letter-spacing:.08em}
.wcg-key-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wcg-key-player{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center;padding:9px 12px;text-align:left;border:1px solid rgba(201,156,70,.4);background:rgba(2,8,13,.45)}.wcg-key-player img{width:88px;height:88px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #000);transform:scaleX(var(--wcg-intro-face,1)) scale(var(--wcg-intro-scale,1));transform-origin:50% 78%}.wcg-key-player small{color:#82b9d9;font:900 7px/1 monospace;letter-spacing:.1em}.wcg-key-player b{display:block;margin-top:5px;color:#ffe4a0;font:900 20px/1 Georgia,serif}.wcg-key-player p{margin:5px 0 0;color:#ded5bf;font:700 11px/1.3 Georgia,serif}

.wcg-profile-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:7px;color:#7fa9c2;font:800 6px/1.2 monospace;letter-spacing:.07em}.wcg-profile-meta span{white-space:nowrap}.wcg-profile-meta strong{color:#efd487;font-weight:900}
.wcg-arena-details{max-width:650px;margin:0 auto}.wcg-arena-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.wcg-arena-facts span{padding:7px 6px;background:rgba(7,20,31,.55);border-top:1px solid rgba(114,164,193,.22);color:#7fa9c2;font:800 6px/1.3 monospace;letter-spacing:.06em}.wcg-arena-facts b{display:block;margin-top:3px;color:#efd487;font-size:7px}
.wcg-presentation-panel.is-countdown>footer{opacity:.72}
.wcg-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.wcg-facts span{padding:12px 8px;border:1px solid rgba(197,154,70,.4);background:rgba(3,10,16,.58);color:#9ebed2;font:900 8px/1.2 monospace;letter-spacing:.08em}.wcg-facts b{display:block;margin-bottom:4px;color:#ffe29a;font:900 32px/1 Georgia,serif}.wcg-arena-copy,.wcg-moment-copy{max-width:610px;margin:7px auto 0!important;color:#e8deca;font:700 14px/1.45 Georgia,serif}.wcg-half-big{padding:11px 14px;border-top:1px solid rgba(203,157,70,.35);border-bottom:1px solid rgba(203,157,70,.35);font:900 10px/1 monospace;letter-spacing:.16em;color:#a8c6d8}
.wcg-broadcast-stats{display:grid;gap:5px;max-width:610px;margin:8px auto}.wcg-broadcast-stats>div{display:grid;grid-template-columns:1fr 180px 1fr;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid rgba(173,139,75,.22)}.wcg-broadcast-stats b{color:#ffe2a0;font:900 15px/1 monospace}.wcg-broadcast-stats span{color:#91b7ce;font:900 7px/1 monospace;letter-spacing:.1em}
.wcg-player-half{display:grid;grid-template-columns:95px 1fr;gap:16px;align-items:center;max-width:500px;margin:4px auto;text-align:left}.wcg-player-half img{width:95px;height:98px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 5px #000)}.wcg-player-half p{margin:0!important;color:#d9d0ba;font:900 10px/1.5 monospace;letter-spacing:.04em}
#wcWorldCupBroadcast[data-broadcast-state="INTRO"] .wcg-scorebar,#wcWorldCupBroadcast[data-broadcast-state="PRE_MATCH"] .wcg-scorebar,#wcWorldCupBroadcast[data-broadcast-state="KICKOFF_COUNTDOWN"] .wcg-scorebar{opacity:.88}
#wcWorldCupBroadcast[data-broadcast-state="INTRO"] .wcg-commentator,#wcWorldCupBroadcast[data-broadcast-state="PRE_MATCH"] .wcg-commentator{opacity:.72}
#wcWorldCupBroadcast[data-broadcast-state="HALFTIME"] .wcg-commentator,#wcWorldCupBroadcast[data-broadcast-state="HALFTIME_STATS"] .wcg-commentator{opacity:.55}

@media(max-width:900px){
  .wcg-presentation{inset:12% 3% 15%}.wcg-presentation-panel{width:88%;padding:12px 14px}.wcg-lineups{gap:8px}.wcg-lineup-players img{width:45px;height:51px}.wcg-lineup-players article.is-jud img{--wcg-intro-scale:1.24!important}.wcg-lineup-players b{font-size:6px}.wcg-key-player{grid-template-columns:58px 1fr;padding:6px}.wcg-key-player img{width:56px;height:60px}.wcg-key-player b{font-size:13px}.wcg-key-player p{font-size:8px}.wcg-facts span{padding:8px 4px}.wcg-facts b{font-size:22px}.wcg-broadcast-stats>div{grid-template-columns:1fr 110px 1fr}.wcg-player-half{grid-template-columns:70px 1fr}.wcg-player-half img{width:68px;height:72px}
}
@media(prefers-reduced-motion:reduce){.wcg-presentation{transition:none}}

/* ============================================================
   WORLD CUP LIVE BROADCAST DIRECTOR — V5
   Barry reaction states + smoother commentary presentation.
   ============================================================ */
.wcg-barry{will-change:transform;transition:filter .16s ease}
.wcg-commentator.is-excited .wcg-barry{animation:wcgBarryInterested .34s cubic-bezier(.2,.8,.2,1) both}
.wcg-commentator.is-shocked .wcg-barry{animation:wcgBarryShock .42s cubic-bezier(.16,.9,.22,1) both}
.wcg-commentator.is-goal .wcg-barry{animation:wcgBarryGoal .60s cubic-bezier(.16,.9,.22,1) both;filter:drop-shadow(0 6px 5px #000) drop-shadow(0 0 8px rgba(255,205,84,.24))}
.wcg-commentator.is-var .wcg-barry{animation:wcgBarryVar .48s ease-out both}
@keyframes wcgBarryInterested{0%{transform:translateY(0)}45%{transform:translateY(-3px) rotate(-1deg)}100%{transform:translateY(0)}}
@keyframes wcgBarryShock{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.035)}100%{transform:translateY(0) scale(1)}}
@keyframes wcgBarryGoal{0%{transform:translateY(0) scale(1)}32%{transform:translateY(-8px) scale(1.07) rotate(-2deg)}68%{transform:translateY(-3px) scale(1.04) rotate(1deg)}100%{transform:translateY(0) scale(1)}}
@keyframes wcgBarryVar{0%{transform:translateY(0)}35%{transform:translateY(-2px) rotate(.8deg)}100%{transform:translateY(0)}}
#wcWorldCupBroadcast[data-barry-debug="HALFTIME"] .wcg-comment-box{border-color:#93b7cf}
#wcWorldCupBroadcast[data-barry-debug="FULLTIME"] .wcg-comment-box{border-color:#d6aa4c}
@media(prefers-reduced-motion:reduce){.wcg-commentator.is-excited .wcg-barry,.wcg-commentator.is-shocked .wcg-barry,.wcg-commentator.is-goal .wcg-barry,.wcg-commentator.is-var .wcg-barry{animation:none!important}}

/* ============================================================
   V16 — REPO SPORTS BRANDING, FLAGS & HALF-TIME DESK
   ============================================================ */
.wcg-scorebar{width:min(820px,68%);grid-template-columns:1fr 136px 1fr}
.wcg-team-badge{width:42px;height:32px;border:0;transform:none;background:transparent!important;box-shadow:none;overflow:hidden;border-radius:2px}
.wcg-team-flag{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;filter:drop-shadow(0 2px 3px #000)}
.wcg-score-logo{display:block;width:72px;height:18px;object-fit:contain;margin:0 auto 2px;filter:drop-shadow(0 1px 2px #000)}
.wcg-clock{padding:3px 5px 5px}.wcg-clock b{font-size:20px}.wcg-clock span{margin-top:2px}
.wcg-live-chip{gap:7px;border-color:rgba(113,169,207,.42);background:linear-gradient(180deg,rgba(10,28,43,.94),rgba(3,9,15,.95));color:#e7f4fb}
.wcg-live-chip img{width:74px;height:17px;object-fit:contain;filter:drop-shadow(0 1px 2px #000)}

.wcg-presentation-brand{display:flex;align-items:center;justify-content:center;gap:9px;margin:-5px auto 8px;padding-bottom:7px;border-bottom:1px solid rgba(112,172,207,.18)}
.wcg-presentation-brand img{width:88px;height:22px;object-fit:contain;filter:drop-shadow(0 2px 2px #000)}
.wcg-presentation-brand span{color:#77badf;font:900 7px/1 monospace;letter-spacing:.18em}
.wcg-flag-matchup{display:grid;grid-template-columns:1fr 80px 1fr;gap:14px;align-items:center;max-width:610px;margin:9px auto 12px}
.wcg-flag-matchup>div{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0}
.wcg-flag-matchup>div:first-child{justify-content:flex-end}.wcg-flag-matchup>div:last-child{justify-content:flex-start}
.wcg-broadcast-flag{width:52px;height:34px;object-fit:cover;image-rendering:pixelated;filter:drop-shadow(0 3px 3px #000)}
.wcg-flag-matchup b{color:#fff0ba;font:900 18px/1 Georgia,serif;letter-spacing:.06em}.wcg-flag-matchup strong{color:#fff3c3;font:900 31px/1 Georgia,serif}.wcg-flag-matchup>span{color:#82b9d9;font:900 7px/1 monospace;letter-spacing:.14em}
.wcg-versus-sub{color:#91b8d0;font:900 7px/1 monospace;letter-spacing:.15em}
.wcg-lineup-side h3{display:flex;align-items:center;justify-content:center;gap:7px}.wcg-lineup-flag{width:29px;height:18px;object-fit:cover;image-rendering:pixelated}
.wcg-key-player small{display:flex;align-items:center;gap:5px}.wcg-key-flag{width:22px;height:14px;object-fit:cover;image-rendering:pixelated}

/* Barry now faces into the pitch. All reaction keyframes preserve the flip. */
.wcg-commentator{width:min(590px,47%);height:124px;grid-template-columns:108px minmax(0,1fr);align-items:end}
.wcg-barry{width:114px;max-height:120px;transform:scaleX(-1);filter:drop-shadow(0 6px 5px #000)}
.wcg-comment-box{position:relative;min-height:88px;padding:0 16px 12px 17px;border:1px solid rgba(107,171,211,.72);border-left:4px solid #dfb45d;background:linear-gradient(110deg,rgba(5,18,29,.98),rgba(12,33,49,.97) 62%,rgba(3,10,16,.98));box-shadow:0 12px 28px #000d,inset 0 1px rgba(255,255,255,.05),inset 0 0 24px rgba(64,138,181,.12);clip-path:polygon(0 0,96% 0,100% 22%,100% 100%,0 100%)}
.wcg-comment-box::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#d9aa4a,#66b5e1,transparent)}
.wcg-comment-head{min-height:35px;margin:0 -16px 9px -17px;padding:6px 16px 5px 17px;display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;background:linear-gradient(90deg,rgba(20,56,79,.78),rgba(7,24,36,.40));border-bottom:1px solid rgba(115,179,215,.24)}
.wcg-comment-head>img{width:70px;height:20px;object-fit:contain;filter:drop-shadow(0 1px 2px #000)}
.wcg-comment-head div b{display:block!important;margin:0!important;color:#ffe09b!important;font:900 11px/1 Georgia,serif!important;letter-spacing:.07em!important}.wcg-comment-head div span{display:block;margin-top:3px;color:#8fbfd8;font:900 6px/1 monospace;letter-spacing:.13em}.wcg-comment-head i{font:900 6px/1 monospace;font-style:normal;letter-spacing:.12em;color:#ffdf88;border:1px solid rgba(225,174,80,.48);padding:4px 5px;background:rgba(87,49,8,.32)}
.wcg-comment-box p{font-size:13px;line-height:1.38;color:#f2ead7}
@keyframes wcgBarryTalk{0%,100%{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-2px) rotate(.8deg)}}
@keyframes wcgBarryInterested{0%,100%{transform:scaleX(-1) translateY(0)}45%{transform:scaleX(-1) translateY(-3px) rotate(1deg)}}
@keyframes wcgBarryShock{0%,100%{transform:scaleX(-1) translateY(0) scale(1)}35%{transform:scaleX(-1) translateY(-5px) scale(1.035)}}
@keyframes wcgBarryGoal{0%{transform:scaleX(-1) translateY(0) scale(1)}32%{transform:scaleX(-1) translateY(-8px) scale(1.07) rotate(2deg)}68%{transform:scaleX(-1) translateY(-3px) scale(1.04) rotate(-1deg)}100%{transform:scaleX(-1) translateY(0) scale(1)}}
@keyframes wcgBarryVar{0%,100%{transform:scaleX(-1) translateY(0)}35%{transform:scaleX(-1) translateY(-2px) rotate(-.8deg)}}

.wcg-half-wait-panel{width:min(790px,88%);max-height:84%;padding:17px 24px 18px;border:1px solid rgba(111,177,215,.72);outline:1px solid rgba(229,183,85,.52);outline-offset:-7px;background:radial-gradient(circle at 50% -15%,rgba(44,111,153,.28),transparent 40%),linear-gradient(180deg,rgba(11,31,47,.98),rgba(3,10,16,.98) 73%)}
.wcg-half-brand{display:flex;justify-content:center;align-items:center;gap:10px;margin-bottom:8px}.wcg-half-brand img{width:92px;height:22px;object-fit:contain}.wcg-half-brand span{color:#7fbad8;font:900 7px/1 monospace;letter-spacing:.17em}
.wcg-halftime-stats{max-width:650px;margin-top:12px}.wcg-half-team{display:grid;grid-template-columns:46px 1fr auto;gap:9px;align-items:center;padding:8px 11px;border:1px solid rgba(105,164,199,.25);background:rgba(3,12,19,.66);text-align:left}.wcg-half-team:last-child{grid-template-columns:46px 1fr auto}.wcg-half-team img{width:46px;height:30px;object-fit:cover;image-rendering:pixelated}.wcg-half-team b{font-size:13px}.wcg-half-team strong{margin:0;font-size:32px}.wcg-half-centre{font-size:8px}
.wcg-half-rotation{min-height:176px;max-width:690px;margin:12px auto 0;padding:12px 16px;border-top:1px solid rgba(100,162,198,.23);border-bottom:1px solid rgba(100,162,198,.18);background:linear-gradient(90deg,transparent,rgba(15,42,60,.52),transparent);opacity:0;transform:translateY(4px);transition:opacity .65s ease,transform .65s ease}
.wcg-half-rotation.is-visible{opacity:1;transform:none}.wcg-half-slide>small{display:block;color:#78b7d7;font:900 7px/1 monospace;letter-spacing:.15em}.wcg-half-slide h4{margin:7px 0 8px;color:#ffe09a;font:900 20px/1 Georgia,serif;letter-spacing:.06em}.wcg-half-slide p{margin:4px auto!important;max-width:600px;color:#e8e0cc;font-size:12px}.wcg-half-rotation .wcg-broadcast-stats{max-width:650px;margin:5px auto}.wcg-half-rotation .wcg-broadcast-stats>div{padding:4px 10px}.wcg-half-player-card{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;max-width:500px;margin:0 auto;text-align:left}.wcg-half-player-card img{width:82px;height:86px;object-fit:contain;image-rendering:pixelated}.wcg-half-player-card p{font:800 9px/1.6 monospace!important}.wcg-half-player-card p b{color:#ffe0a0}
#wcgHalfCopy{margin:11px auto 0;color:#a9c8da;font:800 8px/1.3 monospace;letter-spacing:.06em}
.wcg-half-wait-panel button{margin-top:11px;border:1px solid rgba(95,167,207,.75);background:linear-gradient(180deg,#173b52,#07151f);color:#eff8fc;box-shadow:0 5px 14px #0009,inset 0 1px rgba(255,255,255,.08)}

@media(max-width:900px){
  .wcg-scorebar{width:78%;grid-template-columns:1fr 102px 1fr;min-height:62px}.wcg-team-badge{width:30px;height:23px}.wcg-score-logo{width:55px;height:14px}.wcg-live-chip img{width:56px}.wcg-commentator{width:56%;grid-template-columns:76px 1fr}.wcg-barry{width:82px;max-height:88px}.wcg-comment-head{grid-template-columns:55px 1fr auto}.wcg-comment-head>img{width:52px}.wcg-comment-head div b{font-size:8px!important}.wcg-comment-head div span{font-size:5px}.wcg-comment-box p{font-size:9px}.wcg-flag-matchup{grid-template-columns:1fr 52px 1fr}.wcg-broadcast-flag{width:38px;height:25px}.wcg-flag-matchup b{font-size:12px}.wcg-half-rotation{min-height:145px}.wcg-half-wait-panel{width:92%;padding:13px 14px}.wcg-half-team{grid-template-columns:32px 1fr auto}.wcg-half-team img{width:32px;height:21px}.wcg-half-team strong{font-size:24px}
}

/* ============================================================
   V17 — REAL VELMORA FLAGS + BARRY BRAMBLE MAKESHIFT STUDIO
   The flag files are direct crops of the user-supplied Velmora map.
   ============================================================ */
.wcg-team-badge{
  width:52px;height:30px;padding:2px 3px;
  border:1px solid rgba(218,176,83,.72);border-radius:2px;
  background:linear-gradient(180deg,rgba(18,29,36,.96),rgba(4,9,13,.98))!important;
  box-shadow:0 3px 8px #0009,inset 0 0 0 1px rgba(255,224,145,.08);
  overflow:hidden;
}
.wcg-team-flag,.wcg-broadcast-flag,.wcg-lineup-flag,.wcg-key-flag,.wcg-half-team img{
  object-fit:contain!important;background:rgba(2,7,11,.72);image-rendering:pixelated;
}
.wcg-broadcast-flag{padding:2px;border:1px solid rgba(216,174,80,.58);border-radius:2px}
.wcg-lineup-flag,.wcg-key-flag{padding:1px;border:1px solid rgba(215,173,81,.48);border-radius:1px}
.wcg-half-team img{padding:2px;border:1px solid rgba(215,173,81,.52);border-radius:2px}

/* A physical little pitch-side broadcast booth made entirely from HTML/CSS. */
.wcg-commentator{
  width:min(660px,52%);height:148px;
  grid-template-columns:154px minmax(0,1fr);gap:0;align-items:end;
}
.wcg-barry-studio{
  position:relative;align-self:end;width:154px;height:136px;z-index:2;
  border:2px solid #b98331;border-bottom-width:3px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0/9px 100%,
    linear-gradient(180deg,#112636 0 22%,#07121b 22% 100%);
  box-shadow:0 11px 22px #000d,inset 0 0 0 2px #02070b,inset 0 0 22px rgba(62,125,164,.16);
  clip-path:polygon(3% 0,97% 0,100% 4%,100% 100%,0 100%,0 4%);
  overflow:visible;
}
.wcg-barry-studio::before,.wcg-barry-studio::after{
  content:'';position:absolute;top:23px;bottom:22px;width:7px;z-index:5;
  background:linear-gradient(90deg,#3c250e,#ad7528 40%,#2a1708 44% 70%,#d2a049 74%,#3a220d);
  box-shadow:0 0 6px #000;
}
.wcg-barry-studio::before{left:5px}.wcg-barry-studio::after{right:5px}
.wcg-studio-roof{
  position:absolute;z-index:7;left:5px;right:5px;top:4px;height:24px;
  display:flex;align-items:center;justify-content:space-between;padding:0 7px;
  border:1px solid rgba(218,174,77,.55);
  background:linear-gradient(180deg,#173a50,#07131d);
  box-shadow:0 3px 6px #000a,inset 0 1px rgba(255,255,255,.06);
}
.wcg-studio-roof span{color:#f3d47e;font:900 7px/1 monospace;letter-spacing:.11em;text-shadow:0 1px #000}
.wcg-studio-roof i{font:900 5px/1 monospace;font-style:normal;letter-spacing:.1em;color:#88c4e5}
.wcg-studio-window{
  position:absolute;z-index:2;left:10px;right:10px;top:29px;bottom:23px;overflow:hidden;
  border:1px solid rgba(92,154,189,.38);
  background:
    linear-gradient(155deg,rgba(100,186,231,.08),transparent 34%),
    radial-gradient(circle at 76% 12%,rgba(255,212,111,.10),transparent 25%),
    linear-gradient(180deg,rgba(7,25,38,.96),rgba(2,8,13,.98));
  box-shadow:inset 0 0 18px #000b;
}
.wcg-studio-window::before{
  content:'';position:absolute;left:8px;top:8px;width:18px;height:5px;border-radius:50%;
  background:rgba(235,197,103,.28);filter:blur(3px);box-shadow:92px 2px 8px rgba(109,191,234,.20);
}
.wcg-barry-studio .wcg-barry{
  position:absolute;z-index:3;left:17px;bottom:-4px;width:118px;max-height:109px;
  object-fit:contain;object-position:center bottom;margin:0;
  transform:scaleX(-1);transform-origin:50% 100%;
  filter:drop-shadow(0 5px 4px #000);
}
.wcg-studio-desk{
  position:absolute;z-index:6;left:4px;right:4px;bottom:5px;height:31px;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;padding:4px 8px;
  border:1px solid #a77228;border-top:2px solid #d1a24c;
  background:linear-gradient(180deg,#173142 0,#07131c 42%,#03090e 100%);
  box-shadow:0 -4px 9px #0009,inset 0 1px rgba(255,255,255,.06);
}
.wcg-studio-desk img{display:block;width:78px;height:19px;object-fit:contain;filter:drop-shadow(0 1px 2px #000)}
.wcg-studio-desk span{color:#e2bd66;font:900 5px/1 monospace;letter-spacing:.1em;writing-mode:vertical-rl;transform:rotate(180deg)}
.wcg-studio-leg{position:absolute;z-index:1;bottom:-8px;width:9px;height:15px;background:#18100a;border:1px solid #79531e;box-shadow:0 4px 5px #000}.wcg-studio-leg-left{left:22px}.wcg-studio-leg-right{right:22px}

/* The lower third now docks into the booth rather than beginning beside a floating sprite. */
.wcg-comment-box{
  margin-left:-2px;min-height:91px;border-left:2px solid #c18b35;
  clip-path:polygon(0 0,96.5% 0,100% 20%,100% 100%,0 100%);
}
.wcg-comment-box::before{
  content:'';position:absolute;left:-1px;top:13px;width:8px;height:55px;
  background:linear-gradient(180deg,#d1a14b,#5e3b12,#d1a14b);box-shadow:0 0 6px #000;
}

/* Preserve Barry's inward-facing flip throughout reaction animations inside the booth. */
.wcg-commentator.is-speaking .wcg-barry{animation:wcgBarryTalkV17 .38s ease-in-out 2}
.wcg-commentator.is-excited .wcg-barry{animation:wcgBarryInterestedV17 .34s cubic-bezier(.2,.8,.2,1) both}
.wcg-commentator.is-shocked .wcg-barry{animation:wcgBarryShockV17 .42s cubic-bezier(.16,.9,.22,1) both}
.wcg-commentator.is-goal .wcg-barry{animation:wcgBarryGoalV17 .60s cubic-bezier(.16,.9,.22,1) both}
.wcg-commentator.is-var .wcg-barry{animation:wcgBarryVarV17 .48s ease-out both}
@keyframes wcgBarryTalkV17{0%,100%{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-2px) rotate(.8deg)}}
@keyframes wcgBarryInterestedV17{0%,100%{transform:scaleX(-1) translateY(0)}45%{transform:scaleX(-1) translateY(-3px) rotate(1deg)}}
@keyframes wcgBarryShockV17{0%,100%{transform:scaleX(-1) translateY(0) scale(1)}35%{transform:scaleX(-1) translateY(-4px) scale(1.03)}}
@keyframes wcgBarryGoalV17{0%{transform:scaleX(-1) translateY(0) scale(1)}32%{transform:scaleX(-1) translateY(-6px) scale(1.055) rotate(1.5deg)}68%{transform:scaleX(-1) translateY(-2px) scale(1.03) rotate(-.7deg)}100%{transform:scaleX(-1) translateY(0) scale(1)}}
@keyframes wcgBarryVarV17{0%,100%{transform:scaleX(-1) translateY(0)}35%{transform:scaleX(-1) translateY(-2px) rotate(-.6deg)}}

@media(max-width:900px){
  .wcg-team-badge{width:36px;height:22px;padding:1px 2px}
  .wcg-commentator{width:61%;height:112px;grid-template-columns:108px minmax(0,1fr)}
  .wcg-barry-studio{width:108px;height:102px}
  .wcg-studio-roof{height:19px;left:4px;right:4px;top:3px;padding:0 4px}.wcg-studio-roof span{font-size:5px}.wcg-studio-roof i{font-size:4px}
  .wcg-studio-window{left:7px;right:7px;top:23px;bottom:19px}
  .wcg-barry-studio .wcg-barry{left:10px;bottom:-3px;width:88px;max-height:79px}
  .wcg-studio-desk{left:3px;right:3px;bottom:4px;height:24px;padding:3px 5px}.wcg-studio-desk img{width:56px;height:14px}.wcg-studio-desk span{font-size:4px}
  .wcg-comment-box{min-height:74px}
}

/* V18 goal-event presentation: keep the existing broadcast language, but make a score feel significant. */
#wcWorldCupBroadcast.is-goal-celebration .wcg-scorebar { animation: wcg-goal-score-pulse .72s ease-in-out 0s 8; box-shadow: 0 0 28px rgba(255,202,67,.34), 0 8px 28px rgba(0,0,0,.66); }
#wcWorldCupBroadcast.is-goal-celebration .wcg-live-chip { animation: wcg-goal-live-pulse .8s ease-in-out infinite alternate; }
#wcWorldCupBroadcast.is-goal-celebration .wcg-event-banner.is-visible { transform: translateX(-50%) scale(1.045); }
@keyframes wcg-goal-score-pulse { 0%,100% { filter: brightness(1); } 50% { filter: brightness(1.28) drop-shadow(0 0 10px rgba(255,205,88,.55)); } }
@keyframes wcg-goal-live-pulse { from { filter: brightness(1); } to { filter: brightness(1.2); } }

#wcWorldCupBroadcast.is-goal-celebration .wcg-stage::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:7;box-shadow:inset 0 0 90px rgba(255,194,55,.14);animation:wcg-goal-arena-flash .62s ease-in-out infinite alternate}
@keyframes wcg-goal-arena-flash{from{opacity:.22}to{opacity:.72}}

/* ============================================================
   V26 · REPO SPORTS BROADCAST DIRECTOR V2
   ============================================================ */
.wcg-replay-bug{position:absolute;z-index:128;left:4.1%;top:11.8%;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(218,175,82,.82);background:linear-gradient(180deg,rgba(8,23,35,.96),rgba(2,8,13,.96));box-shadow:0 6px 18px #000a,inset 0 0 12px rgba(93,161,204,.08);opacity:0;transform:translateY(-7px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;color:#f6dfa0;text-shadow:0 1px #000}
.wcg-replay-bug.is-visible{opacity:1;transform:none}
.wcg-replay-bug img{width:64px;height:16px;object-fit:contain;filter:drop-shadow(0 1px 2px #000)}
.wcg-replay-bug span{padding:3px 6px;border-left:1px solid rgba(218,175,82,.42);border-right:1px solid rgba(218,175,82,.42);font:900 10px/1 monospace;letter-spacing:.14em}
.wcg-replay-bug i{font:800 7px/1 monospace;font-style:normal;letter-spacing:.13em;color:#8fc0dd}
#wcWorldCupBroadcast[data-broadcast-state="REPLAY"] .wcg-live-chip{opacity:.42}
#wcWorldCupBroadcast[data-broadcast-state="REPLAY"] .wcg-mini-stats{opacity:.20}

.wcg-story-card{position:absolute;z-index:124;left:4.1%;top:22%;bottom:auto;width:min(360px,30%);min-height:72px;display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(203,157,68,.78);background:linear-gradient(105deg,rgba(4,15,24,.96),rgba(8,28,42,.94) 68%,rgba(39,26,8,.90));box-shadow:0 10px 26px #000b,inset 0 0 18px rgba(90,164,207,.07);opacity:0;transform:translateX(-18px);pointer-events:none;transition:opacity .28s ease,transform .32s cubic-bezier(.2,.75,.25,1);overflow:hidden}
.wcg-story-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#6db5dd,#e3b350,transparent);opacity:.78}
.wcg-story-card.is-visible{opacity:1;transform:none}
.wcg-story-flag{width:48px;height:33px;display:grid;place-items:center;border:1px solid rgba(219,175,79,.42);background:#07131d;overflow:hidden}
.wcg-story-flag img{width:100%;height:100%;object-fit:cover}
.wcg-story-copy{display:flex;min-width:0;flex-direction:column;gap:3px;text-shadow:0 1px #000}
.wcg-story-copy small{color:#79b9db;font:900 6px/1 monospace;letter-spacing:.18em;text-transform:uppercase}
.wcg-story-copy b{color:#ffe09a;font:900 15px/1 Georgia,serif;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-story-copy span{color:#d5e2e9;font:800 7px/1.2 monospace;letter-spacing:.04em}
.wcg-story-player{align-self:end;width:58px;height:66px;object-fit:contain;object-position:center bottom;image-rendering:auto;filter:drop-shadow(0 2px 2px #000)}

#wcWorldCupBroadcast[data-broadcast-state="REPLAY"] .wcg-event-banner{opacity:0!important}
#wcWorldCupBroadcast[data-broadcast-state="REPLAY"] .wcg-commentator{opacity:.58;transition:opacity .25s ease}

@media(max-width:900px){.wcg-story-card{width:38%;grid-template-columns:40px 1fr auto;bottom:21%}.wcg-story-flag{width:36px;height:25px}.wcg-story-player{width:42px;height:50px}.wcg-story-copy b{font-size:10px}.wcg-replay-bug{left:3.5%;top:12.5%}.wcg-replay-bug img{width:48px}}
@media(prefers-reduced-motion:reduce){.wcg-replay-bug,.wcg-story-card{transition:none!important}}

.wcg-replay-sponsor{position:absolute;z-index:129;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transform:scale(.82);transition:opacity .18s ease,transform .28s cubic-bezier(.2,.75,.25,1)}
.wcg-replay-sponsor::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.16),rgba(6,11,18,.18) 32%,rgba(0,0,0,.55) 100%)}
.wcg-replay-sponsor img{position:relative;max-width:min(460px,46%);max-height:28%;object-fit:contain;filter:drop-shadow(0 10px 26px rgba(0,0,0,.8)) drop-shadow(0 0 28px rgba(255,210,90,.18))}
.wcg-replay-sponsor.is-visible{opacity:1;transform:scale(1.02);animation:wcgReplaySponsorFlash .82s cubic-bezier(.2,.72,.22,1) both}
@keyframes wcgReplaySponsorFlash{0%{opacity:0;transform:scale(.76)}18%{opacity:1;transform:scale(1.08)}72%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.98)}}

@media(max-width:900px){.wcg-team-scorers{font-size:5px}}
@media(max-width:1100px){.wcg-team-scorers{font-size:5px}}


/* ============================================================
   V36 — FULL BROADCAST PRESENTATION PACKAGE
   ============================================================ */
.wcg-skip-broadcast{border-color:rgba(202,163,76,.72);background:rgba(5,14,22,.92);letter-spacing:.12em}
.wcg-presentation-panel.is-ident{width:min(520px,55%);padding:28px 34px}
.wcg-ident-lockup{display:grid;place-items:center;gap:10px;margin:10px auto}
.wcg-ident-lockup img{width:min(260px,70%);max-height:88px;object-fit:contain;filter:drop-shadow(0 7px 12px #000)}
.wcg-ident-lockup span{font:900 8px/1 monospace;letter-spacing:.24em;color:#89c4e6}
.wcg-stage-chip{display:inline-block;margin-top:10px;padding:6px 10px;border:1px solid rgba(204,161,73,.55);background:rgba(5,14,22,.52);color:#f2d487;font:900 8px/1 monospace;letter-spacing:.14em}
.wcg-presentation-panel.is-official{width:min(520px,58%)}
.wcg-official-card{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;max-width:430px;margin:8px auto;text-align:left}
.wcg-official-card img{width:105px;height:115px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 5px 5px #000)}
.wcg-official-card p{margin:0;color:#ded6c2;font:700 13px/1.45 Georgia,serif}
.wcg-next-fixture{display:grid;gap:7px;max-width:560px;margin:8px auto;padding:13px 18px;border:1px solid rgba(198,154,68,.42);background:rgba(2,8,13,.48)}
.wcg-next-fixture small{color:#7eb8db;font:900 7px/1 monospace;letter-spacing:.16em}
.wcg-next-fixture b{color:#ffe1a0;font:900 24px/1.1 Georgia,serif}
.wcg-next-fixture b span{color:#8eb8d0;font-size:13px}
.wcg-next-fixture em{color:#a9c6d7;font:800 8px/1 monospace;font-style:normal;letter-spacing:.08em}
@media(max-width:900px){
  .wcg-presentation-panel.is-ident,.wcg-presentation-panel.is-official{width:88%}
  .wcg-official-card{grid-template-columns:74px 1fr}.wcg-official-card img{width:72px;height:82px}.wcg-official-card p{font-size:9px}
  .wcg-next-fixture b{font-size:16px}
}


/* ============================================================
   V38.9 — CLEAN WORLD CUP FLAG FIT
   The live flag PNGs already contain their own ornate frame, so do not
   wrap them in another padded badge/frame.
   ============================================================ */
.wcg-team-badge{
  width:52px!important;
  height:auto!important;
  aspect-ratio:116/62;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.wcg-team-flag{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}
.wcg-broadcast-flag,.wcg-lineup-flag,.wcg-key-flag,.wcg-half-team img,.wcg-story-flag img{
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:900px){
  .wcg-team-badge{width:38px!important}
}


/* ============================================================
   V38.10 — TRANSPARENT FLAG ASSET FIT
   All World Cup flag art now uses the tightly-cropped transparent assets.
   Never stretch flags to a shared forced aspect ratio.
   ============================================================ */

/* Top scorebar */
.wcg-team-badge{
  width:58px!important;
  height:34px!important;
  min-width:58px!important;
  aspect-ratio:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  overflow:visible!important;
}
.wcg-team-score:last-child .wcg-team-badge{
  background:transparent!important;
}
.wcg-team-badge span{
  transform:none!important;
}
.wcg-team-flag{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:56px!important;
  max-height:30px!important;
  padding:0!important;
  margin:0 auto!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Broadcast matchup cards */
.wcg-broadcast-flag{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:58px!important;
  max-height:31px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

/* Lineup cards / key player cards */
.wcg-lineup-flag{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:34px!important;
  max-height:20px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}
.wcg-key-flag{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:26px!important;
  max-height:16px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

/* Half-time / story / misc flag cards */
.wcg-half-team img,
.wcg-story-flag img{
  width:auto!important;
  height:auto!important;
  max-width:46px!important;
  max-height:27px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
}

/* Fixture selector / lobby flags */
.world-cup-live-fixture-flag,
.world-cup-fixture-team-flag,
.world-cup-live-lobby-flag,
.world-cup-live-team-flag{
  width:auto!important;
  height:auto!important;
  max-width:52px!important;
  max-height:27px!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
}

/* Generic safety for any remaining World Cup flag image. */
img[src*="world-cup-flags-transparent"]{
  object-fit:contain!important;
  object-position:center!important;
}

@media(max-width:900px){
  .wcg-team-badge{
    width:44px!important;
    min-width:44px!important;
    height:28px!important;
  }
  .wcg-team-flag{
    max-width:42px!important;
    max-height:24px!important;
  }
}


/* ============================================================
   V38.11 — MATCH OFFICIAL TITLE FIT
   William Whistleworth is deliberately long; the generic broadcast
   headline sizing is too large for the official card.
   ============================================================ */
.wcg-presentation-panel.is-official > h1{
  font-size:clamp(25px,2.75vw,42px)!important;
  line-height:.94!important;
  letter-spacing:.035em!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
  padding:0 4px;
}


/* ============================================================
   WORLD CUP HOTFIX — OPENING FILM VISIBILITY + FULLSCREEN BACKDROP
   Final overrides: intentionally placed at EOF.
   ============================================================ */
#wcWorldCupBroadcast{
  background:
    linear-gradient(180deg,rgba(1,6,13,.10),rgba(1,4,10,.22)),
    url('assets/world-cup-game-v1/world-cup-broadcast-backdrop.png') center center / cover no-repeat,
    #020812 !important;
}
#wcWorldCupBroadcast::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:radial-gradient(circle at 50% 48%,rgba(0,0,0,0) 30%,rgba(0,0,0,.08) 62%,rgba(0,0,0,.30) 100%) !important;
}
#wcWorldCupBroadcast>.wcg-shell{z-index:1}

/* The film sits inside the TV glass while the TV frame remains above it. */
.wcg-opening-film{
  position:absolute;
  inset:1.7% 2.1% 5.2%;
  z-index:89;
  display:none;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.wcg-opening-film.is-visible{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto;
}
.wcg-opening-film video{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain;
  object-position:center center;
  background:#000;
  opacity:1 !important;
  visibility:visible !important;
}
#wcgOpeningFilmSound{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  padding:8px 14px;
  border:1px solid rgba(224,179,80,.82);
  background:rgba(4,10,18,.90);
  color:#ffe3a0;
  font:900 10px/1 monospace;
  letter-spacing:.12em;
  cursor:pointer;
}
#wcgOpeningFilmSound[hidden]{display:none!important}

/* While the opening film runs, it is the broadcast. Keep only the physical TV frame above it. */
#wcWorldCupBroadcast.is-opening-film .wcg-canvas,
#wcWorldCupBroadcast.is-opening-film .wcg-snow,
#wcWorldCupBroadcast.is-opening-film .wcg-worldcup-atmosphere,
#wcWorldCupBroadcast.is-opening-film .wcg-scorebar,
#wcWorldCupBroadcast.is-opening-film .wcg-live-chip,
#wcWorldCupBroadcast.is-opening-film .wcg-replay-sponsor,
#wcWorldCupBroadcast.is-opening-film .wcg-worldcup-replay-sponsor,
#wcWorldCupBroadcast.is-opening-film .wcg-worldcup-replay-bug,
#wcWorldCupBroadcast.is-opening-film .wcg-worldcup-story-card,
#wcWorldCupBroadcast.is-opening-film .wcg-worldcup-big-moment,
#wcWorldCupBroadcast.is-opening-film .wcg-presentation,
#wcWorldCupBroadcast.is-opening-film .wcg-event-banner,
#wcWorldCupBroadcast.is-opening-film .wcg-commentator,
#wcWorldCupBroadcast.is-opening-film .wcg-mini-stats,
#wcWorldCupBroadcast.is-opening-film .wcg-controls,
#wcWorldCupBroadcast.is-opening-film .wcg-admin-panel,
#wcWorldCupBroadcast.is-opening-film .wcg-var-box,
#wcWorldCupBroadcast.is-opening-film .wcg-overlay-card,
#wcWorldCupBroadcast.is-opening-film .wcg-screen-effects{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#wcWorldCupBroadcast.is-opening-film .wcg-tv-frame{
  opacity:1 !important;
  visibility:visible !important;
}


/* ============================================================
   WORLD CUP — FULLSCREEN EVENT AMBIENCE BEHIND THE TV
   Subtle snow, embers and occasional tournament confetti.
   ============================================================ */
#wcWorldCupBroadcast>.wcg-shell{position:relative;z-index:2}
.wcg-backdrop-fx{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;contain:strict}
.wcg-bg-snow,.wcg-bg-ember,.wcg-bg-confetti{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}
.wcg-bg-snow{left:var(--x);top:-5%;width:var(--size);height:var(--size);border-radius:50%;background:rgba(224,244,255,.88);box-shadow:0 0 4px rgba(179,226,255,.32);opacity:.35;animation:wcgBackdropSnow var(--dur) linear var(--delay) infinite}
@keyframes wcgBackdropSnow{0%{transform:translate3d(0,-5vh,0);opacity:0}8%{opacity:.34}88%{opacity:.27}100%{transform:translate3d(var(--drift),108vh,0);opacity:0}}
.wcg-bg-ember{left:var(--x);bottom:-4%;width:2px;height:2px;border-radius:50%;background:#ffb24b;box-shadow:0 0 5px rgba(255,137,38,.65),0 0 11px rgba(255,90,20,.22);opacity:0;animation:wcgBackdropEmber var(--dur) ease-out var(--delay) infinite}
@keyframes wcgBackdropEmber{0%,12%{transform:translate3d(0,0,0) scale(.6);opacity:0}18%{opacity:.38}70%{opacity:.18}100%{transform:translate3d(var(--sway),-78vh,0) scale(.15);opacity:0}}
.wcg-bg-confetti{left:var(--x);top:-6%;width:7px;height:3px;border-radius:1px;background:#d9aa4c;opacity:0;animation:wcgBackdropConfetti var(--dur) cubic-bezier(.22,.66,.4,1) var(--delay) infinite}
.wcg-bg-confetti[data-tone="1"]{background:#4aa3d8}.wcg-bg-confetti[data-tone="2"]{background:#f2e4b0}
@keyframes wcgBackdropConfetti{0%,70%{transform:translate3d(0,-8vh,0) rotate(0);opacity:0}73%{opacity:.56}86%{opacity:.42}96%,100%{transform:translate3d(var(--shift),112vh,0) rotate(var(--spin));opacity:0}}
@media(prefers-reduced-motion:reduce){.wcg-backdrop-fx{display:none!important}}


/* ============================================================
   WORLD CUP — EXPLICIT REPLAY PRESENTATION
   Branded start sting -> persistent slow-motion bug -> return-to-live sting.
   ============================================================ */
.wcg-worldcup-replay-sponsor{
  position:absolute;inset:1.7% 2.1% 5.2%;z-index:188;
  display:grid;place-items:center;pointer-events:none;
  opacity:0;visibility:hidden;
  background:radial-gradient(circle at 50% 45%,rgba(40,82,118,.34),rgba(2,8,15,.84) 55%,rgba(0,0,0,.94));
  transition:opacity .12s ease,visibility .12s ease;
}
.wcg-worldcup-replay-sponsor.is-visible{opacity:1;visibility:visible}
.wcg-worldcup-replay-sponsor>div{
  min-width:min(660px,68%);padding:27px 48px 24px;text-align:center;
  border:2px solid #d1a64c;outline:1px solid rgba(5,13,22,.95);outline-offset:-7px;
  background:linear-gradient(180deg,rgba(12,31,47,.98),rgba(2,9,16,.98));
  box-shadow:0 22px 70px #000,inset 0 0 34px rgba(80,151,196,.14),0 0 34px rgba(220,169,62,.11);
  animation:wcWorldCupReplaySting .82s cubic-bezier(.18,.78,.2,1) both;
}
.wcg-worldcup-replay-sponsor img{display:block;width:min(190px,38%);max-height:56px;object-fit:contain;margin:0 auto 13px;filter:drop-shadow(0 4px 9px #000)}
.wcg-worldcup-replay-sponsor span{display:block;color:#ffe3a0;font:900 clamp(22px,2.25vw,38px)/1 Georgia,serif;letter-spacing:.10em;text-shadow:0 3px #000}
.wcg-worldcup-replay-sponsor span::before{content:'REPO SPORTS · WORLD CUP';display:block;margin-bottom:9px;color:#8dc5e4;font:900 8px/1 monospace;letter-spacing:.24em}
@keyframes wcWorldCupReplaySting{0%{transform:scale(.86);filter:brightness(.75)}24%{transform:scale(1.045);filter:brightness(1.28)}100%{transform:scale(1);filter:brightness(1)}}

.wcg-worldcup-replay-bug{
  position:absolute;z-index:190;left:4.0%;top:12.0%;
  display:flex;align-items:center;gap:10px;padding:8px 12px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  border:2px solid #d5a74a;background:linear-gradient(180deg,rgba(12,31,47,.98),rgba(2,9,15,.98));
  box-shadow:0 8px 24px #000c,inset 0 0 18px rgba(83,155,198,.11);
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  pointer-events:none;text-shadow:0 2px #000;
}
.wcg-worldcup-replay-bug.is-visible{opacity:1;visibility:visible;transform:none}
.wcg-worldcup-replay-bug::before{content:'';width:9px;height:9px;border-radius:50%;background:#e44b38;box-shadow:0 0 10px rgba(255,76,52,.8);animation:wcReplayPulse .9s ease-in-out infinite}
.wcg-worldcup-replay-bug b{color:#ffe1a0;font:900 15px/1 Georgia,serif;letter-spacing:.12em}
.wcg-worldcup-replay-bug span{padding-left:10px;border-left:1px solid rgba(218,176,81,.42);color:#a9d3e8;font:900 8px/1 monospace;letter-spacing:.13em}
@keyframes wcReplayPulse{50%{opacity:.34;transform:scale(.82)}}

#wcWorldCupBroadcast.is-replay-playback .wcg-shell::after{
  content:'';position:absolute;inset:1.7% 2.1% 5.2%;z-index:186;pointer-events:none;
  border:3px solid rgba(213,169,74,.72);
  box-shadow:inset 0 58px 58px -38px rgba(0,0,0,.62),inset 0 -58px 58px -38px rgba(0,0,0,.62),inset 0 0 44px rgba(65,148,203,.10);
}
#wcWorldCupBroadcast.is-replay-playback .wcg-canvas{filter:saturate(.78) contrast(1.08) brightness(.92)}
#wcWorldCupBroadcast.is-replay-playback .wcg-live-chip{opacity:.28}
#wcWorldCupBroadcast.is-replay-playback .wcg-mini-stats{opacity:.16}
#wcWorldCupBroadcast.is-replay-playback .wcg-commentator{opacity:.24}
#wcWorldCupBroadcast.is-replay-transition .wcg-scorebar,
#wcWorldCupBroadcast.is-replay-transition .wcg-live-chip,
#wcWorldCupBroadcast.is-replay-transition .wcg-commentator,
#wcWorldCupBroadcast.is-replay-transition .wcg-mini-stats{opacity:.18}

@media(max-width:900px){
  .wcg-worldcup-replay-sponsor>div{min-width:72%;padding:18px 26px}.wcg-worldcup-replay-sponsor span{font-size:20px}
  .wcg-worldcup-replay-bug{left:3.2%;top:12.5%;padding:6px 8px}.wcg-worldcup-replay-bug b{font-size:11px}.wcg-worldcup-replay-bug span{font-size:6px}
}
@media(prefers-reduced-motion:reduce){.wcg-worldcup-replay-sponsor>div,.wcg-worldcup-replay-bug::before{animation:none!important}}


/* ============================================================
   WORLD CUP V40 — REPLAY VISIBILITY HARD RESET
   Sponsor/bug physically do not occupy layout unless replay code opens them.
   ============================================================ */
.wcg-worldcup-replay-sponsor{display:none!important;opacity:0!important;visibility:hidden!important}
.wcg-worldcup-replay-sponsor.is-visible{display:grid!important;opacity:1!important;visibility:visible!important}
.wcg-worldcup-replay-bug{display:none!important;opacity:0!important;visibility:hidden!important}
.wcg-worldcup-replay-bug.is-visible{display:flex!important;opacity:1!important;visibility:visible!important}

/* ============================================================
   WORLD CUP V40 — PROFESSIONAL HALF-TIME BROADCAST DESK
   ============================================================ */
.wcg-halftime-overlay{background:rgba(0,5,11,.73)!important;backdrop-filter:blur(4px)}
.wcg-halftime-pro{
  width:min(1050px,91%)!important;max-height:88%!important;overflow:auto!important;padding:0!important;
  border:2px solid #cfa34a!important;outline:1px solid #06121d!important;outline-offset:-7px!important;
  background:radial-gradient(circle at 50% -20%,rgba(48,112,154,.30),transparent 42%),linear-gradient(180deg,#10283b 0,#06121d 56%,#02080e 100%)!important;
  box-shadow:0 28px 80px #000,inset 0 0 45px rgba(86,155,196,.11)!important;text-align:left!important
}
.wcg-halftime-pro-head{display:grid;grid-template-columns:112px 1fr 55px;align-items:center;gap:16px;padding:17px 22px 14px;border-bottom:1px solid rgba(213,168,76,.43);background:linear-gradient(90deg,rgba(6,20,32,.96),rgba(19,50,70,.87),rgba(5,17,27,.96))}
.wcg-halftime-pro-head img{width:105px;height:31px;object-fit:contain;filter:drop-shadow(0 3px 5px #000)}
.wcg-halftime-pro-head small{display:block;color:#84bedb;font:900 8px/1 monospace;letter-spacing:.20em}.wcg-halftime-pro-head h2{margin:5px 0 4px!important;color:#ffe09a!important;font:900 31px/1 Georgia,serif!important;letter-spacing:.09em!important}.wcg-halftime-pro-head span{color:#9ab8cb;font:800 8px/1 monospace;letter-spacing:.13em}.wcg-halftime-pro-head>b{justify-self:end;padding:6px 8px;border:1px solid #934135;background:#3b0f0b;color:#ffb49f;font:900 8px/1 monospace;letter-spacing:.16em}
.wcg-halftime-scoreline{display:grid;grid-template-columns:1fr 210px 1fr;align-items:center;gap:18px;padding:13px 28px;background:rgba(1,8,14,.72);border-bottom:1px solid rgba(103,163,199,.20);text-align:center}
.wcg-halftime-scoreline>div{display:flex;align-items:center;justify-content:center;gap:17px}.wcg-halftime-scoreline>div:last-child{flex-direction:row-reverse}.wcg-halftime-scoreline small{color:#f2d48a;font:900 17px/1 Georgia,serif;letter-spacing:.07em}.wcg-halftime-scoreline strong{color:#fff0b7;font:900 45px/1 Georgia,serif;text-shadow:0 3px #000}.wcg-halftime-scoreline>span{color:#78b4d2;font:900 8px/1.4 monospace;letter-spacing:.16em}
.wcg-halftime-pro-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:14px 24px 12px}
.wcg-halftime-pro-stats>div{display:grid;grid-template-columns:68px 1fr 68px;align-items:center;min-height:28px;border-bottom:1px solid rgba(110,166,197,.13);font:900 9px/1 monospace}.wcg-halftime-pro-stats b{color:#ffe09b;text-align:center;font-size:11px}.wcg-halftime-pro-stats span{color:#91afc1;text-align:center;letter-spacing:.09em}
.wcg-halftime-pro-bottom{display:grid;grid-template-columns:1.05fr 1fr 1.25fr;gap:10px;padding:0 22px 13px}.wcg-halftime-feature,.wcg-halftime-barry{min-height:118px;padding:12px 13px;border:1px solid rgba(208,164,73,.28);background:linear-gradient(180deg,rgba(11,31,44,.82),rgba(3,12,19,.88));box-shadow:inset 0 0 18px rgba(66,134,175,.07)}
.wcg-halftime-feature>small,.wcg-halftime-barry>small{display:block;margin-bottom:9px;color:#78badb;font:900 7px/1 monospace;letter-spacing:.15em}.wcg-halftime-feature>b{display:block;color:#ffe09a;font:900 19px/1 Georgia,serif;letter-spacing:.05em}.wcg-halftime-feature>p,.wcg-halftime-barry p{margin:7px 0 0!important;color:#d9d8ce;font:700 10px/1.42 Georgia,serif!important}.wcg-halftime-player{display:grid;grid-template-columns:70px 1fr;gap:11px;align-items:center}.wcg-halftime-player img{width:68px;height:82px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 5px #000)}.wcg-halftime-player b{display:block;color:#ffe09a;font:900 17px/1 Georgia,serif}.wcg-halftime-player span{display:block;margin-top:4px;color:#80b6d3;font:900 7px/1 monospace;letter-spacing:.12em}.wcg-halftime-player p{margin:7px 0 0!important;color:#d7d6ca;font:800 8px/1.45 monospace!important}
.wcg-halftime-pro-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 22px 14px;border-top:1px solid rgba(207,164,75,.27);background:rgba(1,7,12,.75)}.wcg-halftime-pro-foot>span{color:#799bb0;font:900 7px/1.3 monospace;letter-spacing:.10em}.wcg-halftime-pro-foot button{margin:0!important;min-width:205px!important;padding:9px 17px!important;border:1px solid #d2a64d!important;background:linear-gradient(180deg,#254c64,#0a1b27)!important;color:#ffe1a0!important;font:900 10px/1 Georgia,serif!important;letter-spacing:.08em!important;box-shadow:0 6px 16px #0009,inset 0 1px rgba(255,255,255,.08)!important}
@media(max-width:900px){.wcg-halftime-pro{width:94%!important}.wcg-halftime-pro-head{grid-template-columns:78px 1fr 40px;padding:10px 13px}.wcg-halftime-pro-head img{width:75px}.wcg-halftime-pro-head h2{font-size:21px!important}.wcg-halftime-scoreline{grid-template-columns:1fr 115px 1fr;padding:8px 12px}.wcg-halftime-scoreline small{font-size:11px}.wcg-halftime-scoreline strong{font-size:30px}.wcg-halftime-pro-stats{padding:8px 12px;gap:0 10px}.wcg-halftime-pro-stats>div{grid-template-columns:45px 1fr 45px;font-size:6px}.wcg-halftime-pro-bottom{grid-template-columns:1fr 1fr;padding:0 12px 8px}.wcg-halftime-barry{grid-column:1/-1;min-height:70px}.wcg-halftime-feature{min-height:90px}.wcg-halftime-player{grid-template-columns:50px 1fr}.wcg-halftime-player img{width:48px;height:58px}.wcg-halftime-pro-foot{padding:8px 12px}.wcg-halftime-pro-foot button{min-width:150px!important}}


/* =====================================================================
   WORLD CUP V46 — SUPPLIED PREMIUM BROADCAST ART
   Pure presentation layer: no gameplay/sync mechanics changed.
   ===================================================================== */

/* New team / score bar */
.wcg-scorebar.wcg-scorebar-premium{
  position:absolute;z-index:112;left:50%;top:1.55%;transform:translateX(-50%);
  width:min(960px,72%);height:auto;aspect-ratio:1536/360;display:block!important;
  background:none!important;border:0!important;box-shadow:none!important;overflow:visible;pointer-events:none;
}
.wcg-scorebar-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0;pointer-events:none}
.wcg-score-flag{position:absolute;z-index:3;top:27%;width:11.2%;height:47%;display:grid;place-items:center;overflow:hidden;border-radius:50%}
.wcg-score-flag-home{left:1.1%}.wcg-score-flag-away{right:1.0%}
.wcg-score-flag img{width:82%;height:72%;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.72));image-rendering:auto}
.wcg-score-team{position:absolute;z-index:4;top:31%;height:43%;display:flex;flex-direction:column;justify-content:center;color:#ffe7aa;text-shadow:0 2px 2px #000;min-width:0}
.wcg-score-team-home{left:13.8%;width:19.2%;text-align:center}.wcg-score-team-away{right:13.8%;width:19.2%;text-align:center}
.wcg-score-team>span{position:absolute;top:-18%;left:50%;transform:translateX(-50%);font:900 clamp(5px,.48vw,8px)/1 monospace;letter-spacing:.16em;color:#e5c06c;white-space:nowrap}
.wcg-score-team>b{font:900 clamp(13px,1.2vw,19px)/1 Georgia,'Times New Roman',serif;letter-spacing:.065em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-score-team>small{margin-top:8%;font:900 clamp(4.6px,.43vw,7px)/1.1 monospace;letter-spacing:.08em;color:#c9d8e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-scorebar-premium .wcg-team-goals{position:absolute;z-index:5;top:31.5%;width:7.0%;height:42%;display:grid;place-items:center;margin:0!important;padding:0!important;font:900 clamp(25px,2.5vw,41px)/1 Georgia,'Times New Roman',serif;color:#fff1bd;text-shadow:0 3px 4px #000,0 0 10px rgba(255,201,75,.25);background:none!important;border:0!important}
.wcg-score-home-goals{left:33.0%}.wcg-score-away-goals{right:33.0%}
.wcg-scorebar-premium .wcg-clock{position:absolute;z-index:5;left:40.8%;top:26%;width:18.4%;height:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}
.wcg-scorebar-premium .wcg-clock b{font:900 clamp(19px,2.05vw,34px)/1 Georgia,'Times New Roman',serif;color:#fff1bd;letter-spacing:.05em;text-shadow:0 3px 4px #000}
.wcg-scorebar-premium .wcg-clock span{margin-top:4px;font:900 clamp(5px,.55vw,8px)/1 monospace;color:#e4bd62;letter-spacing:.13em}
.wcg-scorebar-premium .wcg-clock em{position:absolute;top:79%;left:50%;transform:translateX(-50%);width:155%;font:900 clamp(4.2px,.43vw,7px)/1 monospace;color:#8fe3ff;letter-spacing:.075em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;font-style:normal}
/* LIVE is already part of the supplied score-frame artwork. */
.wcg-live-chip{display:none!important}

/* Barry — supplied frame + existing animated Barry sprites */
.wcg-commentator.wcg-commentator-premium{
  position:absolute!important;z-index:101!important;left:2.05%!important;bottom:4.5%!important;
  width:min(650px,51%)!important;height:auto!important;aspect-ratio:1785/400!important;
  display:block!important;background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important;pointer-events:none;
}
.wcg-commentator-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:1;filter:drop-shadow(0 8px 12px rgba(0,0,0,.72))}
.wcg-commentator-portrait{position:absolute;z-index:3;left:2.5%;top:9.8%;width:18.3%;height:81%;overflow:hidden;border-radius:50%;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 38%,rgba(14,48,79,.35),rgba(1,11,22,.72) 72%)}
.wcg-commentator-premium .wcg-barry{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;width:94%!important;height:100%!important;max-height:none!important;object-fit:contain!important;object-position:center bottom!important;filter:drop-shadow(0 3px 3px rgba(0,0,0,.8));transform-origin:50% 80%}
.wcg-commentator-heading{position:absolute;z-index:4;left:23.6%;top:13.1%;width:65.5%;height:14%;display:flex;align-items:center;gap:2.6%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 2px 2px #000}
.wcg-commentator-heading b{font:900 clamp(7px,.78vw,12px)/1 Georgia,'Times New Roman',serif;letter-spacing:.08em;color:#ffe4a0}
.wcg-commentator-heading span{padding-left:2.4%;border-left:1px solid rgba(230,178,65,.75);font:900 clamp(4.5px,.48vw,7px)/1 monospace;letter-spacing:.09em;color:#edca79}
.wcg-commentary-copy{position:absolute!important;z-index:4!important;left:25.2%!important;top:43%!important;width:65%!important;height:39%!important;margin:0!important;padding:0!important;color:#f7f0df!important;font:800 clamp(8px,.84vw,13px)/1.25 Georgia,'Times New Roman',serif!important;letter-spacing:0!important;text-shadow:0 2px 3px #000;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}

/* Live stats — supplied art with dynamic values precisely occupying empty side boxes */
.wcg-mini-stats.wcg-mini-stats-premium{
  position:absolute!important;z-index:100!important;right:2.6%!important;bottom:4.8%!important;
  width:min(285px,20.8%)!important;height:auto!important;aspect-ratio:1254/1045!important;padding:0!important;
  border:0!important;background:none!important;box-shadow:none!important;color:#ffe6a2!important;pointer-events:none;overflow:visible;
}
.wcg-mini-stats-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0;filter:drop-shadow(0 8px 13px rgba(0,0,0,.7))}
.wcg-mini-stats-team{position:absolute;z-index:2;top:16.7%;width:28%;text-align:center;font:900 clamp(6px,.63vw,10px)/1 Georgia,'Times New Roman',serif;letter-spacing:.065em;color:#ffe6a2;text-shadow:0 2px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-mini-stats-team-home{left:6.5%}.wcg-mini-stats-team-away{right:6.5%}
.wcg-mini-stats-values{position:absolute!important;z-index:3!important;left:7.4%!important;right:7.4%!important;top:35.2%!important;bottom:7.3%!important;display:grid!important;grid-template-rows:repeat(6,1fr)!important;gap:0!important;margin:0!important;padding:0!important;background:none!important}
.wcg-mini-stats-values>div{display:grid;grid-template-columns:23% 1fr 23%;align-items:center;min-height:0}
.wcg-mini-stats-values>div span{font:900 clamp(9px,1vw,15px)/1 Georgia,'Times New Roman',serif;color:#ffe6a2;text-shadow:0 2px 3px #000;text-align:center}
.wcg-mini-stats-values>div span:first-child{grid-column:1}.wcg-mini-stats-values>div span:last-child{grid-column:3}

/* Keep new premium broadcast pieces readable during the existing special states. */
#wcWorldCupBroadcast[data-broadcast-state="REPLAY"] .wcg-mini-stats-premium{opacity:.16}
#wcWorldCupBroadcast[data-broadcast-state="REPLAY"] .wcg-commentator-premium{opacity:.28}
#wcWorldCupBroadcast.is-replay-transition .wcg-scorebar-premium{opacity:.22}
#wcWorldCupBroadcast.is-opening-film .wcg-scorebar-premium,
#wcWorldCupBroadcast.is-opening-film .wcg-commentator-premium,
#wcWorldCupBroadcast.is-opening-film .wcg-mini-stats-premium{opacity:0!important}

@media(max-width:1050px){
  .wcg-scorebar.wcg-scorebar-premium{width:82%;top:1.8%}
  .wcg-commentator.wcg-commentator-premium{width:58%;bottom:5.0%}
  .wcg-mini-stats.wcg-mini-stats-premium{width:22%;right:2.8%}
}
@media(max-width:760px){
  .wcg-scorebar.wcg-scorebar-premium{width:92%}
  .wcg-score-team>small{display:none}
  .wcg-commentator.wcg-commentator-premium{width:68%;bottom:5.5%}
  .wcg-mini-stats.wcg-mini-stats-premium{display:none!important}
}

/* =====================================================================
   WORLD CUP V47 — SCOREBAR / FLAG / LIVE-STATS ALIGNMENT FIX
   Presentation-only correction pass requested from the live broadcast.
   ===================================================================== */

/* Scorebar: slightly smaller, and remove the inherited rectangular outline
   from the old pre-artwork scorebar implementation. */
.wcg-scorebar.wcg-scorebar-premium{
  width:min(920px,68.5%)!important;
  top:1.75%!important;
  outline:0!important;
  outline-offset:0!important;
}

/* Flags: use the real nation assets and keep them comfortably inside the
   supplied circular/octagonal flag wells rather than touching the frame. */
.wcg-score-flag{
  top:26.2%!important;
  width:11.15%!important;
  height:47.8%!important;
  padding:2.2%!important;
  border-radius:50%!important;
  background:transparent!important;
}
.wcg-score-flag-home{left:1.15%!important}.wcg-score-flag-away{right:1.05%!important}
.wcg-score-flag img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  max-width:100%!important;
  max-height:100%!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.78))!important;
}

/* Team copy: lift the player line clear of the decorative rule. */
.wcg-score-team{top:29.5%!important;height:40.5%!important;justify-content:flex-start!important;padding-top:5.5%!important}
.wcg-score-team-home{left:13.9%!important;width:19.0%!important}.wcg-score-team-away{right:13.9%!important;width:19.0%!important}
.wcg-score-team>b{font-size:clamp(12px,1.08vw,18px)!important;line-height:1!important}
.wcg-score-team>small{
  margin-top:5.2%!important;
  font-size:clamp(4.8px,.43vw,6.8px)!important;
  line-height:1!important;
  color:#d7e2ec!important;
  transform:translateY(-18%)!important;
}

/* Live scorer strip. It stays empty until somebody scores, then shows e.g.
   JUD ×2 · BRAMBLE ×1. This also updates correctly after a VAR overturn. */
.wcg-score-scorers{
  position:absolute;z-index:6;top:62.1%;width:19%;margin:0;padding:0;
  font:900 clamp(4.4px,.40vw,6.4px)/1 monospace;letter-spacing:.055em;
  color:#f5d16f;text-shadow:0 2px 2px #000;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.wcg-score-scorers-home{left:13.9%}.wcg-score-scorers-away{right:13.9%}
.wcg-score-scorers:empty{display:none}

/* Clock/half label: make the clock a touch smaller and raise both the timer
   and phase label away from the centre plaque. */
.wcg-scorebar-premium .wcg-clock{top:23.5%!important;height:49%!important}
.wcg-scorebar-premium .wcg-clock b{
  font-size:clamp(18px,1.88vw,31px)!important;
  transform:translateY(-13%)!important;
  white-space:nowrap!important;
}
.wcg-scorebar-premium .wcg-clock span{
  margin-top:2px!important;
  font-size:clamp(5px,.51vw,7.6px)!important;
  transform:translateY(-18%)!important;
  white-space:nowrap!important;
}
.wcg-scorebar-premium .wcg-clock em{top:80.5%!important;width:150%!important}

/* Live stats: team names slightly higher and farther toward their own sides. */
.wcg-mini-stats-team{top:15.45%!important;width:27%!important}
.wcg-mini-stats-team-home{left:4.7%!important}.wcg-mini-stats-team-away{right:4.7%!important}

/* Numbers: a very small lift and size reduction so each value sits more
   naturally in the supplied stat capsule. */
.wcg-mini-stats-values{top:34.25%!important;bottom:8.15%!important}
.wcg-mini-stats-values>div span{
  font-size:clamp(8px,.90vw,14px)!important;
  transform:translateY(-3%)!important;
}

@media(max-width:1050px){
  .wcg-scorebar.wcg-scorebar-premium{width:78.5%!important;top:1.9%!important}
}
@media(max-width:760px){
  .wcg-scorebar.wcg-scorebar-premium{width:89%!important}
  .wcg-score-scorers{font-size:4.3px!important}
}

/* =====================================================================
   WORLD CUP V48 — COMPACT SCOREBAR / BROADCAST EVENT STINGERS / TV VOLUME
   Presentation polish plus a World Cup broadcast-local master volume.
   ===================================================================== */

/* Another restrained size reduction: keeps the artwork dominant without
   eating so much of the live pitch. */
.wcg-scorebar.wcg-scorebar-premium{
  width:min(860px,64%)!important;
  top:1.85%!important;
}

/* Team names sit decisively above the etched divider. Player names/scorers
   remain below it in their own smaller broadcast line. */
.wcg-score-team{
  top:27.6%!important;
  height:42%!important;
  padding-top:4.4%!important;
}
.wcg-score-team>b{
  transform:translateY(-24%)!important;
  font-size:clamp(11.5px,1.03vw,17px)!important;
}
.wcg-score-team>small{
  margin-top:4.5%!important;
  transform:translateY(-11%)!important;
}
.wcg-score-scorers{top:62.7%!important}

/* Nudge the clock up just enough to optically centre the digits in the
   middle medallion; keep half/venue aligned beneath it. */
.wcg-scorebar-premium .wcg-clock{top:22.7%!important;height:49%!important}
.wcg-scorebar-premium .wcg-clock b{transform:translateY(-15%)!important}
.wcg-scorebar-premium .wcg-clock span{transform:translateY(-17%)!important}

/* Professional match-event stinger. It lives below and to the left of the
   scorebar so it is visible without covering the central run of play. */
.wcg-event-banner{
  z-index:111!important;
  left:2.65%!important;
  top:22.8%!important;
  transform:translateX(-16px) scale(.985)!important;
  width:min(330px,31%)!important;
  min-width:250px!important;
  max-width:360px!important;
  min-height:62px!important;
  padding:10px 24px 10px 20px!important;
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  grid-template-rows:auto auto!important;
  column-gap:11px!important;
  align-items:center!important;
  border:1px solid rgba(232,183,76,.86)!important;
  border-left:4px solid #e3b24c!important;
  border-radius:0!important;
  clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%)!important;
  background:
    linear-gradient(90deg,rgba(9,31,50,.98),rgba(2,11,20,.95) 72%,rgba(13,22,31,.93))!important;
  color:#fff0bd!important;
  text-align:left!important;
  box-shadow:0 9px 24px rgba(0,0,0,.62),inset 0 1px rgba(255,235,175,.09),0 0 18px rgba(224,173,63,.12)!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transition:opacity .16s ease,transform .2s cubic-bezier(.2,.8,.2,1)!important;
}
.wcg-event-banner::before{
  content:'';position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,#ffe59a,rgba(255,224,130,.16),transparent 82%);
  opacity:.8;
}
.wcg-event-banner::after{
  content:'RS';grid-row:1/3;grid-column:1;width:30px;height:30px;display:grid;place-items:center;
  border:1px solid rgba(236,190,80,.7);transform:rotate(45deg);
  background:linear-gradient(145deg,#0c2943,#04111e);color:#f6d579;
  font:900 7px/1 monospace;letter-spacing:.05em;box-shadow:inset 0 0 0 2px rgba(0,0,0,.28);
}
.wcg-event-banner.is-visible{
  opacity:1!important;
  transform:translateX(0) scale(1)!important;
  animation:wcgEventStingerIn .32s cubic-bezier(.16,.8,.25,1) both;
}
@keyframes wcgEventStingerIn{0%{opacity:0;transform:translateX(-28px) scale(.97)}70%{opacity:1;transform:translateX(4px) scale(1.008)}100%{opacity:1;transform:translateX(0) scale(1)}}
.wcg-event-kicker{grid-column:2;display:block;color:#80bddc;font:900 clamp(5px,.48vw,7px)/1 monospace!important;letter-spacing:.14em;text-shadow:0 1px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-event-title{grid-column:2;display:inline;color:#ffe7a1;font:900 clamp(13px,1.25vw,19px)/1 Georgia,'Times New Roman',serif!important;letter-spacing:.055em;text-shadow:0 2px 2px #000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-event-detail{grid-column:2;display:block;margin-top:2px;color:#e7edf2;font:900 clamp(6px,.58vw,8.5px)/1 monospace!important;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcg-event-banner[data-kind="foul"],.wcg-event-banner[data-kind="penalty"]{border-color:rgba(216,86,55,.92)!important;border-left-color:#e55b39!important;background:linear-gradient(90deg,rgba(54,16,15,.97),rgba(15,9,11,.96) 72%,rgba(28,13,15,.94))!important;box-shadow:0 9px 24px rgba(0,0,0,.64),0 0 20px rgba(226,71,40,.16)!important}
.wcg-event-banner[data-kind="foul"] .wcg-event-kicker,.wcg-event-banner[data-kind="penalty"] .wcg-event-kicker{color:#f39a74!important}
.wcg-event-banner[data-kind="var"]{border-color:rgba(83,177,232,.92)!important;border-left-color:#63c7ff!important;background:linear-gradient(90deg,rgba(8,39,61,.98),rgba(3,15,25,.96) 74%,rgba(7,26,39,.94))!important;box-shadow:0 9px 24px rgba(0,0,0,.64),0 0 20px rgba(67,170,238,.18)!important}
.wcg-event-banner[data-kind="goal"]{border-color:rgba(238,193,82,.98)!important;border-left-color:#ffd364!important;box-shadow:0 9px 24px rgba(0,0,0,.64),0 0 23px rgba(255,202,76,.22)!important}
#wcWorldCupBroadcast.is-goal-celebration .wcg-event-banner.is-visible{transform:translateX(0) scale(1.02)!important}

/* Compact broadcast-local master volume. This only controls the World Cup
   TV feed: crowd, match SFX, music, wind/VAR tones and stadium intro video. */
.wcg-volume-control{
  position:absolute;z-index:113;right:2.55%;top:21.2%;width:150px;height:28px;
  display:grid;grid-template-columns:25px 1fr 24px;align-items:center;gap:6px;
  padding:4px 8px;border:1px solid rgba(137,181,207,.30);border-radius:3px;
  background:linear-gradient(180deg,rgba(5,21,34,.84),rgba(2,9,16,.80));
  box-shadow:0 5px 14px rgba(0,0,0,.35);color:#a8c7d9;pointer-events:auto;
  opacity:.72;transition:opacity .16s ease,background .16s ease;
}
.wcg-volume-control:hover,.wcg-volume-control:focus-within{opacity:1;background:linear-gradient(180deg,rgba(7,28,45,.96),rgba(2,10,18,.94))}
.wcg-volume-control>span{font:900 6px/1 monospace;letter-spacing:.12em;color:#e6c66f;text-align:center}
.wcg-volume-control>b{font:900 6px/1 monospace;color:#c7dce8;text-align:right}
.wcg-volume-control input[type="range"]{width:100%;height:12px;margin:0;padding:0;accent-color:#d9ad4e;cursor:pointer;background:transparent}

@media(max-width:1050px){
  .wcg-scorebar.wcg-scorebar-premium{width:74%!important;top:1.95%!important}
  .wcg-event-banner{top:23.3%!important;width:32%!important;min-width:225px!important}
  .wcg-volume-control{right:2.2%;top:21.7%;width:135px}
}
@media(max-width:760px){
  .wcg-scorebar.wcg-scorebar-premium{width:85%!important}
  .wcg-event-banner{left:50%!important;top:23.5%!important;width:60%!important;min-width:220px!important;transform:translateX(-50%) scale(.985)!important}
  .wcg-event-banner.is-visible{transform:translateX(-50%) scale(1)!important}
  .wcg-volume-control{right:2.2%;top:auto;bottom:3.2%;width:128px;height:25px}
}


/* =====================================================================
   WORLD CUP V49 — LINEUP FACING / SCORE COPY / FULL-FILL FLAGS / VOLUME DOCK
   Presentation-only polish requested from the live broadcast screenshots.
   ===================================================================== */

/* STARTING SIX: the two sides now deliberately face into the matchup.
   Home is staged toward centre-right; away is mirrored toward centre-left. */
.wcg-lineup-side.is-belros .wcg-lineup-players img,
.wcg-key-player.is-belros>img{
  --wcg-intro-face:1!important;
}
.wcg-lineup-side.is-zafran .wcg-lineup-players img,
.wcg-key-player.is-zafran>img{
  --wcg-intro-face:-1!important;
}

/* SCOREBAR TEAM COPY: hide the baked divider at its old height, redraw it
   slightly higher, then keep the squad names genuinely underneath it. */
.wcg-score-team{
  top:0!important;
  height:100%!important;
  padding:0!important;
  display:block!important;
  overflow:visible!important;
}
.wcg-score-team::before{
  content:'';
  position:absolute;
  z-index:1;
  left:3.5%;right:3.5%;top:57.7%;height:4.6%;
  background:linear-gradient(180deg,rgba(8,34,59,.98),rgba(7,29,51,.98));
  pointer-events:none;
}
.wcg-score-team::after{
  content:'';
  position:absolute;
  z-index:2;
  left:7%;right:7%;top:56.1%;height:1px;
  background:linear-gradient(90deg,transparent 0,rgba(205,226,237,.78) 7%,rgba(205,226,237,.78) 93%,transparent 100%);
  box-shadow:0 1px rgba(0,0,0,.45);
  pointer-events:none;
}
.wcg-score-team>span{
  z-index:3!important;
  top:27.8%!important;
}
.wcg-score-team>b{
  position:absolute!important;
  z-index:3!important;
  left:0!important;top:39.0%!important;width:100%!important;
  transform:none!important;
  line-height:1!important;
}
.wcg-score-team>small{
  position:absolute!important;
  z-index:3!important;
  left:1%!important;top:61.1%!important;width:98%!important;
  margin:0!important;
  transform:none!important;
  line-height:1!important;
}
.wcg-score-scorers{
  top:68.0%!important;
}

/* Flags now fill the complete circular broadcast well instead of appearing
   as a small rectangular flag floating inside it. The parent remains the mask. */
.wcg-score-flag{
  padding:0!important;
  overflow:hidden!important;
  background:#061829!important;
}
.wcg-score-flag img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.055)!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.72))!important;
}

/* Master volume is a physical-TV control, not an on-screen graphic.
   The root becomes a tiny TV stack and the slider is docked entirely below
   the television frame. Backdrop particles remain absolutely positioned. */
#wcWorldCupBroadcast.is-open{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:6px 0 5px!important;
}
#wcWorldCupBroadcast>.wcg-shell{
  width:min(98vw,1672px,calc(177.68vh - 80px))!important;
  max-height:none!important;
  flex:0 0 auto!important;
}
#wcWorldCupBroadcast>.wcg-volume-control{
  position:relative!important;
  z-index:6!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:160px!important;height:27px!important;
  flex:0 0 auto!important;
  margin:0!important;
  opacity:.78!important;
}
#wcWorldCupBroadcast>.wcg-volume-control:hover,
#wcWorldCupBroadcast>.wcg-volume-control:focus-within{opacity:1!important}

@media(max-width:760px){
  #wcWorldCupBroadcast.is-open{gap:4px!important;padding:4px 0!important}
  #wcWorldCupBroadcast>.wcg-shell{width:98vw!important}
  #wcWorldCupBroadcast>.wcg-volume-control{width:142px!important;height:25px!important}
  .wcg-score-team>small{top:61.8%!important}
  .wcg-score-scorers{top:68.6%!important}
}


/* =====================================================================
   OPENING NIGHT — BARRY BRAMBLE STUDIO INTRO
   Added on top of the known-good V50 broadcast. No game/shell sizing rules
   are changed here.
   ===================================================================== */
.wcg-barry-opening{
  position:absolute;
  inset:1.7% 2.1% 5.2%;
  z-index:89;
  display:none;
  overflow:hidden;
  background:#000;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.wcg-barry-opening.is-visible{
  display:block;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.wcg-barry-opening-bg,
.wcg-barry-opening-desk{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.wcg-barry-opening-bg{z-index:1}
.wcg-barry-opening-desk{
  z-index:5;
  clip-path:inset(66.8% 0 0 0);
  pointer-events:none;
}
.wcg-barry-opening-presenter{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:23.2%;
  width:16.4%;
  height:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  pointer-events:none;
}
.wcg-barry-opening-presenter img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  image-rendering:pixelated;
  filter:drop-shadow(0 10px 13px rgba(0,0,0,.38));
}
.wcg-barry-opening-vignette{
  position:absolute;
  inset:0;
  z-index:7;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 44%,transparent 28%,rgba(1,6,12,.05) 62%,rgba(0,0,0,.30) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),transparent 18%,transparent 78%,rgba(0,0,0,.22));
}
.wcg-barry-opening-particles{
  position:absolute;
  inset:-8%;
  z-index:3;
  pointer-events:none;
  opacity:.32;
  background-image:
    radial-gradient(circle,rgba(255,218,139,.95) 0 1px,transparent 1.7px),
    radial-gradient(circle,rgba(137,218,255,.8) 0 1px,transparent 1.6px);
  background-size:83px 91px,127px 109px;
  background-position:13px 27px,61px 4px;
  animation:wcgBarryStudioParticles 9s linear infinite;
}
@keyframes wcgBarryStudioParticles{
  from{transform:translate3d(0,18px,0)}
  to{transform:translate3d(12px,-34px,0)}
}
.wcg-barry-opening::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:20;
  background:#000;
  opacity:0;
  pointer-events:none;
}
.wcg-barry-opening.is-visible::after{
  animation:wcgBarryOpeningFadeFromBlack 2.2s ease-out both;
}
.wcg-barry-opening.is-fading-out::after{
  animation:wcgBarryOpeningFadeToBlack 1.05s ease-in both!important;
}
@keyframes wcgBarryOpeningFadeFromBlack{
  0%,12%{opacity:1}
  100%{opacity:0}
}
@keyframes wcgBarryOpeningFadeToBlack{
  from{opacity:0}
  to{opacity:1}
}
#wcgBarryOpeningSound{
  position:absolute;
  z-index:30;
  left:50%;
  bottom:5%;
  transform:translateX(-50%);
  padding:8px 13px;
  border:1px solid rgba(221,178,82,.86);
  background:rgba(3,10,17,.92);
  color:#ffe4a0;
  font:900 9px/1 monospace;
  letter-spacing:.11em;
  cursor:pointer;
}
#wcgBarryOpeningSound[hidden]{display:none!important}

/* Barry's studio is the TV feed for this short segment. The original V50
   frame remains above it and every normal broadcast overlay is merely hidden. */
#wcWorldCupBroadcast.is-barry-opening .wcg-canvas,
#wcWorldCupBroadcast.is-barry-opening .wcg-snow,
#wcWorldCupBroadcast.is-barry-opening .wcg-worldcup-atmosphere,
#wcWorldCupBroadcast.is-barry-opening .wcg-scorebar,
#wcWorldCupBroadcast.is-barry-opening .wcg-live-chip,
#wcWorldCupBroadcast.is-barry-opening .wcg-worldcup-replay-sponsor,
#wcWorldCupBroadcast.is-barry-opening .wcg-worldcup-replay-bug,
#wcWorldCupBroadcast.is-barry-opening .wcg-worldcup-story-card,
#wcWorldCupBroadcast.is-barry-opening .wcg-worldcup-big-moment,
#wcWorldCupBroadcast.is-barry-opening .wcg-presentation,
#wcWorldCupBroadcast.is-barry-opening .wcg-event-banner,
#wcWorldCupBroadcast.is-barry-opening .wcg-commentator,
#wcWorldCupBroadcast.is-barry-opening .wcg-mini-stats,
#wcWorldCupBroadcast.is-barry-opening .wcg-controls,
#wcWorldCupBroadcast.is-barry-opening .wcg-admin-panel,
#wcWorldCupBroadcast.is-barry-opening .wcg-var-box,
#wcWorldCupBroadcast.is-barry-opening .wcg-overlay-card,
#wcWorldCupBroadcast.is-barry-opening .wcg-screen-effects{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
#wcWorldCupBroadcast.is-barry-opening .wcg-tv-frame{
  opacity:1!important;
  visibility:visible!important;
}
@media(max-width:760px){
  .wcg-barry-opening-presenter{width:19%;height:48%;bottom:24%}
}

/* =====================================================================
   PRE-LIVE CONTROL PASS — synchronized half-time gate + World Cup leaders
   ===================================================================== */
.wcg-halftime-pro.is-gate .wcg-halftime-pro-stats,
.wcg-halftime-pro.is-gate .wcg-halftime-pro-bottom{display:none!important}
.wcg-halftime-pro.is-gate .wcg-halftime-scoreline{padding-top:24px!important;padding-bottom:24px!important}
.wcg-halftime-pro.is-gate .wcg-halftime-pro-foot{padding-top:18px!important;padding-bottom:18px!important}
.wcg-halftime-pro.is-gate .wcg-halftime-pro-foot>span{color:#b9d4e5!important;font-size:8px!important;letter-spacing:.13em!important}
.wcg-halftime-pro.is-gate #wcgContinueHalf{min-width:220px!important;border-color:#e3b957!important;background:linear-gradient(180deg,#315e79,#0c2231)!important;box-shadow:0 0 20px rgba(224,177,67,.13),0 7px 18px #000a!important}

.wcg-tournament-leaders{
  position:absolute;
  z-index:100;
  right:3.15%;
  top:17.4%;
  width:220px;
  padding:8px 9px 9px;
  border:1px solid rgba(215,170,77,.72);
  outline:1px solid rgba(3,10,17,.92);
  outline-offset:-4px;
  background:linear-gradient(180deg,rgba(7,25,39,.91),rgba(2,10,17,.88));
  box-shadow:0 8px 20px rgba(0,0,0,.46),inset 0 0 20px rgba(70,139,180,.07);
  color:#e9e2cd;
  pointer-events:none;
  text-shadow:0 1px #000;
}
.wcg-tournament-leaders header{padding:3px 5px 7px;border-bottom:1px solid rgba(214,169,75,.30);text-align:center}
.wcg-tournament-leaders header small{display:block;color:#84bddb;font:900 6px/1 monospace;letter-spacing:.16em}
.wcg-tournament-leaders header b{display:block;margin-top:4px;color:#ffe2a0;font:900 13px/1 Georgia,serif;letter-spacing:.08em}
.wcg-tournament-leaders header span{display:block;margin-top:4px;color:#8faabd;font:800 5px/1 monospace;letter-spacing:.11em}
.wcg-tournament-leaders section{margin-top:7px}
.wcg-tournament-leaders h4{margin:0 0 4px;color:#d7ad55;font:900 6px/1 monospace;letter-spacing:.15em}
.wcg-tournament-leader-list{display:grid;gap:2px}
.wcg-tournament-leader-list>div{display:grid;grid-template-columns:15px 1fr 24px;gap:5px;align-items:center;min-height:24px;padding:3px 5px;border-top:1px solid rgba(111,163,193,.10);background:rgba(255,255,255,.018)}
.wcg-tournament-leader-list em{font:900 7px/1 monospace;font-style:normal;color:#7faec8;text-align:center}
.wcg-tournament-leader-list span{min-width:0}
.wcg-tournament-leader-list b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f8e8b8;font:900 7px/1.05 monospace}
.wcg-tournament-leader-list small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#79a4bd;font:800 5px/1 monospace}
.wcg-tournament-leader-list strong{color:#ffe091;font:900 13px/1 Georgia,serif;text-align:right}
.wcg-tournament-leader-list p{margin:6px 0 3px;color:#718fa2;font:800 6px/1.2 monospace;letter-spacing:.08em;text-align:center}
#wcWorldCupBroadcast.is-opening-film .wcg-tournament-leaders{opacity:0!important;visibility:hidden!important}
@media(max-width:1050px){.wcg-tournament-leaders{width:185px;right:2.7%;top:17.8%;padding:6px}.wcg-tournament-leader-list>div{min-height:21px}.wcg-tournament-leaders header b{font-size:11px}}
@media(max-width:760px){.wcg-tournament-leaders{width:155px;right:2.3%;top:18.5%}.wcg-tournament-leader-list>div{grid-template-columns:12px 1fr 18px;gap:3px}.wcg-tournament-leader-list strong{font-size:10px}.wcg-tournament-leader-list b{font-size:6px}}

/* =====================================================================
   PRE-LIVE SIDECAR PASS — PROFESSIONAL WORLD CUP GOAL LEADERS
   The leaderboard is a separate physical broadcast panel to the RIGHT of
   the television. It never occupies pixels inside the TV glass.
   ===================================================================== */
#wcWorldCupBroadcast.is-open{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) clamp(220px,13vw,260px)!important;
  grid-template-rows:1fr!important;
  align-items:center!important;
  justify-items:center!important;
  gap:18px!important;
  padding:10px 14px!important;
}
.wcg-tv-stack{
  position:relative;
  z-index:2;
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.wcg-tv-stack>.wcg-shell{
  width:min(100%,1600px,calc(177.68vh - 80px))!important;
  max-height:none!important;
  flex:0 0 auto!important;
}
.wcg-tv-stack>.wcg-volume-control{
  position:relative!important;
  z-index:6!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:160px!important;
  height:27px!important;
  margin:0!important;
  flex:0 0 auto!important;
  opacity:.78!important;
}
.wcg-tv-stack>.wcg-volume-control:hover,
.wcg-tv-stack>.wcg-volume-control:focus-within{opacity:1!important}

#wcWorldCupBroadcast>.wcg-tournament-leaders{
  position:relative!important;
  z-index:8!important;
  right:auto!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  align-self:center!important;
  justify-self:stretch!important;
  width:100%!important;
  max-width:260px!important;
  min-width:0!important;
  max-height:76vh!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(231,189,92,.78)!important;
  outline:1px solid rgba(1,6,12,.96)!important;
  outline-offset:-5px!important;
  border-radius:2px!important;
  background:
    linear-gradient(90deg,rgba(218,169,68,.055) 1px,transparent 1px) 0 0/20px 100%,
    radial-gradient(circle at 50% -8%,rgba(59,133,177,.20),transparent 34%),
    linear-gradient(180deg,rgba(10,29,44,.985),rgba(3,12,20,.985) 62%,rgba(1,7,13,.99))!important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.58),
    0 0 0 1px rgba(4,15,24,.95),
    inset 0 0 0 4px rgba(2,9,15,.58),
    inset 0 0 32px rgba(72,145,188,.075)!important;
  color:#efe7d1!important;
  text-shadow:0 1px 1px #000!important;
  pointer-events:none!important;
}
#wcWorldCupBroadcast>.wcg-tournament-leaders::before{
  content:'';
  position:absolute;
  z-index:0;
  left:9px;right:9px;top:7px;height:3px;
  background:linear-gradient(90deg,transparent,#b77c25 13%,#f2cf72 50%,#b77c25 87%,transparent);
  box-shadow:0 0 9px rgba(239,191,82,.12);
}
#wcWorldCupBroadcast>.wcg-tournament-leaders::after{
  content:'WC 26';
  position:absolute;
  z-index:0;
  right:-7px;
  bottom:21px;
  color:#8bc5e4;
  opacity:.028;
  font:900 58px/.8 Georgia,serif;
  letter-spacing:-.07em;
  transform:rotate(-90deg) translateX(20%);
  transform-origin:100% 100%;
  pointer-events:none;
}
.wcg-tournament-leaders>*{position:relative;z-index:1}
.wcg-tournament-leaders header{
  padding:18px 13px 12px!important;
  border-bottom:1px solid rgba(221,176,77,.34)!important;
  background:linear-gradient(180deg,rgba(26,62,84,.28),rgba(3,15,24,.08))!important;
  text-align:center!important;
}
.wcg-tournament-leaders header small{
  display:block!important;
  color:#87c4e5!important;
  font:900 6px/1 monospace!important;
  letter-spacing:.19em!important;
}
.wcg-leaderboard-title{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:8px;
  margin-top:7px;
}
.wcg-leaderboard-title::before,
.wcg-leaderboard-title::after{
  content:'';
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(221,177,82,.72));
}
.wcg-leaderboard-title::after{transform:scaleX(-1)}
.wcg-leaderboard-title i{
  display:none;
}
.wcg-tournament-leaders header b{
  display:block!important;
  margin:0!important;
  color:#ffe6a4!important;
  font:900 clamp(16px,1.15vw,20px)/1 Georgia,'Times New Roman',serif!important;
  letter-spacing:.075em!important;
  white-space:nowrap;
}
.wcg-tournament-leaders header>span{
  display:inline-block!important;
  margin-top:8px!important;
  padding:4px 7px 3px!important;
  border:1px solid rgba(130,186,216,.20)!important;
  background:rgba(5,23,35,.56)!important;
  color:#90aec0!important;
  font:900 5px/1 monospace!important;
  letter-spacing:.14em!important;
}
.wcg-tournament-leaders section{
  margin:0!important;
  padding:11px 11px 8px!important;
}
.wcg-tournament-leaders section+section{
  border-top:1px solid rgba(220,174,75,.19)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent)!important;
}
.wcg-leaderboard-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 2px 7px;
  padding-bottom:6px;
  border-bottom:1px solid rgba(112,170,201,.16);
}
.wcg-tournament-leaders h4{
  margin:0!important;
  color:#e5b95d!important;
  font:900 7px/1 monospace!important;
  letter-spacing:.16em!important;
}
.wcg-leaderboard-section-head>span{
  color:#718fa2;
  font:900 5px/1 monospace;
  letter-spacing:.13em;
}
.wcg-tournament-leader-list{display:grid!important;gap:3px!important}
.wcg-tournament-leader-list>.wcg-leader-row{
  position:relative;
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) 31px!important;
  gap:7px!important;
  align-items:center!important;
  min-height:34px!important;
  padding:5px 7px 5px 5px!important;
  border:1px solid rgba(96,149,180,.10)!important;
  border-left:2px solid rgba(111,164,194,.20)!important;
  background:linear-gradient(90deg,rgba(255,255,255,.028),rgba(255,255,255,.008))!important;
}
.wcg-tournament-leader-list>.wcg-leader-row.is-first{
  border-color:rgba(218,175,81,.30)!important;
  border-left-color:#e0b24f!important;
  background:linear-gradient(90deg,rgba(151,100,25,.18),rgba(255,255,255,.018))!important;
  box-shadow:inset 0 0 15px rgba(224,174,67,.035)!important;
}
.wcg-tournament-leader-list>.wcg-leader-row.is-second{border-left-color:#a9becb!important}
.wcg-tournament-leader-list>.wcg-leader-row.is-third{border-left-color:#b77a46!important}
.wcg-tournament-leader-list em{
  display:grid!important;
  place-items:center!important;
  width:19px!important;
  height:19px!important;
  border:1px solid rgba(115,171,202,.24)!important;
  border-radius:50%!important;
  background:#061722!important;
  color:#85b9d3!important;
  font:900 7px/1 monospace!important;
  font-style:normal!important;
}
.wcg-tournament-leader-list .is-first em{border-color:#d6a948!important;color:#ffe09a!important;background:#2c1d08!important}
.wcg-tournament-leader-list .is-second em{border-color:#8aa6b6!important;color:#d4e4ec!important}
.wcg-tournament-leader-list .is-third em{border-color:#a66f42!important;color:#e8bd91!important}
.wcg-tournament-leader-list span{min-width:0!important}
.wcg-tournament-leader-list b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#f7e9bd!important;
  font:900 8px/1.05 monospace!important;
  letter-spacing:.035em!important;
}
.wcg-tournament-leader-list small{
  display:block!important;
  margin-top:3px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#77a5bf!important;
  font:800 5px/1 monospace!important;
  letter-spacing:.07em!important;
}
.wcg-tournament-leader-list strong{
  color:#ffe297!important;
  font:900 17px/1 Georgia,serif!important;
  text-align:right!important;
}
.wcg-tournament-leader-list p{
  margin:8px 0 6px!important;
  padding:10px 6px!important;
  border:1px dashed rgba(119,165,191,.14)!important;
  color:#718fa2!important;
  font:800 6px/1.3 monospace!important;
  letter-spacing:.09em!important;
  text-align:center!important;
}
.wcg-tournament-leaders footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:8px 12px 10px!important;
  border-top:1px solid rgba(220,174,75,.22)!important;
  background:rgba(1,7,12,.54)!important;
}
.wcg-tournament-leaders footer span{color:#718fa2;font:900 5px/1 monospace;letter-spacing:.11em}
.wcg-tournament-leaders footer b{color:#d4ad58;font:900 6px/1 monospace;letter-spacing:.12em}

#wcWorldCupBroadcast.is-opening-film>.wcg-tournament-leaders,
#wcWorldCupBroadcast.is-barry-opening>.wcg-tournament-leaders{
  opacity:0!important;
  visibility:hidden!important;
}

@media(max-width:1450px){
  #wcWorldCupBroadcast.is-open{grid-template-columns:minmax(0,1fr) 205px!important;gap:12px!important;padding:8px 9px!important}
  #wcWorldCupBroadcast>.wcg-tournament-leaders{max-width:205px!important}
  .wcg-tournament-leaders header{padding-left:9px!important;padding-right:9px!important}
  .wcg-tournament-leaders header b{font-size:15px!important}
  .wcg-tournament-leader-list>.wcg-leader-row{grid-template-columns:21px minmax(0,1fr) 26px!important;gap:5px!important;padding-left:4px!important;padding-right:5px!important}
  .wcg-tournament-leader-list strong{font-size:14px!important}
}
@media(max-width:900px){
  #wcWorldCupBroadcast.is-open{display:flex!important;flex-direction:column!important;padding:4px 0!important;gap:4px!important}
  .wcg-tv-stack{width:98vw!important}
  .wcg-tv-stack>.wcg-shell{width:98vw!important}
  #wcWorldCupBroadcast>.wcg-tournament-leaders{display:none!important}
  .wcg-tv-stack>.wcg-volume-control{width:142px!important;height:25px!important}
}

/* =====================================================================
   LIVE HOTFIX — KEEP THE TV PERFECTLY CENTRED WITH THE LEADERBOARD OUTSIDE
   The sidecar must never participate in layout sizing/centering. Reserve an
   equal visual gutter on BOTH sides of the TV, then pin the leaderboard into
   the right gutter. This keeps the original broadcast screen dead-centre.
   ===================================================================== */
#wcWorldCupBroadcast.is-open{
  --wcg-sidecar-w:clamp(220px,13vw,260px);
  --wcg-sidecar-gap:18px;
  --wcg-side-edge:14px;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  padding:6px 0 5px!important;
}

#wcWorldCupBroadcast.is-open>.wcg-tv-stack{
  position:relative!important;
  z-index:2!important;
  width:min(
    1672px,
    calc(177.68vh - 80px),
    calc(100vw - var(--wcg-sidecar-w) - var(--wcg-sidecar-w) - var(--wcg-sidecar-gap) - var(--wcg-sidecar-gap) - 28px)
  )!important;
  min-width:0!important;
  margin:0 auto!important;
  flex:0 0 auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
}

#wcWorldCupBroadcast.is-open>.wcg-tv-stack>.wcg-shell{
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  flex:0 0 auto!important;
}

/* Sidecar is physically outside the centred TV and does not affect its X. */
#wcWorldCupBroadcast.is-open>.wcg-tournament-leaders{
  position:absolute!important;
  z-index:8!important;
  top:50%!important;
  right:var(--wcg-side-edge)!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
  width:var(--wcg-sidecar-w)!important;
  max-width:var(--wcg-sidecar-w)!important;
  align-self:auto!important;
  justify-self:auto!important;
  margin:0!important;
}

@media(max-width:1450px){
  #wcWorldCupBroadcast.is-open{
    --wcg-sidecar-w:205px;
    --wcg-sidecar-gap:12px;
    --wcg-side-edge:9px;
  }
  #wcWorldCupBroadcast.is-open>.wcg-tv-stack{
    width:min(
      1672px,
      calc(177.68vh - 80px),
      calc(100vw - var(--wcg-sidecar-w) - var(--wcg-sidecar-w) - var(--wcg-sidecar-gap) - var(--wcg-sidecar-gap) - 18px)
    )!important;
  }
}

@media(max-width:900px){
  #wcWorldCupBroadcast.is-open{
    display:flex!important;
    padding:4px 0!important;
    gap:4px!important;
  }
  #wcWorldCupBroadcast.is-open>.wcg-tv-stack{width:98vw!important}
  #wcWorldCupBroadcast.is-open>.wcg-tournament-leaders{display:none!important}
}
