/* =====================================================================
   LA CARTE À LA LANTERNE : la DA de nuit du hub (oct. 2026)
   Chargée en DERNIER (après charte.css, hub.css, onglets*.css) : elle repeint tout le hub
   sans toucher aux tailles des autres feuilles (rien ne bouge quand un texte change).
   - fond de nuit, panneaux bleu nuit à coins ronds, texte crème ;
   - les sept teintes scoutes restent (charte.css), surtout en touches ;
   - polices du Feu de Camp : Lilita One (titres) et Atkinson Hyperlegible (texte) ;
   - « allumé » (prêt, en ligne, choisi) = lanterne jaune ;
   - l'onglet « Les jeux » : la carte (lanternes) + la fiche, puis la liste des jeux (hub/carte.js).
   ===================================================================== */
:root{
  --n-fond:#0B0F17; --n-feuille:#10151F; --n-pan:#161D2B; --n-case:#1C2433; --n-case2:#232C3E;
  --n-trait:#2C3446; --n-trait2:#3A4459;
  --n-creme:#F4EEDF; --n-texte:#EDE6D6; --n-doux:#D6CFC0; --n-gris:#A9A4B2; --n-sourd:#8C8A96;
  --n-terre:#C2A682; --n-lant:#F3C66B; --n-vert:#8FCB9B; --n-violet:#B49BE6; --n-violet-t:#CDB8F2;
}
body{background:var(--n-fond);color:var(--n-texte)}

/* ---- la feuille : un grand panneau de nuit ---- */
.sheet{
  --ink:#3A4459; --ink-dk:#05070B; --c-ink:#3A4459; --brun:#3A4459; --t2:#A9A4B2; --paper-lt:#1C2433; --grain:none; --cream:#EDE6D6;
  background:rgba(16,21,31,.94)!important; border:1.5px solid #252E40!important; border-radius:20px!important;
  box-shadow:0 20px 60px rgba(0,0,0,.45)!important; color:var(--n-texte)}
.sheet h1,.sheet h2,.sheet h3{color:var(--n-creme)!important;-webkit-text-stroke:0!important;paint-order:normal!important;text-shadow:none!important;
  background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;letter-spacing:.01em}
.sheet .jeu h2::before{display:none}
.sheet .kicker{color:var(--n-terre)!important;font-weight:700;letter-spacing:.14em}
.sheet button:focus-visible,.sheet a:focus-visible,.sheet input:focus-visible{outline:3px solid var(--n-lant);outline-offset:2px}

/* ---- boutons et champs ---- */
.sheet .big{background:var(--n-creme)!important;color:#10151F!important;border:0!important;box-shadow:none!important;text-shadow:none!important;
  border-radius:999px!important;font-family:var(--font-body)!important;font-weight:700!important;letter-spacing:0}
