/* Mini games — Guillotine board. Loads after style.css and reuses its tokens. */

.gt { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.45rem; }

.gt__row {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  gap: 0.5rem 1rem;
  align-items: baseline;
  padding: 0.7rem 1rem;
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 3px solid #5abe78;
  border-radius: 10px;
  font-size: 0.95rem;
}

.gt__who { font-weight: 650; }
.gt__alive { color: #5abe78; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; }
.gt__wk { font-variant-numeric: tabular-nums; font-weight: 650; }
.gt__ytd { color: var(--ink-dim); font-size: 0.82rem; font-variant-numeric: tabular-nums; }

/* the dead: desaturated, struck through, and visibly demoted */
.gt__row--dead {
  border-left-color: #d9534f;
  opacity: 0.55;
  filter: grayscale(0.6);
}
.gt__row--dead .gt__who { text-decoration: line-through; text-decoration-thickness: 2px; }
.gt__fate { color: #d9534f; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; }

.gt__rules { margin: 0 0 0.75rem; font-size: 1.05rem; }
.gt__status { margin: 0; color: var(--ink-dim); }
.gt__status--won { color: var(--accent); font-size: 1.1rem; font-weight: 700; }

.gt__hist { margin: 0; padding-left: 1.2rem; color: var(--ink-dim); }
.gt__hist li { margin: 0 0 0.4rem; }
.gt__hist b { color: var(--ink); }

.gt__none, .gt__fine { color: var(--ink-dim); margin: 0; }
.gt__fine { font-size: 0.85rem; margin-top: 0.75rem; }
.gt__tie { margin: 0; padding-left: 1.2rem; color: var(--ink-dim); font-size: 0.92rem; }
.gt__tie li { margin: 0 0 0.3rem; }

@media (max-width: 34rem) {
  .gt__row { grid-template-columns: 1fr auto; gap: 0.25rem 0.75rem; }
  .gt__ytd { grid-column: 1 / -1; }
}

/* ---------- pardon vote ---------- */

.pardon {
  background: var(--panel-2);
  border: 1px dashed var(--accent);
  border-radius: var(--radius);
  padding: 1.1rem 1.25rem;
}

.pardon__where { margin: 0 0 0.6rem; }
.pardon__where b { color: var(--ink); }
.pardon__budget { margin: 0.75rem 0 0; font-size: 0.85rem; color: var(--ink-dim); }

/* Incomplete-data banner on the guillotine board. Deliberately loud: it means
   the standings shown are provisional in a way a reader cannot otherwise see. */
.gt__warn {
  margin: 0.75rem 0 0;
  padding: 0.7rem 0.9rem;
  border-radius: 8px;
  background: rgba(255, 176, 32, 0.1);
  border: 1px solid rgba(255, 176, 32, 0.38);
  color: var(--ink, #e8ecf1);
  font-size: 0.9rem;
  line-height: 1.5;
}
.gt__warn b { color: var(--accent, #ffb020); }
