/* /ce2-tables — les trésors des tables (thème île au trésor de /ce2).
   Gros boutons (les CE2 visent mal à la souris), pas de menu en cascade,
   la question et le pavé tiennent sur un écran de tablette sans défiler.
   Tout est préfixé « tb- ». */
@font-face{font-family:Quicksand;src:url("/lecture/polices/quicksand-600.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Quicksand;src:url("/lecture/polices/quicksand-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Baloo 2";src:url("/ce1-fr/polices/baloo-2-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}

html,body{margin:0;background:#FFF8EA}
body{min-height:100vh;font-family:Quicksand,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:600;color:#2A2416;-webkit-tap-highlight-color:transparent}
.tb{--marine:#0B3954;--doux:#6B5E45;--vert:#2B8A3E;--or:#E3A008;--c:#2F9E44;min-height:100vh;display:flex;flex-direction:column}
.tb *{box-sizing:border-box}
.tb a{color:inherit}
button{font:inherit}

/* ---------- bandeau ---------- */
.tb-barre{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 14px;
  background:linear-gradient(180deg,#7FD6F5,#BDEEFF);box-shadow:0 2px 0 rgba(11,57,84,.12)}
.tb-retour{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--marine);
  font-size:24px;font-weight:700;text-decoration:none;box-shadow:0 3px 0 rgba(11,57,84,.2)}
.tb-retour.flottant{position:absolute;top:10px;left:10px;z-index:3}
.tb-barre-t{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--marine)}
.tb-barre-t b{font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(20px,4.5vw,26px);line-height:1.1}
.tb-barre-t span{font-size:13px;color:#14506F;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-or{flex:none;padding:10px 14px;border-radius:999px;background:#FFF3C4;border:2px solid var(--or);color:#7A4E00;font-weight:700;font-size:18px;text-decoration:none;box-shadow:0 3px 0 var(--or)}

.tb-corps{width:100%;max-width:860px;margin:0 auto;padding:18px 16px 28px;flex:1;position:relative}

/* ---------- la pièce d'or (l'émoji 🪙 est argenté sur Apple : voir app.js) ---------- */
.tb-po{display:inline-block;width:1em;height:1em;border-radius:50%;vertical-align:-.14em;margin:0 .05em;
  background:radial-gradient(circle at 35% 30%,#FFF6C2 0 12%,#FFD43B 30%,#F59F00 75%,#C98A00 100%);
  box-shadow:inset 0 0 0 .08em #B8860B,inset 0 0 0 .17em #FFE066,0 .05em 0 rgba(122,78,0,.35)}

/* ---------- Plumo ---------- */
.tb-plumo{display:inline-block;flex:none;line-height:0}
.tb-plumo svg{display:block;width:100%;height:auto}
.tb-plumo-vide{font-size:48px}
.tb-bulle-plumo{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.tb-bulle-plumo p{position:relative;margin:0;padding:14px 16px;background:#fff;border-radius:18px;box-shadow:0 3px 0 rgba(42,36,22,.12);font-size:17px;line-height:1.45}
.tb-bulle-plumo p::before{content:"";position:absolute;left:-9px;top:50%;margin-top:-9px;border:9px solid transparent;border-left:0;border-right-color:#fff}

/* ---------- accueil ---------- */
.tb-mission{display:flex;align-items:center;gap:16px;padding:18px 22px;margin-bottom:16px;border-radius:24px;text-decoration:none;
  background:#2B8A3E;color:#fff !important;box-shadow:0 6px 0 #1B5E29;animation:tb-pulse 2.4s ease-in-out infinite}
.tb-mission.faite{background:#0B3954;box-shadow:0 6px 0 #062337;animation:none}
.tb-mission b{display:block;font-family:"Baloo 2",Quicksand,sans-serif;font-size:28px;line-height:1.1}
.tb-mission span span{font-size:16px;opacity:.9}
.tb-mission-ic{font-size:44px}
.tb-mission:active{transform:translateY(3px);box-shadow:0 3px 0 #1B5E29}
@keyframes tb-pulse{50%{transform:scale(1.015)}}
.tb-jauge-zone{background:#fff;border-radius:20px;padding:14px 16px;box-shadow:0 3px 0 rgba(42,36,22,.1);margin-bottom:14px}
.tb-jauge-t{font-size:17px;color:var(--doux);margin-bottom:8px}
.tb-jauge-t b{font-size:22px;color:#7A4E00}
.tb-jauge{height:18px;border-radius:9px;background:#F1E9D2;overflow:hidden}
.tb-jauge span{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,#FFD43B,#E3A008);min-width:4px}
.tb-jauge-s{margin:8px 0 0;font-size:14px;color:var(--doux)}
.tb-carte-lien{display:block;text-decoration:none;margin:0 auto 4px;width:fit-content;max-width:100%}
.tb-bas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.tb-tuile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border-radius:20px;text-decoration:none;background:#0B3954;color:#fff !important;box-shadow:0 5px 0 #062337;text-align:center}
.tb-tuile span{font-size:32px}
.tb-tuile b{font-size:18px}
.tb-tuile small{font-size:13px;opacity:.85}
.tb-total{text-align:center;color:var(--doux);margin:16px 0 0}
.tb-chapeau{font-size:17px;line-height:1.45;color:var(--doux);margin:0 0 14px}

/* ---------- la grande table ---------- */
.tb-grille{border-collapse:separate;border-spacing:4px;margin:0 auto;font-variant-numeric:tabular-nums}
.tb-grille th{font-family:"Baloo 2",Quicksand,sans-serif;color:var(--marine);font-size:18px;width:44px;height:36px}
.tb-grille th.coin{color:var(--doux)}
.tb-grille td{width:48px;height:40px;border-radius:10px;text-align:center;font-size:17px;font-weight:700}
.tb-grille.petite{border-spacing:3px}
.tb-grille.petite th{font-size:13px;width:22px;height:22px}
.tb-grille.petite td{width:26px;height:22px;border-radius:6px;font-size:11px}
.st-nouveau{background:#EFE8D6;color:#A89C80}
.st-encours{background:#FFE8CC;color:#A34A00;box-shadow:inset 0 0 0 2px #FFC078}
.st-presque{background:#D3F9D8;color:#1B5E29;box-shadow:inset 0 0 0 2px #8CE99A}
.st-auto{background:linear-gradient(135deg,#FFE066,#FAB005);color:#5C3B00;box-shadow:inset 0 0 0 2px #E3A008,0 2px 0 #C98A00}
.tb-grille td.neuf{animation:tb-brille 1.2s ease-in-out 3}
@keyframes tb-brille{50%{transform:scale(1.25);box-shadow:0 0 0 4px #FFF3BF,0 0 16px #FAB005}}
.tb-legende{text-align:center;font-size:14px;color:var(--doux);margin:10px 0}
.pastille{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-left:8px}

/* ---------- choisir une table ---------- */
.tb-tables{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tb-table{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;border-radius:22px;text-decoration:none;background:#fff;
  border:3px solid var(--c);box-shadow:0 5px 0 var(--c)}
.tb-table b{font-family:"Baloo 2",Quicksand,sans-serif;font-size:34px;color:var(--marine)}
.tb-table span{font-size:14px;color:var(--doux)}
.tb-table.doree{background:linear-gradient(135deg,#FFF3BF,#FFE066);border-color:var(--or);box-shadow:0 5px 0 var(--or)}
.tb-table:active{transform:translateY(3px);box-shadow:0 2px 0 var(--c)}

/* ---------- une question ---------- */
.tb-q{max-width:560px;padding-top:12px}
.tb-prog{display:flex;gap:4px;margin-bottom:12px}
.tb-prog span{flex:1;height:10px;border-radius:5px;background:#E9E1CC}
.tb-prog span.ecl{background:#FAB005}
.tb-prog span.ok{background:#40C057}
.tb-prog span.ko{background:#FA8C5A}
.tb-prog span.ici{background:#0B3954}
.tb-carte-q{background:#fff;border-radius:26px;padding:16px 18px 14px;box-shadow:0 5px 0 rgba(42,36,22,.1);border-top:8px solid #0B3954;text-align:center}
.tb-carte-q.intro{border-top-color:#7048E8}
.tb-intro{margin:0 0 4px;font-size:17px;color:#5F3DC4}
.tb-calcul{margin:0;font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(52px,14vw,76px);line-height:1.15;color:var(--marine);font-variant-numeric:tabular-nums;white-space:nowrap}
.tb-fois{color:#E8590C}
.tb-case{display:inline-block;min-width:1.7em;padding:0 .12em;border-bottom:6px solid #0B3954;border-radius:12px 12px 0 0;background:#F1F3F5;color:#2A2416}
.tb-case.vide{color:#ADB5BD}
.tb-case.eclair{background:linear-gradient(135deg,#FFE066,#FAB005);border-color:var(--or);color:#5C3B00;animation:tb-pop .3s}
.tb-case.juste{background:#D3F9D8;border-color:var(--vert);color:var(--vert)}
.tb-case.montre{background:#D3F9D8;border-color:var(--vert);color:var(--vert)}
.tb-case.cache,.tb-fait b.cache{color:transparent !important;text-shadow:none;background:#E9ECEF}
.tb-case.petite{font-family:"Baloo 2",Quicksand,sans-serif;font-size:34px;min-width:1.8em;border-bottom-width:4px;text-align:center;vertical-align:middle}
.tb-case.secoue{animation:tb-secoue .35s}
@keyframes tb-pop{50%{transform:scale(1.15)}}
@keyframes tb-secoue{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
/* la mèche : brûle pendant le temps « éclair », puis s'éteint (pas de compte à rebours) */
.tb-meche{position:relative;height:10px;margin:10px 6px 2px;border-radius:5px;background:#F1E9D2;overflow:visible}
.tb-meche-feu{position:absolute;inset:0 0 0 auto;width:100%;border-radius:5px;background:linear-gradient(90deg,#FFD43B,#FF922B);animation:tb-brule linear forwards}
.tb-meche-feu i{position:absolute;left:-12px;top:-14px;font-style:normal;font-size:22px;line-height:1}
.tb-meche.eteinte .tb-meche-feu i,.tb-meche.arrete .tb-meche-feu i{display:none}
.tb-meche.arrete .tb-meche-feu{animation-play-state:paused}
@keyframes tb-brule{to{width:0}}
.tb-bas-q{margin-top:14px}
.tb-pave{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:380px;margin:0 auto}
.tb-touche{height:clamp(58px,9.5vh,76px);border:0;border-radius:18px;background:#fff;color:var(--marine);cursor:pointer;
  font-family:"Baloo 2",Quicksand,sans-serif;font-size:34px;box-shadow:0 5px 0 #CDBF9E;touch-action:manipulation;user-select:none}
.tb-touche:active{transform:translateY(3px);box-shadow:0 2px 0 #CDBF9E}
.tb-touche.efface{background:#F1F3F5;font-size:28px}
.tb-touche.valide{background:#2B8A3E;color:#fff;box-shadow:0 5px 0 #1B5E29}
.tb-touche:disabled{opacity:.5;cursor:default}
.tb-passer{display:block;margin:14px auto 0;border:0;background:none;color:#5F3DC4;font-size:17px;font-weight:700;cursor:pointer;padding:10px 16px;border-radius:999px}
.tb-passer:hover{background:#F3F0FF}
.tb-passer:disabled{visibility:hidden}

/* ---------- le retour ---------- */
.tb-fb{position:relative;border-radius:22px;padding:14px 18px;animation:tb-monte .2s ease-out;text-align:center}
.tb-fb.eclair{background:#FFF9DB;border:3px solid #FAB005}
.tb-fb.ok{background:#EBFBEE;border:3px solid #40C057}
.tb-fb.ko{background:#FFF4E6;border:3px solid #FD7E14;text-align:left}
@keyframes tb-monte{from{opacity:0;transform:translateY(8px)}}
.tb-fb-t{font-family:"Baloo 2",Quicksand,sans-serif;font-size:28px;color:var(--marine);display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.tb-fb.ko .tb-fb-t{font-size:23px;justify-content:flex-start}
.tb-fb-gain{color:#7A4E00}
.tb-fb-s{margin:6px 0 0;font-size:17px;color:var(--doux)}
.tb-fb-auto{margin:8px 0 0;font-size:18px;color:#7A4E00;font-weight:700}
.tb-fait{margin:6px 0 4px;font-family:"Baloo 2",Quicksand,sans-serif;font-size:40px;color:var(--marine);text-align:center}
.tb-fait b{color:var(--vert);padding:0 .15em;border-radius:10px;transition:color .3s,background .3s}
.tb-truc-zone{display:flex;align-items:center;gap:10px;margin:6px 0}
.tb-truc{margin:0;font-size:17px;line-height:1.45;color:#40362A;background:#fff;border-radius:14px;padding:10px 12px}
.tb-recopie{margin:10px 0 4px;font-size:18px;font-weight:700;color:var(--marine)}
.tb-fb + .tb-pave{margin-top:12px}
.tb-piece-vol{position:absolute;top:0;font-size:28px;pointer-events:none;animation:tb-vole 1.1s ease-out forwards}
@keyframes tb-vole{to{transform:translateY(-120px) scale(.6);opacity:0}}

/* ---------- boutons ---------- */
.tb-suite{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}
.tb-go{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 26px;border:0;border-radius:999px;cursor:pointer;
  background:#2B8A3E;color:#fff !important;font-size:20px;font-weight:700;text-decoration:none;box-shadow:0 5px 0 #1B5E29}
.tb-go:active{transform:translateY(3px);box-shadow:0 2px 0 #1B5E29}
.tb-go:disabled{opacity:.45;cursor:default}
.tb-go.clair{background:#fff;color:var(--marine) !important;box-shadow:0 5px 0 rgba(11,57,84,.25)}
.tb-lien{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;padding:6px}

/* ---------- fin de séance ---------- */
.tb-fin{text-align:center}
.tb-fin-t{font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(28px,6vw,38px);color:var(--marine);margin:8px 0}
.tb-fin-score{font-size:22px;margin:4px 0}
.tb-fin-auto{font-size:19px;color:#7A4E00;font-weight:700;margin:8px 0}
.tb-fin-s{font-size:16px;color:var(--doux);margin:6px 0}
.tb-coffre{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px;margin:14px auto;padding:14px 26px;border-radius:22px;background:#FFF3C4;border:3px solid var(--or);color:#7A4E00}
.tb-coffre-ic{font-size:40px}
.tb-coffre b{font-size:22px}
.tb-astuce{font-size:15px;color:var(--doux);line-height:1.45;margin:12px 0}
.tb-record{color:#7A4E00;font-weight:700}

/* ---------- récompenses ---------- */
.tb-vitrine{display:flex;align-items:center;gap:16px;background:#fff;border-radius:22px;padding:14px;box-shadow:0 3px 0 rgba(42,36,22,.1)}
.tb-vitrine p{font-size:18px;margin:0}
.tb-onglets{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}
.tb-onglet{border:0;border-radius:999px;padding:10px 16px;background:#fff;cursor:pointer;font-weight:700;box-shadow:0 3px 0 rgba(42,36,22,.15)}
.tb-onglet.on{background:#0B3954;color:#fff}
.tb-objets{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.tb-objet{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:3px solid transparent;border-radius:18px;background:#fff;cursor:pointer;box-shadow:0 3px 0 rgba(42,36,22,.12)}
.tb-objet-img{width:84px;line-height:0}
.tb-objet-img svg{width:100%;height:auto}
.tb-objet.porte{border-color:var(--vert)}
.tb-objet.cher{opacity:.55}
.tb-objet-prix{font-size:15px;color:#7A4E00}

/* ---------- le canon ---------- */
.tb-jeu-intro{text-align:center}
.tb-jeu-affiche{background:#fff;border-radius:24px;padding:18px;box-shadow:0 4px 0 rgba(42,36,22,.1)}
.tb-jeu-gros{font-size:56px}
.tb-jeu-affiche h1{font-family:"Baloo 2",Quicksand,sans-serif;color:var(--marine);margin:6px 0}
.tb-jeu-affiche p{font-size:17px;line-height:1.45}
.tb-reviser{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px;padding:16px;border-radius:20px;background:#FFF3C4;border:3px solid var(--or)}
.tb-jeu{position:relative;flex:1;display:flex;flex-direction:column;max-width:620px;width:100%;margin:0 auto;padding:10px 12px 18px}
.tb-hud{display:flex;justify-content:center;gap:22px;font-size:22px;font-weight:700;padding:8px 0 8px 54px}
.tb-mer-jeu{position:relative;height:clamp(170px,30vh,250px);border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#BDEEFF 0%,#7FD6F5 55%,#1C7ED6 56%,#1479B0 100%)}
.tb-vagues{position:absolute;left:0;right:0;top:54%;height:16px;background:radial-gradient(circle at 10px -2px,transparent 10px,#fff 11px,transparent 12px) 0 0/20px 16px repeat-x;opacity:.6}
.tb-bateau{position:absolute;top:14%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;transition:opacity .3s}
.tb-voile{background:#fff;border-radius:14px 14px 4px 4px;padding:8px 14px;font-family:"Baloo 2",Quicksand,sans-serif;font-size:30px;color:var(--marine);white-space:nowrap;box-shadow:0 3px 0 rgba(0,0,0,.15)}
.tb-coque{margin-top:4px;width:120px;height:34px;border-radius:0 0 60px 60px;background:#8A5A2B;display:grid;place-items:center;font-size:18px}
.tb-bateau.coule{animation:tb-coule .6s forwards}
.tb-bateau.rate .tb-voile,.tb-bateau.passe .tb-voile{background:#D3F9D8;color:var(--vert)}
.tb-bateau.passe{opacity:.4}
@keyframes tb-coule{to{transform:translateX(-50%) translateY(80px) rotate(25deg);opacity:0}}
.tb-viseur{position:absolute;left:12px;bottom:12px;padding:8px 16px;border-radius:999px;background:#fff;font-family:"Baloo 2",Quicksand,sans-serif;font-size:28px;color:var(--marine);box-shadow:0 3px 0 rgba(0,0,0,.2)}
.tb-pave.jeu{margin-top:12px;width:100%}

/* ---------- parents ---------- */
.tb-parents h2{font-family:"Baloo 2",Quicksand,sans-serif;color:var(--marine);margin:22px 0 8px}
.tb-porte{max-width:360px;margin:30px auto;text-align:center;background:#fff;border-radius:22px;padding:22px;box-shadow:0 4px 0 rgba(42,36,22,.1)}
.tb-champ{font:inherit;font-size:24px;width:140px;padding:10px;border:3px solid #ADB5BD;border-radius:14px;text-align:center;margin:0 auto 12px;display:block}
.tb-liste{padding-left:20px;line-height:1.5}
.tb-liste li{margin:6px 0}
.tb-tab-zone{overflow-x:auto}
.tb-tab{border-collapse:collapse;width:100%;background:#fff;border-radius:14px;overflow:hidden;font-size:15px}
.tb-tab th,.tb-tab td{padding:8px 10px;border-bottom:1px solid #EFE8D6;text-align:left}
.tb-tab th{background:#F6F1E4;color:var(--marine)}
.tb-reglage{background:#fff;border-radius:16px;padding:12px 14px;margin:10px 0;box-shadow:0 2px 0 rgba(42,36,22,.08)}
.tb-reglage b{display:block}
.tb-reglage small{display:block;color:var(--doux);margin:2px 0 8px;line-height:1.4}
.tb-reglage-c{display:flex;gap:8px;flex-wrap:wrap}
.tb-pastille-c{border:2px solid #0B3954;border-radius:999px;padding:8px 18px;background:#fff;color:#0B3954;cursor:pointer;font-weight:700}
.tb-pastille-c.on{background:#0B3954;color:#fff}

/* ---------- pied ---------- */
.tb-pied{padding:16px;text-align:center;color:var(--doux);font-size:14px}
.tb-pied-l{margin:8px 0}
.tb-pied p{margin:6px 0 0;font-size:12px}
.tb-compte{max-width:700px;margin:0 auto}

@media (max-width:600px){
  .tb-bas{grid-template-columns:1fr}
  .tb-grille th{width:30px;font-size:14px}
  .tb-grille td{width:32px;height:32px;font-size:13px;border-radius:7px}
  .tb-grille{border-spacing:2px}
}
@media (prefers-reduced-motion:reduce){
  .tb-mission,.tb-grille td.neuf,.tb-case.eclair{animation:none}
}

/* ---------- l'expédition : une table à la fois (etapes.js) ---------- */
.tb-h2{font-family:"Baloo 2",Quicksand,sans-serif;font-size:26px;color:var(--marine);margin:22px 0 4px;text-align:center}
.tb-expe-s{text-align:center;margin:0 auto 14px;max-width:560px;color:var(--doux);font-size:16px;line-height:1.4}
.tb-etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tb-etape{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:16px 10px 14px;border-radius:22px;text-decoration:none;
  background:#fff;border:3px solid #EADFC6;box-shadow:0 5px 0 #EADFC6;text-align:center}
.tb-etape:active{transform:translateY(3px);box-shadow:0 2px 0 #EADFC6}
.tb-etape.conseil{border-color:#FD7E14;box-shadow:0 5px 0 #FD7E14}
.tb-etape.franchie{background:#F4FCE3;border-color:#82C91E;box-shadow:0 5px 0 #82C91E}
.tb-etape.defi{background:#0B3954;border-color:#0B3954;box-shadow:0 5px 0 #062337;color:#fff !important}
.tb-etape.defi .tb-etape-num,.tb-etape.defi .tb-etape-s,.tb-etape.defi .tb-etape-et{color:#BFD9EA}
.tb-etape.defi .tb-etape-et{letter-spacing:0;font-size:18px}
.tb-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:3px 10px;border-radius:999px;background:#FD7E14;color:#fff;font-size:13px;font-weight:700}
.tb-etape-num{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--doux)}
.tb-etape-t{font-family:"Baloo 2",Quicksand,sans-serif;font-size:40px;line-height:1.05;color:var(--marine)}
.tb-etape.defi .tb-etape-t{color:#fff}
.tb-etape-s{font-size:14px;color:var(--doux);min-height:2.4em;display:flex;align-items:center}
.tb-etape-et{font-size:24px;letter-spacing:3px;color:var(--or)}
.tb-etape-auto{font-size:13px;color:#7A4E00}
.tb-etape-go{margin-top:8px;padding:8px 16px;border-radius:999px;background:#2B8A3E;color:#fff;font-weight:700;font-size:16px;box-shadow:0 3px 0 #1B5E29}
.tb-etape.defi .tb-etape-go{background:var(--or);box-shadow:0 3px 0 #9C6A00}
.tb-mission.vide{background:#FD7E14;box-shadow:0 6px 0 #C2410C}

/* une question de l'expédition */
.tb-carte-e{border-top-color:#2B8A3E}
.tb-consigne{margin:0 0 10px;font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(22px,5vw,30px);line-height:1.25;color:var(--marine)}
.tb-consigne.long{font-family:Quicksand,sans-serif;font-weight:700;font-size:clamp(19px,4.4vw,24px);line-height:1.4;text-align:left;max-width:640px;margin:4px auto 10px}
.tb-calcul.moyen{font-size:clamp(42px,11vw,60px)}
.tb-suite-n{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:6px 0;font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(30px,8vw,44px);color:var(--marine)}
.tb-suite-n span:not(.tb-case){padding:2px 12px;border-radius:14px;background:#F1E9D2}
.tb-img{display:grid;place-items:center;margin:4px 0 8px}
.tb-rect{display:block;width:auto;max-width:100%;max-height:240px;height:auto}
.tb-img.petit .tb-rect{max-height:170px}
.tb-rect .fond{fill:#FFFBF2;stroke:#EADFC6;stroke-width:2}
.tb-rect .pc{fill:#FFD43B;stroke:#C98A00;stroke-width:2.5}
.tb-choix-zone{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:520px;margin:10px auto 4px}
.tb-choix{min-height:72px;border:4px solid #2B8A3E;border-radius:20px;background:#fff;cursor:pointer;font-family:"Baloo 2",Quicksand,sans-serif;font-size:32px;color:var(--marine);box-shadow:0 5px 0 #2B8A3E}
.tb-choix:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #2B8A3E}
.tb-choix:disabled{cursor:default;opacity:.55}
.tb-choix.bon{opacity:1;border-color:#2B8A3E;background:#EBFBEE;color:#1B5E29}
.tb-choix.faux{border-color:#FD7E14;background:#FFF4E6;box-shadow:0 5px 0 #FD7E14}
.tb-fb-zone{margin-top:12px}
.tb-fb-zone:empty{display:none}
.tb-fb-zone + .tb-bas-q{margin-top:12px}
.tb-fin-et{font-size:46px;letter-spacing:6px;color:var(--or);margin:0}
.tb-franchie{display:flex;flex-direction:column;gap:4px;max-width:520px;margin:12px auto;padding:14px 18px;border-radius:20px;background:#F4FCE3;border:3px solid #82C91E}
.tb-franchie b{font-family:"Baloo 2",Quicksand,sans-serif;font-size:26px;color:#2B8A3E}
@media (max-width:760px){ .tb-etapes{grid-template-columns:1fr 1fr} }
@media (max-width:420px){ .tb-choix-zone{grid-template-columns:1fr} }

/* ---------- le choix avant une table, l'exemple, l'aide « ensemble » ---------- */
.tb-choix-page{max-width:640px;text-align:center}
.tb-choix-t{font-family:"Baloo 2",Quicksand,sans-serif;font-size:56px;color:var(--marine);margin:0}
.tb-chemin{display:flex;align-items:center;gap:16px;width:100%;margin:14px 0;padding:16px 20px;border-radius:22px;text-align:left;text-decoration:none;cursor:pointer;
  font:inherit;color:var(--marine) !important;background:#fff;border:4px solid #2B8A3E;box-shadow:0 6px 0 #1B5E29}
.tb-chemin:active{transform:translateY(3px);box-shadow:0 3px 0 #1B5E29}
.tb-chemin.montre{background:#EBFBEE}
.tb-chemin-ic{flex:none;font-size:42px;line-height:1}
.tb-chemin b{display:block;font-family:"Baloo 2",Quicksand,sans-serif;font-size:25px;line-height:1.1}
.tb-chemin small{display:block;font-size:16px;color:var(--doux);margin-top:4px;line-height:1.35}
.tb-montre-t{display:inline-block;margin:0 0 6px;padding:6px 14px;border-radius:999px;background:#D3F9D8;color:var(--marine);font-weight:700;font-size:17px}
.tb-montre-dit{font-size:20px;color:var(--marine);line-height:1.45;max-width:640px;margin:12px auto 0}
.tb-montre-pas{display:flex;gap:8px;justify-content:center;margin:16px 0 4px}
.tb-montre-pas span{width:12px;height:12px;border-radius:50%;background:#E3DCEC}
.tb-montre-pas span.vu{background:#B2F2BB}
.tb-montre-pas span.ici{background:#2B8A3E}
.tb-ensemble,.tb-seul{margin:0 0 12px;padding:10px 14px;border-radius:16px;font-size:17px;line-height:1.4;text-align:left}
.tb-ensemble{background:#FFF8E1;border:2px dashed #E3A008;color:#6B4A00}
.tb-seul{background:#EBFBEE;border:2px solid #40C057;color:#1B5E29}
