/* Épreuves use the existing fiche design; these rules handle long-form content and printing. */
.epreuve .stmt{font-size:11pt;line-height:1.45}
.epreuve .fexo{break-inside:auto;page-break-inside:auto;margin-top:6mm}
.epreuve .eh{break-after:avoid;page-break-after:avoid}
.epreuve h3{font-family:'Space Grotesk',sans-serif;font-size:11pt;margin:4mm 0 2mm;break-after:avoid}
.epreuve ol{padding-left:6mm}.epreuve li{padding-left:1mm;margin:2mm 0;orphans:3;widows:3}
.epreuve .question-points{float:right;margin-left:3mm;font-family:'Space Mono',monospace;font-size:8pt;color:var(--red)}
.epreuve .codebox .code{font-size:8.5pt;line-height:1.4;tab-size:4;overflow-wrap:anywhere}
.epreuve .codebox{break-inside:auto}.epreuve .codebox .hd{break-after:avoid}
.epreuve .tdo{width:100%;font-size:8pt}.epreuve tr{break-inside:avoid}.epreuve thead{display:table-header-group}
.epreuve .fsol{break-inside:auto;page-break-inside:auto}.epreuve .answer-part{margin:3mm 0;orphans:3;widows:3}
.fiche-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4mm;margin-bottom:6mm;font-family:'Space Mono',monospace;font-size:8pt}
.fiche-actions a,.fiche-actions button{color:var(--ink);background:#fff;border:1px solid var(--line);padding:2mm 3mm;text-decoration:none;font:inherit;cursor:pointer}
.fiche-actions a:hover,.fiche-actions button:hover{color:var(--red);border-color:var(--red)}
@media screen and (max-width:760px){.epreuve .stmt{font-size:16px}.epreuve .codebox .code{font-size:12px}.epreuve .tdo{font-size:11px}.epreuve .eh .en{white-space:normal}.epreuve .fhead{flex-wrap:wrap}}
@media print{
 @page{size:A4;margin:14mm 15mm}
 .page.epreuve{width:auto;min-height:0;padding:0;margin:0}
 .fiche-actions{display:none}
 .epreuve .fexo{break-before:auto;page-break-before:auto;break-inside:auto;page-break-inside:auto}
 .epreuve .code{orphans:4;widows:4}.epreuve p{orphans:3;widows:3}
 /* Avoid a nearly empty trailing page when only the screen footer remains. */
 .epreuve .foot{display:none}
}

