/* MyGoal Signal — forecast.css: the frozen forecasts on a match card and the live record of a day. */
.record { margin: -0.25rem 0 0.875rem; font-size: 0.85rem; line-height: 1.5; color: var(--slate); }
.record:empty { display: none; }

/* Under the teams: the Quartet's signal when the four agreed, then the models' table. */
.fc { display: grid; gap: 0.625rem; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px solid var(--tile-edge); }
/* A replay's note: the reader knows at once these numbers were not frozen before the match. */
.rp { margin: 0; padding: 0.375rem 0.625rem; border: 1px dashed var(--border); border-radius: 0.5rem;
  font-size: 0.76rem; line-height: 1.4; color: var(--slate); }
.qt { display: flex; align-items: center; gap: 0.625rem; padding: 0.5rem 0.75rem; border: 1px solid var(--cobalt);
  border-radius: 0.625rem; background: var(--pick-bg); color: var(--cobalt); }
.qt span { display: grid; font-size: 0.82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.qt small { font-size: 0.74rem; font-weight: 600; text-transform: none; letter-spacing: 0; color: var(--slate); }
.qt b { margin-left: auto; font: 800 1.35rem/1 "Manrope", sans-serif; }

/* One row per model: its name, then home win, draw, away win; its pick stands lit. */
.fct { width: 100%; border-collapse: separate; border-spacing: 0.25rem; margin: -0.25rem; table-layout: fixed;
  font-variant-numeric: tabular-nums; }
.fct caption { text-align: left; padding: 0 0.25rem 0.125rem; font-size: 0.74rem; font-weight: 600; color: var(--slate);
  text-transform: uppercase; letter-spacing: .02em; }
.fct th { font-size: 0.78rem; font-weight: 700; color: var(--slate); text-align: center; }
.fct thead th:first-child, .fct tbody th { text-align: left; width: 29%; }
.fct thead th { font: 800 0.95rem "Manrope", sans-serif; color: var(--ink); }
.fct thead th:first-child { font: 600 0.74rem "Onest", sans-serif; color: var(--slate); text-transform: uppercase; }
.fct tbody th { color: var(--ink); font-size: 0.84rem; }
.fct td { padding: 0.375rem 0.125rem; border-radius: 0.5rem; background: var(--pale); text-align: center;
  font-size: 0.84rem; font-weight: 600; color: var(--slate); white-space: nowrap; }
/* The pick: lit in the brand's blue before and after the match; red when it did not come true. */
.fct td.pick { background: var(--pick-bg); box-shadow: inset 0 0 0 1.5px var(--cobalt); color: var(--ink); font-weight: 800; }
.fct td.pick.miss { background: var(--miss-bg); box-shadow: inset 0 0 0 1.5px var(--loss); }
.qt.miss { background: var(--miss-bg); border-color: var(--loss); color: var(--loss); }
/* A graded pick: its letter carries the meaning, the color repeats it. */
.fc i { margin-left: 0.25rem; font-style: normal; font-weight: 800; line-height: 1; }
.hit i { color: var(--cobalt); }
.miss i { color: var(--loss); }
