/* DovahCorp V5 — jetons de design, définis UNE fois. Chargés par shell.js (pages privées) et par les pages de connexion.
   Identité : bleu nuit, cyan, bleu roi ; verre fumé (teinte + flou + liseré + reflet localisé) ; relief sobre.
   Les anciennes variables (--cyan, --text, --muted, --glass-*) restent valides : elles sont rebranchées ici sur la V5,
   pour que les pages non encore déclinées suivent la même matière sans surcharge page par page. */
:root {
  /* Couleurs */
  --v5-night-0: #04070f;
  --v5-night-1: #070d1c;
  --v5-night-2: #0b1530;
  --v5-royal: #2c5cff;
  --v5-royal-soft: #6f8dff;
  --v5-cyan: #50e6ff;
  --v5-cyan-strong: #2fd2ff;
  --v5-text: #eef3ff;
  --v5-text-soft: #c4cfe4;
  --v5-muted: #8e9cb8;
  --v5-ok: #4fe3a6;
  --v5-warn: #ffc857;
  --v5-bad: #ff6b7d;

  /* Verre : grands cadres (léger, le fond reste perceptible), blocs, surfaces denses (tableaux, formulaires longs). */
  --v5-glass-frame: linear-gradient(170deg, rgba(14, 22, 44, 0.1), rgba(8, 12, 26, 0.13));   /* cadre : liseré et teinte très légère, sans flou */
  --v5-glass-rail: linear-gradient(180deg, rgba(20, 32, 62, 0.58), rgba(8, 14, 30, 0.66));
  --v5-glass-block: linear-gradient(170deg, rgba(16, 24, 46, 0.64), rgba(9, 14, 30, 0.72));   /* blocs : la couche lisible */
  --v5-glass-dense: linear-gradient(180deg, rgba(12, 20, 40, 0.84), rgba(8, 13, 28, 0.88));
  --v5-glass-dock: linear-gradient(180deg, rgba(24, 38, 72, 0.62), rgba(10, 16, 34, 0.7));
  --v5-glass-solid: rgba(9, 15, 31, 0.94);                  /* repli sans backdrop-filter */
  --v5-blur-frame: 18px;
  --v5-blur-rail: 22px;
  --v5-blur-dock: 20px;

  /* Bordures et reflets */
  --v5-stroke: rgba(150, 190, 255, 0.14);
  --v5-stroke-strong: rgba(120, 220, 255, 0.36);
  --v5-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.08);

  /* Ombres */
  --v5-shadow-frame: 0 30px 80px rgba(0, 2, 10, 0.5), 0 2px 0 rgba(255, 255, 255, 0.02);
  --v5-shadow-block: 0 10px 28px rgba(0, 3, 14, 0.28);
  --v5-shadow-float: 0 18px 48px rgba(0, 3, 16, 0.55);
  --v5-glow-cyan: 0 0 0 1px rgba(80, 230, 255, 0.28), 0 0 22px rgba(80, 230, 255, 0.18);

  /* Rayons */
  --v5-r-frame: 26px;
  --v5-r-rail: 24px;
  --v5-r-block: 16px;
  --v5-r-control: 12px;
  --v5-r-pill: 999px;

  /* Espacements */
  --v5-gap: 12px;
  --v5-pad-frame: 22px;
  --v5-rail-w: 232px;
  --v5-rail-w-compact: 72px;
  --v5-header-h: 48px;
  --v5-dock-h: 52px;
  --v5-dock-space: calc(var(--v5-dock-h) + 30px + env(safe-area-inset-bottom, 0px));
  --v5-dock-zone: calc(var(--v5-dock-h) + 24px + env(safe-area-inset-bottom, 0px));   /* hauteur réservée à la barre basse */

  /* Mouvement (valeurs de départ, ajustées à l'œil ; jamais de réussite simulée avant la réponse du serveur) */
  --v5-ease: cubic-bezier(0.22, 0.8, 0.24, 1);
  --v5-ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --v5-t-fast: 160ms;
  --v5-t-content: 280ms;
  --v5-t-enter: 560ms;
  --v5-stagger: 45ms;

  /* Rebranchement des variables existantes (styles.css, shell-ux.css, dc-components.css) */
  --cyan: var(--v5-cyan);
  --text: var(--v5-text);
  --muted: var(--v5-muted);
  --blue: var(--v5-royal-soft);
  --line: var(--v5-stroke);
  --glass-panel: var(--v5-glass-block);
  --glass-widget: var(--v5-glass-block);
  --glass-stat: linear-gradient(170deg, rgba(18, 27, 50, 0.66), rgba(10, 15, 32, 0.74));
  --v3-card-bg: var(--v5-glass-block);
  --v3-radius: var(--v5-r-block);
  --dc-stroke: var(--v5-stroke);
  --dc-stroke-strong: var(--v5-stroke-strong);
  --constellation-opacity: 0.42;                           /* V0.7, choisi par le propriétaire */
}

@media (prefers-reduced-motion: reduce) {
  :root { --v5-t-fast: 0ms; --v5-t-content: 0ms; --v5-t-enter: 0ms; --v5-stagger: 0ms; }
}

/* Couleur de fond du document (débordement de défilement, captures) : jamais de noir pur sous le fond V5. */
html { background-color: var(--v5-night-0); }
