/* Le jeu des thèmes (à l'oreille) — styles de la page.
   Charte du site : /assets/site.css pour le bandeau et les composants partagés,
   fond bleu clair --paper (#f2f5fa) comme l'accueil et les pages de catégorie.
   ⚠️ L'or #b89a5a ne donne que 2,5:1 sur fond clair : il tient les filets, les
   bordures et les aplats, jamais le texte — pour du texte, --gold-txt. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --ink:#1a1814;--paper:#f2f5fa;--paper-dark:#e6ecf6;--brand:#1d3a5f;--brand-dark:#16304f;
  --gold:#b89a5a;--gold-light:#d4b87a;--gold-txt:#7a5d22;
  /* #7a7060 tombe à 4,45:1 sur le fond bleuté, sous le seuil AA. */
  --muted:#6e6659;--line:rgba(184,154,90,0.28);
  --green:#4a6b3f;--rouge:#8a3a30;--nav-h:72px;
  --display:'Cormorant Garamond',Georgia,serif;--corps:'Montserrat',system-ui,sans-serif;
}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:var(--corps);font-weight:300;min-height:100vh;-webkit-font-smoothing:antialiased;}

/* ── CONTENU DU JEU ── */
#jeu-themes{font-family:var(--corps);color:var(--ink);line-height:1.55;max-width:900px;margin:0 auto;
  padding:calc(var(--nav-h) + 1.8rem) 1.4rem 4rem;}
#jeu-themes h1{font-family:var(--display);font-weight:600;font-size:clamp(2.3rem,6vw,3.5rem);line-height:1.05;
  letter-spacing:.01em;margin:0 0 1.6rem;text-align:center;color:var(--brand);}
#jeu-themes .carte{background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 6px 20px rgba(26,24,20,.06);padding:1.4rem 1.5rem;}
#jeu-themes .regles p{margin:.5rem 0;color:var(--muted);}
#jeu-themes .regles ul{margin:.6rem 0 0;padding-left:1.1rem;}
#jeu-themes .regles li{margin:.4rem 0;color:var(--muted);}
#jeu-themes .regles b{color:var(--ink);}
#jeu-themes button{font-family:var(--corps);font-weight:500;font-size:.78rem;letter-spacing:.13em;
  text-transform:uppercase;color:#fff;background:var(--brand);border:1px solid var(--brand);border-radius:999px;
  padding:.85rem 1.8rem;cursor:pointer;transition:background .15s,transform .05s,border-color .15s;}
#jeu-themes button:hover{background:var(--brand-dark);border-color:var(--brand-dark);}
#jeu-themes button:active{transform:translateY(1px);}
#jeu-themes button.ghost{background:transparent;color:var(--ink);border-color:var(--line);}
#jeu-themes button.ghost:hover{background:var(--paper-dark);color:var(--brand);border-color:var(--gold-light);}
#jeu-themes button:disabled{opacity:.45;cursor:default;}
#jeu-themes .centre{text-align:center;margin-top:1.6rem;}
#jeu-themes .modes{display:grid;gap:.9rem;margin:1.4rem 0 .4rem;}
#jeu-themes .mode-btn{display:block;width:100%;text-align:left;text-transform:none;letter-spacing:0;font-weight:400;
  font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1rem 1.2rem;}
#jeu-themes .mode-btn:hover{background:var(--paper-dark);border-color:var(--gold-light);color:var(--ink);}
#jeu-themes .mode-btn b{font-family:var(--display);font-size:1.35rem;font-weight:600;display:block;margin-bottom:.15rem;color:var(--brand);}
#jeu-themes .mode-btn span{font-size:.82rem;color:var(--muted);}
/* Les TROIS modes sont jouables : aucun n'est grisé. (La version écrite
   grisait « très difficile » parce que le rythme de certains incipits n'était
   pas vérifié — ici il n'y a pas d'incipit, la remarque est sans objet.) */
