/* These colours belong to the scoreboard, independent of team, result or odds. */
.group {
  --match-first:#261d32;
  --match-alternate:#343449;
  --match-hover:#413750;
  --match-rule:#574b65;
  --match-heading:#332641;
  --match-accent:#b99bda;
  --match-text:#fcf7ff;
  --match-muted:#d2c6dd;
  --match-model-bg:#412e52;
  --match-model-text:#ecd9ff;
  --match-model-strong:#69438d;
  --match-score-bg:var(--score-surface,#183332);
  --match-score-text:var(--score-ink,#a3f2da);
  --match-live:#ffb6cb;
  --match-wait:var(--warning-ink,#ffce83);
}
:root[data-theme="light"] .group {
  --match-first:#fffbff;
  --match-alternate:#e8e7f4;
  --match-hover:#e6daef;
  --match-rule:#c9bbd6;
  --match-heading:#ece3f3;
  --match-accent:#76548d;
  --match-text:#271c34;
  --match-muted:#574861;
  --match-model-bg:#eee2f6;
  --match-model-text:#563468;
  --match-model-strong:#69438d;
  --match-score-bg:var(--score-surface,#e1f5ef);
  --match-score-text:var(--score-ink,#155c55);
  --match-live:#97314e;
  --match-wait:var(--warning-ink,#704409);
}

.group:nth-child(even of .group) {
  --match-first:#24293b;
  --match-alternate:#353347;
  --match-heading:#2c3148;
  --match-accent:#a1acdf;
}
:root[data-theme="light"] .group:nth-child(even of .group) {
  --match-first:#f6f8ff;
  --match-alternate:#e4e6f2;
  --match-heading:#e1e6f3;
  --match-accent:#626da1;
}
.group:has(.row) > .ghead {
  background:var(--match-heading);
  box-shadow:inset 3px 0 var(--match-accent);
}
.group > .row {
  --match-band:var(--match-first);
  background:var(--match-band);
  border-color:var(--match-rule);
}
.group > .row:nth-child(even of .row) {--match-band:var(--match-alternate)}
.group > .row:focus-within {background:var(--match-hover)}
@media (hover:hover) {
  .group > .row:hover {background:var(--match-hover)}
}
.group .row :is(.rl,.fav):focus-visible {
  outline:2px solid var(--match-accent);
  outline-offset:-3px;
}
.group .row .teams .nm {color:var(--match-text)}
.group .row :is(.st,.team-role,.row-score-stamp,.nod,.pc) {color:var(--match-muted)}
.group .row :is(.pick,.forecast-score,.forecast-score small) {color:var(--match-model-text)}
.group .row .cols:not(.inplay) .pc.max {background:var(--match-model-strong); color:#fff}
.group .row .cols.inplay .pc.max {background:transparent; color:var(--match-live)}
.group .row .sc .score-pair > span {
  background:var(--match-score-bg);
  color:var(--match-score-text);
  font-weight:750;
}
@media (max-width:720px) {
  .group .football-row .rl > .cols:not(:has(.nod)) {background:var(--match-model-bg)}
  .group .football-row .rl .pc:not(.max) {background:transparent}
  .group .football-row .forecast-score {border-inline-start-color:var(--match-accent)}
}

/* A live label requires a recent observation. A saved or missing observation
   keeps the clock and shows the written delay with a dashed edge. */
.group .row.is-live:not(.is-stale):has([data-score-snapshot][data-active="1"][hidden]) {
  box-shadow:inset 3px 0 var(--match-live);
}
.group .row.is-live:not(.is-stale):has([data-score-snapshot][data-active="1"][hidden]) .st::before {
  content:"Шууд"; color:var(--match-live); font-size:10px; font-weight:700; line-height:1.25;
}
:lang(en) .group .row.is-live:not(.is-stale):has([data-score-snapshot][data-active="1"][hidden]) .st::before {
  content:"Live";
}
.group .row.is-stale:not(:has(.row-delay:not([hidden]))) .st::before {
  content:"Хүлээлт"; color:var(--match-wait); font-size:10px; font-weight:700; line-height:1.25;
}
:lang(en) .group .row.is-stale:not(:has(.row-delay:not([hidden]))) .st::before {content:"Delayed"}
.group .row .row-delay:not([hidden]),
.group .row .row-delay:not([hidden]) [data-score-age] {color:var(--match-wait)}
.group .row .row-delay:not([hidden]) {border-inline-start:2px dashed var(--match-wait); padding-inline-start:5px}
.group .row:has(.row-delay:not([hidden])) .sc .score-pair > span {
  box-shadow:inset 0 0 0 1px var(--match-rule);
}
