/* ═══════════════════════════════════════════════════════════════
   FranceConcours Core — design tokens (fondation commune)
   Référence visuelle : landing publique (fc-landing.css / index.html)
   Couleurs, typo, rayons, ombres — consommés par landing + app.
   ═══════════════════════════════════════════════════════════════ */

:root {
  /* Brand — landing */
  --fc-ink: #111831;
  --fc-ink-2: #202846;
  --fc-navy: #111831;
  --fc-indigo: #5556d9;
  --fc-indigo-dark: #3c3fb5;
  --fc-indigo-soft: #eeefff;
  --fc-gold: #c9a96b;
  --fc-gold-soft: #f7f0e2;
  --fc-gold-text: #8b6914;
  --fc-teal: #18856b;
  --fc-white: #ffffff;

  /* Surfaces */
  --fc-bg: #f8f8f5;
  --fc-bg-secondary: #f0f1f8;
  --fc-surface: #ffffff;
  --fc-surface-muted: #f0f1f8;
  --fc-border: #e5e7ef;
  --fc-line: #e5e7ef;

  /* Text */
  --fc-text: #111831;
  --fc-text-sub: #68718b;
  --fc-text-muted: #8a92a8;
  --fc-text-soft: var(--fc-text-sub);
  --fc-lead: #5d6680;

  /* Alias sémantiques portail (sens unique, pas de reverse mapping) */
  --fc-blue: var(--fc-indigo);
  --fc-shadow: var(--fc-shadow-md);
  --fc-card-radius: var(--fc-radius-md);

  /* Status */
  --fc-success: #18856b;
  --fc-success-soft: #e7f6f0;
  --fc-danger: #dc2626;
  --fc-warning: #d97706;

  /* Accent softs */
  --fc-indigo-soft-rgb: 85, 86, 217;
  --fc-indigo-dim: rgba(85, 86, 217, 0.08);
  --fc-gold-dim: rgba(201, 169, 107, 0.12);
  --fc-teal-soft: rgba(24, 133, 107, 0.1);
  --fc-danger-soft: rgba(220, 38, 38, 0.08);

  /* Elevation — landing --shadow / --shadow-soft */
  --fc-shadow-sm: 0 1px 2px rgba(22, 29, 63, 0.05);
  --fc-shadow-md: 0 12px 34px rgba(22, 29, 63, 0.07);
  --fc-shadow-lg: 0 24px 70px rgba(22, 29, 63, 0.12);
  --fc-btn-primary-shadow: 0 9px 22px rgba(85, 86, 217, 0.24);
  --fc-btn-primary-shadow-hover: 0 13px 30px rgba(85, 86, 217, 0.31);

  /* Radius — landing .btn = 12px, --radius = 22px */
  --fc-radius-sm: 8px;
  --fc-radius-md: 12px;
  --fc-radius-lg: 16px;
  --fc-radius-xl: 22px;
  --fc-radius-pill: 999px;
  --fc-radius-btn: 12px;

  /* Layout */
  --fc-max: 1180px;

  /* Motion */
  --fc-ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --fc-motion-fast: 0.2s ease;
  --fc-motion-std: 0.25s ease;

  /* Typography — landing = Plus Jakarta Sans (pas Sora) */
  --fc-font-display: 'Plus Jakarta Sans', Inter, ui-sans-serif, system-ui, sans-serif;
  --fc-font-body: 'Plus Jakarta Sans', Inter, ui-sans-serif, system-ui, sans-serif;
  --fc-focus-ring: #9294ff;
  --fc-tracking-tight: -0.045em;
  --fc-tracking-section: -0.02em;
  --fc-tracking-eyebrow: 0.13em;

  /* Contest theme */
  --contest-accent: var(--fc-indigo);
  --contest-accent-soft: var(--fc-indigo-dim);
  --contest-gradient: linear-gradient(145deg, #6768e7, #36398f);

  /* Alias historiques landing (--ink, --paper…) → fondation --fc-* */
  --ink: var(--fc-ink);
  --ink-2: var(--fc-ink-2);
  --muted: var(--fc-text-sub);
  --muted-2: var(--fc-text-muted);
  --paper: var(--fc-bg);
  --white: var(--fc-white);
  --line: var(--fc-line);
  --line-dark: rgba(255, 255, 255, 0.13);
  --indigo: var(--fc-indigo);
  --indigo-dark: var(--fc-indigo-dark);
  --indigo-soft: var(--fc-indigo-soft);
  --gold: var(--fc-gold);
  --gold-soft: var(--fc-gold-soft);
  --green: var(--fc-teal);
  --green-soft: var(--fc-success-soft);
  --shadow: var(--fc-shadow-lg);
  --shadow-soft: var(--fc-shadow-md);
  --radius: var(--fc-radius-xl);
  --max: var(--fc-max);

  /* Surfaces dashboard concours (B1) */
  --fc-contest-hero-bg: linear-gradient(
    135deg,
    rgba(85, 86, 217, 0.07) 0%,
    rgba(255, 255, 255, 0.92) 42%,
    rgba(201, 169, 107, 0.1) 100%
  );
  --fc-cover-fallback: linear-gradient(145deg, #eeefff 0%, #f0f1f8 55%, rgba(201, 169, 107, 0.15) 100%);

  /* Patterns B3 */
  --fc-ui-progress-track-bg: rgba(85, 86, 217, 0.12);
  --fc-ui-progress-fill: linear-gradient(90deg, var(--fc-indigo), var(--fc-indigo-dark));
  --fc-ui-kicker-color: var(--fc-indigo);
  --fc-ui-section-title-color: var(--fc-ink);
}

[data-contest="dgfip-c"] {
  --contest-accent: var(--fc-indigo);
  --contest-accent-soft: var(--fc-indigo-dim);
  --contest-gradient: linear-gradient(145deg, #6768e7, #36398f);
}

[data-contest="dgfip-b"] {
  --contest-accent: var(--fc-teal);
  --contest-accent-soft: var(--fc-teal-soft);
  --contest-gradient: linear-gradient(145deg, #0b5c4a, var(--fc-teal));
}

[data-contest="dgddi-c"] {
  --contest-accent: var(--fc-gold);
  --contest-accent-soft: var(--fc-gold-dim);
  --contest-gradient: linear-gradient(145deg, #3d3528, var(--fc-gold));
}

:root[data-theme="dark"] {
  --fc-bg: #0f1424;
  --fc-bg-secondary: #151b2e;
  --fc-surface: #1a2034;
  --fc-surface-muted: #222a42;
  --fc-border: #2e3650;
  --fc-line: #2e3650;
  --fc-text: #e8eaf5;
  --fc-text-sub: #a8b0c4;
  --fc-text-muted: #8a92a8;
  --fc-lead: #b9bfd5;
  --fc-gold-text: #e0c990;
  --fc-indigo-soft: #2a2d5c;
  --fc-indigo-dim: rgba(146, 148, 255, 0.12);
  --fc-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --fc-shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
  --fc-shadow-lg: 0 24px 70px rgba(0, 0, 0, 0.45);
  --paper: var(--fc-bg);
  --ink: var(--fc-ink);
  --muted: var(--fc-text-sub);
}
