:root {
    --accent: #50c8ff;
    --accent-2: #ffd25a;
    --accent-3: #ff6f4f;
    --stage-1: #050b14;
    --stage-2: #10243a;
    --panel: rgba(9, 20, 36, 0.96);
    --panel-2: rgba(21, 43, 68, 0.96);
    --line: rgba(110, 200, 255, 0.58);
    --text: #ffffff;
    --muted: #b8d6ec;
    --success: #67ffd1;
    --danger: #ff5656;
    --shadow: 0 22px 65px rgba(0, 0, 0, 0.58);
}

* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; }
body {
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 8%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 30%),
        radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--accent-2) 18%, transparent), transparent 28%),
        linear-gradient(135deg, var(--stage-1), var(--stage-2) 52%, #03070d);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
    display: grid;
    place-items: center;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    background:
        linear-gradient(110deg, transparent 0 43%, rgba(255,255,255,0.035) 44% 47%, transparent 48% 100%),
        repeating-linear-gradient(115deg, rgba(255,255,255,0.025) 0 1px, transparent 1px 92px);
    pointer-events: none;
}

.broadcast-stage {
    width: min(calc(100vw - 20px), calc((100vh - 20px) * 16 / 9), 1680px);
    aspect-ratio: 16 / 9;
    position: relative;
    overflow: hidden;
    border: 3px solid color-mix(in srgb, var(--accent) 65%, #ffffff 10%);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% -8%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 30%),
        linear-gradient(180deg, rgba(18, 38, 62, 0.96), rgba(5, 12, 22, 0.98));
    box-shadow: var(--shadow);
    padding: 16px;
    display: grid;
    grid-template-rows: 72px 1fr 26px;
    gap: 10px;
}

.broadcast-stage::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,0.06);
    pointer-events: none;
}

.scoreboard {
    position: relative;
    z-index: 6;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    filter: drop-shadow(0 10px 16px rgba(0,0,0,0.42));
}

