/* ── European club cups (UCL / UEL / UECL): shared header, theme, Bracket & Statistics ── */

/* Official-style colour themes (set on <html data-cup="...">) */
html[data-cup="ucl"] {
  --bg: #030a24; --surface: #0a1640; --accent: #d3dcec; --accent-rgb: 211, 220, 236;
  --accent-2: #3d6dff; --accent-glow: rgba(211, 220, 236, 0.25);
  --text-body: #a9b6cf; --muted: #5d6c8f; --border: rgba(211, 220, 236, 0.10);
}
html[data-cup="uel"] {
  --bg: #0a0a0c; --surface: #141416; --accent: #ff6b00; --accent-rgb: 255, 107, 0;
  --accent-2: #ffffff; --accent-glow: rgba(255, 107, 0, 0.3);
  --text-body: #b3b3b8; --muted: #66666e; --border: rgba(255, 107, 0, 0.12);
}
html[data-cup="uecl"] {
  --bg: #040a06; --surface: #0b150e; --accent: #2fe05a; --accent-rgb: 47, 224, 90;
  --accent-2: #ffffff; --accent-glow: rgba(47, 224, 90, 0.3);
  --text-body: #a8c4b0; --muted: #557a60; --border: rgba(47, 224, 90, 0.12);
}
html[data-cup] body.ucl-gradient {
  background: radial-gradient(circle at 50% -20%, rgba(var(--accent-rgb), 0.12) 0%, transparent 60%), var(--bg) !important;
}
html[data-cup="ucl"] body.ucl-gradient {
  background: radial-gradient(circle at 50% -20%, rgba(61, 109, 255, 0.28) 0%, transparent 60%), var(--bg) !important;
}
html[data-cup] .tab-pill.active {
  background: rgba(var(--accent-rgb), 0.12) !important;
  color: var(--accent) !important;
  border-color: rgba(var(--accent-rgb), 0.45) !important;
  box-shadow: 0 4px 20px rgba(var(--accent-rgb), 0.15) !important;
}
html[data-cup] .text-cyan-400 { color: var(--accent) !important; }
html[data-cup] .match-card:hover { border-color: rgba(var(--accent-rgb), 0.3) !important; }
html[data-cup] #scrollTopBtn, html[data-cup] #scrollTopBtnDocked { box-shadow: 0 0 20px rgba(var(--accent-rgb), 0.25) !important; }

