/* Styles propres à projets/themes/index.html — extrait du <style> inline (charte partagée : /assets/site.css) */
*,*::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;--muted:#7a7060;--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;}

/* ── BANDEAU (identique à l'accueil) ── */
nav.site{position:fixed;top:0;left:0;right:0;height:var(--nav-h);display:flex;align-items:center;
  justify-content:space-between;padding:0 3rem;background:var(--paper);
  border-bottom:1px solid var(--line);z-index:100;}
nav.site .nav-logo{font-family:var(--display);font-size:1.3rem;font-weight:400;letter-spacing:.03em;
  color:var(--brand);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;}
nav.site .nav-logo img{height:2em;width:auto;vertical-align:middle;margin-right:.5em;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-item{position:relative;}
.nav-tab{font-family:var(--corps);font-size:.72rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);background:none;border:none;cursor:pointer;padding:.5rem 0;display:inline-flex;
  align-items:center;gap:.4rem;transition:color .2s;}
.nav-tab .caret{font-size:.55rem;line-height:1;transition:transform .25s;}
.nav-tab:hover,.nav-item.open .nav-tab{color:var(--gold);}
.nav-item.open .nav-tab .caret{transform:rotate(180deg);}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);min-width:250px;
  background:var(--paper);border:1px solid var(--line);box-shadow:0 14px 34px rgba(26,24,20,.10);list-style:none;
  padding:.5rem 0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s ease;z-index:200;}
.dropdown::before{content:'';position:absolute;top:-12px;left:0;right:0;height:12px;}
.nav-item:hover .dropdown,.nav-item.open .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.dropdown li a{display:block;padding:.7rem 1.5rem;font-size:.78rem;font-weight:300;letter-spacing:.04em;
  color:var(--ink);text-decoration:none;transition:background .2s,color .2s,padding-left .2s;white-space:nowrap;}
.dropdown li a:hover{background:var(--paper-dark);color:var(--gold);padding-left:1.8rem;}
.dropdown li.dropdown-group{padding:.55rem 1.5rem .35rem;font-size:.6rem;font-weight:400;letter-spacing:.22em;
  text-transform:uppercase;color:var(--gold);white-space:nowrap;pointer-events:none;user-select:none;}
.dropdown li.dropdown-group:not(:first-child){margin-top:.25rem;padding-top:.7rem;border-top:1px solid rgba(184,154,90,.18);}
.dropdown li.dropdown-empty{padding:.7rem 1.5rem;font-size:.75rem;font-style:italic;color:var(--muted);white-space:nowrap;}

/* ── 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 .25rem;text-align:center;color:var(--brand);}
#jeu-themes h1 .beta{display:inline-block;vertical-align:middle;font-family:var(--corps);font-size:.34em;
  font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold-light);
  border-radius:4px;padding:.15em .55em;margin-left:.5em;transform:translateY(-.15em);}
#jeu-themes .sous-titre{font-family:var(--display);font-style:italic;font-size:clamp(1.05rem,2.6vw,1.35rem);
  color:var(--muted);text-align:center;margin:0 0 1.6rem;}
#jeu-themes .carte{background:#fff;border:1px solid var(--line);border-radius:4px;
  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:3px;
  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:4px;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);}
#jeu-themes .mode-btn.mode-warn{opacity:.7;filter:grayscale(.45);}
#jeu-themes .mode-btn.mode-warn b{color:var(--muted);}
#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);font-weight:600;}
#jeu-themes .portee{background:#fff;border:1px solid var(--line);border-radius:4px;padding:.6rem .4rem;
  overflow-x:auto;min-height:110px;box-shadow:0 2px 8px rgba(26,24,20,.05);}
#jeu-themes .portee svg{max-width:100%;}
#jeu-themes .portee path{fill:var(--ink);}
#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:3px;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:4px;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);}
#jeu-themes .verdict.lose{color:var(--rouge);}
#jeu-themes .verdict .pts{color:var(--gold);}
#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:3px;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);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);border:1px solid var(--gold-light);border-radius:2px;padding:0 .25rem;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.site{flex-direction:column;height:auto;padding:1rem 1.5rem;gap:.6rem;}
  .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;}
}
