/* public/ce1/jeu1.css — FICHIER GÉNÉRÉ par jeu-src/build-ce1.mjs : ne pas éditer.
   La feuille du jeu (jeu-src/src/styles.css), réduite aux classes des ateliers
   du niveau 1 et rangée sous .fx-jeu. Les couleurs du CE1 la recouvrent :
   elles sont dans fractions.css, chargée après. */
.fx-jeu{
  
  --marine:#18315B; --turquoise:#3CC3CB; --corail:#F0624F;
  --jaune:#FDB220;  --violet:#8A70C7;

  
  --bg:#F3F6FA;              
  --bg-2:#E9EEF7;            
  --card:#FFFFFF;            
  --card-sel:#E4F4F6;        
  --card-ok:#E7F3ED;         
  --card-ko:#FBEDEB;         
  --voile:#F3F6FAEE;         

  
  --ink:#17305C;             
  --soft:#59667C;            
  --ink-inv:#FFFFFF;         

  
  --acc:#3CC3CB;             
  --acc-txt:#0E6E78;         
  --acc2:#0B5A62;            
  --ok:#1E7A5B;              
  --err:#C33A2B;             
  --gold:#8A5A08;            
  --gold-vif:#FDB220;        
  --violet-txt:#6B4FB0;      

  
  --hlA:#FDB220;             
  --hlA-txt:#8A5A08;         
  --hlB:#3CC3CB;             
  --hlB-txt:#0E6E78;         

  
  --line:#17305C;            
  --border:#C9D5E6;          
  --border-fort:#7C8AA3;     
  --part:#E3EAF5;            

  
  --sh-1:0 1px 2px #17305C14;
  --sh-2:0 3px 10px #17305C1F;
  --sh-3:0 10px 28px #17305C26;

  
  --r-xs:8px; --r-sm:12px; --r:20px; --r-lg:24px; --r-pill:999px;

  
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:18px; --sp-5:26px; --sp-6:38px;

  
  --t-fast:.12s; --t:.22s; --t-slow:.45s;
  --ease:cubic-bezier(.3,.8,.3,1);
  --ease-out:cubic-bezier(.2,.7,.3,1);

  
  --touch:56px;
}
.fx-jeu .fig.sac{max-height:none;max-width:min(94vw,680px)}
.fx-jeu #top button.retour{color:var(--acc-txt);background:var(--bg-2);border-color:var(--border);
  font-size:23px;font-weight:800;line-height:1;}
.fx-jeu #top button.retour:hover{background:var(--card-sel);border-color:var(--acc-txt);color:var(--acc-txt)}
@media(min-width:640px){
.fx-jeu #top button.retour::after{content:' Retour';font-size:15px;font-weight:800;letter-spacing:.01em;}
.fx-jeu #top button.retour{padding:0 var(--sp-3)}
}
.fx-jeu #steps i.on{background:var(--acc-txt);transform:scale(1.25)}
.fx-jeu #steps i.done{background:var(--ok)}
.fx-jeu .stage{flex:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;
  justify-content:safe center;   
  gap:clamp(10px,2.2vh,26px);padding:var(--sp-3) var(--sp-4) var(--sp-6);
  text-align:center;width:100%;}
.fx-jeu .consigne{font-size:clamp(21px,3.6vw,32px);font-weight:800;margin:0;line-height:1.25;max-width:900px;
  color:var(--ink);}
.fx-jeu .sub{font-size:clamp(16px,2.4vw,22px);color:var(--soft);margin:0;font-weight:600}
.fx-jeu .big-txt{font-size:clamp(24px,4vw,36px);font-weight:800;margin:0}
.fx-jeu .figzone{display:flex;align-items:center;justify-content:center;
  gap:clamp(14px,4vw,48px);flex-wrap:wrap;width:100%}
.fx-jeu .fig{display:block;height:auto;max-width:100%;max-height:min(42vh,380px);overflow:visible}
.fx-jeu .fig.sm{max-height:min(26vh,200px)}
.fx-jeu .fig.xs{max-height:min(21vh,155px)}
.fx-jeu .part{stroke:var(--line);stroke-width:5;stroke-linejoin:round;
  transition:fill var(--t-slow) var(--ease-out), transform var(--t-slow) var(--ease), opacity var(--t)}
