feat(design-system): reskin Charcoal — tokens dark-default + sidebar navy permanent

- Remplacement intégral index.css par palette Charcoal (DESIGN_SYSTEM.md v2.0)
- Dark = thème par défaut, .light = override via @custom-variant light
- Sidebar navy #0C1528 permanent (identique dark+light)
- Script anti-FOUC inline dans index.html
- Layout : radial-gradient sur <main>, sidebar 230px, max-w-[1100px]
- Renommage tokens Boréal→Charcoal sur ~45 composants
- Inversion dark: → baseline + light: sur primitives shadcn
- Fix logo blanc forcé dans sidebar
- ADR 006 mis à jour

Typecheck: OK · Tests: 122/122 

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hermann_Kitio 2026-04-24 23:07:38 +03:00
parent 407d1bd134
commit b68f160bce
61 changed files with 1269 additions and 726 deletions

View file

@ -50,8 +50,8 @@ export function IdeesSuggestions({ idees, isLoading, error, isOpen, onClose }: P
>
<DialogContent>
<DialogHeader>
<DialogTitle className="flex items-center gap-2 text-ink-1">
<Lightbulb className="size-5 text-expria" aria-hidden="true" />
<DialogTitle className="flex items-center gap-2 text-ink-primary">
<Lightbulb className="size-5 text-brand-text" aria-hidden="true" />
Suggestions d'idées
</DialogTitle>
<DialogDescription>
@ -60,8 +60,8 @@ export function IdeesSuggestions({ idees, isLoading, error, isOpen, onClose }: P
</DialogHeader>
{isLoading && (
<div className="flex items-center gap-2 text-sm text-ink-3" aria-busy="true">
<Loader2 className="size-4 animate-spin text-expria" aria-hidden="true" />
<div className="flex items-center gap-2 text-sm text-ink-secondary" aria-busy="true">
<Loader2 className="size-4 animate-spin text-brand-text" aria-hidden="true" />
Génération des idées
</div>
)}
@ -69,18 +69,18 @@ export function IdeesSuggestions({ idees, isLoading, error, isOpen, onClose }: P
{!isLoading && message && (
<div
role="alert"
className="rounded-md border border-danger/40 bg-danger-bg px-3 py-2 text-sm text-danger"
className="rounded-md border border-danger/40 bg-danger-soft px-3 py-2 text-sm text-danger"
>
{message}
</div>
)}
{!isLoading && !message && idees && idees.length > 0 && (
<ul className="space-y-2 text-sm text-ink-2">
<ul className="space-y-2 text-sm text-ink-primary">
{idees.map((idee, i) => (
<li key={i} className="flex gap-2">
<span
className="mt-[0.4em] size-1.5 shrink-0 rounded-full bg-expria"
className="mt-[0.4em] size-1.5 shrink-0 rounded-full bg-brand"
aria-hidden="true"
/>
<span>{idee}</span>