Files
dictia-public/static/css/tailwind.config.js
Allison 575db5e342 feat(brand): logo officiel DictIA + palette blue/cyan/fuchsia (matche le logo)
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>
2026-04-28 15:54:17 -04:00

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: [],
}