#jeu-themes .mode-btn .warn-note{display:block;margin-top:.45rem;font-size:.72rem;color:var(--rouge);font-style:italic;}
#jeu-themes .bandeau{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--corps);
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;}
#jeu-themes .bandeau .score{color:var(--gold-txt);font-weight:600;}
#jeu-themes .listen-row{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;justify-content:center;margin:.9rem 0 .2rem;}
#jeu-themes .indice{font-size:.68rem;color:var(--muted);font-style:italic;text-align:center;margin:.2rem 0 0;}
/* étape 1 : recherche de l'œuvre */
#jeu-themes .guess{position:relative;margin:1.2rem 0 .2rem;}
#jeu-themes .guess label,#jeu-themes .mvt-lead{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:.3rem;}
#jeu-themes #in-guess{font-family:var(--corps);font-size:1.05rem;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;width:100%;}
#jeu-themes #in-guess:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(184,154,90,.22);}
#jeu-themes .suggest{position:absolute;left:0;right:0;top:100%;margin-top:2px;background:#fff;border:1px solid var(--line);
  border-radius:3px;box-shadow:0 12px 28px rgba(26,24,20,.12);list-style:none;max-height:320px;overflow-y:auto;z-index:30;}
#jeu-themes .suggest li{padding:.6rem .9rem;font-size:.92rem;cursor:pointer;border-bottom:1px solid rgba(184,154,90,.14);}
#jeu-themes .suggest li:last-child{border-bottom:none;}
#jeu-themes .suggest li b{font-family:var(--display);font-weight:600;font-size:1.05rem;color:var(--brand);}
#jeu-themes .suggest li .sub{color:var(--muted);}
#jeu-themes .suggest li.hl,#jeu-themes .suggest li:hover{background:var(--paper-dark);}
#jeu-themes .suggest .empty{color:var(--muted);font-style:italic;cursor:default;}
#jeu-themes .guess-msg{font-size:.72rem;color:var(--muted);min-height:1.1em;margin:.5rem 0 0;text-align:center;}
#jeu-themes .actions{display:flex;gap:.7rem;flex-wrap:wrap;justify-content:center;margin-top:.9rem;}
/* étape 2 : choix du mouvement */
#jeu-themes .mvt-stage{margin:1.2rem 0 .2rem;}
#jeu-themes .chosen-work{font-family:var(--display);font-size:1.35rem;font-weight:600;color:var(--brand);margin:.1rem 0 1rem;}
#jeu-themes .mvt-q{font-size:.95rem;color:var(--ink);margin-bottom:.6rem;text-align:center;}
#jeu-themes .mvt-list{display:grid;gap:.5rem;}
#jeu-themes .mvt-btn{text-transform:none;letter-spacing:0;font-weight:400;font-size:.95rem;text-align:left;
  color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;}
#jeu-themes .mvt-btn:hover{background:var(--paper-dark);border-color:var(--gold-light);color:var(--brand);}
/* révélation */
#jeu-themes .reveal{margin-top:1.2rem;}
#jeu-themes .reveal-head{display:flex;gap:1rem;align-items:center;}
#jeu-themes .reveal-photo{width:78px;height:78px;border-radius:50%;object-fit:cover;border:2px solid var(--gold-light);flex:0 0 auto;background:var(--paper-dark);}
#jeu-themes .mono{width:78px;height:78px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:1.8rem;color:#fff;background:var(--brand);border:2px solid var(--gold-light);}
#jeu-themes .reveal-oeuvre{font-family:var(--display);font-size:1.5rem;font-weight:600;color:var(--brand);line-height:1.15;}
#jeu-themes .reveal-ton{font-style:italic;font-weight:500;font-size:1.1rem;color:var(--muted);}
#jeu-themes .reveal-comp{font-size:.9rem;color:var(--ink);margin-top:.1rem;}
#jeu-themes .reveal-meta{font-size:.78rem;color:var(--muted);}
#jeu-themes .reveal-mvt{font-family:var(--display);font-style:italic;font-size:1.15rem;color:var(--ink);margin:.7rem 0 .2rem;}
#jeu-themes .verdict{font-family:var(--display);font-size:1.4rem;font-weight:600;text-align:center;margin:.2rem 0 .3rem;}
#jeu-themes .verdict.win{color:var(--green);}
#jeu-themes .verdict.mid{color:var(--gold-txt);}
#jeu-themes .verdict.lose{color:var(--rouge);}
#jeu-themes .verdict .pts{color:var(--gold-txt);}
#jeu-themes .breakdown{font-size:.75rem;color:var(--muted);text-align:center;margin:0 0 .5rem;}
#jeu-themes .breakdown .ok{color:var(--green);}
#jeu-themes .breakdown .ko{color:var(--rouge);}
#jeu-themes .final-leg{font-family:var(--corps);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);text-align:center;}
#jeu-themes .final-score{font-family:var(--display);font-weight:700;font-size:clamp(3rem,12vw,5rem);text-align:center;line-height:1;color:var(--brand);margin:.1rem 0 .3rem;}
#jeu-themes #lb-name{font-family:var(--display);font-size:1.1rem;color:var(--ink);background:#fff;border:1px solid var(--line);
  border-radius:10px;padding:.5rem .7rem;width:100%;max-width:320px;text-align:center;}