.team-card, .score-card {
    border: 1px solid rgba(170,220,255,0.24);
    background: linear-gradient(180deg, rgba(35, 62, 92, 0.98), rgba(7, 16, 29, 0.98));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

.team-card {
    width: clamp(125px, 12vw, 170px);
    height: 64px;
    padding: 9px 12px 8px;
    display: grid;
    grid-template-rows: auto auto 12px;
    align-items: center;
    text-align: center;
}
.team-home { border-radius: 12px 0 0 12px; border-right: 0; }
.team-away { border-radius: 0 12px 12px 0; border-left: 0; }
.team-code { font-size: clamp(15px, 1.45vw, 24px); font-weight: 900; letter-spacing: .5px; line-height: 1; }
.team-name { color: var(--muted); font-size: clamp(8px, .72vw, 11px); font-weight: 900; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-row { display: flex; gap: 4px; justify-content: center; min-height: 10px; }
.card-chip { width: 12px; height: 9px; border-radius: 2px; box-shadow: inset 0 -1px 0 rgba(0,0,0,.35); }
.card-chip.yellow { background: #f2d747; }
.card-chip.red { background: #d73a45; }
.card-count { font-size: 8px; color: #fff; font-weight: 900; margin-left: 1px; }

.score-card {
    width: clamp(110px, 10vw, 145px);
    height: 72px;
    border-radius: 0 0 14px 14px;
    display: grid;
    grid-template-rows: 18px 32px 16px;
    align-items: center;
    justify-items: center;
    padding: 5px 7px 6px;
    position: relative;
    z-index: 7;
}
.competition-strip {
    max-width: 100%;
    color: var(--accent-2);
    font-size: clamp(7px, .65vw, 10px);
    font-weight: 900;
    letter-spacing: .45px;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.score-line { display: flex; align-items: center; gap: 8px; font-size: clamp(25px, 2.45vw, 38px); font-weight: 900; line-height: 1; }
.clock-line { display: flex; align-items: center; gap: 7px; color: #e8f6ff; font-size: clamp(8px, .75vw, 11px); font-weight: 900; text-transform: uppercase; }
.clock-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--accent-2); box-shadow: 0 0 10px var(--accent-2); }

/* Part 55: true 16:9 stadium frame and slightly wider centre match area */
.broadcast-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: 20% 60% 20%;
    gap: 12px;
    position: relative;
    z-index: 3;
}
.side-panel, .pitch-panel {
    min-height: 0;
    border: 2px solid var(--line);
    background: linear-gradient(180deg, var(--panel-2), var(--panel));
    border-radius: 15px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04), 0 10px 26px rgba(0,0,0,.35);
}
.side-panel { padding: 10px; overflow: hidden; display: flex; flex-direction: column; }
.panel-header {
    flex: 0 0 auto;
    border-radius: 10px;
    padding: 10px 8px;
    margin-bottom: 10px;
    text-align: center;
    background: linear-gradient(180deg, rgba(28, 49, 78, 0.98), rgba(8, 17, 31, 0.98));
    border: 1px solid rgba(255,255,255,.08);
}
.panel-header h2 { margin: 0; font-size: clamp(13px, 1.22vw, 20px); line-height: 1; text-transform: uppercase; font-weight: 900; letter-spacing: .5px; }
.panel-header p { margin: 5px 0 0; color: #bfe9ff; font-size: clamp(7px, .7vw, 11px); text-transform: uppercase; font-weight: 900; letter-spacing: .45px; }

.event-feed { min-height: 0; overflow: hidden; display: grid; align-content: start; }
.event-item { display: grid; grid-template-columns: 42px 1fr; gap: 8px; padding: 9px 3px; border-bottom: 1px solid rgba(145, 207, 255, .18); }
.event-minute { color: #d9f1ff; font-size: clamp(12px, 1vw, 17px); font-weight: 900; }
.event-content strong { display: block; color: var(--accent-2); font-size: clamp(10px, .9vw, 14px); line-height: 1.2; }
.event-content span { display: block; margin-top: 2px; color: #fff; font-size: clamp(10px, .86vw, 13px); line-height: 1.18; font-weight: 800; }
.event-impact-goal .event-content strong { color: #ffe46a; }
.event-impact-card .event-content strong { color: #ffcd55; }
.event-impact-dangerous_attack .event-content strong { color: #ff8d55; }

.pitch-panel {
    position: relative;
    overflow: hidden;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pitch-stage-frame {
    width: 100%;
    aspect-ratio: 16 / 9;
    max-width: 100%;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(6, 14, 24, .94), rgba(9, 21, 35, .98));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 12px 26px rgba(0,0,0,.26);
}
#matchCanvas { display: block; width: 100%; height: 100%; }

.sponsor-card, .commercial-card, .viewer-card, .stats-card {
    flex: 0 0 auto;
    border: 1px solid rgba(124, 212, 255, .45);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(28, 57, 91, .95), rgba(7, 17, 30, .97));
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
    margin-bottom: 10px;
}
.sponsor-card { display: grid; grid-template-columns: 46px 1fr; gap: 12px; align-items: center; padding: 12px; }
.sponsor-mark { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; color: #03111d; background: radial-gradient(circle at 35% 30%, #fff 0 9%, var(--accent) 11% 30%, #092139 33% 100%); box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 60%, transparent); }
.sponsor-card h3 { margin: 0; font-size: clamp(15px, 1.45vw, 24px); font-weight: 900; letter-spacing: .4px; }
.sponsor-card p { margin: 4px 0 0; color: #d6f2ff; font-size: clamp(9px, .82vw, 13px); font-weight: 900; }
.commercial-card { position: relative; overflow: hidden; padding: 12px; min-height: 112px; }
.commercial-card::before { content:""; position:absolute; inset:-40% -80%; background: linear-gradient(110deg, transparent 35%, rgba(255,255,255,.20) 50%, transparent 65%); transform: translateX(-40%); animation: adSweep 7s ease-in-out infinite; }
.commercial-label { position: relative; display: block; color: var(--accent-2); font-size: clamp(8px,.74vw,11px); text-transform: uppercase; font-weight: 900; margin-bottom: 6px; }
.commercial-card strong { position: relative; display: block; font-size: clamp(20px,2vw,32px); line-height: .98; text-transform: uppercase; font-weight: 900; letter-spacing: .4px; }
.commercial-card p { position: relative; margin: 8px 0 0; color: #dff7ff; font-size: clamp(9px,.82vw,13px); line-height: 1.18; font-weight: 800; }
@keyframes adSweep { 0%, 45% { transform: translateX(-45%); opacity:.2; } 65% { opacity:.8; } 100% { transform: translateX(45%); opacity:.2; } }

.viewer-card { padding: 11px; height: 116px; overflow: hidden; }
.section-title { color: var(--accent-2); text-transform: uppercase; font-size: clamp(10px,.85vw,13px); font-weight: 900; margin-bottom: 8px; }
.viewer-message-list { height: 96px; overflow: hidden; position: relative; mask-image: linear-gradient(to bottom, transparent 0%, #000 14%, #000 86%, transparent 100%); }
.viewer-message-track { display: grid; gap: 7px; animation: messageScroll var(--viewer-message-duration, 24s) linear infinite; will-change: transform; }
.viewer-message-track span { display: block; padding: 8px 9px; border-left: 2px solid var(--accent); border-radius: 7px; background: rgba(255,255,255,.055); color: #fff; font-size: clamp(9px,.78vw,12px); font-weight: 800; line-height: 1.2; }
.viewer-card:hover .viewer-message-track { animation-play-state: paused; }
@keyframes messageScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.stats-card { padding: 11px; margin-bottom: 0; }
.stat-row { display: flex; justify-content: space-between; gap: 10px; color: #fff; font-size: clamp(9px,.8vw,12px); font-weight: 900; margin: 7px 0; }
.stat-bars { height: 7px; background: rgba(255,255,255,.12); border-radius: 99px; overflow: hidden; }
.stat-bars span { display:block; height:100%; border-radius:inherit; background: linear-gradient(90deg, var(--accent), var(--accent-2), var(--danger)); }

.bottom-ticker { position: relative; z-index: 5; overflow: hidden; border: 1px solid rgba(124, 212, 255, .34); border-radius: 999px; background: rgba(3, 9, 17, .82); height: 26px; }
.ticker-track { position: absolute; inset: 0; display: flex; align-items: center; gap: 60px; width: max-content; animation: tickerMove 22s linear infinite; will-change: transform; }
.ticker-text { display: inline-block; padding-left: 40px; color: #eaf9ff; font-size: clamp(9px,.76vw,12px); font-weight: 900; text-transform: uppercase; white-space: nowrap; letter-spacing: .4px; }
@keyframes tickerMove { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.goal-overlay { position:absolute; inset:0; z-index:30; display:none; place-items:center; background: radial-gradient(circle, rgba(255,210,90,.25), rgba(3,8,15,.72)); pointer-events:none; }
.goal-overlay.active { display:grid; animation: goalFlash .75s ease-in-out infinite; }
.goal-card { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; min-width: 0 !important; color: inherit !important; animation: none !important; transform: none !important; }
.goal-title { font-size: clamp(54px, 7.6vw, 128px); font-weight: 900; line-height:.9; letter-spacing: 2px; text-shadow:0 4px 0 #fff, 0 8px 0 rgba(0,0,0,.28); }
.goal-subtitle { margin-top:8px; color:#382209; font-size:clamp(12px,1vw,18px); font-weight:900; text-transform:uppercase; letter-spacing:1px; }
@keyframes goalFlash { 0%,100%{background-color:rgba(255,255,255,.02)} 50%{background-color:rgba(255,255,255,.14)} }
@keyframes goalPop { from { transform: rotate(-2deg) scale(.97); } to { transform: rotate(2deg) scale(1.05); } }

body[data-competition-theme="premier_league"] { --accent:#8b46ff; --accent-2:#00ffb7; --stage-1:#080013; --stage-2:#241047; --line:rgba(142,76,255,.68); }
body[data-competition-theme="champions_league"] { --accent:#4ea0ff; --accent-2:#e8f1ff; --stage-1:#030817; --stage-2:#071f52; --line:rgba(92,164,255,.68); }
body[data-competition-theme="world_cup"] { --accent:#f0c15c; --accent-2:#49e6a1; --stage-1:#170e05; --stage-2:#063421; --line:rgba(240,193,92,.70); }
body[data-competition-theme="africa_cup"] { --accent:#18d17c; --accent-2:#f4c64b; --stage-1:#03170e; --stage-2:#3c2508; --line:rgba(24,209,124,.70); }
body[data-competition-theme="la_liga"], body[data-competition-theme="laliga"] { --accent:#ff3155; --accent-2:#ffd24b; --stage-1:#1e0612; --stage-2:#07346d; --line:rgba(255,49,85,.70); }
body[data-competition-theme="serie_a"] { --accent:#1f8bff; --accent-2:#45e47d; --stage-1:#041b35; --stage-2:#06251a; --line:rgba(31,139,255,.70); }
body[data-competition-theme="bundesliga"] { --accent:#ff2634; --accent-2:#ffffff; --stage-1:#240609; --stage-2:#111111; --line:rgba(255,38,52,.70); }
body[data-competition-theme="ligue_1"] { --accent:#70f5c8; --accent-2:#0e5cff; --stage-1:#021a25; --stage-2:#062d45; --line:rgba(112,245,200,.70); }

@media (max-width: 900px) {
    body { overflow:auto; display:block; }
    .broadcast-stage { width:100%; height:auto; min-height:100vh; aspect-ratio:auto; border-radius:0; padding:10px; grid-template-rows:auto auto 30px; }
    .scoreboard { transform:scale(.92); transform-origin:top center; }
    .broadcast-grid { grid-template-columns:1fr; grid-template-rows:260px 56vh auto; }
    .commercial-panel { min-height:360px; }
}


/* Part 25: compact status notices and lineup presentation */
.match-state-notice {
    position: absolute;
    left: 50%;
    top: 98px;
    z-index: 18;
    transform: translate(-50%, -10px);
    min-width: min(520px, 42vw);
    max-width: min(680px, 56vw);
    padding: 10px 18px;
    border: 1px solid color-mix(in srgb, var(--accent) 55%, #ffffff 12%);
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(3, 10, 20, .86), rgba(18, 40, 65, .92), rgba(3, 10, 20, .86));
    box-shadow: 0 14px 34px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.05);
    display: none;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-align: center;
    pointer-events: none;
}
.match-state-notice.active { display: flex; animation: statusNoticeIn .45s ease both; }
.match-state-notice strong { color: var(--accent-2); font-size: clamp(11px, .9vw, 15px); text-transform: uppercase; font-weight: 900; white-space: nowrap; }
.match-state-notice span { color: #eaf8ff; font-size: clamp(9px, .78vw, 12px); font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.match-state-notice em { color: var(--accent); font-size: clamp(9px, .75vw, 12px); font-style: normal; font-weight: 900; white-space: nowrap; }
@keyframes statusNoticeIn { from { opacity: 0; transform: translate(-50%, -18px); } to { opacity: 1; transform: translate(-50%, -10px); } }

.lineup-overlay {
    position: absolute;
    inset: 92px 24px 48px;
    z-index: 24;
    display: none;
    place-items: center;
    pointer-events: none;
}
.lineup-overlay.active { display: grid; animation: lineupFadeIn .5s ease both; }
.lineup-card-public {
    width: min(920px, 78vw);
    max-height: min(590px, 66vh);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--accent) 60%, #ffffff 18%);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(7, 17, 31, .96), rgba(12, 31, 51, .94));
    box-shadow: 0 24px 70px rgba(0,0,0,.58), inset 0 0 0 1px rgba(255,255,255,.06);
    padding: 18px;
    backdrop-filter: blur(7px);
}
.lineup-top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
    border-bottom: 1px solid rgba(255,255,255,.08);
    padding-bottom: 12px;
}
.lineup-top span, .lineup-top em { color: var(--accent); font-size: clamp(9px, .8vw, 12px); text-transform: uppercase; font-weight: 900; letter-spacing: .5px; }
.lineup-top em { text-align: right; color: var(--accent-2); }
.lineup-top strong { color: #ffffff; font-size: clamp(20px, 2vw, 34px); text-transform: uppercase; font-weight: 900; text-align: center; letter-spacing: .8px; }
.lineup-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lineup-team { border: 1px solid rgba(124, 212, 255, .22); border-radius: 17px; background: rgba(255,255,255,.045); padding: 14px; min-width: 0; }
.lineup-team h3 { margin: 0 0 10px; color: var(--accent-2); text-transform: uppercase; font-size: clamp(14px, 1.05vw, 18px); font-weight: 900; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lineup-team ol, .lineup-team ul { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; }
.lineup-team li { min-width: 0; padding: 7px 8px; border-radius: 8px; background: rgba(3, 9, 17, .58); color: #ffffff; font-size: clamp(9px, .77vw, 12px); font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lineup-team li.empty { color: #b8d6ec; font-style: italic; grid-column: 1 / -1; }
.subs-title { margin: 12px 0 7px; color: var(--accent); font-size: clamp(9px, .72vw, 11px); text-transform: uppercase; font-weight: 900; }
.lineup-team ul { grid-template-columns: 1fr; max-height: 80px; overflow: hidden; }
@keyframes lineupFadeIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 900px) {
    .match-state-notice { top: 82px; min-width: calc(100% - 28px); max-width: calc(100% - 28px); }
    .lineup-overlay { inset: 86px 12px 42px; }
    .lineup-card-public { width: 100%; max-height: 72vh; overflow: auto; }
    .lineup-columns { grid-template-columns: 1fr; }
}

/* Part 26: public font and lineup readability polish */
body {
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.scoreboard,
.side-panel,
.panel-header,
.event-feed,
.sponsor-card,
.commercial-card,
.viewer-card,
.stats-card,
.bottom-ticker,
.match-state-notice,
.lineup-card-public {
    text-shadow: none;
}

.panel-header h2,
.team-code,
.score-line,
.commercial-card strong,
.goal-title {
    letter-spacing: .25px;
}

.event-content span,
.viewer-message-track span,
.commercial-card p,
.stat-row,
.match-state-notice span {
    font-weight: 700;
    line-height: 1.25;
}

.lineup-card-public {
    background: linear-gradient(180deg, rgba(5, 13, 25, .985), rgba(10, 27, 45, .972));
    border-color: rgba(124, 212, 255, .42);
    box-shadow: 0 24px 70px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.045);
}

.lineup-top {
    border-bottom-color: rgba(124, 212, 255, .16);
}

.lineup-top span,
.lineup-top em {
    font-weight: 800;
    letter-spacing: .35px;
    color: #73e4ff;
}

.lineup-top em {
    color: #f4c760;
}

.lineup-top strong {
    color: #f8fbff;
    font-weight: 900;
    letter-spacing: .35px;
}

.lineup-team {
    background: rgba(3, 11, 22, .60);
    border-color: rgba(124, 212, 255, .24);
}

.lineup-team h3 {
    color: #4dffc7;
    letter-spacing: .3px;
}

.lineup-team ol,
.lineup-team ul {
    gap: 7px 9px;
}

.lineup-team li {
    background: rgba(2, 8, 17, .82);
    border: 1px solid rgba(255,255,255,.045);
    color: #eaf3ff;
    font-size: clamp(10px, .78vw, 12px);
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: 0;
    padding: 7px 9px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.018);
}

.lineup-team li.empty {
    color: #a9c6d9;
    font-weight: 600;
}

.subs-title {
    color: #f4c760;
    letter-spacing: .25px;
}
/* End Part 26 */



/* Part 30: public audio enable button */
.audio-enable-button {
    position: absolute;
    right: 18px;
    bottom: 44px;
    z-index: 55;
    border: 1px solid rgba(125, 211, 252, .42);
    border-radius: 999px;
    background: rgba(7, 17, 31, .86);
    color: #eaf7ff;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 9px 14px;
    box-shadow: 0 10px 26px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.08);
    cursor: pointer;
}
.audio-enable-button:hover {
    background: rgba(20, 45, 76, .92);
}

/* Part 32: small live-match directory button on the match viewer */
.directory-chip {
    position: absolute;
    top: 14px;
    right: 16px;
    z-index: 30;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 8px 13px;
    border-radius: 999px;
    border: 1px solid rgba(125, 211, 252, .32);
    background: linear-gradient(135deg, rgba(10, 24, 42, .88), rgba(17, 45, 75, .72));
    color: #dff7ff;
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .75px;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.08);
}
.directory-chip:hover { color: #06101d; background: linear-gradient(135deg, #f8d35f, #7dd3fc); }
@media (max-width: 900px) { .directory-chip { top: 9px; right: 10px; font-size: 10px; padding: 7px 10px; } }


/* Part 46 public action notice */
.match-action-notice {
    position: absolute;
    z-index: 65;
    left: 50%;
    top: clamp(84px, 12vh, 138px);
    transform: translate(-50%, -12px) scale(.98);
    min-width: min(520px, 56vw);
    max-width: min(720px, 72vw);
    display: none;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 11px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255, 226, 98, .72);
    background: linear-gradient(90deg, rgba(2,12,24,.96), rgba(15,32,50,.94));
    box-shadow: 0 16px 45px rgba(0,0,0,.38), 0 0 28px rgba(255,206,68,.18);
    color: #f8fbff;
    pointer-events: none;
    opacity: 0;
}
.match-action-notice.active {
    display: flex;
    animation: matchActionNoticeIn .32s ease forwards;
}
.match-action-notice strong {
    color: #5fffd4;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
    font-size: clamp(12px, 1.2vw, 17px);
    white-space: nowrap;
}
.match-action-notice span {
    font-size: clamp(11px, .95vw, 14px);
    font-weight: 800;
    color: rgba(255,255,255,.9);
}
.match-action-notice em {
    font-style: normal;
    color: #ffe26c;
    font-weight: 900;
    white-space: nowrap;
}
.match-action-notice.action-var_review strong { color: #ffe26c; }
.match-action-notice.action-pause strong { color: #ff857a; }
.match-action-notice.action-resume strong { color: #45ffb5; }
@keyframes matchActionNoticeIn {
    from { opacity: 0; transform: translate(-50%, -22px) scale(.96); }
    to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}

@media (max-width: 900px) {
    .broadcast-grid { grid-template-columns: 1fr; }
    .pitch-panel { padding: 8px; }
    .pitch-stage-frame { width: 100%; }
}


/* Part 58: tournament atmosphere and sponsor logo polish */
.pitch-panel {
    background:
        radial-gradient(ellipse at 50% 6%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 42%),
        radial-gradient(ellipse at 50% 94%, color-mix(in srgb, var(--accent-2) 20%, transparent), transparent 38%),
        linear-gradient(180deg, rgba(18, 38, 62, .92), rgba(4, 12, 24, .98));
}
.pitch-panel::before,
.pitch-panel::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: 1;
}
.pitch-panel::before {
    inset: 14px 18px;
    border-radius: 20px;
    background:
        repeating-linear-gradient(100deg, rgba(255,255,255,.035) 0 1px, transparent 1px 38px),
        radial-gradient(ellipse at 50% 0%, color-mix(in srgb, var(--accent) 25%, transparent), transparent 54%),
        radial-gradient(ellipse at 50% 100%, color-mix(in srgb, var(--accent-2) 22%, transparent), transparent 54%);
    opacity: .72;
}
.pitch-panel::after {
    left: 7%;
    right: 7%;
    top: 7%;
    bottom: 7%;
    border-top: 1px solid color-mix(in srgb, var(--accent-2) 62%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--accent) 54%, transparent);
    border-radius: 50%;
    opacity: .38;
}
.pitch-stage-frame { position: relative; z-index: 2; }
body[data-competition-theme="premier_league"] .pitch-panel::before {
    background:
        radial-gradient(circle at 15% 18%, rgba(139,70,255,.30), transparent 24%),
        radial-gradient(circle at 86% 82%, rgba(0,255,183,.20), transparent 22%),
        repeating-linear-gradient(105deg, rgba(255,255,255,.04) 0 1px, transparent 1px 34px);
}
body[data-competition-theme="champions_league"] .pitch-panel::before {
    background:
        radial-gradient(circle at 20% 18%, rgba(232,241,255,.22), transparent 19%),
        radial-gradient(circle at 80% 20%, rgba(78,160,255,.24), transparent 20%),
        radial-gradient(circle at 52% 90%, rgba(232,241,255,.14), transparent 22%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 46px);
}
body[data-competition-theme="world_cup"] .pitch-panel::before,
body[data-competition-theme="africa_cup"] .pitch-panel::before {
    background:
        radial-gradient(circle at 18% 82%, rgba(24,209,124,.22), transparent 22%),
        radial-gradient(circle at 78% 18%, rgba(244,198,75,.25), transparent 24%),
        repeating-linear-gradient(110deg, rgba(255,255,255,.04) 0 1px, transparent 1px 42px);
}
body[data-competition-theme="la_liga"] .pitch-panel::before,
body[data-competition-theme="serie_a"] .pitch-panel::before,
body[data-competition-theme="bundesliga"] .pitch-panel::before,
body[data-competition-theme="ligue_1"] .pitch-panel::before {
    background:
        radial-gradient(circle at 12% 25%, color-mix(in srgb, var(--accent) 32%, transparent), transparent 24%),
        radial-gradient(circle at 88% 72%, color-mix(in srgb, var(--accent-2) 24%, transparent), transparent 23%),
        repeating-linear-gradient(105deg, rgba(255,255,255,.035) 0 1px, transparent 1px 38px);
}
.sponsor-mark.has-logo {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #071526;
    color: transparent;
    border: 1px solid rgba(255,255,255,.18);
}
.sponsor-mark.has-logo::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), inset 0 -16px 24px rgba(0,0,0,.28);
    pointer-events: none;
}
.sponsor-mark { position: relative; overflow: hidden; }

/* Part 59: clearer and longer public action notices */
.match-action-notice {
    min-width: min(560px, 60vw);
    padding: 12px 20px;
    border-color: rgba(125, 211, 252, .62);
    box-shadow: 0 18px 52px rgba(0,0,0,.42), 0 0 34px rgba(125,211,252,.16);
}
.match-action-notice.action-var_review,
.match-action-notice.action-injury_time,
.match-action-notice.action-substitution,
.match-action-notice.action-yellow_card,
.match-action-notice.action-red_card {
    border-color: rgba(250, 204, 21, .74);
    box-shadow: 0 18px 54px rgba(0,0,0,.46), 0 0 38px rgba(250,204,21,.18);
}
.match-action-notice.action-injury_time strong,
.match-action-notice.action-substitution strong { color: #5fffd4; }
.match-action-notice.action-yellow_card strong { color: #fde047; }
.match-action-notice.action-red_card strong { color: #ff6b6b; }

/* Part 108: VAR decision action notice types */
.match-action-notice.action-goal_cancelled,
.match-action-notice.action-penalty_awarded,
.match-action-notice.action-no_penalty,
.match-action-notice.action-red_card_confirmed {
    border-color: rgba(250, 204, 21, .76);
    box-shadow: 0 18px 54px rgba(0,0,0,.48), 0 0 40px rgba(250,204,21,.20);
}
.match-action-notice.action-goal_cancelled strong { color: #ff857a; }
.match-action-notice.action-penalty_awarded strong { color: #fde047; }
.match-action-notice.action-no_penalty strong { color: #5fffd4; }
.match-action-notice.action-red_card_confirmed strong { color: #ff6b6b; }


/* Part 67B formation-board public lineup presentation */
.formation-lineup-overlay {
    inset: clamp(70px, 8vh, 96px) clamp(12px, 2vw, 28px) clamp(38px, 4vh, 58px);
}
.formation-lineup-card {
    width: min(1120px, 96%);
    max-height: min(78vh, 720px);
    padding: clamp(14px, 1.5vw, 24px);
    overflow: hidden;
}
.formation-lineup-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(12px, 1.8vw, 22px);
    min-height: 0;
}
.formation-lineup-team {
    border: 1px solid rgba(125, 211, 252, .22);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(11, 31, 53, .82), rgba(3, 12, 25, .92));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 22px 44px rgba(0,0,0,.28);
    padding: 12px;
    min-width: 0;
}
.formation-lineup-team .team-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}
.formation-lineup-team h3 {
    margin: 0;
    color: var(--accent-2);
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: clamp(14px, 1vw, 18px);
    font-weight: 950;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.formation-lineup-team small {
    color: #f7d866;
    border: 1px solid rgba(247,216,102,.34);
    border-radius: 999px;
    padding: 5px 9px;
    background: rgba(247,216,102,.08);
    font-size: 11px;
    font-weight: 950;
    white-space: nowrap;
}
.formation-board-public {
    position: relative;
    height: clamp(280px, 43vh, 430px);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    background:
        linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 100%),
        repeating-linear-gradient(90deg, rgba(30,160,78,.72) 0 12.5%, rgba(20,130,66,.72) 12.5% 25%),
        linear-gradient(180deg, #19a354, #067235);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.10), inset 0 0 38px rgba(0,0,0,.25);
}
.formation-board-public:before {
    content: "";
    position: absolute;
    inset: 7%;
    border: 2px solid rgba(255,255,255,.72);
    border-radius: 4px;
    pointer-events: none;
}
.formation-board-public:after {
    content: "";
    position: absolute;
    left: 50%; top: 7%; bottom: 7%;
    width: 2px;
    transform: translateX(-50%);
    background: rgba(255,255,255,.58);
    pointer-events: none;
}
.formation-board-lines:before {
    content: "";
    position: absolute;
    left: 50%; top: 50%;
    width: 26%; aspect-ratio: 1 / 1;
    transform: translate(-50%, -50%);
    border: 2px solid rgba(255,255,255,.58);
    border-radius: 50%;
    pointer-events: none;
}
.formation-board-label {
    position: absolute;
    left: 12px;
    top: 10px;
    z-index: 2;
    color: rgba(255,255,255,.86);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-shadow: 0 2px 8px rgba(0,0,0,.45);
}
.formation-board-player {
    position: absolute;
    z-index: 4;
    transform: translate(-50%, -50%);
    display: grid;
    justify-items: center;
    gap: 4px;
    width: min(112px, 24%);
}
.formation-board-player b {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffffff, #d9eef9);
    color: #061322;
    border: 2px solid rgba(7,20,34,.65);
    box-shadow: 0 5px 12px rgba(0,0,0,.35);
    font-size: 12px;
    font-weight: 950;
}
.formation-board-player span {
    max-width: 100%;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(2, 10, 18, .78);
    color: #f7fbff;
    font-size: clamp(8px, .68vw, 11px);
    font-weight: 850;
    line-height: 1.05;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 6px 14px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.08);
}
.formation-lineup-team .subs {
    margin: 9px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    max-height: 70px;
    overflow: hidden;
}
.formation-lineup-team .subs li {
    border-radius: 8px;
    background: rgba(2, 8, 17, .68);
    color: #eaf3ff;
    font-size: 10px;
    font-weight: 750;
    padding: 6px 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 900px) {
    .formation-lineup-grid { grid-template-columns: 1fr; }
    .formation-lineup-card { overflow: auto; }
    .formation-board-public { height: 320px; }
}
/* End Part 67B */


/* Part 68: formation board substitutes and team-coloured shirts */
.formation-board-public.p68-formation-board {
    overflow: hidden;
}

.formation-board-public .p68-shirt-player {
    min-width: 74px;
    transform: translate(-50%, -50%);
    gap: 3px;
}

.formation-board-public .p68-shirt-player .p68-shirt {
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    margin: 0 auto 3px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--shirt) 86%, white 14%), color-mix(in srgb, var(--shirt) 80%, black 20%));
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 8px 18px rgba(0,0,0,.35), inset 0 0 10px rgba(255,255,255,.12);
    clip-path: polygon(18% 18%, 34% 8%, 66% 8%, 82% 18%, 92% 42%, 76% 50%, 76% 92%, 24% 92%, 24% 50%, 8% 42%);
}

.formation-board-public .p68-shirt-player .p68-shirt em {
    font-style: normal;
    font-size: 9px;
    line-height: 1;
    font-weight: 900;
    color: var(--shirtText);
    text-shadow: 0 1px 2px rgba(0,0,0,.26);
}

.formation-board-public .p68-shirt-player b {
    display: block;
    max-width: 86px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 2px 5px;
    border-radius: 999px;
    background: rgba(4, 13, 25, .72);
    border: 1px solid rgba(255,255,255,.12);
    font-size: clamp(8px, .62vw, 11px);
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0,0,0,.45);
}

.p68-bench-board {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: 7px;
    width: 100%;
    padding: 7px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(4,13,25,.88), rgba(7,18,34,.78));
    border: 1px solid rgba(125,211,252,.18);
}

.p68-bench-player {
    min-height: 32px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 5px 7px;
    border-radius: 12px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.08);
    overflow: hidden;
}

.p68-bench-player i {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    display: grid;
    place-items: center;
    background: linear-gradient(180deg, color-mix(in srgb, var(--bench-shirt) 86%, white 14%), color-mix(in srgb, var(--bench-shirt) 80%, black 20%));
    border: 1px solid rgba(255,255,255,.66);
    box-shadow: inset 0 0 8px rgba(255,255,255,.12), 0 5px 12px rgba(0,0,0,.25);
    clip-path: polygon(18% 18%, 34% 8%, 66% 8%, 82% 18%, 92% 42%, 76% 50%, 76% 92%, 24% 92%, 24% 50%, 8% 42%);
}

.p68-bench-player i em {
    font-style: normal;
    font-size: 8px;
    font-weight: 900;
    color: var(--bench-shirt-text);
}

.p68-bench-player b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #f8fbff;
    font-size: clamp(9px, .68vw, 12px);
    font-weight: 800;
}

.p68-bench-empty {
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(4,13,25,.72);
    border: 1px dashed rgba(125,211,252,.22);
    color: rgba(255,255,255,.72);
    font-weight: 800;
    font-size: 12px;
}

.lineup-overlay .subs,
.lineup-team .subs {
    max-height: none;
    overflow: visible;
}

@media (max-width: 900px) {
    .p68-bench-board { grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); }
    .formation-board-public .p68-shirt-player b { max-width: 72px; }
}
/* End Part 68 */


/* Part 69: premium lineup presentation upgrade */
.formation-lineup-overlay {
    inset: clamp(20px, 3vh, 44px) clamp(10px, 2vw, 34px) clamp(16px, 2.5vh, 34px) !important;
    align-items: center !important;
    justify-items: center !important;
}
.formation-lineup-overlay > * {
    width: min(1320px, 97vw) !important;
    max-height: calc(100vh - 54px) !important;
    overflow: hidden !important;
}
.formation-lineup-overlay .lineup-inner,
.formation-lineup-overlay .lineup-panel,
.formation-lineup-overlay .lineup-content {
    max-height: calc(100vh - 82px) !important;
    overflow: hidden !important;
}
.formation-lineup-overlay .lineup-teams,
.formation-lineup-overlay .teams,
.formation-lineup-overlay .team-grid {
    gap: 18px !important;
}
.formation-lineup-overlay .team-lineup,
.formation-lineup-overlay .lineup-team,
.formation-lineup-overlay .lineup-side {
    min-height: 0 !important;
    overflow: hidden !important;
}
.formation-board-public.p69-formation-board {
    height: clamp(330px, 45vh, 480px) !important;
    min-height: 330px !important;
    border-radius: 20px !important;
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.18), 0 22px 48px rgba(0,0,0,.30) !important;
}
.formation-board-public .p69-player-card {
    width: 124px !important;
    min-height: 62px !important;
    transform: translate(-50%, -50%) !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: 7px !important;
    padding: 7px 9px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(5,13,26,.88), rgba(18,35,57,.74)) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 12px 24px rgba(0,0,0,.38) !important;
    z-index: 6 !important;
}
.formation-board-public .p69-player-card .p68-shirt,
.formation-board-public .p69-player-card em,
.formation-board-public .p69-player-card > span:not(.p69-player-figure) {
    display: none !important;
}
.p69-player-figure {
    grid-row: 1 / span 2;
    width: 30px;
    height: 42px;
    position: relative;
    display: block;
}
.p69-player-figure::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: linear-gradient(180deg, #f3c092, #a96c45);
    box-shadow: 0 2px 6px rgba(0,0,0,.45);
}
.p69-player-figure::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 12px;
    width: 22px;
    height: 24px;
    border-radius: 8px 8px 10px 10px;
    background: var(--shirt, #22c55e);
    box-shadow: inset 0 -8px 12px rgba(0,0,0,.20), 0 8px 12px rgba(0,0,0,.25);
}
.p69-player-figure i {
    position: absolute;
    left: 1px;
    top: 34px;
    width: 28px;
    height: 6px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    opacity: .88;
}
.formation-board-public .p69-player-card b {
    display: block !important;
    max-width: 78px !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: clamp(8px, .62vw, 10.5px) !important;
    line-height: 1.05 !important;
    color: #fff !important;
    text-shadow: 0 2px 5px rgba(0,0,0,.72) !important;
}
.formation-board-public .p69-player-card small {
    font-size: 8px !important;
    line-height: 1 !important;
    color: rgba(255,220,90,.94) !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}
.formation-lineup-overlay .subs {
    max-height: clamp(145px, 22vh, 230px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px !important;
}
.p69-bench-board {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
    gap: 9px;
    padding: 13px 8px 8px;
}
.p69-bench-rail {
    position: absolute;
    left: 8px;
    right: 8px;
    top: 6px;
    height: 5px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(125,211,252,.76), rgba(255,214,90,.78), rgba(255,107,86,.76));
    opacity: .8;
}
.p69-bench-player {
    position: relative;
    min-height: 54px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 8px;
    align-items: center;
    padding: 8px 9px 8px 8px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(18,35,57,.92), rgba(7,16,30,.92));
    border: 1px solid rgba(125,211,252,.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 10px 20px rgba(0,0,0,.22);
}
.p69-bench-seat {
    position: absolute;
    left: 9px;
    bottom: 7px;
    width: 32px;
    height: 11px;
    border-radius: 6px 6px 10px 10px;
    background: linear-gradient(180deg, rgba(125,211,252,.36), rgba(15,23,42,.95));
    border: 1px solid rgba(255,255,255,.12);
}
.p69-bench-figure {
    grid-row: 1 / span 2;
    width: 31px;
    height: 39px;
    position: relative;
    z-index: 2;
}
.p69-bench-figure::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 0;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: linear-gradient(180deg, #f3c092, #9c613d);
}
.p69-bench-figure::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 12px;
    width: 21px;
    height: 22px;
    border-radius: 7px 7px 9px 9px;
    background: var(--bench-shirt, #22c55e);
    box-shadow: inset 0 -7px 10px rgba(0,0,0,.22);
}
.p69-bench-figure i {
    position: absolute;
    left: 3px;
    bottom: 0;
    width: 25px;
    height: 5px;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
}
.p69-bench-player b {
    color: #fff;
    font-size: clamp(9px, .68vw, 11px);
    line-height: 1.08;
    white-space: normal;
    overflow: hidden;
    text-overflow: clip;
}
.p69-bench-player small {
    color: rgba(255,220,90,.92);
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}
.p69-bench-empty,
.p69-empty-board {
    display: grid;
    place-items: center;
    min-height: 100px;
    color: rgba(255,255,255,.68);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
@media (max-width: 1180px) {
    .formation-board-public .p69-player-card { width: 106px !important; grid-template-columns: 28px minmax(0,1fr) !important; padding: 6px !important; }
    .p69-player-figure { transform: scale(.88); transform-origin: center; }
    .p69-bench-board { grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); }
}
/* End Part 69 */

/* =======================================================
   Part 71: Premium Broadcast Formation & Bench Board
   ======================================================= */
.formation-lineup-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(2, 8, 16, 0.92);
    backdrop-filter: blur(10px);
}
.formation-lineup-card {
    width: 95%;
    max-width: 1400px;
    background: #07111f;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 24px 50px rgba(0,0,0,0.6);
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
}
.lineup-top {
    background: linear-gradient(90deg, #112240, #0a192f, #112240);
    padding: 18px 25px;
    text-align: center;
    border-bottom: 2px solid rgba(255,255,255,0.05);
}
.lineup-top strong { display: block; font-size: 26px; text-transform: uppercase; letter-spacing: 2px; font-weight: 900; }
.lineup-top span, .lineup-top em { font-size: 14px; color: #8892b0; text-transform: uppercase; }

.formation-lineup-grid {
    display: flex;
    flex-direction: row;
    width: 100%;
}
.formation-lineup-team {
    flex: 1;
    padding: 24px;
    border-right: 1px solid rgba(255, 255, 255, 0.05);
}
.formation-lineup-team:last-child { border-right: none; }

.team-title { text-align: center; margin-bottom: 18px; }
.team-title h3 { font-size: 24px; margin: 0; text-transform: uppercase; font-weight: 900; }
.team-title small { font-size: 14px; color: #45c7ff; font-weight: 800; letter-spacing: 1px; }

.board-slot {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    margin-bottom: 24px;
    overflow: hidden;
}
.board-slot::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(0deg, rgba(255,255,255,0.02) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 10% 10%;
    pointer-events: none;
}

.p71-formation-board {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
}
.p71-formation-board.empty {
    display: flex;
    justify-content: center;
    align-items: center;
    color: rgba(255,255,255,0.3);
    font-size: 18px;
    font-weight: 700;
}

.p71-player {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90px;
    z-index: 2;
}

.p71-shirt {
    width: 42px;
    height: 42px;
    background: var(--shirt);
    clip-path: polygon(15% 0, 85% 0, 100% 25%, 80% 35%, 80% 100%, 20% 100%, 20% 35%, 0 25%);
    margin-bottom: 5px;
    border-bottom: 3px solid rgba(0,0,0,0.4);
    box-shadow: inset 0 -5px 10px rgba(0,0,0,0.2), inset 0 5px 10px rgba(255,255,255,0.2);
}

.p71-name {
    background: rgba(3, 12, 25, 0.85);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 4px;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.15);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
}
.p71-name small {
    display: block;
    color: #8892b0;
    font-size: 9px;
    margin-top: 2px;
}

.subs-title {
    font-size: 14px;
    text-transform: uppercase;
    color: #8892b0;
    margin-bottom: 12px;
    text-align: center;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding-bottom: 8px;
    font-weight: 800;
}

.p71-bench {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
}
.p71-bench.empty {
    display: block;
    text-align: center;
    color: rgba(255,255,255,0.3);
    padding: 20px 0;
}

.p71-sub {
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.03);
}

.p71-shirt-small {
    width: 22px;
    height: 22px;
    background: var(--shirt);
    clip-path: polygon(15% 0, 85% 0, 100% 25%, 80% 35%, 80% 100%, 20% 100%, 20% 35%, 0 25%);
    margin-right: 10px;
    flex-shrink: 0;
    border-bottom: 2px solid rgba(0,0,0,0.4);
}

.p71-sub-name {
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #e2e8f0;
}
.p71-sub-name small {
    color: #8892b0;
    font-weight: 600;
}

/* =======================================================
   Part 72: Bench Grid Refinement & Overlay Sizing
   ======================================================= */
.formation-lineup-card {
    /* Reduce overall size so it doesn't cover the full screen */
    width: 85% !important;
    max-width: 1100px !important;
    max-height: 85vh !important;
    border-radius: 12px;
}

.formation-lineup-team .subs {
    /* Force removal of the old scrollbar */
    overflow: hidden !important; 
    max-height: none !important; 
    padding: 0 !important;
    margin: 0 !important;
}

.p71-bench {
    /* Force a strict 3-column grid */
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    overflow: hidden !important;
    width: 100%;
}

.p71-sub {
    /* Compact padding to fit 3 items cleanly across */
    padding: 6px 8px !important;
}

.p71-sub-name {
    /* Slightly scale down text to prevent overflow in columns */
    font-size: 11px !important;
}

.p71-shirt-small {
    margin-right: 6px !important;
}

/* =======================================================
   Part 73: Overlay Transparency & Player Spacing
   ======================================================= */
/* 1. Remove the massive black background behind the card */
.formation-lineup-overlay {
    background: transparent !important;
    backdrop-filter: none !important;
    pointer-events: none; /* Allows clicking through to the pitch if needed */
}

/* Re-enable pointer events only for the card itself */
.formation-lineup-card {
    pointer-events: auto;
    /* Add a subtle drop shadow since the dark background is gone */
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8) !important;
}

/* 2. Give the pitch board more vertical breathing room */
.board-slot {
    aspect-ratio: 1.15 / 1 !important; /* Makes the pitch slightly taller */
    margin-bottom: 25px !important;
}

/* 3. Scale down the players to prevent overlapping */
.p71-player {
    width: 75px !important; /* Prevent horizontal invisible overlap */
}

.p71-shirt {
    width: 34px !important;
    height: 34px !important;
    margin-bottom: 4px !important;
}

.p71-name {
    font-size: 10px !important;
    padding: 3px 6px !important;
}

.p71-name small {
    font-size: 8px !important;
}

/* 4. Ensure bench elements don't feel too tight */
.p71-bench {
    gap: 10px !important;
}

/* =======================================================
   Part 74: Custom Lineup Icons & Bench Height Fix
   ======================================================= */

/* Force the bench container to show all rows */
.formation-lineup-team .subs {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
}

.p71-bench {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: min-content !important;
    align-items: start !important;
}

/* Custom uploaded image icons sizing */
.p71-shirt-img {
    width: 44px !important;
    height: 44px !important;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-bottom: 4px;
    filter: drop-shadow(0 5px 8px rgba(0,0,0,0.6));
}

.p71-shirt-small-img {
    width: 24px !important;
    height: 24px !important;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 8px;
    flex-shrink: 0;
}

/* Hide the old CSS-drawn shirts if they somehow conflict */
.p71-shirt, .p71-shirt-small {
    display: none !important;
}

/* Ensure the player container fits the new image width well */
.p71-player {
    width: 80px !important;
}

/* =======================================================
   Part 75: Dynamic Color Masking for Custom Uploads
   ======================================================= */
/* Clear old inline background logic if lingering */
.p71-shirt-img, .p71-shirt-small-img {
    background-image: none !important;
}

/* 1. Goalkeeper icon: Displays your raw uploaded PNG exactly as is */
.gk-icon {
    background-image: var(--icon-url) !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: transparent !important;
}

/* 2. Player icon: Uses your uploaded PNG as a shape/mask and fills it with Admin team color */
.player-icon {
    background-color: var(--shirt) !important;
    
    -webkit-mask-image: var(--icon-url) !important;
    mask-image: var(--icon-url) !important;
    
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    
    -webkit-mask-position: center !important;
    mask-position: center !important;
    
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
}

/* =======================================================
   Part 77: Revert Player Icon to Original Uploaded Image
   ======================================================= */
.player-icon {
    /* Display the original image instead of a mask */
    background-image: var(--icon-url) !important;
    background-color: transparent !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;

    /* Disable the masks applied in Part 75 */
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* =======================================================
   Part 78: Remove Bubbles & Format Raw Text Names
   ======================================================= */
/* Hide the old bubble classes completely if they linger */
.p71-name, .p71-sub-name { display: none !important; }

/* New raw pitch name styling (No background, heavy shadow) */
.p71-name-raw {
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    margin-top: 2px;
    white-space: nowrap;
    text-shadow: 0px 2px 4px rgba(0,0,0,0.9), 0px 0px 3px rgba(0,0,0,1);
}

/* Remove backgrounds from bench items */
.p71-sub {
    background: transparent !important;
    border: none !important;
    padding: 4px 8px !important;
}

/* New raw bench name styling */
.p71-sub-name-raw {
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #e2e8f0;
    text-shadow: 0px 1px 3px rgba(0,0,0,0.8);
}

/* =======================================================
   Part 79: Widen Card & Snug Player Names
   ======================================================= */
/* 1. Widen the entire lineup overlay card to give the pitch more room */
.formation-lineup-card {
    width: 96% !important;
    max-width: 1400px !important;
}

/* 2. Expand the invisible container for each player so long names don't clip */
.p71-player {
    width: 110px !important; 
    z-index: 5;
}

/* 3. Pull the text closer to the bottom of the uploaded shirt */
.p71-shirt-img {
    margin-bottom: -4px !important; 
}

/* 4. Ensure the raw name styling behaves nicely in the wider container */
.p71-name-raw {
    margin-top: 0 !important;
    padding-top: 0 !important;
    position: relative;
    z-index: 10;
}

/* 5. Give the bench a bit more breathing room now that the card is wider */
.p71-bench {
    gap: 16px !important;
}

/* =======================================================
   Part 80: Maximum Width, Height, and Anti-Clipping
   ======================================================= */
/* 1. Expand the main overlay card to use more screen real estate (up, left, right) */
.formation-lineup-card {
    width: 98% !important;
    max-width: 1600px !important;
    max-height: 94vh !important; /* Extends the box further up and down */
}

/* 2. CRITICAL FIX: Prevent the pitch boundaries from slicing off GK names */
.board-slot {
    overflow: visible !important;
}

/* 3. Add a bit more left/right padding inside the team sections 
      so the overflowing names have safe space inside the card */
.formation-lineup-team {
    padding: 20px 35px !important;
}

/* =======================================================
   Part 81: 3D Character Styling & Animation
   ======================================================= */
.character-3d {
    width: 38px !important;
    height: 76px !important; /* Taller height for full-body characters */
    background-color: transparent !important;
    background-size: contain !important;
    background-position: bottom center !important;
    background-repeat: no-repeat !important;
    
    /* Ensure no masks interfere */
    -webkit-mask-image: none !important;
    mask-image: none !important;
    
    margin-bottom: 2px !important;
    filter: drop-shadow(0px 10px 8px rgba(0,0,0,0.7));
    
    /* Smooth floating animation */
    animation: float-3d 3.5s infinite ease-in-out alternate;
    transform-origin: bottom center;
}

/* Keyframes for the floating/breathing effect */
@keyframes float-3d {
    0% { transform: translateY(0px); }
    100% { transform: translateY(-6px); }
}

/* Stagger the animation so players don't all move at the exact same time */
.p71-player:nth-child(even) .character-3d {
    animation-delay: -1.2s;
}
.p71-player:nth-child(3n) .character-3d {
    animation-delay: -2.5s;
}

/* =======================================================
   Part 82: Complete Mask Cleanup
   ======================================================= */
.p71-shirt-small-img {
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background-color: transparent !important;
}

/* =======================================================
   Part 83: Enlarge 3D Characters & Unique Animations
   ======================================================= */
/* 1. Significantly increase the size of the full-body 3D models */
.character-3d {
    width: 56px !important;
    height: 112px !important;
    margin-bottom: 0px !important;
}

/* 2. Slightly widen the invisible container to prevent names from clipping under the wider bodies */
.p71-player {
    width: 120px !important;
}

/* 3. Assign a totally unique animation delay to all 11 slots so no two players float in exact sync */
.p71-player:nth-child(1) .character-3d { animation-delay: -0.3s !important; }
.p71-player:nth-child(2) .character-3d { animation-delay: -1.8s !important; }
.p71-player:nth-child(3) .character-3d { animation-delay: -0.9s !important; }
.p71-player:nth-child(4) .character-3d { animation-delay: -2.7s !important; }
.p71-player:nth-child(5) .character-3d { animation-delay: -1.1s !important; }
.p71-player:nth-child(6) .character-3d { animation-delay: -3.2s !important; }
.p71-player:nth-child(7) .character-3d { animation-delay: -0.5s !important; }
.p71-player:nth-child(8) .character-3d { animation-delay: -2.1s !important; }
.p71-player:nth-child(9) .character-3d { animation-delay: -1.5s !important; }
.p71-player:nth-child(10) .character-3d { animation-delay: -3.8s !important; }
.p71-player:nth-child(11) .character-3d { animation-delay: -0.7s !important; }

/* =======================================================
   Part 86: Connected Themes & Pitch Background
   ======================================================= */
/* Deep dark background for the overall grid */
.formation-lineup-grid {
    background: #030811 !important;
    gap: 20px !important;
    padding: 20px !important;
}

/* Individual Team Card Theme & Glow */
.formation-lineup-team {
    position: relative;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    
    /* Top team-color border and smooth gradient fade to bottom */
    border-top: 3px solid var(--team-color, #45c7ff) !important;
    background: linear-gradient(180deg, rgba(var(--team-color-rgb, 255,255,255), 0.12) 0%, rgba(10,15,30,0.6) 30%, rgba(10,15,30,0.95) 100%) !important;
    
    /* Outer and inner colored glow */
    box-shadow: 0px 0px 30px rgba(var(--team-color-rgb, 255,255,255), 0.08), inset 0px 0px 40px rgba(var(--team-color-rgb, 255,255,255), 0.04) !important;
    border-right: 1px solid rgba(255,255,255,0.06) !important; /* overrides old border */
}

/* Styling the Pitch container */
.board-slot {
    background-color: transparent !important;
    border: none !important;
}

/* Base tactical dot grid for the pitch */
.board-slot::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: radial-gradient(rgba(255,255,255,0.08) 1px, transparent 1px) !important;
    background-size: 14px 14px !important;
    pointer-events: none;
    z-index: 0;
}

/* High-quality SVG Pitch Lines (Center circle, halfway, penalty boxes) */
.board-slot::after {
    content: '';
    position: absolute;
    top: 6%; left: 6%; right: 6%; bottom: 6%;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 4px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M 0 70 L 100 70 M 20 0 L 20 20 L 80 20 L 80 0 M 35 0 L 35 8 L 65 8 L 65 0 M 20 140 L 20 120 L 80 120 L 80 140 M 35 140 L 35 132 L 65 132 L 65 140' stroke='rgba(255,255,255,0.12)' stroke-width='0.5' fill='none'/%3E%3Ccircle cx='50' cy='70' r='14' stroke='rgba(255,255,255,0.12)' stroke-width='0.5' fill='none'/%3E%3Ccircle cx='50' cy='70' r='0.8' fill='rgba(255,255,255,0.12)'/%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important;
    pointer-events: none;
    z-index: 1;
}

/* Make sure 3D players stay above the pitch lines */
.p71-player {
    z-index: 10 !important;
}

/* Format Bench items to look like the reference (clean rounded boxes) */
.p71-sub {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
}

.p71-sub-name-raw {
    color: #e2e8f0 !important;
    text-shadow: none !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    letter-spacing: 0.3px;
}

/* =======================================================
   Part 87: Correct Half-Pitches & Theme Coloring
   ======================================================= */

/* 1. Apply Team Color to the Team Name */
.formation-lineup-team .team-title h3 {
    color: var(--team-color, #ffffff) !important;
    text-shadow: 0px 2px 12px rgba(var(--team-color-rgb, 255,255,255), 0.5) !important;
}

/* 2. Make Formation Pill clean, white, and readable */
.formation-lineup-team .team-title small {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-radius: 12px !important;
    padding: 3px 10px !important;
    font-weight: 800 !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.4) !important;
}

/* 3. Give the whole team box a subtle team-colored border, not just the top */
.formation-lineup-team {
    border: 1px solid rgba(var(--team-color-rgb, 255,255,255), 0.2) !important;
    border-top: 4px solid var(--team-color, #45c7ff) !important;
}

/* 4. Remove the old wrong vertical pitch */
.board-slot::after {
    background-image: none !important;
    border: none !important;
}

/* 5. Draw the HOME Half-Pitch (Attacking Left to Right) 
      Penalty box on the far Left, Center Circle on the far Right */
.home .board-slot::after {
    content: ''; 
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3C!-- Outer borders --%3E%3Crect x='0' y='0' width='100' height='100' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Penalty Box --%3E%3Crect x='0' y='20' width='18' height='60' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- 6-yard Box --%3E%3Crect x='0' y='36' width='6' height='28' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Penalty Spot --%3E%3Ccircle cx='12' cy='50' r='0.6' fill='rgba(255,255,255,0.12)'/%3E%3C!-- Penalty Arc --%3E%3Cpath d='M 18 36 A 12 12 0 0 1 18 64' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Center Circle --%3E%3Cpath d='M 100 30 A 20 20 0 0 0 100 70' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Center Spot --%3E%3Ccircle cx='100' cy='50' r='0.8' fill='rgba(255,255,255,0.12)'/%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important; 
    z-index: 1; 
    pointer-events: none;
}

/* 6. Draw the AWAY Half-Pitch (Attacking Right to Left) 
      Penalty box on the far Right, Center Circle on the far Left */
.away .board-slot::after {
    content: ''; 
    position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3C!-- Outer borders --%3E%3Crect x='0' y='0' width='100' height='100' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Penalty Box --%3E%3Crect x='82' y='20' width='18' height='60' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- 6-yard Box --%3E%3Crect x='94' y='36' width='6' height='28' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Penalty Spot --%3E%3Ccircle cx='88' cy='50' r='0.6' fill='rgba(255,255,255,0.12)'/%3E%3C!-- Penalty Arc --%3E%3Cpath d='M 82 36 A 12 12 0 0 0 82 64' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Center Circle --%3E%3Cpath d='M 0 30 A 20 20 0 0 1 0 70' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='0.8'/%3E%3C!-- Center Spot --%3E%3Ccircle cx='0' cy='50' r='0.8' fill='rgba(255,255,255,0.12)'/%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important; 
    z-index: 1; 
    pointer-events: none;
}

/* =======================================================
   Part 88: Dynamic Themed Lineup Header & Animation
   ======================================================= */
/* 1. Base Header Styling (Uses CSS Variables with Fallbacks) */
.lineup-top {
    position: relative;
    overflow: hidden;
    background: linear-gradient(90deg, var(--theme-bg-1, #0a192f), var(--theme-bg-2, #112240), var(--theme-bg-1, #0a192f)) !important;
    border-bottom: 2px solid var(--theme-border, rgba(69, 199, 255, 0.4)) !important;
    box-shadow: 0 8px 25px var(--theme-glow, rgba(69, 199, 255, 0.15)) !important;
    z-index: 10;
    transition: all 0.5s ease;
}

/* 2. Sweeping Light Animation */
.lineup-top::before {
    content: '';
    position: absolute;
    top: 0; left: -100%; width: 50%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
    animation: header-sweep 4.5s infinite linear;
    pointer-events: none;
}

@keyframes header-sweep {
    0% { left: -100%; }
    20% { left: 200%; }
    100% { left: 200%; } /* Pauses before sweeping again */
}

/* 3. Text Enhancements inside the header */
.lineup-top strong {
    text-shadow: 0 2px 10px var(--theme-glow, rgba(69, 199, 255, 0.5));
    letter-spacing: 3px !important;
}
.lineup-top span, .lineup-top em {
    color: var(--theme-text, #8892b0) !important;
    font-weight: 800 !important;
}

/* =======================================================
   COMPETITION THEME DICTIONARY
   (Matches the data-competition-theme attribute on <body>)
   ======================================================= */

/* A. Premier League Theme (Deep Purple, Pink, Neon Green) */
body[data-competition-theme*="premier"] .lineup-top {
    --theme-bg-1: #38003c;
    --theme-bg-2: #5c0632;
    --theme-border: #00ff85;
    --theme-glow: rgba(0, 255, 133, 0.5);
    --theme-text: #00ff85;
}

/* B. Champions League Theme (Navy, Deep Blue, Silver Glow) */
body[data-competition-theme*="champion"] .lineup-top {
    --theme-bg-1: #001432;
    --theme-bg-2: #02255a;
    --theme-border: #b0c4de;
    --theme-glow: rgba(176, 196, 222, 0.5);
    --theme-text: #b0c4de;
}

/* C. World Cup / Internationals Theme (Qatar/Classic Gold & Crimson) */
body[data-competition-theme*="world"] .lineup-top,
body[data-competition-theme*="international"] .lineup-top {
    --theme-bg-1: #5a0028;
    --theme-bg-2: #8a0038;
    --theme-border: #d4af37;
    --theme-glow: rgba(212, 175, 55, 0.5);
    --theme-text: #d4af37;
}

/* D. Default / Generic Fallback */
body[data-competition-theme="default"] .lineup-top {
    --theme-bg-1: #0a192f;
    --theme-bg-2: #112240;
    --theme-border: #45c7ff;
    --theme-glow: rgba(69, 199, 255, 0.3);
    --theme-text: #45c7ff;
}

/* =======================================================
   Part 89: Global Competition Theme Dictionary
   ======================================================= */

/* 1. DEFAULT / NEUTRAL BROADCAST */
body {
    --theme-base: #030811;
    --theme-core: #0a192f;
    --theme-highlight: #45c7ff;
    --theme-glow: rgba(69, 199, 255, 0.35);
}

/* 2. PREMIER LEAGUE */
body[data-competition-theme*="premier"] {
    --theme-base: #1c0b1e;      /* Very Dark Purple */
    --theme-core: #38003c;      /* Premier Purple */
    --theme-highlight: #00ff85; /* Neon Green */
    --theme-glow: rgba(0, 255, 133, 0.35);
}

/* 3. CHAMPIONS LEAGUE */
body[data-competition-theme*="champion"] {
    --theme-base: #010a17;      /* Very Dark Navy */
    --theme-core: #001432;      /* UEFA Navy */
    --theme-highlight: #00e1ff; /* Cyan/Cyan-Silver */
    --theme-glow: rgba(0, 225, 255, 0.35);
}

/* 4. EUROPA LEAGUE */
body[data-competition-theme*="europa"] {
    --theme-base: #1a0a00;      /* Dark Pitch */
    --theme-core: #f66500;      /* Europa Orange */
    --theme-highlight: #ffb400; /* Warm Gold */
    --theme-glow: rgba(255, 180, 0, 0.35);
}

/* 5. WORLD CUP */
body[data-competition-theme*="world"] {
    --theme-base: #1f000b;      /* Deep Crimson */
    --theme-core: #8a0038;      /* World Cup Red */
    --theme-highlight: #d4af37; /* Trophy Gold */
    --theme-glow: rgba(212, 175, 55, 0.35);
}

/* 6. AFRICA CUP (AFCON) */
body[data-competition-theme*="africa"] {
    --theme-base: #001a00;      /* Dark Green */
    --theme-core: #008000;      /* Forest Green */
    --theme-highlight: #ffcc00; /* Yellow */
    --theme-glow: rgba(255, 204, 0, 0.35);
}

/* 7. LA LIGA */
body[data-competition-theme*="liga"] {
    --theme-base: #1a0206;      /* Deep Red-Black */
    --theme-core: #ea0437;      /* La Liga Red */
    --theme-highlight: #ffc20e; /* Bright Orange/Gold */
    --theme-glow: rgba(255, 194, 14, 0.35);
}

/* 8. SERIE A */
body[data-competition-theme*="serie"] {
    --theme-base: #000a1f;      /* Deep Blue */
    --theme-core: #003399;      /* Royal Blue */
    --theme-highlight: #e5c158; /* Gold */
    --theme-glow: rgba(229, 193, 88, 0.35);
}

/* 9. BUNDESLIGA */
body[data-competition-theme*="bundesliga"] {
    --theme-base: #1a0002;      /* Black-Red */
    --theme-core: #d3010c;      /* Bundesliga Red */
    --theme-highlight: #ffffff; /* White */
    --theme-glow: rgba(255, 255, 255, 0.35);
}

/* 10. LIGUE 1 */
body[data-competition-theme*="ligue"] {
    --theme-base: #02060a;      /* Dark Pitch */
    --theme-core: #0a1c29;      /* Navy Blue */
    --theme-highlight: #cbfb00; /* Ligue 1 Lime */
    --theme-glow: rgba(203, 251, 0, 0.35);
}

/* =======================================================
   Applying the Themes to the Lineup Board
   ======================================================= */
/* Transform the main Lineup Card background and outer glow */
.formation-lineup-card {
    background: var(--theme-base) !important;
    border: 1px solid var(--theme-glow) !important;
    box-shadow: 0 30px 60px rgba(0,0,0,0.9), 0 0 30px var(--theme-glow) !important;
    transition: all 0.5s ease;
}

/* Ensure the grid inside remains transparent so the theme base shows through */
.formation-lineup-grid {
    background: transparent !important;
}

/* Transform the Header */
.lineup-top {
    background: linear-gradient(90deg, var(--theme-base), var(--theme-core), var(--theme-base)) !important;
    border-bottom: 2px solid var(--theme-highlight) !important;
}

.lineup-top strong {
    color: #ffffff !important;
    text-shadow: 0 0 15px var(--theme-highlight) !important;
}

.lineup-top span, .lineup-top em {
    color: var(--theme-highlight) !important;
}

/* =======================================================
   Applying Themes to the Rest of the Public Tracker
   ======================================================= */
/* Give the Timeline, Stats, and Sidebar panels a subtle theme accent border */
section[class*="match-"], section[class*="viewer-"] {
    border-top-color: var(--theme-highlight) !important;
}

/* =======================================================
   Part 101: Premium Broadcast Goal Vibe
   ======================================================= */
#goalOverlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    background: linear-gradient(135deg, rgba(10, 25, 47, 0.95), rgba(2, 10, 20, 0.98)) !important;
    border: 2px solid #ffd700 !important;
    box-shadow: 0 0 60px rgba(255, 215, 0, 0.4), inset 0 0 30px rgba(255, 215, 0, 0.15) !important;
    padding: 50px 100px !important;
    border-radius: 20px !important;
    text-align: center;
    z-index: 1000;
    backdrop-filter: blur(10px);
}

#goalOverlay.active {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, -50%) scale(1);
    animation: goalPulse 1.5s infinite alternate;
}

#goalOverlay h1, #goalOverlay h2, #goalOverlay strong {
    color: #ffffff !important;
    font-size: 5.5rem !important;
    font-weight: 900 !important;
    margin: 0 !important;
    text-transform: uppercase;
    letter-spacing: 12px !important;
    text-shadow: 0 0 25px rgba(255, 215, 0, 0.8) !important;
}

#goalSubtitle {
    color: #ffd700 !important;
    font-size: 2.2rem !important;
    font-weight: 800 !important;
    margin-top: 15px !important;
    text-transform: uppercase;
    letter-spacing: 4px !important;
    text-shadow: 0 2px 10px rgba(0,0,0,0.8) !important;
}

@keyframes goalPulse {
    0% { box-shadow: 0 0 60px rgba(255, 215, 0, 0.4); border-color: #ffd700; }
    100% { box-shadow: 0 0 100px rgba(255, 255, 255, 0.7); border-color: #ffffff; }
}

/* =======================================================
   Part 102: Transparent, Vibrant Broadcast Banner
   ======================================================= */
#goalOverlay {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    /* High-energy pop-in rotation */
    transform: translate(-50%, -50%) scale(0) rotate(-15deg) !important;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

#goalOverlay.active {
    transform: translate(-50%, -50%) scale(1) rotate(0deg) !important;
    animation: none !important; /* Removes the old pulsing box */
}

/* Massive 3D Text using the dynamic Team Color */
#goalOverlay h1, #goalOverlay h2, #goalOverlay strong {
    font-size: 8rem !important;
    color: #ffffff !important;
    -webkit-text-stroke: 4px var(--goal-team-color, #ffd700) !important;
    text-shadow: 
        8px 8px 0px var(--goal-team-color, #ffd700),
        0 0 40px var(--goal-team-shadow, rgba(255,215,0,0.8)) !important;
    font-style: italic !important;
    letter-spacing: 8px !important;
    margin-bottom: 0 !important;
}

/* Sleek Team-Colored Pill */
#goalSubtitle {
    background: var(--goal-team-color, #ffd700) !important;
    color: #ffffff !important;
    padding: 12px 50px !important;
    border-radius: 50px !important;
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 4px !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5) !important;
    transform: translateY(-15px) !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.4) !important;
}

/* =======================================================
   Part 103: Animated Fan Celebrations
   ======================================================= */
#goalOverlay {
    /* Ensure the fans stay positioned relative to the text */
    position: absolute !important; 
}

#goalFansImg {
    position: absolute;
    bottom: -30px; /* Anchors fans to the bottom of the text */
    left: 50%;
    transform: translateX(-50%) translateY(100%) scale(0.8);
    height: 380px; /* Massive fans popping up */
    width: auto;
    z-index: -1; /* Forces the fans BEHIND the 3D Text */
    opacity: 0;
    transition: all 0.7s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    pointer-events: none;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.6));
}

#goalOverlay.active #goalFansImg {
    transform: translateX(-50%) translateY(0) scale(1);
    opacity: 1;
    transition-delay: 0.15s; /* Creates a staggered pop-up after the text */
}


/* =======================================================
   Part 104: Structural Goal Celebration Overlay
   Removes the old yellow goal-card box and uses transparent
   fan PNG celebration artwork over the canvas.
   ======================================================= */
.goal-overlay,
#goalOverlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: visible !important;
    transform: none !important;
    backdrop-filter: none !important;
    transition: opacity .22s ease, visibility .22s ease !important;
}

.goal-overlay.active,
#goalOverlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
}

.goal-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-width: 0 !important;
    color: inherit !important;
    animation: none !important;
    transform: none !important;
}

.goal-burst {
    position: absolute !important;
    width: min(66vw, 900px) !important;
    height: min(34vw, 440px) !important;
    border-radius: 50% !important;
    background:
        radial-gradient(circle, var(--goal-team-shadow, rgba(255,215,0,.58)) 0%, rgba(255,255,255,.16) 22%, rgba(255,255,255,0) 68%) !important;
    filter: blur(8px) !important;
    opacity: 0 !important;
    transform: scale(.72) !important;
    transition: transform .55s cubic-bezier(.18,.89,.32,1.28), opacity .35s ease !important;
}

#goalOverlay.active .goal-burst {
    opacity: .92 !important;
    transform: scale(1) !important;
}

.goal-content {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    transform: translateY(-8px) scale(.82) rotate(-7deg) !important;
    opacity: 0 !important;
    transition: transform .58s cubic-bezier(.18,.89,.32,1.28), opacity .22s ease !important;
}

#goalOverlay.active .goal-content {
    transform: translateY(-18px) scale(1) rotate(0deg) !important;
    opacity: 1 !important;
}

#goalOverlay .goal-title,
.goal-overlay .goal-title,
#goalTitle {
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    color: #ffffff !important;
    font-size: clamp(76px, 12vw, 176px) !important;
    line-height: .78 !important;
    font-weight: 1000 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    font-style: italic !important;
    -webkit-text-stroke: clamp(2px, .34vw, 6px) var(--goal-team-color, #ffd700) !important;
    text-shadow:
        clamp(5px, .85vw, 13px) clamp(5px, .85vw, 13px) 0 var(--goal-team-color, #ffd700),
        0 0 34px var(--goal-team-shadow, rgba(255,215,0,.75)),
        0 14px 28px rgba(0,0,0,.72) !important;
    animation: p104GoalTextShake .64s ease-in-out 0s 4 alternate !important;
}

#goalOverlay .goal-subtitle,
.goal-overlay .goal-subtitle,
#goalSubtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: clamp(4px, .7vw, 12px) !important;
    padding: clamp(8px, .9vw, 14px) clamp(30px, 4vw, 74px) !important;
    border-radius: 999px !important;
    border: 3px solid rgba(255,255,255,.92) !important;
    background: linear-gradient(90deg, rgba(255,255,255,.18), var(--goal-team-color, #ffd700), rgba(255,255,255,.18)) !important;
    color: var(--goal-team-text, #ffffff) !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.45), 0 0 24px var(--goal-team-shadow, rgba(255,215,0,.55)) !important;
    font-size: clamp(16px, 2.3vw, 34px) !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
    max-width: min(88vw, 980px) !important;
    white-space: nowrap !important;
}

#goalFansImg,
.goal-fans-img {
    position: absolute !important;
    left: 50% !important;
    bottom: 5% !important;
    width: min(88vw, 980px) !important;
    max-height: min(42vh, 430px) !important;
    object-fit: contain !important;
    transform: translateX(-50%) translateY(42%) scale(.82) !important;
    opacity: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    filter: drop-shadow(0 24px 32px rgba(0,0,0,.72)) !important;
    transition: transform .72s cubic-bezier(.18,.89,.32,1.28), opacity .28s ease !important;
}

#goalOverlay.active #goalFansImg,
#goalOverlay.active .goal-fans-img {
    transform: translateX(-50%) translateY(0) scale(1) !important;
    opacity: 1 !important;
    transition-delay: .10s !important;
}

@keyframes p104GoalTextShake {
    from { transform: translateX(-6px) rotate(-1.2deg); }
    to { transform: translateX(6px) rotate(1.2deg); }
}
/* End Part 104 */

/* =======================================================
   Part 105: Goal overlay frame and timing polish
   Keeps the celebration inside the centre pitch panel, clips
   fan artwork away from side panels, and preserves transparent text.
   ======================================================= */
.goal-overlay,
#goalOverlay {
    position: absolute !important;
    inset: auto !important;
    left: 0;
    top: 0;
    width: 0;
    height: 0;
    z-index: 980 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    transform: none !important;
    backdrop-filter: none !important;
    transition: opacity .24s ease, visibility .24s ease !important;
    contain: layout paint !important;
}

.goal-overlay.active,
#goalOverlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
}

#goalOverlay .goal-burst,
.goal-overlay .goal-burst {
    position: absolute !important;
    inset: 7% 5% !important;
    z-index: 1 !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 50% 46%, var(--goal-team-shadow, rgba(255,215,0,.58)) 0%, rgba(255,255,255,.18) 23%, rgba(255,255,255,0) 66%) !important;
    filter: blur(10px) !important;
    opacity: 0 !important;
    transform: scale(.74) !important;
    transition: transform .58s cubic-bezier(.18,.89,.32,1.28), opacity .34s ease !important;
}

#goalOverlay.active .goal-burst,
.goal-overlay.active .goal-burst {
    opacity: .95 !important;
    transform: scale(1) !important;
}

#goalFansImg,
.goal-fans-img {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
    width: min(92%, 860px) !important;
    max-width: 92% !important;
    height: auto !important;
    max-height: 58% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: translate(-50%, 34%) scale(.92) !important;
    opacity: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    user-select: none !important;
    filter: drop-shadow(0 22px 30px rgba(0,0,0,.74)) !important;
    transition: transform .74s cubic-bezier(.18,.89,.32,1.28), opacity .30s ease !important;
}

#goalOverlay.active #goalFansImg,
#goalOverlay.active .goal-fans-img,
.goal-overlay.active #goalFansImg,
.goal-overlay.active .goal-fans-img {
    transform: translate(-50%, 6%) scale(1) !important;
    opacity: .98 !important;
}

#goalOverlay .goal-content,
.goal-overlay .goal-content {
    position: absolute !important;
    left: 50% !important;
    top: 43% !important;
    width: min(92%, 860px) !important;
    z-index: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: translate(-50%, -48%) scale(.82) rotate(-7deg) !important;
    opacity: 0 !important;
    transition: transform .58s cubic-bezier(.18,.89,.32,1.28), opacity .22s ease !important;
}

#goalOverlay.active .goal-content,
.goal-overlay.active .goal-content {
    transform: translate(-50%, -54%) scale(1) rotate(0deg) !important;
    opacity: 1 !important;
}

#goalOverlay .goal-title,
.goal-overlay .goal-title,
#goalTitle {
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    color: #ffffff !important;
    font-size: clamp(62px, 10.5vw, 152px) !important;
    line-height: .78 !important;
    font-weight: 1000 !important;
    letter-spacing: .075em !important;
    text-transform: uppercase !important;
    font-style: italic !important;
    -webkit-text-stroke: clamp(2px, .32vw, 5px) var(--goal-team-color, #ffd700) !important;
    text-shadow:
        clamp(4px, .78vw, 12px) clamp(4px, .78vw, 12px) 0 var(--goal-team-color, #ffd700),
        0 0 34px var(--goal-team-shadow, rgba(255,215,0,.72)),
        0 13px 28px rgba(0,0,0,.76) !important;
    animation: p105GoalTextShake .68s ease-in-out 0s 6 alternate !important;
}

#goalOverlay .goal-subtitle,
.goal-overlay .goal-subtitle,
#goalSubtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: clamp(4px, .7vw, 12px) !important;
    padding: clamp(8px, .9vw, 14px) clamp(26px, 3.8vw, 68px) !important;
    border-radius: 999px !important;
    border: 3px solid rgba(255,255,255,.92) !important;
    background: linear-gradient(90deg, rgba(255,255,255,.16), var(--goal-team-color, #ffd700), rgba(255,255,255,.16)) !important;
    color: var(--goal-team-text, #ffffff) !important;
    box-shadow: 0 16px 35px rgba(0,0,0,.45), 0 0 24px var(--goal-team-shadow, rgba(255,215,0,.55)) !important;
    font-size: clamp(14px, 2vw, 30px) !important;
    line-height: 1 !important;
    font-weight: 1000 !important;
    letter-spacing: .10em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
    max-width: 92% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@keyframes p105GoalTextShake {
    0% { transform: translateX(-1.6%) rotate(-1deg); }
    100% { transform: translateX(1.6%) rotate(1deg); }
}

@media (max-width: 900px) {
    #goalFansImg,
    .goal-fans-img { width: 96% !important; max-height: 54% !important; }
    #goalOverlay .goal-content,
    .goal-overlay .goal-content { top: 44% !important; width: 94% !important; }
    #goalOverlay .goal-title,
    .goal-overlay .goal-title,
    #goalTitle { font-size: clamp(48px, 15vw, 94px) !important; }
    #goalOverlay .goal-subtitle,
    .goal-overlay .goal-subtitle,
    #goalSubtitle { font-size: clamp(12px, 3.8vw, 20px) !important; padding-inline: 18px !important; }
}
/* End Part 105 */



/* =======================================================
   Part 106: Goal overlay inside pitch frame
   The celebration overlay now lives inside .pitch-stage-frame,
   so fan artwork cannot cover the Match Timeline or side panels.
   ======================================================= */
.pitch-stage-frame {
    position: relative !important;
    overflow: hidden !important;
}

.pitch-stage-frame > #goalOverlay.goal-overlay,
.pitch-stage-frame > .goal-overlay#goalOverlay {
    position: absolute !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    z-index: 90 !important;
    display: block !important;
    overflow: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: inherit !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    contain: layout paint !important;
}

.pitch-stage-frame > #goalOverlay.goal-overlay.active,
.pitch-stage-frame > .goal-overlay#goalOverlay.active {
    opacity: 1 !important;
    visibility: visible !important;
}

.pitch-stage-frame > #goalOverlay .goal-burst,
.pitch-stage-frame > .goal-overlay#goalOverlay .goal-burst {
    position: absolute !important;
    inset: 4% 5% !important;
    z-index: 1 !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 50% 42%, var(--goal-team-shadow, rgba(255,215,0,.72)) 0%, rgba(255,255,255,.22) 24%, rgba(255,255,255,0) 68%) !important;
    filter: blur(10px) !important;
    opacity: 0 !important;
    transform: scale(.72) !important;
    transition: transform .58s cubic-bezier(.18,.89,.32,1.28), opacity .34s ease !important;
}

.pitch-stage-frame > #goalOverlay.active .goal-burst,
.pitch-stage-frame > .goal-overlay#goalOverlay.active .goal-burst {
    opacity: .96 !important;
    transform: scale(1) !important;
}

.pitch-stage-frame > #goalOverlay #goalFansImg,
.pitch-stage-frame > #goalOverlay .goal-fans-img,
.pitch-stage-frame > .goal-overlay#goalOverlay #goalFansImg,
.pitch-stage-frame > .goal-overlay#goalOverlay .goal-fans-img {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 0 !important;
    width: min(100%, 920px) !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 82% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    transform: translate(-50%, 18%) scale(.90) !important;
    opacity: 0 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    user-select: none !important;
    filter: drop-shadow(0 24px 32px rgba(0,0,0,.74)) !important;
    transition: transform .78s cubic-bezier(.18,.89,.32,1.28), opacity .30s ease !important;
}

.pitch-stage-frame > #goalOverlay.active #goalFansImg,
.pitch-stage-frame > #goalOverlay.active .goal-fans-img,
.pitch-stage-frame > .goal-overlay#goalOverlay.active #goalFansImg,
.pitch-stage-frame > .goal-overlay#goalOverlay.active .goal-fans-img {
    transform: translate(-50%, 4%) scale(1) !important;
    opacity: .96 !important;
}

.pitch-stage-frame > #goalOverlay .goal-content,
.pitch-stage-frame > .goal-overlay#goalOverlay .goal-content {
    position: absolute !important;
    left: 50% !important;
    top: 40% !important;
    width: min(94%, 880px) !important;
    z-index: 4 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: translate(-50%, -48%) scale(.82) rotate(-6deg) !important;
    opacity: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transition: transform .60s cubic-bezier(.18,.89,.32,1.28), opacity .22s ease !important;
}

.pitch-stage-frame > #goalOverlay.active .goal-content,
.pitch-stage-frame > .goal-overlay#goalOverlay.active .goal-content {
    transform: translate(-50%, -52%) scale(1) rotate(0deg) !important;
    opacity: 1 !important;
}

.pitch-stage-frame > #goalOverlay .goal-title,
.pitch-stage-frame > .goal-overlay#goalOverlay .goal-title,
.pitch-stage-frame > #goalOverlay #goalTitle {
    display: block !important;
    color: #ffffff !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: clamp(54px, 10vw, 138px) !important;
    line-height: .78 !important;
    font-weight: 1000 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    -webkit-text-stroke: clamp(2px, .32vw, 5px) var(--goal-team-color, #ffd700) !important;
    text-shadow:
        clamp(4px, .75vw, 12px) clamp(4px, .75vw, 12px) 0 var(--goal-team-color, #ffd700),
        0 0 34px var(--goal-team-shadow, rgba(255,215,0,.72)),
        0 13px 28px rgba(0,0,0,.76) !important;
    animation: p106GoalTextShake .68s ease-in-out 0s 8 alternate !important;
}

.pitch-stage-frame > #goalOverlay .goal-subtitle,
.pitch-stage-frame > .goal-overlay#goalOverlay .goal-subtitle,
.pitch-stage-frame > #goalOverlay #goalSubtitle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: clamp(4px, .7vw, 12px) !important;
    padding: clamp(7px, .85vw, 13px) clamp(22px, 3.3vw, 58px) !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.36) !important;
    background: rgba(3, 8, 20, .58) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.42), inset 0 0 20px rgba(255,255,255,.08) !important;
    font-size: clamp(12px, 1.6vw, 22px) !important;
    font-weight: 1000 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.55) !important;
    max-width: 94% !important;
    white-space: nowrap !important;
}

