/* Réflexe Grossesse — module jeu-grossesse (plugin ljd-modules). GÉNÉRÉ depuis maquettes/jeu-grossesse-v0.1.html
   par produits/jeu-dci/construire-module.py — ne pas éditer à la main : modifier la maquette puis reconstruire.
   Tokens : variables du thème (--wp--preset--color--*) avec replis charte v1.2. */
  @font-face{font-family:'Montserrat';font-style:normal;font-weight:400 600;font-display:swap;src:url('../theme/juste-dose/assets/fonts/montserrat-variable-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
  @font-face{font-family:'Playfair Display';font-style:italic;font-weight:500 600;font-display:swap;src:url('../theme/juste-dose/assets/fonts/playfair-display-italic-variable-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

  .jgro{
    --vert:var(--wp--preset--color--vert,#1F4D3A); --dore:var(--wp--preset--color--dore,#C9942B); --dore-texte:var(--wp--preset--color--dore-texte,#876114);
    --creme:var(--wp--preset--color--creme,#F7F0E3); --blanc-casse:var(--wp--preset--color--blanc-casse,#FCFAF3); --blanc:var(--wp--preset--color--blanc,#FFFFFF);
    --encre:var(--wp--preset--color--encre,#22281F); --sable:var(--wp--preset--color--sable,#F0E6D0);
    --vert-hover:var(--wp--preset--color--vert-hover,#173B2C); --gris-texte:var(--wp--preset--color--gris-texte,#565B52);
    --bordure:var(--wp--preset--color--bordure,#E3DCCB); --bordure-sable:var(--wp--preset--color--bordure-sable,#E8DFC9);
    --alerte:var(--wp--preset--color--alerte,#9A3324); --alerte-fond:var(--wp--preset--color--alerte-fond,#F8EFEF); --alerte-bord:var(--wp--preset--color--alerte-bord,#E5CFCF);
    --r-carte:16px; --r-encart:12px;
    --t-rapide:160ms ease-out; --t-douce:340ms cubic-bezier(.22,.61,.36,1);
    --ombre-carte:0 1px 2px rgba(34,40,31,.05);
  }
  .jgro *{margin:0;padding:0;box-sizing:border-box}
  .jgro{font-family:'Montserrat','Helvetica Neue',Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--encre);background:var(--creme);-webkit-font-smoothing:antialiased}
  .jgro button{font:inherit;color:inherit}
  .jgro a{color:var(--vert)}
  .jgro a:focus-visible, .jgro button:focus-visible, .jgro input:focus-visible, .jgro [tabindex]:focus-visible{outline:3px solid var(--vert);outline-offset:3px;border-radius:6px}
  .jgro h1, .jgro h2{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:500;color:var(--vert);line-height:1.15;text-wrap:balance}
  .jgro .visu-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

    .jgro .conteneur{max-width:720px;margin-inline:auto;padding:clamp(18px,4vw,36px) clamp(16px,4vw,28px) 56px}

  .jgro .entete-jeu{display:flex;align-items:center;gap:14px;margin-bottom:6px}
  .jgro .entete-jeu .mono{width:40px;height:40px;color:var(--vert);flex:0 0 auto}
  /* Icône « trait continu » de l'en-tête : image fixe (icône terminée) + vidéo qui la
     dessine, servies par le thème (assets/icones/) et résolues au boot depuis data-icones.
     L'image fixe est le repli : JS coupé, prefers-reduced-motion ou lecture refusée, on
     voit l'icône complète et rien ne bouge. Le fond des médias (~252,249,235) est plus
     clair que le crème de la page (247,240,227) : mix-blend-mode:darken laisse donc la
     page gagner partout sur le fond et ne garde que le trait vert — fond invisible, sans
     canal alpha. 56px : le dessin occupe ~73 % du cadre, il pèse donc comme les 40px du
     monogramme qu'il remplace. */
  .jgro .entete-jeu .ic-entete{width:56px;height:56px;flex:0 0 auto;display:block;line-height:0}
  .jgro .entete-jeu .ic-entete .ic-fixe, .jgro .entete-jeu .ic-entete .ic-anim{width:56px;height:56px;display:block;mix-blend-mode:darken}
  .jgro .entete-jeu .ic-entete .ic-anim{display:none}
  @media (prefers-reduced-motion: no-preference){
    .jgro .entete-jeu .ic-entete .ic-fixe{display:none}
    .jgro .entete-jeu .ic-entete .ic-anim{display:block}
  }

  .jgro .eyebrow{font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:600;color:var(--dore-texte)}
  .jgro h1{font-size:clamp(32px,7vw,44px)}
  .jgro .tagline{color:var(--gris-texte);margin-top:6px;font-size:16px}

  /* disclaimer YMYL : reste dans le markup (présent même dans le module déployé) */
  .jgro-avert{display:flex;gap:11px;align-items:flex-start;background:var(--alerte-fond);border:1px solid var(--alerte-bord);border-radius:var(--r-encart);padding:13px 16px;margin:20px 0;font-size:13.5px;color:var(--encre)}
  .jgro-avert svg{flex:0 0 auto;color:var(--alerte);margin-top:2px}
  .jgro-avert b{color:var(--alerte)}

  .jgro .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:15px;font-weight:600;letter-spacing:.3px;text-decoration:none;border-radius:999px;padding:15px 28px;cursor:pointer;border:0;transition:transform var(--t-rapide),background-color var(--t-rapide),box-shadow var(--t-rapide)}
  .jgro .btn:active{transform:scale(.96)}
  .jgro .btn-plein{background:var(--vert);color:var(--creme);box-shadow:0 10px 22px -12px rgba(31,77,58,.6)}
  .jgro .btn-plein:hover{background:var(--vert-hover);transform:translateY(-2px)}
  .jgro .btn-ligne{background:transparent;color:var(--vert);border:1.5px solid var(--vert);padding:13px 24px}
  .jgro .btn-ligne:hover{background:rgba(31,77,58,.07);transform:translateY(-2px)}
  .jgro .btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
  .jgro .btn-petit{padding:9px 16px;font-size:13px}

  .jgro .ecran[hidden]{display:none}
  .jgro .carte{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r-carte);box-shadow:var(--ombre-carte)}

  /* accueil : modes */
  .jgro .modes{display:grid;gap:14px;margin:22px 0 30px}
  .jgro .mode-cta{display:flex;flex-direction:row;gap:16px;align-items:center;justify-content:flex-start;text-align:left;border-radius:var(--r-carte);padding:20px 22px;width:100%}
  .jgro .mode-cta .ic-mode{flex:0 0 auto;width:48px;height:48px;border-radius:999px;background:var(--creme);color:var(--vert);display:flex;align-items:center;justify-content:center}
  .jgro .mode-cta .txt-cta{display:flex;flex-direction:column;gap:3px;min-width:0}
  .jgro .mode-cta b{font-size:21px;line-height:1.2}
  .jgro .mode-cta small{font-weight:500;font-size:14px}
  .jgro .mode-off{opacity:.6}
  .jgro .tag-bientot{display:inline-block;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;background:var(--sable);color:var(--dore-texte);padding:2px 10px;border-radius:999px;margin-left:6px;vertical-align:middle}

  /* réglages : systèmes */
  .jgro .bloc-reglage{margin:28px 0}
  .jgro .bloc-reglage > .legende{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
  .jgro .bloc-reglage h2{font-size:22px}
  .jgro .compteur-pool{font-size:13px;color:var(--gris-texte);font-variant-numeric:tabular-nums}
  .jgro .chips{display:flex;flex-wrap:wrap;gap:8px}
  .jgro .chip-aire{border:1.5px solid var(--bordure);background:var(--blanc);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;color:var(--gris-texte);cursor:pointer;transition:background-color var(--t-rapide),color var(--t-rapide),border-color var(--t-rapide)}
  .jgro .chip-aire[aria-pressed="true"]{background:var(--vert);border-color:var(--vert);color:var(--creme)}
  .jgro .lien-tout{background:none;border:0;color:var(--vert);font-size:12.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
  .jgro .hint-vide, .jgro .hint-reserve{font-size:13px;color:var(--alerte);margin-top:10px}
  .jgro .btn-gloss{background:none;border:1.5px solid var(--bordure);border-radius:999px;color:var(--gris-texte);font-size:12px;font-weight:600;padding:6px 12px;cursor:pointer}
  .jgro .btn-gloss:hover{border-color:var(--vert);color:var(--vert)}
  .jgro .glossaire-jeu{position:relative;padding:16px 18px;margin-bottom:16px}
  .jgro .glossaire-jeu[hidden]{display:none}
  .jgro .glossaire-jeu-titre{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--dore-texte);margin-bottom:8px}
  .jgro .glossaire-jeu dl{display:grid;gap:6px;margin:0}
  .jgro .glossaire-jeu div{display:flex;gap:8px;font-size:13px}
  .jgro .glossaire-jeu dt{font-weight:700;color:var(--vert);flex:0 0 120px}
  .jgro .glossaire-jeu dd{margin:0;color:var(--gris-texte)}
  .jgro .glossaire-fermer{position:absolute;top:8px;right:12px;background:none;border:0;font-size:22px;line-height:1;color:var(--gris-texte);cursor:pointer}
  .jgro .bulle{display:flex;gap:14px;align-items:center;margin:20px 0}
  .jgro .bulle .txt{background:var(--blanc);border:1px solid var(--bordure);border-radius:4px 14px 14px 14px;padding:12px 16px;font-size:14.5px}
  .jgro .bulle .qui{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--dore-texte);margin-bottom:3px}
  .jgro .avatar-ini{width:56px;height:56px;border-radius:999px;background:var(--vert);color:var(--creme);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13.5px;text-align:center;line-height:1.1;flex:0 0 auto;padding:4px}
  .jgro .avatar-ini.petite{width:38px;height:38px;font-size:11px}
  /* têtes de personnages (visages sur fond clair Officine, cadrés sur le visage) */
  .jgro .bulle img{width:56px;height:56px;border-radius:999px;object-fit:cover;object-position:top;background:var(--vert);flex:0 0 auto;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
  .jgro .reflexe img.petite{width:38px;height:38px;border-radius:999px;object-fit:cover;object-position:top;background:var(--vert);flex:0 0 auto;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px}
  .jgro .gloss-bas{text-align:center;margin-top:18px}
  .jgro #frise-correction .cor-pied{justify-content:center}

  /* échelle 4 niveaux (couleurs charte ; toujours doublées d'un libellé) */
  .jgro .nv-pastille{flex:0 0 auto;width:16px;height:16px;border-radius:999px}
  .jgro .nv-compatible{background:var(--vert)}
  .jgro .nv-utilisable{background:var(--blanc);border:3px solid var(--vert)}
  .jgro .nv-a-eviter{background:var(--dore)}
  .jgro .nv-contre-indique{background:var(--alerte)}
  .jgro .pan-compatible{background:#EEF3EE;color:var(--vert);border-color:#D5E2D7}
  .jgro .pan-utilisable{background:#F3F8F4;color:var(--vert);border-color:#D5E2D7}
  .jgro .pan-a-eviter{background:#FBF3E2;color:var(--dore-texte);border-color:#ECD9B0}
  .jgro .pan-contre-indique{background:var(--alerte-fond);color:var(--alerte);border-color:var(--alerte-bord)}

  /* partie (Chrono) */
  .jgro .hud{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:8px}
  .jgro .hud .stat{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
  .jgro .hud .stat small{display:block;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gris-texte);font-weight:600}
  .jgro .btn-quitter{background:none;border:0;font-size:13px;font-weight:600;color:var(--gris-texte);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
  .jgro .chrono{position:relative;height:10px;border-radius:99px;background:var(--blanc);border:1px solid var(--bordure);overflow:hidden;margin-bottom:18px}
  .jgro .chrono-fill{position:absolute;inset:1px;border-radius:99px;background:var(--vert);transform-origin:left center}
  .jgro .chrono[hidden]{display:none}

  .jgro .ordonnance{padding:clamp(18px,4vw,26px);text-align:center;margin-bottom:16px}
  .jgro .ordonnance .sens{font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;color:var(--dore-texte)}
  .jgro .ordonnance .nom{font-size:clamp(23px,5.5vw,32px);font-weight:600;letter-spacing:.3px;margin:8px 0 4px;overflow-wrap:anywhere;line-height:1.2}
  .jgro .ordonnance .classe{font-size:13px;color:var(--gris-texte)}
  .jgro .terme-tag{display:inline-block;margin-top:12px;background:var(--sable);border:1px solid var(--bordure-sable);color:#5b4a26;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:600}
  .jgro .cond-note{margin-top:10px;font-size:13px;color:var(--gris-texte)}
  .jgro .cond-note b{color:var(--encre);font-weight:600}

  .jgro .consigne-q{font-size:13.5px;color:var(--gris-texte);text-align:center;margin-bottom:12px}
  .jgro .niveaux{display:grid;gap:10px}
  .jgro .niveaux[hidden]{display:none}
  .jgro .rep-niv{display:flex;align-items:center;gap:13px;width:100%;min-height:54px;text-align:left;background:var(--blanc);border:1.5px solid var(--bordure);border-radius:var(--r-encart);padding:11px 15px;font-size:15.5px;font-weight:600;cursor:pointer;transition:border-color var(--t-rapide),background-color var(--t-rapide),transform var(--t-rapide)}
  .jgro .rep-niv:hover{border-color:var(--vert);background:var(--blanc-casse)}
  .jgro .rep-niv:active{transform:scale(.99)}
  .jgro .rep-niv .lab{display:flex;flex-direction:column;line-height:1.2}
  .jgro .rep-niv .glose{font-size:11.5px;font-weight:500;color:var(--gris-texte);margin-top:2px}
  .jgro .rep-niv.juste{border-color:var(--vert);background:var(--blanc-casse);box-shadow:inset 0 0 0 1.5px var(--vert)}
  .jgro .rep-niv.proche{border-color:var(--dore);background:#FBF3E2}
  .jgro .rep-niv.faux{border-color:var(--alerte-bord);background:var(--alerte-fond)}
  .jgro .rep-niv[disabled]{cursor:default}
  .jgro .indice-scoring{font-size:12px;color:var(--gris-texte);text-align:center;margin-top:14px}

  /* correction */
  .jgro .correction{border:1px solid var(--alerte-bord);background:var(--alerte-fond);border-radius:var(--r-carte);padding:20px 22px;cursor:pointer;box-shadow:var(--ombre-carte)}
  .jgro .correction.est-juste{border-color:var(--bordure);background:var(--blanc-casse)}
  .jgro .correction.est-proche{border-color:#ECD9B0;background:#FBF3E2}
  .jgro .correction .verdict{font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--alerte)}
  .jgro .correction.est-juste .verdict{color:var(--vert)}
  .jgro .correction.est-proche .verdict{color:var(--dore-texte)}
  .jgro .correction .equiv{font-size:18px;font-weight:600;margin:10px 0 2px}
  .jgro .correction .equiv .ok{color:var(--vert)}
  .jgro .correction .meta{font-size:13.5px;color:var(--gris-texte);margin-top:6px}
  .jgro .correction .reflexe{display:flex;gap:11px;align-items:flex-start;margin-top:14px;padding-top:14px;border-top:1px solid var(--alerte-bord)}
  .jgro .correction.est-juste .reflexe, .jgro .correction.est-proche .reflexe{border-top-color:var(--bordure)}
  .jgro .correction .reflexe p{font-size:14.5px}
  .jgro .correction .reflexe .qui{display:block;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:var(--dore-texte)}
  .jgro .correction .alerte-cor{margin-top:12px;font-size:13px;color:var(--alerte);font-weight:600}
  .jgro .correction .rappel-presc{margin-top:10px;font-size:12.5px;color:var(--gris-texte);font-style:italic}
  .jgro .correction .src{margin-top:10px;font-size:11px;color:var(--gris-texte);font-weight:600;letter-spacing:.04em}
  .jgro .cor-pied{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--alerte-bord)}
  .jgro .correction.est-juste .cor-pied, .jgro .correction.est-proche .cor-pied{border-top-color:var(--bordure)}
  .jgro .cor-pied .astuce{margin-left:auto;font-size:12px;color:var(--gris-texte);white-space:nowrap}

  /* mode Frise */
  .jgro .frise{display:grid;gap:9px;margin:6px 0 4px}
  .jgro .frise-row{display:grid;grid-template-columns:96px 1fr;gap:10px;align-items:center}
  .jgro .frise-row .pl{font-size:12.5px;font-weight:700;color:var(--encre);line-height:1.2}
  .jgro .seg4{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
  .jgro .seg4 button{min-height:42px;border:1.5px solid var(--bordure);background:var(--blanc);border-radius:9px;font-size:12px;font-weight:700;color:#b3ab99;cursor:pointer;padding:4px;transition:border-color var(--t-rapide),background-color var(--t-rapide)}
  .jgro .seg4 button[aria-pressed="true"].s-compatible{background:var(--vert);color:var(--creme);border-color:var(--vert)}
  .jgro .seg4 button[aria-pressed="true"].s-utilisable{background:#EAF1EC;color:var(--vert);border-color:var(--vert)}
  .jgro .seg4 button[aria-pressed="true"].s-a-eviter{background:#FBF3E2;color:var(--dore-texte);border-color:var(--dore)}
  .jgro .seg4 button[aria-pressed="true"].s-contre-indique{background:var(--alerte-fond);color:var(--alerte);border-color:var(--alerte)}
  .jgro .frise-row.corrige .seg4 button{opacity:.5}
  .jgro .frise-row.corrige .seg4 button.bonne{opacity:1;outline:2px solid var(--vert);outline-offset:1px}
  .jgro .frise-row .verdict-row{font-size:11px;font-weight:700}
  .jgro .frise-leg{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;color:var(--gris-texte);margin:12px 0 6px;justify-content:center}
  .jgro .frise-leg span{display:inline-flex;align-items:center;gap:5px}
  .jgro .frise-leg i{width:13px;height:13px;border-radius:4px;display:inline-block}

  /* fin */
  .jgro .fin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}
  @media (max-width:560px){.jgro .fin-stats{grid-template-columns:repeat(2,1fr)}}
  .jgro .fin-stat{padding:18px 12px;text-align:center}
  .jgro .fin-stat b{display:block;font-size:23px;margin-bottom:2px;font-variant-numeric:tabular-nums}
  .jgro .fin-stat small{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gris-texte);font-weight:600}
  .jgro .juste-dose{background:var(--blanc);border:1px solid var(--bordure);border-left:3px solid var(--vert);border-radius:var(--r-encart);padding:18px 22px;margin:24px 0;box-shadow:var(--ombre-carte)}
  .jgro .juste-dose .label{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--vert);margin-bottom:5px}
  .jgro .juste-dose p{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:18px;color:var(--encre);line-height:1.45}
  .jgro .appris{margin:28px 0}
  .jgro .appris h2{font-size:22px;margin-bottom:12px}
  .jgro .appris ul{list-style:none;display:grid;gap:8px}
  .jgro .appris li{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r-encart);padding:11px 15px;font-size:14px;display:flex;flex-wrap:wrap;gap:3px 10px;align-items:baseline}
  .jgro .appris li .paire{font-weight:600}
  .jgro .appris li .meta{font-size:12px;color:var(--gris-texte)}
  .jgro .appris .vide{color:var(--gris-texte);font-size:14.5px;background:none;border:0;padding:0}
  .jgro .fin-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}

  /* glossaire */
  .jgro .glossaire-bloc{margin-top:30px}
  .jgro .glossaire-toggle{background:none;border:0;color:var(--vert);font-size:13.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:0}
  .jgro .glossaire-corps{margin-top:12px;background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r-encart);padding:14px 16px}
  .jgro .glossaire-corps[hidden]{display:none}
  .jgro .glossaire-corps dl{display:grid;gap:6px;margin:0}
  .jgro .glossaire-corps div{display:flex;gap:8px;font-size:12.5px}
  .jgro .glossaire-corps dt{font-weight:700;color:var(--vert);flex:0 0 130px}
  .jgro .glossaire-corps dd{margin:0;color:var(--gris-texte)}

  .jgro .pied-jeu{border-top:1px solid var(--bordure);margin:0 auto;max-width:720px;padding:18px clamp(16px,4vw,28px) 40px;font-size:12.5px;color:var(--gris-texte);display:grid;gap:8px}
  .jgro #titre-jeu:focus, .jgro #titre-partie:focus, .jgro #titre-fin:focus, .jgro #titre-frise:focus{outline:none}

  @media (prefers-reduced-motion: no-preference){
    .jgro .ecran:not([hidden]){animation:apparait .32s cubic-bezier(.22,.61,.36,1)}
    @keyframes apparait{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
    .jgro .chrono-fill{transition:transform .25s linear}
  }
/* coquille du module (avant le démarrage du JS) */
.jgro .jgro-coquille{min-height:320px}
.jgro .jgro-attente{font-size:15px;color:var(--gris-texte);padding:48px 0;text-align:center}
