Logos officiels installés : - static/images/dictia-logo.png (28 KB optimisé 256×256) - static/images/dictia-logo-128.png (10 KB retina) - static/images/dictia-logo-fullres.png (originaux conservés OG/social) - static/images/dictia-logo.svg + dictia-logo-nom.svg (cleaned C2PA metadata) - Header marketing/base.html : <img> 40×40 + wordmark "DictIA" + tagline "Transcription" - Footer marketing/_footer.html : <img> 36×36 + wordmark - Favicon mis à jour vers logo PNG Note : SVG sources sont des PNG base64 wrappés (pas de vrais paths) — PNG utilisé en production (8× plus léger), SVG conservé pour fallback. Palette canonique alignée sur le logo : - brand-b1 : #7c3aed (mauve) → #2563eb (blue-600 vibrant — primary) - brand-b2 : #a855f7 (mauve clair) → #06b6d4 (cyan-500 — aqua mid) - brand-b3 : #06b6d4 (aqua) → #c026d3 (fuchsia-600 — magenta accent) - Gradient signature : linear-gradient(118deg, #2563eb, #06b6d4 52%, #c026d3) - Box shadow CTA : rgba(37,99,235,0.28/0.42) - 72 remplacements hex/rgba dans 5 templates marketing/legal + email service Tests : 81 passed / 3 failed (3 échecs pré-existants /blog + trust-bar phrasing, non liés à ce changement). 0 régression. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
66 lines
2.3 KiB
JavaScript
66 lines
2.3 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
module.exports = {
|
|
content: ['./templates/marketing/**/*.html', './templates/legal/**/*.html', './templates/billing/**/*.html', './templates/macros/**/*.html', './templates/auth/**/*.html', './templates/register.html', './templates/login.html', './src/marketing/**/*.py', './src/legal/**/*.py', './src/billing/**/*.py'],
|
|
darkMode: 'class',
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
brand: {
|
|
b1: '#2563eb',
|
|
b2: '#06b6d4',
|
|
b3: '#c026d3',
|
|
navy: '#060d1a',
|
|
navy2: '#0b1525',
|
|
navy3: '#0f1e35',
|
|
bg: '#f7f9fc',
|
|
border: '#e6ebf2',
|
|
},
|
|
},
|
|
fontFamily: {
|
|
sans: ['Inter Variable', 'Inter', 'system-ui', 'sans-serif'],
|
|
mono: ['JetBrains Mono Variable', 'JetBrains Mono', 'monospace'],
|
|
},
|
|
backgroundImage: {
|
|
'brand-grad': 'linear-gradient(118deg, #2563eb, #06b6d4 52%, #c026d3)',
|
|
},
|
|
boxShadow: {
|
|
'cta': '0 4px 20px rgba(37, 99, 235, 0.28)',
|
|
'cta-hover': '0 8px 32px rgba(37, 99, 235, 0.42)',
|
|
},
|
|
borderRadius: {
|
|
DEFAULT: '0.75rem',
|
|
},
|
|
keyframes: {
|
|
'tc-fade-in-up': {
|
|
'0%': { opacity: '0', transform: 'translateY(16px)' },
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
},
|
|
'tc-fade-in-right': {
|
|
'0%': { opacity: '0', transform: 'translateX(-16px)' },
|
|
'100%': { opacity: '1', transform: 'translateX(0)' },
|
|
},
|
|
'tc-float-y': {
|
|
'0%, 100%': { transform: 'translateY(0)' },
|
|
'50%': { transform: 'translateY(-8px)' },
|
|
},
|
|
'tc-pulse-glow': {
|
|
'0%, 100%': { boxShadow: '0 4px 20px rgba(37, 99, 235, 0.28)' },
|
|
'50%': { boxShadow: '0 8px 32px rgba(37, 99, 235, 0.42)' },
|
|
},
|
|
'plus-breathe': {
|
|
'0%, 100%': { transform: 'scale(1)' },
|
|
'50%': { transform: 'scale(1.05)' },
|
|
},
|
|
},
|
|
animation: {
|
|
'tc-fade-in-up': 'tc-fade-in-up 600ms ease-out forwards',
|
|
'tc-fade-in-right': 'tc-fade-in-right 600ms ease-out forwards',
|
|
'tc-float-y': 'tc-float-y 4s ease-in-out infinite',
|
|
'tc-pulse-glow': 'tc-pulse-glow 3s ease-in-out infinite',
|
|
'plus-breathe': 'plus-breathe 2s ease-in-out infinite',
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|