// One colour per seat, the same in the roster, the ledger and the threats, // so a name met in one place is known in the next. Twelve hues spaced round // the wheel at the palette's own saturation, so none shouts. import type { GameState, WizardId } from './state'; const HUES = [28, 200, 96, 330, 52, 260, 160, 8, 220, 120, 300, 70]; export function seatColor(state: GameState, id: WizardId): string { const i = Math.max(0, state.seats.indexOf(id)); return `hsl(${HUES[i % HUES.length]} 55% 62%)`; }