/* /ce1-grammaire — l'atelier des mots (thème vallée des dinos de /ce1).
   Base : la feuille de /ce1-homonymes, préfixe « gr- ».
   Palette du brief CE1 : vert jungle #2B8A3E, vert clair #D3F9D8, sable #FFF3D6,
   orange volcan #E8590C (décor ; texte #C2410C), lagon #1C7ED6, encre #1F2D24.
   Gros boutons (enfants de 7 ans), pas de menu en cascade,
   Andika pour les phrases (police de lecture). Tout est préfixé « gr- ». */
@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:Andika;src:url("/lecture/polices/andika-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:#FFF3D6}
body{min-height:100vh;font-family:Quicksand,system-ui,-apple-system,"Segoe UI",sans-serif;font-weight:600;color:#1F2D24;-webkit-tap-highlight-color:transparent}
.gr{--marine:#1F2D24;--doux:#5C5440;--vert:#2B8A3E;--rouge:#C92A2A;--c:#1C7ED6;min-height:100vh;display:flex;flex-direction:column}
.gr *{box-sizing:border-box}
.gr a{color:inherit}
button{font:inherit}

/* ---------- bandeau ---------- */
.gr-barre{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 14px;
  background:linear-gradient(180deg,#B2F2BB,#D3F9D8);box-shadow:0 2px 0 rgba(31,45,36,.14)}
.gr-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(31,45,36,.2)}
.gr-barre-t{flex:1;min-width:0;display:flex;flex-direction:column;color:var(--marine)}
.gr-barre-t b{font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(20px,4.5vw,26px);line-height:1.1}
.gr-barre-t span{font-size:13px;color:#1B5E29;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-or{flex:none;padding:10px 14px;border-radius:999px;background:#FFF3C4;border:2px solid #E3A008;color:#7A4E00;font-weight:700;font-size:18px;text-decoration:none;box-shadow:0 3px 0 #E3A008}

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

/* ---------- Plumo ---------- */
.gr-plumo{display:inline-block;flex:none;line-height:0}
.gr-plumo svg{display:block;width:100%;height:auto}
.gr-bulle-plumo{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.gr-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}
.gr-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}

/* ---------- la vallée (décor de l'accueil) ---------- */
.gr-vallee{position:relative;height:92px;margin:-4px 0 14px;border-radius:22px;overflow:hidden;
  background:linear-gradient(180deg,#E7F5FF 0%,#FFF3D6 58%,#8CE99A 58%,#51CF66 100%)}
.gr-vallee span{position:absolute;line-height:1}
.gr-v-volcan{right:8%;bottom:6px;font-size:58px}
.gr-v-fumee{right:calc(8% + 22px);bottom:58px;width:16px;height:16px;border-radius:50%;background:rgba(120,120,120,.35);animation:gr-fumee 3.5s ease-out infinite}
@keyframes gr-fumee{0%{transform:translateY(0) scale(.6);opacity:.8}100%{transform:translateY(-34px) scale(1.8);opacity:0}}
.gr-v-fougere{left:4%;bottom:2px;font-size:40px}
.gr-v-dino{left:22%;bottom:6px;font-size:46px}
.gr-v-nid{left:42%;bottom:8px;font-size:26px;padding:2px 6px 0;border-radius:0 0 40px 40px;border-bottom:7px solid #A9743A}
.gr-v-arbre{right:24%;bottom:4px;font-size:44px}

/* ---------- les nids ---------- */
.gr-revisions{display:flex;align-items:center;gap:14px;padding:14px 18px;margin-bottom:16px;border-radius:20px;text-decoration:none;
  background:#FFF3C4;border:3px solid #E3A008;box-shadow:0 4px 0 #E3A008;animation:gr-pulse 2.4s ease-in-out infinite}
.gr-revisions b{display:block;font-size:20px;color:#7A4E00}
.gr-revisions span span{font-size:15px;color:#7A4E00}
.gr-rev-ic{font-size:34px}
@keyframes gr-pulse{50%{transform:scale(1.02)}}
.gr-iles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.gr-ile{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 10px 14px;border-radius:24px;text-decoration:none;
  background:#fff;border:3px solid var(--c);box-shadow:0 5px 0 var(--c);min-height:150px;justify-content:center;transition:transform .1s}
.gr-ile:hover{transform:translateY(-2px)}
.gr-ile:active{transform:translateY(3px);box-shadow:0 2px 0 var(--c)}
.gr-ile-ic{font-size:40px;line-height:1}
.gr-ile-nom{font-family:Andika,Quicksand,sans-serif;font-size:26px;color:var(--c);filter:brightness(.8)}
.gr-ile-et{font-size:22px;color:#E3A008;letter-spacing:2px}
.gr-ile-pal{font-size:13px;color:var(--doux);text-align:center}
.gr-ile-due{position:absolute;top:-10px;right:-6px;padding:4px 9px;border-radius:999px;background:#E8590C;color:#fff;font-size:14px;font-weight:700}
.gr-melange .gr-ile-nom{line-height:1.15;text-align:center;font-family:"Baloo 2",Quicksand,sans-serif;font-size:22px;color:var(--marine);filter:none}
.gr-ile.brume{opacity:.55;border-style:dashed;box-shadow:none}
.gr-bas{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.gr-tuile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px;border-radius:20px;text-decoration:none;background:#1F2D24;color:#fff !important;box-shadow:0 5px 0 #0E1712;text-align:center}
.gr-tuile span{font-size:32px}
.gr-tuile b{font-size:18px}
.gr-tuile small{font-size:13px;opacity:.85}
.gr-total{text-align:center;color:var(--doux);margin:16px 0 0}

/* ---------- pied ---------- */
.gr-pied{padding:16px;text-align:center;color:var(--doux);font-size:14px}
.gr-pied-l{margin:8px 0}
.gr-pied p{margin:6px 0 0;font-size:12px}
.gr-lien{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;padding:6px}
.gr-compte{max-width:700px;margin:0 auto}

/* ---------- la leçon ---------- */
.gr-regles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gr-regle{background:#fff;border-radius:22px;padding:16px;border-top:8px solid var(--c);box-shadow:0 4px 0 rgba(42,36,22,.1);display:flex;flex-direction:column;gap:8px}
.gr-regle-mot{font-family:Andika,sans-serif;font-size:54px;line-height:1;color:var(--c);filter:brightness(.8);text-align:center}
.gr-regle-quoi{margin:0;font-size:18px;font-weight:700}
.gr-regle-test{margin:0;font-size:16px;color:var(--doux)}
.gr-exemple{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;border-radius:14px;background:#F6F1E4;font-family:Andika,sans-serif;font-size:19px;text-align:center}
.gr-ex-fl{color:var(--doux)}
.gr-ex-b.ok{color:var(--vert)}
.gr-ex-b.ko{color:var(--rouge)}
.gr-memo{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:18px 0 0;padding:14px 18px;border-radius:18px;background:#D3F9D8;border:2px dashed #2B8A3E;font-size:19px;color:var(--marine)}

/* ---------- boutons ---------- */
.gr-suite{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}
.gr-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}
.gr-go:active{transform:translateY(3px);box-shadow:0 2px 0 #1B5E29}
.gr-go:disabled{opacity:.45;cursor:default}
.gr-go.clair{background:#fff;color:var(--marine) !important;box-shadow:0 5px 0 rgba(31,45,36,.25)}
.gr-ecoute{align-self:center;border:0;border-radius:999px;padding:10px 16px;background:#D3F9D8;color:var(--marine);font-weight:700;cursor:pointer;font-size:16px;box-shadow:0 3px 0 rgba(43,138,62,.35)}
.gr-ecoute.rond{flex:none;width:56px;height:56px;padding:0;font-size:26px}
.gr-ecoute.mini{flex:none;width:44px;height:44px;padding:0;font-size:20px;line-height:44px;text-align:center}
.gr-bulle-plumo p .gr-ecoute.dans{float:right;margin:0 0 4px 8px}

/* ---------- une question ---------- */
.gr-prog{display:flex;gap:6px;margin-bottom:14px}
.gr-prog span{flex:1;height:12px;border-radius:6px;background:#E9E1CC}
.gr-prog span.ok{background:#40C057}
.gr-prog span.ko{background:#FA8C5A}
.gr-prog span.ici{background:var(--c)}
.gr-carte-q{background:#fff;border-radius:26px;padding:20px 18px;box-shadow:0 5px 0 rgba(42,36,22,.1);border-top:8px solid var(--c)}
.gr-consigne{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.gr-consigne p{margin:0;font-size:18px;color:var(--doux)}
.gr-question{margin:16px 0 10px;font-size:20px;font-weight:700;text-align:center}
.gr-ligne{display:flex;align-items:center;gap:12px}
.gr-phrase{flex:1;margin:0;font-family:Andika,Quicksand,sans-serif;font-size:clamp(24px,5.4vw,34px);line-height:1.6}
.gr-case{display:inline-block;min-width:2.6em;padding:0 .25em;margin:0 .12em;border-bottom:4px solid var(--c);border-radius:8px 8px 0 0;background:#F1F3F5;text-align:center;color:#868E96}
.gr-case.test{background:#FFF3BF;color:#7A4E00;border-color:#E3A008}
.gr-case.relu{background:#F3F0FF;color:#2A2416;border-color:#7048E8}
.gr-case.ok{background:#D3F9D8;color:var(--vert);border-color:var(--vert)}
.gr-champ{font:inherit;font-family:Andika,Quicksand,sans-serif;width:4.2em;padding:0 .2em;margin:0 .12em;border:0;border-bottom:4px solid var(--c);border-radius:8px 8px 0 0;background:#FFF9DB;text-align:center;color:#2A2416;outline:none}
.gr-champ:focus{background:#FFF3BF;box-shadow:0 0 0 3px rgba(28,126,214,.35)}
.gr-champ.ok{background:#D3F9D8;color:var(--vert);border-color:var(--vert)}
.gr-champ.ko{background:#D3F9D8;color:var(--vert);border-color:var(--vert)}
.gr-choix{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:16px}
.gr-mot{min-width:140px;min-height:76px;padding:12px 24px;border:3px solid var(--c);border-radius:22px;background:#fff;cursor:pointer;
  font-family:Andika,Quicksand,sans-serif;font-size:34px;color:#2A2416;box-shadow:0 5px 0 var(--c);transition:transform .08s}
.gr-mot.petit{font-family:Quicksand,sans-serif;font-size:20px;font-weight:700;min-height:64px}
.gr-mot:active{transform:translateY(3px);box-shadow:0 2px 0 var(--c)}
.gr-mot:disabled{cursor:default}
.gr-mot.juste{background:#D3F9D8;border-color:var(--vert);box-shadow:0 5px 0 var(--vert)}
.gr-mot.eteint{opacity:.35;box-shadow:none}
.gr-mot.secoue{animation:gr-secoue .35s}
.gr-mot.faux{background:#FFE3E3;border-color:#FA5252;box-shadow:0 5px 0 #FA5252;animation:gr-secoue .35s}
@keyframes gr-secoue{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.gr-indice{margin:14px 0 0;padding:10px 14px;border-radius:14px;font-size:18px;text-align:center}
.gr-indice.ok{background:#EBFBEE;color:var(--vert)}
.gr-indice.ko{background:#FFF4E6;color:#A34A00}
.gr-accents{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}
.gr-accent{width:60px;height:60px;border:3px solid #ADB5BD;border-radius:16px;background:#fff;font-family:Andika,sans-serif;font-size:30px;cursor:pointer;box-shadow:0 4px 0 #ADB5BD}

/* ---------- la correction ---------- */
.gr-fb{position:relative;margin-top:16px}
.gr-fb-boite{border-radius:22px;padding:16px 18px;animation:gr-monte .25s ease-out}
.gr-fb-boite.ok{background:#EBFBEE;border:3px solid #40C057}
.gr-fb-boite.ko{background:#FFF4E6;border:3px solid #FD7E14}
@keyframes gr-monte{from{opacity:0;transform:translateY(10px)}}
.gr-fb-t{font-family:"Baloo 2",Quicksand,sans-serif;font-size:26px;color:var(--marine)}
.gr-fb-bon{margin:8px 0 0;font-family:Andika,sans-serif;font-size:22px}
.gr-fb-bon b{color:var(--vert);font-size:26px}
.gr-fb-truc{margin:10px 0 0;font-size:18px;color:#40362A}
.gr-fb-truc b{font-family:Andika,sans-serif;font-size:22px;color:var(--vert)}
.gr-fb .gr-suite{margin-top:12px}
.gr-piece-vol{position:absolute;top:0;font-size:30px;pointer-events:none;animation:gr-vole 1.1s ease-out forwards}
@keyframes gr-vole{to{transform:translateY(-140px) scale(.6);opacity:0}}

/* ---------- fin de séance ---------- */
.gr-fin{display:flex;flex-direction:column;align-items:center;text-align:center}
.gr-fin-t{font-family:"Baloo 2",Quicksand,sans-serif;font-size:clamp(28px,6vw,38px);color:var(--marine);margin:8px 0 4px}
.gr-fin-score{font-size:22px;margin:0}
.gr-fin-et{font-size:44px;color:#E3A008;letter-spacing:4px;margin:6px 0}
.gr-coffre{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;margin:10px 0;padding:14px 26px;border-radius:22px;background:#FFF3C4;border:3px solid #E3A008;color:#7A4E00}
.gr-coffre b{font-size:24px}
.gr-coffre-ic{font-size:40px}
.gr-monte{margin:12px 0;padding:14px 18px;border-radius:18px;background:#F3F0FF;border:3px solid #7048E8;color:#3B1F9E;font-size:18px;max-width:560px}
.gr-astuce{color:var(--doux);font-size:16px;max-width:600px;margin:12px auto}

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

/* ---------- le volcan des œufs ---------- */
.gr-jeu-affiche{text-align:center;background:#fff;border-radius:24px;padding:18px;box-shadow:0 4px 0 rgba(42,36,22,.1)}
.gr-jeu-affiche h1{font-family:"Baloo 2",Quicksand,sans-serif;color:var(--marine);margin:6px 0}
.gr-jeu-affiche p{font-size:17px;line-height:1.5}
.gr-jeu-gros{font-size:56px}
.gr-record{font-weight:700;color:#7A4E00}
.gr-reviser{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px;padding:16px;border-radius:20px;background:#FFF3C4;border:3px solid #E3A008;color:#7A4E00;text-align:center}
.gr-reviser b{font-size:20px}
.gr-jeu{position:relative;flex:1;display:flex;flex-direction:column;max-width:900px;width:100%;margin:0 auto;padding:12px 12px 20px}
.gr-retour.flottant{position:absolute;top:12px;left:12px;z-index:3}
.gr-hud{display:flex;justify-content:center;gap:22px;font-size:22px;font-weight:700;color:var(--marine);padding:10px 0 10px 56px}
.gr-scene-jeu{position:relative;height:270px;border-radius:24px;overflow:hidden;background:linear-gradient(180deg,#E7F5FF 0%,#FFF3D6 62%)}
.gr-sol{position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,#8CE99A,#40C057)}
.gr-lave{position:absolute;left:-30px;bottom:-14px;width:120px;height:62px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#FFD43B 0 18%,#FD7E14 45%,#E8590C 70%,#C2410C 100%);
  box-shadow:0 0 18px 6px rgba(232,89,12,.45);animation:gr-bouillonne 1.6s ease-in-out infinite alternate}
@keyframes gr-bouillonne{to{transform:scale(1.06)}}
.gr-volcan-jeu{position:absolute;right:8px;bottom:16px;font-size:74px;line-height:1}
.gr-fougere-jeu{position:absolute;left:40%;bottom:4px;font-size:34px;line-height:1;opacity:.9}
.gr-roule{position:absolute;left:100%;top:10px;bottom:20px;width:min(78%,520px);display:flex;flex-direction:column;align-items:center;justify-content:space-between;transition:opacity .4s}
.gr-panneau{width:100%;padding:12px 14px;border-radius:14px;background:#FFFDF5;border:3px solid #8A5A2B;font-family:Andika,Quicksand,sans-serif;font-size:clamp(20px,4.4vw,28px);text-align:center;line-height:1.3;color:#1F2D24;box-shadow:0 4px 0 rgba(138,90,43,.35)}
.gr-oeuf{position:relative;flex:none;width:64px;height:80px;border-radius:50% 50% 46% 46% / 60% 60% 40% 40%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%,#FFFFFF 0 12%,transparent 13%),radial-gradient(circle at 65% 55%,#B2F2BB 0 9%,transparent 10%),radial-gradient(circle at 35% 70%,#B2F2BB 0 7%,transparent 8%),linear-gradient(160deg,#FFF9DB,#F4E3B0);
  border:3px solid #C9A86A}
.gr-oeuf-in{font-size:46px;line-height:1}
.gr-roule.eclot .gr-oeuf{background:transparent;border-color:transparent;animation:gr-eclot .6s ease-out}
.gr-roule.eclot .gr-panneau,.gr-roule.rate .gr-panneau,.gr-roule.passe .gr-panneau{background:#EBFBEE;border-color:#2B8A3E}
@keyframes gr-eclot{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.gr-roule.passe .gr-oeuf,.gr-roule.rate .gr-oeuf{animation:gr-tombe .9s ease-in forwards}
@keyframes gr-tombe{to{transform:translateY(150px) rotate(-60deg);opacity:0}}
.gr-jeu-btns .gr-mot{min-width:160px;min-height:88px;font-size:38px}

/* ---------- parents ---------- */
.gr-parents h2{font-family:"Baloo 2",Quicksand,sans-serif;color:var(--marine);margin:24px 0 8px}
.gr-parents p{line-height:1.5}
.gr-chapeau{font-size:16px;line-height:1.5;background:#D3F9D8;padding:12px 16px;border-radius:16px}
.gr-porte{max-width:360px;margin:30px auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff;padding:20px;border-radius:22px}
.gr-porte .gr-champ{width:120px;font-size:30px}
.gr-tab-zone{overflow-x:auto}
.gr-tab{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:15px}
.gr-tab th,.gr-tab td{padding:9px 10px;text-align:left;border-bottom:1px solid #EEE6D2;vertical-align:top}
.gr-tab th{background:#FFF3D6;font-size:13px;color:var(--doux)}
.gr-tab.petit{font-size:14px}
.gr-liste{line-height:1.6;padding-left:20px}
.gr-liste small{color:var(--doux)}
.gr-qui{text-align:center}

/* ---------- l'atelier des mots : ajouts ---------- */
.gr-illus{display:flex;justify-content:center;margin:-4px 0 12px}
.gr-illus-img{display:block;width:100%;max-width:640px;height:190px;object-fit:cover;object-position:50% 30%;border-radius:22px;box-shadow:0 4px 0 #E8DCC0}
@media (max-width:520px){.gr-illus-img{height:150px}}
.gr-v-pancarte{left:62%;bottom:10px;padding:2px 7px;border-radius:8px;background:#FFFDF5;border:3px solid #8A5A2B;font-family:Andika,sans-serif;font-size:20px;color:#1F2D24}
.gr-iles .gr-ile-nom{font-size:21px;text-align:center;line-height:1.15}
.gr-regles{grid-template-columns:1fr}
.gr-regle.neuve{border-top-color:#E3A008;box-shadow:0 0 0 3px #FFE066,0 4px 0 rgba(42,36,22,.1)}
.gr-regle .gr-ecoute{align-self:flex-start}
.gr-exemple{font-size:22px;gap:4px}
.gr-ex-ligne{display:block}
.gr-fb-t{line-height:1.2;margin-bottom:4px}
.gr-tab-zone .gr-tab{min-width:540px}
.gr-rad{color:#1C7ED6}
.gr-term{color:#C2410C;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.gr-irreg{color:#7048E8;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.gr-ligne.centre{justify-content:center}
.gr-enonce{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0}
.gr-emoji{font-size:56px;line-height:1.1}
.gr-emoji.plusieurs{font-size:44px;letter-spacing:2px}
.gr-mot-carte{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 26px;border-radius:22px;background:#F8F4E8;min-width:180px}
.gr-grand-mot{font-family:Andika,Quicksand,sans-serif;font-size:clamp(40px,10vw,54px);line-height:1.1;color:#1F2D24}
.gr-truc{margin:12px 0 0;padding:8px 12px;border-radius:14px;background:#FFF9DB;color:#5C4400;font-size:16px;text-align:center}
.gr-phrase.cadre{padding:6px 14px;border-radius:14px;background:#FFFDF5;border:3px dashed #8A5A2B}
.gr-phrase.lettre{font-size:clamp(26px,6vw,34px)}
.gr-choix.colonne{flex-direction:column;align-items:stretch;max-width:520px;margin-left:auto;margin-right:auto}
.gr-choix.quatre{display:grid;grid-template-columns:1fr 1fr;max-width:560px;margin-left:auto;margin-right:auto}
.gr-choix.quatre .gr-mot{min-width:0;padding:10px 6px;font-size:20px}
.gr-choix.lettres .gr-mot{min-width:96px}
.gr-mot.phrase{font-size:clamp(22px,5.4vw,28px);min-height:64px;text-align:left;padding:10px 18px}
.gr-mot.petit{font-size:22px}
.gr-mots-phrase{flex:1;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.gr-etiquette{min-height:60px;padding:8px 16px;border:3px solid var(--c);border-radius:16px;background:#fff;cursor:pointer;
  font-family:Andika,Quicksand,sans-serif;font-size:clamp(24px,6vw,30px);color:#2A2416;box-shadow:0 4px 0 var(--c);transition:transform .08s,opacity .15s}
.gr-etiquette:active{transform:translateY(3px);box-shadow:0 1px 0 var(--c)}
.gr-etiquette:disabled{cursor:default}
.gr-etiquette.pris{opacity:.12;box-shadow:none}
.gr-etiquette.juste{background:#D3F9D8;border-color:var(--vert);box-shadow:0 4px 0 var(--vert);opacity:1}
.gr-etiquette.eteint{opacity:.35;box-shadow:none}
.gr-etiquette.secoue,.gr-reponse.secoue{animation:gr-secoue .35s}
.gr-etiquette.posee{cursor:default;box-shadow:none;border-style:solid;background:#F1F3F5;min-height:52px;display:inline-flex;align-items:center}
.gr-etiquette.posee.juste{background:#D3F9D8}
.gr-reponse{flex:1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;min-height:76px;padding:10px;border-radius:18px;border:3px dashed #CFC4A8;background:#FFFDF5}
.gr-vide{color:#8A7E63;font-size:17px}
.gr-banque{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:18px}
.gr-go.petit{min-height:52px;padding:10px 20px;font-size:18px}
.gr-suite.serre{margin-top:16px}
.gr-frise{display:grid;grid-template-columns:repeat(13,1fr);gap:3px;max-width:430px;margin:10px auto 0;font-family:Andika,sans-serif;font-size:19px}
.gr-frise span{display:grid;place-items:center;height:32px;border-radius:7px;background:#F1F3F5;color:#5C5440}
.gr-frise span.vu{background:#FFF3BF;color:#7A4E00;font-weight:700}
.gr-frise span.bon{background:#2B8A3E;color:#fff;font-weight:700}
.gr-fb-phrase{margin:8px 0 0;font-family:Andika,sans-serif;font-size:clamp(24px,5.6vw,30px)}
.gr-panneau{display:flex;flex-direction:column;gap:2px}
.gr-panneau-c{font-family:Quicksand,sans-serif;font-size:15px;color:#5C4400;font-weight:700}
.gr-panneau-t{display:block}
.gr-jeu-btns .gr-mot{font-size:32px;min-width:120px}
.gr-jeu-btns .gr-mot.petit{font-size:22px}

/* ---------- téléphone ---------- */
@media (max-width:560px){
  .gr-regles{grid-template-columns:1fr}
  .gr-iles{grid-template-columns:1fr 1fr;gap:10px}
  .gr-ile{min-height:132px}
  .gr-ligne{flex-direction:column;align-items:stretch}
  .gr-mot{min-width:120px;font-size:30px}
  .gr-mot.petit{font-size:20px}
  .gr-mot.phrase{font-size:22px}
  .gr-iles .gr-ile-nom{font-size:19px}
  .gr-ligne.centre{flex-direction:row;align-items:center;justify-content:center}
  .gr-bulle-plumo{align-items:flex-start}
  .gr-hud{font-size:18px;gap:14px}
}
@media (prefers-reduced-motion:reduce){
  .gr-revisions,.gr-lave,.gr-v-fumee{animation:none}
}

/* ---------- la pièce d'or dessinée (l'emoji 🪙 est argenté sur Apple) ----------
   /commun/piece-or.js remplace tout « 🪙 » affiché par <span class="piece-or">. */
.piece-or{display:inline-block;width:1em;height:1em;border-radius:50%;vertical-align:-.14em;margin:0 .04em;flex:none;position:relative;
  background:radial-gradient(circle at 32% 28%,#FFFBD1 0 10%,#FFE066 24%,#FFC400 52%,#E09E00 78%,#B57A00 100%);
  box-shadow:inset 0 0 0 .07em #A86F00,inset 0 0 0 .15em #FFD84A,0 .05em .1em rgba(120,80,0,.35)}
.piece-or::after{content:"";position:absolute;inset:.27em;border-radius:50%;border:.06em solid rgba(150,95,0,.55)}
.gr-jeu-btns.quatre .gr-mot{font-size:22px}