/* ── Unified header ── */
.cup-back {
  position: absolute; top: 18px; left: 18px; z-index: 200;
  display: inline-flex; align-items: center; gap: 7px;
  background: rgba(15, 15, 24, 0.88); border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px; padding: 7px 13px; text-decoration: none;
  color: #c4c4cc; font-size: .78rem; font-weight: 600;
  backdrop-filter: blur(12px); transition: all 0.15s;
}
.cup-back:hover { color: #fff; border-color: rgba(255, 255, 255, 0.25); }
.cup-header {
  display: flex; align-items: center; gap: 28px; flex-wrap: wrap;
  margin: 56px 0 36px; padding: 26px 30px; border-radius: 26px;
  background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.07), rgba(255, 255, 255, 0.015));
  border: 1px solid rgba(var(--accent-rgb), 0.16);
}
.cup-logo-chip {
  width: 104px; height: 104px; border-radius: 22px; background: #fff;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
}
.cup-logo-chip img { max-width: 84px; max-height: 84px; object-fit: contain; }
.cup-titles { flex: 1; min-width: 240px; }
.cup-eyebrow { font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); }
.cup-title {
  font-family: 'Bebas Neue', sans-serif; font-size: clamp(2.4rem, 6vw, 4.2rem); line-height: 1; margin: 6px 0 8px;
  color: #fff;
}
.cup-sub { font-size: .82rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--text-body); }
.cup-status {
  min-width: 220px; padding: 16px 20px; border-radius: 18px;
  background: rgba(0, 0, 0, 0.25); border: 1px solid rgba(255, 255, 255, 0.08);
}
.cup-status-label { font-size: .65rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); }
.cup-status-value { font-family: 'Bebas Neue', sans-serif; font-size: 1.7rem; line-height: 1.1; color: #fff; margin-top: 4px; display: flex; align-items: center; gap: 10px; }
.cup-status-value img { width: 30px; height: 30px; object-fit: contain; }
.cup-live-dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 10px #22c55e; animation: cupPulse 1.6s infinite; }
@keyframes cupPulse { 50% { opacity: .35; } }
@media (max-width: 700px) {
  .cup-header { margin-top: 64px; padding: 20px; gap: 18px; }
  .cup-logo-chip { width: 76px; height: 76px; border-radius: 18px; }
  .cup-logo-chip img { max-width: 60px; max-height: 60px; }
  .cup-status { width: 100%; }
}

/* ── Shared blocks for Bracket & Statistics ── */
.cx-section { margin-bottom: 34px; }
.cx-h { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: .04em; color: #fff; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; }
.cx-h small { font-family: 'DM Sans', sans-serif; font-size: .7rem; font-weight: 700; letter-spacing: .1em; color: var(--muted); text-transform: uppercase; }
.cx-card { background: rgba(255, 255, 255, 0.025); border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 18px; padding: 18px 20px; }
.cx-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.cx-empty { padding: 60px 20px; text-align: center; color: var(--muted); font-style: italic; border: 1px dashed rgba(255, 255, 255, 0.08); border-radius: 22px; }
.cx-team { display: flex; align-items: center; gap: 9px; min-width: 0; }
.cx-team img { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; }
.cx-team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Bracket */
.cx-bracket { display: flex; gap: 22px; overflow-x: auto; padding-bottom: 10px; }
.cx-round { display: flex; flex-direction: column; min-width: 230px; flex: 1; }
.cx-round-title { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; text-align: center; }
.cx-round-ties { display: flex; flex-direction: column; justify-content: space-around; flex: 1; gap: 12px; }
.cx-tie { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 14px; padding: 8px 12px; }
.cx-tie-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 5px 0; font-size: .85rem; color: var(--text-body); }
.cx-tie-row.win { color: #fff; font-weight: 800; }
.cx-tie-row.win .cx-agg { color: var(--accent); }
.cx-tie-row + .cx-tie-row { border-top: 1px solid rgba(255, 255, 255, 0.05); }
.cx-agg { font-family: 'Bebas Neue', sans-serif; font-size: 1.15rem; min-width: 34px; text-align: right; }
.cx-tie-note { font-size: .65rem; color: var(--muted); text-align: right; margin-top: 2px; }
.cx-tie.tbd { opacity: .45; }
.cx-champion { text-align: center; padding: 18px; border-radius: 18px; border: 1px solid rgba(var(--accent-rgb), .4); background: rgba(var(--accent-rgb), .08); }
.cx-champion .cx-team { justify-content: center; font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; color: #fff; }
.cx-champion .cx-team img { width: 40px; height: 40px; }

/* Statistics */
.cx-kpis { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); margin-bottom: 30px; }
.cx-kpi { padding: 16px 18px; border-radius: 16px; background: rgba(var(--accent-rgb), .06); border: 1px solid rgba(var(--accent-rgb), .15); }
.cx-kpi b { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 2.1rem; line-height: 1; color: #fff; }
.cx-kpi span { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-body); }
.cx-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.cx-table th { text-align: left; font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); padding: 8px 6px; border-bottom: 1px solid rgba(255, 255, 255, .08); white-space: nowrap; }
.cx-table td { padding: 9px 6px; border-bottom: 1px solid rgba(255, 255, 255, .04); color: var(--text-body); }
.cx-table td.num, .cx-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
.cx-table td.hl { color: #fff; font-weight: 800; }
.cx-table tr:first-child td.hl { color: var(--accent); }
.cx-rank { color: var(--muted); width: 26px; }
.cx-scroll { overflow-x: auto; }
.cx-more { margin-top: 10px; background: none; border: 1px solid rgba(255,255,255,.12); color: var(--text-body); border-radius: 10px; padding: 6px 12px; font-size: .75rem; font-weight: 700; cursor: pointer; }
.cx-facts { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.cx-fact { padding: 16px 18px; border-radius: 16px; background: rgba(255, 255, 255, .025); border: 1px solid rgba(255, 255, 255, .07); }
.cx-fact-icon { font-size: 1.4rem; }
.cx-fact-title { font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin: 6px 0 4px; }
.cx-fact-text { color: #fff; font-weight: 600; font-size: .92rem; line-height: 1.4; }
.cx-fact-sub { color: var(--muted); font-size: .76rem; margin-top: 4px; }
.cx-bars { display: flex; align-items: flex-end; gap: 10px; height: 150px; padding-top: 10px; }
.cx-bar { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.cx-bar i { display: block; width: 100%; max-width: 54px; border-radius: 8px 8px 3px 3px; background: linear-gradient(180deg, var(--accent), rgba(var(--accent-rgb), .35)); min-height: 3px; }
.cx-bar b { font-size: .8rem; color: #fff; }
.cx-bar span { font-size: .65rem; color: var(--muted); white-space: nowrap; }
.cx-two { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
@media (max-width: 700px) {
  .cx-two { grid-template-columns: 1fr; }
  .cx-round { min-width: 200px; }
}

/* Fit all tabs on wide screens */
html[data-cup] .tab-pill { padding: 9px 16px !important; font-size: .8rem !important; }
html[data-cup] .tab-container { gap: 8px !important; }

/* ── Euro editions & Nations League themes ── */
html[data-cup="euro2024"] {
  --bg: #030c26; --surface: #071a42; --accent: #4f8dff; --accent-rgb: 79, 141, 255;
  --accent-2: #ffd23f; --accent-glow: rgba(79, 141, 255, 0.3); --border: rgba(79, 141, 255, 0.12);
}
html[data-cup="euro2028"] {
  --bg: #10051a; --surface: #1c0a2c; --accent: #ff3d9a; --accent-rgb: 255, 61, 154;
  --accent-2: #4ad2ff; --accent-glow: rgba(255, 61, 154, 0.3); --border: rgba(255, 61, 154, 0.12);
}
html[data-cup="euro2032"] {
  --bg: #0d0606; --surface: #1a0c0c; --accent: #e8323c; --accent-rgb: 232, 50, 60;
  --accent-2: #1ea85a; --accent-glow: rgba(232, 50, 60, 0.3); --border: rgba(232, 50, 60, 0.12);
}
html[data-cup="unl"] {
  --bg: #030a1d; --surface: #08163a; --accent: #3fb6ff; --accent-rgb: 63, 182, 255;
  --accent-2: #ffffff; --accent-glow: rgba(63, 182, 255, 0.3); --border: rgba(63, 182, 255, 0.12);
}
html[data-cup^="euro"] body, html[data-cup="unl"] body {
  background: radial-gradient(circle at 50% -20%, rgba(var(--accent-rgb), 0.16) 0%, transparent 60%), var(--bg) !important;
}
.cup-header-standalone { max-width: 1280px; width: calc(100% - 32px); margin: 64px auto 28px !important; box-sizing: border-box; }

/* ── Nations League: Upcoming & Live cards ── */
.ux-day { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .3em; text-transform: uppercase; color: var(--accent); padding: 8px 18px; border-radius: 100px; border: 1px solid rgba(var(--accent-rgb), .35); margin-bottom: 16px; }
.ux-grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); }
.ux-card { border-radius: 22px; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.07); border-top: 3px solid var(--lc); padding: 16px 20px; }
.ux-head { display: flex; justify-content: space-between; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--lc); margin-bottom: 14px; }
.ux-head span:last-child { color: var(--muted); }
.ux-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.ux-team { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; color: #fff; font-weight: 700; font-size: .9rem; }
.ux-team img { width: 46px; height: 32px; object-fit: cover; border-radius: 5px; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
.ux-mid { text-align: center; }
.ux-score { font-family: 'Bebas Neue', sans-serif; font-size: 2.2rem; color: #fff; padding: 6px 18px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); }
.ux-score.live { color: var(--accent); border-color: rgba(var(--accent-rgb), .4); }
.ux-live { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #22c55e; margin-top: 6px; }
.ux-stds { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.ux-std { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 8px 12px; border-radius: 12px; background: rgba(0,0,0,.25); border-left: 3px solid var(--lc); font-size: .72rem; color: var(--text-body, #a9b6cf); }
.ux-std-label { width: 100%; font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #6b7280); }
.ux-std b { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; color: var(--lc); line-height: 1; }
.ux-foot { margin-top: 10px; font-size: .7rem; color: var(--muted, #6b7280); text-align: center; }
@media (max-width: 700px) { .ux-grid { grid-template-columns: 1fr; } .ux-stds { grid-template-columns: 1fr; } }
/* Nations League page used Tailwind indigo for its accents: follow the theme instead */
html[data-cup="unl"] .text-indigo-300, html[data-cup="unl"] .text-indigo-400 { color: var(--accent) !important; }
html[data-cup="unl"] .tab-pill.active { background: rgba(var(--accent-rgb), .12) !important; color: var(--accent) !important; border-color: rgba(var(--accent-rgb), .45) !important; }
html[data-cup^="euro"] .tab-pill.active { background: rgba(var(--accent-rgb), .12) !important; color: var(--accent) !important; border-color: rgba(var(--accent-rgb), .45) !important; }
.cup-back.cup-back-inline { position: static; }
.cup-header-standalone { margin-top: 24px !important; }

/* ── Nations League 2026-27 redesign: ribbon header, scorebug cards, UEFA-style standings ── */
.cup-header.has-ribbon { position: relative; overflow: hidden; padding-bottom: 64px; background: linear-gradient(160deg, #0b1a45 0%, #050c26 70%); border-color: rgba(63,182,255,.18); }
.cup-header.has-ribbon > *:not(.cup-ribbon) { position: relative; z-index: 1; }
.cup-ribbon { position: absolute; left: 0; right: 0; bottom: -40px; width: 100%; height: 200px; pointer-events: none; z-index: 0; }

.unl-up, .unl-lp { --ub-bg: #08112c; --ub-line: rgba(255,255,255,.07); }
.ub-h { font-family: 'Bebas Neue', sans-serif; font-size: 1.9rem; letter-spacing: .02em; color: #fff; margin: 30px 0 14px; display: flex; align-items: center; gap: 10px; }
.ub-h-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ub-day { display: inline-block; font-size: .7rem; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); padding: 7px 16px; border-radius: 100px; border: 1px solid rgba(var(--accent-rgb), .35); margin: 6px 0 14px; }
.ub-grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 480px), 1fr)); margin-bottom: 18px; }
.ub { border-radius: 22px; background: var(--ub-bg); border: 1px solid var(--ub-line); overflow: hidden; }
.ub.is-live { box-shadow: 0 0 0 1px rgba(34,197,94,.4), 0 0 30px rgba(34,197,94,.08); }
.ub-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 18px; font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--lc); }
.ub-when, .ub-ft { color: var(--muted, #7d8bb0); }
.ub-live { display: flex; align-items: center; gap: 6px; color: #22c55e; }
.ub-live i { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px #22c55e; animation: cupPulse 1.6s infinite; }
.ub-main { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; }
.ub-side { position: relative; display: flex; align-items: center; gap: 12px; padding: 20px 16px; overflow: hidden; min-width: 0; }
.ub-side::before { content: ""; position: absolute; inset: 0; background: var(--flag) center/cover no-repeat; opacity: .32; clip-path: polygon(0 0, 46% 0, 30% 100%, 0 100%); }
.ub-side.r { justify-content: flex-start; text-align: right; flex-direction: row-reverse; }
.ub-side.r::before { clip-path: polygon(54% 0, 100% 0, 100% 100%, 70% 100%); }
.ub-side > * { position: relative; }
.ub-side.lose .ub-name { color: #8c97b5; }
.ub-flag { width: 46px; height: 31px; object-fit: cover; border-radius: 5px; box-shadow: 0 4px 12px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.12); flex-shrink: 0; }
.ub-name { font-family: 'Bebas Neue', sans-serif; font-size: 1.65rem; line-height: 1; color: #fff; letter-spacing: .02em; }
.ub-score { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 110px; padding: 0 18px; background: #030817; font-family: 'Bebas Neue', sans-serif; font-size: 2.9rem; color: #fff; border-left: 1px solid var(--ub-line); border-right: 1px solid var(--ub-line); }
.ub-score em { font-style: normal; color: var(--muted, #7d8bb0); font-size: 1.8rem; }
.ub-score .lose { color: #6f7a98; }
.ub-score .ub-time { font-size: 2rem; color: var(--accent); }
.ub-evrow { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px 16px 2px; }
.ub-evs { display: flex; flex-direction: column; gap: 5px; }
.ub-evs.r { align-items: flex-end; text-align: right; }
.ub-ev { display: flex; align-items: center; gap: 7px; font-size: .78rem; color: #d6ddef; }
.ub-evs.r .ub-ev { flex-direction: row-reverse; }
.ub-ev-min { color: var(--muted, #7d8bb0); font-weight: 700; font-size: .72rem; }
.ub-foot { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; padding: 10px 18px 14px; font-size: .7rem; color: var(--muted, #7d8bb0); }
.ub-more { text-align: center; margin: 4px 0 10px; }
.ub-more button { cursor: pointer; padding: 10px 18px; border-radius: 12px; font-size: .78rem; font-weight: 700; color: var(--accent); background: rgba(var(--accent-rgb), .1); border: 1px solid rgba(var(--accent-rgb), .35); }

.uro { display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: center; padding: 18px 22px; border-radius: 20px; margin: 4px 0 8px;
  background: linear-gradient(90deg, rgba(0,43,127,.4), rgba(252,209,22,.08), rgba(206,17,38,.28)); border: 1px solid rgba(252,209,22,.28); }
.uro-flag { width: 78px; height: 52px; object-fit: cover; border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.45); }
.uro-k { font-size: .64rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #fcd116; }
.uro-next { font-family: 'Bebas Neue', sans-serif; font-size: 1.85rem; line-height: 1.05; color: #fff; margin: 3px 0 2px; }
.uro-m { font-size: .76rem; color: #b3bedb; }
.uro-last { display: flex; align-items: center; gap: 8px; margin-top: 7px; font-size: .76rem; color: #d6ddef; }
.uro-pos { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; font-size: .74rem; color: #b3bedb; }
.uro-pos b { font-family: 'Bebas Neue', sans-serif; font-size: 3rem; line-height: .9; color: #fcd116; }
.uro-zone { font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; background: rgba(0,0,0,.3); }

.unl-up .form, .unl-lp .form { display: inline-flex; width: 21px; height: 21px; border-radius: 6px; align-items: center; justify-content: center; font-size: .66rem; font-weight: 800; color: #fff; margin: 0 1px; }
.form.fW { background: #16a34a; } .form.fD { background: #64748b; } .form.fL { background: #dc2626; }

.ul-plates { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.ul-plate { cursor: pointer; display: flex; align-items: center; gap: 12px; min-width: 150px; padding: 10px 16px; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); color: inherit; font: inherit; }
.ul-plate b { font-family: 'Bebas Neue', sans-serif; font-size: 2.7rem; line-height: .9; color: var(--pc); }
.ul-plate span { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #7d8bb0); }
.ul-plate.on { background: color-mix(in srgb, var(--pc) 14%, transparent); border-color: var(--pc); }
.ul-plate.on span { color: #fff; }
.ul-gpills { display: flex; gap: 8px; flex-wrap: wrap; }
.ul-gp { cursor: pointer; padding: 7px 14px; border-radius: 12px; font-size: .76rem; font-weight: 700; color: var(--muted, #7d8bb0); background: transparent; border: 1px solid rgba(255,255,255,.08); }
.ul-gp.on { color: #fff; border-color: var(--pc); background: color-mix(in srgb, var(--pc) 14%, transparent); }
.ul-tablewrap { overflow-x: auto; }
.ul-table { width: 100%; border-collapse: separate; border-spacing: 0 6px; font-size: .88rem; }
.ul-table th { font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #7d8bb0); text-align: center; padding: 0 8px; }
.ul-table th.tl { text-align: left; }
.ul-table td { background: #08112c; padding: 11px 8px; text-align: center; color: #c9d3ec; white-space: nowrap; }
.ul-table td:first-child { border-radius: 12px 0 0 12px; border-left: 4px solid transparent; }
.ul-table td:last-child { border-radius: 0 12px 12px 0; }
.ul-table tr.is-ro td { background: #0c1d4a; }
.ul-table td.pos { font-family: 'Bebas Neue', sans-serif; font-size: 1.35rem; color: #fff; width: 44px; }
.ul-table td.team { text-align: left; color: #fff; font-weight: 700; }
.ul-table .tw { display: flex; align-items: center; gap: 12px; }
.ul-table .tw img { width: 30px; height: 20px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.ul-table td.pts { font-family: 'Bebas Neue', sans-serif; font-size: 1.45rem; color: #fff; }
.z-qf td:first-child { border-left-color: #f5c542 !important; }  i.z-qf { background: #f5c542; }
.z-pro td:first-child { border-left-color: #22c55e !important; } i.z-pro { background: #22c55e; }
.z-pp td:first-child { border-left-color: #38bdf8 !important; }  i.z-pp { background: #38bdf8; }
.z-po td:first-child { border-left-color: #fb923c !important; }  i.z-po { background: #fb923c; }
.z-rel td:first-child { border-left-color: #ef4444 !important; } i.z-rel { background: #ef4444; }
.uro-zone.z-qf { color: #f5c542; } .uro-zone.z-pro { color: #22c55e; } .uro-zone.z-pp { color: #38bdf8; } .uro-zone.z-po { color: #fb923c; } .uro-zone.z-rel { color: #ef4444; }
.ul-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 8px; font-size: .74rem; color: var(--muted, #7d8bb0); }
.ul-legend i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.ul-add { cursor: pointer; font-size: .72rem; color: var(--accent); padding: 5px 10px; border-radius: 8px; background: rgba(var(--accent-rgb), .1); border: 1px solid rgba(var(--accent-rgb), .25); }
body:not(.is-editor) .ul-add { display: none; }

@media (max-width: 700px) {
  .ub-side { padding: 16px 10px; flex-direction: column; align-items: flex-start; gap: 8px; }
  .ub-side.r { flex-direction: column; align-items: flex-end; }
  .ub-name { font-size: 1.3rem; }
  .ub-flag { width: 38px; height: 26px; }
  .ub-score { min-width: 84px; padding: 0 10px; font-size: 2.3rem; }
  .ub-score .ub-time { font-size: 1.5rem; }
  .ub-ev { font-size: .72rem; }
  .uro { grid-template-columns: auto 1fr; }
  .uro-pos { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 8px; text-align: left; }
  .uro-pos b { font-size: 2.2rem; }
  .uro-flag { width: 56px; height: 38px; }
  .ul-table .hm, .ul-table .hs { display: none; }
  .ul-plate { min-width: 0; flex: 1 1 calc(50% - 12px); }
  .cup-ribbon { height: 140px; bottom: -30px; }
}

/* ── Nations League: Edit Mode on match cards ── */
.ub-susp { color: #fb923c; }
.ub.is-susp { box-shadow: 0 0 0 1px rgba(251,146,60,.35); }
.ub.is-editing { box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .45); }
.ub-edit { padding: 12px 16px 4px; display: flex; flex-direction: column; gap: 10px; }
.ub-edit-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; }
.ub-edit-row.ev { grid-template-columns: 1fr 1fr; }
.ub-step { display: flex; align-items: center; gap: 10px; }
.ub-edit-row .ub-step:last-child { justify-content: flex-end; }
.ub-step button { cursor: pointer; width: 34px; height: 34px; border-radius: 10px; font-size: 1.2rem; font-weight: 800; color: #fff; background: rgba(var(--accent-rgb), .15); border: 1px solid rgba(var(--accent-rgb), .4); }
.ub-step b { font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; color: #fff; min-width: 22px; text-align: center; }
.ub-edit select { cursor: pointer; padding: 8px 12px; border-radius: 10px; background: #030817; color: #fff; border: 1px solid rgba(255,255,255,.15); font-size: .8rem; font-weight: 700; }
.ub-edit textarea { width: 100%; min-height: 82px; resize: vertical; box-sizing: border-box; padding: 8px 10px; border-radius: 10px; background: rgba(0,0,0,.45); color: #dbe6ff; border: 1px solid rgba(255,255,255,.12); font: 500 .76rem/1.5 ui-monospace, Menlo, Consolas, monospace; }
.ub-edit textarea:focus { outline: none; border-color: var(--accent); }
.ub-edit-help { font-size: .66rem; color: var(--muted, #7d8bb0); line-height: 1.5; }
.ub-edit-help b { color: #c9d3ec; font-weight: 700; }
.unl-dock { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 45; padding: 8px; border-radius: 100px; background: rgba(8,17,44,.85); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(12px); box-shadow: 0 12px 30px rgba(0,0,0,.45); }
.unl-dock button { cursor: pointer; padding: 11px 22px; border-radius: 100px; border: 0; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: #2563eb; }
.unl-dock button.on { background: #16a34a; }

/* ── Romania focus in Statistics ── */
.rs { padding: 20px; border-radius: 22px; margin-bottom: 30px; background: linear-gradient(120deg, rgba(0,43,127,.28), rgba(252,209,22,.05) 50%, rgba(206,17,38,.18)); border: 1px solid rgba(252,209,22,.22); }
.rs-head { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.rs-head img { width: 72px; height: 48px; object-fit: cover; border-radius: 8px; box-shadow: 0 6px 18px rgba(0,0,0,.45); }
.rs-k { font-size: .64rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #fcd116; }
.rs-head h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2.4rem; line-height: 1; color: #fff; margin: 2px 0; }
.rs-sub { font-size: .78rem; color: #b3bedb; }
.rs .cx-kpi { background: rgba(0,0,0,.25); border-color: rgba(252,209,22,.18); }
.rs .cx-fact-title { color: #fcd116; }
.rs-res { display: flex; gap: 12px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
.rs-res:last-child { border-bottom: 0; }
.rs .form { display: inline-flex; flex-shrink: 0; width: 24px; height: 24px; border-radius: 6px; align-items: center; justify-content: center; font-size: .7rem; font-weight: 800; color: #fff; }
.rs-res-line { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #c9d3ec; font-size: .86rem; }
.rs-res-line img { width: 24px; height: 16px; object-fit: cover; border-radius: 3px; }
.rs-res-line b { color: #fff; }
.rs-score { font-family: 'Bebas Neue', sans-serif; font-size: 1.35rem; color: #fff; margin-left: 4px; }
.rs-res-sub { font-size: .72rem; color: var(--muted, #7d8bb0); margin-top: 3px; }
.rs-half { display: grid; grid-template-columns: 70px 1fr 1fr; gap: 10px; align-items: center; margin: 8px 0; font-size: .74rem; color: #c9d3ec; }
.rs-bar { position: relative; height: 22px; border-radius: 6px; background: rgba(255,255,255,.05); overflow: hidden; }
.rs-bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; }
.rs-bar i.for, .rs-dot.for { background: #fcd116; } .rs-bar i.ag, .rs-dot.ag { background: #ce1126; }
.rs-bar b { position: relative; padding-left: 8px; line-height: 22px; color: #fff; font-size: .74rem; }
.rs-dot { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin: 0 4px 0 8px; }
@media (max-width: 700px) {
  .ub-edit-row.ev { grid-template-columns: 1fr; }
  .ub-step button { width: 30px; height: 30px; }
  .rs { padding: 14px; }
}

/* ── Nations League: play-offs, quarter-finals, finals ── */
.ul-note { margin-top: 10px; padding: 10px 14px; border-radius: 12px; font-size: .76rem; line-height: 1.5; color: #c9d3ec; background: rgba(var(--accent-rgb), .07); border: 1px solid rgba(var(--accent-rgb), .2); }
.ul-subtabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 18px; }
.ko-intro { padding: 18px 22px; border-radius: 18px; margin-bottom: 20px; background: linear-gradient(120deg, color-mix(in srgb, var(--lc) 16%, transparent), rgba(255,255,255,.02)); border: 1px solid color-mix(in srgb, var(--lc) 40%, transparent); }
.ko-intro h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; color: #fff; margin: 0 0 4px; }
.ko-intro p { margin: 0; font-size: .82rem; line-height: 1.55; color: #c9d3ec; }
.ut-grid { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 560px), 1fr)); }
.ut { border-radius: 24px; padding: 14px; background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.07); border-top: 3px solid var(--lc); }
.ut-head { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 2px 6px 10px; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--lc); }
.ut-out { color: var(--muted, #7d8bb0); } .ut-out.done { color: #22c55e; }
.ut-teams { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.ut-row { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 14px; background: #08112c; }
.ut-row img { width: 34px; height: 23px; object-fit: cover; border-radius: 4px; box-shadow: 0 0 0 1px rgba(255,255,255,.12); }
.ut-name { font-family: 'Bebas Neue', sans-serif; font-size: 1.45rem; color: #fff; letter-spacing: .02em; }
.ut-lg { font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted, #7d8bb0); padding: 3px 7px; border-radius: 6px; background: rgba(255,255,255,.05); }
.ut-agg { margin-left: auto; font-family: 'Bebas Neue', sans-serif; font-size: 1.9rem; color: #fff; }
.ut-row.win { box-shadow: inset 3px 0 0 #22c55e; } .ut-row.lose .ut-name, .ut-row.lose .ut-agg { color: #6f7a98; }
.ut-legs { display: grid; gap: 12px; }
.ut-legs .ub { border-radius: 18px; }
.ut-edit { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -2px 0 12px; padding: 10px 12px; border-radius: 12px; background: rgba(var(--accent-rgb), .07); border: 1px dashed rgba(var(--accent-rgb), .4); font-size: .7rem; color: var(--muted, #7d8bb0); }
.ut-edit span { font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.ut-edit select, .ub-edit select, .ub-edit input { padding: 8px 10px; border-radius: 10px; background: #030817; color: #fff; border: 1px solid rgba(255,255,255,.15); font-size: .78rem; font-weight: 600; min-width: 0; }
.ut-edit small { width: 100%; }
.ub-edit-row.f3 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ub-edit textarea.tall { min-height: 220px; }
.ub-flag-tbd { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 31px; border-radius: 5px; background: rgba(255,255,255,.06); border: 1px dashed rgba(255,255,255,.25); color: var(--muted, #7d8bb0); font-weight: 800; flex-shrink: 0; }
.ub-flag-tbd.sm { width: 34px; height: 23px; font-size: .8rem; }
.ub-flag-tbd.lg { width: 84px; height: 56px; font-size: 1.4rem; border-radius: 10px; }
.ub-side.tbd .ub-name { color: #9aa6c6; font-size: 1.25rem; }

.uf { border-radius: 28px; overflow: hidden; margin-bottom: 24px; background: linear-gradient(180deg, rgba(245,197,66,.06), #08112c 40%); border: 1px solid rgba(245,197,66,.3); box-shadow: 0 20px 50px rgba(0,0,0,.35); }
.uf.is-live { border-color: rgba(34,197,94,.5); }
.uf-top { display: flex; justify-content: space-between; gap: 14px; padding: 16px 24px; background: rgba(0,0,0,.35); border-bottom: 1px solid rgba(255,255,255,.07); }
.uf-k { display: block; font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f5c542; }
.uf-top b { color: #fff; font-size: .9rem; }
.uf-ref { text-align: right; } .uf-ref span { display: block; font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted, #7d8bb0); }
.uf-champ { margin: 16px 24px 0; padding: 10px 16px; border-radius: 14px; text-align: center; font-weight: 800; color: #1a1300; background: linear-gradient(90deg, #f5c542, #ffe28a); }
.uf-main { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; align-items: start; padding: 30px 26px; }
.uf-team { display: flex; flex-direction: column; gap: 14px; }
.uf-team.r { align-items: flex-end; text-align: right; }
.uf-tn { display: flex; align-items: center; gap: 14px; }
.uf-team.r .uf-tn { flex-direction: row-reverse; }
.uf-tn img { width: 84px; height: 56px; object-fit: cover; border-radius: 10px; box-shadow: 0 8px 22px rgba(0,0,0,.45), 0 0 0 1px rgba(255,255,255,.15); }
.uf-tn span { font-family: 'Bebas Neue', sans-serif; font-size: clamp(1.6rem, 3.4vw, 2.6rem); line-height: 1; color: #fff; }
.uf-team.win .uf-tn span { color: #f5c542; } .uf-team.lose { opacity: .7; }
.uf-score { text-align: center; padding: 6px 22px; border-radius: 20px; background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.1); font-family: 'Bebas Neue', sans-serif; font-size: clamp(3.4rem, 7vw, 5.6rem); line-height: 1; color: #fff; }
.uf-score em { font-style: normal; opacity: .25; margin: 0 10px; }
.uf-vs { font-size: .55em; color: var(--accent); }
.uf-st { font-family: 'DM Sans', sans-serif; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #7d8bb0); margin: 4px 0 6px; display: flex; justify-content: center; }
.uf-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 16px; border-top: 1px solid rgba(255,255,255,.07); background: rgba(0,0,0,.25); }
.uf-btns button { cursor: pointer; padding: 10px 18px; border-radius: 12px; font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); background: rgba(var(--accent-rgb), .1); border: 1px solid rgba(var(--accent-rgb), .35); }
.uf-btns button.pl { color: #d8b4fe; background: rgba(168,85,247,.1); border-color: rgba(168,85,247,.35); }
.uf-edit { padding: 0 10px 12px; }

.um-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: #fff; }
.um-flag { width: 28px; height: 19px; object-fit: cover; border-radius: 3px; }
.um-sc { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; color: var(--accent); padding: 2px 10px; border-radius: 8px; background: rgba(0,0,0,.4); }
.um-tab { cursor: pointer; padding: 10px 16px; border: 0; border-bottom: 2px solid transparent; background: none; color: #94a3b8; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.um-tab.on { color: var(--accent); border-bottom-color: var(--accent); background: rgba(var(--accent-rgb), .08); }
.um-body { max-width: 760px; margin: 0 auto; }
.um-cap { text-align: center; margin-bottom: 20px; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.um-cap small { display: block; margin-top: 4px; font-weight: 500; letter-spacing: 0; text-transform: none; color: #94a3b8; }
.um-stat { margin-bottom: 14px; }
.um-stat-l { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 5px; }
.um-stat-l b { font-family: 'Bebas Neue', sans-serif; font-size: 1.15rem; color: #fff; } .um-stat-l span { font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.um-bar { display: flex; height: 8px; border-radius: 6px; overflow: hidden; background: rgba(255,255,255,.08); }
.um-bar i { background: var(--accent); } .um-bar i.b { background: #475569; }
.um-squads { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.um-team { display: flex; align-items: center; gap: 8px; padding-bottom: 8px; margin-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.1); color: #fff; }
.um-squads h4 { margin: 12px 0 6px; padding-left: 8px; border-left: 2px solid var(--accent); font-size: .66rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent); }
.um-squads h4.b { border-color: #64748b; color: #94a3b8; }
.um-p { display: grid; grid-template-columns: 30px 1fr 36px; align-items: center; padding: 5px 0; border-bottom: 1px solid rgba(255,255,255,.05); font-size: .8rem; color: #fff; }
.um-no { font-family: 'Bebas Neue', sans-serif; font-size: 1.05rem; color: var(--accent); } .um-pos { text-align: right; font-size: .66rem; color: #94a3b8; font-family: ui-monospace, monospace; }
.um-pn small { color: var(--accent); font-weight: 700; font-size: .66rem; }
.um-coach { margin-top: 16px; padding: 12px 14px; border-radius: 12px; background: rgba(var(--accent-rgb), .06); border: 1px solid rgba(var(--accent-rgb), .2); }
.um-coach span { display: block; font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #94a3b8; } .um-coach b { color: #fff; }
@media (max-width: 700px) {
  .uf-main { grid-template-columns: 1fr; text-align: center; padding: 22px 16px; }
  .uf-team, .uf-team.r { align-items: center; text-align: center; }
  .uf-tn, .uf-team.r .uf-tn { flex-direction: column; }
  .uf-team .ub-evs, .uf-team .ub-evs.r { align-items: center; }
  .uf-top { flex-direction: column; } .uf-ref { text-align: left; }
  .um-squads { grid-template-columns: 1fr; }
  .ut-name { font-size: 1.2rem; }
}

/* ── Champions League: official broadcast look ── */
html[data-cup="ucl"] {
  --bg: #020a3d; --surface: #071a8f; --accent: #3ef2e2; --accent-rgb: 62, 242, 226;
  --ucl-chip: #eef2ff; --ucl-navy: #0b1450; --ucl-bar1: #2236e6; --ucl-bar2: #2a20b4;
  --text-body: #c9d3ff; --muted: #8fa0d8; --border: rgba(255, 255, 255, 0.12);
  --bc-bar-hi: #2c42ff; --bc-ring: #0a1680; --bc-band1: rgba(120,140,255,.18); --bc-band2: rgba(160,170,255,.32);
  --bc-card1: rgba(2,10,61,.55); --bc-card2: rgba(2,10,61,.82); --bc-tab: rgba(2,10,61,.45);
  --bc-z1: #3ef2e2; --bc-z2: #7f9bff; --bc-z3: #ff5a5a; --bc-row: rgba(20,40,190,.38); --bc-row-dim: rgba(20,40,190,.22);
  --bc-mid1: rgba(0,0,40,.25); --bc-mid2: rgba(0,0,40,.55); --bc-cbcard: rgba(10,24,120,.65); --bc-panel: rgba(34,54,230,.18);
  --bc-hero1: rgba(13,39,196,.55); --bc-hero-line: rgba(62,242,226,.25); --bc-lose: #aab4ee; --bc-modal: #04104f; --bc-digit: #fff; --bc-digit-bg: transparent;
  --bc-chip-ic: #2236e6;
  background: #020a3d;
}
html[data-cup="ucl"] body, html[data-cup="ucl"] body.ucl-gradient {
  background: radial-gradient(ellipse 70% 55% at 50% 22%, #0d27c4 0%, #071a8f 35%, #04104f 70%, #020a3d 100%) fixed !important;
}
/* Europa League: black, orange angular lines, dark scorebug with white score tiles and orange stripes */
html[data-cup="uel"] {
  --bg: #050505; --surface: #121212; --accent: #ff6900; --accent-rgb: 255, 105, 0;
  --ucl-chip: #ff6900; --ucl-navy: #ffffff; --ucl-bar1: #1a1a1a; --ucl-bar2: #050505;
  --text-body: #c9c9cf; --muted: #8a8a92; --border: rgba(255, 255, 255, 0.12);
  --bc-bar-hi: #2a2a2a; --bc-ring: #ff6900; --bc-band1: rgba(255,255,255,.06); --bc-band2: rgba(255,255,255,.12);
  --bc-card1: rgba(18,18,18,.75); --bc-card2: rgba(5,5,5,.92); --bc-tab: rgba(20,20,20,.7);
  --bc-z1: #ff6900; --bc-z2: #ffb27a; --bc-z3: #8a8a92; --bc-row: rgba(255,255,255,.06); --bc-row-dim: rgba(255,255,255,.03);
  --bc-mid1: rgba(0,0,0,.5); --bc-mid2: rgba(0,0,0,.85); --bc-cbcard: rgba(22,22,22,.92); --bc-panel: rgba(255,105,0,.08);
  --bc-hero1: rgba(40,20,5,.7); --bc-hero-line: rgba(255,105,0,.35); --bc-lose: #8a8a92; --bc-modal: #0c0c0c; --bc-digit: #000; --bc-digit-bg: #fff;
  --bc-chip-ic: #000;
  background: #050505;
}
html[data-cup="uel"] body, html[data-cup="uel"] body.ucl-gradient {
  background: radial-gradient(ellipse 60% 45% at 85% 10%, rgba(255,105,0,.18), transparent 60%), radial-gradient(ellipse 60% 50% at 10% 95%, rgba(255,105,0,.12), transparent 60%), #050505 fixed !important;
}
/* Conference League: black, flowing green lines, dark scorebug with a green score panel */
html[data-cup="uecl"] {
  --bg: #030604; --surface: #0b120d; --accent: #00e05a; --accent-rgb: 0, 224, 90;
  --ucl-chip: #00e05a; --ucl-navy: #031b0b; --ucl-bar1: #121a14; --ucl-bar2: #040805;
  --text-body: #c4d6ca; --muted: #7d9585; --border: rgba(255, 255, 255, 0.12);
  --bc-bar-hi: #233127; --bc-ring: #00e05a; --bc-band1: rgba(0,224,90,.08); --bc-band2: rgba(0,224,90,.18);
  --bc-card1: rgba(10,20,13,.75); --bc-card2: rgba(3,6,4,.92); --bc-tab: rgba(10,20,13,.7);
  --bc-z1: #00e05a; --bc-z2: #9df5be; --bc-z3: #7d9585; --bc-row: rgba(0,224,90,.07); --bc-row-dim: rgba(255,255,255,.03);
  --bc-mid1: rgba(0,224,90,.9); --bc-mid2: rgba(0,170,70,.95); --bc-cbcard: rgba(12,22,15,.92); --bc-panel: rgba(0,224,90,.07);
  --bc-hero1: rgba(5,40,18,.7); --bc-hero-line: rgba(0,224,90,.35); --bc-lose: #7d9585; --bc-modal: #07100a; --bc-digit: #031b0b; --bc-digit-bg: transparent;
  --bc-chip-ic: #031b0b;
  background: #030604;
}
html[data-cup="uecl"] body, html[data-cup="uecl"] body.ucl-gradient {
  background: radial-gradient(ellipse 60% 50% at 90% 15%, rgba(0,224,90,.14), transparent 60%), radial-gradient(ellipse 60% 50% at 5% 90%, rgba(0,224,90,.08), transparent 60%), #030604 fixed !important;
}
.ucl-lines { position: fixed; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; }
.ucl-lines > div { position: absolute; opacity: .75; }
.ucl-lines .ul-a { left: -140px; bottom: -140px; width: 520px; height: 620px; }
.ucl-lines .ul-b { right: -120px; top: 34%; width: 560px; height: 620px; }
.ucl-lines svg, .ucl-hlines svg { width: 100%; height: 100%; display: block; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) body > *:not(.ucl-lines):not(#matchModal):not([id*="Modal"]):not(#editControls):not(.cup-back) { position: relative; z-index: 1; }
.cup-header.has-ucl-lines { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--bc-hero1), var(--bc-card2)); border-color: var(--bc-hero-line); box-shadow: 0 20px 60px rgba(0,0,0,.35); }
.cup-header.has-ucl-lines > *:not(.ucl-hlines) { position: relative; z-index: 1; }
.ucl-hlines { position: absolute; right: -60px; top: -40px; width: 520px; height: 330px; opacity: .9; z-index: 0; pointer-events: none; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-title { text-transform: uppercase; letter-spacing: .02em; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-eyebrow { color: var(--accent); letter-spacing: .24em; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status { display: flex; align-items: stretch; padding: 0; overflow: hidden; border-radius: 12px; border: 0; background: var(--ucl-chip); box-shadow: 0 8px 24px rgba(0,0,0,.35); min-width: 0; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status > div:not(.ucl-st-ic) { padding: 0 18px; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status-label { color: #4a57a8; padding-top: 12px !important; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status-value { color: var(--ucl-navy); padding-bottom: 12px !important; }
.ucl-st-ic { background: var(--ucl-bar1); display: flex; align-items: center; justify-content: center; width: 52px; flex-shrink: 0; }
.ucl-st-ic img { width: 30px; filter: brightness(0) invert(1); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status { flex-wrap: wrap; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status .cup-status-label, html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status .cup-status-value { width: calc(100% - 52px); margin-left: 0; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .tab-pill { color: #c9d3ff !important; background: var(--bc-tab) !important; border-color: rgba(255,255,255,.12) !important; border-radius: 10px !important; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .tab-pill.active, html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .tab-pill.active.ucl-pill { background: var(--ucl-chip) !important; color: var(--ucl-navy) !important; border-color: var(--ucl-chip) !important; text-shadow: none !important; box-shadow: 0 6px 20px rgba(0,0,0,.3) !important; }
/* date headings in Upcoming & Live → white chip with blue starball box */
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent h3.text-accent { position: relative; background: var(--ucl-chip) !important; color: var(--ucl-navy) !important; border: 0 !important; border-radius: 10px !important; padding: 7px 16px 6px 58px !important; font-family: 'Bebas Neue', sans-serif; font-size: 1.45rem !important; font-weight: 400 !important; letter-spacing: .06em !important; box-shadow: 0 6px 18px rgba(0,0,0,.3) !important; overflow: hidden; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent h3.text-accent::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 42px; background: var(--ucl-bar1) url("img/competitions/ucl.webp") center/24px no-repeat; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent h3.text-accent + div { opacity: .35; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent .grid:has(> .usb), html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent .grid:has(> .ucl-tie) { grid-template-columns: repeat(auto-fill, minmax(min(100%, 560px), 1fr)) !important; gap: 22px !important; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent .flex-col:has(> .ucl-tie), html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent .flex-col:has(> .usb) { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 560px), 1fr)); gap: 22px !important; }

.usb { position: relative; border-radius: 24px; padding: 16px 16px 14px; background: linear-gradient(180deg, var(--bc-card1), var(--bc-card2)); border: 1px solid rgba(255,255,255,.1); }
.usb.is-live { border-color: rgba(255,77,77,.6); box-shadow: 0 0 30px rgba(255,77,77,.15); }
.usb.is-susp { border-color: rgba(251,146,60,.55); }
.usb-top, .usb-bot { margin: 0 46px; text-align: center; background: linear-gradient(90deg, var(--bc-band1), var(--bc-band2), var(--bc-band1)); color: #eef1ff; font-size: .68rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding: 5px 10px; }
.usb-top { border-radius: 8px 8px 0 0; }
.usb-bot { border-radius: 0 0 8px 8px; color: #cfd6ff; letter-spacing: .06em; text-transform: none; font-weight: 600; }
.usb-bot strong { color: #fff; }
.usb-live { color: #ff6b6b; } .usb-susp { color: #fb923c; }
.usb-bar { position: relative; display: grid; grid-template-columns: auto 1fr auto 1fr auto; align-items: center; min-height: 62px; margin: 0 6px;
  background: linear-gradient(180deg, var(--bc-bar-hi) 0%, var(--ucl-bar1, #2236e6) 45%, var(--ucl-bar2, #2a20b4) 100%); border-radius: 31px; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 10px 26px rgba(0,0,0,.35); }
.usb-crest { width: 70px; height: 70px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; margin: 0 -8px; box-shadow: 0 0 0 4px var(--bc-ring), 0 6px 16px rgba(0,0,0,.45); position: relative; z-index: 1; }
.usb-crest img { width: 48px; height: 48px; object-fit: contain; }
.usb-nm { font-weight: 700; font-size: 1.12rem; letter-spacing: .06em; color: #fff; text-transform: uppercase; text-align: center; padding: 6px 12px; line-height: 1.08; }
.usb-nm.lose { color: var(--bc-lose); }
.usb-mid { align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 16px; min-width: 112px; padding: 0 16px; background: linear-gradient(180deg, var(--bc-mid1), var(--bc-mid2)); border-left: 1px solid rgba(255,255,255,.12); border-right: 1px solid rgba(255,255,255,.12); }
.usb-mid b { font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: 2.9rem; color: #fff; line-height: 1; }
.usb-mid b.lose { color: var(--bc-lose); }
.usb-mid b.t { font-size: 2.3rem; color: var(--ucl-chip, #eef2ff); }
.usb-evrow { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 14px 18px 2px; }
.usb-evs { display: flex; flex-direction: column; gap: 6px; }
.usb-evs.r { align-items: flex-end; text-align: right; }
.usb-ev { display: flex; align-items: center; gap: 8px; font-size: .82rem; color: #e8ecff; }
.usb-evs.r .usb-ev { flex-direction: row-reverse; }
.usb-ev em { font-style: normal; color: var(--accent, var(--bc-z1)); font-weight: 700; font-size: .75rem; }
.usb-stds { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 12px 6px 0; }
.usb-std { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 12px; background: rgba(255,255,255,.05); border-left: 3px solid var(--z); font-size: .78rem; color: #cfd6ff; }
.usb-std b { font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: 1.75rem; color: #fff; line-height: 1; }
.usb-std.none { justify-content: center; color: #8fa0d8; border-left-color: rgba(255,255,255,.2); font-size: .7rem; }
.usb-tag { margin-left: auto; white-space: nowrap; font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 6px; background: rgba(0,0,0,.25); color: var(--z); }
.usb-std.z-r16 { --z: var(--bc-z1); } .usb-std.z-po { --z: var(--bc-z2); } .usb-std.z-out { --z: var(--bc-z3); }
.usb-std-live { width: 8px; height: 8px; border-radius: 50%; background: #ff4d4d; box-shadow: 0 0 8px #ff4d4d; animation: cupPulse 1.6s infinite; }
.usb.compact { padding: 12px 12px 10px; background: var(--bc-card1); }
.usb.compact .usb-crest { width: 56px; height: 56px; } .usb.compact .usb-crest img { width: 38px; height: 38px; }
.usb.compact .usb-bar { min-height: 52px; } .usb.compact .usb-mid b { font-size: 2.3rem; } .usb.compact .usb-mid b.t { font-size: 1.8rem; }
.usb.compact .usb-nm { font-size: .95rem; }
.ucl-tie { border-radius: 26px; padding: 12px; background: linear-gradient(180deg, var(--bc-card1), var(--bc-card2)); border: 1px solid rgba(255,255,255,.1); display: flex; flex-direction: column; gap: 10px; }
.ucl-tie-head { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 4px 8px 0; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #c9d3ff; }
.ucl-tie-head .done { color: var(--bc-z1); }
@media (max-width: 700px) {
  .usb { padding: 12px 8px 10px; } .usb-top, .usb-bot { margin: 0 22px; font-size: .6rem; }
  .usb-crest, .usb.compact .usb-crest { width: 46px; height: 46px; margin: 0 -6px; box-shadow: 0 0 0 3px var(--bc-ring); } .usb-crest img, .usb.compact .usb-crest img { width: 32px; height: 32px; }
  .usb-bar { min-height: 50px; border-radius: 25px; } .usb-nm, .usb.compact .usb-nm { font-size: .72rem; letter-spacing: .03em; padding: 4px 6px; }
  .usb-mid { min-width: 74px; padding: 0 8px; gap: 8px; } .usb-mid b { font-size: 2rem; } .usb-mid b.t { font-size: 1.5rem; }
  .usb-stds { grid-template-columns: 1fr; } .usb-ev { font-size: .74rem; }
  .ucl-lines > div { opacity: .45; }
}
/* UCL league phase standings */
.ust-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 6px 0 12px; }
.ust-chip { display: inline-flex; align-items: stretch; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 18px rgba(0,0,0,.3); }
.ust-chip .ic { width: 42px; background: var(--ucl-bar1, #2236e6) url("img/competitions/ucl.webp") center/24px no-repeat; }
.ust-chip span:last-child { background: var(--ucl-chip, #eef2ff); color: var(--ucl-navy, #0b1450); font-family: 'Bebas Neue', sans-serif; font-size: 1.45rem; letter-spacing: .06em; padding: 6px 16px 4px; }
.ust-leg { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .74rem; color: #c9d3ff; }
.ust-leg i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
i.z-r16 { background: var(--bc-z1); } i.z-po { background: var(--bc-z2); } i.z-out { background: var(--bc-z3); }
.ust-wrap { overflow-x: auto; }
.ust { width: 100%; border-collapse: separate; border-spacing: 0 5px; font-size: .88rem; }
.ust th { font-size: .62rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #b9c3f5; text-align: center; padding: 0 8px 4px; }
.ust th.tl { text-align: left; }
.ust td { padding: 9px 8px; text-align: center; background: var(--bc-row); color: #e3e8ff; white-space: nowrap; }
.ust td:first-child { border-radius: 10px 0 0 10px; border-left: 4px solid var(--z); width: 56px; }
.ust td:last-child { border-radius: 0 10px 10px 0; }
.ust tr.z-r16 { --z: var(--bc-z1); } .ust tr.z-po { --z: var(--bc-z2); } .ust tr.z-out { --z: var(--bc-z3); }
.ust tr.z-out td { background: var(--bc-row-dim); }
.ust td.pos span { display: inline-block; min-width: 30px; padding: 2px 6px; border-radius: 6px; background: var(--ucl-chip, #eef2ff); color: var(--ucl-navy, #0b1450); font-family: 'Bebas Neue', sans-serif; font-size: 1.25rem; }
.ust td.tm { text-align: left; color: #fff; font-weight: 700; }
.ust td.tm div { display: flex; align-items: center; gap: 12px; }
.ust td.tm img { width: 28px; height: 28px; object-fit: contain; background: #fff; border-radius: 50%; padding: 3px; flex-shrink: 0; }
.ust td.pts { font-family: 'Bebas Neue', sans-serif; font-size: 1.5rem; color: #fff; }
@media (max-width: 700px) { .ust .hm { display: none; } .ust td.tm img { width: 22px; height: 22px; } .ust { font-size: .78rem; } }
/* status chip: icon box spans both lines */
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status { display: grid !important; grid-template-columns: 52px auto; grid-template-rows: auto auto; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status .ucl-st-ic { grid-row: 1 / span 2; width: auto; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status .cup-status-label, html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cup-status .cup-status-value { width: auto; }
@media (max-width: 700px) {
  html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) #uclContent h3.text-accent { white-space: normal !important; font-size: 1.15rem !important; padding-left: 52px !important; letter-spacing: .03em !important; }
  .ucl-hlines { opacity: .35; }
  .usb-stds { grid-template-columns: 1fr 1fr !important; gap: 8px; }
  .usb-std { flex-wrap: wrap; gap: 4px 8px; padding: 6px 8px; }
  .usb-std b { font-size: 1.4rem; }
  .usb-tag { margin-left: 0; width: 100%; text-align: center; }
}

/* ── Match Center themed per competition ── */
.mc-board-custom { padding: 30px 30px 18px; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc { --mc-bg: linear-gradient(180deg, var(--bc-card1), var(--bc-card2)); --mc-head: var(--bc-panel); --mc-box: var(--bc-row-dim); --mc-line: rgba(255,255,255,.12);
  --mc-label: var(--bc-z1); --mc-ref: #eef2ff; --mc-green: var(--bc-z1); --mc-time: var(--bc-z1); border-radius: 28px; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-k { color: var(--ucl-navy, #0b1450) !important; background: var(--ucl-chip, #eef2ff); display: inline-block !important; padding: 3px 10px; border-radius: 6px; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-banner { background: var(--ucl-chip, #eef2ff); color: var(--ucl-navy, #0b1450); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-motm { background: linear-gradient(90deg, var(--bc-band1), var(--bc-band2), var(--bc-band1)); border-color: rgba(255,255,255,.2); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-motm small { color: var(--bc-z1); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-btns button { color: var(--ucl-navy, #0b1450); background: var(--ucl-chip, #eef2ff); border-color: var(--ucl-chip, #eef2ff); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-btns button.st { color: #fff; background: var(--ucl-bar1, #2236e6); border-color: var(--ucl-bar1, #2236e6); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .mc-modal-card { background: var(--bc-modal); border-color: var(--bc-hero-line); }
html[data-cup="unl"] .mc { --mc-bg: #08112c; --mc-head: rgba(63,182,255,.06); --mc-box: rgba(255,255,255,.03); --mc-line: rgba(255,255,255,.08);
  --mc-label: #3fb6ff; --mc-ref: #e2ecff; --mc-green: #3fb6ff; --mc-time: #f5c542; border-radius: 26px; border-color: rgba(245,197,66,.25); }
html[data-cup="unl"] .mc-motm { background: rgba(245,197,66,.08); }
html[data-cup="unl"] .mc-btns button { color: #f5c542; background: rgba(245,197,66,.08); border-color: rgba(245,197,66,.35); }
html[data-cup="unl"] .mc-btns button.st { color: #3fb6ff; background: rgba(63,182,255,.08); border-color: rgba(63,182,255,.35); }
html[data-cup="unl"] .mc-modal-card { background: #08112c; border-color: rgba(63,182,255,.25); }
/* bigger scorebugs on the big-match card */
.usb.big { background: transparent; border: 0; padding: 0; }
.usb.big .usb-bar { min-height: 84px; border-radius: 42px; }
.usb.big .usb-crest { width: 96px; height: 96px; } .usb.big .usb-crest img { width: 66px; height: 66px; }
.usb.big .usb-nm { font-size: 1.5rem; }
.usb.big .usb-mid { min-width: 150px; } .usb.big .usb-mid b { font-size: 3.8rem; } .usb.big .usb-mid b.t { font-size: 2.8rem; }
.usb.big .usb-top, .usb.big .usb-bot { margin: 0 70px; font-size: .74rem; padding: 7px 12px; }
.usb.big .usb-ev { font-size: .9rem; }
.ub.big { background: transparent; border: 0; }
.ub.big .ub-side { padding: 30px 22px; } .ub.big .ub-flag { width: 66px; height: 44px; } .ub.big .ub-name { font-size: 2.2rem; }
.ub.big .ub-score { min-width: 150px; font-size: 3.8rem; } .ub.big .ub-score .ub-time { font-size: 2.6rem; }
.ub.big .ub-meta { font-size: .72rem; } .ub.big .ub-ev { font-size: .86rem; }
@media (max-width: 700px) {
  .mc-board-custom { padding: 18px 8px 8px; }
  .usb.big .usb-bar { min-height: 56px; } .usb.big .usb-crest { width: 54px; height: 54px; } .usb.big .usb-crest img { width: 38px; height: 38px; }
  .usb.big .usb-nm { font-size: .8rem; } .usb.big .usb-mid { min-width: 84px; } .usb.big .usb-mid b { font-size: 2.3rem; } .usb.big .usb-mid b.t { font-size: 1.6rem; }
  .usb.big .usb-top, .usb.big .usb-bot { margin: 0 24px; font-size: .6rem; }
  .ub.big .ub-name { font-size: 1.3rem; } .ub.big .ub-score { min-width: 84px; font-size: 2.4rem; } .ub.big .ub-flag { width: 42px; height: 28px; }
}

/* ── Shared symmetric bracket ── */
.cb { --cbw: 150px; }
.cb-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; padding: 16px 20px; border-radius: 24px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.07); }
.cb-bar h3 { margin: 0; font-size: 1rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.cb-bar p { margin: 2px 0 0; font-size: .72rem; color: var(--muted, #8a93ad); }
.cb-ctrl { display: flex; gap: 8px; flex-wrap: wrap; }
.cb-ctrl select, .cb-ctrl button { padding: 8px 12px; border-radius: 12px; background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.12); color: #fff; font-size: .74rem; font-weight: 700; cursor: pointer; }
.cb-ctrl select { min-width: 240px; }
.cb-extra { margin-bottom: 18px; }
.cb-extra .cb-col { display: inline-block; width: auto; padding: 6px 16px; margin-bottom: 10px; }
.cb-extra-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 1200px) { .cb-extra-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cb-extra-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cb-ctrl select { min-width: 0; width: 100%; } }
.cb-extra-grid .cb-card { width: auto; }
.cb-scroll { overflow-x: auto; padding: 4px 0 18px; }
.cb-inner { min-width: max-content; }
.cb-heads { display: flex; justify-content: center; align-items: center; gap: 0; margin-bottom: 14px; }
.cb-col { width: var(--cbw); flex-shrink: 0; text-align: center; padding: 6px 0; border-radius: 9px; font-size: .6rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; margin: 0 13px; border: 1px solid; }
.cb-col.c0 { color: #94a3b8; background: rgba(148,163,184,.08); border-color: rgba(148,163,184,.2); }
.cb-col.c1 { color: var(--accent, #22d3ee); background: rgba(var(--accent-rgb, 34,211,238), .1); border-color: rgba(var(--accent-rgb, 34,211,238), .25); }
.cb-col.c2 { color: #60a5fa; background: rgba(96,165,250,.1); border-color: rgba(96,165,250,.25); }
.cb-col.c3, .cb-col.c4 { color: #c084fc; background: rgba(192,132,252,.1); border-color: rgba(192,132,252,.25); }
.cb-col.fin { width: 200px; color: #fbbf24; background: rgba(251,191,36,.12); border-color: rgba(251,191,36,.35); box-shadow: 0 0 15px rgba(251,191,36,.15); }
.cb-tree { display: flex; justify-content: center; align-items: center; gap: 0; }
.cb-half { display: flex; align-items: center; }
.cb-branch { display: flex; align-items: center; }
.cb-kids { display: flex; flex-direction: column; justify-content: space-around; gap: 12px; }
.cb-conn { position: relative; width: 14px; align-self: stretch; display: flex; align-items: center; flex-shrink: 0; }
.cb-conn i { display: block; width: 100%; height: 50%; border: 1px solid rgba(255,255,255,.22); }
.cb-conn.l i { border-left: 0; border-radius: 0 7px 7px 0; }
.cb-conn.r i { border-right: 0; border-radius: 7px 0 0 7px; }
.cb-conn b { position: absolute; top: 50%; width: 8px; border-top: 1px solid rgba(255,255,255,.22); }
.cb-conn.l b { right: -8px; } .cb-conn.r b { left: -8px; }
.cb-parent { display: flex; align-items: center; margin: 0 6px; }
.cb-half:first-child > .cb-branch > .cb-parent { margin-right: 13px; } .cb-half:last-child > .cb-branch > .cb-parent { margin-left: 13px; }
.cb-card { width: var(--cbw); flex-shrink: 0; box-sizing: border-box; padding: 7px 8px; border-radius: 13px; background: rgba(10,16,34,.92); border: 1px solid rgba(255,255,255,.1); transition: transform .2s, box-shadow .2s, opacity .2s, border-color .2s; }
.cb-card:hover { border-color: rgba(var(--accent-rgb, 34,211,238), .5); box-shadow: 0 0 15px rgba(var(--accent-rgb, 34,211,238), .2); }
.cb-card.tbd { min-height: 74px; display: flex; align-items: center; justify-content: center; font-size: .72rem; color: #64748b; background: rgba(10,16,34,.45); border-color: rgba(255,255,255,.05); }
.cb-card.hl { border-color: var(--accent, #22d3ee); background: rgba(var(--accent-rgb, 34,211,238), .18); transform: scale(1.04); box-shadow: 0 0 22px rgba(var(--accent-rgb, 34,211,238), .45); position: relative; z-index: 4; }
.cb-card.dim { opacity: .35; }
.cb-head { display: flex; justify-content: space-between; gap: 6px; padding-bottom: 3px; margin-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.06); font-size: .5rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: #94a3b8; }
.cb-head span:first-child { color: var(--accent, #22d3ee); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-row { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 3px 4px; border-radius: 6px; color: #fff; cursor: pointer; margin-top: 2px; }
.cb-row:hover { background: rgba(255,255,255,.05); }
.cb-row.win { background: rgba(var(--accent-rgb, 34,211,238), .15); color: var(--accent, #67e8f9); font-weight: 800; }
.cb-row.lose { opacity: .45; }
.cb-tn { display: flex; align-items: center; gap: 6px; min-width: 0; }
.cb-tn span { font-size: .68rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cb-row.win .cb-tn span { font-weight: 800; }
.cb-tn img.fl { width: 15px; height: 10px; object-fit: cover; border-radius: 2px; flex-shrink: 0; }
.cb-tn img.lg { width: 15px; height: 15px; object-fit: contain; flex-shrink: 0; }
.cb-q { width: 15px; height: 10px; border-radius: 2px; background: rgba(255,255,255,.08); flex-shrink: 0; }
.cb-row b { flex-shrink: 0; padding: 0 5px; border-radius: 4px; background: rgba(0,0,0,.4); font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .66rem; font-weight: 900; }
.cb-legs { margin-top: 3px; font-size: .5rem; font-weight: 700; color: #64748b; text-align: right; letter-spacing: .04em; }
.cb-center { width: 200px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 10px; margin: 0 6px; border-radius: 26px; background: linear-gradient(180deg, rgba(251,191,36,.1), rgba(10,16,34,.6) 45%, rgba(var(--accent-rgb, 34,211,238), .1)); border: 1px solid rgba(251,191,36,.3); box-shadow: 0 20px 50px rgba(0,0,0,.35); position: relative; z-index: 2; }
.cb-center .cb-card { width: 100%; }
.cb-center .cb-card.final { border-color: rgba(251,191,36,.6); background: rgba(251,191,36,.14); box-shadow: 0 0 20px rgba(251,191,36,.25); }
.cb-gf { font-size: .6rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #fcd34d; }
.cb-gf.third { margin-top: 6px; color: #fdba74; }
.cb-trophy { position: relative; display: flex; flex-direction: column; align-items: center; margin: 14px 0; }
.cb-glow { position: absolute; top: 6px; width: 90px; height: 90px; border-radius: 50%; background: rgba(251,191,36,.22); filter: blur(18px); }
.cb-trophy img { position: relative; width: 92px; height: 100px; object-fit: contain; filter: drop-shadow(0 0 14px rgba(251,191,36,.45)); }
.cb-trophy span { margin-top: 8px; font-size: .58rem; color: #94a3b8; text-align: center; }
.cb-champ { width: 100%; box-sizing: border-box; text-align: center; padding: 9px; border-radius: 12px; background: rgba(0,0,0,.4); border: 1px solid rgba(16,185,129,.3); }
.cb-champ span { display: block; font-size: .55rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #34d399; margin-bottom: 4px; }
.cb-champ b { display: flex; align-items: center; justify-content: center; gap: 7px; color: #fff; font-size: .86rem; text-transform: uppercase; }
.cb-champ img.fl { width: 20px; height: 14px; border-radius: 2px; object-fit: cover; } .cb-champ img.lg { width: 20px; height: 20px; object-fit: contain; }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cb-card { background: var(--bc-cbcard); }
html:is([data-cup="ucl"],[data-cup="uel"],[data-cup="uecl"]) .cb-bar { background: var(--bc-panel); border-color: rgba(255,255,255,.12); }

/* ── UEL / UECL specifics on top of the shared broadcast look ── */
.ucl-lines .ul-c { right: -80px; bottom: -120px; width: 620px; height: 420px; }
html[data-cup="uel"] .usb-mid, html[data-cup="uecl"] .usb-mid { gap: 8px; }
html[data-cup="uel"] .usb-mid b { background: #fff; color: #000 !important; min-width: 44px; text-align: center; padding: 4px 6px 0; border-radius: 4px; }
html[data-cup="uel"] .usb-mid b.lose { background: #d9d9d9; }
html[data-cup="uel"] .usb-mid b.t { background: transparent; color: #fff !important; }
html[data-cup="uel"] .usb-bot { background: repeating-linear-gradient(115deg, #ff6900 0 10px, #c94f00 10px 20px); color: #fff; }
html[data-cup="uel"] .usb-bot strong { color: #fff; }
html[data-cup="uel"] .usb-top { background: #ff6900; color: #fff; }
html[data-cup="uel"] .usb-bar { box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 26px rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.08); }
html[data-cup="uecl"] .usb-mid b, html[data-cup="uecl"] .usb-mid b.t { color: #031b0b !important; }
html[data-cup="uecl"] .usb-mid b.lose { color: rgba(3,27,11,.55) !important; }
html[data-cup="uecl"] .usb-top { background: #00e05a; color: #031b0b; }
html[data-cup="uecl"] .usb-bot { background: linear-gradient(90deg, rgba(0,224,90,.15), rgba(0,224,90,.3), rgba(0,224,90,.15)); color: #d9f7e3; }
html[data-cup="uecl"] .usb-bar { box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 26px rgba(0,0,0,.6); border: 1px solid rgba(0,224,90,.25); }
html[data-cup="uel"] .usb-std b, html[data-cup="uecl"] .usb-std b { color: #fff; }
html[data-cup="uel"] .cup-status-label, html[data-cup="uecl"] .cup-status-label { color: rgba(255,255,255,.75) !important; }
html[data-cup="uecl"] .cup-status-label { color: rgba(3,27,11,.7) !important; }
html[data-cup="uel"] .tab-pill.active, html[data-cup="uel"] .tab-pill.active.ucl-pill { color: #fff !important; }
html[data-cup="uecl"] .tab-pill.active, html[data-cup="uecl"] .tab-pill.active.ucl-pill { color: #031b0b !important; }
html[data-cup="uel"] #uclContent h3.text-accent { color: #fff !important; }
html[data-cup="uel"] .ucl-st-ic img, html[data-cup="uecl"] .ucl-st-ic img { filter: none; }
html[data-cup="uel"] .ust td.pos span { color: #fff; } html[data-cup="uecl"] .ust td.pos span { color: #031b0b; }
html[data-cup="uel"] .ust-chip span:last-child { color: #fff; } html[data-cup="uecl"] .ust-chip span:last-child { color: #031b0b; }
html[data-cup="uel"] .mc-k { color: #fff !important; } html[data-cup="uecl"] .mc-k { color: #031b0b !important; }
html[data-cup="uel"] .mc-banner { color: #fff; } html[data-cup="uecl"] .mc-banner { color: #031b0b; }
html[data-cup="uel"] .mc-btns button { color: #fff; } html[data-cup="uecl"] .mc-btns button { color: #031b0b; }
html[data-cup="uel"] .mc-btns button.st, html[data-cup="uecl"] .mc-btns button.st { color: #fff; background: #1c1c1c; border-color: rgba(255,255,255,.2); }
html[data-cup="uel"] .ucl-tie-head .done, html[data-cup="uecl"] .ucl-tie-head .done { color: var(--accent); }
html[data-cup="uel"] #uclContent h3.text-accent::before, html[data-cup="uel"] .ust-chip .ic { background: #000 url("img/competitions/uel.webp") center/26px no-repeat; }
html[data-cup="uecl"] #uclContent h3.text-accent::before, html[data-cup="uecl"] .ust-chip .ic { background: #031b0b url("img/competitions/uecl.webp") center/26px no-repeat; }
html[data-cup="uel"] .ucl-st-ic, html[data-cup="uecl"] .ucl-st-ic { background: var(--bc-chip-ic); }
html[data-cup="uel"] .cb-card { background: rgba(20,20,20,.94); } html[data-cup="uecl"] .cb-card { background: rgba(10,20,13,.94); }
html[data-cup="uel"] .cb-bar { background: rgba(255,105,0,.07); border-color: rgba(255,105,0,.2); } html[data-cup="uecl"] .cb-bar { background: rgba(0,224,90,.06); border-color: rgba(0,224,90,.2); }
html[data-cup="uel"] .mc { --mc-label: #ff6900; --mc-green: #ff6900; --mc-time: #ff6900; } html[data-cup="uecl"] .mc { --mc-label: #00e05a; --mc-green: #00e05a; --mc-time: #00e05a; }
