/* ═══════════════════════════════════════════════════════════════════
   NUÉE DE TÉMOINS — habillage de la table (prototype 3)

   Un seul décor, voulu : la nuit étoilée des voûtes, où les cartes vélin
   et les plaques des œuvres ressortent comme des images pieuses posées
   sur une nappe sombre. L'or des emblèmes, la couleur des vertus.
   Chargée après nuee-jeu.css, dont elle reprend les classes.
   ═══════════════════════════════════════════════════════════════════ */
:root, :root[data-theme="light"], :root[data-theme="dark"]{
  --sol:#0B1026; --surface:#131A38; --nappe:#10173A; --texte:#ECE6D6; --doux:#A9AFC9; --filet:#2A3360;
  --accent:#D9BD7A; --accent-contraste:#10152B; --or-texte:#D9BD7A; --rubrique:#E8A48F; --ok:#8FD3B0; --or:#D9BD7A;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){ --sol:#0B1026; --surface:#131A38; --nappe:#10173A; --texte:#ECE6D6; --doux:#A9AFC9; --filet:#2A3360; --accent:#D9BD7A; --accent-contraste:#10152B; --or-texte:#D9BD7A; --rubrique:#E8A48F; --ok:#8FD3B0; }
}
body{
  background-color:#0B1026;
  background-image:
    radial-gradient(ellipse at 20% 0%, rgba(64,86,180,.28), transparent 55%),
    radial-gradient(ellipse at 90% 100%, rgba(120,80,160,.16), transparent 50%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='%23D9BD7A'%3E%3Ccircle cx='12' cy='18' r='.9' opacity='.55'/%3E%3Ccircle cx='70' cy='40' r='.6' opacity='.4'/%3E%3Ccircle cx='100' cy='90' r='1' opacity='.5'/%3E%3Ccircle cx='40' cy='100' r='.5' opacity='.35'/%3E%3Cpath opacity='.35' d='M86 12l1 2.3 2.5.2-1.9 1.7.6 2.5-2.2-1.3-2.2 1.3.6-2.5-1.9-1.7 2.5-.2z'/%3E%3C/g%3E%3C/svg%3E");
  background-attachment:fixed;
}
.haut{background:rgba(8,12,32,.85);backdrop-filter:blur(6px);border-bottom:1px solid rgba(217,189,122,.25);position:sticky;top:0;z-index:15}
.haut-actions button[aria-pressed="true"]{border-color:#D9BD7A;color:#F1E6C4}
.btn{background:linear-gradient(#E6CB86,#C9A55A);color:#1A1530;box-shadow:0 2px 0 #8C6A2A,0 6px 16px rgba(201,165,90,.25)}
.btn:hover:not(:disabled){filter:brightness(1.06)}
.btn-doux{color:#C9CEE3;border-color:#3A4575}

/* Emblèmes */
.embleme{width:100%;height:100%;display:block}
.mini{width:16px;height:16px;display:block}

/* Les missions : une plaque vélin, un halo de la vertu */
.mission{background:linear-gradient(180deg,rgba(21,28,64,.92),rgba(14,20,48,.92));border:1px solid rgba(217,189,122,.35);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.03);position:relative;overflow:hidden}
.mission::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--c) 22%,transparent),transparent 70%);pointer-events:none}
.plaque{background:radial-gradient(ellipse at 50% 0%,#FFFBF2,#F2E6CB);border-block:2px solid var(--c);grid-template-columns:auto minmax(0,1fr) auto;box-shadow:inset 0 0 0 1px rgba(201,165,90,.5);position:relative;z-index:1}
.plaque .m-embleme{grid-row:1 / span 2;grid-column:1;width:34px;height:34px;color:var(--c)}
.plaque h3{grid-column:2}
.plaque .aff{grid-column:2}
.seuil{grid-column:3;background:#FFFBF2;box-shadow:0 0 0 3px rgba(255,255,255,.6)}
.etats{grid-column:1 / -1}
.cote{position:relative;z-index:1}
.cote-tete{color:#B8BEDA}
.tot{color:#F1E6C4}
.jauge{background:rgba(255,255,255,.1)}
.jauge i{box-shadow:0 0 8px var(--c)}
.jauge u{background:#F1E6C4}
.cote-moi.cible{background:color-mix(in srgb,var(--c) 18%,transparent);outline-color:#D9BD7A;animation:appel 1.4s ease-in-out infinite}
@keyframes appel{50%{box-shadow:inset 0 0 24px rgba(217,189,122,.35)}}
.poser-ici{background:linear-gradient(#E6CB86,#C9A55A);color:#1A1530;border:0;font-weight:600}
.raison{color:#9EA6C8}

/* Les tuiles : l'emblème du saint en médaillon */
.tuile{grid-template-columns:auto minmax(0,1fr) auto;background:linear-gradient(#FFFBF2,#F3EAD6);border:1px solid rgba(201,165,90,.55);border-left:4px solid var(--sc-c);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.tuile .t-emb{color:var(--sc-c);width:18px;height:18px}
.tuile.dos,.tuile.a-reveler{background-color:#10163A;background-image:radial-gradient(circle at 50% 50%,rgba(217,189,122,.4) 0 1.6px,transparent 2.4px);background-size:12px 12px;border-color:#3A4575;border-left-color:#D9BD7A;color:#C9CEE3}
.tuile.prevue{background:rgba(255,251,242,.08);border:1px dashed rgba(217,189,122,.7);color:#ECE6D6}
.tuile.prevue .n small{color:#B8BEDA}
.tuile.eclaire{box-shadow:0 0 0 2px #D9BD7A,0 0 18px rgba(217,189,122,.6)}
.tuile.revelee{animation:retourner-or .5s cubic-bezier(.3,.7,.4,1)}
@keyframes retourner-or{0%{transform:perspective(400px) rotateY(90deg);filter:brightness(1.8)}100%{transform:none;filter:none}}

/* La pose */
.pose{background:linear-gradient(180deg,rgba(19,26,56,.9),rgba(12,17,40,.95));border:1px solid rgba(217,189,122,.25);border-radius:10px}
.elan i{border-color:#D9BD7A;transition:background .25s ease,box-shadow .25s ease}
.elan i.plein{background:radial-gradient(circle at 35% 35%,#FFF3C4,#D9BD7A 60%,#8C6A2A);box-shadow:0 0 8px rgba(217,189,122,.7)}
.consigne{color:#B8BEDA}

/* Les cartes : des images pieuses */
.carte{width:190px;height:266px;background:linear-gradient(180deg,#FFFCF4,#F4EAD4);border:0;border-radius:10px;box-shadow:inset 0 0 0 3px #FBF7EE,inset 0 0 0 4.5px color-mix(in srgb,var(--c) 70%,#C9A55A),0 6px 18px rgba(0,0,0,.45)}
.c-bande{margin:6px 6px 0;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,color-mix(in srgb,var(--c) 85%,#fff),var(--c))}
.main .carte{zoom:.85}
.c-niche{margin:6px auto 0;width:64px;height:70px;flex:none;border-radius:32px 32px 6px 6px;border:1.5px solid color-mix(in srgb,var(--c) 70%,#C9A55A);background:radial-gradient(circle at 50% 45%,#FFFDF6 0 30%,color-mix(in srgb,var(--c) 16%,#F7EEDB) 100%);color:var(--c);padding:10px 9px 8px;box-shadow:inset 0 0 12px rgba(201,165,90,.3)}
.c-initiale{display:grid;place-items:center;height:100%;font-family:var(--display);font-style:italic;font-size:30px}
.c-effet{margin:6px 9px 0;font-size:11.5px}
.c-pied{padding:3px 10px 8px}
.carte.evt{--c:#4A4F68}
.carte.evt-vous{--c:#2F6B55}
.carte.evt-adversaire{--c:#8A3A4A}
.carte.evt-tous{--c:#4A4F68}
.carte-btn{transition:transform .18s ease,filter .18s ease}
.carte-btn:not(:disabled):hover{transform:translateY(-8px) rotate(-1deg)}
.carte-btn:not(:disabled):hover .carte{box-shadow:inset 0 0 0 3px #FBF7EE,inset 0 0 0 4.5px #D9BD7A,0 14px 30px rgba(0,0,0,.55),0 0 22px rgba(217,189,122,.35)}
.carte-btn[aria-pressed="true"]{transform:translateY(-14px)}
.carte-btn[aria-pressed="true"] .carte{box-shadow:inset 0 0 0 3px #FBF7EE,inset 0 0 0 4.5px #D9BD7A,0 0 0 3px #D9BD7A,0 0 30px rgba(217,189,122,.55)}
.vol{position:fixed;z-index:40;pointer-events:none;margin:0}

/* Le score et la Nuée */
.camp{background:linear-gradient(180deg,rgba(19,26,56,.9),rgba(12,17,40,.95));border-color:rgba(217,189,122,.25)}
.pips i{width:18px;height:18px;border-color:#D9BD7A;transition:background .3s ease}
.pips i.plein{background:radial-gradient(circle at 35% 35%,#FFF3C4,#D9BD7A 60%,#8C6A2A);box-shadow:0 0 10px rgba(217,189,122,.7)}
.pips i.neuf{animation:allumer 1.2s ease}
@keyframes allumer{0%{transform:scale(.4)}40%{transform:scale(1.5);box-shadow:0 0 26px rgba(255,236,170,1)}100%{transform:none}}
.point-vertu{width:18px;height:18px;border-radius:4px;background:color-mix(in srgb,var(--c) 30%,#FFFBF2);color:var(--c);display:grid;place-items:center;padding:1px}
.point-vertu .mini{width:14px;height:14px}

/* Le récit */
.recit-zone{background:linear-gradient(180deg,rgba(19,26,56,.9),rgba(12,17,40,.95));border-color:rgba(217,189,122,.25);border-radius:10px}
.recit li{border-bottom-color:rgba(255,255,255,.07)}
.recit li.evt{color:#F0B8A8}
.recit li.mission{color:#FFF3C4;border-left-color:#D9BD7A;background:linear-gradient(90deg,rgba(217,189,122,.14),transparent)}

/* Effets posés sur une mission */
.fx{position:absolute;inset:0;z-index:5;pointer-events:none;display:grid;place-items:center;overflow:hidden}
.fx-embleme{width:42%;max-width:120px;height:auto;color:#fff;filter:drop-shadow(0 0 12px rgba(255,255,255,.6));animation:fx-emb 1.7s ease both}
@keyframes fx-emb{0%{transform:scale(.3);opacity:0}25%{transform:scale(1.1);opacity:1}70%{opacity:1}100%{transform:scale(1.3);opacity:0}}
.fx-evt{animation:fx-fond 1.7s ease both}
@keyframes fx-fond{0%,100%{background-color:transparent}30%,60%{background-color:var(--fx,rgba(60,80,160,.35))}}
.fx-tempete{--fx:rgba(40,90,170,.45);background-image:repeating-linear-gradient(170deg,transparent 0 14px,rgba(180,210,255,.18) 14px 16px);background-size:200% 200%;animation:fx-fond 1.7s ease both,pluie .5s linear infinite}
@keyframes pluie{to{background-position:30px 60px}}
.fx-hiver{--fx:rgba(220,235,255,.35);box-shadow:inset 0 0 60px rgba(230,240,255,.9)}
.fx-route{--fx:rgba(160,120,40,.35);background-image:repeating-linear-gradient(45deg,rgba(0,0,0,.25) 0 10px,rgba(217,189,122,.25) 10px 20px)}
.fx-porte{--fx:rgba(120,40,60,.45)}
.fx-contretemps{--fx:rgba(120,50,70,.35)}
.fx-contretemps .fx-embleme{animation:fx-emb 1.7s ease both,tourner 1.7s linear}
@keyframes tourner{to{rotate:360deg}}
.fx-foules{--fx:rgba(217,189,122,.35);background-image:radial-gradient(circle,rgba(255,240,190,.9) 0 1.5px,transparent 2.5px);background-size:22px 22px}
.fx-souffle{--fx:rgba(143,211,176,.25)}
.fx-nouveau{--fx:rgba(255,200,120,.3);background-image:radial-gradient(ellipse at 50% 100%,rgba(255,220,150,.6),transparent 60%)}
.fx-heure{--fx:rgba(90,110,180,.35)}
.fx-heure .fx-embleme{animation:fx-emb 1.7s ease both,renverser 1.7s ease}
@keyframes renverser{60%{rotate:0deg}100%{rotate:180deg}}
.fx-renfort{--fx:rgba(143,211,176,.3)}
.fx-accomplie{background:radial-gradient(circle at 50% 50%,rgba(255,244,200,.95),rgba(217,189,122,.55) 30%,transparent 70%);animation:gloire 2.2s ease both}
.fx-accomplie::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 10deg,rgba(255,236,170,.35) 10deg 14deg,transparent 14deg 40deg,rgba(255,236,170,.3) 40deg 44deg,transparent 44deg 70deg,rgba(255,236,170,.35) 70deg 74deg,transparent 74deg 100deg,rgba(255,236,170,.3) 100deg 104deg,transparent 104deg 130deg,rgba(255,236,170,.35) 130deg 134deg,transparent 134deg 160deg,rgba(255,236,170,.3) 160deg 164deg,transparent 164deg 190deg,rgba(255,236,170,.35) 190deg 194deg,transparent 194deg 220deg,rgba(255,236,170,.3) 220deg 224deg,transparent 224deg 250deg,rgba(255,236,170,.35) 250deg 254deg,transparent 254deg 280deg,rgba(255,236,170,.3) 280deg 284deg,transparent 284deg 310deg,rgba(255,236,170,.35) 310deg 314deg,transparent 314deg 340deg,rgba(255,236,170,.3) 340deg 344deg,transparent 344deg);animation:rayons 2.2s linear both;-webkit-mask:radial-gradient(circle,#000 20%,transparent 60%);mask:radial-gradient(circle,#000 20%,transparent 60%)}
@keyframes gloire{0%{opacity:0;transform:scale(.6)}20%{opacity:1;transform:scale(1)}75%{opacity:1}100%{opacity:0}}
@keyframes rayons{to{transform:rotate(60deg)}}
.fx-texte{position:relative;font-family:var(--display);font-style:italic;font-size:22px;color:#1A1530;background:rgba(255,251,242,.88);padding:4px 14px;border-radius:20px;box-shadow:0 0 20px rgba(255,236,170,.8)}
.fx-nouvelle{background:linear-gradient(180deg,rgba(255,251,242,.35),transparent);animation:gloire 1.2s ease both}
.envol-nom{position:fixed;z-index:40;pointer-events:none;font-family:var(--display);font-style:italic;font-size:17px;color:#FFF3C4;text-shadow:0 0 12px rgba(255,220,140,.9),0 0 2px #000;white-space:nowrap}

/* Fenêtres */
.dlg{background:linear-gradient(180deg,#141B3E,#0E1430);color:#ECE6D6;border:1px solid rgba(217,189,122,.35)}
.dlg h1,.dlg h2{color:#F6F0E0}
.deck-choix,.mode-choix{background:rgba(255,255,255,.04);border-color:rgba(217,189,122,.25)}
.deck-choix:hover,.mode-choix:hover{border-color:#D9BD7A;background:rgba(217,189,122,.08)}
.deck-emblemes{display:flex;gap:6px;margin-bottom:4px}
.deck-emblemes span{width:28px;height:28px;border-radius:14px 14px 4px 4px;background:#F7EEDB;color:var(--c);display:grid;place-items:center;padding:4px}
.deck-emblemes .mini{width:20px;height:20px}
.temoin{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;margin-top:8px}
.temoin-emb{width:72px;height:80px;border-radius:36px 36px 6px 6px;background:radial-gradient(circle at 50% 45%,#FFFDF6 0 30%,#F2E6CB 100%);color:var(--c);padding:12px 10px 10px;box-shadow:0 0 24px rgba(217,189,122,.4)}
.choix{background:linear-gradient(180deg,#FFFCF4,#F4EAD4);border-color:#D9BD7A;box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 30px rgba(217,189,122,.35)}
.annonce{background:#1A2250;border:1px solid #D9BD7A}

/* ═══ Grand plateau (v2) : plus large, les saints en petites cartes ═══ */
.jeu{max-width:1760px;grid-template-columns:minmax(0,1fr) 270px;gap:18px}
.plateau{gap:16px}
.mission{grid-template-rows:minmax(170px,auto) auto minmax(190px,auto)}
.plaque{padding:10px 14px}
.plaque h3{font-size:19px}
.plaque .m-embleme{width:40px;height:40px}
.seuil{width:52px;height:52px}
.seuil b{font-size:23px}
.cote{padding:10px}
.tuiles{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.tuile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;width:92px;min-height:122px;padding:8px 5px 16px;border-radius:8px;border:1px solid rgba(201,165,90,.6);border-top:5px solid var(--sc-c);text-align:center;position:relative;transition:transform .15s ease}
.tuile:not(.dos):not(.prevue):hover{transform:translateY(-3px) scale(1.04)}
.tuile .t-emb{width:40px;height:44px;border-radius:20px 20px 4px 4px;background:radial-gradient(circle at 50% 45%,#FFFDF6 0 30%,color-mix(in srgb,var(--sc-c) 16%,#F7EEDB) 100%);border:1px solid color-mix(in srgb,var(--sc-c) 60%,#C9A55A);padding:6px 5px 5px;flex:none}
.tuile .t-emb .mini{width:100%;height:100%}
.tuile .n{font-family:var(--display);font-style:italic;font-size:12.5px;line-height:1.1}
.tuile .n small{font-family:var(--sc);font-style:normal;font-size:10px;margin-top:2px}
.tuile .pts{position:absolute;bottom:-9px;left:50%;margin-left:-15px;transform:rotate(45deg);width:30px;height:30px;box-shadow:0 2px 6px rgba(0,0,0,.4);border:2px solid #FBF7EE}
.tuile .pts b{font-size:16px}
.tuile.dos{justify-content:center;font-size:11px;line-height:1.2}
.tuile.prevue{min-height:122px;justify-content:center}
.tuile.prevue .retirer{position:absolute;top:2px;right:4px;color:#F1E6C4}
.cote-lui .tuiles{min-height:128px}

/* Bilan d'une mission accomplie */
.fx-bilan{background:rgba(8,12,32,.72);animation:bilan var(--duree,2.6s) ease both;align-content:center;padding:10px}
@keyframes bilan{0%{opacity:0}12%{opacity:1}88%{opacity:1}100%{opacity:0}}
.fx-bilan.tenu{animation:bilan-entree .3s ease both}
@keyframes bilan-entree{from{opacity:0}to{opacity:1}}
.bilan{background:linear-gradient(180deg,#FFFCF4,#F4EAD4);color:#1A2040;border-radius:10px;box-shadow:0 0 0 2px #D9BD7A,0 0 40px rgba(255,236,170,.6);padding:12px 14px;max-width:92%;display:grid;gap:6px;text-align:center}
.bilan-titre{font-family:var(--sc);letter-spacing:.06em;font-size:13px;color:#8C6A2A}
.bilan h4{font-family:var(--display);font-style:italic;font-weight:500;font-size:19px;line-height:1.15;margin:0}
.bilan-score{font-family:var(--display);font-size:22px}
.bilan-score small{font-family:var(--sc);font-size:12px;color:#4A4F68}
.bilan ul{list-style:none;margin:0;padding:0;display:grid;gap:3px;text-align:left}
.bilan li{display:flex;justify-content:space-between;gap:10px;font-size:14px;border-bottom:1px solid rgba(26,32,64,.12);padding:2px 0}
.bilan li b{font-family:var(--display)}
.bilan .gagnant-lui{color:#8A3A4A}
.bilan .gagnant-moi{color:#2F6B55}

/* Pas à pas */
.suite{position:fixed;right:24px;bottom:24px;z-index:35;background:linear-gradient(#E6CB86,#C9A55A);color:#1A1530;border:0;border-radius:24px;padding:12px 22px;font-family:var(--sc);font-size:17px;letter-spacing:.05em;box-shadow:0 6px 24px rgba(0,0,0,.5),0 0 20px rgba(217,189,122,.5);animation:appel 1.4s ease-in-out infinite}
.suite small{font-size:12px;opacity:.7}

/* Collection et atelier */
.dlg-plein{width:min(1400px,calc(100% - 32px));height:calc(100vh - 32px)}
.dlg-plein .dlg-corps{height:100%;overflow:auto}
.dlg-entete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.filtres{display:flex;flex-wrap:wrap;gap:6px}
.filtres button{background:transparent;border:1px solid #3A4575;color:#C9CEE3;border-radius:14px;padding:4px 12px;font-family:var(--sc);font-size:13.5px}
.filtres button[aria-pressed="true"]{border-color:#D9BD7A;color:#1A1530;background:#D9BD7A}
.livre{display:flex;flex-wrap:wrap;gap:14px;padding:6px 2px}
.livre .emplacement{background:none;border:0;padding:0;position:relative}
.livre .emplacement .carte{transform-origin:top left}
.livre .manquante .carte{filter:grayscale(1) brightness(.55);opacity:.65}
.livre .manquante::after{content:"À découvrir";position:absolute;inset:auto 0 44% 0;text-align:center;font-family:var(--sc);letter-spacing:.08em;color:#F1E6C4;font-size:13px;text-shadow:0 0 6px #000}
.livre .neuve::before{content:"Nouveau";position:absolute;top:-8px;right:-6px;z-index:2;background:#D9BD7A;color:#1A1530;font-family:var(--sc);font-size:11px;padding:2px 8px;border-radius:10px}
/* La réduction se fait dans nuee-jeu-lumiere.css, sur la carte entière. */
.livre-petit .emplacement[aria-pressed="true"] .carte{box-shadow:0 0 0 3px #D9BD7A,0 0 20px rgba(217,189,122,.6);opacity:.55}
.atelier{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.atelier h3{margin:10px 0 6px}
.atelier-deck{position:sticky;top:0;background:rgba(255,255,255,.04);border:1px solid rgba(217,189,122,.25);border-radius:10px;padding:12px;display:grid;gap:6px}
.champ{display:grid;gap:4px;font-family:var(--sc);font-size:13.5px;color:#B8BEDA}
.champ input{background:#0E1430;border:1px solid #3A4575;color:#ECE6D6;border-radius:4px;padding:7px 9px;font:inherit;font-family:var(--corps);font-size:16px}
.compteurs{font-family:var(--sc);font-size:14px}
.compteurs .ko{color:#F0B8A8}
.compteurs .oui{color:#8FD3B0}
.courbe{display:flex;align-items:flex-end;gap:10px;height:60px;padding:4px 0}
.courbe div{display:grid;justify-items:center;gap:2px;font-family:var(--sc);font-size:12px;color:#B8BEDA}
.courbe i{display:block;width:26px;background:linear-gradient(#E6CB86,#C9A55A);border-radius:3px 3px 0 0}
.liste-deck{list-style:none;padding:0;margin:0;display:grid;gap:3px;max-height:40vh;overflow:auto}
.liste-deck li{display:grid;grid-template-columns:22px 18px minmax(0,1fr) auto;align-items:center;gap:6px;font-size:14px;padding:2px 4px;border-radius:4px;background:rgba(255,255,255,.03)}
.liste-deck li .cout{width:20px;height:20px;border-radius:50%;background:#FBF7EE;color:#1A2040;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:12px}
.liste-deck li .mini{color:var(--c)}
.liste-deck li button{background:none;border:0;color:#F0B8A8;font-size:16px}
.evts-choix{display:flex;flex-wrap:wrap;gap:8px}
.evts-choix button{background:rgba(255,255,255,.04);border:1px solid #3A4575;color:#ECE6D6;border-radius:6px;padding:6px 10px;display:flex;gap:8px;align-items:center;text-align:left;font-size:14px}
.evts-choix button .mini{width:20px;height:20px}
.evts-choix button[aria-pressed="true"]{border-color:#D9BD7A;background:rgba(217,189,122,.15)}
.evts-choix small{display:block;font-family:var(--sc);font-size:11px;color:#B8BEDA}
#atelier-sauves{display:grid;gap:6px}
#atelier-sauves button{background:rgba(255,255,255,.04);border:1px solid #3A4575;color:#ECE6D6;border-radius:6px;padding:6px 10px;text-align:left}
#atelier-sauves button[aria-pressed="true"]{border-color:#D9BD7A}
.pochette{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:6px 0}
.pochette .carte{animation:pochette .8s cubic-bezier(.3,.7,.4,1) both}
.pochette .emplacement:nth-child(2) .carte{animation-delay:.25s}
@keyframes pochette{0%{transform:perspective(600px) rotateY(180deg) scale(.6);opacity:0}100%{transform:none;opacity:1}}

/* Le lieu de pèlerinage, sur la plaque de la mission */
.plaque .lieu{grid-column:1 / -1;margin-top:2px;font-size:13.5px;line-height:1.3;color:#1A2040;background:linear-gradient(90deg,rgba(201,165,90,.22),rgba(201,165,90,.05));border-left:3px solid #C9A55A;padding:3px 8px;border-radius:0 4px 4px 0;cursor:help}
.plaque .lieu b{font-family:var(--sc);letter-spacing:.04em;color:#8C6A2A}

/* Les appels secrets, sous le score */
.appels{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;background:linear-gradient(180deg,rgba(19,26,56,.9),rgba(12,17,40,.95));border:1px dashed rgba(217,189,122,.45);border-radius:8px;padding:6px 10px;font-size:14px}
.appels .qui{font-family:var(--sc);letter-spacing:.05em;color:#D9BD7A}
.appel{background:rgba(255,251,242,.06);border:1px solid rgba(217,189,122,.3);border-radius:14px;padding:2px 10px;color:#ECE6D6}
.appel small{color:#A9AFC9}
.appel.fait{background:rgba(217,189,122,.22);border-color:#D9BD7A}
.appel.fait b{color:#FFF3C4}
.appel-lui{margin-left:auto;color:#A9AFC9;font-family:var(--sc);font-size:12.5px}

/* Les conseils de première partie */
.guide{position:fixed;right:24px;top:84px;z-index:36;width:min(380px,calc(100% - 48px));background:linear-gradient(180deg,#FFFCF4,#F4EAD4);color:#1A2040;border-radius:12px;box-shadow:0 0 0 2px #D9BD7A,0 12px 40px rgba(0,0,0,.55);padding:14px 16px;display:grid;gap:8px;animation:guide .35s cubic-bezier(.3,.7,.4,1)}
@keyframes guide{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.guide-titre{font-family:var(--sc);letter-spacing:.08em;color:#8C6A2A;font-size:14px}
.guide-titre::before{content:"✦ "}
#guide-texte{font-size:15.5px;line-height:1.45}
.guide-actions{display:flex;justify-content:flex-end;gap:8px}
.guide .btn-doux{color:#4A4F68;border-color:#C3C9D8}

/* Accueil : niveau de l'ordinateur, conseils, remerciements */
.case{display:flex;gap:8px;align-items:center;font-size:15px;color:#C9CEE3;margin-top:4px;cursor:pointer}
.case input{width:18px;height:18px;accent-color:#D9BD7A}
.credits{font-family:var(--display);font-style:italic;color:#D9BD7A;font-size:16px;border-top:1px solid rgba(217,189,122,.25);padding-top:10px;margin-top:6px}
#lieux-liste{display:grid;gap:4px}
#lieux-liste .doux{color:#A9AFC9;font-size:14px}

@media (max-width:1000px){ .atelier{grid-template-columns:minmax(0,1fr)} .atelier-deck{position:static} }
/* Écrans moyens : le récit passe sous la table, la plaque des missions se resserre. */
@media (max-width:1180px){
  .jeu{grid-template-columns:minmax(0,1fr)}
  .recit-zone{position:static;max-height:300px}
}
@media (max-width:1400px){
  .plaque{grid-template-columns:minmax(0,1fr) auto}
  .plaque .m-embleme{display:none}
  .plaque h3,.plaque .aff{grid-column:1}
  .plaque h3{font-size:17px}
}
@media (prefers-reduced-motion:reduce){ .fx,.envol-nom,.vol{display:none!important} }

/* Les formes de mission (Carrière) */
.plaque .forme{grid-column:1 / -1;margin-top:3px;font-size:13px;line-height:1.3;color:#1A2040;padding:3px 8px;border-radius:4px;border:1px dashed var(--fc);background:color-mix(in srgb,var(--fc) 14%,transparent);cursor:help}
.plaque .forme b{font-family:var(--sc);letter-spacing:.04em;color:var(--fc)}
.forme-commune{--fc:#2F6B55}
.forme-longue{--fc:#6A4A9A}
.forme-urgente{--fc:#A63A2C}
.forme-mains{--fc:#1F5A8A}

/* ═══ Sprint 1 (v8) : la table tient dans l'écran, et elle s'anime ═══ */
/* Accueil : un grand bouton, les réglages en option */
.jouer-zone{display:grid;justify-items:start;gap:6px;margin:10px 0 4px}
.btn-jouer{font-size:22px;padding:14px 44px;border-radius:30px;letter-spacing:.1em}
.jouer-resume{font-family:var(--sc);font-size:13.5px;letter-spacing:.04em;color:#B8BEDA}
.options{border-top:1px solid rgba(217,189,122,.25);padding-top:8px}
.options summary{font-family:var(--sc);letter-spacing:.05em;color:#D9BD7A;cursor:pointer}

/* Totaux qui montent, « +N » qui s'envole */
.tot.monte{animation:monte .45s ease}
@keyframes monte{40%{transform:scale(1.35);color:#FFF3C4;text-shadow:0 0 12px rgba(255,236,170,.9)}}
.tuile{overflow:visible}
.flotte{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-family:var(--display);font-weight:700;font-size:20px;color:#FFF3C4;text-shadow:0 0 10px rgba(255,220,140,.95),0 1px 2px #000;pointer-events:none;animation:flotte 1.2s ease-out forwards;z-index:6}
@keyframes flotte{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}20%{opacity:1;transform:translate(-50%,-6px) scale(1.15)}100%{opacity:0;transform:translate(-50%,-38px) scale(1)}}
.jauge i{transition:width .45s ease}
.mission.arrivee{animation:arrivee .6s cubic-bezier(.3,.7,.4,1)}
@keyframes arrivee{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}

/* Bandeau au centre : « Tour 3 · 4 Élan », « Révélation » */
.banniere{position:fixed;left:50%;top:42%;z-index:45;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;padding:14px 56px;background:linear-gradient(90deg,transparent,rgba(11,16,38,.94) 18%,rgba(11,16,38,.94) 82%,transparent);border-block:1px solid rgba(217,189,122,.6);pointer-events:none;animation:banniere var(--duree,1.5s) ease both;white-space:nowrap}
.banniere b{font-family:var(--display);font-style:italic;font-weight:500;font-size:34px;color:#FFF3C4;text-shadow:0 0 18px rgba(255,220,140,.6)}
.banniere span{font-family:var(--sc);letter-spacing:.1em;font-size:15px;color:#D9BD7A}
@keyframes banniere{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.6)}15%{opacity:1;transform:translate(-50%,-50%) scaleX(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-56%)}}

/* La pochette : scellée, puis ouverte d'un geste */
.pochette-scellee{justify-self:center;display:grid;justify-items:center;gap:4px;width:min(260px,100%);padding:22px 18px;border-radius:12px;border:1px solid #D9BD7A;background:radial-gradient(circle at 50% 30%,#2A3470,#10163A 70%);color:#F1E6C4;box-shadow:0 0 30px rgba(217,189,122,.35);animation:appel 1.6s ease-in-out infinite;cursor:pointer}
.pochette-scellee .sceau{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:26px;color:#1A1530;background:radial-gradient(circle at 35% 35%,#FFF3C4,#D9BD7A 60%,#8C6A2A);box-shadow:0 0 16px rgba(217,189,122,.8)}
.pochette-scellee b{font-family:var(--display);font-style:italic;font-weight:500;font-size:21px}
.pochette-scellee small{font-family:var(--sc);font-size:12.5px;color:#B8BEDA}
.pochette-scellee.ouverte{animation:ouvrir .45s ease forwards}
@keyframes ouvrir{to{transform:scale(1.25);opacity:0;filter:brightness(2)}}
.pochette-contenu{display:grid;gap:8px}
.pochette .emplacement .carte{animation:pochette .8s cubic-bezier(.3,.7,.4,1) both;animation-delay:calc(var(--k,0) * .45s)}
.pochette .emplacement{position:relative;overflow:hidden;border-radius:10px}
.pochette .fin-or::after,.pochette .fin-argent::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,var(--reflet) 48%,transparent 66%);background-size:250% 100%;animation:reflet 2.4s ease-in-out infinite;animation-delay:calc(var(--k,0) * .45s + .8s);mix-blend-mode:screen}
.pochette .fin-or{--reflet:rgba(255,226,140,.75)}
.pochette .fin-argent{--reflet:rgba(225,232,255,.7)}
@keyframes reflet{0%{background-position:120% 0}60%,100%{background-position:-60% 0}}
.dlg-corps > h3 + .pochette-scellee{margin-top:4px}

/* Le récit : colonne quand il y a la place, sinon un tiroir */
.btn-recit{display:none}

/* Écran d'ordinateur ou de tablette : toute la table dans la hauteur de l'écran */
@media (min-width:761px) and (min-height:560px){
  .jeu{height:calc(100dvh - var(--haut-h,72px));padding-block:10px;box-sizing:border-box;overflow:hidden;align-items:stretch}
  .table{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;height:100%}
  .adversaire{font-size:13px}
  .plateau{min-height:0;height:100%}
  .mission{grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);min-height:0}
  .cote{min-height:0;overflow:auto;scrollbar-width:thin}
  .cote-lui .tuiles{min-height:0}
  .recit-zone{position:static;max-height:none;height:100%;min-height:0}
  .pose{padding:8px 10px;gap:6px}
  .main{padding:10px 2px 4px}
}
@media (min-width:761px) and (min-height:560px) and (max-height:980px){
  .main .carte{zoom:.68}
  .choix .carte{zoom:.64}
  .plaque{padding:6px 12px}
  .plaque .lieu{font-size:12.5px}
  .tuile{width:80px;min-height:104px;padding:6px 4px 14px}
  .tuile .t-emb{width:34px;height:38px}
  .tuile .n{font-size:11.5px}
}
@media (min-width:761px) and (min-height:560px) and (max-height:800px){
  .main .carte{zoom:.51}
  .choix .carte{zoom:.53}
  .choix{padding:10px 14px;gap:6px}
  .main{padding:8px 2px 2px}
  .haut{padding:4px 16px;gap:4px 16px}
  .marque-sur{display:none}
  .marque-nom{font-size:21px}
  .haut-actions button{padding:4px 10px;font-size:13px}
  .menu-btn{display:inline-block;padding:4px 12px;font-size:14px}
  .haut-actions{display:none;flex-basis:100%;flex-wrap:wrap;gap:6px}
  .haut-actions.ouvert{display:flex}
  .etat{font-size:14px}
  .jeu{padding-block:6px;gap:12px}
  .table{gap:6px}
  /* Score, Nuée et appels sur une seule ligne */
  .score{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.6fr)}
  .appels{grid-column:auto;align-content:center}
  .appels .qui,.appel-lui{display:none}
  .camp .nuee{font-size:12px}
  .mission{grid-template-rows:minmax(0,1fr) auto minmax(0,1fr)}
  .plaque{padding:4px 10px;gap:2px 8px}
  .plaque .lieu,.plaque .forme{font-size:11.5px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cote{padding:5px 6px}
  .cote-tete{font-size:11.5px}
  .tot{font-size:17px}
  .tuiles{gap:5px}
  .tuile{width:68px;min-height:84px;padding:4px 3px 12px}
  .tuile.prevue,.tuile.dos{min-height:84px}
  .tuile .t-emb{width:28px;height:30px;padding:4px}
  .tuile .n{font-size:10.5px}
  .tuile .n small{display:none}
  .tuile .pts{width:22px;height:22px;margin-left:-11px;bottom:-7px}
  .tuile .pts b{font-size:12px}
  .poser-ici{padding:3px 8px;font-size:12px}
  .score{gap:6px}
  .camp{padding:3px 8px}
  .appels{padding:3px 8px;font-size:12.5px}
  .appel small{display:none}
  .plaque h3{font-size:15.5px}
  .plaque .aff{font-size:11.5px}
  .seuil{width:40px;height:40px}
  .seuil b{font-size:18px}
  .seuil span{display:none}
}
/* Entre téléphone et grand écran : le récit devient un tiroir */
@media (min-width:761px) and (max-width:1180px){
  .btn-recit{display:block;position:fixed;right:14px;bottom:14px;z-index:30;background:rgba(19,26,56,.95);color:#F1E6C4;border:1px solid #D9BD7A;border-radius:20px;padding:8px 16px;font-family:var(--sc);letter-spacing:.05em;box-shadow:0 6px 18px rgba(0,0,0,.5)}
  .recit-zone{position:fixed!important;right:14px;bottom:60px;top:auto;width:min(360px,calc(100% - 28px));height:min(60vh,520px)!important;max-height:none;z-index:29;transform:translateX(calc(100% + 30px));transition:transform .3s ease;box-shadow:0 12px 40px rgba(0,0,0,.6)}
  .recit-zone.ouvert{transform:none}
}
/* Menu repliable dès que les boutons ne tiennent plus sur une ligne */
@media (min-width:761px) and (max-width:1100px){
  .menu-btn{display:inline-block}
  .haut-actions{display:none;flex-basis:100%;flex-wrap:wrap;gap:6px}
  .haut-actions.ouvert{display:flex}
}

/* Écran de fin : le score en grand */
.fin-tete{text-align:center;display:grid;justify-items:center;gap:4px;padding:6px 0 10px;position:relative}
.fin-tete h2{font-size:38px;font-style:italic}
.fin-victoire h2{color:#FFF3C4;text-shadow:0 0 24px rgba(255,220,140,.7);animation:gloire-titre 1.4s ease both}
@keyframes gloire-titre{from{opacity:0;transform:scale(.85);letter-spacing:.12em}to{opacity:1;transform:none}}
.fin-victoire::before{content:"";position:absolute;left:50%;top:40%;width:420px;height:420px;margin:-210px 0 0 -210px;background:conic-gradient(from 0deg,transparent 0 12deg,rgba(255,236,170,.14) 12deg 18deg,transparent 18deg 42deg,rgba(255,236,170,.12) 42deg 48deg,transparent 48deg 72deg,rgba(255,236,170,.14) 72deg 78deg,transparent 78deg 102deg,rgba(255,236,170,.12) 102deg 108deg,transparent 108deg 132deg,rgba(255,236,170,.14) 132deg 138deg,transparent 138deg 162deg,rgba(255,236,170,.12) 162deg 168deg,transparent 168deg 192deg,rgba(255,236,170,.14) 192deg 198deg,transparent 198deg 222deg,rgba(255,236,170,.12) 222deg 228deg,transparent 228deg 252deg,rgba(255,236,170,.14) 252deg 258deg,transparent 258deg 282deg,rgba(255,236,170,.12) 282deg 288deg,transparent 288deg 312deg,rgba(255,236,170,.14) 312deg 318deg,transparent 318deg 342deg,rgba(255,236,170,.12) 342deg 348deg,transparent 348deg);-webkit-mask:radial-gradient(circle,#000 25%,transparent 65%);mask:radial-gradient(circle,#000 25%,transparent 65%);animation:rayons-fin 24s linear infinite;pointer-events:none;z-index:-1}
@keyframes rayons-fin{to{transform:rotate(360deg)}}
.fin-score{display:flex;align-items:center;gap:18px;font-family:var(--display)}
.fin-score span{display:grid;justify-items:center}
.fin-score b{font-size:52px;line-height:1;color:#F1E6C4}
.fin-victoire .fin-score span:first-child b{color:#FFF3C4;text-shadow:0 0 18px rgba(255,220,140,.7)}
.fin-defaite .fin-score span:last-child b{color:#F0B8A8}
.fin-score small{font-family:var(--sc);font-size:12.5px;letter-spacing:.06em;color:#B8BEDA}
.fin-score i{font-size:32px;color:#6A7199;font-style:normal}
.fin-sous{font-size:14.5px;color:#B8BEDA;max-width:48ch}
.fin-actions{justify-content:center}
.fin-detail{border-top:1px solid rgba(217,189,122,.25);padding-top:8px}
.fin-detail summary{font-family:var(--sc);letter-spacing:.05em;color:#D9BD7A;cursor:pointer}
.fin-detail[open] summary{margin-bottom:8px}
#fin{isolation:isolate}

/* L'initiation : une consigne, et ce qu'elle montre */
.initiation{position:fixed;left:50%;top:calc(var(--haut-h,72px) + 8px);transform:translateX(-50%);z-index:36;width:min(560px,calc(100% - 24px));background:linear-gradient(180deg,#FFFCF4,#F4EAD4);color:#1A2040;border-radius:12px;box-shadow:0 0 0 2px #D9BD7A,0 12px 40px rgba(0,0,0,.55);padding:10px 16px;display:grid;gap:2px;animation:guide .35s cubic-bezier(.3,.7,.4,1);pointer-events:none}
.initiation #initiation-texte{font-size:15.5px;line-height:1.4}
.cible-guide{position:relative;z-index:5;outline:3px solid #FFE08A!important;outline-offset:3px;border-radius:8px;animation:cible 1.1s ease-in-out infinite!important}
@keyframes cible{50%{outline-color:rgba(255,224,138,.25);box-shadow:0 0 28px rgba(255,224,138,.8)}}
.fin-initiation{background:rgba(217,189,122,.1);border:1px solid rgba(217,189,122,.45);border-radius:10px;padding:10px 14px;display:grid;gap:6px}

.compte-ligne{font-size:13.5px;color:#B8BEDA}
.compte-ligne a{color:#D9BD7A}
/* La fête du jour, au-dessus de la table */
.fete-jour:empty{display:none}
.fete-jour{font-family:var(--sc);font-size:13px;letter-spacing:.04em;color:#D9BD7A;border-left:3px solid #D9BD7A;padding:2px 8px;background:linear-gradient(90deg,rgba(217,189,122,.12),transparent)}
.fete-jour b{color:#FFF3C4;font-weight:600}
/* Les succès */
.succes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:6px}
.succes-item{background:rgba(255,255,255,.03);border:1px solid rgba(217,189,122,.2);border-radius:8px;padding:8px 10px;display:grid;gap:2px;opacity:.55}
.succes-item.obtenu{opacity:1;border-color:#D9BD7A;background:rgba(217,189,122,.12)}
.succes-item b{font-family:var(--display);font-style:italic;font-size:17px;color:#F1E6C4}
.succes-item.obtenu b::before{content:"✦ ";color:#D9BD7A}
.succes-item span{font-size:13.5px;color:#B8BEDA}
.succes-neufs{background:rgba(217,189,122,.14);border:1px solid #D9BD7A;border-radius:10px;padding:8px 12px;display:grid;gap:4px}
.succes-neufs b{color:#FFF3C4}
.defi-ligne{font-family:var(--sc);letter-spacing:.04em;color:#D9BD7A;text-align:center}
/* ═══ Sprint 3 : carnet de saison, pèlerinage, parures ═══ */
.carnet-barre{height:8px;border-radius:4px;background:rgba(255,255,255,.08);overflow:hidden;margin:4px 0 10px}
.carnet-barre i{display:block;height:100%;background:linear-gradient(90deg,#8C6A2A,#FFF3C4);box-shadow:0 0 12px rgba(217,189,122,.7);transition:width .5s ease}
.carnet{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.palier{background:rgba(255,255,255,.03);border:1px solid rgba(217,189,122,.22);border-radius:10px;padding:10px;display:grid;gap:3px;justify-items:start;opacity:.6}
.palier.recu{opacity:1;border-color:#D9BD7A;background:rgba(217,189,122,.12)}
.palier b{font-family:var(--sc);letter-spacing:.06em;color:#D9BD7A;font-size:13px}
.palier span{font-family:var(--display);font-style:italic;font-size:18px;color:#F6F0E0}
.palier em{font-family:var(--sc);font-style:normal;font-size:12.5px;color:#B8BEDA}
.palier .ferme,.etape .ferme{font-family:var(--sc);font-size:12px;color:#7F87A8;letter-spacing:.05em}
.etapes{display:grid;gap:10px}
.etape{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:rgba(255,255,255,.03);border:1px solid rgba(217,189,122,.22);border-radius:10px;padding:10px 12px}
.etape.fermee{opacity:.5}
.etape.faite{border-color:#D9BD7A;background:rgba(217,189,122,.1)}
.etape .tampon{width:42px;height:42px;border-radius:50%;border:2px dashed rgba(217,189,122,.6);display:grid;place-items:center;font-family:var(--display);font-size:19px;color:#D9BD7A}
.etape.faite .tampon{border-style:solid;background:radial-gradient(circle at 35% 35%,#FFF3C4,#D9BD7A 60%,#8C6A2A);color:#1A1530;box-shadow:0 0 14px rgba(217,189,122,.6)}
.etape b{font-family:var(--display);font-style:italic;font-size:20px;color:#F6F0E0}
.etape em{font-family:var(--sc);font-style:normal;font-size:12.5px;color:#D9BD7A;margin-left:6px}
.etape p{font-size:14px;color:#C9CEE3;margin-top:2px}

/* Les parures : un dos de cartes et un cadre, gagnés au carnet */
body[data-dos="dos-etoiles"] .tuile.dos,body[data-dos="dos-etoiles"] .tuile.a-reveler{background-image:radial-gradient(circle at 50% 50%,rgba(217,189,122,.55) 0 1.4px,transparent 2.2px),radial-gradient(circle at 20% 80%,rgba(255,255,255,.35) 0 1px,transparent 1.8px);background-size:12px 12px,26px 26px}
body[data-dos="dos-vitrail"] .tuile.dos,body[data-dos="dos-vitrail"] .tuile.a-reveler{background-image:linear-gradient(120deg,rgba(90,130,220,.35) 0 8px,transparent 8px 16px),linear-gradient(60deg,rgba(200,90,110,.3) 0 8px,transparent 8px 16px);background-size:22px 22px}
body[data-dos="dos-or"] .tuile.dos,body[data-dos="dos-or"] .tuile.a-reveler{background-image:repeating-linear-gradient(45deg,rgba(217,189,122,.35) 0 3px,transparent 3px 9px);background-size:auto}
body[data-cadre="cadre-aube"] .carte{box-shadow:inset 0 0 0 3px #FBF7EE,inset 0 0 0 4.5px #E8A48F,0 6px 18px rgba(0,0,0,.45)}
body[data-cadre="cadre-vitrail"] .carte{box-shadow:inset 0 0 0 3px #FBF7EE,inset 0 0 0 4.5px #6A8FD4,0 6px 18px rgba(0,0,0,.45)}
body[data-cadre="cadre-couronne"] .carte{box-shadow:inset 0 0 0 3px #FBF7EE,inset 0 0 0 5px #D9BD7A,0 0 14px rgba(217,189,122,.45),0 6px 18px rgba(0,0,0,.45)}

/* ═══ Téléphone (v6) ═══ */
/* Croix de fermeture de toutes les fenêtres */
.dlg{position:fixed;overflow:auto;overscroll-behavior:contain}
.dlg-plein{overflow:hidden}
.dlg-croix{position:sticky;top:0;float:right;z-index:5;margin:8px 8px -44px 0;width:36px;height:36px;border-radius:50%;border:1px solid rgba(217,189,122,.5);background:rgba(11,16,38,.92);color:#F1E6C4;font-size:22px;line-height:1;display:grid;place-items:center;padding:0}
.dlg-croix:hover{border-color:#D9BD7A;background:#1A2250}
.dlg-plein .dlg-croix{position:absolute;top:8px;right:8px;margin:0}
.dlg-plein .dlg-entete{padding-right:44px}
.dlg-corps{padding-right:52px}
.dlg-plein .dlg-corps{padding-right:24px}
.menu-btn{display:none;margin-left:auto;background:transparent;border:1px solid #3A4575;color:#E4DCC6;border-radius:3px;padding:6px 14px;font-family:var(--sc);letter-spacing:.05em;font-size:15px}
.menu-btn[aria-expanded="true"]{border-color:#D9BD7A;color:#F1E6C4}

@media (max-width:760px){
  body{font-size:15px}
  .haut{position:static;padding:6px 10px;gap:4px 10px}
  .marque-sur{font-size:10.5px}
  .marque-nom{font-size:20px}
  .menu-btn{display:inline-block}
  .haut-actions{display:none;flex-basis:100%;flex-wrap:wrap;gap:6px;padding-bottom:4px}
  .haut-actions.ouvert{display:flex}
  .haut-actions button{flex:1 1 calc(50% - 6px);padding:9px 8px;font-size:14px}
  .etat{order:4;font-size:13px;line-height:1.3}

  .jeu{padding-inline:6px;padding-block:6px 16px;gap:10px}
  .table{gap:6px}
  .adversaire{font-size:12px;gap:2px 10px;flex-wrap:wrap}

  /* Score : les deux camps côte à côte, les appels en pastilles */
  .score{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .camp{padding:4px 7px;gap:2px 6px}
  .camp .qui{font-size:12.5px}
  .pips{gap:3px}
  .pips i{width:12px;height:12px;border-width:1.5px}
  .camp .nuee{font-size:11.5px;gap:2px;flex-basis:100%}
  .point-vertu{width:15px;height:15px}
  .point-vertu .mini{width:11px;height:11px}
  .appels{font-size:12px;padding:4px 7px;gap:4px 6px}
  .appels .qui{font-size:11.5px}
  .appel{padding:1px 8px;cursor:pointer}
  .appel small{display:none}
  .appel-lui{margin-left:0;font-size:11px}

  /* Les trois missions côte à côte : toute la table sur un écran */
  .plateau{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .mission{grid-template-rows:auto auto auto;border-radius:7px}
  .plaque{grid-template-columns:minmax(0,1fr) auto;padding:5px 6px;gap:2px 4px;align-items:start}
  .plaque .m-embleme{display:none}
  /* La vertu d'affinité reste visible : une pastille à sa couleur, sous le titre */
  .plaque .aff{grid-column:1 / -1;font-size:10px;line-height:1.2}
  .plaque .aff .aff-mot,.plaque .aff .oeuvre{display:none}
  .plaque .aff b{display:inline-block;background:var(--c);color:#fff;border-radius:8px;padding:1px 6px;font-size:10px;letter-spacing:.03em}
  .plaque h3{grid-column:1;font-size:12.5px;line-height:1.1;overflow-wrap:anywhere;hyphens:auto}
  .seuil{grid-row:1;grid-column:2;width:30px;height:30px;border-width:1.5px;box-shadow:none}
  .seuil b{font-size:14px}
  .seuil span{display:none}
  .plaque .lieu{font-size:10.5px;line-height:1.2;padding:2px 4px;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .etats span{font-size:9.5px;padding:0 4px}
  .plaque .forme{font-size:10px;line-height:1.2;padding:2px 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer}
  .cote{padding:4px;gap:3px}
  .cote-tete{font-size:10.5px;gap:2px}
  .cote-tete span:first-child{display:none}
  .tot{font-size:16px;margin-left:auto}
  .tot small{font-size:10px}
  .cote-lui .tuiles{min-height:0}
  .tuiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 3px;min-height:60px}
  .tuile{width:auto;min-width:0;min-height:62px;padding:4px 2px 11px;border-top-width:3px;border-radius:5px;gap:1px}
  .tuile.prevue,.tuile.dos{min-height:62px}
  .tuile.dos{font-size:9px}
  .tuile .t-emb{width:24px;height:26px;padding:3px;border-radius:12px 12px 3px 3px}
  .tuile .n{font-size:9.5px;line-height:1.05;overflow-wrap:anywhere}
  .tuile .n small{display:none}
  .tuile .pts{width:19px;height:19px;margin-left:-9.5px;bottom:-6px;border-width:1.5px}
  .tuile .pts b{font-size:11px}
  .tuile.prevue .retirer{top:0;right:1px;font-size:15px}
  .poser-ici{padding:4px 5px;font-size:11px;line-height:1.1;white-space:normal}
  .raison{font-size:10.5px}
  .fx-texte{font-size:14px;padding:3px 8px}
  .bilan{padding:8px;max-width:100%}
  .bilan h4{font-size:14px}
  .bilan-score{font-size:16px}
  .bilan li{font-size:11px}

  /* La pose reste sous le pouce, en bas de l'écran */
  .pose{position:sticky;bottom:0;z-index:12;padding:6px 6px 4px;gap:4px;border-radius:10px 10px 0 0;margin-inline:-6px;box-shadow:0 -8px 24px rgba(0,0,0,.55)}
  .pose-tete{gap:4px 8px;flex-wrap:nowrap}
  .elan{font-size:12.5px;gap:3px;white-space:nowrap}
  .elan i{width:11px;height:11px}
  .consigne{display:none}
  .pose-actions{margin-left:auto;gap:6px}
  .pose-actions .btn{padding:7px 12px;font-size:13.5px}
  .pose-actions .btn-doux{padding:6px 8px;font-size:12px}
  .main{gap:6px;padding:10px 2px 2px;scroll-snap-type:x proximity}
  .carte-btn{scroll-snap-align:start}
  /* Une seule réduction, plutôt que douze réglages qui se décalaient les uns
     des autres : la carte entière rapetisse et garde ses proportions. */
  .carte-btn .carte{zoom:.58;border-radius:8px}
  .carte-btn .c-pied .v + span{display:none}
  .carte-btn[aria-pressed="true"]{transform:translateY(-8px)}
  .carte-btn:not(:disabled):hover{transform:none}
  .carte-btn[aria-pressed="true"]:hover{transform:translateY(-8px)}

  .recit-zone{max-height:260px}
  .recit{font-size:13.5px}

  /* Fenêtres plein écran sur téléphone */
  .dlg,.dlg-large{width:100%;max-width:100%;max-height:100%;height:100%;margin:0;border-radius:0;border:0}
  .dlg-plein{width:100%;height:100%}
  .dlg-corps{padding:16px 14px;padding-right:50px}
  .dlg-plein .dlg-corps{padding:14px 12px}
  .dlg h1{font-size:32px}
  .dlg h2{font-size:23px}
  .fiche-grille .carte{width:160px;height:240px;margin-inline:auto}
  .livre{gap:10px;justify-content:center}
  .livre .carte{zoom:.74}
  /* Réduction seule : voir nuee-jeu-lumiere.css. */

  .choix{bottom:0;width:100%;border-radius:12px 12px 0 0;padding:12px;max-height:70vh;overflow:auto}
  .choix-texte{font-size:16px}
  .guide{top:8px;bottom:auto;right:8px;left:8px;width:auto;padding:10px 12px}
  #guide-texte{font-size:14px}
  .suite{right:10px;bottom:auto;top:10px;padding:10px 16px;font-size:15px}
  .suite small{display:none}
  .annonce{top:8px;width:calc(100% - 16px);font-size:14px;text-align:center}
  .banniere{padding:10px 30px}
  .banniere b{font-size:26px}
  .btn-jouer{width:100%}
  .etape{grid-template-columns:auto minmax(0,1fr);gap:8px}
  .etape button{grid-column:1 / -1;justify-self:end}
  .initiation{top:6px;padding:8px 12px}
  .initiation #initiation-texte{font-size:14px}
  .fin-tete h2{font-size:30px}
  .fin-score b{font-size:42px}
}
