Design moderne + seed reel engagements forgeron avec votes

- CSS: couleurs saturees sans pastels, border-radius 4-6px, inputs mood-aware
- Header: allege (3.25rem), logo typographique, bouton connexion fin
- Login: redesign complet avec steps dots et input natif style
- Dashboard: entry cards epurees, tags toolbox compacts
- Seed: 34 vraies clauses forgeron v2.0.0 (forum topic 33165)
- Seed: 9 clauses certification (licence G1)
- Seed: 11 votants simules + 3 sessions de vote (10 pour / 1 contre)
- MoodSwitcher: dots colores au lieu d'icones

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-02-28 18:28:14 +01:00
parent 77dceb49c3
commit 61a414d214
10 changed files with 1774 additions and 1015 deletions

View File

@@ -1,167 +1,207 @@
/* ==========================================================================
Glibredecision — Mood / Ambiance System
4 moods: Peps (light), Zen (light), Chagrine (dark), Grave (dark)
Design: saturated, modern, zero pastels.
========================================================================== */
/* --------------------------------------------------------------------------
Peps — Energique et chaleureux (Light)
Peps — Energique, vif, franc (Light)
-------------------------------------------------------------------------- */
.mood-peps {
--mood-bg: #ffffff;
--mood-surface: #fffbf5;
--mood-surface-hover: #fff5ea;
--mood-text: #1a1a1a;
--mood-text-muted: #6b6b6b;
--mood-accent: #e85d26;
--mood-accent-soft: #fff3ed;
--mood-bg: #fafafa;
--mood-surface: #ffffff;
--mood-surface-hover: #f5f0ec;
--mood-text: #18120e;
--mood-text-muted: #6e5f52;
--mood-accent: #d44a10;
--mood-accent-soft: rgba(212, 74, 16, 0.08);
--mood-accent-text: #ffffff;
--mood-border: #fde8d8;
--mood-success: #22c55e;
--mood-warning: #f59e0b;
--mood-error: #ef4444;
--mood-gradient: linear-gradient(135deg, #fff8f0 0%, #ffffff 100%);
--mood-shadow: rgba(232, 93, 38, 0.08);
--mood-border: #e0d5cb;
--mood-success: #18843b;
--mood-warning: #c27e07;
--mood-error: #c42b2b;
--mood-gradient: linear-gradient(160deg, #faf8f5 0%, #ffffff 50%, #faf7f4 100%);
--mood-shadow: rgba(120, 60, 10, 0.06);
--mood-input-bg: #ffffff;
--mood-input-border: #c9bdb0;
--mood-input-focus: #d44a10;
--mood-status-prepa: #fed7aa;
--mood-status-prepa-text: #9a3412;
--mood-status-vote: #bfdbfe;
--mood-status-vote-text: #1e40af;
--mood-status-vigueur: #bbf7d0;
--mood-status-vigueur-text: #166534;
--mood-status-clos: #e5e7eb;
--mood-status-clos-text: #374151;
--mood-status-prepa: #b35c0a;
--mood-status-prepa-bg: rgba(179, 92, 10, 0.12);
--mood-status-vote: #1856a8;
--mood-status-vote-bg: rgba(24, 86, 168, 0.10);
--mood-status-vigueur: #18843b;
--mood-status-vigueur-bg: rgba(24, 132, 59, 0.10);
--mood-status-clos: #5c5c5c;
--mood-status-clos-bg: rgba(92, 92, 92, 0.08);
}
/* --------------------------------------------------------------------------
Zen — Calme et serein (Light)
Zen — Ancre, equilibre, sobre (Light)
-------------------------------------------------------------------------- */
.mood-zen {
--mood-bg: #f8faf8;
--mood-bg: #f7f9f7;
--mood-surface: #ffffff;
--mood-surface-hover: #f0f7f2;
--mood-text: #1a2e1a;
--mood-text-muted: #5f7a5f;
--mood-accent: #4a9e6f;
--mood-accent-soft: #ecf5ef;
--mood-surface-hover: #edf3ee;
--mood-text: #141e14;
--mood-text-muted: #4a6650;
--mood-accent: #2d7a4a;
--mood-accent-soft: rgba(45, 122, 74, 0.07);
--mood-accent-text: #ffffff;
--mood-border: #d4e7d9;
--mood-success: #34d399;
--mood-warning: #fbbf24;
--mood-error: #f87171;
--mood-gradient: linear-gradient(135deg, #f0f7f2 0%, #f8faf8 100%);
--mood-shadow: rgba(74, 158, 111, 0.08);
--mood-border: #c2d4c6;
--mood-success: #1d8a42;
--mood-warning: #b07309;
--mood-error: #be3232;
--mood-gradient: linear-gradient(160deg, #f4f8f4 0%, #ffffff 50%, #f5f8f5 100%);
--mood-shadow: rgba(30, 80, 50, 0.05);
--mood-input-bg: #ffffff;
--mood-input-border: #a8c0ad;
--mood-input-focus: #2d7a4a;
--mood-status-prepa: #fde68a;
--mood-status-prepa-text: #78350f;
--mood-status-vote: #a7f3d0;
--mood-status-vote-text: #065f46;
--mood-status-vigueur: #bbf7d0;
--mood-status-vigueur-text: #166534;
--mood-status-clos: #d1d5db;
--mood-status-clos-text: #374151;
--mood-status-prepa: #9e6b0a;
--mood-status-prepa-bg: rgba(158, 107, 10, 0.10);
--mood-status-vote: #1565a5;
--mood-status-vote-bg: rgba(21, 101, 165, 0.10);
--mood-status-vigueur: #1d8a42;
--mood-status-vigueur-bg: rgba(29, 138, 66, 0.10);
--mood-status-clos: #606060;
--mood-status-clos-bg: rgba(96, 96, 96, 0.08);
}
/* --------------------------------------------------------------------------
Chagrine — Profond et subtil (Dark)
Chagrine — Dense, veloute, introspectif (Dark)
-------------------------------------------------------------------------- */
.mood-chagrine {
--mood-bg: #1a1625;
--mood-surface: #231e30;
--mood-surface-hover: #2d2640;
--mood-text: #e8e0f0;
--mood-text-muted: #9b8fb5;
--mood-accent: #9b7fd4;
--mood-accent-soft: #2d2640;
--mood-bg: #16121e;
--mood-surface: #1e1828;
--mood-surface-hover: #281f36;
--mood-text: #e0d8ec;
--mood-text-muted: #8e80a8;
--mood-accent: #8b6cc4;
--mood-accent-soft: rgba(139, 108, 196, 0.12);
--mood-accent-text: #ffffff;
--mood-border: #342d45;
--mood-success: #6ee7b7;
--mood-warning: #fcd34d;
--mood-error: #fca5a5;
--mood-gradient: linear-gradient(135deg, #1a1625 0%, #231e30 100%);
--mood-shadow: rgba(155, 127, 212, 0.12);
--mood-border: #2e2540;
--mood-success: #48c278;
--mood-warning: #d4a030;
--mood-error: #e06060;
--mood-gradient: linear-gradient(160deg, #16121e 0%, #1e1828 50%, #1a1524 100%);
--mood-shadow: rgba(100, 60, 180, 0.10);
--mood-input-bg: #1e1828;
--mood-input-border: #3a2e52;
--mood-input-focus: #8b6cc4;
--mood-status-prepa: #4c1d95;
--mood-status-prepa-text: #ddd6fe;
--mood-status-vote: #312e81;
--mood-status-vote-text: #c7d2fe;
--mood-status-vigueur: #064e3b;
--mood-status-vigueur-text: #a7f3d0;
--mood-status-clos: #2d2640;
--mood-status-clos-text: #9b8fb5;
--mood-status-prepa: #c4a050;
--mood-status-prepa-bg: rgba(196, 160, 80, 0.14);
--mood-status-vote: #7090d0;
--mood-status-vote-bg: rgba(112, 144, 208, 0.14);
--mood-status-vigueur: #48c278;
--mood-status-vigueur-bg: rgba(72, 194, 120, 0.14);
--mood-status-clos: #706080;
--mood-status-clos-bg: rgba(112, 96, 128, 0.12);
}
/* --------------------------------------------------------------------------
Grave — Serieux et solennel (Dark)
Grave — Mineral, solennel, net (Dark)
-------------------------------------------------------------------------- */
.mood-grave {
--mood-bg: #141518;
--mood-surface: #1c1d21;
--mood-surface-hover: #262420;
--mood-text: #e5e5e0;
--mood-text-muted: #8a8a85;
--mood-accent: #d4a545;
--mood-accent-soft: #262420;
--mood-accent-text: #141518;
--mood-border: #2a2b30;
--mood-success: #86efac;
--mood-warning: #fde68a;
--mood-error: #fca5a5;
--mood-gradient: linear-gradient(135deg, #141518 0%, #1c1d21 100%);
--mood-shadow: rgba(212, 165, 69, 0.10);
--mood-bg: #111214;
--mood-surface: #191a1e;
--mood-surface-hover: #22201c;
--mood-text: #e2e0d8;
--mood-text-muted: #8a877e;
--mood-accent: #c49530;
--mood-accent-soft: rgba(196, 149, 48, 0.10);
--mood-accent-text: #111214;
--mood-border: #2a2a2e;
--mood-success: #4ac070;
--mood-warning: #d4a530;
--mood-error: #d85050;
--mood-gradient: linear-gradient(160deg, #111214 0%, #191a1e 50%, #141518 100%);
--mood-shadow: rgba(160, 120, 30, 0.08);
--mood-input-bg: #191a1e;
--mood-input-border: #38362e;
--mood-input-focus: #c49530;
--mood-status-prepa: #78350f;
--mood-status-prepa-text: #fde68a;
--mood-status-vote: #1e3a5f;
--mood-status-vote-text: #93c5fd;
--mood-status-vigueur: #14532d;
--mood-status-vigueur-text: #86efac;
--mood-status-clos: #27272a;
--mood-status-clos-text: #a1a1aa;
--mood-status-prepa: #c49530;
--mood-status-prepa-bg: rgba(196, 149, 48, 0.14);
--mood-status-vote: #5a90c8;
--mood-status-vote-bg: rgba(90, 144, 200, 0.14);
--mood-status-vigueur: #4ac070;
--mood-status-vigueur-bg: rgba(74, 192, 112, 0.14);
--mood-status-clos: #686860;
--mood-status-clos-bg: rgba(104, 104, 96, 0.12);
}
/* ==========================================================================
Base Utilities
Global design tokens — modern, refined, thin
========================================================================== */
/* Transition all mood changes smoothly */
body {
transition: background-color 0.3s ease, color 0.3s ease;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* Status labels — clickable pill style */
/* --- Status pills — compact, saturated, NO pastels --- */
.status-pill {
display: inline-flex;
align-items: center;
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.75rem;
padding: 3px 10px;
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.02em;
text-transform: uppercase;
cursor: pointer;
transition: all 0.2s ease;
transition: all 0.15s ease;
user-select: none;
border: none;
}
.status-pill:hover {
filter: brightness(0.92);
transform: scale(1.05);
filter: brightness(1.1);
}
.status-pill.active {
ring: 2px;
ring-offset: 2px;
box-shadow: 0 0 0 2px var(--mood-accent);
}
.status-prepa {
background: var(--mood-status-prepa);
color: var(--mood-status-prepa-text);
background: var(--mood-status-prepa-bg);
color: var(--mood-status-prepa);
}
.status-vote {
background: var(--mood-status-vote);
color: var(--mood-status-vote-text);
background: var(--mood-status-vote-bg);
color: var(--mood-status-vote);
}
.status-vigueur {
background: var(--mood-status-vigueur);
color: var(--mood-status-vigueur-text);
background: var(--mood-status-vigueur-bg);
color: var(--mood-status-vigueur);
}
.status-clos {
background: var(--mood-status-clos);
color: var(--mood-status-clos-text);
background: var(--mood-status-clos-bg);
color: var(--mood-status-clos);
}
/* ==========================================================================
Global overrides — Nuxt UI refinements
========================================================================== */
/* Inputs: thin, clean, mood-aware */
:root .mood-peps,
:root .mood-zen,
:root .mood-chagrine,
:root .mood-grave {
/* UInput / UTextarea */
--ui-border: var(--mood-input-border);
--ui-bg: var(--mood-input-bg);
--ui-text-highlighted: var(--mood-accent);
}
/* UButton refinements */
:root .mood-peps button[class*="UButton"],
:root .mood-zen button[class*="UButton"],
:root .mood-chagrine button[class*="UButton"],
:root .mood-grave button[class*="UButton"] {
font-weight: 500;
letter-spacing: 0.01em;
}