.fx-jeu .fig.sm .part,.fx-jeu .fig.xs .part{stroke-width:6}
.fx-jeu .outline{fill:none;stroke:var(--line);stroke-width:7;pointer-events:none;stroke-linejoin:round}
.fx-jeu .clickable .part{cursor:pointer;
  transition:fill var(--t-fast) var(--ease-out),stroke var(--t-fast),stroke-width var(--t-fast)}
@media (hover:hover) and (pointer:fine){
.fx-jeu .clickable .part:hover{stroke:var(--acc-txt);stroke-width:9}
}
.fx-jeu .clickable .part:active{opacity:1;stroke:var(--acc-txt);stroke-width:11}
.fx-jeu .plab{font-size:38px;font-weight:800;fill:var(--ink);font-family:inherit;pointer-events:none}
.fx-jeu .fig.sm .plab,.fx-jeu .fig.xs .plab{font-size:52px}
.fx-jeu .cards{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:clamp(12px,2.4vw,26px);
  justify-items:stretch;align-items:stretch;
  width:100%;max-width:880px;margin:0 auto;}
.fx-jeu .card{background:var(--card);border:4px solid var(--border);border-radius:var(--r);
  padding:var(--sp-2);cursor:pointer;position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:100%;min-width:0;min-height:150px;               
  box-shadow:var(--sh-1);
  transition:border-color var(--t),transform var(--t-fast),box-shadow var(--t),background var(--t);}
