/** * Design tokens for Tripoli Cloud, centralized here so components never * hardcode colors, radii or spacing inline. Values mirror the validated * Claude Design prototype (`project/Tripoli Cloud.dc.html`). * * Surface/text colors resolve through CSS variables (see src/index.css) so * the same class (e.g. `bg-panel`) renders correctly in both themes without * a `dark:` variant on every element. Theme switching itself still goes * through Tailwind's `dark` class strategy on . * @type {import('tailwindcss').Config} */ export default { darkMode: 'class', content: ['./index.html', './src/**/*.{js,ts,jsx,tsx}'], theme: { extend: { fontFamily: { sans: ['Manrope', 'system-ui', 'sans-serif'], // Titres uniquement (voir `.font-display`) - jamais le corps de // texte ni l'UI, pour garder l'interface lisible et rapide à // scanner ; le serif est réservé à l'effet éditorial des titres. display: ['Fraunces', 'Georgia', 'serif'], }, colors: { brand: { from: '#5b8cff', to: '#7c5cff', DEFAULT: '#5b8cff', soft: '#7ba4ff', }, // Citron vert - l'unique accent vif, utilisé avec parcimonie // (surlignage, badge, détail) plutôt que comme couleur dominante. accent: '#c8ff52', success: '#4ade80', danger: '#ff8f7a', violet: '#b39dff', bg: 'var(--tc-bg)', panel: 'var(--tc-panel)', panel2: 'var(--tc-panel-2)', line: 'var(--tc-line)', field: 'var(--tc-field)', selected: 'var(--tc-selected)', ink: { DEFAULT: 'var(--tc-ink)', soft: 'var(--tc-ink-2)', }, }, backgroundImage: { 'brand-gradient': 'linear-gradient(135deg, #5b8cff 0%, #7c5cff 100%)', }, borderRadius: { card: '16px', panel: '18px', modal: '14px', }, boxShadow: { tc: 'var(--tc-shadow)', }, screens: { // Explicit alias for the prototype's documented breakpoint. mobile: { max: '767px' }, }, }, }, plugins: [], }