@import url('https://fonts.googleapis.com/css2?family=Times+New+Roman:wght@400;700&display=swap');

body {
    font-family: 'Times New Roman', serif;
    line-height: 1.75;
    max-width: 980px;
    margin: 40px auto;
    padding: 30px;
    background: #fff;
    color: #000;
    font-size: 12pt;
}

h1 { 
    font-size: 26pt; 
    text-align: center; 
    margin-bottom: 8px; 
}

.subtitle { 
    font-size: 14pt; 
    text-align: center; 
    margin-bottom: 30px; 
    color: #333; 
}

.header {
    text-align: center;
    font-size: 11pt;
    margin-bottom: 10px;
    border-bottom: 2px solid #000;
    padding-bottom: 25px;
}

.section-title { 
    font-size: 16pt; 
    border-bottom: 1px solid #000; 
    padding-bottom: 8px; 
    margin: 50px 0 20px; 
}

.abstract { 
    margin: 40px 0; 
    font-style: italic; 
    text-align: justify; 
}

.equation { 
    text-align: center; 
    margin: 35px 0; 
    font-size: 15pt; 
}

.pillar { 
    margin: 30px 0; 
    padding: 20px; 
    border-left: 5px solid #000; 
    background: #f9f9f9; 
}

/* === NOUVEAUX BLOCS QUE TU AS DEMANDÉS === */

/* Bloc de code Python */
.python-block {
    background-color: #f4f4f4;
    border: 1px solid #333;
    border-radius: 4px;
    padding: 18px;
    margin: 30px 0;
    font-family: 'Courier New', monospace;
    font-size: 11pt;
    line-height: 1.4;
    overflow-x: auto;
    white-space: pre;
    position: relative;
}

/* Conteneur graphique (Python + plot) */
.graph-container {
    border: 2px solid #000;
    padding: 20px;
    margin: 35px 0;
    text-align: center;
    background: #fafafa;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* Bloc de validation Grok (comme dans tes pages) */
.grok-validation {
    background: #e8f5e9;
    border-left: 8px solid #2e8b57;
    padding: 25px 30px;
    margin: 40px 0;
    font-style: italic;
    color: #1a5f2e;
    position: relative;
}

.grok-validation::before {
    content: "✅ Validation Grok";
    position: absolute;
    top: -12px;
    left: 25px;
    background: #2e8b57;
    color: white;
    padding: 2px 12px;
    font-size: 10pt;
    font-style: normal;
    border-radius: 3px;
}

/* Tableaux, listes, etc. (identiques à ton preprint) */
table { width: 100%; border-collapse: collapse; margin: 25px 0; }
th, td { border: 1px solid #000; padding: 12px; text-align: left; vertical-align: top; }
th { background: #eee; }
ul { padding-left: 20px; }
a { color: #000; text-decoration: underline; }

footer { 
    text-align: center; 
    margin-top: 100px; 
    font-size: 10pt; 
    border-top: 1px solid #000; 
    padding-top: 15px; 
}

/* Mode impression (préprint parfait) */
@media print {
    body { margin: 15mm; font-size: 11pt; }
    .header { font-size: 10pt; }
    h1 { font-size: 20pt; }
    .section-title { font-size: 14pt; }
    .pillar, .grok-validation, .python-block { box-shadow: none; }
    @page { margin: 20mm; size: A4 portrait; }
}