.sheet .big:hover{filter:none;background:#FFFFFF!important}
.sheet .mid{background:var(--c-vert)!important;color:var(--n-creme)!important;border:0!important;box-shadow:none!important;text-shadow:none!important;
  border-radius:999px!important;font-family:var(--font-body)!important;font-weight:700!important}
.sheet .ghost{background:transparent!important;color:var(--n-texte)!important;border:1.5px solid var(--n-trait2)!important;box-shadow:none!important;
  text-shadow:none!important;border-radius:999px!important;font-weight:700}
.sheet .ghost:hover{background:var(--n-case)!important}
.sheet .big:active,.sheet .mid:active,.sheet .ghost:active{transform:none!important;box-shadow:none!important}
.sheet .chip{background:var(--n-case)!important;border:0!important;color:var(--n-doux)!important}
.sheet input{background:var(--n-case);color:var(--n-creme);border:1.5px solid var(--n-trait2);border-radius:10px}
.sheet input::placeholder{color:var(--n-sourd)}
.sheet .field{color:var(--n-gris)}

/* ---- barre du haut ---- */
.sheet .tete{background:none!important;border:0!important;box-shadow:none!important;padding:2px 2px 0!important}
.sheet .tete h1{font-size:clamp(28px,4.2vw,40px)}
.sheet .salut,.sheet .timbresB{background:var(--n-case)!important;border:0!important;box-shadow:none!important;border-radius:14px!important}
.sheet .salutTxt{color:var(--n-texte)!important}
.sheet .salutK,.timbresB small{color:var(--n-terre)!important}
.sheet .salutTxt b{color:var(--n-lant)!important;-webkit-text-stroke:0!important;text-shadow:none!important}
.timbresB b{color:var(--n-vert)!important}
.timbresB .tbTemps{color:var(--n-gris)!important}
.sheet .salutBtns .ghost.small{border-radius:14px!important}
.sheet .nomForm{background:var(--n-feuille)!important;border:1.5px solid var(--n-trait2)!important;box-shadow:0 12px 30px rgba(0,0,0,.5)!important;border-radius:14px!important}
.sheet .nomForm .field span{color:var(--n-gris)}

/* ---- onglets ---- */
.sheet .onglet{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:999px!important;color:var(--n-gris)!important}
.sheet .onglet:hover{background:var(--n-pan)!important;color:var(--n-texte)!important}
.sheet .onglet[aria-selected="true"]{background:var(--n-case)!important;color:var(--n-creme)!important}

/* =====================================================================
   L'ONGLET « LES JEUX » : la carte + la fiche
   ===================================================================== */
.carteB{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;min-width:0}
.carte{position:relative;height:600px;min-width:0;border-radius:16px;background:#141B29;overflow:hidden}
.carteFond{position:absolute;inset:0;pointer-events:none}
.carteTerrain,.carteSentiers{position:absolute;inset:0;width:100%;height:100%;display:block}
.carteSentiers path{fill:none;stroke:var(--n-terre);stroke-opacity:.32;stroke-width:2;stroke-dasharray:5 7;stroke-linecap:round}
.carteHalo{position:absolute;inset:0}
.lanternes{position:absolute;inset:0}
.carteAide{position:absolute;right:16px;bottom:12px;font-size:13px;color:var(--n-sourd);pointer-events:none}

/* une lanterne : le point (taille fixe), puis le nom à droite */
.lant{position:absolute;display:flex;align-items:center;gap:6px;height:36px;margin:-18px 0 0 -11px;padding:0 4px 0 0;
  background:none;border:0;cursor:pointer;color:var(--n-gris);font:700 14px/1 var(--font-body);white-space:nowrap;border-radius:10px}
.lantDot{position:relative;flex:none;width:22px;height:22px}
.lantDot::before{content:"";position:absolute;left:5px;top:5px;width:12px;height:12px;border-radius:50%;box-sizing:border-box;
  background:#8C7A5C;box-shadow:0 0 6px 1px rgba(243,198,107,.22)}
.lantNom{padding:3px 6px;border-radius:6px;background:rgba(16,21,31,.6)}
.lant.demo .lantDot::before{background:transparent;border:2px solid #A8936C;box-shadow:none}
.lant.vive{color:var(--n-doux)}
.lant.vive .lantDot::before{background:var(--n-lant);border:0;box-shadow:0 0 12px 3px rgba(243,198,107,.5)}
.lant:hover{color:var(--n-creme)}
.lant[aria-pressed="true"]{color:var(--n-creme)}
.lant[aria-pressed="true"] .lantDot::before{background:var(--n-lant);border:0;box-shadow:0 0 0 4px rgba(243,198,107,.22),0 0 24px 7px rgba(243,198,107,.55)}
.lant.mini{color:var(--n-violet-t)}
.lant.mini .lantDot::before{background:var(--n-violet);box-shadow:0 0 10px 2px rgba(180,155,230,.45)}
.lant.mini[aria-pressed="true"] .lantDot::before{background:var(--n-violet);box-shadow:0 0 0 4px rgba(180,155,230,.22),0 0 24px 7px rgba(180,155,230,.55)}
.lant:focus-visible{outline:3px solid var(--n-lant);outline-offset:2px}

/* la fiche : taille fixe, le texte se coupe plutôt que de pousser */
.fiche{position:relative;height:600px;min-width:0;border-radius:16px;background:var(--n-pan)}
.ficheJeu{position:relative;height:100%;display:grid;grid-template-rows:180px minmax(0,1fr) 84px}
.sheet .ficheImg{display:block;width:100%;height:180px;object-fit:cover;border:0!important;border-radius:16px 16px 0 0!important;background:var(--n-case)}
.ficheDemo{position:absolute;top:12px;left:12px;height:24px;line-height:24px;padding:0 10px;border-radius:12px;background:var(--n-texte);color:#10151F;
  font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ficheTxt{display:grid;grid-template-rows:18px 70px minmax(0,1fr) 22px;gap:8px;min-height:0;padding:20px 24px 0}
.ficheTxt .kicker{font-size:12px;line-height:18px;height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ficheTxt h2{font-size:30px!important;line-height:35px!important;height:70px!important;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;align-self:end}
.ficheTxt p{margin:0;font-size:15px;line-height:22px;color:var(--n-doux);overflow:hidden;min-height:0}
.ficheEtat{height:22px;line-height:22px;font-size:13.5px;font-weight:700;color:var(--n-terre);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ficheEtat.vive{color:var(--n-lant)}
.ficheAct{display:flex;align-items:flex-end;padding:0 24px 24px}
.sheet .ficheAct .big{width:100%;height:56px;font-size:19px;padding:0 20px}

/* Mini-jeux (la section .recre) : même gabarit que la fiche d'un jeu */
.sheet .fiche .recre[hidden]{display:none!important}
.sheet .fiche .recre{position:relative;height:100%;display:grid!important;grid-template-columns:none!important;grid-template-rows:180px minmax(0,1fr) auto;gap:0;
  padding:0!important;background:none!important;border:0!important;box-shadow:none!important;border-radius:16px}
.sheet .fiche .recre .scene{width:100%;height:180px;border:0!important;border-radius:16px 16px 0 0!important;object-fit:cover}
.sheet .fiche .recreTxt{display:grid;grid-template-rows:18px 40px minmax(0,1fr) 52px;gap:8px;padding:18px 24px 12px;min-height:0;align-content:stretch}
.sheet .fiche .recreTxt .kicker{display:block;height:18px;line-height:18px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .fiche .recreTxt h2{font-size:30px!important;line-height:40px!important;height:40px!important;align-self:end;color:var(--n-violet-t)!important}
.sheet .fiche .recreTxt p{margin:0;height:auto;font-size:15px;line-height:22px;font-weight:400;color:var(--n-doux);overflow:hidden;-webkit-line-clamp:4}
.sheet .fiche .recreTxt .actions{height:52px}
.sheet .fiche .recreTxt .big{width:100%;height:52px;font-size:18px;background:#7B57A3!important;color:var(--n-creme)!important}
.sheet .fiche .mjBar{display:grid;grid-template-rows:repeat(3,40px);grid-template-columns:minmax(0,1fr);gap:6px;padding:0 24px 22px}
.sheet .mjTab{height:40px;justify-content:flex-start;gap:10px;padding:0 14px;background:var(--n-case)!important;border:0!important;box-shadow:none!important;border-radius:12px!important;
  color:var(--n-texte)!important;font-family:var(--font-body)!important;font-weight:700!important;font-size:14px!important}
.sheet .mjTab:hover,.sheet .mjTab[aria-expanded="true"]{background:var(--n-case2)!important}
.sheet .mjTab .mjN{color:var(--n-gris)}
.sheet .mjTab .mjCaret{display:inline;color:var(--n-gris)}
.sheet .mjFanion::before{background:var(--n-doux)}
.sheet .mjFanion::after{filter:none}
.sheet .fiche .mjPop{left:12px;right:12px;width:auto;top:auto;bottom:164px;max-height:250px;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr));
  background:var(--n-feuille)!important;border:1.5px solid var(--n-trait2)!important;box-shadow:0 14px 34px rgba(0,0,0,.55)!important;border-radius:14px!important}
.sheet .mj{background:var(--n-case)!important;border:0!important;box-shadow:none!important;border-radius:8px!important;color:var(--n-texte)!important;font-weight:700}
.sheet .mj:hover{background:var(--n-case2)!important}

/* ---- la liste des jeux, sous la carte : des lignes compactes, la ligne choisie est allumée ---- */
.indexTitre{font-size:22px!important;line-height:28px;height:28px}
.sheet .jeux{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 12px!important}
.sheet .jeu{height:64px!important;display:grid!important;grid-template-columns:96px minmax(0,1fr) auto!important;grid-template-rows:30px 22px!important;
  grid-template-areas:"img nom act" "img bad act";gap:0 14px!important;align-content:center;padding:6px 10px 6px 6px!important;
  background:var(--n-pan)!important;border:0!important;box-shadow:none!important;border-radius:12px!important;cursor:pointer}
.sheet .jeu:hover{background:var(--n-case)!important;box-shadow:none!important}
.sheet .jeu.choisi{background:var(--n-case)!important;box-shadow:inset 0 0 0 1.5px rgba(243,198,107,.55)!important}
.sheet .jeu .scene{grid-area:img;width:96px!important;height:52px!important;aspect-ratio:auto!important;border-radius:8px!important;object-fit:cover}
.sheet .jeu h2{grid-area:nom;margin:0!important;height:30px!important;line-height:30px!important;font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .jeu .badge{grid-area:bad;position:static!important;visibility:visible;height:22px!important;line-height:22px;margin:0!important;padding:0!important;
  background:none!important;border:0!important;box-shadow:none!important;color:var(--n-terre)!important;font-size:13px!important;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sheet .jeu p,.sheet .jeu .chips{display:none!important}
.sheet .jeu .actions{grid-area:act;height:auto!important;padding:0!important}
.sheet .jeu .big{height:40px!important;min-width:0;padding:0 18px!important;font-size:15px!important}
.sheet .jeu .demo{top:10px!important;left:10px!important;height:16px!important;line-height:16px!important;padding:0 5px!important;font-size:9.5px!important;
  background:var(--n-texte)!important;color:#10151F!important;border:0!important;border-radius:5px!important;box-shadow:none!important}

/* ---- la salle de musique et la radio du camp ---- */
.basCarte{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.radioLien{display:flex;align-items:center;gap:16px;height:120px;padding:0 24px;border-radius:16px;background:var(--n-case);text-decoration:none;color:var(--n-texte);min-width:0}
.radioLien:hover{background:var(--n-case2)}
.radioRond{flex:none;width:52px;height:52px;border-radius:50%;background:var(--n-terre);display:grid;place-items:center}
.radioRond svg{width:20px;height:20px;fill:#10151F}
.radioTx{display:flex;flex-direction:column;gap:3px;min-width:0}
.radioTx b{font-size:16px}
.radioTx small{font-size:13px;color:var(--n-gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* =====================================================================
   LES AUTRES PANNEAUX (parties ouvertes, copains, Local, tombola ; le classement est dans le carnet)
   ===================================================================== */
.sheet .camps,.sheet .copains,.sheet .localB,.sheet .releveB,.sheet .tbTete,.sheet .tbColl,.sheet .tbJournalB{
  background:var(--n-pan)!important;border:0!important;box-shadow:none!important;border-radius:16px!important}
.sheet .campsListe li,.sheet .copListe li,.sheet .tbC,.sheet .tbF,.sheet .tbTotal,.sheet .tbLot,.sheet .campsVide,.sheet .tbStage{
  background:var(--n-case)!important;border-color:var(--n-trait)!important;box-shadow:none!important;color:var(--n-texte)}
.sheet .campsVide{border:0!important}
.sheet .copListe li.enLigne{background:#1E3A2A!important;border-color:#2F6B3F!important}
.sheet .campsListe li.cRecre{background:#2B2042!important;border-color:#4A3A6A!important}
.sheet .campsListe li.cRecre .cCode{color:var(--n-violet-t)!important}
.sheet .campsListe .cCode,.sheet .copLigne b{color:var(--n-lant)!important}
.sheet .campsEtat,.sheet .campsListe .cHote small,.sheet .campsListe .cEtat,.sheet .copListe li small,.sheet .copLigne>span,.sheet .copVide,.sheet .campsVide,
.sheet .releveAide,.sheet .tbNote,.sheet .tbAide,.sheet .tbStageTxt,.sheet .tbGainDit,.sheet .tbFN,.sheet .tbJQ,.sheet .tbChK,.sheet .tbC small,.sheet .tbRar,.sheet .tbJournal li{color:var(--n-gris)!important}
.sheet .tbGainNom,.sheet .tbF,.sheet .tbTotal,.sheet .tbJNom,.sheet .tbNom,.sheet .releve td{color:var(--n-texte)!important}
.sheet .tbC b,.sheet .releve td:last-child,.sheet .tbGainPlus,.sheet .copMsg{color:var(--n-vert)!important}
.sheet .releve td,.sheet .tbJournal li{border-bottom-color:var(--n-trait)!important}
.sheet .tbF[aria-selected="true"]{background:var(--n-case2)!important;color:var(--n-creme)!important;box-shadow:inset 0 0 0 1.5px var(--n-lant)!important}
.sheet .tbF:hover{background:var(--n-case2)!important}
.sheet .tbLot.manque{background:transparent!important;border-style:dashed!important}
.sheet .tbLot.manque .tbNom{color:var(--n-sourd)!important}
.sheet .tbLot.manque .tbAp{background:rgba(255,255,255,.06)!important;border-color:var(--n-trait2)!important}
.sheet .tbLot.dore{background:linear-gradient(135deg,#3A3220,#5A4A22 60%,#6E5A24)!important;box-shadow:inset 0 0 0 2px #E8C44A!important}
.sheet .tbJauge{background:var(--n-trait)!important;border:0!important}
.sheet .tbEclats i{background:var(--n-case)!important;border-color:var(--n-trait2)!important}
.sheet .tbEclats i.on{background:linear-gradient(135deg,#bfe8ff,#4b8fd6)!important}
.sheet .tbStage{background:radial-gradient(ellipse at 50% 40%,rgba(243,198,107,.22),transparent 70%),var(--n-case)!important}
.sheet .tbJTag.dup{background:var(--n-case)!important;color:var(--n-gris)!important}
.sheet .tbQ{color:var(--n-sourd)!important}
.sheet .tbGain.dore{background:linear-gradient(135deg,#3A3220,#5A4A22 55%,#6E5A24)!important}
.sheet .localTxt p{color:var(--n-doux)!important}
.sheet .localCv{border:0!important;border-radius:12px!important}
.sheet .localN{color:var(--n-gris)!important}
.sheet .localAct .big{background:var(--n-creme)!important;color:#10151F!important}

/* les cadres (Mon scout, carnet) gardent leur papier pour l'instant : on les pose sur un panneau */
#scoutFrame,#carnetFrame{border-radius:16px;background:var(--n-pan)}

/* pied de page et petit message */
.sheet .pied{color:var(--n-sourd)!important}
.sheet .piedLien{color:var(--n-doux)}
#toast{background:var(--n-creme)!important;color:#10151F!important;border:0!important;box-shadow:0 10px 30px rgba(0,0,0,.5)!important;border-radius:14px!important}

/* ---- tablette ---- */
@media (max-width:900px){
  .carteB{grid-template-columns:minmax(0,1fr)}
  .fiche{height:560px}
}
/* ---- téléphone : les noms des lanternes se cachent (la fiche les dit), cibles plus grandes ---- */
@media (max-width:700px){
  .carte{height:400px}
  .lant{width:40px;height:40px;margin:-20px 0 0 -20px;padding:0;justify-content:center}
  .lantNom{display:none}
  .carteAide{left:12px;right:12px;text-align:center}
  .sheet .jeux{grid-template-columns:minmax(0,1fr)!important}
  .sheet .jeu .big{padding:0 14px!important}
  .basCarte{grid-template-columns:minmax(0,1fr)}
  .radioLien{height:110px}
  .sheet .fiche .mjBar{padding:0 16px 16px}
  .ficheTxt,.sheet .fiche .recreTxt{padding-left:18px;padding-right:18px}
  .ficheAct{padding:0 18px 18px}
}

/* téléphone : la liste garde des noms lisibles */
@media (max-width:700px){
  .sheet .jeu{grid-template-columns:72px minmax(0,1fr) auto!important;gap:0 10px!important}
  .sheet .jeu .scene{width:72px!important;height:46px!important}
  .sheet .jeu h2{font-size:16px!important}
  .sheet .jeu .big{height:36px!important;padding:0 12px!important;font-size:14px!important}
  .sheet .jeu .demo{top:8px!important;left:8px!important}
}

/* ---- Parties ouvertes : juste sous la carte ; une petite ligne tant que personne n'a ouvert de partie ---- */
.sheet .camps:not(.pleins){display:flex!important;align-items:center;gap:14px;height:52px!important;padding:0 18px!important}
.sheet .camps:not(.pleins) .campsTete{flex:none;height:52px}
.sheet .camps:not(.pleins) .campsTete .kicker{display:none}
.sheet .camps:not(.pleins) .campsTete h2{font-size:17px!important;line-height:52px!important;height:52px!important}
.sheet .camps:not(.pleins) .campsListe{display:none}
.sheet .camps:not(.pleins) .campsVide{position:static!important;flex:1;min-width:0;height:auto!important;display:block;padding:0!important;background:none!important;
  text-align:left;font-size:13px;font-weight:600;color:var(--n-sourd)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;visibility:visible!important}
.sheet .camps:not(.pleins) .campsEtat{display:none}
.sheet .camps:not(.pleins)::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:#4A5266;order:-1}
.sheet .camps.pleins::before{content:none}
.sheet .camps.pleins .campsTete h2::after{content:"";display:inline-block;width:9px;height:9px;margin-left:10px;border-radius:50%;background:var(--n-lant);box-shadow:0 0 10px 2px rgba(243,198,107,.5);vertical-align:middle}
@media (max-width:700px){ .sheet .camps:not(.pleins) .campsVide{white-space:normal;font-size:12px;line-height:15px;max-height:30px} }

/* =====================================================================
   LE CIEL EN CONSTELLATIONS (hub/carte.js, 20 oct. 2026)
   une constellation par famille ; les traits prennent sa couleur ; « ???? » = jeu à venir
   ===================================================================== */
.carteSentiers .trait{fill:none;stroke-width:1.6;stroke-opacity:.55;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none}
.carteSentiers .trait.pointille{stroke-dasharray:4 6;stroke-opacity:.45}
/* les silhouettes des constellations (hub/carte.js DESSINS) : très pâles, derrière les étoiles */
.carteSentiers .dessin{fill:none;stroke:var(--c);stroke-linecap:round;stroke-linejoin:round}
.carteSentiers .dessin.fond{fill:var(--c);fill-opacity:.09;stroke:none}
.carteSentiers .dessin.bois{stroke-width:9;stroke-opacity:.13;stroke-dasharray:none!important}
.carteSentiers .dessin.fin{stroke-width:1.2;stroke-opacity:.18;stroke-dasharray:2 5}
.carteSentiers .dessin.poche{fill:var(--c);fill-opacity:.28;stroke:none}
.lantDot::before{background:var(--fam,#8C7A5C)}
.lant.demo .lantDot::before{background:transparent;border-color:var(--fam,#A8936C)}
/* le nom à gauche de l'étoile (bord droit de la carte) */
.lant.g{flex-direction:row-reverse;padding:0 0 0 4px;transform:translateX(calc(-100% + 22px))}
/* les étoiles pas encore allumées */
.lant.mystere{cursor:default;color:#5C6478;pointer-events:none}
.lant.mystere .lantDot::before{background:transparent;border:1.5px dashed #4A5266;box-shadow:none}
.lant.mystere .lantNom{background:none;letter-spacing:.12em}
/* le nom des constellations */
.constNom{position:absolute;font:italic 700 13px/18px var(--font-body);white-space:nowrap;pointer-events:none;opacity:.9}
.constNom span{font-weight:400;opacity:.75}
.constNom.droite{transform:translateX(-100%)}

/* les jeux « ???? » de la liste : grisés, rien à cliquer */
.sheet .jeu.mystere{cursor:default;background:transparent!important;box-shadow:inset 0 0 0 1.5px var(--n-trait)!important;grid-template-areas:"img nom" "img bad"!important;grid-template-columns:96px minmax(0,1fr)!important}
.sheet .jeu.mystere:hover{background:transparent!important}
.sheet .jeu.mystere .mysScene{grid-area:img;width:96px;height:52px;border-radius:8px;border:1.5px dashed var(--n-trait2);display:grid;place-items:center;
  font:700 22px/1 var(--font-display);color:#4A5266;box-sizing:border-box}
.sheet .jeu.mystere h2{color:#5C6478!important;letter-spacing:.12em}
.sheet .jeu.mystere .mysEtat{grid-area:bad;height:22px;line-height:22px;font-size:13px;font-weight:700;color:#4A5266;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* =====================================================================
   LE COIN CHILL : la bannière en tête de l'onglet (taille fixe)
   ===================================================================== */
.sheet .horsJeu h2::before{display:none}
.horsDemo{position:absolute;top:12px;left:12px;height:22px;line-height:22px;padding:0 9px;border-radius:11px;background:var(--n-texte);color:#10151F;
  font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.horsEtat{height:22px;line-height:22px;font-size:13.5px;font-weight:700;color:var(--n-terre);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chillB{display:grid;grid-template-columns:260px minmax(0,1fr) 240px;height:150px;margin:16px 0;border-radius:16px;background:#1E3A2A;overflow:hidden}
.chillImg{position:relative;min-width:0}
.sheet .chillImg .scene{display:block;width:100%;height:150px;object-fit:cover;border:0!important;border-radius:0!important;box-shadow:none!important}
.chillTxt{display:grid;grid-template-rows:18px 40px 44px;gap:4px;align-content:center;min-width:0;padding:0 24px}
.chillTxt .kicker{font-size:12px;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .chillTxt h2{font-size:32px!important;line-height:40px!important;height:40px!important;color:#B9DCC0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chillTxt p{margin:0;font-size:15px;line-height:22px;color:var(--n-doux);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.chillAct{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 24px 0 0;min-width:0}
.chillAct .horsEtat{text-align:center;color:#B9DCC0}
.sheet .chillAct .big{width:100%;height:52px;font-size:17px;padding:0 16px}

/* la salle de musique, à côté de la radio (même hauteur) */
.musiqueB{display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:16px;height:120px;padding:0 20px 0 14px;border-radius:16px;background:#33241F;min-width:0}
.sheet .musiqueB .scene{width:120px;height:84px;object-fit:cover;border:0!important;border-radius:10px!important;box-shadow:none!important}
.horsTxt{display:grid;grid-template-rows:26px 20px 22px;gap:2px;min-width:0}
.sheet .horsTxt h2{font-size:20px!important;line-height:26px!important;height:26px!important;color:#EBC9A6!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.horsTxt p{margin:0;font-size:13.5px;line-height:20px;color:var(--n-doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sheet .musiqueB .big{width:auto!important;min-width:0!important;height:44px;padding:0 22px!important;font-size:15px}

@media (max-width:900px){
  .chillB{grid-template-columns:180px minmax(0,1fr) 200px}
  .basCarte{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  .chillB{grid-template-columns:112px minmax(0,1fr);grid-template-rows:104px 64px;height:168px}
  .sheet .chillImg .scene{height:104px}
  .chillTxt{grid-template-rows:16px 34px 0;padding:0 14px;gap:2px}
  .chillTxt .kicker{font-size:11px;line-height:16px}
  .sheet .chillTxt h2{font-size:26px!important;line-height:34px!important;height:34px!important}
  .chillTxt p{display:none}
  .chillAct{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:0 14px}
  .chillAct .horsEtat{text-align:left;flex:1;min-width:0}
  .sheet .chillAct .big{width:auto;height:44px;font-size:15px}
  .musiqueB{grid-template-columns:72px minmax(0,1fr) auto;gap:12px;height:110px;padding:0 14px 0 12px}
  .sheet .musiqueB .scene{width:72px;height:56px}
  .constNom{font-size:11px;line-height:15px}
  .constNom span{display:none}
  .lant.g{transform:none}
  .lant.mystere .lantNom{display:none}
}
