// Visual themes. `colors` are per-finger, `team` per team (A–D). // The high-contrast theme also gives every finger/team its own shape, // so nothing depends on telling colours apart. export const SHAPES = ['circle', 'square', 'triangle', 'diamond', 'star', 'hexagon', 'cross', 'pentagon']; export const THEMES = { neon: { bg: '#05050b', glow: 1, additive: true, shapes: false, lineScale: 1, spectator: '#4a4a58', colors: ['#ff2e63', '#00e5ff', '#ffe500', '#3dff5a', '#b45cff', '#ff8a1f', '#2f6bff', '#ff4fd8', '#00ffb2', '#c8ff00', '#ff5b3a', '#9fb4ff'], team: ['#ff2e63', '#00e5ff', '#ffe500', '#3dff5a'], }, pastel: { bg: '#1c1a26', glow: 0.45, additive: false, shapes: false, lineScale: 1.15, spectator: '#4b4858', colors: ['#ff9aa2', '#9ee3e0', '#ffd6a5', '#b9f2c4', '#cdb4ff', '#ffc6e7', '#a0c4ff', '#fdffb6', '#f7b0be', '#b8e0d2', '#e2c2ff', '#ffcfa3'], team: ['#ff9aa2', '#a0c4ff', '#fdffb6', '#b9f2c4'], }, contrast: { bg: '#000000', glow: 0, additive: false, shapes: true, lineScale: 1.3, spectator: '#6b6b6b', colors: ['#ffffff', '#ffd500', '#00d9ff', '#ff4fd8', '#4dff4d', '#ff8c00', '#a98bff', '#ff4545'], team: ['#ffd500', '#00d9ff', '#ff4fd8', '#ffffff'], }, }; export function getTheme(name) { return THEMES[name] || THEMES.neon; }