:root{
  --bg:#f4f6fb; --paper:#ffffff; --ink:#141b33; --muted:#4d5672; --line:#d6dcea;
  --navy:#1b2f6e; --navy-dark:#12204d; --red:#c8102e; --red-soft:#fdecef; --tint:#e7ecf8;
  --cream:#eef4ff; --gold:#d9a441;
  --f-display:"Overpass","Arial Narrow",Arial,sans-serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --f-mono:"Overpass Mono",ui-monospace,Menlo,monospace;
  --f-poster:"Alfa Slab One",Rockwell,"Courier New",serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.55;overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{color:var(--navy)}
[hidden]{display:none!important}
.wrap{max-width:860px;margin:0 auto;padding-left:16px;padding-right:16px}
.linkbar{background:var(--navy-dark);color:#fff;padding:9px 16px;font-family:var(--f-display);font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.linkbar a{color:#ffd9de;font-weight:700}
.topnav{background:#fff;border-bottom:1px solid var(--line)}
.topnav .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;padding-top:8px;padding-bottom:8px}
.brand{font-family:var(--f-poster);color:var(--navy);text-decoration:none;font-size:19px;line-height:1.1}
.brand small{display:block;font-family:var(--f-display);font-size:12px;color:var(--muted);font-weight:600}
.navlinks{display:flex;flex-wrap:wrap;gap:4px 12px;font-family:var(--f-display);font-weight:700;font-size:14px}
.navlinks a{text-decoration:none;color:var(--navy)}
header.hero{background:repeating-linear-gradient(180deg,#c8102e 0 26px,#ffffff 26px 52px);padding-block:26px}
.hero .board{background:radial-gradient(circle,#ffffff 1.6px,transparent 2.4px) 0 0/26px 26px,var(--navy);color:#fff;border-radius:16px;padding:24px 22px;box-shadow:0 10px 24px rgba(27,47,110,.35);max-width:640px;display:grid;gap:8px}
.stars{letter-spacing:.3em;font-size:14px}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.92}
.hero h1{font-family:var(--f-poster);font-weight:400;font-size:clamp(36px,9vw,64px);line-height:1;margin:0;letter-spacing:.01em;text-shadow:3px 3px 0 var(--red)}
.hero p{margin:0;font-family:var(--f-display);font-size:20px;font-weight:700}
.hero .exit{display:inline-block;font-family:var(--f-display);font-weight:800;font-size:14px;background:var(--red);color:#fff;border-radius:6px;padding:5px 12px;width:max-content;max-width:100%}
nav.tabs{position:sticky;top:0;z-index:5;background:var(--navy);border-bottom:4px solid var(--red)}
nav.tabs .row{display:flex;gap:6px;overflow-x:auto;padding-block:10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
nav.tabs button{flex:0 0 auto;font-family:var(--f-display);font-weight:800;font-size:14px;border:2px solid rgba(255,255,255,.55);background:transparent;color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;white-space:nowrap;min-height:40px}
nav.tabs button:nth-child(4n+2){border-color:#ffb3bf}
nav.tabs button[aria-selected="true"]{background:var(--red);border-color:var(--red)}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
main{padding-block:22px 50px}
section.panel{display:grid;gap:18px;min-width:0}
h2{font-family:var(--f-poster);font-weight:400;color:var(--navy);font-size:32px;line-height:1.1;margin:0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
h2::before{content:"\2605";color:var(--red);font-size:.8em}
h3{font-family:var(--f-display);font-weight:800;font-size:20px;margin:0;color:var(--navy)}
h4{font-family:var(--f-display);font-weight:800;font-size:16px;margin:0;color:var(--red)}
p{margin:0}
.obj{font-family:var(--f-display);font-weight:600;font-size:18px;color:var(--muted)}
.block{background:var(--paper);border-radius:12px;padding:16px 18px;display:grid;gap:10px;min-width:0;border-top:5px solid var(--navy);box-shadow:0 3px 12px rgba(27,47,110,.10)}
.block:nth-of-type(even){border-top-color:var(--red)}
.block.warm{background:var(--cream);border-top-color:var(--gold)}
.time{font-family:var(--f-mono);font-size:12px;background:var(--navy);color:#fff;border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:middle;white-space:nowrap}
ul,ol{margin:0;padding-left:1.3em;display:grid;gap:4px}
.en{font-style:italic}
.table{overflow-x:auto;border:1px solid var(--line);border-radius:10px;max-width:100%}
table{border-collapse:collapse;width:100%;font-size:15.5px;background:var(--paper)}
th,td{padding:8px 11px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--f-display);font-weight:800;background:var(--navy);color:#fff}
tr:nth-child(even) td{background:#f8f9fd}
tr:last-child td{border-bottom:0}
figure{margin:0;display:grid;gap:6px;min-width:0}
figure img{width:100%;border-radius:10px;display:block;border:4px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.15);background:#fff}
figcaption{font-family:var(--f-display);font-size:14px;color:var(--ink);line-height:1.4}
figcaption b{color:var(--navy)}
figcaption .cr{display:block;font-family:var(--f-mono);font-size:12px;color:var(--muted);margin-top:2px}
figcaption .cr a{color:var(--muted)}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.note{background:var(--red-soft);border-left:5px solid var(--red);border-radius:8px;padding:10px 14px;font-size:15.5px}
.note.blue{background:var(--tint);border-left-color:var(--navy)}
.guiding{background:var(--navy);color:#fff;border-radius:14px;padding:16px 18px;border-bottom:6px solid var(--red);display:grid;gap:6px}
.guiding b{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffd9de}
.guiding p{font-family:var(--f-poster);font-size:24px;line-height:1.2}
.starters{background:var(--cream);border:2px dashed var(--gold);border-radius:10px;padding:8px 12px;font-size:15.5px}
.starters b{font-family:var(--f-display);color:var(--navy);font-size:13px;letter-spacing:.06em;text-transform:uppercase;display:block;margin-bottom:2px}
.starters ul{padding-left:1.1em}
.starters li{font-style:italic}
details{background:var(--tint);border-radius:8px;padding:8px 12px}
summary{cursor:pointer;font-family:var(--f-display);font-weight:800;font-size:14.5px;color:var(--red);min-height:28px}
details[open] summary{margin-bottom:6px}
.overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.kv{display:grid;gap:2px}
.kv b{font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.route{display:grid;gap:8px}
.stop{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--paper);border:0;border-left:6px solid var(--navy);box-shadow:0 2px 10px rgba(27,47,110,.12);border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;font:inherit;color:inherit;width:100%}
.stop:hover{border-left-color:var(--red)}
.shield{width:42px;height:46px;background:var(--navy);color:#fff;font-family:var(--f-display);font-weight:900;display:grid;place-items:center;border-radius:8px 8px 20px 20px;border-top:7px solid var(--red);font-size:17px}
.shield.red{background:var(--red);border-top-color:var(--navy)}
.stop strong{font-family:var(--f-display);font-weight:800}
.stop span{display:block;color:var(--muted);font-size:15px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.card{border:2px dashed var(--muted);border-radius:10px;padding:12px;background:var(--paper);display:grid;gap:6px;align-content:start;min-height:100px;min-width:0}
.card .tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.card .big{font-family:var(--f-display);font-weight:900;font-size:20px;line-height:1.1}
.card.cap{background:var(--tint)}
.card.surprise{background:var(--red-soft);border-color:var(--red)}
.game{background:radial-gradient(circle,rgba(255,255,255,.18) 1.5px,transparent 2.2px) 0 0/24px 24px,var(--navy);color:#fff;border-radius:14px;padding:18px;display:grid;gap:12px;border-bottom:8px solid var(--red)}
.game .q{font-family:var(--f-poster);font-size:26px;line-height:1.15}
.game .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.game button{font-family:var(--f-display);font-weight:800;font-size:17px;border:2px solid #fff;background:transparent;color:#fff;border-radius:8px;padding:10px;cursor:pointer;min-height:46px}
.game button.ok{background:#fff;color:var(--navy)}
.game button.ko{background:var(--red);border-color:var(--red)}
.game .fb{min-height:1.5em;font-family:var(--f-display);font-weight:600}
.game .bar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--f-mono);font-size:13px}
.game .next{background:var(--red);border-color:var(--red)}
.guess{display:grid;gap:10px}
.guess .clue{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap}
.btn{font-family:var(--f-display);font-weight:800;font-size:14.5px;border:2px solid var(--navy);background:var(--paper);color:var(--ink);border-radius:8px;padding:8px 13px;cursor:pointer;min-height:42px;text-decoration:none;display:inline-flex;align-items:center}
.btn.primary{background:var(--red);border-color:var(--red);color:#fff}
.lvl{font-family:var(--f-mono);font-size:13px;color:var(--muted)}
.zoombox{overflow:hidden;border-radius:10px;border:4px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.15);aspect-ratio:3/2;background:#111}
.zoombox img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;transform-origin:22% 30%}
.links{display:grid;gap:6px}
.links a{font-family:var(--f-display);font-weight:600;word-break:break-word}
.qrbox{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;background:var(--cream);border:2px solid var(--gold);border-radius:12px;padding:12px 14px}
.qrbox img{width:120px;height:120px;border-radius:6px;background:#fff;padding:4px}
.qrbox p{font-family:var(--f-display)}
.orn{text-align:center;color:var(--red);letter-spacing:.6em;font-size:14px}
.teacher{background:#eef6f0;border-left:5px solid #2f7a4f;border-radius:8px;padding:12px 14px;font-size:15.5px;display:grid;gap:6px}
.teacher b.t{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#2f7a4f}
footer{background:var(--navy);color:#fff;border-top:6px solid var(--red);font-family:var(--f-display);font-size:14.5px}
footer .wrap{padding-block:20px;display:grid;gap:8px}
footer a{color:#ffd9de;overflow-wrap:anywhere}
.cc{opacity:.95}
@media (max-width:480px){body{font-size:16px}h2{font-size:26px}.qrbox{grid-template-columns:1fr;justify-items:start}.game .q{font-size:22px}}
@media print{
  .linkbar,.topnav,nav.tabs,.noprint,header.hero .exit{display:none!important}
  header.hero{background:none;padding:0}.hero .board{box-shadow:none}
  body{background:#fff;font-size:12pt}
  .block{box-shadow:none;break-inside:avoid}
  .card{break-inside:avoid}
  details{display:block}details>*{display:block}
  footer{background:none;color:#000;border-top:2px solid #000}footer a{color:#000}
}
figcaption .lvl{font-family:var(--f-display);font-size:13.5px;color:var(--muted)}
figure img{max-height:560px;object-fit:cover}
/* Seconde générale additions */
.introcard{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(27,47,110,.28);max-width:860px;margin:0 auto}
.paint{margin:0;background:#0f1b3d;padding:14px 14px 12px;display:grid;gap:10px}
.paint img{border:0;border-radius:6px;box-shadow:none;max-height:none;object-fit:contain;background:#0f1b3d}
.paint figcaption{color:#e8edf8;font-family:var(--f-display);font-size:14px;line-height:1.5}
.paint figcaption i{color:#fff}
.paint figcaption a{color:#ffd9de}
.paint figcaption .cr{color:#c9d3ea}.paint figcaption .cr a{color:#c9d3ea}
.introcard .board{border-radius:0;box-shadow:none;max-width:none}
.pills{display:flex;flex-wrap:wrap;gap:6px}
.pill{display:inline-block;background:#fff;color:var(--navy);font-family:var(--f-display);font-weight:800;font-size:13.5px;border-radius:999px;padding:4px 11px;line-height:1.3}
.pill.red{background:var(--red);color:#fff}
header.hero{padding-inline:12px}
.block.recap{border-top-color:var(--gold);background:#f6f9ff}
.block.hw{border-top-color:var(--navy);border:2px solid var(--navy);border-top-width:6px}
.lab{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-weight:600}
.block.hw .lab{color:var(--navy)}
details.ans{background:#eef7f1;border-left:5px solid #2f7a4f}
details.ans summary{color:#1f5f3a}
.expert{display:grid;gap:10px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15.5px}
.facts dt{font-family:var(--f-display);font-weight:800;color:var(--navy)}
.facts dd{margin:0}
@media (max-width:520px){.facts{grid-template-columns:1fr}.facts dd{margin-bottom:6px}}
.fr{font-family:var(--f-display)}
.fr h3{margin-top:4px}
.bo q{font-style:italic}
.say{font-family:var(--f-display);font-weight:800;font-size:13.5px;border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:5px 12px;cursor:pointer;min-height:36px;width:max-content}
.roundsel{display:flex;flex-wrap:wrap;gap:8px}
.roundsel button{background:#fff;color:var(--navy);border-color:#fff}
.roundsel button[aria-pressed="true"]{background:var(--red);color:#fff;border-color:var(--red)}
.card .cl{padding-left:1.1em;font-size:15px}
.dyslink{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--tint);border-radius:12px;padding:12px 14px;font-family:var(--f-display)}
.paint figcaption b{color:#fff}
.paint figcaption span{display:block;margin-top:4px}
.introcard .board h1{font-size:clamp(30px,7.6vw,56px);overflow-wrap:break-word;hyphens:manual}
.introcard .board p{font-size:clamp(17px,4.6vw,22px)}
.introcard .board>*{min-width:0;max-width:100%}
.introcard .pill{white-space:normal}
.introcard .exit{width:auto;white-space:normal}

.facet{border:3px solid #173f73;border-radius:12px;padding:16px 18px}

header.hero{background:#fff}
.introcard{border:1px solid #dce1e6;border-radius:10px;box-shadow:none}
.paint,.paint img{background:#fff}
.paint figcaption,.paint figcaption b,.paint figcaption i,.paint figcaption a,.paint figcaption .cr,.paint figcaption .cr a{color:#243348}
.hero .board{background:#fff;color:#243348;box-shadow:none}
.hero h1{font-family:Georgia,serif;text-shadow:none}
.hero .exit{background:#f3f5f7;color:#243348;font-weight:600}
.hero .stars{display:none}
.hero .pill{background:#f3f5f7;color:#243348;border-color:#dce1e6}
.hero .lvl,.hero .lvl a{color:#243348!important}
