- 4 modes: dark, light, high-contrast, sepia (40+ CSS vars chacun) - Import/export thèmes personnalisés en JSON - Grid swatches dans les paramètres avec preview - toggleThemeMode() cycle through all 4 modes - CustomEvent 'themechange' dispatché - 18 tests unitaires (structure, generators, colors, i18n keys) - 439 tests passent au total
- themes.js: 15 palettes (Defaut ObsiGate, GitHub, Linear, Spotify, Notion, Discord, Dracula, One Dark, Tokyo Night, Nord, Night Owl, Anthracite, Cyberpunk, Navy Elegance, Tons Terreux) - Chaque theme a un mode sombre ET clair - UI: grille de themes dans Configuration → Themes - Toggle Sombre/Clair par theme - Persistance localStorage (obsigate-theme + obsigate-theme-mode) - Preview visuel: barre de couleur + accent bouton - initThemes() appele au startup dans sync.js - Defaut ObsiGate conserve le theme actuel