/* ═══════════════════════════════════════════════════════════
   Identité CaenHackYou — source de vérité
   ═══════════════════════════════════════════════════════════

   Ce fichier est la référence unique des trois sites :
   caenhackyou.fr, academy.caenhackyou.fr et ctf.caenhackyou.fr.

   Il vit ici parce que caenhackyou.fr porte la marque mère. Les deux
   autres dépôts en gardent une COPIE, et leur chaîne d'intégration
   vérifie qu'elle correspond à cet original : une copie qui s'écarte
   fait échouer le build, au lieu de dériver en silence.

   Modifier l'identité = modifier ce fichier, puis répercuter la copie
   dans les deux autres dépôts. Toute autre méthode a déjà produit cinq
   blocs `:root` divergents.

   ─ Ne pas ajouter de couleur ici sans raison d'identité. Une teinte
     propre à un usage (catégories de challenges, marque Discord) reste
     dans le projet concerné.
   ─────────────────────────────────────────────────────── */

:root {
    /* ── Accents ───────────────────────────────────────────
       Le cyan est l'accent principal : liens, actions, ce qui
       compte. Le magenta est secondaire, et sert aussi d'erreur. */
    --chy-cyan: #00f7ff;
    --chy-magenta: #ff2d95;

    /* ── Sémantique ────────────────────────────────────────
       Les deux seuls ajouts à la palette du site vitrine : une
       plateforme d'évaluation a besoin de dire réussite et
       avertissement, ce dont une vitrine se passe. */
    --chy-ok: #2bd97c;
    --chy-warn: #ffb020;

    /* ── Fonds ─────────────────────────────────────────────
       Noir pur pour le fond, puis deux niveaux de surface. */
    --chy-bg: #000000;
    --chy-bg-deep: #05050a;
    --chy-surface: #0b0b11;
    --chy-surface-2: #101018;

    /* ── Filets ────────────────────────────────────────────
       `line` pour les séparations discrètes, `line-2` pour les
       bordures de contrôles. */
    --chy-line: #1b1b25;
    --chy-line-2: #2b2b38;

    /* ── Texte ─────────────────────────────────────────────
       Contrastes mesurés sur fond noir : 11:1, 6,6:1 et 3,7:1.
       Le dernier est sous le seuil AA : métadonnées uniquement,
       jamais du texte à lire. */
    --chy-text: #e9e9f2;
    --chy-text-dim: #8b8b9c;
    --chy-text-faint: #55555f;

    /* ── Typographie ───────────────────────────────────────
       JetBrains Mono porte l'identité : interface, titres, code,
       chiffres. IBM Plex Sans est réservée au corps des textes
       longs — le monospace ralentit la lecture d'environ un tiers
       sur du texte suivi, ce qui est coûteux sur un cours. */
    --chy-font: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
    --chy-font-prose: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;

    /* ── Rythme ────────────────────────────────────────────
       Une échelle, pas des valeurs posées une à une. Le CTF comptait
       quinze espacements distincts (4, 5, 6, 8, 10, 12, 14, 15, 16, 18,
       20, 25, 30, 40 px) : chaque bloc avait été réglé isolément, d'où
       cette impression d'à-peu-près. Sept marches suffisent, et elles se
       reconnaissent d'un écran à l'autre. */
    --chy-e1: 4px;
    --chy-e2: 8px;
    --chy-e3: 12px;
    --chy-e4: 16px;
    --chy-e5: 24px;
    --chy-e6: 32px;
    --chy-e7: 48px;

    /* Six niveaux de texte au lieu de vingt. Le rapport entre deux
       marches voisines reste perceptible sans être brutal — en dessous
       de 8 %, l'œil ne distingue plus une hiérarchie d'un défaut. */
    --chy-t1: 0.72rem;   /* étiquettes, métadonnées */
    --chy-t2: 0.82rem;   /* interface courante */
    --chy-t3: 0.92rem;   /* corps */
    --chy-t4: 1.05rem;   /* accent */
    --chy-t5: 1.35rem;   /* titre de bloc */
    --chy-t6: 1.75rem;   /* titre de page */

    /* Le trait fin est la règle ; 2 px est réservé à ce qui doit
       trancher. Vingt-cinq bordures de 2 px produisaient un quadrillage
       plus visible que le contenu qu'il encadrait. */
    --chy-trait: 1px;
    --chy-trait-fort: 2px;

    /* ── Formes ────────────────────────────────────────────
       Zéro arrondi : la signature la plus reconnaissable de cette
       identité, et la plus facile à casser par accident. Le halo
       remplace l'ombre portée, qui n'existe pas ici. */
    --chy-radius: 0;
    --chy-glow: 0 0 20px rgb(0 247 255 / 0.2);
}
