:root{ --orange:#E07B39; --bleu:#1F3B57; --gris:#555; --bord:#e2e2e2; }
*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;color:#1f2430;margin:0;background:#f6f7f8;line-height:1.5}
.bandeau{display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:3px solid var(--orange);padding:10px 22px}
.bandeau.pied{border-bottom:none;border-top:1px solid var(--bord);margin-top:30px;font-size:13px;color:var(--gris)}
.logo-zone{min-width:120px;min-height:40px;display:flex;align-items:center}
.logo-zone img{max-height:54px;max-width:200px}
.logo-ph{font-weight:bold;color:var(--bleu);letter-spacing:1px}
.bandeau-titre{color:var(--bleu);font-weight:bold}
main{max-width:680px;margin:26px auto;padding:0 16px}
.carte{background:#fff;border:1px solid var(--bord);border-radius:12px;padding:26px}
h1{color:var(--bleu);font-size:24px;margin:0 0 14px}
h2{color:#1f2430;font-size:19px;margin:6px 0 16px}
label{display:block;font-weight:bold;margin:14px 0 5px;color:var(--bleu)}
input[type=text],select{width:100%;padding:11px;border:1px solid #c9c9c9;border-radius:8px;font-size:16px}
.choix{display:flex;align-items:flex-start;gap:10px;background:#fafafa;border:1px solid var(--bord);border-radius:8px;padding:12px;margin:8px 0;font-weight:normal;color:#1f2430;cursor:pointer}
.choix input{margin-top:3px}
button,.btn{display:inline-block;margin-top:18px;background:var(--orange);color:#fff;border:none;border-radius:8px;padding:13px 22px;font-size:16px;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{background:#cf6a2a}
.consigne{color:var(--gris);font-size:14px;margin:4px 0 10px}
.info{background:#fcf1e8;border:1px solid #e7b894;border-radius:8px;padding:10px 13px;font-size:14px;color:#5a4632}
.err{background:#fdeaea;border:1px solid #e3a3a3;color:#9b2c2c;border-radius:8px;padding:10px 13px}
.progress{float:right;color:var(--gris);font-size:14px;font-weight:bold}
.correction{list-style:none;padding:0;margin:0 0 14px}
.correction li{padding:10px 12px;border-radius:8px;margin:6px 0;border:1px solid var(--bord)}
.correction .bonne{background:#eaf6ec;border-color:#bfe2c5}
.correction .mauvaise{background:#fbeeee;border-color:#e7c2c2}
.correction .jnsp{background:#f3f3f3}
.correction .mk{font-weight:bold;margin-right:6px}
.moi{color:var(--bleu);font-style:italic;font-size:13px}
.feedback{background:#eef4f9;border:1px solid #cfe0ee;border-radius:8px;padding:12px 14px;margin:10px 0;font-size:15px}
.feedback.etab{background:#fff7ed;border-color:#f0cda0}
.score-bloc{text-align:center;margin:22px 0}
.score-val{font-size:46px;font-weight:bold;color:var(--orange)}
.score-lbl{color:var(--gris)}
