tripoli.cloud/app/tailwind.config.js

60 lines
1.7 KiB
JavaScript
Raw Normal View History

/**
* 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 <html>.
* @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'],
},
colors: {
brand: {
from: '#5b8cff',
to: '#7c5cff',
DEFAULT: '#5b8cff',
soft: '#7ba4ff',
},
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: [],
}