.pitch-stage-frame > #goalOverlay .goal-card,
.pitch-stage-frame > .goal-overlay#goalOverlay .goal-card {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

@keyframes p106GoalTextShake {
    0% { transform: translateX(-1.35%) rotate(-.8deg); }
    100% { transform: translateX(1.35%) rotate(.8deg); }
}

@media (max-width: 900px) {
    .pitch-stage-frame > #goalOverlay #goalFansImg,
    .pitch-stage-frame > #goalOverlay .goal-fans-img {
        width: 106% !important;
        max-height: 76% !important;
    }
    .pitch-stage-frame > #goalOverlay .goal-content {
        top: 42% !important;
        width: 94% !important;
    }
    .pitch-stage-frame > #goalOverlay .goal-title,
    .pitch-stage-frame > #goalOverlay #goalTitle {
        font-size: clamp(46px, 14vw, 92px) !important;
    }
    .pitch-stage-frame > #goalOverlay .goal-subtitle,
    .pitch-stage-frame > #goalOverlay #goalSubtitle {
        font-size: clamp(11px, 3.6vw, 18px) !important;
        padding-inline: 16px !important;
    }
}
/* End Part 106 */

/* =======================================================
   Part 107: Premium Dashboard Overhaul
   ======================================================= */
/* 1. Scoreboard Scale & Dynamic Colors */
.scoreboard {
    filter: drop-shadow(0 20px 30px rgba(0,0,0,0.7)) !important;
    transform: scale(1.08) !important;
    transform-origin: top center !important;
    margin-top: 8px !important;
}

