/**
 * Variables CSS - Design System "SamAlgo Dark"
 * Thème sombre navy, accents Electric Blue -> Violet, glow Cyan.
 * Source unique des tokens (importée par style.css, components.css, messages.css).
 */

:root {
    /* Couleurs de marque */
    --primary-color: #2563FF;
    --primary-light: rgba(37, 99, 255, 0.14);
    --primary-dark: #1E4FCB;
    --primary-rgb: 37, 99, 255;
    --primary-gradient: linear-gradient(135deg, #2563FF 0%, #7C3AED 100%);

    --secondary-color: #00E5FF;
    --secondary-light: rgba(0, 229, 255, 0.14);
    --secondary-dark: #00B8CC;
    --secondary-rgb: 0, 229, 255;

    --accent-color: #7C3AED;
    --accent-light: rgba(124, 58, 237, 0.16);
    --accent-dark: #5B21B6;
    --accent-rgb: 124, 58, 237;
    --accent-glow: rgba(124, 58, 237, 0.45);

    /* Accents "texte" lisibles sur navy - NE PAS confondre avec
       -light (voile translucide, usage background/border) ni -dark (usage background chat). */
    --primary-soft: #9DBBFF;
    --secondary-soft: #7CF3FF;
    --accent-soft: #C4A6FF;

    /* Sémantique (distincte de l'accent cyan) */
    --success-color: #22C55E;
    --success-rgb: 34, 197, 94;
    --danger-color: #F0554E;
    --danger-rgb: 240, 85, 78;
    --warning-color: #F5A524;
    --warning-rgb: 245, 165, 36;

    /* Surfaces */
    --page-bg: #111936;
    --page-bg-alt: #162044;
    --light-bg: #182348;
    --light-bg-alt: #1D2A54;
    --surface-muted: #263460;
    --surface-strong: #2E3D70;

    --dark-bg: #0C1226;
    --dark-bg-alt: #101830;
    --shell-bg: rgba(17, 25, 54, 0.78);
    --shell-bg-strong: rgba(17, 25, 54, 0.95);
    --shell-border: rgba(255, 255, 255, 0.12);

    --glass-bg: rgba(23, 31, 64, 0.66);
    --glass-border: rgba(124, 58, 237, 0.34);
    /* Panneaux de contenu : plus clairs que la page pour rester lisibles. */
    --card-bg: rgba(30, 42, 84, 0.72);
    --card-bg-soft: rgba(26, 37, 75, 0.62);

    /* Textes */
    --text-color: #CDD5EA;
    --text-emphasis: #F5F7FF;
    --text-muted: #A8B4D0;
    --text-light: #F5F7FF;
    --text-inverse: #D6DEF0;

    /* Bordures */
    --border-color: rgba(255, 255, 255, 0.12);
    --border-strong: rgba(71, 124, 255, 0.38);

    /* Espacements */
    --spacing-xs: 0.25rem;
    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 2rem;
    --spacing-xl: 4rem;
    --spacing-2xl: 7rem;

    /* Typographie */
    --font-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
    --font-mono: 'IBM Plex Mono', 'SFMono-Regular', Consolas, monospace;

    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.375rem;
    --font-size-2xl: 1.875rem;
    --font-size-3xl: 2.75rem;
    --font-size-4xl: 4rem;

    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;

    /* UI */
    --border-radius-sm: 0.375rem;
    --border-radius-md: 0.9rem;
    --border-radius-lg: 1.5rem;
    --border-radius-pill: 9999px;

    /* Ombres et effets */
    --shadow-sm: 0 10px 24px rgba(0, 0, 0, 0.28);
    --shadow-md: 0 16px 36px rgba(0, 0, 0, 0.36);
    --shadow-lg: 0 24px 56px rgba(0, 0, 0, 0.44);
    --shadow-xl: 0 34px 80px rgba(0, 0, 0, 0.52);
    --shadow-glow: 0 18px 44px rgba(var(--primary-rgb), 0.32);
    --focus-ring: 0 0 0 4px rgba(var(--primary-rgb), 0.28);
    --glow-cyan: 0 0 25px rgba(var(--secondary-rgb), 0.45);
    --glow-violet: 0 0 25px rgba(var(--accent-rgb), 0.45);

    --backdrop-blur: blur(18px);

    /* Transitions */
    --transition-fast: 0.15s ease;
    --transition-normal: 0.25s ease;
    --transition-bounce: 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);

    /* Ambiance décorative (dérivée de la maintenance) - décoration uniquement,
       jamais sémantique : ne pas réutiliser pour succès/erreur/avertissement. */
    --ambient-star: rgba(182, 223, 255, 0.75);
    --ambient-star-alt: rgba(196, 181, 253, 0.55);
    --ambient-grid-line: rgba(174, 197, 255, 0.09);
    --ambient-grid-size: 80px;
    --ambient-halo: rgba(var(--primary-rgb), 0.12);
    --ambient-halo-accent: rgba(var(--accent-rgb), 0.11);
    /* Surface commune des pages vitrines : translucide pour laisser transparaître
       l'unique couche d'ambiance du <body> (halos, étoiles, grille). */
    --ambient-surface: rgba(24, 34, 70, 0.26);
    --ambient-edge-gradient: linear-gradient(90deg,
            transparent,
            var(--secondary-color),
            var(--accent-color),
            transparent);
}