.fx-jeu .card:hover{border-color:var(--border-fort);box-shadow:var(--sh-2)}
.fx-jeu .card:active{transform:scale(.97)}
.fx-jeu .card.sel{border-color:var(--acc-txt);background:var(--card-sel);box-shadow:0 0 0 4px #0E6E7833}
.fx-jeu .card.good{border-color:var(--ok);background:var(--card-ok);box-shadow:0 0 0 4px #1E7A5B2E}
.fx-jeu .card.bad{border-color:var(--err);background:var(--card-ko);box-shadow:0 0 0 4px #C33A2B2E}
.fx-jeu .card.dim{opacity:.35}
.fx-jeu .card.sel::after,.fx-jeu .card.good::after,.fx-jeu .card.bad::after{position:absolute;top:-11px;right:-11px;width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:16px;font-weight:800;color:#fff;box-shadow:var(--sh-1);}
.fx-jeu .card.sel::after{content:"✓";background:var(--acc-txt)}
.fx-jeu .card.good::after{content:"✓";background:var(--ok)}
.fx-jeu .card.bad::after{content:"✗";background:var(--err)}
.fx-jeu .cards.n3{max-width:760px}
.fx-jeu .cards.n4{max-width:820px}
.fx-jeu .cards.n6{max-width:900px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.fx-jeu .cards.n8{max-width:960px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
.fx-jeu .cards .fig{max-height:min(22vh,170px)}
.fx-jeu .cards.n6 .fig{max-height:min(19vh,140px)}
.fx-jeu .cards.n8 .fig{max-height:min(17vh,124px)}
@media (max-width:520px){
.fx-jeu .cards{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}
.fx-jeu .card{min-height:130px;padding:7px;border-width:3px}
.fx-jeu .cards .fig{max-height:118px}
}
.fx-jeu .choices{display:flex;flex-wrap:wrap;gap:clamp(10px,2.2vw,22px);justify-content:center;align-items:center}
.fx-jeu .big{font-family:inherit;font-size:clamp(24px,4.2vw,34px);font-weight:800;color:var(--ink);
  background:var(--card);border:4px solid var(--ink);border-radius:var(--r-lg);
  padding:14px 32px;min-width:150px;min-height:var(--touch);cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;position:relative;
  box-shadow:var(--sh-1);
  transition:transform var(--t-fast),background var(--t),border-color var(--t),
             box-shadow var(--t),color var(--t);}
.fx-jeu .big:hover:not([disabled]){background:var(--bg-2);box-shadow:var(--sh-2);transform:translateY(-1px)}
.fx-jeu .big:active:not([disabled]){transform:scale(.96) translateY(0);box-shadow:var(--sh-1)}
.fx-jeu .big.num{min-width:104px;padding:14px 10px;font-size:clamp(28px,5vw,40px)}
.fx-jeu .big.word{font-size:clamp(20px,3.2vw,28px);min-width:190px;padding:16px 22px}
.fx-jeu .big.ghost{border-color:var(--border-fort);color:var(--soft);
  font-size:clamp(18px,2.6vw,24px);padding:12px 26px;min-width:0;font-weight:700}
.fx-jeu .big.ghost:hover:not([disabled]){color:var(--ink);border-color:var(--ink)}
.fx-jeu .big.go{background:var(--ink);color:var(--ink-inv);border-color:var(--ink)}
.fx-jeu .big.go:hover:not([disabled]){background:#0F2247;border-color:#0F2247;color:#fff}
.fx-jeu .big[disabled]{opacity:.4;pointer-events:none;box-shadow:none}
.fx-jeu .big.sel{background:var(--card-sel);border-color:var(--acc-txt);color:var(--acc-txt)}
.fx-jeu .big.sel::after{content:"✓";font-size:.6em;margin-left:.2em}
.fx-jeu .big.good{border-color:var(--ok);background:var(--card-ok);color:var(--ok)}
.fx-jeu .big.good::after{content:"✓";font-size:.62em;margin-left:.25em}
.fx-jeu .big.bad{border-color:var(--err);background:var(--card-ko);color:var(--err)}
.fx-jeu .big.bad::after{content:"✗";font-size:.62em;margin-left:.25em}
@keyframes jeu1-tourne{to{transform:rotate(360deg)}}
.fx-jeu .suite{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);
  width:100%;margin-top:var(--sp-2);min-height:74px;justify-content:center;}
.fx-jeu .suite .attente{width:min(230px,60vw);height:7px;border-radius:var(--r-pill);background:var(--bg-2);
  overflow:hidden;box-shadow:inset 0 0 0 1px #17305C14;}
.fx-jeu .suite .attente span{display:block;height:100%;width:100%;background:var(--acc);border-radius:var(--r-pill);
  transform-origin:left center;animation:jeu1-lecture linear forwards;}
@keyframes jeu1-lecture{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.fx-jeu .suite .btn-suivant{animation:jeu1-apparait var(--t-slow) var(--ease-out) both;
  border-color:var(--acc-txt);background:var(--acc-txt);color:var(--ink-inv);
  font-size:clamp(20px,3vw,26px);padding:14px 34px;}
.fx-jeu .suite .btn-suivant:hover:not([disabled]){background:#0B5A62;border-color:#0B5A62;color:#fff}
.fx-jeu .suite .indice-auto{font-size:14px;color:var(--soft);font-weight:700}
.fx-jeu .suite .btn-suivant.auto::before{content:"";position:absolute;inset:-4px;border-radius:inherit;
  border:3px solid #0E6E7855;clip-path:inset(0 0 0 0);
  animation:jeu1-decompte var(--jeu1-decompte,6s) linear forwards;}
@keyframes jeu1-decompte{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 100% 0 0)}}
@keyframes jeu1-apparait{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.fx-jeu .mixte{display:inline-flex;align-items:center;gap:.22em;font-weight:800;vertical-align:middle}
.fx-jeu .mixte-plus{font-style:normal;font-weight:700;opacity:.6;font-size:.8em;padding:0 .05em}
.fx-jeu .frac{display:inline-flex;flex-direction:column;align-items:center;line-height:1;font-weight:800;vertical-align:middle}
.fx-jeu .frac .num,.fx-jeu .frac .den{padding:1px 6px}
.fx-jeu .frac .bar{height:.11em;width:100%;min-width:1.1em;background:currentColor;border-radius:3px;margin:.07em 0}
.fx-jeu .frac.f0{font-size:clamp(17px,2.5vw,23px)}
.fx-jeu .frac.f1{font-size:clamp(26px,4vw,34px)}
.fx-jeu .frac.f2{font-size:clamp(40px,8vw,72px)}
.fx-jeu .frac.f3{font-size:clamp(56px,12vw,110px)}
.fx-jeu .frac .slot{min-width:1.15em;border-radius:var(--r-xs);background:var(--bg-2);
  border:3px dashed var(--border-fort);color:var(--soft)}
.fx-jeu .frac .slot.full{background:transparent;border-color:transparent;color:inherit}
.fx-jeu .frac .slot.act{border-color:var(--acc-txt);background:var(--card-sel);color:var(--acc-txt)}
.fx-jeu .fb{font-size:clamp(19px,3vw,27px);font-weight:800;min-height:1.4em;margin:0;
  line-height:1.35;max-width:900px;text-align:center;overflow-wrap:break-word}
.fx-jeu .fb.ok{color:var(--ok)}
.fx-jeu .fb.err{color:var(--err)}
.fx-jeu .fb.ok::before,.fx-jeu .fb.err::before{margin-right:.35em;vertical-align:middle}
.fx-jeu .fb.ok::before{content:"✓";font-size:1.05em;line-height:1}
.fx-jeu .fb.err::before{content:"↻";font-size:1.15em;line-height:1}
.fx-jeu .eq-frac{display:inline-flex;align-items:center;justify-content:center;
  gap:.3em;flex-wrap:wrap;vertical-align:middle;max-width:100%}
.fx-jeu .eq-frac b{font-size:clamp(20px,3vw,27px);color:var(--soft);font-weight:800}
.fx-jeu .eq-mots{display:block;font-size:.72em;font-weight:700;opacity:.9;
  margin-top:1px;line-height:1.3}
.fx-jeu .note .eq-frac .frac{font-size:clamp(19px,2.8vw,25px)}
.fx-jeu .note .eq-frac b{font-size:clamp(16px,2.4vw,21px)}
.fx-jeu .note{font-size:clamp(16px,2.3vw,21px);color:var(--soft);font-weight:600;margin:0}
.fx-jeu .bars{display:flex;flex-direction:column;gap:10px;width:min(320px,70vw)}
.fx-jeu .bar-row{height:26px;background:var(--bg-2);border-radius:var(--r-xs);overflow:hidden;
  border:2px solid var(--border)}
.fx-jeu .bar-row span{display:block;height:100%;border-radius:6px;transition:width var(--t-slow) var(--ease-out)}
.fx-jeu .dots{display:flex;gap:8px;justify-content:center}
.fx-jeu .dots i{width:14px;height:14px;border-radius:50%;background:var(--border);display:block;
  transition:background var(--t),border-radius var(--t)}
.fx-jeu .dots i.ok{background:var(--ok)}
.fx-jeu .dots i.ko{background:var(--err);border-radius:4px}
.fx-jeu .stars{display:flex;gap:10px;align-items:center;justify-content:center;font-size:30px;line-height:1}
.fx-jeu .stars b{opacity:.22;filter:grayscale(1);transition:opacity var(--t),filter var(--t),transform var(--t)}
.fx-jeu .stars b.on{opacity:1;filter:none}
.fx-jeu .stars b.on::after{content:"";display:block;height:3px;margin-top:3px;border-radius:2px;
  background:var(--gold-vif)}
.fx-jeu .pop{animation:jeu1-pop .9s var(--ease-out)}
@keyframes jeu1-pop{0%{transform:scale(.2) rotate(-25deg);opacity:0}45%{transform:scale(1.45) rotate(8deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}
.fx-jeu .reward{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  background:var(--voile);z-index:40;font-size:96px;pointer-events:none;
  backdrop-filter:blur(1.5px)}
.fx-jeu .menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
  gap:var(--sp-4);justify-content:center;
  width:100%;max-width:1000px;margin:0 auto;}
.fx-jeu .menu > .mcard{max-width:100%}
.fx-jeu .mcard{background:var(--card);border:3px solid var(--border);border-left:9px solid var(--marine);
  border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);
  width:auto;text-align:left;cursor:pointer;box-shadow:var(--sh-1);
  transition:transform var(--t-fast),box-shadow var(--t),border-color var(--t);}
.fx-jeu .mcard:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--border-fort)}
.fx-jeu .mcard:active{transform:scale(.985)}
.fx-jeu .menu .mcard:nth-child(4n+1){border-left-color:var(--marine)}
.fx-jeu .menu .mcard:nth-child(4n+2){border-left-color:var(--turquoise)}
.fx-jeu .menu .mcard:nth-child(4n+3){border-left-color:var(--corail)}
.fx-jeu .menu .mcard:nth-child(4n+4){border-left-color:var(--violet)}
.fx-jeu .mcard h3{margin:0 0 6px;font-size:22px;color:var(--ink)}
.fx-jeu .mcard p{margin:0;font-size:16.5px;color:var(--soft);font-weight:600;line-height:1.35}
.fx-jeu .mcard.lock{border-color:var(--border);border-left-color:var(--border-fort);opacity:.7}
.fx-jeu .machine{background:var(--card);border:4px solid var(--ink);border-radius:var(--r);
  padding:14px 30px;font-size:clamp(22px,3.6vw,30px);font-weight:800;display:flex;
  align-items:center;gap:14px;min-height:76px;box-shadow:var(--sh-1)}
.fx-jeu .perso{font-size:clamp(44px,9vw,76px);line-height:1}
.fx-jeu .flyer{position:fixed;z-index:50;pointer-events:none;
  transition:transform .85s cubic-bezier(.4,.1,.3,1),opacity .85s}
.fx-jeu .obj-label{font-size:26px;margin-bottom:2px}
.fx-jeu .overlay{position:fixed;inset:0;background:#0B1A3799;z-index:60;display:flex;
  align-items:flex-start;justify-content:center;padding:var(--sp-4);overflow:auto}
.fx-jeu .panel{background:var(--card);border-radius:var(--r);padding:var(--sp-5);max-width:960px;width:100%;
  font-size:15px;color:var(--ink);box-shadow:var(--sh-3)}
.fx-jeu .panel h2{margin:0 0 6px;font-size:22px;color:var(--ink)}
.fx-jeu .panel.sortie{max-width:440px;text-align:center}
.fx-jeu .panel.sortie .choices.col{flex-direction:column;align-items:stretch;gap:10px}
.fx-jeu .panel.sortie .choices.col .big{width:100%}
.fx-jeu .lien-profil{border:none;background:none;color:var(--acc-txt);font-family:inherit;
  font-weight:700;font-size:15px;cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;padding:2px 4px;border-radius:var(--r-xs)}
.fx-jeu .lien-profil:hover{background:var(--card-sel)}
.fx-jeu .panel h3{margin:20px 0 6px;font-size:17px;color:var(--ink);
  border-top:1px solid var(--border);padding-top:14px}
.fx-jeu .panel h3:first-of-type{border-top:none;padding-top:0}
.fx-jeu .panel table{border-collapse:collapse;width:100%;font-size:13.5px;margin-top:6px}
.fx-jeu .panel th,.fx-jeu .panel td{border:1px solid var(--border);padding:5px 8px;text-align:left}
.fx-jeu .panel th{background:var(--bg)}
.fx-jeu .panel .mini{font-size:13px;color:var(--soft)}
.fx-jeu .panel button{font-family:inherit;font-size:14px;font-weight:700;padding:10px 15px;
  border-radius:var(--r-sm);border:2px solid var(--ink);background:var(--card);color:var(--ink);
  cursor:pointer;margin:4px 6px 4px 0;transition:background var(--t),color var(--t)}
.fx-jeu .panel button:hover:not([disabled]){background:var(--ink);color:var(--ink-inv)}
.fx-jeu .panel button[disabled]{opacity:.45;cursor:default}
.fx-jeu .panel button.actif{background:var(--acc-txt);border-color:var(--acc-txt);color:var(--ink-inv)}
.fx-jeu .panel textarea{width:100%;height:90px;font-family:monospace;font-size:12px;
  border:1px solid var(--border-fort);border-radius:var(--r-xs);padding:8px}
.fx-jeu table.bilan{border-collapse:collapse;width:100%;font-size:15px;background:var(--card);
  border-radius:var(--r-sm);overflow:hidden}
.fx-jeu table.bilan th,.fx-jeu table.bilan td{border:1px solid var(--border);padding:7px 10px;text-align:left}
.fx-jeu table.bilan th{background:var(--bg);font-size:13px}
.fx-jeu .hidden{display:none!important}
@media (max-width:640px){
.fx-jeu .big{padding:12px 22px;min-width:120px}
.fx-jeu .figzone{gap:14px}
}
.fx-jeu .saisie{display:flex;align-items:center;justify-content:center;gap:clamp(10px,2vw,20px);flex-wrap:wrap}
.fx-jeu .sfrac{display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:800;
  font-size:clamp(40px,8vw,66px)}
.fx-jeu .sbar{height:.11em;width:100%;min-width:1.4em;background:currentColor;border-radius:3px;margin:.08em 0}
.fx-jeu .sslot{min-width:1.5em;text-align:center;padding:2px 10px;border-radius:14px;border:4px dashed transparent;
  transition:background var(--t),border-color var(--t),color var(--t),opacity var(--t)}
.fx-jeu .sslot.actif{border-color:var(--acc-txt);background:var(--card-sel);color:var(--acc-txt);
  animation:jeu1-respire 1.8s ease-in-out infinite}
.fx-jeu .sslot.inactif{border-color:var(--border);background:var(--bg-2);color:var(--soft);opacity:.55}
.fx-jeu .sslot.rempli{border-color:transparent;background:transparent;color:var(--ink)}
.fx-jeu .sfrac.fini .sslot.rempli{color:var(--ink)}
.fx-jeu .sfrac .num.rempli{color:var(--hlA-txt)}
.fx-jeu .sfrac .den.rempli{color:var(--hlB-txt)}
.fx-jeu .sguide{display:flex;align-items:center;gap:8px;max-width:min(360px,52vw);text-align:left}
.fx-jeu .sguide.haut{align-self:flex-start;margin-top:6px}
.fx-jeu .sguide.bas{align-self:flex-end;margin-bottom:6px}
.fx-jeu .sfleche{font-size:clamp(22px,3.4vw,30px);color:var(--acc-txt);animation:jeu1-pointe 1.6s ease-in-out infinite}
.fx-jeu .stxt{display:flex;flex-direction:column;gap:2px}
.fx-jeu .sq{font-size:clamp(16px,2.5vw,21px);line-height:1.2}
.fx-jeu .ss{font-size:clamp(13px,2vw,16px);color:var(--soft);font-weight:600}
@keyframes jeu1-respire{0%,100%{box-shadow:0 0 0 0 #0E6E7833}50%{box-shadow:0 0 0 7px #0E6E7822}}
@keyframes jeu1-pointe{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}
@media (max-width:560px){
.fx-jeu .saisie{flex-direction:column;gap:6px}
.fx-jeu .sguide.haut,.fx-jeu .sguide.bas{align-self:center;margin:0;text-align:center;max-width:88vw}
.fx-jeu .sfleche{transform:rotate(90deg)}
@keyframes jeu1-pointe{0%,100%{transform:rotate(90deg) translateX(0)}50%{transform:rotate(90deg) translateX(-5px)}}
}
.fx-jeu .mcard.n4{width:auto}
.fx-jeu .mcard.n4 h3{font-size:19px}
.fx-jeu .fig.ligne{max-height:none}
.fx-jeu .fig.ligne{max-width:min(94vw,680px)}
.fx-jeu .trou{display:inline-block;min-width:1.2em;border-bottom:5px solid var(--acc-txt);color:var(--acc-txt)}
.fx-jeu .etapes{display:flex;flex-direction:column;align-items:center;gap:10px;margin:2px 0}
.fx-jeu .etape{display:flex;align-items:center;gap:12px;font-size:clamp(18px,2.8vw,24px);font-weight:800;
  background:var(--card);border:2px solid var(--border);border-left:6px solid var(--turquoise);
  border-radius:var(--r-sm);padding:10px 16px;box-shadow:var(--sh-1);
  animation:jeu1-apparait var(--t-slow) var(--ease-out) both}
.fx-jeu .etape.somme{flex-wrap:wrap;justify-content:center;max-width:min(92vw,760px);gap:6px;
  border-left-color:var(--ok)}
@keyframes jeu1-popdot{0%{transform:scale(1)}40%{transform:scale(1.7)}100%{transform:scale(1)}}
.fx-jeu .jauge{font-family:monospace;font-size:19px;letter-spacing:-1px;color:var(--acc-txt)}
.fx-jeu .pose{font-family:monospace;font-size:26px;font-weight:800;text-align:right;display:inline-block;
  border-radius:var(--r-sm);background:var(--card);padding:10px 18px;border:3px solid var(--border)}
.fx-jeu .pose hr{border:none;border-top:3px solid var(--ink);margin:4px 0}
@media (prefers-reduced-motion:reduce){
.fx-jeu .suite .attente span{animation:none;transform:none;opacity:.5}
.fx-jeu .suite .btn-suivant.auto::before{animation:none;border-color:#0E6E7833}
.fx-jeu .card:hover,.fx-jeu .mcard:hover,.fx-jeu .big:hover:not([disabled]){transform:none}
.fx-jeu .reward{backdrop-filter:none}
}
.fx-jeu .repr~.choices .big.rep{max-width:min(560px,92vw);white-space:normal;text-align:center;line-height:1.2}
.fx-jeu .bag{display:inline-block;font-size:clamp(30px,5.4vw,46px);line-height:1;
  transition:transform var(--t-slow) var(--ease)}
.fx-jeu .bag.haut{transform:translateY(-.55em) rotate(-18deg)}
.fx-jeu .bag.bas{transform:translateY(.55em) rotate(-18deg)}
@keyframes jeu1-bagTremble{0%,100%{transform:rotate(-12deg)}25%{transform:rotate(8deg)}
  50%{transform:rotate(-20deg)}75%{transform:rotate(3deg)}}
.fx-jeu .regle{background:var(--card-sel);border:2px solid var(--acc-txt);border-radius:var(--r);
  padding:var(--sp-4);max-width:520px;margin:var(--sp-4) auto;text-align:center;
  font-size:1.15rem;color:var(--ink)}
.fx-jeu .regle b{color:var(--acc2)}
.fx-jeu .regle.non{background:#FBE7E4;border-color:var(--err)}
.fx-jeu .regle.non b{color:var(--err)}
.fx-jeu .regle.grand{font-size:clamp(19px,3.4vw,28px);font-weight:800;line-height:1.45}
.fx-jeu .etoiles-lot{font-size:clamp(17px,3vw,21px);letter-spacing:2px;line-height:1}
.fx-jeu .et-vide{opacity:.28;filter:grayscale(1)}
.fx-jeu .objectif{margin:2px 0 6px;font-size:clamp(15px,2.3vw,18px);font-weight:700;
          color:var(--ink);display:flex;align-items:center;gap:10px;
          justify-content:center;flex-wrap:wrap}
.fx-jeu .et-jauge{display:inline-block;width:min(190px,42vw);height:10px;border-radius:999px;
          background:var(--bg-2);overflow:hidden;vertical-align:middle}
.fx-jeu .et-jauge span{display:block;height:100%;border-radius:999px;
               background:linear-gradient(90deg,var(--jaune),var(--corail));
               transition:width .6s var(--ease-out,ease)}
.fx-jeu .choices.col{flex-direction:column;align-items:stretch;gap:10px;
  max-width:460px;margin-left:auto;margin-right:auto}
.fx-jeu .choices.col .big{width:100%}
@keyframes jeu1-trioFusion{0%{transform:scale(1)}34%{transform:scale(1.07)}100%{transform:scale(1)}}
@keyframes jeu1-trioRefus{0%,100%{transform:translateX(0)}
  22%{transform:translateX(-7px)}62%{transform:translateX(7px)}}
@keyframes jeu1-trioPulse{0%,100%{box-shadow:var(--sh-1)}50%{box-shadow:0 0 0 9px #3CC3CB40}}
.fx-jeu .panel.annonce{margin-top:56px;text-align:center;position:relative}
.fx-jeu .panel.annonce h2{margin-bottom:12px}
.fx-jeu .lieu{position:absolute;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;gap:3px;
  min-width:44px;min-height:44px;padding:0;margin:0;
  background:none;border:none;cursor:pointer;font:inherit;
  transition:transform var(--t);}
.fx-jeu .lieu:active{transform:translate(-50%,-50%) scale(.93)}
.fx-jeu .lieu:focus-visible{outline:none}
@keyframes jeu1-lieuPouls{
  0%,100%{box-shadow:0 2px 6px rgba(11,26,55,.45),0 0 0 0 rgba(60,195,203,.55)}
  50%    {box-shadow:0 2px 6px rgba(11,26,55,.45),0 0 0 9px rgba(60,195,203,0)}
}
.fx-jeu .ind{display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:var(--sp-3);min-height:92px;justify-content:center;
  background:var(--card);border:3px dashed var(--border);border-radius:var(--r-sm);}
.fx-jeu .ind.ok{border-style:solid;border-color:var(--ok);background:var(--card-ok)}
