

/* --- Typographie Globale --- */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 13px; /* Taille standard */
    line-height: 1.5;
    color: #24292e;
    margin-left: 15%;
    max-width: 800px;
}

/* --- Titres --- */
h1, h2, h3 {
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 10px;
}

/* Le Titre Principal en GRIS-BLEU */
h1 {
    color: #435760; /* Gris-bleu élégant */
    font-size: 2.2em;
    border-bottom: 2px solid #546e7a;
    padding-bottom: 0.3em;
}

h2 {
    color: #455a64; /* Un gris-bleu un peu plus foncé */
    border-bottom: 1px solid #eaecef;
    padding-bottom: 0.3em;
    padding-top: 1em;
}

h3 {
    color: #607d8b; /* Gris-bleu plus clair */
}

/* --- LE STYLE ECLIPSE POUR LE CODE --- */

/* Bloc de code général */
pre.java {
    background-color: #f2f3ff; /* <--- ICI : Un bleu très pâle (Alice Blue modifié) */
    border: 1px solid #d0e0f0; /* Bordure bleutée légère pour aller avec le fond */
    border-radius: 4px;
    padding: 10px;
    overflow: auto;
    page-break-inside: avoid;
}

code, pre {
    font-family: monospace;
    font-size: 12px;
}

pre > code.sourceCode > span {
  text-indent: 0 !important;
  padding-left: 0 !important;
}

/* Code en ligne (ex: `int i`) - On garde un fond gris clair pour le distinguer du texte */
p code, li code {
    background-color: #f0f0f0;
    padding: 0.2em 0.4em;
    border-radius: 3px;
    color: #333;
}

code span { padding: 0px; }

/* --- Coloration Syntaxique (Syntax Highlighting) --- */
/* Pandoc utilise des 'span' avec des classes spécifiques */

/* Mots-clés (public, static, void, return...) -> Violet + Gras */
code span.kw { color: #7f0055; font-weight: bold; }

/* Types primitifs et classes (int, String...) -> Souvent noir ou violet dans Eclipse */
code span.dt { color: #7f0055; font-weight: bold; }

/* Chaînes de caractères ("texte") -> Bleu */
code span.st { color: #2a00ff; }

/* Commentaires (//...) -> Vert */
code span.co { color: #3f7f5f; font-style: italic; }

/* Caractères spéciaux et Opérateurs -> Noir */
code span.op { color: #000000; }

/* Nombres -> Noir */
code span.dv { color: #000000; }

/* Javadoc (parfois tagué comme commentaire doc) -> Bleu-Gris */
code span.do { color: #3f5fbf; }


/* --- Tableaux et autres --- */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 15px;
}
th, td {
    border: 1px solid #ddd;
    padding: 8px;
}
tr:nth-child(even) { background-color: #f9f9f9; }
th {
    background-color: #546e7a; /* Entête de tableau en gris-bleu aussi */
    color: white;
    text-align: left;
}

/* --- Style Spécifique pour les Exemples (Indépendant du code) --- */

pre.exemple {
   /* 1. Force la conservation des espaces et sauts de ligne */
    white-space: pre-wrap; 
    
    /* 2. Police Monospace stricte */
    font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Console", "Consolas", "Monaco", monospace !important;
    /* 3. Couleurs (Bleu-Vert) */
    background-color: #F0F3F5; 
    border: 1px solid #9FB3BC;
    color: #004d40;

    /* 4. Mise en forme */
    padding: 10px;
    margin: 1em 0;
    border-radius: 4px;
    
    /* Pas de saut de page à l'intérieur */
    page-break-inside: avoid;
    
    /* Supprime les marges par défaut des balises pre pour ce style */
    display: block;
}

pre.file {
   /* 1. Force la conservation des espaces et sauts de ligne */
    white-space: pre-wrap; 
    
    /* 2. Police Monospace stricte */
    font-family: "Courier New", Courier, "Lucida Sans Typewriter", "Lucida Console", "Consolas", "Monaco", monospace !important;
    /* 3. Couleurs (Bleu-Vert) */
    background-color: #DCD9DE; 
    border: 1px solid #988F9E;
    color: #242126;

    /* 4. Mise en forme */
    padding: 10px;
    margin: 1em 0;
    border-radius: 4px;
    
    /* Pas de saut de page à l'intérieur */
    page-break-inside: avoid;
    
    /* Supprime les marges par défaut des balises pre pour ce style */
    display: block;
}

/* Red “callout” box for Pandoc HTML output */
div.consignes {
  border: 2px solid #E66385;
  background: #ffebee;
  padding: 0.9em 1.1em;
  margin: 1em 0;
  border-radius: 6px;
}

/* Tidy inner paragraph spacing */
div.consignes > p:first-child { margin-top: 0; }
div.consignes > p:last-child  { margin-bottom: 0; }