#jeu-themes #lb-name:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(184,154,90,.22);}
#jeu-themes .lb-titre{font-family:var(--display);font-size:1.5rem;font-weight:600;text-align:center;margin:1.6rem 0 .6rem;color:var(--brand);}
#jeu-themes table.lb{width:100%;border-collapse:collapse;font-family:var(--corps);font-size:.85rem;}
#jeu-themes table.lb th{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-txt);font-weight:600;padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:left;}
#jeu-themes table.lb td{padding:.45rem .5rem;border-bottom:1px solid rgba(184,154,90,.22);text-align:left;}
#jeu-themes table.lb td:first-child{color:var(--muted);width:2rem;}
#jeu-themes table.lb td.sc{font-weight:600;color:var(--brand);}
#jeu-themes table.lb td.dt{color:var(--muted);white-space:nowrap;}
#jeu-themes table.lb tr.lb-moi td{background:rgba(184,154,90,.16);}
#jeu-themes .lb-badge{font-size:.56rem;letter-spacing:.06em;color:var(--gold-txt);border:1px solid var(--gold-light);border-radius:999px;padding:0 .4rem;margin-left:.35rem;vertical-align:middle;text-transform:capitalize;}
#jeu-themes .lb-note{font-size:.66rem;color:var(--muted);text-align:center;margin-top:.5rem;font-style:italic;}
#jeu-themes .hidden{display:none;}
#jeu-themes .warn{color:var(--rouge);font-size:.8rem;text-align:center;}
@media(max-width:820px){
  .nav-links{gap:1.1rem;flex-wrap:wrap;justify-content:center;}
  #jeu-themes{padding-top:170px;}
}
@media(max-width:560px){
  #jeu-themes{padding-top:190px;}
  #jeu-themes .reveal-photo,#jeu-themes .mono{width:60px;height:60px;}
  .dropdown{min-width:200px;}
}

/* ══ VERSION À L'OREILLE ══════════════════════════════════════════════════
   Ici, pendant la manche, il n'y a RIEN à voir : le lecteur tient toute la
   place, et la portée ne réapparaît qu'à la révélation. */

#jeu-themes .lecteur{
  display:flex;flex-direction:column;align-items:center;gap:.55rem;
  margin:1.4rem 0 1.2rem;
}
/* .hidden est moins spécifique que « #jeu-themes .lecteur » : sans cette
   règle, le lecteur resterait visible sous la révélation. */
#jeu-themes .lecteur.hidden{display:none;}
#jeu-themes .gros-play{
  display:inline-flex;align-items:center;gap:.7rem;
  padding:.95rem 1.9rem;border-radius:999px;
  border:1px solid var(--gold);background:#fff;color:var(--ink);
  font-family:'Montserrat',system-ui,sans-serif;font-size:1rem;font-weight:500;
  cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;
}
#jeu-themes .gros-play:hover:not(:disabled){background:var(--brand);border-color:var(--brand);color:#fff;}
#jeu-themes .gros-play:disabled{opacity:.5;cursor:default;}
#jeu-themes .gros-play:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
#jeu-themes .gros-play.joue{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 0 0 6px rgba(29,58,95,.14);}
#jeu-themes .gp-icone{font-size:1.15rem;line-height:1;}

/* Où en est l'extrait : une barre, pas un chronomètre — inutile de compter. */
#jeu-themes .jauge{
  width:min(360px,86%);height:4px;border-radius:999px;
  background:rgba(184,154,90,.22);overflow:hidden;
}
#jeu-themes .jauge i{display:block;height:100%;width:0;background:var(--gold);transition:width .2s linear;}

#jeu-themes .regles-note{
  font-size:.74rem;line-height:1.6;color:var(--muted);font-style:italic;margin:.6rem 0 0;
}
#jeu-themes .credit{
  font-size:.72rem;line-height:1.6;color:var(--muted);text-align:center;margin:.7rem 0 0;
}
#jeu-themes .credit b{color:var(--ink);font-weight:500;}
#jeu-themes .credit-src{opacity:.75;}