.team-home {
    border-left: 5px solid var(--home-color, #1F8BE0) !important;
    background: linear-gradient(90deg, rgba(15,30,50,0.98), rgba(5,10,20,0.98)) !important;
    box-shadow: -15px 0 40px color-mix(in srgb, var(--home-color, #1F8BE0) 25%, transparent) !important;
}

.team-away {
    border-right: 5px solid var(--away-color, #D8463F) !important;
    background: linear-gradient(-90deg, rgba(15,30,50,0.98), rgba(5,10,20,0.98)) !important;
    box-shadow: 15px 0 40px color-mix(in srgb, var(--away-color, #D8463F) 25%, transparent) !important;
}

.team-code {
    font-size: clamp(20px, 2vw, 30px) !important;
    text-shadow: 0 2px 10px rgba(255,255,255,0.3) !important;
}

/* 2. Themed Center Score Card */
.score-card {
    background: linear-gradient(180deg, var(--theme-core, #0a192f), var(--theme-base, #030811)) !important;
    border-bottom: 4px solid var(--theme-highlight, #45c7ff) !important;
    box-shadow: 0 15px 45px var(--theme-glow, rgba(69,199,255,0.35)) !important;
}

.score-line {
    font-size: clamp(34px, 3.4vw, 50px) !important;
    color: #ffffff !important;
    text-shadow: 0 0 20px var(--theme-highlight, #45c7ff) !important;
}

/* 3. Glassmorphism Side Panels */
.side-panel {
    background: linear-gradient(180deg, rgba(10,25,45,0.65), rgba(3,8,15,0.85)) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.6) !important;
}

/* 4. Glowing Panel Headers */
.panel-header {
    background: linear-gradient(90deg, transparent, var(--theme-core, rgba(28,49,78,0.8)), transparent) !important;
    border-bottom: 2px solid var(--theme-highlight, #45c7ff) !important;
    box-shadow: 0 10px 20px var(--theme-glow, rgba(69,199,255,0.15)) !important;
}

/* 5. Floating Sponsor & Stat Cards */
.sponsor-card, .commercial-card, .viewer-card, .stats-card {
    background: rgba(5,12,24,0.55) !important;
    backdrop-filter: blur(8px) !important;
    border: 1px solid rgba(255,255,255,0.06) !important;
    border-left: 4px solid var(--theme-highlight, #45c7ff) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.4) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.sponsor-card:hover, .commercial-card:hover, .viewer-card:hover, .stats-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 15px 35px var(--theme-glow, rgba(69,199,255,0.25)) !important;
    background: rgba(8,18,34,0.75) !important;
}

/* =======================================================
   Part 108: Scoreboard Anti-Squeeze & Text Polish
   ======================================================= */
/* 1. Un-squeeze the boxes and give them breathing room */
.team-card {
    height: auto !important; 
    min-height: 76px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important; /* Creates perfect spacing between items */
    padding: 12px 18px !important;
}

/* 2. Fix the HOME/AWAY labels */
.team-code {
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 3. Increase team name size and apply Dynamic Team Colors */
.team-name {
    line-height: 1 !important;
    margin: 0 !important;
    font-size: clamp(10px, 0.85vw, 13px) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.9) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    letter-spacing: 0.5px !important;
}

.team-home .team-name {
    color: var(--home-color, #45c7ff) !important;
}

.team-away .team-name {
    color: var(--away-color, #ff674c) !important;
}

/* 4. Ensure yellow/red cards stay at the bottom cleanly */
.card-row {
    margin-top: 2px !important;
    min-height: 12px !important;
}

/* =======================================================
   Part 109: Sleek Scoreboard & Perfect Proportions
   ======================================================= */
/* 1. Remove the bulky scale and sleek out the container */
.scoreboard {
    transform: scale(0.92) !important; /* Scales down to a premium broadcast size */
    transform-origin: top center !important;
    filter: drop-shadow(0 15px 25px rgba(0,0,0,0.6)) !important;
    margin-top: -5px !important;
}

/* 2. Sleek Team Cards with solid breathing room */
.team-card {
    height: 68px !important;
    min-height: 68px !important;
    padding: 8px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 3px !important;
}

.team-home {
    background: linear-gradient(90deg, rgba(3,8,16,0.95), rgba(12,25,45,0.95)) !important;
    border-left: 6px solid var(--home-color, #1F8BE0) !important;
    border-bottom: 2px solid color-mix(in srgb, var(--home-color) 40%, transparent) !important;
}

.team-away {
    background: linear-gradient(-90deg, rgba(3,8,16,0.95), rgba(12,25,45,0.95)) !important;
    border-right: 6px solid var(--away-color, #D8463F) !important;
    border-bottom: 2px solid color-mix(in srgb, var(--away-color) 40%, transparent) !important;
}

/* 3. Refined Text Sizing */
.team-code {
    font-size: 24px !important;
    letter-spacing: 1px !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.8) !important;
}

.team-name {
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.9) !important;
}

.team-home .team-name { color: var(--home-color, #45c7ff) !important; }
.team-away .team-name { color: var(--away-color, #ff674c) !important; }

/* 4. Fix the Center Score Card (Anti-Squeeze) */
.score-card {
    height: 76px !important;
    width: clamp(120px, 12vw, 150px) !important;
    padding: 6px 10px !important;
    display: grid !important;
    grid-template-rows: 16px 1fr 16px !important; /* Perfect vertical distribution */
    align-items: center !important;
    gap: 2px !important;
    border-radius: 0 0 14px 14px !important;
}

/* Make the numbers sharper and smaller */
.score-line {
    font-size: 36px !important;
    font-weight: 900 !important;
}

/* Give the clock room to breathe */
.clock-line {
    font-size: 12px !important;
    letter-spacing: 1px !important;
    margin-bottom: 4px !important;
}

/* Ensure the cards row doesn't break layout */
.card-row {
    min-height: 10px !important;
    margin-top: 2px !important;
}

/* =======================================================
   Part 110: Center Scoreboard Anti-Squeeze
   ======================================================= */
/* 1. Convert rigid grid to a flexible column that breathes */
.score-card {
    height: auto !important;
    min-height: 88px !important;
    width: clamp(130px, 14vw, 170px) !important;
    padding: 10px 15px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important; /* Forces breathing room between text */
}

/* 2. Top League Text */
.competition-strip {
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0.5px !important;
    margin: 0 !important;
}

/* 3. Center Score Numbers */
.score-line {
    font-size: 42px !important;
    line-height: 0.85 !important;
    margin: 0 !important;
    padding: 4px 0 !important;
}

/* 4. Bottom Time/Clock Text */
.clock-line {
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 1.5px !important;
    margin: 0 !important;
}

/* =======================================================
   Part 112: The 5 Unique Theme Structural Mappings
   ======================================================= */

/* -------------------------------------------------------
   1. PREMIER LEAGUE (Image 1: Angled Scoreboard)
   ------------------------------------------------------- */
body[data-competition-theme*="premier"] .team-home {
    clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%) !important;
    padding-right: 30px !important;
}
body[data-competition-theme*="premier"] .team-away {
    clip-path: polygon(8% 0, 100% 0, 100% 100%, 0 100%) !important;
    padding-left: 30px !important;
}
body[data-competition-theme*="premier"] .score-card {
    clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%) !important;
    background: linear-gradient(180deg, #111, #000) !important;
    border-bottom: 3px solid var(--theme-highlight) !important;
}

/* -------------------------------------------------------
   2. SERIE A (Image 2: Floating Rounded Frosted Glass)
   ------------------------------------------------------- */
body[data-competition-theme*="serie"] .scoreboard {
    gap: 15px !important; /* Floats the scoreboards apart */
}
body[data-competition-theme*="serie"] .team-card,
body[data-competition-theme*="serie"] .score-card {
    border-radius: 20px !important;
    background: rgba(15, 25, 45, 0.45) !important;
    backdrop-filter: blur(15px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
body[data-competition-theme*="serie"] .side-panel,
body[data-competition-theme*="serie"] .pitch-panel {
    border-radius: 24px !important;
    background: rgba(10, 20, 35, 0.4) !important;
    backdrop-filter: blur(20px) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}

/* -------------------------------------------------------
   3. CHAMPIONS LEAGUE (Image 3: Cyberpunk / Cut Corners)
   ------------------------------------------------------- */
body[data-competition-theme*="champion"] .side-panel,
body[data-competition-theme*="champion"] .pitch-panel {
    clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px) !important;
    border-radius: 0 !important;
    border: 2px solid var(--theme-highlight) !important;
    background: linear-gradient(135deg, rgba(4,10,25,0.9), rgba(1,4,12,0.95)) !important;
}
body[data-competition-theme*="champion"] .team-home {
    clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%) !important;
    border: 2px solid var(--home-color) !important;
}
body[data-competition-theme*="champion"] .team-away {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 10% 100%) !important;
    border: 2px solid var(--away-color) !important;
}
body[data-competition-theme*="champion"] .score-card {
    clip-path: polygon(0 0, 100% 0, 85% 100%, 15% 100%) !important;
    border: 2px solid var(--theme-highlight) !important;
    border-top: none !important;
}

/* -------------------------------------------------------
   4. LA LIGA (Image 4: Sharp Trapezoids & Intense Contrast)
   ------------------------------------------------------- */
body[data-competition-theme*="liga"] .team-home {
    transform: skewX(-15deg) !important;
    margin-right: -10px !important;
    background: linear-gradient(90deg, #050a15, #0f1c35) !important;
}
body[data-competition-theme*="liga"] .team-home > * {
    transform: skewX(15deg) !important; /* Keeps text straight */
}
body[data-competition-theme*="liga"] .team-away {
    transform: skewX(15deg) !important;
    margin-left: -10px !important;
    background: linear-gradient(-90deg, #050a15, #150505) !important;
}
body[data-competition-theme*="liga"] .team-away > * {
    transform: skewX(-15deg) !important; /* Keeps text straight */
}
body[data-competition-theme*="liga"] .score-card {
    position: relative !important;
    z-index: 10 !important;
    border-radius: 0 0 25px 25px !important;
    border: 2px solid rgba(255,255,255,0.1) !important;
    border-top: none !important;
    box-shadow: 0 15px 30px rgba(0,0,0,0.8) !important;
}

/* -------------------------------------------------------
   5. WORLD CUP (Image 5: Clean, Minimal, Solid Vertical)
   ------------------------------------------------------- */
body[data-competition-theme*="world"] .side-panel {
    border: none !important;
    border-left: 3px solid var(--theme-highlight) !important;
    border-radius: 0 15px 15px 0 !important;
    background: linear-gradient(90deg, rgba(15,8,5,0.95), rgba(5,2,1,0.98)) !important;
}
body[data-competition-theme*="world"] .pitch-panel {
    border: 1px solid rgba(255,255,255,0.04) !important;
    border-top: 4px solid var(--theme-highlight) !important;
    border-radius: 10px !important;
}
body[data-competition-theme*="world"] .team-card,
body[data-competition-theme*="world"] .score-card {
    border-radius: 8px !important;
    border: 1px solid rgba(255,255,255,0.05) !important;
}

/* === PART 113 TEN THEME BROADCAST SKINS START ===
   Aalogiq Live Football Tracker
   One HTML skeleton. CSS shape-shifts via body[data-competition-theme="..."]
   Canvas engine protected: #matchCanvas size/position remains CSS-only.
   ================================================================ */

:root {
    --part113-radius-xl: 24px;
    --part113-radius-lg: 18px;
    --part113-radius-md: 12px;
    --part113-panel-blur: 14px;
}

body[data-competition-theme] {
    --skin-bg: #050b14;
    --skin-bg-2: #0d1c2d;
    --skin-panel: rgba(8, 18, 34, .78);
    --skin-panel-strong: rgba(9, 20, 38, .94);
    --skin-card: rgba(12, 27, 49, .76);
    --skin-line: rgba(94, 181, 255, .38);
    --skin-line-strong: rgba(94, 181, 255, .74);
    --skin-text: #f7fbff;
    --skin-muted: #a9bfd4;
    --skin-glow: rgba(53, 157, 255, .28);
    --skin-accent: #2496ff;
    --skin-accent-2: #f5c84b;
    --skin-danger: #ff4058;
    --skin-cut: 18px;
    --skin-stage-border: rgba(72, 163, 255, .44);
    background:
        radial-gradient(circle at 16% 2%, color-mix(in srgb, var(--home-color, #2496ff) 26%, transparent), transparent 30%),
        radial-gradient(circle at 86% 4%, color-mix(in srgb, var(--away-color, #f5c84b) 20%, transparent), transparent 32%),
        linear-gradient(135deg, var(--skin-bg), var(--skin-bg-2) 55%, #020611) !important;
}

body[data-competition-theme]::before {
    background:
        linear-gradient(115deg, transparent 0 44%, rgba(255,255,255,.045) 45% 46%, transparent 47% 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0 1px, transparent 1px 72px) !important;
    opacity: .95 !important;
}

body[data-competition-theme] .broadcast-stage {
    border-color: var(--skin-stage-border) !important;
    border-radius: var(--part113-radius-xl) !important;
    background:
        radial-gradient(ellipse at 50% -16%, color-mix(in srgb, var(--skin-accent) 32%, transparent), transparent 42%),
        radial-gradient(ellipse at 0% 50%, color-mix(in srgb, var(--home-color, #2496ff) 14%, transparent), transparent 42%),
        radial-gradient(ellipse at 100% 50%, color-mix(in srgb, var(--away-color, #f5c84b) 14%, transparent), transparent 42%),
        linear-gradient(180deg, color-mix(in srgb, var(--skin-bg-2) 82%, #000 18%), var(--skin-bg) 72%, #02050b) !important;
    box-shadow: 0 34px 100px rgba(0,0,0,.72), inset 0 0 0 1px rgba(255,255,255,.055) !important;
}

body[data-competition-theme] .broadcast-stage::before {
    border-color: rgba(255,255,255,.07) !important;
    box-shadow: inset 0 0 54px color-mix(in srgb, var(--skin-accent) 18%, transparent) !important;
}

body[data-competition-theme] .directory-chip {
    top: 18px !important;
    right: 22px !important;
    min-width: 124px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid color-mix(in srgb, var(--skin-accent) 48%, rgba(255,255,255,.22)) !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(2,8,17,.74)) !important;
    color: var(--skin-text) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.34), 0 0 24px color-mix(in srgb, var(--skin-accent) 20%, transparent) !important;
    text-transform: uppercase !important;
    letter-spacing: .75px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    z-index: 30 !important;
}

body[data-competition-theme] .scoreboard {
    transform: none !important;
    margin-top: 2px !important;
    align-items: stretch !important;
    filter: drop-shadow(0 16px 34px rgba(0,0,0,.68)) !important;
    z-index: 18 !important;
}

body[data-competition-theme] .team-card,
body[data-competition-theme] .score-card {
    min-height: 76px !important;
    height: 76px !important;
    border: 1px solid var(--skin-line) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.05), transparent 32%),
        linear-gradient(180deg, var(--skin-panel-strong), rgba(2,8,16,.96)) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045), 0 18px 42px rgba(0,0,0,.48) !important;
    overflow: hidden !important;
}

body[data-competition-theme] .team-card {
    width: clamp(190px, 20vw, 312px) !important;
    padding: 11px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 4px !important;
}

body[data-competition-theme] .team-home {
    border-left: 6px solid var(--home-color, #2496ff) !important;
    border-right: 0 !important;
    box-shadow: inset 16px 0 42px color-mix(in srgb, var(--home-color, #2496ff) 12%, transparent), 0 18px 42px rgba(0,0,0,.48) !important;
}

body[data-competition-theme] .team-away {
    border-right: 6px solid var(--away-color, #f5c84b) !important;
    border-left: 0 !important;
    box-shadow: inset -16px 0 42px color-mix(in srgb, var(--away-color, #f5c84b) 12%, transparent), 0 18px 42px rgba(0,0,0,.48) !important;
}

body[data-competition-theme] .score-card {
    width: clamp(150px, 13vw, 218px) !important;
    padding: 6px 16px 8px !important;
    display: grid !important;
    grid-template-rows: 17px 1fr 18px !important;
    align-items: center !important;
    justify-items: center !important;
    border-color: color-mix(in srgb, var(--skin-accent) 70%, rgba(255,255,255,.18)) !important;
    border-bottom: 3px solid var(--skin-accent) !important;
    z-index: 20 !important;
}

body[data-competition-theme] .team-code {
    color: #ffffff !important;
    font-size: clamp(24px, 2.34vw, 40px) !important;
    line-height: .96 !important;
    letter-spacing: .8px !important;
    font-weight: 950 !important;
    text-shadow: 0 2px 18px rgba(0,0,0,.7) !important;
}

body[data-competition-theme] .team-name {
    font-size: clamp(10px, .85vw, 14px) !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .7px !important;
    line-height: 1.05 !important;
}

body[data-competition-theme] .team-home .team-name { color: var(--home-color, #2496ff) !important; }
body[data-competition-theme] .team-away .team-name { color: var(--away-color, #f5c84b) !important; }

body[data-competition-theme] .competition-strip {
    color: var(--skin-accent-2) !important;
    font-size: clamp(8px, .72vw, 11px) !important;
    letter-spacing: 1px !important;
}

body[data-competition-theme] .score-line {
    color: var(--skin-text) !important;
    font-size: clamp(34px, 3.15vw, 55px) !important;
    gap: 12px !important;
    text-shadow: 0 0 22px color-mix(in srgb, var(--skin-accent) 62%, transparent) !important;
}

body[data-competition-theme] .clock-line {
    color: var(--skin-muted) !important;
    font-size: clamp(8px, .72vw, 12px) !important;
    letter-spacing: .55px !important;
}

body[data-competition-theme] .clock-dot {
    background: var(--skin-accent) !important;
    box-shadow: 0 0 14px var(--skin-accent) !important;
}

body[data-competition-theme] .broadcast-grid {
    grid-template-columns: 20.5% 58.5% 21% !important;
    gap: 14px !important;
    z-index: 8 !important;
}

body[data-competition-theme] .side-panel,
body[data-competition-theme] .pitch-panel {
    border: 1px solid var(--skin-line) !important;
    border-radius: var(--part113-radius-lg) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.035), transparent 32%),
        linear-gradient(180deg, var(--skin-panel), rgba(3,9,18,.92)) !important;
    box-shadow: 0 24px 62px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.04) !important;
    backdrop-filter: blur(var(--part113-panel-blur)) saturate(126%) !important;
    -webkit-backdrop-filter: blur(var(--part113-panel-blur)) saturate(126%) !important;
}

body[data-competition-theme] .pitch-panel {
    padding: 14px !important;
    align-items: center !important;
}

body[data-competition-theme] .pitch-stage-frame {
    border-radius: 15px !important;
    border: 1px solid color-mix(in srgb, var(--skin-accent) 38%, rgba(255,255,255,.18)) !important;
    background: #071421 !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.055),
        inset 0 0 42px rgba(0,0,0,.52),
        0 0 32px color-mix(in srgb, var(--skin-accent) 24%, transparent) !important;
}

body[data-competition-theme] #matchCanvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body[data-competition-theme] .panel-header {
    border-radius: 14px !important;
    padding: 13px 10px 11px !important;
    text-align: left !important;
    background: linear-gradient(90deg, color-mix(in srgb, var(--skin-accent) 16%, rgba(255,255,255,.04)), rgba(255,255,255,.02), transparent) !important;
    border: 1px solid rgba(255,255,255,.065) !important;
    border-left: 4px solid var(--skin-accent) !important;
    box-shadow: none !important;
}

body[data-competition-theme] .panel-header h2,
body[data-competition-theme] .section-title {
    color: #fff !important;
    font-weight: 950 !important;
    letter-spacing: .65px !important;
}

body[data-competition-theme] .panel-header p {
    color: var(--skin-muted) !important;
    letter-spacing: .7px !important;
}

body[data-competition-theme] .event-feed {
    position: relative !important;
    padding-left: 4px !important;
}

body[data-competition-theme] .event-feed::before {
    content: "" !important;
    position: absolute !important;
    top: 4px !important;
    bottom: 6px !important;
    left: 48px !important;
    width: 2px !important;
    border-radius: 99px !important;
    background: linear-gradient(180deg, transparent, var(--skin-accent), color-mix(in srgb, var(--skin-accent-2) 78%, var(--skin-accent) 22%), transparent) !important;
    opacity: .78 !important;
}

body[data-competition-theme] .event-item {
    position: relative !important;
    grid-template-columns: 48px 1fr !important;
    gap: 12px !important;
    padding: 10px 6px 10px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.075) !important;
}

body[data-competition-theme] .event-item::before {
    content: "" !important;
    position: absolute !important;
    left: 43px !important;
    top: 18px !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 999px !important;
    background: var(--skin-accent) !important;
    border: 2px solid color-mix(in srgb, var(--skin-bg) 75%, #000 25%) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--skin-accent) 14%, transparent), 0 0 16px color-mix(in srgb, var(--skin-accent) 60%, transparent) !important;
    z-index: 2 !important;
}

body[data-competition-theme] .event-minute {
    color: var(--skin-text) !important;
    font-size: clamp(12px, .96vw, 17px) !important;
    text-align: right !important;
    padding-right: 4px !important;
}

body[data-competition-theme] .event-content {
    min-width: 0 !important;
    padding-left: 6px !important;
}

body[data-competition-theme] .event-content strong {
    color: var(--skin-accent-2) !important;
    font-size: clamp(10px, .84vw, 14px) !important;
    text-transform: uppercase !important;
    letter-spacing: .35px !important;
}

body[data-competition-theme] .event-content span {
    color: color-mix(in srgb, var(--skin-text) 82%, var(--skin-muted) 18%) !important;
}

body[data-competition-theme] .event-impact-goal .event-content strong,
body[data-competition-theme] .event-impact_goal .event-content strong {
    color: #ffd84a !important;
}
body[data-competition-theme] .event-impact-card .event-content strong,
body[data-competition-theme] .event-impact-yellow_card .event-content strong {
    color: #ffd253 !important;
}
body[data-competition-theme] .event-impact-red_card .event-content strong {
    color: #ff4058 !important;
}

body[data-competition-theme] .sponsor-card,
body[data-competition-theme] .commercial-card,
body[data-competition-theme] .viewer-card,
body[data-competition-theme] .stats-card {
    border-radius: 15px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-left: 3px solid var(--skin-accent) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.035) !important;
}

body[data-competition-theme] .sponsor-mark {
    color: #fff !important;
    background:
        radial-gradient(circle at 35% 28%, rgba(255,255,255,.92) 0 8%, transparent 9%),
        radial-gradient(circle at 50% 50%, var(--skin-accent), color-mix(in srgb, var(--skin-accent) 28%, #030814 72%)) !important;
    box-shadow: 0 0 26px color-mix(in srgb, var(--skin-accent) 48%, transparent), inset 0 0 0 1px rgba(255,255,255,.22) !important;
}

body[data-competition-theme] .commercial-label,
body[data-competition-theme] .section-title {
    color: var(--skin-accent-2) !important;
}

body[data-competition-theme] .viewer-message-track span {
    border-left-color: var(--skin-accent) !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,.065) !important;
}

body[data-competition-theme] .stat-row {
    color: var(--skin-text) !important;
}

body[data-competition-theme] .stat-bars {
    height: 7px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, color-mix(in srgb, var(--home-color, #2496ff) 18%, rgba(255,255,255,.12)), color-mix(in srgb, var(--away-color, #f5c84b) 18%, rgba(255,255,255,.12))) !important;
}

body[data-competition-theme] .stat-bars span {
    background: linear-gradient(90deg, var(--home-color, #2496ff), color-mix(in srgb, var(--home-color, #2496ff) 55%, var(--skin-accent-2) 45%)) !important;
    box-shadow: 0 0 14px color-mix(in srgb, var(--home-color, #2496ff) 48%, transparent) !important;
}

body[data-competition-theme] .bottom-ticker {
    height: 38px !important;
    border-radius: 14px !important;
    border: 1px solid color-mix(in srgb, var(--skin-accent) 46%, rgba(255,255,255,.16)) !important;
    background: linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.06), rgba(255,255,255,.035)) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.035) !important;
}

body[data-competition-theme] .ticker-track {
    height: 100% !important;
    align-items: center !important;
}

body[data-competition-theme] .ticker-text {
    color: var(--skin-text) !important;
    font-size: 12px !important;
    letter-spacing: .9px !important;
}

/* --------------------------------------------------------------------------
   DEFAULT: Neutral Pill Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="default"] {
    --skin-bg: #04101d;
    --skin-bg-2: #102944;
    --skin-panel: rgba(9, 24, 44, .76);
    --skin-panel-strong: rgba(7, 18, 34, .95);
    --skin-line: rgba(74, 164, 255, .40);
    --skin-line-strong: rgba(74, 164, 255, .78);
    --skin-accent: #2294ff;
    --skin-accent-2: #ffc247;
    --skin-glow: rgba(34, 148, 255, .30);
    --skin-stage-border: rgba(34, 148, 255, .46);
}
body[data-competition-theme="default"] .team-card,
body[data-competition-theme="default"] .score-card {
    border-radius: 999px !important;
}
body[data-competition-theme="default"] .team-home { border-radius: 999px 18px 18px 999px !important; }
body[data-competition-theme="default"] .team-away { border-radius: 18px 999px 999px 18px !important; }
body[data-competition-theme="default"] .score-card {
    margin: 0 10px !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(16,39,66,.98), rgba(5,13,24,.98)) !important;
}
body[data-competition-theme="default"] .pitch-stage-frame {
    border-radius: 22px !important;
}

/* --------------------------------------------------------------------------
   PREMIER LEAGUE: Angled 3D Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="premier_league"] {
    --skin-bg: #050013;
    --skin-bg-2: #1b0834;
    --skin-panel: rgba(14, 6, 29, .80);
    --skin-panel-strong: rgba(10, 5, 23, .96);
    --skin-line: rgba(145, 75, 255, .42);
    --skin-line-strong: rgba(0, 255, 154, .78);
    --skin-accent: #8b48ff;
    --skin-accent-2: #00ff9a;
    --skin-glow: rgba(139,72,255,.38);
    --skin-stage-border: rgba(139,72,255,.54);
}
body[data-competition-theme="premier_league"] .broadcast-stage {
    background:
        radial-gradient(circle at 15% 10%, rgba(139,72,255,.28), transparent 30%),
        radial-gradient(circle at 83% 15%, rgba(0,255,154,.18), transparent 26%),
        linear-gradient(135deg, #07000e, #16052f 50%, #06140e) !important;
}
body[data-competition-theme="premier_league"] .team-home {
    clip-path: polygon(0 0, 100% 0, calc(100% - 38px) 100%, 0 100%) !important;
    border-radius: 14px 0 0 14px !important;
    padding-right: 46px !important;
}
body[data-competition-theme="premier_league"] .team-away {
    clip-path: polygon(38px 0, 100% 0, 100% 100%, 0 100%) !important;
    border-radius: 0 14px 14px 0 !important;
    padding-left: 46px !important;
}
body[data-competition-theme="premier_league"] .score-card {
    clip-path: polygon(18% 0, 82% 0, 100% 100%, 0 100%) !important;
    border-radius: 0 0 22px 22px !important;
    background: linear-gradient(180deg, rgba(32,10,64,.98), rgba(4,2,12,.98)) !important;
    border-bottom-color: #00ff9a !important;
}
body[data-competition-theme="premier_league"] .pitch-panel,
body[data-competition-theme="premier_league"] .side-panel {
    border-color: rgba(139,72,255,.46) !important;
    box-shadow: 0 24px 66px rgba(0,0,0,.54), 0 0 36px rgba(139,72,255,.16) !important;
}
body[data-competition-theme="premier_league"] .pitch-stage-frame {
    border-color: rgba(0,255,154,.42) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), 0 0 26px rgba(139,72,255,.38), 0 0 18px rgba(0,255,154,.18) !important;
}
body[data-competition-theme="premier_league"] .event-feed::before { background: linear-gradient(180deg, transparent, #8b48ff, #00ff9a, transparent) !important; }

/* --------------------------------------------------------------------------
   SERIE A: Frosted Glass Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="serie_a"] {
    --skin-bg: #021421;
    --skin-bg-2: #083243;
    --skin-panel: rgba(10, 31, 48, .48);
    --skin-panel-strong: rgba(9, 26, 42, .62);
    --skin-line: rgba(97, 226, 255, .28);
    --skin-line-strong: rgba(97, 226, 255, .58);
    --skin-accent: #2ce9ff;
    --skin-accent-2: #58ffd6;
    --skin-glow: rgba(44, 233, 255, .26);
    --skin-stage-border: rgba(97, 226, 255, .36);
}
body[data-competition-theme="serie_a"] .scoreboard {
    gap: 16px !important;
}
body[data-competition-theme="serie_a"] .team-card,
body[data-competition-theme="serie_a"] .score-card,
body[data-competition-theme="serie_a"] .side-panel,
body[data-competition-theme="serie_a"] .pitch-panel {
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.038)) !important;
    border-color: rgba(255,255,255,.13) !important;
    backdrop-filter: blur(22px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(140%) !important;
}
body[data-competition-theme="serie_a"] .team-home,
body[data-competition-theme="serie_a"] .team-away {
    border-left-width: 1px !important;
    border-right-width: 1px !important;
}
body[data-competition-theme="serie_a"] .score-card {
    margin: 0 2px !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.44), 0 0 40px rgba(44,233,255,.14) !important;
}
body[data-competition-theme="serie_a"] .pitch-stage-frame {
    border-radius: 22px !important;
    border-color: rgba(97,226,255,.34) !important;
}
body[data-competition-theme="serie_a"] .event-item::before { background: #2ce9ff !important; }

/* --------------------------------------------------------------------------
   CHAMPIONS LEAGUE: Cyberpunk Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="champions_league"] {
    --skin-bg: #010713;
    --skin-bg-2: #051b38;
    --skin-panel: rgba(2, 11, 26, .86);
    --skin-panel-strong: rgba(1, 8, 20, .97);
    --skin-line: rgba(0, 217, 255, .44);
    --skin-line-strong: rgba(0, 217, 255, .92);
    --skin-accent: #00d9ff;
    --skin-accent-2: #8beeff;
    --skin-glow: rgba(0,217,255,.42);
    --skin-stage-border: rgba(0,217,255,.56);
}
body[data-competition-theme="champions_league"] .broadcast-stage,
body[data-competition-theme="champions_league"] .side-panel,
body[data-competition-theme="champions_league"] .pitch-panel,
body[data-competition-theme="champions_league"] .team-card,
body[data-competition-theme="champions_league"] .score-card,
body[data-competition-theme="champions_league"] .bottom-ticker {
    clip-path: polygon(var(--skin-cut) 0, calc(100% - var(--skin-cut)) 0, 100% var(--skin-cut), 100% calc(100% - var(--skin-cut)), calc(100% - var(--skin-cut)) 100%, var(--skin-cut) 100%, 0 calc(100% - var(--skin-cut)), 0 var(--skin-cut)) !important;
    border-radius: 0 !important;
}
body[data-competition-theme="champions_league"] .score-card {
    background: linear-gradient(180deg, #03132a, #000713) !important;
    box-shadow: 0 0 34px rgba(0,217,255,.36), inset 0 0 26px rgba(0,217,255,.12) !important;
}
body[data-competition-theme="champions_league"] .pitch-stage-frame {
    border-radius: 0 !important;
    clip-path: polygon(16px 0, calc(100% - 16px) 0, 100% 16px, 100% calc(100% - 16px), calc(100% - 16px) 100%, 16px 100%, 0 calc(100% - 16px), 0 16px) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 0 32px rgba(0,217,255,.34), 0 0 72px rgba(0,217,255,.10) !important;
}
body[data-competition-theme="champions_league"] .panel-header,
body[data-competition-theme="champions_league"] .sponsor-card,
body[data-competition-theme="champions_league"] .commercial-card,
body[data-competition-theme="champions_league"] .viewer-card,
body[data-competition-theme="champions_league"] .stats-card {
    border-radius: 0 !important;
    clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px) !important;
}

/* --------------------------------------------------------------------------
   LA LIGA: Trapezoid Red/Blue Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="la_liga"] {
    --skin-bg: #050814;
    --skin-bg-2: #190713;
    --skin-panel: rgba(6, 12, 25, .82);
    --skin-panel-strong: rgba(5, 10, 21, .96);
    --skin-line: rgba(255, 60, 78, .40);
    --skin-line-strong: rgba(47, 144, 255, .82);
    --skin-accent: #1e8fff;
    --skin-accent-2: #ff3046;
    --skin-glow: rgba(255,48,70,.34);
    --skin-stage-border: rgba(47,144,255,.44);
}
body[data-competition-theme="la_liga"] .team-home {
    transform: skewX(-10deg) !important;
    transform-origin: center !important;
    border-left-color: #1e8fff !important;
    background: linear-gradient(100deg, rgba(5,18,45,.98), rgba(4,8,18,.98)) !important;
}
body[data-competition-theme="la_liga"] .team-away {
    transform: skewX(10deg) !important;
    transform-origin: center !important;
    border-right-color: #ff3046 !important;
    background: linear-gradient(260deg, rgba(45,5,14,.98), rgba(4,8,18,.98)) !important;
}
body[data-competition-theme="la_liga"] .team-home > *,
body[data-competition-theme="la_liga"] .team-home span { transform: skewX(10deg) !important; }
body[data-competition-theme="la_liga"] .team-away > *,
body[data-competition-theme="la_liga"] .team-away span { transform: skewX(-10deg) !important; }
body[data-competition-theme="la_liga"] .score-card {
    clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%) !important;
    border-radius: 0 0 22px 22px !important;
    border-bottom-color: #ff3046 !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.62), -20px 0 60px rgba(30,143,255,.18), 20px 0 60px rgba(255,48,70,.18) !important;
}
body[data-competition-theme="la_liga"] .pitch-stage-frame {
    border-color: color-mix(in srgb, var(--home-color, #1e8fff) 40%, var(--away-color, #ff3046) 60%) !important;
    box-shadow: -18px 0 34px rgba(30,143,255,.22), 18px 0 34px rgba(255,48,70,.22), inset 0 0 0 1px rgba(255,255,255,.06) !important;
}

/* --------------------------------------------------------------------------
   WORLD CUP: Minimal Dark Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="world_cup"] {
    --skin-bg: #090807;
    --skin-bg-2: #18090b;
    --skin-panel: rgba(12, 11, 11, .88);
    --skin-panel-strong: rgba(10, 9, 9, .97);
    --skin-line: rgba(193, 44, 45, .34);
    --skin-line-strong: rgba(212, 170, 82, .80);
    --skin-accent: #d4aa52;
    --skin-accent-2: #a61e2d;
    --skin-glow: rgba(212,170,82,.28);
    --skin-stage-border: rgba(212,170,82,.44);
}
body[data-competition-theme="world_cup"] .broadcast-stage {
    background: linear-gradient(180deg, #070707, #100708 52%, #050505) !important;
}
body[data-competition-theme="world_cup"] .side-panel,
body[data-competition-theme="world_cup"] .pitch-panel,
body[data-competition-theme="world_cup"] .team-card,
body[data-competition-theme="world_cup"] .score-card {
    border-radius: 8px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.62)) !important;
    box-shadow: none !important;
}
body[data-competition-theme="world_cup"] .panel-header {
    border-left-color: #d4aa52 !important;
    border-radius: 0 !important;
}
body[data-competition-theme="world_cup"] .event-feed::before {
    left: 47px !important;
    width: 3px !important;
    background: linear-gradient(180deg, #6d111c, #d4aa52, #6d111c) !important;
}
body[data-competition-theme="world_cup"] .event-item {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}
body[data-competition-theme="world_cup"] .pitch-stage-frame {
    border-radius: 8px !important;
    border-color: rgba(212,170,82,.34) !important;
}

/* --------------------------------------------------------------------------
   LIGUE 1: French Navy Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="ligue_1"] {
    --skin-bg: #020b18;
    --skin-bg-2: #061d39;
    --skin-panel: rgba(5, 18, 38, .80);
    --skin-panel-strong: rgba(3, 13, 28, .96);
    --skin-line: rgba(31, 130, 255, .36);
    --skin-line-strong: rgba(31, 130, 255, .74);
    --skin-accent: #168cff;
    --skin-accent-2: #50bfff;
    --skin-glow: rgba(22,140,255,.28);
    --skin-stage-border: rgba(31,130,255,.42);
}
body[data-competition-theme="ligue_1"] .broadcast-stage {
    background: linear-gradient(180deg, #030d1d, #061b33 48%, #020814) !important;
}
body[data-competition-theme="ligue_1"] .team-card,
body[data-competition-theme="ligue_1"] .score-card,
body[data-competition-theme="ligue_1"] .side-panel,
body[data-competition-theme="ligue_1"] .pitch-panel {
    border-width: 1px !important;
    border-color: rgba(31,130,255,.28) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.035) !important;
}
body[data-competition-theme="ligue_1"] .panel-header {
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(31,130,255,.32) !important;
    border-left: 0 !important;
    border-radius: 0 !important;
}
body[data-competition-theme="ligue_1"] .event-feed::before {
    background: linear-gradient(180deg, transparent, #168cff, transparent) !important;
    width: 1px !important;
}
body[data-competition-theme="ligue_1"] .event-item::before {
    width: 8px !important;
    height: 8px !important;
    left: 45px !important;
    background: #168cff !important;
    box-shadow: 0 0 14px rgba(22,140,255,.9) !important;
}
body[data-competition-theme="ligue_1"] .bottom-ticker { border-radius: 9px !important; }

/* --------------------------------------------------------------------------
   AFRICA CUP: Emerald & Gold Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="africa_cup"] {
    --skin-bg: #031408;
    --skin-bg-2: #0a2a13;
    --skin-panel: rgba(2, 25, 11, .84);
    --skin-panel-strong: rgba(2, 20, 9, .97);
    --skin-line: rgba(226, 181, 68, .42);
    --skin-line-strong: rgba(226, 181, 68, .86);
    --skin-accent: #e2b544;
    --skin-accent-2: #32d06f;
    --skin-glow: rgba(226,181,68,.30);
    --skin-stage-border: rgba(226,181,68,.54);
}
body[data-competition-theme="africa_cup"] .broadcast-stage {
    background:
        radial-gradient(circle at 11% 0%, rgba(226,181,68,.20), transparent 28%),
        radial-gradient(circle at 88% 0%, rgba(50,208,111,.15), transparent 28%),
        linear-gradient(180deg, #021206, #062b12 46%, #030a05) !important;
}
body[data-competition-theme="africa_cup"] .broadcast-stage::before {
    border-color: rgba(226,181,68,.22) !important;
    background:
        repeating-linear-gradient(135deg, transparent 0 18px, rgba(226,181,68,.045) 18px 19px, transparent 19px 38px) !important;
}
body[data-competition-theme="africa_cup"] .team-card,
body[data-competition-theme="africa_cup"] .score-card,
body[data-competition-theme="africa_cup"] .side-panel,
body[data-competition-theme="africa_cup"] .pitch-panel {
    border-color: rgba(226,181,68,.46) !important;
    box-shadow: 0 18px 48px rgba(0,0,0,.50), inset 0 0 0 1px rgba(226,181,68,.10) !important;
}
body[data-competition-theme="africa_cup"] .score-card {
    border-radius: 0 0 20px 20px !important;
    background: linear-gradient(180deg, rgba(31,50,16,.98), rgba(5,14,6,.98)) !important;
}
body[data-competition-theme="africa_cup"] .event-feed::before { background: linear-gradient(180deg, transparent, #e2b544, #32d06f, #e2b544, transparent) !important; }
body[data-competition-theme="africa_cup"] .event-item::before { background: #e2b544 !important; box-shadow: 0 0 18px rgba(226,181,68,.86) !important; }
body[data-competition-theme="africa_cup"] .commercial-card strong { color: #fff3b3 !important; }

/* --------------------------------------------------------------------------
   BUNDESLIGA: Industrial Red Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="bundesliga"] {
    --skin-bg: #060607;
    --skin-bg-2: #19191b;
    --skin-panel: rgba(18, 19, 22, .88);
    --skin-panel-strong: rgba(14, 15, 18, .98);
    --skin-line: rgba(255, 34, 51, .42);
    --skin-line-strong: rgba(255, 34, 51, .86);
    --skin-accent: #ff2233;
    --skin-accent-2: #ffffff;
    --skin-glow: rgba(255,34,51,.30);
    --skin-stage-border: rgba(255,34,51,.44);
}
body[data-competition-theme="bundesliga"] .broadcast-stage {
    background: linear-gradient(180deg, #101113, #08090b 55%, #040405) !important;
}
body[data-competition-theme="bundesliga"] .team-card,
body[data-competition-theme="bundesliga"] .score-card,
body[data-competition-theme="bundesliga"] .side-panel,
body[data-competition-theme="bundesliga"] .pitch-panel,
body[data-competition-theme="bundesliga"] .bottom-ticker {
    border-radius: 4px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.52)) !important;
}
body[data-competition-theme="bundesliga"] .team-home {
    background: linear-gradient(90deg, rgba(170,6,18,.70), rgba(17,18,21,.96)) !important;
    border-left-color: #ff2233 !important;
}
body[data-competition-theme="bundesliga"] .team-away {
    background: linear-gradient(270deg, rgba(34,35,39,.92), rgba(17,18,21,.96)) !important;
    border-right-color: #ffffff !important;
}
body[data-competition-theme="bundesliga"] .score-card {
    border-radius: 0 !important;
    border-bottom-color: #ff2233 !important;
}
body[data-competition-theme="bundesliga"] .panel-header {
    border-radius: 0 !important;
    border-left-color: #ff2233 !important;
}
body[data-competition-theme="bundesliga"] .event-feed::before {
    width: 3px !important;
    background: linear-gradient(180deg, #ff2233, #ff2233) !important;
}
body[data-competition-theme="bundesliga"] .event-item::before {
    background: #ff2233 !important;
    box-shadow: 0 0 16px rgba(255,34,51,.80) !important;
}
body[data-competition-theme="bundesliga"] .event-content strong { color: #ff3648 !important; }
body[data-competition-theme="bundesliga"] .pitch-stage-frame { border-radius: 4px !important; }

/* --------------------------------------------------------------------------
   EUROPA LEAGUE: Amber Carbon Theme
   -------------------------------------------------------------------------- */
body[data-competition-theme="europa_league"] {
    --skin-bg: #050403;
    --skin-bg-2: #1d0d02;
    --skin-panel: rgba(18, 13, 9, .86);
    --skin-panel-strong: rgba(12, 9, 7, .98);
    --skin-line: rgba(255, 128, 18, .42);
    --skin-line-strong: rgba(255, 163, 38, .88);
    --skin-accent: #ff7a00;
    --skin-accent-2: #ffbd45;
    --skin-glow: rgba(255,122,0,.34);
    --skin-stage-border: rgba(255,122,0,.48);
}
body[data-competition-theme="europa_league"] .broadcast-stage {
    background:
        repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 20px),
        radial-gradient(circle at 50% 0%, rgba(255,122,0,.20), transparent 30%),
        linear-gradient(180deg, #0a0705, #140802 52%, #040302) !important;
}
body[data-competition-theme="europa_league"] .team-card,
body[data-competition-theme="europa_league"] .score-card {
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(38,24,14,.98), rgba(5,5,5,.98)) !important;
}
body[data-competition-theme="europa_league"] .score-card {
    min-width: 188px !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.62), 0 0 32px rgba(255,122,0,.26) !important;
}
body[data-competition-theme="europa_league"] .event-feed::before { display: none !important; }
body[data-competition-theme="europa_league"] .event-item {
    grid-template-columns: 50px 1fr !important;
    margin: 7px 0 !important;
    padding: 9px 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,122,0,.20) !important;
    background: linear-gradient(90deg, rgba(255,122,0,.16), rgba(255,255,255,.035)) !important;
}
body[data-competition-theme="europa_league"] .event-item::before {
    left: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 7px !important;
    height: 7px !important;
    background: #ff7a00 !important;
}
body[data-competition-theme="europa_league"] .event-minute { text-align: center !important; color: #ffbd45 !important; }
body[data-competition-theme="europa_league"] .pitch-stage-frame {
    border-color: rgba(255,122,0,.45) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 0 42px rgba(255,122,0,.24) !important;
}

/* keep hidden mobile stacking safer if someone opens the tracker outside 16:9 */
@media (max-width: 900px) {
    body[data-competition-theme] { overflow: auto !important; }
    body[data-competition-theme] .broadcast-stage {
        width: min(100vw - 14px, 1680px) !important;
        height: auto !important;
        min-height: 100vh !important;
        aspect-ratio: auto !important;
        grid-template-rows: auto auto auto !important;
        overflow: visible !important;
    }
    body[data-competition-theme] .broadcast-grid { grid-template-columns: 1fr !important; }
    body[data-competition-theme] .scoreboard { transform: scale(.78) !important; transform-origin: top center !important; min-width: 980px !important; left: 50% !important; translate: -50% 0 !important; }
}

/* === PART 113 TEN THEME BROADCAST SKINS END === */

/* PART 114: RESTORE SCOREBOARD TEAM NAMES - START
   Purpose:
   - Restore visible real team names under HOME/AWAY after Part 113.
   - Keep all existing IDs/classes/JS hooks untouched.
   - Keep admin dynamic colors through --home-color and --away-color.
   - CSS only. Canvas engine is not touched.
*/

/* Keep the scoreboard readable on every competition theme. */
body[data-competition-theme] .scoreboard {
    position: relative !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) minmax(160px, 220px) minmax(260px, 1fr) !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: clamp(10px, 1.2vw, 18px) !important;
    width: min(980px, 76vw) !important;
    max-width: calc(100vw - 220px) !important;
    margin: 0 auto 8px !important;
    overflow: visible !important;
}

body[data-competition-theme] .team-card,
body[data-competition-theme] .score-card {
    position: relative !important;
    z-index: 31 !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Team cards must show both generic side label and real team name. */
body[data-competition-theme] .team-card {
    min-width: 0 !important;
    min-height: clamp(74px, 7.1vw, 96px) !important;
    height: auto !important;
    padding: clamp(10px, 1vw, 16px) clamp(14px, 1.8vw, 28px) !important;
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 5px !important;
    text-align: center !important;
    isolation: isolate !important;
}

body[data-competition-theme] .team-code,
body[data-competition-theme] .team-name,
body[data-competition-theme] #homeCode,
body[data-competition-theme] #homeName,
body[data-competition-theme] #awayCode,
body[data-competition-theme] #awayName {
    position: relative !important;
    inset: auto !important;
    translate: none !important;
    transform: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 1em !important;
    line-height: 1.04 !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    z-index: 4 !important;
}

/* HOME / AWAY side label. */
body[data-competition-theme] .team-code {
    color: #ffffff !important;
    font-size: clamp(24px, 2.8vw, 46px) !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    text-shadow: 0 3px 18px rgba(0,0,0,.55), 0 0 14px rgba(255,255,255,.14) !important;
}

/* Real team name from admin/live data. */
body[data-competition-theme] .team-name {
    font-size: clamp(12px, 1.05vw, 17px) !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.75) !important;
}

body[data-competition-theme] .team-home .team-name,
body[data-competition-theme] #homeName {
    color: var(--home-color, #22d3ff) !important;
}

body[data-competition-theme] .team-away .team-name,
body[data-competition-theme] #awayName {
    color: var(--away-color, #ffb02e) !important;
}

/* Keep yellow/red card counters below the names, not covering them. */
body[data-competition-theme] .team-meta {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin-top: 2px !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    z-index: 3 !important;
}

body[data-competition-theme] .score-card {
    min-height: clamp(76px, 7.5vw, 104px) !important;
    display: grid !important;
    place-items: center !important;
}

/* Mobile/tablet: keep text visible instead of clipping it. */
@media (max-width: 1100px) {
    body[data-competition-theme] .scoreboard {
        width: min(900px, 96vw) !important;
        max-width: 96vw !important;
        grid-template-columns: minmax(190px, 1fr) minmax(120px, 160px) minmax(190px, 1fr) !important;
        transform: scale(.92) !important;
        transform-origin: top center !important;
    }

    body[data-competition-theme] .team-code {
        font-size: clamp(20px, 4.4vw, 34px) !important;
    }

    body[data-competition-theme] .team-name {
        font-size: clamp(10px, 2.2vw, 14px) !important;
    }
}

@media (max-width: 720px) {
    body[data-competition-theme] .scoreboard {
        grid-template-columns: 1fr auto 1fr !important;
        gap: 8px !important;
        transform: scale(.86) !important;
    }

    body[data-competition-theme] .team-card {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}
/* PART 114: RESTORE SCOREBOARD TEAM NAMES - END */

/* === PART 123 CLEAN PREMIER LEAGUE THEME START ===
   Scope: [data-competition-theme="premier_league"] only.
   This is one clean Premier League skin. It keeps admin data, IDs, JS hooks,
   canvas rendering, and other league themes untouched.
   ========================================================= */

body[data-competition-theme="premier_league"] {
    --pl-home: var(--home-color, #2d8cff);
    --pl-away: var(--away-color, #ff4d4d);
    --pl-gold: #f5c84b;
    --pl-bg: #020713;
    --pl-card: #07111f;
    --pl-panel: #060b14;
    --pl-line: rgba(93, 161, 255, .38);
    --accent: var(--pl-home);
    --accent-2: var(--pl-gold);
    --stage-1: #030611;
    --stage-2: #080d1b;
    --panel: rgba(6, 11, 20, .98);
    --panel-2: rgba(8, 17, 31, .98);
    --line: rgba(96, 143, 255, .32);
}

body[data-competition-theme="premier_league"] .broadcast-stage {
    grid-template-rows: 92px 1fr 30px !important;
    gap: 8px !important;
    padding: 14px !important;
    border-radius: 22px !important;
    border-color: rgba(67, 134, 255, .52) !important;
    background:
        radial-gradient(circle at 8% 0%, rgba(47, 121, 255, .18), transparent 28%),
        radial-gradient(circle at 92% 0%, rgba(255, 61, 77, .16), transparent 30%),
        linear-gradient(180deg, #020713 0%, #050914 50%, #02050b 100%) !important;
    box-shadow: 0 20px 56px rgba(0,0,0,.62), inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

body[data-competition-theme="premier_league"] .scoreboard {
    width: min(920px, 70vw) !important;
    height: 92px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(250px, 1fr) 184px minmax(250px, 1fr) !important;
    align-items: start !important;
    justify-content: center !important;
    gap: 0 !important;
    z-index: 20 !important;
    filter: drop-shadow(0 18px 26px rgba(0,0,0,.56)) !important;
}

body[data-competition-theme="premier_league"] .team-card,
body[data-competition-theme="premier_league"] .score-card {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    border: 0 !important;
    height: 76px !important;
    min-height: 76px !important;
    background: #07111f !important;
    box-shadow: none !important;
}

body[data-competition-theme="premier_league"] .team-card > *,
body[data-competition-theme="premier_league"] .score-card > * {
    position: relative !important;
    z-index: 3 !important;
}

body[data-competition-theme="premier_league"] .team-home {
    clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%) !important;
    padding: 12px 56px 8px 28px !important;
    text-align: center !important;
    background:
        linear-gradient(105deg, rgba(45,140,255,.72), rgba(10,20,38,.98) 34%, rgba(2,6,14,.98) 100%) !important;
    box-shadow: inset 8px 0 0 var(--pl-home) !important;
}

body[data-competition-theme="premier_league"] .team-away {
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%) !important;
    padding: 12px 28px 8px 56px !important;
    text-align: center !important;
    background:
        linear-gradient(255deg, rgba(255,76,76,.72), rgba(24,10,19,.98) 34%, rgba(2,6,14,.98) 100%) !important;
    box-shadow: inset -8px 0 0 var(--pl-away) !important;
}

body[data-competition-theme="premier_league"] .team-home::after,
body[data-competition-theme="premier_league"] .team-away::after {
    content: "" !important;
    position: absolute !important;
    top: -10px !important;
    bottom: -10px !important;
    width: 7px !important;
    z-index: 4 !important;
    pointer-events: none !important;
    opacity: .96 !important;
}

body[data-competition-theme="premier_league"] .team-home::after {
    right: 43px !important;
    transform: rotate(-17deg) !important;
    background: var(--pl-home) !important;
    box-shadow: 0 0 24px var(--pl-home) !important;
}

body[data-competition-theme="premier_league"] .team-away::after {
    left: 43px !important;
    transform: rotate(17deg) !important;
    background: var(--pl-away) !important;
    box-shadow: 0 0 24px var(--pl-away) !important;
}

body[data-competition-theme="premier_league"] .score-card {
    height: 86px !important;
    min-height: 86px !important;
    margin-top: 0 !important;
    padding: 7px 10px 8px !important;
    display: grid !important;
    grid-template-rows: 18px 44px 18px !important;
    align-items: center !important;
    justify-items: center !important;
    clip-path: polygon(13% 0, 87% 0, 100% 100%, 0 100%) !important;
    background:
        linear-gradient(180deg, rgba(15, 25, 40, .98), rgba(4, 8, 16, .98)) !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
    z-index: 24 !important;
    transform: translateY(0) !important;
}

body[data-competition-theme="premier_league"] .competition-strip {
    display: block !important;
    max-width: 138px !important;
    color: #f6f8ff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: .96 !important;
}

body[data-competition-theme="premier_league"] .score-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    color: #fff !important;
    font-size: clamp(42px, 4vw, 62px) !important;
    line-height: .82 !important;
    font-weight: 950 !important;
    letter-spacing: .01em !important;
    text-shadow: 0 4px 20px rgba(255,255,255,.34), 0 10px 28px rgba(0,0,0,.65) !important;
}

body[data-competition-theme="premier_league"] .clock-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 9px !important;
    margin-top: 0 !important;
    border-radius: 999px !important;
    background: rgba(2, 6, 13, .94) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #eef7ff !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] #matchStatus,
body[data-competition-theme="premier_league"] #matchClock,
body[data-competition-theme="premier_league"] .clock-dot {
    display: inline-flex !important;
    align-items: center !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] #matchStatus {
    min-width: 30px !important;
    justify-content: center !important;
    padding: 2px 6px !important;
    border-radius: 999px !important;
    background: var(--pl-gold) !important;
    color: #02050b !important;
    font-size: 8px !important;
}

body[data-competition-theme="premier_league"] #matchClock {
    color: #fff !important;
    font-size: 9px !important;
}

body[data-competition-theme="premier_league"] .clock-dot {
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    border-radius: 50% !important;
    background: #34ffb9 !important;
    box-shadow: 0 0 11px rgba(52,255,185,.9) !important;
}

body[data-competition-theme="premier_league"] .team-code {
    color: #fff !important;
    font-size: clamp(28px, 2.6vw, 42px) !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body[data-competition-theme="premier_league"] .team-name {
    display: block !important;
    margin-top: 7px !important;
    font-size: clamp(12px, 1.1vw, 16px) !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] .team-home .team-name { color: var(--pl-home) !important; }
body[data-competition-theme="premier_league"] .team-away .team-name { color: var(--pl-away) !important; }

body[data-competition-theme="premier_league"] .card-row {
    margin-top: 6px !important;
    min-height: 10px !important;
}

body[data-competition-theme="premier_league"] .side-panel,
body[data-competition-theme="premier_league"] .pitch-panel {
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: #060b14 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 20px 44px rgba(0,0,0,.35) !important;
}

body[data-competition-theme="premier_league"] .pitch-panel::before,
body[data-competition-theme="premier_league"] .pitch-panel::after,
body[data-competition-theme="premier_league"] .pitch-stage-frame::before,
body[data-competition-theme="premier_league"] .pitch-stage-frame::after {
    display: none !important;
    content: none !important;
}

body[data-competition-theme="premier_league"] .pitch-panel {
    padding: 14px !important;
    align-items: center !important;
    justify-content: center !important;
}

body[data-competition-theme="premier_league"] .pitch-stage-frame {
    width: min(100%, 880px) !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 auto !important;
    border-radius: 7px !important;
    border: 1px solid rgba(69,132,255,.38) !important;
    background: #03070d !important;
    overflow: hidden !important;
    z-index: 3 !important;
}

body[data-competition-theme="premier_league"] #matchCanvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body[data-competition-theme="premier_league"] .panel-header {
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    background: #090f1a !important;
}

body[data-competition-theme="premier_league"] .panel-header h2,
body[data-competition-theme="premier_league"] .section-title {
    color: #fff !important;
    font-weight: 950 !important;
}

body[data-competition-theme="premier_league"] .panel-header p {
    color: rgba(226,241,255,.72) !important;
}

body[data-competition-theme="premier_league"] .event-feed {
    position: relative !important;
    padding-left: 44px !important;
}

body[data-competition-theme="premier_league"] .event-feed::before {
    content: "" !important;
    position: absolute !important;
    left: 30px !important;
    top: 10px !important;
    bottom: 10px !important;
    width: 2px !important;
    display: block !important;
    background: linear-gradient(180deg, transparent, var(--pl-home), var(--pl-away), transparent) !important;
    box-shadow: 0 0 14px rgba(51,134,255,.42) !important;
}

body[data-competition-theme="premier_league"] .event-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 6px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.07) !important;
}

body[data-competition-theme="premier_league"] .event-item::before {
    content: "" !important;
    position: absolute !important;
    left: -20px !important;
    top: 16px !important;
    width: 13px !important;
    height: 13px !important;
    border-radius: 50% !important;
    background: var(--pl-home) !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.16), 0 0 16px rgba(51,134,255,.75) !important;
}

body[data-competition-theme="premier_league"] .event-impact-goal::before,
body[data-competition-theme="premier_league"] .event-type-goal::before {
    background: var(--pl-gold) !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.16), 0 0 17px rgba(245,200,75,.82) !important;
}

body[data-competition-theme="premier_league"] .event-type-red-card::before {
    background: #ff405d !important;
}

body[data-competition-theme="premier_league"] .event-minute {
    color: #fff !important;
    font-weight: 950 !important;
}

body[data-competition-theme="premier_league"] .event-content {
    padding: 8px 10px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(75,139,255,.26) !important;
    background: #0b1322 !important;
}

body[data-competition-theme="premier_league"] .event-content strong {
    color: var(--pl-gold) !important;
    font-size: clamp(10px,.88vw,13px) !important;
    font-weight: 950 !important;
    line-height: 1.05 !important;
}

body[data-competition-theme="premier_league"] .event-content span {
    color: #f0f5ff !important;
    font-size: clamp(9px,.76vw,12px) !important;
    line-height: 1.15 !important;
}

body[data-competition-theme="premier_league"] .sponsor-card,
body[data-competition-theme="premier_league"] .commercial-card,
body[data-competition-theme="premier_league"] .viewer-card,
body[data-competition-theme="premier_league"] .stats-card {
    border: 1px solid rgba(72,132,255,.24) !important;
    border-radius: 10px !important;
    background: #0a1220 !important;
}

body[data-competition-theme="premier_league"] .sponsor-card {
    background: linear-gradient(135deg, rgba(7,17,31,.98), rgba(12,24,42,.98)) !important;
}

body[data-competition-theme="premier_league"] .commercial-card {
    border-color: rgba(245,200,75,.62) !important;
    background: radial-gradient(circle at 85% 5%, rgba(255,255,255,.17), transparent 28%), linear-gradient(135deg, rgba(60,46,12,.72), rgba(6,10,18,.98) 55%) !important;
}

body[data-competition-theme="premier_league"] .sponsor-mark {
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
}

body[data-competition-theme="premier_league"] .sponsor-mark.has-logo {
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    color: transparent !important;
}

body[data-competition-theme="premier_league"] .sponsor-card h3 {
    color: #fff !important;
    font-size: clamp(16px,1.35vw,23px) !important;
}

body[data-competition-theme="premier_league"] .commercial-label,
body[data-competition-theme="premier_league"] .viewer-card .section-title,
body[data-competition-theme="premier_league"] .stats-card .section-title {
    color: var(--pl-gold) !important;
}

body[data-competition-theme="premier_league"] .stat-bars {
    height: 5px !important;
    background: rgba(255,255,255,.14) !important;
}

body[data-competition-theme="premier_league"] .stat-bars span {
    background: linear-gradient(90deg, var(--pl-home), rgba(255,255,255,.55), var(--pl-away)) !important;
}

body[data-competition-theme="premier_league"] .bottom-ticker {
    position: relative !important;
    height: 30px !important;
    min-height: 30px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    border: 1px solid rgba(72, 153, 255, .38) !important;
    background: #050b16 !important;
}

body[data-competition-theme="premier_league"] .bottom-ticker::before {
    content: "MATCH UPDATES" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 190px !important;
    z-index: 4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: linear-gradient(90deg, var(--pl-home), #3154b6) !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

body[data-competition-theme="premier_league"] .ticker-track {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 220px !important;
    right: auto !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 90px !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    animation: none !important;
    will-change: transform !important;
}

body[data-competition-theme="premier_league"] .ticker-text,
body[data-competition-theme="premier_league"] .ticker-text[data-ticker-clone="1"] {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    white-space: nowrap !important;
    color: #eef7ff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] .ticker-text::before,
body[data-competition-theme="premier_league"] .ticker-text[data-ticker-clone="1"]::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    margin-right: 18px !important;
    border-radius: 999px !important;
    background: var(--pl-home) !important;
    box-shadow: 0 0 14px var(--pl-home) !important;
}

@media (max-width: 1100px) {
    body[data-competition-theme="premier_league"] .broadcast-stage {
        grid-template-rows: 86px 1fr 30px !important;
    }
    body[data-competition-theme="premier_league"] .scoreboard {
        width: 78vw !important;
        min-width: 760px !important;
        transform: scale(.9) !important;
        transform-origin: top center !important;
    }
    body[data-competition-theme="premier_league"] .team-card {
        height: 72px !important;
        min-height: 72px !important;
    }
    body[data-competition-theme="premier_league"] .score-card {
        height: 82px !important;
        min-height: 82px !important;
    }
    body[data-competition-theme="premier_league"] .score-line {
        font-size: 44px !important;
    }
}

/* === PART 123 CLEAN PREMIER LEAGUE THEME END === */

/* === PART 124 PREMIER TOP SCOREBOARD ONLY START ===
   Scope: Premier League top scoreboard only.
   Does not touch ticker, pitch, canvas, side panels, JS hooks or data binding.
*/

body[data-competition-theme="premier_league"] .broadcast-stage {
    grid-template-rows: 88px 1fr 30px !important;
}

/* Top scoreboard frame */
body[data-competition-theme="premier_league"] .scoreboard {
    position: relative !important;
    z-index: 40 !important;
    width: min(980px, 76vw) !important;
    height: 82px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(290px, 1fr) 188px minmax(290px, 1fr) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    transform: none !important;
    translate: none !important;
    filter: drop-shadow(0 18px 28px rgba(0,0,0,.55)) !important;
}

/* Team cards */
body[data-competition-theme="premier_league"] .scoreboard .team-card {
    width: 100% !important;
    height: 74px !important;
    min-height: 74px !important;
    padding: 10px 28px 8px !important;
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: 35px 18px 12px !important;
    align-items: center !important;
    text-align: center !important;
    border-radius: 0 !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.04) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-home {
    clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%) !important;
    border-left: 6px solid var(--home-color, #2d8cff) !important;
    background:
        linear-gradient(110deg, color-mix(in srgb, var(--home-color, #2d8cff) 35%, transparent), transparent 44%),
        linear-gradient(115deg, #112f5e, #030814 76%) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-away {
    clip-path: polygon(14% 0, 100% 0, 100% 100%, 0 100%) !important;
    border-right: 6px solid var(--away-color, #ff4f46) !important;
    background:
        linear-gradient(250deg, color-mix(in srgb, var(--away-color, #ff4f46) 35%, transparent), transparent 44%),
        linear-gradient(245deg, #561316, #030814 76%) !important;
}

/* Bright angled separator strokes */
body[data-competition-theme="premier_league"] .scoreboard .team-home::after,
body[data-competition-theme="premier_league"] .scoreboard .team-away::after {
    content: "" !important;
    position: absolute !important;
    top: -12px !important;
    bottom: -12px !important;
    width: 5px !important;
    pointer-events: none !important;
    opacity: 1 !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-home::after {
    right: 48px !important;
    transform: rotate(-17deg) !important;
    background: var(--home-color, #2d8cff) !important;
    box-shadow: 0 0 22px var(--home-color, #2d8cff) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-away::after {
    left: 48px !important;
    transform: rotate(17deg) !important;
    background: var(--away-color, #ff4f46) !important;
    box-shadow: 0 0 22px var(--away-color, #ff4f46) !important;
}

/* Centre score block */
body[data-competition-theme="premier_league"] .scoreboard .score-card {
    width: 188px !important;
    height: 86px !important;
    min-height: 86px !important;
    margin: 0 -10px !important;
    padding: 7px 10px 7px !important;
    position: relative !important;
    z-index: 50 !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-rows: 17px 43px 18px !important;
    align-items: center !important;
    justify-items: center !important;
    clip-path: polygon(13% 0, 87% 0, 100% 100%, 0 100%) !important;
    border-radius: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: linear-gradient(180deg, #111a2a, #050913 74%) !important;
    box-shadow:
        0 0 24px rgba(0,0,0,.68),
        inset 0 -1px 0 rgba(255,255,255,.10) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .competition-strip {
    color: #dceaff !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    max-width: 148px !important;
    opacity: 1 !important;
}

body[data-competition-theme="premier_league"] .scoreboard .score-line {
    color: #ffffff !important;
    font-size: 48px !important;
    line-height: .88 !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    text-shadow: 0 0 18px rgba(255,255,255,.23) !important;
}

/* Status/time: visible, separated, inside the centre card */
body[data-competition-theme="premier_league"] .scoreboard .clock-line {
    position: static !important;
    transform: none !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchStatus,
body[data-competition-theme="premier_league"] .scoreboard #matchClock {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 15px !important;
    min-width: 30px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    visibility: visible !important;
    opacity: 1 !important;
    white-space: nowrap !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchStatus {
    color: #071017 !important;
    background: #ffd43b !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchClock {
    color: #ffffff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .clock-dot {
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    background: #20ff9c !important;
    box-shadow: 0 0 11px #20ff9c !important;
}

/* Team text */
body[data-competition-theme="premier_league"] .scoreboard .team-code {
    font-size: 34px !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    color: #ffffff !important;
    letter-spacing: .04em !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-name {
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .10em !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-home .team-name {
    color: var(--home-color, #2d8cff) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .team-away .team-name {
    color: var(--away-color, #ff4f46) !important;
}

body[data-competition-theme="premier_league"] .scoreboard .card-row {
    min-height: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
}

/* Make the top area usable on narrower browser widths */
@media (max-width: 1100px) {
    body[data-competition-theme="premier_league"] .scoreboard {
        width: 82vw !important;
        grid-template-columns: minmax(220px, 1fr) 150px minmax(220px, 1fr) !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .team-card {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .score-card {
        width: 150px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .team-code {
        font-size: 28px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .score-line {
        font-size: 40px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .team-name {
        font-size: 12px !important;
    }
}
/* === PART 124 PREMIER TOP SCOREBOARD ONLY END === */





/* === PART 127 PREMIER TOP BOX SPACE FIX START ===
   Scope: Premier League top scoreboard box height only.
   Fixes hidden LIVE/minute row and hidden yellow/red card chips.
   Does not touch ticker, pitch, side panels, canvas, JS, or admin data.
*/

/* give the top grid row enough height for the centre status line and team card chips */
body[data-competition-theme="premier_league"] .broadcast-stage {
    grid-template-rows: 104px 1fr 30px !important;
}

/* keep the top scoreboard clean and centred */
body[data-competition-theme="premier_league"] .scoreboard {
    height: 98px !important;
    min-height: 98px !important;
    align-items: start !important;
    overflow: visible !important;
}

/* team boxes: enough inner space for team name plus yellow/red card chips */
body[data-competition-theme="premier_league"] .scoreboard .team-card {
    height: 86px !important;
    min-height: 86px !important;
    padding-top: 8px !important;
    padding-bottom: 6px !important;
    grid-template-rows: 32px 19px 16px !important;
    overflow: visible !important;
}

/* keep chips inside the visible clipped team card area */
body[data-competition-theme="premier_league"] .scoreboard .card-row {
    height: 16px !important;
    min-height: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin-top: 0 !important;
    overflow: visible !important;
}

body[data-competition-theme="premier_league"] .scoreboard .card-chip {
    width: 11px !important;
    height: 8px !important;
    min-width: 11px !important;
    flex: 0 0 11px !important;
}

body[data-competition-theme="premier_league"] .scoreboard .card-count {
    display: inline-flex !important;
    align-items: center !important;
    height: 10px !important;
    line-height: 10px !important;
    font-size: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* centre score box: extend downward so LIVE/time is not hidden behind the clipped shape */
body[data-competition-theme="premier_league"] .scoreboard .score-card {
    height: 96px !important;
    min-height: 96px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    grid-template-rows: 13px 46px 22px !important;
    overflow: visible !important;
    align-self: start !important;
}

/* competition title stays at the top of the centre box */
body[data-competition-theme="premier_league"] .scoreboard .competition-strip {
    height: 13px !important;
    line-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* score stays compact, leaving room for the status/time row */
body[data-competition-theme="premier_league"] .scoreboard .score-line {
    height: 46px !important;
    line-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    font-size: 46px !important;
}

/* LIVE and minute row: force it to sit inside the lower visible section */
body[data-competition-theme="premier_league"] .scoreboard .clock-line {
    position: relative !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    gap: 5px !important;
    z-index: 120 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchStatus,
body[data-competition-theme="premier_league"] .scoreboard #matchClock {
    height: 16px !important;
    min-height: 16px !important;
    line-height: 16px !important;
    padding: 0 7px !important;
    font-size: 8px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] .scoreboard .clock-dot {
    width: 5px !important;
    height: 5px !important;
    min-width: 5px !important;
    flex: 0 0 5px !important;
}

/* small screens: still keep the row visible */
@media (max-width: 1100px) {
    body[data-competition-theme="premier_league"] .broadcast-stage {
        grid-template-rows: 100px 1fr 30px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard {
        height: 94px !important;
        min-height: 94px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .team-card {
        height: 82px !important;
        min-height: 82px !important;
        grid-template-rows: 29px 18px 15px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .score-card {
        height: 92px !important;
        min-height: 92px !important;
        grid-template-rows: 13px 42px 21px !important;
    }

    body[data-competition-theme="premier_league"] .scoreboard .score-line {
        height: 42px !important;
        line-height: 42px !important;
        font-size: 41px !important;
    }
}
/* === PART 127 PREMIER TOP BOX SPACE FIX END === */


/* =========================================================
   PART 128: Premier League centre LIVE/time visibility only
   Does not move scoreboard, ticker, pitch, panels, JS, or canvas
   ========================================================= */

body[data-competition-theme="premier_league"] .scoreboard .clock-line {
    margin-top: 1px !important;
    gap: 7px !important;
    z-index: 120 !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchStatus {
    height: 17px !important;
    min-width: 38px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #ffe95c, #f5c400) !important;
    color: #06101a !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    box-shadow: 0 0 12px rgba(255, 214, 48, .75), inset 0 1px 0 rgba(255,255,255,.55) !important;
    font-size: 9px !important;
    line-height: 17px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchClock {
    height: 17px !important;
    min-width: 34px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(5, 11, 22, .98) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.40) !important;
    box-shadow: 0 0 10px rgba(255,255,255,.18), inset 0 1px 0 rgba(255,255,255,.16) !important;
    font-size: 9px !important;
    line-height: 17px !important;
    font-weight: 950 !important;
}

body[data-competition-theme="premier_league"] .scoreboard .clock-dot {
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 7px !important;
    background: #18ff96 !important;
    box-shadow: 0 0 12px #18ff96, 0 0 22px rgba(24,255,150,.55) !important;
}


/* =========================================================
   SIMPLE FIX: Premier League score time/status bigger
   Only affects the small PAUSED/LIVE + minute pills
   ========================================================= */

body[data-competition-theme="premier_league"] .scoreboard .clock-line {
    gap: 8px !important;
    margin-top: 3px !important;
    transform: scale(1.18) !important;
    transform-origin: center !important;
    z-index: 999 !important;
}

body[data-competition-theme="premier_league"] .scoreboard #matchStatus,
body[data-competition-theme="premier_league"] .scoreboard #matchClock {
    height: 20px !important;
    min-height: 20px !important;
    min-width: 44px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
    line-height: 20px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="premier_league"] .scoreboard .clock-dot {
    width: 8px !important;
    height: 8px !important;
    flex: 0 0 8px !important;
}

/* === PART 129 LA LIGA TRAPEZOID THEME START ===
   Scope: La Liga theme only.
   Keeps live.php IDs, JS hooks, ticker logic, canvas rendering, and admin data untouched.
*/
body[data-competition-theme="la_liga"],
body[data-competition-theme="laliga"] {
    --accent: var(--home-color, #166bff) !important;
    --accent-2: var(--away-color, #ff3038) !important;
    --stage-1: #030711 !important;
    --stage-2: #080d18 !important;
    --panel: rgba(5, 9, 17, .98) !important;
    --panel-2: rgba(10, 16, 27, .98) !important;
    --line: rgba(255,255,255,.12) !important;
    background:
        radial-gradient(circle at 18% 8%, rgba(var(--home-color-rgb, 45, 140, 255), .22), transparent 28%),
        radial-gradient(circle at 82% 8%, rgba(var(--away-color-rgb, 255, 64, 72), .20), transparent 28%),
        linear-gradient(180deg, #030712 0%, #060a12 48%, #03050a 100%) !important;
}

body[data-competition-theme="la_liga"] .broadcast-stage,
body[data-competition-theme="laliga"] .broadcast-stage {
    border-color: rgba(255,255,255,.08) !important;
    border-radius: 18px !important;
    background:
        linear-gradient(90deg, rgba(var(--home-color-rgb, 45, 140, 255), .08), transparent 34%, transparent 66%, rgba(var(--away-color-rgb, 255, 64, 72), .08)),
        linear-gradient(180deg, #070c16, #03060c) !important;
    box-shadow: 0 22px 70px rgba(0,0,0,.72), inset 0 0 0 1px rgba(255,255,255,.04) !important;
    grid-template-rows: 84px 1fr 30px !important;
    gap: 10px !important;
}

/* Top scoreboard: slanted trapezoid broadcast style */
body[data-competition-theme="la_liga"] .scoreboard,
body[data-competition-theme="laliga"] .scoreboard {
    position: relative !important;
    z-index: 40 !important;
    width: min(980px, 78vw) !important;
    height: 84px !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(285px, 1fr) 180px minmax(285px, 1fr) !important;
    gap: 0 !important;
    align-items: start !important;
    justify-content: center !important;
    transform: none !important;
    filter: drop-shadow(0 18px 28px rgba(0,0,0,.62)) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-card,
body[data-competition-theme="laliga"] .scoreboard .team-card {
    width: 100% !important;
    height: 74px !important;
    min-height: 74px !important;
    padding: 10px 24px 8px !important;
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-rows: 32px 18px 12px !important;
    align-items: center !important;
    text-align: center !important;
    border-radius: 0 !important;
    border: 1px solid rgba(255,255,255,.11) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-home,
body[data-competition-theme="laliga"] .scoreboard .team-home {
    clip-path: polygon(0 0, 100% 0, 85% 100%, 0 100%) !important;
    background:
        linear-gradient(108deg, rgba(var(--home-color-rgb, 45, 140, 255), .92), rgba(8, 24, 55, .98) 45%, #030711 100%) !important;
    border-left: 6px solid var(--home-color, #2d8cff) !important;
    box-shadow:
        -18px 0 34px rgba(var(--home-color-rgb, 45, 140, 255), .42),
        inset 0 0 34px rgba(var(--home-color-rgb, 45, 140, 255), .18) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-away,
body[data-competition-theme="laliga"] .scoreboard .team-away {
    clip-path: polygon(15% 0, 100% 0, 100% 100%, 0 100%) !important;
    background:
        linear-gradient(252deg, rgba(var(--away-color-rgb, 255, 64, 72), .92), rgba(66, 8, 15, .98) 45%, #030711 100%) !important;
    border-right: 6px solid var(--away-color, #ff3648) !important;
    box-shadow:
        18px 0 34px rgba(var(--away-color-rgb, 255, 64, 72), .44),
        inset 0 0 34px rgba(var(--away-color-rgb, 255, 64, 72), .20) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-home::after,
body[data-competition-theme="laliga"] .scoreboard .team-home::after,
body[data-competition-theme="la_liga"] .scoreboard .team-away::after,
body[data-competition-theme="laliga"] .scoreboard .team-away::after {
    content: "" !important;
    position: absolute !important;
    top: -12px !important;
    bottom: -12px !important;
    width: 5px !important;
    pointer-events: none !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-home::after,
body[data-competition-theme="laliga"] .scoreboard .team-home::after {
    right: 50px !important;
    transform: rotate(-16deg) !important;
    background: var(--home-color, #2d8cff) !important;
    box-shadow: 0 0 20px var(--home-color, #2d8cff) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-away::after,
body[data-competition-theme="laliga"] .scoreboard .team-away::after {
    left: 50px !important;
    transform: rotate(16deg) !important;
    background: var(--away-color, #ff3648) !important;
    box-shadow: 0 0 20px var(--away-color, #ff3648) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .score-card,
body[data-competition-theme="laliga"] .scoreboard .score-card {
    width: 180px !important;
    height: 84px !important;
    min-height: 84px !important;
    margin: 0 -6px !important;
    padding: 7px 10px 7px !important;
    position: relative !important;
    z-index: 55 !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-rows: 17px 42px 19px !important;
    align-items: center !important;
    justify-items: center !important;
    clip-path: none !important;
    border-radius: 0 0 16px 16px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    background: linear-gradient(180deg, #101623, #050811 72%) !important;
    box-shadow: 0 18px 34px rgba(0,0,0,.70), inset 0 -1px 0 rgba(255,255,255,.10) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .competition-strip,
body[data-competition-theme="laliga"] .scoreboard .competition-strip {
    color: #d9e7ff !important;
    font-size: 10px !important;
    line-height: 17px !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    max-width: 150px !important;
}

body[data-competition-theme="la_liga"] .scoreboard .score-line,
body[data-competition-theme="laliga"] .scoreboard .score-line {
    color: #ffffff !important;
    font-size: 46px !important;
    line-height: 42px !important;
    font-weight: 950 !important;
    letter-spacing: .03em !important;
    text-shadow: 0 0 16px rgba(255,255,255,.18) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .clock-line,
body[data-competition-theme="laliga"] .scoreboard .clock-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 18px !important;
    margin: 0 auto !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="la_liga"] .scoreboard #matchStatus,
body[data-competition-theme="laliga"] .scoreboard #matchStatus,
body[data-competition-theme="la_liga"] .scoreboard #matchClock,
body[data-competition-theme="laliga"] .scoreboard #matchClock {
    height: 18px !important;
    min-height: 18px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    font-size: 9px !important;
    line-height: 18px !important;
    font-weight: 950 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="la_liga"] .scoreboard #matchStatus,
body[data-competition-theme="laliga"] .scoreboard #matchStatus {
    color: #ffffff !important;
    background: var(--away-color, #ff3038) !important;
    box-shadow: 0 0 14px rgba(var(--away-color-rgb, 255,64,72), .56) !important;
}

body[data-competition-theme="la_liga"] .scoreboard #matchClock,
body[data-competition-theme="laliga"] .scoreboard #matchClock {
    color: #ffffff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .clock-dot,
body[data-competition-theme="laliga"] .scoreboard .clock-dot {
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    background: #ffffff !important;
    box-shadow: 0 0 10px rgba(255,255,255,.78) !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-code,
body[data-competition-theme="laliga"] .scoreboard .team-code {
    color: #ffffff !important;
    font-size: 31px !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-name,
body[data-competition-theme="laliga"] .scoreboard .team-name {
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .09em !important;
    color: #dbeafe !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="la_liga"] .scoreboard .team-home .team-name,
body[data-competition-theme="laliga"] .scoreboard .team-home .team-name { color: color-mix(in srgb, var(--home-color, #2d8cff) 72%, white 28%) !important; }
body[data-competition-theme="la_liga"] .scoreboard .team-away .team-name,
body[data-competition-theme="laliga"] .scoreboard .team-away .team-name { color: color-mix(in srgb, var(--away-color, #ff3038) 76%, white 24%) !important; }

/* Pitch panel: dark solid shell with left/right neon edge lighting */
body[data-competition-theme="la_liga"] .pitch-panel,
body[data-competition-theme="laliga"] .pitch-panel {
    padding: 12px !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, #070b12, #03060b) !important;
    box-shadow:
        -5px 0 18px rgba(var(--home-color-rgb, 45, 140, 255), .55),
         5px 0 18px rgba(var(--away-color-rgb, 255, 64, 72), .55),
        inset 0 0 0 1px rgba(255,255,255,.035) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body[data-competition-theme="la_liga"] .pitch-panel::before,
body[data-competition-theme="la_liga"] .pitch-panel::after,
body[data-competition-theme="laliga"] .pitch-panel::before,
body[data-competition-theme="laliga"] .pitch-panel::after {
    display: none !important;
    content: none !important;
}

body[data-competition-theme="la_liga"] .pitch-stage-frame,
body[data-competition-theme="laliga"] .pitch-stage-frame {
    border-radius: 10px !important;
    border-left: 3px solid var(--home-color, #2d8cff) !important;
    border-right: 3px solid var(--away-color, #ff3038) !important;
    border-top: 1px solid rgba(255,255,255,.13) !important;
    border-bottom: 1px solid rgba(255,255,255,.13) !important;
    box-shadow:
        -7px 0 22px rgba(var(--home-color-rgb, 45, 140, 255), .62),
         7px 0 22px rgba(var(--away-color-rgb, 255, 64, 72), .62),
        0 18px 34px rgba(0,0,0,.46) !important;
    background: #05090f !important;
}

/* Side panels: solid dark, structured */
body[data-competition-theme="la_liga"] .side-panel,
body[data-competition-theme="laliga"] .side-panel,
body[data-competition-theme="la_liga"] .sponsor-card,
body[data-competition-theme="laliga"] .sponsor-card,
body[data-competition-theme="la_liga"] .commercial-card,
body[data-competition-theme="laliga"] .commercial-card,
body[data-competition-theme="la_liga"] .viewer-card,
body[data-competition-theme="laliga"] .viewer-card,
body[data-competition-theme="la_liga"] .stats-card,
body[data-competition-theme="laliga"] .stats-card {
    border-radius: 12px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #070b13 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 16px 34px rgba(0,0,0,.38) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body[data-competition-theme="la_liga"] .panel-header,
body[data-competition-theme="laliga"] .panel-header {
    text-align: left !important;
    border-radius: 8px !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    padding: 8px 8px 10px !important;
}

body[data-competition-theme="la_liga"] .panel-header h2,
body[data-competition-theme="laliga"] .panel-header h2,
body[data-competition-theme="la_liga"] .section-title,
body[data-competition-theme="laliga"] .section-title {
    color: #ffffff !important;
    letter-spacing: .04em !important;
}

/* Timeline: disconnected rows with left color accent bars */
body[data-competition-theme="la_liga"] .event-feed,
body[data-competition-theme="laliga"] .event-feed {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    overflow: hidden !important;
}

body[data-competition-theme="la_liga"] .event-feed::before,
body[data-competition-theme="laliga"] .event-feed::before {
    display: none !important;
    content: none !important;
}

body[data-competition-theme="la_liga"] .event-item,
body[data-competition-theme="laliga"] .event-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 44px 1fr !important;
    gap: 8px !important;
    padding: 9px 8px 9px 12px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-left: 3px solid var(--home-color, #2d8cff) !important;
    border-radius: 8px !important;
    background: #0b111d !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.018) !important;
}

body[data-competition-theme="la_liga"] .event-item::before,
body[data-competition-theme="laliga"] .event-item::before {
    display: none !important;
    content: none !important;
}

body[data-competition-theme="la_liga"] .event-impact-goal,
body[data-competition-theme="laliga"] .event-impact-goal { border-left-color: #ffd43b !important; }
body[data-competition-theme="la_liga"] .event-impact-card,
body[data-competition-theme="laliga"] .event-impact-card,
body[data-competition-theme="la_liga"] .event-impact-yellow_card,
body[data-competition-theme="laliga"] .event-impact-yellow_card { border-left-color: #ffd43b !important; }
body[data-competition-theme="la_liga"] .event-impact-red_card,
body[data-competition-theme="laliga"] .event-impact-red_card { border-left-color: var(--away-color, #ff3038) !important; }
body[data-competition-theme="la_liga"] .event-impact-substitution,
body[data-competition-theme="laliga"] .event-impact-substitution { border-left-color: #22e58f !important; }

body[data-competition-theme="la_liga"] .event-minute,
body[data-competition-theme="laliga"] .event-minute {
    color: #ffffff !important;
    font-weight: 950 !important;
}

body[data-competition-theme="la_liga"] .event-content strong,
body[data-competition-theme="laliga"] .event-content strong {
    color: #ffffff !important;
    font-weight: 950 !important;
}

body[data-competition-theme="la_liga"] .event-impact-goal .event-content strong,
body[data-competition-theme="laliga"] .event-impact-goal .event-content strong { color: #42a5ff !important; }
body[data-competition-theme="la_liga"] .event-impact-card .event-content strong,
body[data-competition-theme="laliga"] .event-impact-card .event-content strong,
body[data-competition-theme="la_liga"] .event-impact-yellow_card .event-content strong,
body[data-competition-theme="laliga"] .event-impact-yellow_card .event-content strong { color: #ffd43b !important; }
body[data-competition-theme="la_liga"] .event-impact-red_card .event-content strong,
body[data-competition-theme="laliga"] .event-impact-red_card .event-content strong { color: var(--away-color, #ff3038) !important; }
body[data-competition-theme="la_liga"] .event-impact-substitution .event-content strong,
body[data-competition-theme="laliga"] .event-impact-substitution .event-content strong { color: #22e58f !important; }

/* Stats: thin separate bars using live admin colors */
body[data-competition-theme="la_liga"] .stat-row,
body[data-competition-theme="laliga"] .stat-row {
    margin: 8px 0 5px !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

body[data-competition-theme="la_liga"] .stat-bars,
body[data-competition-theme="laliga"] .stat-bars {
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
}

body[data-competition-theme="la_liga"] .stat-bars span,
body[data-competition-theme="laliga"] .stat-bars span {
    background: linear-gradient(90deg, var(--home-color, #2d8cff), var(--away-color, #ff3038)) !important;
}

/* Bottom ticker: dark professional bar */
body[data-competition-theme="la_liga"] .bottom-ticker,
body[data-competition-theme="laliga"] .bottom-ticker {
    height: 30px !important;
    border-radius: 8px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: #070b13 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

body[data-competition-theme="la_liga"] .ticker-text,
body[data-competition-theme="laliga"] .ticker-text {
    color: #eaf2ff !important;
    font-weight: 850 !important;
}

body[data-competition-theme="la_liga"] .sponsor-mark,
body[data-competition-theme="laliga"] .sponsor-mark {
    border-radius: 10px !important;
    background-color: #08111f !important;
    box-shadow: 0 0 18px rgba(255, 211, 75, .22) !important;
}

body[data-competition-theme="la_liga"] .commercial-card,
body[data-competition-theme="laliga"] .commercial-card {
    border-color: rgba(255, 211, 75, .36) !important;
    background: linear-gradient(135deg, rgba(255,211,75,.10), #070b13 48%, rgba(var(--away-color-rgb, 255,64,72), .12)) !important;
}

@media (max-width: 1100px) {
    body[data-competition-theme="la_liga"] .scoreboard,
    body[data-competition-theme="laliga"] .scoreboard {
        width: 84vw !important;
        grid-template-columns: minmax(220px, 1fr) 150px minmax(220px, 1fr) !important;
    }
    body[data-competition-theme="la_liga"] .scoreboard .score-card,
    body[data-competition-theme="laliga"] .scoreboard .score-card { width: 150px !important; }
    body[data-competition-theme="la_liga"] .scoreboard .team-code,
    body[data-competition-theme="laliga"] .scoreboard .team-code { font-size: 27px !important; }
    body[data-competition-theme="la_liga"] .scoreboard .score-line,
    body[data-competition-theme="laliga"] .scoreboard .score-line { font-size: 39px !important; }
}
/* === PART 129 LA LIGA TRAPEZOID THEME END === */


/* === PART 130 CHAMPIONS LEAGUE CYBERPUNK THEME START ===
   Scope: [data-competition-theme="champions_league"] only.
   Manual clean replacement.
   Protects admin data, JS hooks, canvas engine, and other themes.
*/

body[data-competition-theme="champions_league"] {
    --cl-bg: #02050d;
    --cl-panel: #050a14;
    --cl-panel-2: #081426;
    --cl-cyan: var(--home-color, #00d8ff);
    --cl-orange: var(--away-color, #ff7a18);
    --cl-purple: #8b35ff;
    --cl-line: rgba(0, 216, 255, .72);
    --cl-cut: 16px;

    --accent: var(--cl-cyan);
    --accent-2: var(--cl-orange);
    --stage-1: #01030a;
    --stage-2: #060d1b;
    --line: rgba(0, 216, 255, .68);

    background:
        radial-gradient(circle at 14% 12%, rgba(0, 216, 255, .18), transparent 30%),
        radial-gradient(circle at 88% 12%, rgba(255, 122, 24, .16), transparent 28%),
        radial-gradient(circle at 50% 108%, rgba(139, 53, 255, .20), transparent 40%),
        linear-gradient(180deg, #02050d, #01030a 62%, #000000) !important;
}

body[data-competition-theme="champions_league"]::before {
    background:
        linear-gradient(90deg, rgba(0,216,255,.06) 0 1px, transparent 1px 100%),
        linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 100%),
        repeating-linear-gradient(135deg, rgba(0,216,255,.035) 0 1px, transparent 1px 54px) !important;
    background-size: 82px 82px, 82px 82px, auto !important;
    opacity: .70 !important;
}

/* Main frame */
body[data-competition-theme="champions_league"] .broadcast-stage {
    grid-template-rows: 86px minmax(0, 1fr) 34px !important;
    gap: 10px !important;
    padding: 12px !important;

    border-radius: 0 !important;
    border: 1px solid rgba(0,216,255,.50) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(0,216,255,.13), transparent 34%),
        linear-gradient(180deg, rgba(3,8,18,.97), rgba(0,2,7,.99)) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.035),
        0 0 34px rgba(0,216,255,.20),
        0 0 50px rgba(139,53,255,.14),
        0 24px 65px rgba(0,0,0,.72) !important;

    clip-path: polygon(
        22px 0,
        calc(100% - 22px) 0,
        100% 22px,
        100% calc(100% - 22px),
        calc(100% - 22px) 100%,
        22px 100%,
        0 calc(100% - 22px),
        0 22px
    ) !important;
}

body[data-competition-theme="champions_league"] .broadcast-stage::before {
    inset: 9px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(0,216,255,.22) !important;
    clip-path: polygon(
        18px 0,
        calc(100% - 18px) 0,
        100% 18px,
        100% calc(100% - 18px),
        calc(100% - 18px) 100%,
        18px 100%,
        0 calc(100% - 18px),
        0 18px
    ) !important;
}

/* Layout columns */
body[data-competition-theme="champions_league"] .broadcast-grid {
    grid-template-columns: 20% minmax(0, 1fr) 20% !important;
    gap: 14px !important;
    min-height: 0 !important;
}

/* Top scoreboard */
body[data-competition-theme="champions_league"] .scoreboard {
    width: min(1010px, 75vw) !important;
    height: 84px !important;
    margin: 0 auto !important;
    padding: 0 !important;

    display: grid !important;
    grid-template-columns: minmax(300px, 1fr) 170px minmax(300px, 1fr) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;

    position: relative !important;
    z-index: 50 !important;
    overflow: visible !important;
    filter: drop-shadow(0 0 16px rgba(0,216,255,.20)) drop-shadow(0 18px 26px rgba(0,0,0,.70)) !important;
}

/* no fake LIVE label */
body[data-competition-theme="champions_league"] .scoreboard::before {
    content: none !important;
    display: none !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-card,
body[data-competition-theme="champions_league"] .scoreboard .score-card {
    border-radius: 0 !important;
    background: #050914 !important;
    overflow: visible !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.045) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-card {
    height: 72px !important;
    min-height: 72px !important;
    padding: 11px 28px 8px !important;

    display: grid !important;
    grid-template-rows: 34px 18px 12px !important;
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-home {
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%) !important;
    border: 1px solid rgba(0,216,255,.70) !important;
    border-left: 5px solid var(--cl-cyan) !important;
    background:
        linear-gradient(110deg, rgba(0,216,255,.24), rgba(5,9,20,.96) 50%, rgba(1,3,10,.98)) !important;
    box-shadow:
        inset 0 0 18px rgba(0,216,255,.10),
        -10px 0 24px rgba(0,216,255,.34) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-away {
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%) !important;
    border: 1px solid rgba(255,122,24,.70) !important;
    border-right: 5px solid var(--cl-orange) !important;
    background:
        linear-gradient(250deg, rgba(255,122,24,.24), rgba(5,9,20,.96) 50%, rgba(1,3,10,.98)) !important;
    box-shadow:
        inset 0 0 18px rgba(255,122,24,.10),
        10px 0 24px rgba(255,122,24,.30) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-home::after,
body[data-competition-theme="champions_league"] .scoreboard .team-away::after {
    content: "" !important;
    position: absolute !important;
    top: -10px !important;
    bottom: -10px !important;
    width: 5px !important;
    pointer-events: none !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-home::after {
    right: 48px !important;
    transform: rotate(-17deg) !important;
    background: var(--cl-cyan) !important;
    box-shadow: 0 0 20px var(--cl-cyan) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .team-away::after {
    left: 48px !important;
    transform: rotate(17deg) !important;
    background: var(--cl-orange) !important;
    box-shadow: 0 0 20px var(--cl-orange) !important;
}

/* Centre score uses real admin status and real admin minute */
body[data-competition-theme="champions_league"] .scoreboard .score-card {
    width: 170px !important;
    height: 84px !important;
    min-height: 84px !important;
    padding: 7px 10px 7px !important;

    display: grid !important;
    grid-template-rows: 15px 43px 18px !important;
    align-items: center !important;
    justify-items: center !important;

    position: relative !important;
    z-index: 80 !important;
    overflow: visible !important;

    clip-path: polygon(
        16px 0,
        calc(100% - 16px) 0,
        100% 16px,
        100% calc(100% - 16px),
        calc(100% - 16px) 100%,
        16px 100%,
        0 calc(100% - 16px),
        0 16px
    ) !important;

    border: 1px solid rgba(0,216,255,.56) !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(0,216,255,.18), transparent 55%),
        linear-gradient(180deg, #101827, #050812 78%) !important;
    box-shadow:
        0 0 22px rgba(0,216,255,.28),
        inset 0 0 16px rgba(0,216,255,.08) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .competition-strip {
    display: block !important;
    height: 15px !important;
    max-width: 140px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #dceaff !important;
    font-size: 9px !important;
    line-height: 15px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="champions_league"] .scoreboard .score-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 42px !important;
    line-height: 43px !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    text-shadow: 0 0 18px rgba(255,255,255,.25) !important;
}

/* Real connected admin status/time row */
body[data-competition-theme="champions_league"] .scoreboard .clock-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;

    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;
    z-index: 999 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
}

body[data-competition-theme="champions_league"] .scoreboard #matchStatus,
body[data-competition-theme="champions_league"] .scoreboard #matchClock {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 16px !important;
    min-height: 16px !important;
    min-width: 36px !important;
    max-width: 74px !important;
    padding: 0 6px !important;

    border-radius: 2px !important;
    font-size: 8px !important;
    line-height: 16px !important;
    font-weight: 950 !important;
    letter-spacing: .025em !important;
    text-transform: uppercase !important;

    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body[data-competition-theme="champions_league"] .scoreboard #matchStatus {
    background: #ff3048 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow: 0 0 10px rgba(255,48,72,.52) !important;
}

body[data-competition-theme="champions_league"] .scoreboard #matchClock {
    background: rgba(0,216,255,.18) !important;
    color: #ffffff !important;
    border: 1px solid rgba(0,216,255,.58) !important;
    box-shadow: 0 0 10px rgba(0,216,255,.38) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .clock-dot {
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    border-radius: 50% !important;
    background: #18ff96 !important;
    box-shadow: 0 0 10px #18ff96 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="champions_league"] .team-code {
    color: #ffffff !important;
    font-size: 31px !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
}

body[data-competition-theme="champions_league"] .team-name {
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="champions_league"] .team-home .team-name {
    color: var(--cl-cyan) !important;
    text-shadow: 0 0 14px rgba(0,216,255,.55) !important;
}

body[data-competition-theme="champions_league"] .team-away .team-name {
    color: var(--cl-orange) !important;
    text-shadow: 0 0 14px rgba(255,122,24,.55) !important;
}

body[data-competition-theme="champions_league"] .card-row {
    justify-content: center !important;
    gap: 7px !important;
    min-height: 12px !important;
}

/* Chamfered panels */
body[data-competition-theme="champions_league"] .side-panel,
body[data-competition-theme="champions_league"] .pitch-panel,
body[data-competition-theme="champions_league"] .sponsor-card,
body[data-competition-theme="champions_league"] .commercial-card,
body[data-competition-theme="champions_league"] .viewer-card,
body[data-competition-theme="champions_league"] .stats-card,
body[data-competition-theme="champions_league"] .panel-header,
body[data-competition-theme="champions_league"] .bottom-ticker {
    border-radius: 0 !important;
    clip-path: polygon(
        var(--cl-cut) 0,
        calc(100% - var(--cl-cut)) 0,
        100% var(--cl-cut),
        100% calc(100% - var(--cl-cut)),
        calc(100% - var(--cl-cut)) 100%,
        var(--cl-cut) 100%,
        0 calc(100% - var(--cl-cut)),
        0 var(--cl-cut)
    ) !important;
    border: 1px solid rgba(0,216,255,.42) !important;
    background: linear-gradient(180deg, rgba(5,10,20,.96), rgba(1,4,12,.98)) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 0 14px rgba(0,216,255,.12) !important;
}

body[data-competition-theme="champions_league"] .side-panel {
    padding: 12px !important;
    overflow: hidden !important;
}

body[data-competition-theme="champions_league"] .panel-header {
    padding: 11px 10px !important;
    margin-bottom: 10px !important;
    text-align: left !important;
    background: linear-gradient(90deg, rgba(0,216,255,.12), rgba(5,10,20,.98), rgba(139,53,255,.10)) !important;
}

body[data-competition-theme="champions_league"] .panel-header h2,
body[data-competition-theme="champions_league"] .section-title {
    color: #ffffff !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
}

body[data-competition-theme="champions_league"] .panel-header p,
body[data-competition-theme="champions_league"] .commercial-label {
    color: var(--cl-cyan) !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
}

/* Pitch panel */
body[data-competition-theme="champions_league"] .pitch-panel {
    position: relative !important;
    padding: 16px !important;
    overflow: hidden !important;
    background:
        radial-gradient(ellipse at 50% 8%, rgba(0,216,255,.14), transparent 42%),
        radial-gradient(ellipse at 50% 94%, rgba(139,53,255,.16), transparent 40%),
        linear-gradient(180deg, rgba(4,8,16,.96), rgba(1,4,10,.99)) !important;
    border-color: rgba(0,216,255,.56) !important;
    box-shadow:
        inset 0 0 30px rgba(0,216,255,.05),
        0 0 22px rgba(0,216,255,.18) !important;
}

/* Tech accent, controlled height only */
body[data-competition-theme="champions_league"] .pitch-panel::before,
body[data-competition-theme="champions_league"] .pitch-panel::after {
    content: "" !important;
    position: absolute !important;
    left: 28px !important;
    right: 28px !important;
    height: 6px !important;
    z-index: 4 !important;
    pointer-events: none !important;
    opacity: .95 !important;
}

body[data-competition-theme="champions_league"] .pitch-panel::before {
    top: 10px !important;
    background:
        repeating-linear-gradient(90deg, var(--cl-cyan) 0 12px, transparent 12px 26px),
        linear-gradient(90deg, transparent, rgba(0,216,255,.52), rgba(139,53,255,.55), transparent) !important;
    box-shadow: 0 0 14px rgba(0,216,255,.58) !important;
}

body[data-competition-theme="champions_league"] .pitch-panel::after {
    bottom: 10px !important;
    background:
        linear-gradient(90deg, var(--cl-cyan), var(--cl-purple), var(--cl-orange)) !important;
    box-shadow: 0 0 14px rgba(139,53,255,.55) !important;
}

body[data-competition-theme="champions_league"] .pitch-stage-frame {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;

    border-radius: 0 !important;
    clip-path: polygon(
        16px 0,
        calc(100% - 16px) 0,
        100% 16px,
        100% calc(100% - 16px),
        calc(100% - 16px) 100%,
        16px 100%,
        0 calc(100% - 16px),
        0 16px
    ) !important;

    border: 2px solid rgba(0,216,255,.72) !important;
    background: #01040a !important;
    box-shadow:
        -6px 0 18px rgba(0,216,255,.45),
        6px 0 18px rgba(255,122,24,.38),
        0 0 24px rgba(139,53,255,.22),
        inset 0 0 0 1px rgba(255,255,255,.08) !important;
    overflow: hidden !important;
}

body[data-competition-theme="champions_league"] #matchCanvas {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* Timeline */
body[data-competition-theme="champions_league"] .event-feed {
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    align-content: start !important;
    gap: 8px !important;
}

body[data-competition-theme="champions_league"] .event-feed::before,
body[data-competition-theme="champions_league"] .event-item::before {
    display: none !important;
}

body[data-competition-theme="champions_league"] .event-item {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 50px 1fr !important;
    gap: 10px !important;
    padding: 9px 9px 9px 12px !important;

    border: 1px solid rgba(0,216,255,.18) !important;
    border-left: 3px solid rgba(0,216,255,.86) !important;
    border-radius: 0 !important;
    clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px) !important;
    background: linear-gradient(90deg, rgba(0,216,255,.08), rgba(8,14,26,.92)) !important;
    box-shadow: inset 0 0 14px rgba(0,216,255,.045) !important;
}

body[data-competition-theme="champions_league"] .event-impact-goal,
body[data-competition-theme="champions_league"] .event-type-goal {
    border-left-color: var(--cl-cyan) !important;
}

body[data-competition-theme="champions_league"] .event-impact-card,
body[data-competition-theme="champions_league"] .event-impact-yellow_card {
    border-left-color: #ffd044 !important;
}

body[data-competition-theme="champions_league"] .event-impact-red_card,
body[data-competition-theme="champions_league"] .event-type-red-card {
    border-left-color: #ff333d !important;
}

body[data-competition-theme="champions_league"] .event-impact-substitution {
    border-left-color: #23ff88 !important;
}

body[data-competition-theme="champions_league"] .event-minute {
    color: var(--cl-cyan) !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    text-align: right !important;
    text-shadow: 0 0 12px rgba(0,216,255,.62) !important;
}

body[data-competition-theme="champions_league"] .event-content strong {
    color: #ffffff !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
}

body[data-competition-theme="champions_league"] .event-impact-goal .event-content strong {
    color: var(--cl-cyan) !important;
}

body[data-competition-theme="champions_league"] .event-impact-card .event-content strong,
body[data-competition-theme="champions_league"] .event-impact-yellow_card .event-content strong {
    color: #ffd044 !important;
}

body[data-competition-theme="champions_league"] .event-impact-red_card .event-content strong {
    color: #ff4a55 !important;
}

body[data-competition-theme="champions_league"] .event-impact-substitution .event-content strong {
    color: #23ff88 !important;
}

body[data-competition-theme="champions_league"] .event-content span {
    color: rgba(232,244,255,.88) !important;
    font-weight: 800 !important;
}

/* Right cards */
body[data-competition-theme="champions_league"] .sponsor-card {
    border-color: rgba(0,216,255,.45) !important;
    box-shadow: inset 0 0 18px rgba(0,216,255,.10), 0 0 18px rgba(0,216,255,.22) !important;
}

body[data-competition-theme="champions_league"] .commercial-card {
    border-color: rgba(255, 176, 56, .82) !important;
    background: linear-gradient(135deg, rgba(255,136,24,.12), rgba(4,9,18,.98) 46%, rgba(0,216,255,.06)) !important;
    box-shadow: inset 0 0 18px rgba(255,176,56,.10), 0 0 18px rgba(255,138,34,.30) !important;
}

body[data-competition-theme="champions_league"] .commercial-card strong,
body[data-competition-theme="champions_league"] .sponsor-card h3 {
    color: #ffffff !important;
}

body[data-competition-theme="champions_league"] .sponsor-mark {
    border-radius: 0 !important;
    clip-path: polygon(50% 0, 100% 24%, 100% 76%, 50% 100%, 0 76%, 0 24%) !important;
    background: radial-gradient(circle at 35% 30%, #ffffff 0 8%, var(--cl-cyan) 10% 38%, #06101f 40% 100%) !important;
    box-shadow: 0 0 20px rgba(0,216,255,.48) !important;
}

body[data-competition-theme="champions_league"] .sponsor-mark.has-logo {
    background-size: cover !important;
    background-position: center !important;
}

/* Viewer messages: keep from crushing */
body[data-competition-theme="champions_league"] .viewer-card {
    height: 120px !important;
    padding: 10px !important;
}

body[data-competition-theme="champions_league"] .viewer-message-list {
    height: 76px !important;
}

/* Stats */
body[data-competition-theme="champions_league"] .stat-row {
    font-size: 12px !important;
    font-weight: 900 !important;
    color: #ffffff !important;
}

body[data-competition-theme="champions_league"] .stat-bars {
    height: 5px !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.12) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

body[data-competition-theme="champions_league"] .stat-bars span {
    border-radius: 0 !important;
    background: linear-gradient(90deg, var(--cl-cyan), var(--cl-purple), var(--cl-orange)) !important;
    box-shadow: 0 0 10px rgba(0,216,255,.30) !important;
}

/* Bottom ticker */
body[data-competition-theme="champions_league"] .bottom-ticker {
    height: 32px !important;
    min-height: 32px !important;
    overflow: hidden !important;
    background: linear-gradient(90deg, rgba(0,216,255,.10), rgba(2,6,14,.96), rgba(139,53,255,.10)) !important;
    border-color: rgba(0,216,255,.52) !important;
}

body[data-competition-theme="champions_league"] .bottom-ticker::before {
    content: "MATCH UPDATES" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 205px !important;
    z-index: 4 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: linear-gradient(90deg, rgba(0,216,255,.24), rgba(139,53,255,.26)) !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    box-shadow: 14px 0 20px rgba(0,0,0,.42) !important;
}

body[data-competition-theme="champions_league"] .ticker-track {
    left: 220px !important;
    right: auto !important;
    top: 0 !important;
    bottom: 0 !important;
}

body[data-competition-theme="champions_league"] .ticker-text {
    color: #f3fbff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

body[data-competition-theme="champions_league"] .ticker-text::before {
    content: "" !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    margin-right: 18px !important;
    border-radius: 0 !important;
    background: var(--cl-cyan) !important;
    box-shadow: 0 0 12px var(--cl-cyan) !important;
}

@media (max-width: 1100px) {
    body[data-competition-theme="champions_league"] .broadcast-stage {
        grid-template-rows: 84px 1fr 34px !important;
        padding: 10px !important;
    }

    body[data-competition-theme="champions_league"] .broadcast-grid {
        grid-template-columns: 240px minmax(0, 1fr) 240px !important;
        gap: 10px !important;
    }

    body[data-competition-theme="champions_league"] .scoreboard {
        width: 84vw !important;
        grid-template-columns: minmax(220px, 1fr) 158px minmax(220px, 1fr) !important;
    }

    body[data-competition-theme="champions_league"] .scoreboard .team-card {
        height: 68px !important;
        min-height: 68px !important;
    }

    body[data-competition-theme="champions_league"] .scoreboard .score-card {
        width: 158px !important;
        height: 82px !important;
        min-height: 82px !important;
        grid-template-rows: 14px 42px 17px !important;
    }

    body[data-competition-theme="champions_league"] .team-code {
        font-size: 27px !important;
    }

    body[data-competition-theme="champions_league"] .score-line {
        font-size: 40px !important;
    }

    body[data-competition-theme="champions_league"] .team-name {
        font-size: 11px !important;
    }
}

/* === PART 130 CHAMPIONS LEAGUE CYBERPUNK THEME END === */
/* =========================================================
   FIX: PREMIER LEAGUE CLIPPED TIME & STATUS
   Increases the bounding box so scaled pills fit inside the clip-path
   ========================================================= */

/* 1. Give the main top area more room so it doesn't push into the pitch */
body[data-competition-theme="premier_league"] .broadcast-stage {
    grid-template-rows: 114px 1fr 30px !important;
}

/* 2. Increase the overall scoreboard height */
body[data-competition-theme="premier_league"] .scoreboard {
    height: 108px !important;
    min-height: 108px !important;
}

/* 3. Deepen the center card and expand the bottom grid row */
body[data-competition-theme="premier_league"] .scoreboard .score-card {
    height: 108px !important;
    min-height: 108px !important;
    padding-bottom: 14px !important;
    grid-template-rows: 13px 44px 30px !important; 
}

/* 4. Ensure it scales down nicely on smaller screens without re-clipping */
@media (max-width: 1100px) {
    body[data-competition-theme="premier_league"] .broadcast-stage {
        grid-template-rows: 110px 1fr 30px !important;
    }
    body[data-competition-theme="premier_league"] .scoreboard {
        height: 104px !important;
        min-height: 104px !important;
    }
    body[data-competition-theme="premier_league"] .scoreboard .score-card {
        height: 104px !important;
        min-height: 104px !important;
        grid-template-rows: 13px 42px 28px !important;
    }
}
/* =========================================================
   FIX: PREMIER LEAGUE CLIPPED TIME & STATUS
   Increases the bounding box so scaled pills fit inside the clip-path
   ========================================================= */

/* 1. Give the main top area more room so it doesn't push into the pitch */
body[data-competition-theme="premier_league"] .broadcast-stage {
    grid-template-rows: 114px 1fr 30px !important;
}

/* 2. Increase the overall scoreboard height */
body[data-competition-theme="premier_league"] .scoreboard {
    height: 108px !important;
    min-height: 108px !important;
}

/* 3. Deepen the center card and expand the bottom grid row */
body[data-competition-theme="premier_league"] .scoreboard .score-card {
    height: 108px !important;
    min-height: 108px !important;
    padding-bottom: 14px !important;
    grid-template-rows: 13px 44px 30px !important; 
}

/* 4. Ensure it scales down nicely on smaller screens without re-clipping */
@media (max-width: 1100px) {
    body[data-competition-theme="premier_league"] .broadcast-stage {
        grid-template-rows: 110px 1fr 30px !important;
    }
    body[data-competition-theme="premier_league"] .scoreboard {
        height: 104px !important;
        min-height: 104px !important;
    }
    body[data-competition-theme="premier_league"] .scoreboard .score-card {
        height: 104px !important;
        min-height: 104px !important;
        grid-template-rows: 13px 42px 28px !important;
    }
}

/* === PART 134 CHAMPIONS CENTRE SCORE FINAL FIX START ===
   Scope: Champions League centre scoreboard only.
   Removes the extra top notice from this theme and makes real admin #matchStatus/#matchClock visible.
*/
body[data-competition-theme="champions_league"] .scoreboard::before {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* The long action notice was crossing the centre score in this theme.
   The real connected status/time remains inside .score-card via #matchStatus and #matchClock. */
body[data-competition-theme="champions_league"] .match-action-notice,
body[data-competition-theme="champions_league"] .match-action-notice.active {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Give the centre HUD exact internal positions so it cannot hide the status row. */
body[data-competition-theme="champions_league"] .scoreboard {
    overflow: visible !important;
    z-index: 90 !important;
}

body[data-competition-theme="champions_league"] .scoreboard .score-card {
    position: relative !important;
    width: 174px !important;
    height: 86px !important;
    min-height: 86px !important;
    padding: 0 !important;
    display: block !important;
    overflow: hidden !important;
    z-index: 95 !important;
    transform: none !important;
}

/* Competition title */
body[data-competition-theme="champions_league"] .scoreboard .competition-strip {
    position: absolute !important;
    left: 10px !important;
    right: 10px !important;
    top: 7px !important;
    height: 13px !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;

    display: block !important;
    color: #dceaff !important;
    font-size: 9px !important;
    line-height: 13px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Score numbers */
body[data-competition-theme="champions_league"] .scoreboard .score-line {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 23px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;

    color: #ffffff !important;
    font-size: 38px !important;
    line-height: 38px !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    text-shadow: 0 0 18px rgba(255,255,255,.24) !important;
}

/* Real admin-connected status and minute */
body[data-competition-theme="champions_league"] .scoreboard .clock-line {
    position: absolute !important;
    left: 50% !important;
    bottom: 6px !important;
    transform: translateX(-50%) !important;

    height: 17px !important;
    min-height: 17px !important;
    width: auto !important;
    min-width: 98px !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding: 0 6px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;

    border-radius: 3px !important;
    background: rgba(2, 8, 18, .90) !important;
    border: 1px solid rgba(0,216,255,.45) !important;
    box-shadow: 0 0 10px rgba(0,216,255,.28), inset 0 0 8px rgba(0,216,255,.08) !important;

    white-space: nowrap !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 999 !important;
}

body[data-competition-theme="champions_league"] .scoreboard #matchStatus,
body[data-competition-theme="champions_league"] .scoreboard #matchClock {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    height: 14px !important;
    min-height: 14px !important;
    padding: 0 5px !important;

    font-size: 8px !important;
    line-height: 14px !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;

    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body[data-competition-theme="champions_league"] .scoreboard #matchStatus {
    min-width: 47px !important;
    max-width: 62px !important;
    background: #ff3048 !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    box-shadow: 0 0 8px rgba(255,48,72,.45) !important;
}

body[data-competition-theme="champions_league"] .scoreboard #matchClock {
    min-width: 31px !important;
    max-width: 42px !important;
    background: rgba(0,216,255,.20) !important;
    color: #ffffff !important;
    border: 1px solid rgba(0,216,255,.55) !important;
    box-shadow: 0 0 8px rgba(0,216,255,.35) !important;
}

body[data-competition-theme="champions_league"] .scoreboard .clock-dot {
    display: inline-block !important;
    width: 5px !important;
    height: 5px !important;
    flex: 0 0 5px !important;
    border-radius: 50% !important;
    background: #18ff96 !important;
    box-shadow: 0 0 8px #18ff96 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Keep the centre block from growing on narrow browser widths */
@media (max-width: 1100px) {
    body[data-competition-theme="champions_league"] .scoreboard .score-card {
        width: 164px !important;
        height: 84px !important;
        min-height: 84px !important;
    }

    body[data-competition-theme="champions_league"] .scoreboard .score-line {
        top: 22px !important;
        font-size: 37px !important;
        line-height: 37px !important;
    }

    body[data-competition-theme="champions_league"] .scoreboard .clock-line {
        bottom: 5px !important;
        min-width: 96px !important;
    }
}
/* === PART 134 CHAMPIONS CENTRE SCORE FINAL FIX END === */

/* === PART 135 SERIE A FROSTED GLASS THEME START ===
   Scope: [data-competition-theme="serie_a"] only.
   CSS-only visual skin. Does not touch JS, canvas, admin data, or other themes.
*/

body[data-competition-theme="serie_a"] {
    --sa-glass: rgba(13, 31, 52, .58);
    --sa-glass-soft: rgba(18, 45, 72, .44);
    --sa-glass-strong: rgba(7, 20, 36, .74);
    --sa-line: rgba(255, 255, 255, .14);
    --sa-line-strong: rgba(115, 235, 255, .42);
    --sa-cyan: #32e6ff;
    --sa-teal: #40ffd0;
    --sa-shadow: 0 18px 46px rgba(0, 0, 0, .45);

    --accent: var(--sa-cyan);
    --accent-2: var(--sa-teal);
    --stage-1: #031221;
    --stage-2: #07384c;
    --line: rgba(90, 220, 255, .46);

    background:
        radial-gradient(circle at 18% 10%, color-mix(in srgb, var(--home-color, #22d3ee) 22%, transparent), transparent 30%),
        radial-gradient(circle at 82% 14%, color-mix(in srgb, var(--away-color, #f59e0b) 16%, transparent), transparent 28%),
        radial-gradient(circle at 50% 100%, rgba(64, 255, 208, .12), transparent 38%),
        linear-gradient(145deg, #03111f, #062a3b 48%, #03121f) !important;
}

body[data-competition-theme="serie_a"]::before {
    background:
        radial-gradient(circle at 50% 4%, rgba(120, 235, 255, .12), transparent 30%),
        linear-gradient(110deg, transparent 0 42%, rgba(255,255,255,.035) 44% 46%, transparent 48% 100%),
        repeating-linear-gradient(115deg, rgba(255,255,255,.025) 0 1px, transparent 1px 72px) !important;
    opacity: .72 !important;
}

body[data-competition-theme="serie_a"] .broadcast-stage {
    grid-template-rows: 88px minmax(0, 1fr) 32px !important;
    gap: 12px !important;
    padding: 14px !important;
    border-radius: 26px !important;
    border: 1px solid rgba(148, 232, 255, .34) !important;
    background:
        radial-gradient(circle at 50% -6%, rgba(82, 222, 255, .18), transparent 34%),
        linear-gradient(180deg, rgba(9, 26, 44, .72), rgba(2, 11, 21, .82)) !important;
    box-shadow:
        0 26px 70px rgba(0,0,0,.58),
        inset 0 0 0 1px rgba(255,255,255,.045),
        0 0 42px rgba(50,230,255,.14) !important;
    backdrop-filter: blur(18px) saturate(132%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(132%) !important;
}

body[data-competition-theme="serie_a"] .broadcast-stage::before {
    inset: 10px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(255,255,255,.075) !important;
    background: rgba(255,255,255,.012) !important;
}

/* Floating detached scoreboard */
body[data-competition-theme="serie_a"] .scoreboard {
    width: min(900px, 70vw) !important;
    height: 82px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(230px, 1fr) 170px minmax(230px, 1fr) !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 22px !important;
    position: relative !important;
    z-index: 50 !important;
    overflow: visible !important;
    filter: drop-shadow(0 16px 28px rgba(0,0,0,.38)) !important;
}

body[data-competition-theme="serie_a"] .scoreboard::before,
body[data-competition-theme="serie_a"] .scoreboard::after,
body[data-competition-theme="serie_a"] .team-card::after,
body[data-competition-theme="serie_a"] .score-card::before,
body[data-competition-theme="serie_a"] .score-card::after {
    content: none !important;
    display: none !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-card,
body[data-competition-theme="serie_a"] .scoreboard .score-card {
    border-radius: 22px !important;
    clip-path: none !important;
    overflow: hidden !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
        rgba(15,25,45,.60) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow:
        0 16px 34px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.16),
        inset 0 -18px 40px rgba(0,0,0,.16) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-card {
    height: 70px !important;
    min-height: 70px !important;
    padding: 10px 22px 8px !important;
    display: grid !important;
    grid-template-rows: 31px 17px 12px !important;
    align-items: center !important;
    justify-items: center !important;
    text-align: center !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-home {
    border-top: 2px solid color-mix(in srgb, var(--home-color, #22d3ee) 72%, white 18%) !important;
    box-shadow:
        0 16px 34px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 0 24px color-mix(in srgb, var(--home-color, #22d3ee) 18%, transparent),
        0 0 24px color-mix(in srgb, var(--home-color, #22d3ee) 18%, transparent) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-away {
    border-top: 2px solid color-mix(in srgb, var(--away-color, #f59e0b) 72%, white 18%) !important;
    box-shadow:
        0 16px 34px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.18),
        inset 0 0 24px color-mix(in srgb, var(--away-color, #f59e0b) 18%, transparent),
        0 0 24px color-mix(in srgb, var(--away-color, #f59e0b) 18%, transparent) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .score-card {
    width: 170px !important;
    height: 78px !important;
    min-height: 78px !important;
    padding: 7px 10px 7px !important;
    display: grid !important;
    grid-template-rows: 16px 40px 18px !important;
    align-items: center !important;
    justify-items: center !important;
    position: relative !important;
    z-index: 60 !important;
    border-top: 2px solid rgba(114, 242, 255, .70) !important;
    box-shadow:
        0 18px 38px rgba(0,0,0,.48),
        0 0 28px rgba(50,230,255,.18),
        inset 0 1px 0 rgba(255,255,255,.16) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .competition-strip {
    height: 16px !important;
    max-width: 148px !important;
    color: rgba(220, 248, 255, .94) !important;
    font-size: 9px !important;
    line-height: 16px !important;
    font-weight: 900 !important;
    letter-spacing: .045em !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body[data-competition-theme="serie_a"] .scoreboard .score-line {
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    color: #ffffff !important;
    font-size: 40px !important;
    line-height: 40px !important;
    font-weight: 950 !important;
    text-shadow: 0 0 18px rgba(255,255,255,.24) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .clock-line {
    height: 18px !important;
    min-height: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin: 0 !important;
    color: rgba(233, 252, 255, .92) !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 99 !important;
}

body[data-competition-theme="serie_a"] .scoreboard #matchStatus,
body[data-competition-theme="serie_a"] .scoreboard #matchClock {
    height: 16px !important;
    min-height: 16px !important;
    min-width: 40px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    font-size: 8px !important;
    line-height: 16px !important;
    font-weight: 950 !important;
    letter-spacing: .025em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

body[data-competition-theme="serie_a"] .scoreboard #matchStatus {
    color: #052032 !important;
    background: linear-gradient(180deg, #72faff, #32e6ff) !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    box-shadow: 0 0 10px rgba(50,230,255,.48) !important;
}

body[data-competition-theme="serie_a"] .scoreboard #matchClock {
    color: #ffffff !important;
    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .clock-dot {
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    background: #40ffd0 !important;
    box-shadow: 0 0 12px #40ffd0 !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-code {
    color: #ffffff !important;
    font-size: 29px !important;
    line-height: .95 !important;
    font-weight: 950 !important;
    letter-spacing: .035em !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-name {
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
    letter-spacing: .06em !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-home .team-name {
    color: color-mix(in srgb, var(--home-color, #22d3ee) 68%, white 32%) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-away .team-name {
    color: color-mix(in srgb, var(--away-color, #f59e0b) 68%, white 32%) !important;
}

body[data-competition-theme="serie_a"] .scoreboard .card-row {
    min-height: 12px !important;
    justify-content: center !important;
    gap: 6px !important;
}

/* Main grid and panels */
body[data-competition-theme="serie_a"] .broadcast-grid {
    grid-template-columns: 20% minmax(0, 1fr) 20% !important;
    gap: 14px !important;
}

body[data-competition-theme="serie_a"] .side-panel,
body[data-competition-theme="serie_a"] .pitch-panel,
body[data-competition-theme="serie_a"] .sponsor-card,
body[data-competition-theme="serie_a"] .commercial-card,
body[data-competition-theme="serie_a"] .viewer-card,
body[data-competition-theme="serie_a"] .stats-card,
body[data-competition-theme="serie_a"] .panel-header,
body[data-competition-theme="serie_a"] .bottom-ticker {
    border-radius: 22px !important;
    clip-path: none !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.045)),
        rgba(10, 25, 44, .56) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    box-shadow:
        0 14px 32px rgba(0,0,0,.32),
        inset 0 1px 0 rgba(255,255,255,.13) !important;
    backdrop-filter: blur(16px) saturate(138%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(138%) !important;
}

body[data-competition-theme="serie_a"] .side-panel {
    padding: 12px !important;
    overflow: hidden !important;
}

body[data-competition-theme="serie_a"] .panel-header {
    padding: 12px 12px !important;
    margin-bottom: 10px !important;
    text-align: left !important;
    border-radius: 18px !important;
}

body[data-competition-theme="serie_a"] .panel-header h2,
body[data-competition-theme="serie_a"] .section-title {
    color: #ffffff !important;
    font-weight: 950 !important;
}

body[data-competition-theme="serie_a"] .panel-header p,
body[data-competition-theme="serie_a"] .commercial-label {
    color: rgba(183, 245, 255, .88) !important;
    font-weight: 900 !important;
}

/* Pitch frost */
body[data-competition-theme="serie_a"] .pitch-panel {
    position: relative !important;
    padding: 18px !important;
    overflow: hidden !important;
    border-radius: 26px !important;
    background:
        radial-gradient(circle at 14% 12%, color-mix(in srgb, var(--home-color, #22d3ee) 16%, transparent), transparent 34%),
        radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--away-color, #f59e0b) 10%, transparent), transparent 32%),
        linear-gradient(180deg, rgba(17, 44, 70, .48), rgba(5, 18, 32, .68)) !important;
    box-shadow:
        0 22px 48px rgba(0,0,0,.36),
        inset 0 0 0 1px rgba(255,255,255,.08),
        0 0 34px rgba(50,230,255,.12) !important;
    backdrop-filter: blur(18px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(140%) !important;
}

body[data-competition-theme="serie_a"] .pitch-panel::before {
    inset: 12px !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 16% 12%, rgba(50,230,255,.14), transparent 28%),
        radial-gradient(circle at 86% 12%, rgba(64,255,208,.09), transparent 30%),
        repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 1px, transparent 1px 40px) !important;
    opacity: .72 !important;
}

body[data-competition-theme="serie_a"] .pitch-panel::after {
    display: none !important;
}

body[data-competition-theme="serie_a"] .pitch-stage-frame {
    border-radius: 24px !important;
    clip-path: none !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    background: rgba(5, 17, 30, .42) !important;
    box-shadow:
        0 18px 36px rgba(0,0,0,.32),
        0 0 26px rgba(50,230,255,.16),
        inset 0 0 0 1px rgba(255,255,255,.075) !important;
    overflow: hidden !important;
}

body[data-competition-theme="serie_a"] #matchCanvas {
    border-radius: 22px !important;
}

/* Optional controls if present in the current skeleton */
body[data-competition-theme="serie_a"] .pitch-panel button,
body[data-competition-theme="serie_a"] .pitch-panel .tab,
body[data-competition-theme="serie_a"] .pitch-panel .view-tab,
body[data-competition-theme="serie_a"] .pitch-panel .mode-tab,
body[data-competition-theme="serie_a"] .pitch-panel [role="tab"] {
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    color: #eaffff !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body[data-competition-theme="serie_a"] .pitch-panel button.active,
body[data-competition-theme="serie_a"] .pitch-panel .tab.active,
body[data-competition-theme="serie_a"] .pitch-panel .view-tab.active,
body[data-competition-theme="serie_a"] .pitch-panel .mode-tab.active,
body[data-competition-theme="serie_a"] .pitch-panel [aria-selected="true"] {
    color: #062033 !important;
    background: linear-gradient(180deg, #83fbff, #32e6ff) !important;
    box-shadow: 0 0 18px rgba(50,230,255,.38) !important;
}

/* Timeline */
body[data-competition-theme="serie_a"] .event-feed {
    gap: 8px !important;
    overflow: hidden !important;
}

body[data-competition-theme="serie_a"] .event-feed::before,
body[data-competition-theme="serie_a"] .event-item::before {
    display: none !important;
}

body[data-competition-theme="serie_a"] .event-item {
    display: grid !important;
    grid-template-columns: 48px 1fr !important;
    gap: 10px !important;
    padding: 9px 10px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

body[data-competition-theme="serie_a"] .event-minute {
    color: #8cf7ff !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    text-align: right !important;
    text-shadow: 0 0 10px rgba(50,230,255,.45) !important;
}

body[data-competition-theme="serie_a"] .event-content strong {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

body[data-competition-theme="serie_a"] .event-impact-goal .event-content strong { color: #5fffd6 !important; }
body[data-competition-theme="serie_a"] .event-impact-card .event-content strong,
body[data-competition-theme="serie_a"] .event-impact-yellow_card .event-content strong { color: #ffd84f !important; }
body[data-competition-theme="serie_a"] .event-impact-red_card .event-content strong { color: #ff6575 !important; }
body[data-competition-theme="serie_a"] .event-impact-substitution .event-content strong { color: #62ffaf !important; }

body[data-competition-theme="serie_a"] .event-content span {
    color: rgba(238, 252, 255, .88) !important;
    font-weight: 800 !important;
}

/* Right cards */
body[data-competition-theme="serie_a"] .sponsor-card {
    border-radius: 22px !important;
}

body[data-competition-theme="serie_a"] .sponsor-mark {
    border-radius: 999px !important;
    background: radial-gradient(circle at 35% 28%, #ffffff 0 8%, #32e6ff 10% 38%, rgba(5,17,30,.85) 40% 100%) !important;
    box-shadow: 0 0 20px rgba(50,230,255,.32) !important;
}

body[data-competition-theme="serie_a"] .sponsor-mark.has-logo {
    background-size: cover !important;
    background-position: center !important;
}

body[data-competition-theme="serie_a"] .commercial-card {
    background:
        linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04)),
        radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--away-color, #f59e0b) 16%, transparent), transparent 36%),
        rgba(9, 25, 43, .60) !important;
}

body[data-competition-theme="serie_a"] .viewer-card {
    height: 122px !important;
    padding: 11px !important;
}

body[data-competition-theme="serie_a"] .viewer-message-list {
    height: 78px !important;
}

body[data-competition-theme="serie_a"] .viewer-message-track span {
    border-radius: 14px !important;
    border-left: 2px solid #32e6ff !important;
    background: rgba(255,255,255,.07) !important;
}

body[data-competition-theme="serie_a"] .stats-card {
    padding: 12px !important;
}

body[data-competition-theme="serie_a"] .stat-row {
    color: #ffffff !important;
    font-weight: 900 !important;
}

body[data-competition-theme="serie_a"] .stat-bars {
    height: 6px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
}

body[data-competition-theme="serie_a"] .stat-bars span {
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--home-color, #22d3ee), #40ffd0, var(--away-color, #f59e0b)) !important;
    box-shadow: 0 0 12px rgba(50,230,255,.20) !important;
}

/* Ticker */
body[data-competition-theme="serie_a"] .bottom-ticker {
    height: 30px !important;
    min-height: 30px !important;
    border-radius: 999px !important;
    overflow: hidden !important;
    background: rgba(10, 24, 42, .54) !important;
}

body[data-competition-theme="serie_a"] .ticker-track {
    top: 0 !important;
    bottom: 0 !important;
}

body[data-competition-theme="serie_a"] .ticker-text {
    color: rgba(239, 253, 255, .95) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-transform: none !important;
}

@media (max-width: 1100px) {
    body[data-competition-theme="serie_a"] .broadcast-stage {
        grid-template-rows: 84px minmax(0, 1fr) 32px !important;
        padding: 10px !important;
    }

    body[data-competition-theme="serie_a"] .broadcast-grid {
        grid-template-columns: 240px minmax(0, 1fr) 240px !important;
        gap: 10px !important;
    }

    body[data-competition-theme="serie_a"] .scoreboard {
        width: 84vw !important;
        grid-template-columns: minmax(210px, 1fr) 150px minmax(210px, 1fr) !important;
        gap: 14px !important;
    }

    body[data-competition-theme="serie_a"] .scoreboard .team-card {
        height: 66px !important;
        min-height: 66px !important;
    }

    body[data-competition-theme="serie_a"] .scoreboard .score-card {
        width: 150px !important;
        height: 74px !important;
        min-height: 74px !important;
        grid-template-rows: 15px 38px 17px !important;
    }

    body[data-competition-theme="serie_a"] .scoreboard .team-code {
        font-size: 26px !important;
    }

    body[data-competition-theme="serie_a"] .scoreboard .score-line {
        font-size: 37px !important;
    }

    body[data-competition-theme="serie_a"] .scoreboard .team-name {
        font-size: 10px !important;
    }
}

/* === PART 135 SERIE A FROSTED GLASS THEME END === */

/* =========================================================
   SERIE A FINAL FIX: top score/status/cards visibility only
   Scope: Serie A only. No JS, canvas, admin hooks, pitch, ticker.
   ========================================================= */

body[data-competition-theme="serie_a"] .broadcast-stage {
    grid-template-rows: 98px minmax(0, 1fr) 32px !important;
}

body[data-competition-theme="serie_a"] .scoreboard {
    height: 94px !important;
    align-items: center !important;
    overflow: visible !important;
}

/* Give team cards enough internal room for name + yellow/red cards */
body[data-competition-theme="serie_a"] .scoreboard .team-card {
    height: 82px !important;
    min-height: 82px !important;
    padding: 8px 22px 7px !important;
    grid-template-rows: 31px 17px 18px !important;
    overflow: visible !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-code {
    font-size: 28px !important;
    line-height: 31px !important;
}

body[data-competition-theme="serie_a"] .scoreboard .team-name {
    line-height: 17px !important;
}

/* Make the card chips row visible */
body[data-competition-theme="serie_a"] .scoreboard .card-row {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 18px !important;
    min-height: 18px !important;
    gap: 6px !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body[data-competition-theme="serie_a"] .scoreboard .card-chip {
    width: 11px !important;
    height: 9px !important;
    flex: 0 0 11px !important;
}

body[data-competition-theme="serie_a"] .scoreboard .card-count {
    font-size: 8px !important;
    line-height: 9px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Give the centre score card enough room for competition + score + real status/time */
body[data-competition-theme="serie_a"] .scoreboard .score-card {
    width: 184px !important;
    height: 92px !important;
    min-height: 92px !important;
    padding: 7px 10px 8px !important;
    grid-template-rows: 16px 42px 20px !important;
    overflow: visible !important;
}

body[data-competition-theme="serie_a"] .scoreboard .competition-strip {
    height: 16px !important;
    line-height: 16px !important;
}

body[data-competition-theme="serie_a"] .scoreboard .score-line {
    height: 42px !important;
    font-size: 40px !important;
    line-height: 42px !important;
}

body[data-competition-theme="serie_a"] .scoreboard .clock-line {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 20px !important;
    min-height: 20px !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 999 !important;
}

body[data-competition-theme="serie_a"] .scoreboard #matchStatus,
body[data-competition-theme="serie_a"] .scoreboard #matchClock {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 17px !important;
    min-height: 17px !important;
    min-width: 42px !important;
    max-width: 82px !important;
    padding: 0 8px !important;
    font-size: 8px !important;
    line-height: 17px !important;
    opacity: 1 !important;
    visibility: visible !important;
    white-space: nowrap !important;
}

body[data-competition-theme="serie_a"] .scoreboard .clock-dot {
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    flex: 0 0 6px !important;
    opacity: 1 !important;
    visibility: visible !important;
}



/* Part 110: single viewer message rotator. One saved line is displayed as one live message. */
.viewer-message-list {
    height: 76px;
    overflow: hidden;
    position: relative;
    mask-image: none;
}
.viewer-message-rotator {
    min-height: 68px;
    display: flex;
    align-items: center;
}
.viewer-message-single {
    display: block;
    width: 100%;
    padding: 10px 10px;
    border-left: 2px solid var(--accent);
    border-radius: 10px;
    background: rgba(255,255,255,.064);
    color: #fff;
    font-size: clamp(10px,.84vw,13px);
    font-weight: 850;
    line-height: 1.25;
    letter-spacing: .01em;
    animation: viewerMessageFade .34s ease both;
}
@keyframes viewerMessageFade {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}

/* PART 116 MOBILE PUBLIC LAYOUT - START
   Mobile-only fix for /live/.
   Desktop and OBS-sized broadcast views remain unchanged.
*/
@media (max-width: 760px) {
    html,
    body {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 100% !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }

    body {
        display: block !important;
        place-items: initial !important;
        padding: 0 !important;
        background-attachment: fixed !important;
    }

    body::before {
        opacity: .55 !important;
    }

    .broadcast-stage,
    body[data-competition-theme] .broadcast-stage,
    body[data-competition-theme="premier_league"] .broadcast-stage,
    body[data-competition-theme="champions_league"] .broadcast-stage,
    body[data-competition-theme="serie_a"] .broadcast-stage,
    body[data-competition-theme="la_liga"] .broadcast-stage,
    body[data-competition-theme="laliga"] .broadcast-stage,
    body[data-competition-theme="world_cup"] .broadcast-stage,
    body[data-competition-theme="africa_cup"] .broadcast-stage,
    body[data-competition-theme="bundesliga"] .broadcast-stage,
    body[data-competition-theme="ligue_1"] .broadcast-stage,
    body[data-competition-theme="europa_league"] .broadcast-stage {
        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 100vh !important;
        aspect-ratio: auto !important;
        overflow: visible !important;
        border-radius: 0 !important;
        border-width: 0 !important;
        padding: 8px !important;
        gap: 8px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto 30px !important;
        box-shadow: none !important;
    }

    .broadcast-stage::before,
    body[data-competition-theme] .broadcast-stage::before {
        inset: 5px !important;
        border-radius: 13px !important;
    }

    .directory-chip {
        top: 10px !important;
        right: 10px !important;
        font-size: 9px !important;
        padding: 7px 9px !important;
        z-index: 80 !important;
    }

    .scoreboard,
    body[data-competition-theme] .scoreboard,
    body[data-competition-theme="premier_league"] .scoreboard,
    body[data-competition-theme="champions_league"] .scoreboard,
    body[data-competition-theme="serie_a"] .scoreboard,
    body[data-competition-theme="la_liga"] .scoreboard,
    body[data-competition-theme="laliga"] .scoreboard,
    body[data-competition-theme="world_cup"] .scoreboard,
    body[data-competition-theme="africa_cup"] .scoreboard,
    body[data-competition-theme="bundesliga"] .scoreboard,
    body[data-competition-theme="ligue_1"] .scoreboard,
    body[data-competition-theme="europa_league"] .scoreboard {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        translate: none !important;
        transform: none !important;
        transform-origin: center top !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto 4px !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 92px minmax(0, 1fr) !important;
        gap: 0 !important;
        align-items: start !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    .scoreboard::before,
    .scoreboard::after,
    body[data-competition-theme] .scoreboard::before,
    body[data-competition-theme] .scoreboard::after {
        display: none !important;
    }

    .scoreboard .team-card,
    body[data-competition-theme] .scoreboard .team-card,
    body[data-competition-theme="premier_league"] .scoreboard .team-card,
    body[data-competition-theme="champions_league"] .scoreboard .team-card,
    body[data-competition-theme="serie_a"] .scoreboard .team-card,
    body[data-competition-theme="la_liga"] .scoreboard .team-card,
    body[data-competition-theme="laliga"] .scoreboard .team-card {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 58px !important;
        min-height: 58px !important;
        padding: 8px 5px 6px !important;
        display: grid !important;
        grid-template-rows: 20px 14px 12px !important;
        align-items: center !important;
        overflow: hidden !important;
    }

    .scoreboard .team-home,
    body[data-competition-theme] .scoreboard .team-home {
        border-radius: 12px 0 0 12px !important;
    }

    .scoreboard .team-away,
    body[data-competition-theme] .scoreboard .team-away {
        border-radius: 0 12px 12px 0 !important;
    }

    .scoreboard .score-card,
    body[data-competition-theme] .scoreboard .score-card,
    body[data-competition-theme="premier_league"] .scoreboard .score-card,
    body[data-competition-theme="champions_league"] .scoreboard .score-card,
    body[data-competition-theme="serie_a"] .scoreboard .score-card,
    body[data-competition-theme="la_liga"] .scoreboard .score-card,
    body[data-competition-theme="laliga"] .scoreboard .score-card {
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
        height: 64px !important;
        min-height: 64px !important;
        padding: 5px 4px 5px !important;
        grid-template-rows: 13px 30px 14px !important;
        border-radius: 0 0 12px 12px !important;
        overflow: visible !important;
        align-self: start !important;
    }

    .scoreboard .team-code,
    body[data-competition-theme] .scoreboard .team-code {
        font-size: 18px !important;
        line-height: 20px !important;
        letter-spacing: .2px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .scoreboard .team-name,
    body[data-competition-theme] .scoreboard .team-name {
        font-size: 9px !important;
        line-height: 12px !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .scoreboard .competition-strip,
    body[data-competition-theme] .scoreboard .competition-strip {
        font-size: 6px !important;
        line-height: 11px !important;
        max-width: 86px !important;
        height: 11px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .scoreboard .score-line,
    body[data-competition-theme] .scoreboard .score-line {
        height: 30px !important;
        font-size: 27px !important;
        line-height: 30px !important;
        gap: 4px !important;
    }

    .scoreboard .clock-line,
    body[data-competition-theme] .scoreboard .clock-line {
        height: 14px !important;
        min-height: 14px !important;
        font-size: 7px !important;
        line-height: 13px !important;
        gap: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: visible !important;
    }

    .scoreboard #matchStatus,
    .scoreboard #matchClock,
    body[data-competition-theme] .scoreboard #matchStatus,
    body[data-competition-theme] .scoreboard #matchClock {
        min-width: 0 !important;
        max-width: 46px !important;
        height: 13px !important;
        min-height: 13px !important;
        padding: 0 3px !important;
        font-size: 6.5px !important;
        line-height: 13px !important;
        white-space: nowrap !important;
    }

    .scoreboard .card-row,
    body[data-competition-theme] .scoreboard .card-row {
        height: 12px !important;
        min-height: 12px !important;
        gap: 3px !important;
        overflow: visible !important;
    }

    .scoreboard .card-chip,
    body[data-competition-theme] .scoreboard .card-chip {
        width: 8px !important;
        height: 7px !important;
        flex: 0 0 8px !important;
    }

    .scoreboard .card-count,
    body[data-competition-theme] .scoreboard .card-count {
        font-size: 7px !important;
        line-height: 8px !important;
    }

    .broadcast-grid,
    body[data-competition-theme] .broadcast-grid,
    body[data-competition-theme="premier_league"] .broadcast-grid,
    body[data-competition-theme="champions_league"] .broadcast-grid,
    body[data-competition-theme="serie_a"] .broadcast-grid,
    body[data-competition-theme="la_liga"] .broadcast-grid,
    body[data-competition-theme="laliga"] .broadcast-grid,
    body[data-competition-theme="world_cup"] .broadcast-grid,
    body[data-competition-theme="africa_cup"] .broadcast-grid,
    body[data-competition-theme="bundesliga"] .broadcast-grid,
    body[data-competition-theme="ligue_1"] .broadcast-grid,
    body[data-competition-theme="europa_league"] .broadcast-grid {
        width: 100% !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    .pitch-panel,
    body[data-competition-theme] .pitch-panel {
        order: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 6px !important;
        border-radius: 13px !important;
        overflow: visible !important;
    }

    .pitch-stage-frame,
    body[data-competition-theme] .pitch-stage-frame {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }

    #matchCanvas {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
    }

    .event-panel,
    body[data-competition-theme] .event-panel {
        order: 2 !important;
    }

    .commercial-panel,
    body[data-competition-theme] .commercial-panel {
        order: 3 !important;
    }

    .side-panel,
    body[data-competition-theme] .side-panel,
    body[data-competition-theme="premier_league"] .side-panel,
    body[data-competition-theme="champions_league"] .side-panel,
    body[data-competition-theme="serie_a"] .side-panel,
    body[data-competition-theme="la_liga"] .side-panel,
    body[data-competition-theme="laliga"] .side-panel {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 8px !important;
        border-radius: 13px !important;
        overflow: visible !important;
    }

    .panel-header {
        padding: 8px !important;
        margin-bottom: 8px !important;
        border-radius: 9px !important;
    }

    .panel-header h2 {
        font-size: 15px !important;
        line-height: 16px !important;
    }

    .panel-header p {
        font-size: 8px !important;
        line-height: 10px !important;
    }

    .event-feed {
        max-height: 210px !important;
        overflow-y: auto !important;
        padding-right: 3px !important;
    }

    .event-item {
        grid-template-columns: 36px 1fr !important;
        padding: 8px 2px !important;
        gap: 7px !important;
    }

    .event-minute {
        font-size: 12px !important;
    }

    .event-content strong,
    .event-content span {
        font-size: 10px !important;
        line-height: 1.18 !important;
    }

    .sponsor-card,
    .commercial-card,
    .viewer-card,
    .stats-card {
        margin-bottom: 8px !important;
        border-radius: 10px !important;
    }

    .sponsor-card {
        grid-template-columns: 40px 1fr !important;
        padding: 10px !important;
        gap: 10px !important;
    }

    .sponsor-mark {
        width: 38px !important;
        height: 38px !important;
    }

    .sponsor-card h3 {
        font-size: 18px !important;
    }

    .sponsor-card p,
    .commercial-card p,
    .stat-row {
        font-size: 10px !important;
    }

    .commercial-card {
        min-height: 0 !important;
        padding: 11px !important;
    }

    .commercial-card strong {
        font-size: 24px !important;
        line-height: .98 !important;
    }

    .viewer-card {
        height: auto !important;
        min-height: 94px !important;
        padding: 10px !important;
        overflow: hidden !important;
    }

    .viewer-message-list {
        height: 68px !important;
    }

    .viewer-message-rotator {
        min-height: 60px !important;
    }

    .viewer-message-single {
        font-size: 10px !important;
        line-height: 1.25 !important;
        padding: 9px !important;
    }

    .bottom-ticker,
    body[data-competition-theme] .bottom-ticker {
        width: 100% !important;
        height: 28px !important;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .ticker-text {
        font-size: 9px !important;
        line-height: 28px !important;
    }

    .match-state-notice {
        top: 12px !important;
        max-width: calc(100% - 32px) !important;
        min-width: 0 !important;
        padding: 8px 12px !important;
        font-size: 9px !important;
    }
}
/* PART 116 MOBILE PUBLIC LAYOUT - END */

